Bonjour à tous,
j'ai besoin de votre aide, car je suis totalement perdu.
J'ai cherché un peu partout sur la planète, et malheureusement aucune solution proposée n'a solutionné mon problème, alors j'espère sincèrement que votre éclairage va m'aider.
J'ai eu besoin de déplacer sur une base existante TEST, la base de donnée RECETTE ; il est a noter que les deux bases sont en ARCHIVELOG!
La procédure (maintes fois éprouvée ) a consisté :
- à arrêter les deux bases via un shutdown immediate
- à supprimer la totalité des fichiers présents sur TEST
- à déplacer la totalité des fichiers dbf de RECETTE sur TEST (hormis TEMP)
- Démarrer la base TEST en NOMOUNT
- Récréer les controls files via la commande sql
Code : Sélectionner tout - Visualiser dans une fenêtre à part STARTUP NOMOUNT
=> Création des différents fichiers de controls réussie (sur D:\ORADB\TEST\ et repliquée sur E:\Oradb\TEST\
- démarrer la base avec reset des logs files
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42 CREATE CONTROLFILE SET DATABASE "TEST" RESETLOGS ARCHIVELOG MAXLOGFILES 16 MAXLOGMEMBERS 3 MAXDATAFILES 100 MAXINSTANCES 8 MAXLOGHISTORY 2920 LOGFILE GROUP 1 ( 'D:\ORADB\TEST\REDO011.LOG', 'E:\Oradb\TEST\REDO012.LOG' ) SIZE 100M BLOCKSIZE 512, GROUP 2 ( 'D:\ORADB\TEST\REDO021.LOG', 'E:\Oradb\TEST\REDO022.LOG' ) SIZE 100M BLOCKSIZE 512, GROUP 3 ( 'D:\ORADB\TEST\REDO031.LOG', 'E:\Oradb\TEST\REDO032.LOG' ) SIZE 100M BLOCKSIZE 512 DATAFILE 'D:\ORADB\TEST\IAPP_ARCHIVE_DATA01.DBF', 'D:\ORADB\TEST\IAPP_ARCHIVE_INDEX01.DBF', 'D:\ORADB\TEST\IAPP_DATA01.DBF', 'D:\ORADB\TEST\IAPP_DATA02.DBF', 'D:\ORADB\TEST\IAPP_DATA03.DBF', 'D:\ORADB\TEST\IAPP_DATA04.DBF', 'D:\ORADB\TEST\IAPP_INDEX01.DBF', 'D:\ORADB\TEST\IAPP_INDEX02.DBF', 'D:\ORADB\TEST\IAPP_LOB01.DBF', 'D:\ORADB\TEST\IAPP_REPORT_DATA01.DBF', 'D:\ORADB\TEST\IAPP_REPORT_INDEX01.DBF', 'D:\ORADB\TEST\S_DATA01.DBF', 'D:\ORADB\TEST\S_INDEX01.DBF', 'D:\ORADB\TEST\S_MAINTENANCE.DBF', 'D:\ORADB\TEST\SYSAUX01.DBF', 'D:\ORADB\TEST\SYSTEM01.DBF', 'D:\ORADB\TEST\UNDOTBS01.DBF', 'D:\ORADB\TEST\UNDOTBS02.DBF', 'D:\ORADB\TEST\USERS01.DBF' CHARACTER SET AL32UTF8 ;
C'est à partir de là que le bas blesse...
Normalement, mes fichiers log sont créés (et répliqués), mais pas cette fois ci !
J'ai tenté différentes manoeuvres pour réparer, mais sans succès :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 ALTER DATABASE OPEN RESETLOGS; ALTER DATABASE OPEN RESETLOGS * ERREUR Ó la ligne 1 : ORA-01113: le fichier 1 necessite une restauration physique ORA-01110: fichier de donnees 1 : 'D:\ORADB\TEST\SYSTEM01.DBF'
1/
2/ Similaire, si ce n'est identique à 1/
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 SQL> startup mount Instance ORACLE lancée. Total System Global Area 4026531840 bytes Fixed Size 4625968 bytes Variable Size 721422800 bytes Database Buffers 1140850688 bytes Redo Buffers 12148736 bytes In-Memory Area 2147483648 bytes Base de données montée. SQL> recover database ORA-00283: recovery session canceled due to errors ORA-01610: recovery using the BACKUP CONTROLFILE option must be done
3/ J'ai aussi tenté via l'autogénération d'un script pour recréer de nouveaux les controls files
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
28
29
30
31
32
33
34
35 SQL> startup mount Instance ORACLE lancée. Total System Global Area 4026531840 bytes Fixed Size 4625968 bytes Variable Size 721422800 bytes Database Buffers 1140850688 bytes Redo Buffers 12148736 bytes In-Memory Area 2147483648 bytes Base de données montée. SQL> recover database until cancel using backup controlfile; ORA-00279: changement 2459427202 généré Ó 06/02/2020 13:27:29 requis pour thread 1 ORA-00289: suggestion : E:\ORADB\TEST\ARC0000000001_1042032106.0001 ORA-00280: le changement 2459427202 pour le thread 1 se trouve au no de sÚquence 1 Indiquer le journal : {<RET>=suggéré | nomfichier | AUTO | CANCEL} CANCEL ORA-01547: warning: RECOVER succeeded but OPEN RESETLOGS would get error below ORA-01194: file 1 needs more recovery to be consistent ORA-01110: data file 1: 'D:\ORADB\TEST\SYSTEM01.DBF' ORA-01112: la restauration physique n'a pas commencé SQL> ALTER DATABASE OPEN RESETLOGS 2 ; ALTER DATABASE OPEN RESETLOGS * ERREUR Ó la ligne 1 : ORA-01194: le fichier 1 nécessite plus de récupération pour etre cohérent ORA-01110: fichier de données 1 : 'D:\ORADB\TEST\SYSTEM01.DBF'
Le script SQL généré est similaire à celui que j'avais fais initialement => Toujours KO
Je n'ai pas de sauvegarde à froid de la base initiale de RECETTE, mais je possède une sauvegarde RMAN FULL ainsi que les archivelogs jusqu'à son arrêt définitif en tant que RECETTE ; mais personnellement, je ne suis pas trop alèse (voir pas du tout)avec RMAN...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 alter database backup controlfile to trace as 'E:\oradb\TEST\trace.sql';
En conclusion !
AU SECOURS !!!
Partager