J'effectue des sauvegardes sur bandes magnétiques de plusieurs base de données. Les controlfiles sont en autobackup.
Je me place dans le cas ou mes serveurs sont tous dead.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2backup database plus archivelog;
Je désire donc reconstruire ma base sur un autre serveur mais en modifiant l'architecture des fichiers de la base de données.
Je restaure donc le spfile puis je créé le pfile.
Je modifie ce pfile pour qu'il prenne en compte la nouvelle architecture (Je change la localisation du repertoire admin=>adump,bdump,cdump,udump ainsi que celle des controlfiles).
J'aimerai changer l'emplacement de mes fichiers de données ainsi que des redos. Pour ce faire je restaure les controlfiles, j'effectue un
Dans le udump j'ai donc mon fichier
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 alter database backup controlfile to trace;
Je le modifie
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 STARTUP NOMOUNT CREATE CONTROLFILE REUSE DATABASE "ORCL" NORESETLOGS FORCE LOGGING ARCHIVELOG MAXLOGFILES 16 MAXLOGMEMBERS 3 MAXDATAFILES 100 MAXINSTANCES 8 MAXLOGHISTORY 292 LOGFILE GROUP 1 '/u01/app/oracle/oradata/orcl/redo01.log' SIZE 50M, GROUP 2 '/u01/app/oracle/oradata/orcl/redo02.log' SIZE 50M, GROUP 3 '/u01/app/oracle/oradata/orcl/redo03.log' SIZE 50M DATAFILE '/u01/app/oracle/oradata/orcl/system01.dbf', '/u01/app/oracle/oradata/orcl/undotbs01.dbf', '/u01/app/oracle/oradata/orcl/sysaux01.dbf', '/u01/app/oracle/oradata/orcl/users01.dbf' CHARACTER SET WE8MSWIN1252;
J'ai créé le repertoire 'orcl_backup'. Lorsque que j'exécute ce code j'ai l'erreur
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 STARTUP NOMOUNT CREATE CONTROLFILE SET DATABASE "ORCL" RESETLOGS FORCE LOGGING ARCHIVELOG MAXLOGFILES 16 MAXLOGMEMBERS 3 MAXDATAFILES 100 MAXINSTANCES 8 MAXLOGHISTORY 292 LOGFILE GROUP 1 '/u01/app/oracle/oradata/orcl_backup/redo01.log' SIZE 50M, GROUP 2 '/u01/app/oracle/oradata/orcl_backup/redo02.log' SIZE 50M, GROUP 3 '/u01/app/oracle/oradata/orcl_backup/redo03.log' SIZE 50M DATAFILE '/u01/app/oracle/oradata/orcl_backup/system01.dbf', '/u01/app/oracle/oradata/orcl_backup/undotbs01.dbf', '/u01/app/oracle/oradata/orcl_backup/sysaux01.dbf', '/u01/app/oracle/oradata/orcl_backup/users01.dbf' CHARACTER SET WE8MSWIN1252;
En gros lorsque je créé les controlfiles Oracle cherche à ouvrir mes fichiers de données. il n' y arrive forcément pas puisque je ne les ai pas encore restauré puisque je souhaite les restaurer à un emplacement différent.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 CREATE CONTROLFILE SET DATABASE "ORCL" RESETLOGS FORCE LOGGING ARCHIVELOG * ERROR at line 1: ORA-01503: CREATE CONTROLFILE failed ORA-01565: error in identifying file '/u01/app/oracle/oradata/orcl_backup/system01.dbf' ORA-27037: unable to obtain file status Linux-x86_64 Error: 2: No such file or directory Additional information: 3
Je part du principe que je ne peut pas restaurer les fichiers de données à l'emplacement ou ils étaient. Imaginons que ces fichiers de données étaient sur une instance ASM (+DG_DATA/orcl/datafile) et que je cherche à restaurer sur un serveur sans instance ASM.
Quelle est la technique à utiliser?
Partager