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
=> Création des différents fichiers de controls réussie (sur D:\ORADB\TEST\ et repliquée sur E:\Oradb\TEST\
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
;
- démarrer la base avec reset des logs files
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 !
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'
J'ai tenté différentes manoeuvres pour réparer, mais sans succès :
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
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
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'
3/ J'ai aussi tenté via l'autogénération d'un script pour recréer de nouveaux les controls files
Le script SQL généré est similaire à celui que j'avais fais initialement => Toujours KO
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
alter database backup controlfile to trace as 'E:\oradb\TEST\trace.sql';
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...

En conclusion !

AU SECOURS !!!