Resturation complete y compris les redolog
Bonjour
Je suis en train de mettre en place un environnement de serveur BDD avec comme objectif de ne pas avoir de perte de données en cas de crash du serveur ou des disques.
Ma contrainte n'est pas d'avoir 2 semaines de rétention, mais plutôt de ne pas avoir de perte de données en cas de restauration.
pour comprendre le contexte, le progiciel qui utilise la BDD est un progiciel de gestion d’entrepôt avec préparation des commandes clients.
Imaginons, des colis qui se terminent et se positionnent sur le quai d'expédition. Et PAF, plantage crash.
La restauration sur un autre serveur doit impérativement indiquer les colis sur le quai et ne pas remonter 15 ou 20 minutes en arrière en indiquant que les commandes concernées ne sont même pas en préparation.
j'ai donc mis en place les archivelog et une sauvegarde RMan tous les nuits avec épuration des archivolg inutiles.
les procédures de sauvegarde et restauration fonctionnent bien. j'ai seulement un doute avec les redolog qui ne sont pas encore archivés.
parce que je vois bien que je lance des traitements avec le programme que je n'ai aucun archivelog de créé. Si j'ai bien compris, ils se créent quand le redolog est plein et que ça "switch" sur le groupe suivant.
La je coince car je ne trouve aucune info pour restaurer des redolog sur un autre serveur.
J'ai ajouté dans chacun des 3 groupes de redo un fichier sur un autre disque, avec les sauvegardes rman et archivelog.
NB : à la fin de la restauration, au recover database, il restore bien les archivelog , mais semble chercher encore autre chose.
Code:
1 2 3 4 5 6 7 8 9 10 11 12
|
canal ORA_DISK_1 : restauration terminée, temps écoulé : 00:00:15
nom de fichier d'archivage=C:\ORACLE\ORADATA\E11B001\ARCHIVE_LOG\E11B001_1019305601_1_81.ARC, thread=1, séquence=81
nom de fichier d'archivage=C:\BACKUPORACLE\E11B001\ARCHIVE_LOG\E11B001_1019305601_1_82.ARC, thread=1, séquence=82
nom de fichier d'archivage=C:\BACKUPORACLE\E11B001\ARCHIVE_LOG\E11B001_1019305601_1_83.ARC, thread=1, séquence=83
journal d'archivage introuvable
journal d'archivage, thread=1, séquence=84
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: échec de la commande recover à 10/02/2019 10:11:24
RMAN-06054: la restauration physique requiert un journal inconnu : thread 1, séquence 84 et SCN de début 18181653 |
merci beaucoup si vous avez une piste.
Chemin pour la restauration
Impressionnant RMan, j'arrive à restaurer à la seconde près sans aucune perte.
Effectivement si dans chaque groupe de redolog j'ajoute un fichier que je positionne dans le répertoire de sauvegarde, je vois bien la restauration de 3 redolog après la restauration des archivelog.
NB : Ce qui suit c'est pour tester et valider la procédure, je n'en suis pas encore à mettre en prod.
Sur mon serveur le répertoire des sauvegardes RMan est "c:\BackupOracle\E11B001\"
le répertoire des archiveslog est aussi "c:\BackupOracle\E11B001\"
et donc les fichiers Redolog que j'ai ajouté aux 3 groupes sont aussi dans "c:\BackupOracle\E11B001\"
si sur un autre serveur je copie tout le répertoire "c:\BackupOracle\E11B001\" au même endroit avec la même arborescence, la restauration fonctionne parfaitement.
par contre si sur mon serveur de restauration, je mappe un lecteur réseau (j'ai partagé "C:\BackupOracle" sur le serveur de BDD) ça me donne le chemin "X:\E11B001"
ça ne fonctionne pas des la restauration du spfile
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
|
RMAN> set DBID 1744133395;
2> run {
3> set controlfile autobackup format for device type disk to "X:\E11B001\%F";
4> restore spfile from autobackup;
5> }
6> Quit;
exécution de la commande : SET DBID
exécution de la commande : SET CONTROLFILE AUTOBACKUP FORMAT
Démarrage de restore dans 03/10/19
canal affecté : ORA_DISK_1
canal ORA_DISK_1 : SID=81 type d'unité=DISK
canal ORA_DISK_1 : recherche de AUTOBACKUP effectuée le : 20191003
canal ORA_DISK_1 : recherche de AUTOBACKUP effectuée le : 20191002
canal ORA_DISK_1 : recherche de AUTOBACKUP effectuée le : 20191001
canal ORA_DISK_1 : recherche de AUTOBACKUP effectuée le : 20190930
canal ORA_DISK_1 : recherche de AUTOBACKUP effectuée le : 20190929
canal ORA_DISK_1 : recherche de AUTOBACKUP effectuée le : 20190928
canal ORA_DISK_1 : recherche de AUTOBACKUP effectuée le : 20190927
canal ORA_DISK_1 : aucun AUTOBACKUP trouvé en 7 jours
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: échec de la commande restore à 10/03/2019 12:53:31
RMAN-06172: aucun AUTOBACKUP n'a été trouvé ou le descripteur indiqué n'est pas une copie ou un élément valide
Recovery Manager terminé. |
c'est comme si il voulait que mon arborescence soit exactement la même que sur le serveur de départ.
Question subsidiaire : pourquoi il remonte à 7 jours ? pourquoi pas 30 ou 50 ?
Mettre les fichiers Redo, archive et sauvegarde sur un autre serveur (lecteur mappé)
Sur le serveur de BDD, je voudrai qu'il mette les archivelog, la sauvegarde et créer 3 redolog sur un disque mappé "S:"
"S" étant la lettre que je donne à mon lecteur mappé qui est un répertoire d'un autre serveur (tous les droits sont accordés).
mais quand j'active les archivelog sur ce lecteur, Oracle me dit que ce lecteur n'est pas accessible.
Idem pour la sauvegarde.
Peut-être qu'ils ne voient pas mon mappage "S" du fait qu'ils sont de service ou lance des services.
comment on fait dans ce cas pour que les redolog et archivelogs soient ailleurs qu'en local sur la machine où la BDD tourne ?
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
|
Total System Global Area 835104768 bytes
Fixed Size 2285832 bytes
Variable Size 247467768 bytes
Database Buffers 578813952 bytes
Redo Buffers 6537216 bytes
Base de données montée.
alter system set log_archive_dest='S:\Server-Dev-DB11\V10Loc01'
*
ERREUR à la ligne 1 :
ORA-02097: le paramètre ne peut pas être modifié, car la valeur indiquée n'est
pas valide
ORA-16032: la chaîne de destination du paramètre LOG_ARCHIVE_DEST ne peut pas
être traduite
ORA-09291: sksachk : unité non valide indiquée pour la destination d'archivage
OSD-04018: Accès impossible à l'unité ou au répertoire indiqué.
O/S-Error: (OS 3) Le chemin daccès spécifié est introuvable.
Système modifié.
Base de données modifiée. |