|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : avril 2008 Messages : 130 ![]() |
j'ai crashé volontairement ma base pour tester une restauration.
pour se faire j'ai arrêté le service de l'instance sous mon serveur windows. et j'ai supprimé le fichier CONTROLFILE CTL01. j'ai donc redémarré ma base en faisant un startup mount il m'a signalé l'erreur du fichier de CONTROL, j'ai donc copié CTL3 en CTL1 comme indiqué. Ensuite j'ai fais un ALTER DATABASE OPEN RESETLOGS; il m'a indiqué qu'il y avait une erreur de séquence il demandait une séquence 51 requise alors qu'il avait une 50, hors dans mon archive log list j'avais pas plus que la séquence 50. j'ai donc fais un RECOVER DATABASE UNTIL CANCEL USING BACKUP CONTROLFILE et ensuite j'ai passé mon répertoire en paramètre du fichier demandé, j'avais toujours l'erreur. j'ai fais machinalement un ALTER DATABASE OPEN RESETLOGS; et là en message de retour j'ai la base a été modifiée et ça semble être rentré dans l'ordre, mais je ne sais pas pourquoi |
|
|
00
|
|
|
#2 |
![]() ![]() Inscription : janvier 2004 Messages : 15 861 ![]() |
parce que tu n'as pas indiqué le redo courant, du coup en faisant un RECOVER UNTIL CANCEL tu t'arrêtes à la dernière archive et tu peux donc faire un RESETLOGS, c'est à dire recréer les redos.
|
|
|
00
|
|
|
#3 |
|
Membre chevronné
![]() Inscription : septembre 2007 Messages : 519 ![]() |
Si je ne me trompe pas, une remise en état de base, outre les réparations annexes, passe toujours par l'enchaînement de deux commandes.
En premier : Puis : Il suffisait juste de les entrer dans le bon ordre. En fait la première commande va permettre à Oracle de s'appuyer non seulement sur les ARCHIVE LOGS mais également sur les contenu du dernier REDO LOG courant afin de terminer sa remise en état. |
|
|
00
|
|
|
#4 | |
![]() ![]() Inscription : janvier 2004 Messages : 15 861 ![]() |
Citation:
Si tu as restauré tous les fichiers comme il faut alors un simple RECOVER DATABASE suivi d'un ALTER DATABASE OPEN suffit... heureusement que le RESETLOG n'est pas toujours obligatoire |
|
|
|
00
|
|
|
#5 | |
|
Membre chevronné
![]() Inscription : septembre 2007 Messages : 519 ![]() |
Citation:
Dans ma façon de voir les choses une base réparée doit également être immédiatement arrêtée et sauvegardée de façon fiable afin d'amener un point de rupture à ce niveau là également. Bien entendu cette petite manipulation supplémentaire doit être prise en compte dans le calcul du SLA... |
|
|
|
00
|
|
|
#6 | |
![]() ![]() Inscription : janvier 2004 Messages : 15 861 ![]() |
Citation:
). Créer une nouvelle incarnation est tout sauf anodin... quand à faire une sauvegarde après la restauration d'une précédente sauvegarde, je ne vois pas bien l'intérêt si ce n'est avoir 2 fois la même sauvegarde avec 2 incarnation différentes
|
|
|
|
00
|
|
|
#7 | |
|
Membre chevronné
![]() Inscription : septembre 2007 Messages : 519 ![]() |
Citation:
|
|
|
|
00
|
|
|
#8 | |
![]() ![]() Inscription : janvier 2004 Messages : 15 861 ![]() |
Citation:
|
|
|
|
00
|
|
|
#9 | ||||||
|
Invité de passage
![]() Inscription : avril 2008 Messages : 130 ![]() |
revenons à nos moutons, donc si j'ai tout compris, j'ai après mon :
Code :
Code :
Code :
pourquoi le RECOVER AUTOMATIC DATABASE; ne fonctionne pas ??? Une autre question si on est en mode ARCHIVELOG, on peut être appelé à recharger les REDO LOGS courant ? si oui je suppose que c'est la même commande qu'au dessus mais avec le chemin du REDOLOG A la fin je passe la commande : ALTER DATABASE OPEN; mais il me demande une option soit RESETLOGS ou NORESETLOGS, comme je ne veux pas recréer les REDO mais utiliser ceux qui existent je choisis NORESETLOGS Mais là encore il me force à mettre RESETLOGS pfffff!!!! |
||||||
|
|
00
|
|
|
#10 |
|
Invité de passage
![]() Inscription : avril 2008 Messages : 130 ![]() |
uen question me chiffonne, tu dis orafrance, si tous les fichiers ont été restaurés correctement juste un RECOVER DATABASE suffit.
Euhh, ça j'aimerais bien le voirparce que perso, je restaure mes fichiers sauvegardés correctement je pense mais il y a toujours un défaut de synchrone avec les redo |
|
|
00
|
|
|
#11 | |
![]() ![]() Inscription : janvier 2004 Messages : 15 861 ![]() |
Je pensais au backup à froid, sinon effectivement il faut indiquer le redo courant
Citation:
|
|
|
|
00
|
|
|
#12 |
|
Invité de passage
![]() Inscription : avril 2008 Messages : 130 ![]() |
j'ai lancé une RECOVER DATABASE et c'est pas mieux.
Il demande de passer les option UNTIL CANCEL USING BACKUP CONTROLFILE. El le pire c'est que je ne vois pas pourquoi. je simule la perte du fichier control CTL1 en arrêtant la base et en supprimant le fichier contrôle. ensuite je vais chercher mon fichier sauvegardé, je redémarre en STARTUP et je passe la commande RECOVER DATABASE et rien n'y fait Suite au RECOVER DATABASE, j'ai une message ORA-01507 Base de données non montée |
|
|
00
|
|
|
#13 | ||
|
Membre actif
![]() Étudiant Inscription : février 2008 Messages : 224 ![]() |
Salut,
Normalement, lorsque tu perds un controlfile, il te suffit d'arrêter l'instance de copier un autre controlfile et de redémarrer et c'est tout. Là ton problème est qu'apparement tu dois avoir des ficheirs non synchronisés. Pour régler ce problème, tu dois redémarrer ta base en mode mount puis réaliser les opérations ci-dessous : Code :
Code :
RECOVER DATABASE UNTIL CANCEL USING BACKUP CONTROLFILE; Sinon, as-tu une sauvegarde à froid ? Si oui, à mon avis le plus simple et que tu la remette en place car j'ai déjà eu le tour une fois ou je n'arrivais plus ç récupérer ma base et j'ai du remettre en place ma sauvegarde. EDIT : je viens de voir une chose que tu as rajouté dans ton poste précédent : "Je vais chercher mon fichier sauvegardé" Voilà pourquoi tes fichiers ne sont pas synchronisés ! Tu confonds deux méthodes j'ai l'impression... la première étant de restaurer un fichier de contrlê qui a été sauvegardé (ce que tu as fait), la deuxième étant la perte d'un fichier de contrôle et pour le récupérer copier un auttre fichier de contrôle. Tu fais pour moi une grosse erreur de compréhension. |
||
|
|
00
|
|
|
#14 |
![]() ![]() Inscription : janvier 2004 Messages : 15 861 ![]() |
et tous tes ctl ont la même date de dernière modifs ? Tu fait bien un STARTUP et SHUTDOWN IMMEDIATE avant la copie des ctl ?
|
|
|
00
|
|
|
#15 |
|
Membre actif
![]() Étudiant Inscription : février 2008 Messages : 224 ![]() |
Je viens de faire le test et oui tu dois bien te tromper.
J'ai trois fichiers de contrôle : control01.ctl, control02.ctl et control02.ctl. Je supprime control01.ctl en faisant j'arrête ma base en faisant un shutdown abort puis je copie une autre controlfile et NON PAS UN CONTROLFILE SAUVEGARDE : Je fais un STARTUP et ca marche... |
|
|
00
|
|
|
#16 |
|
Invité de passage
![]() Inscription : avril 2008 Messages : 130 ![]() |
pour répondre à orafrance oui je fais un shutdown immediate et je supprime le CTL1.
sinon pour répondre à milo je prends mon fichier CTL1 sauvegardé et je replace celui perdu dans le répertoire de la base, c'est peut être là mon erreur. Pour tout dire je suis entrain de scripter une restauration compléte de la base. |
|
|
00
|
|
|
#17 |
|
Membre actif
![]() Étudiant Inscription : février 2008 Messages : 224 ![]() |
Oui, donc c'est bien ca ton erreur ^^
Tu ne remplaces pas le fichier de contrôle perdu par un autre fichier de contrôle déjà en place mais par celui sauvegardé. De ce fait, le ficheir sauvegardé que tu as remis en place et les fichiers de données ainis que les autres fichiers de contrôle ne sont pas synchronisés. CQFD ! Le fait que tu doives faire une récupération est donc tout à fait normal. |
|
|
00
|
|
|
#18 |
|
Invité de passage
![]() Inscription : avril 2008 Messages : 130 ![]() |
par-contre dans le cas ou je restaure une base compléte normalement je recopie les fichiers et je joue les journaux et redo.
1) copie des fichiers de la base CONTROLFILE, DATAFILE, etc 2) tentative de connexion sqlplus 3) startup mount 4) RECOVER DATABASE 5)ALTER DATABASE OPEN ça doit suffir ? |
|
|
00
|
|
|
#19 |
|
Membre actif
![]() Étudiant Inscription : février 2008 Messages : 224 ![]() |
Normalement oui.
Le mieux est encore le recover automatic database comme cela Oracle prend tous seul les fichiers à appliquer. Mais il se peut qu'il bloque en cherchant une séquence et généralement il faut indiquer le chemin et le nom du redo log courant. |
|
|
00
|
|
|
#20 | ||
![]() ![]() Inscription : janvier 2004 Messages : 15 861 ![]() |
Citation:
Citation:
|
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com