Algorithme de copie d'une base
Génération du script de création des controlfile
alter database backup controlfile to trace;
Ceci créera un fichier texte (avec suffixe.trc) dans le répertoire USERDUMP. Ce fichier devra être édité pour convenir à l'action envisagée.
Création de l'environnement cible.
Copie des fichiers dans l'environnement cible
Copiez les fichiers datafile
Modification du script
Renommer les fichiers redo et les répertoires.
*
Remplacer l'option REUSE_DATABASE avec SET DATABASE , ou est le nom de la base source et est le nouveau nom.
*
Remplacer NORESETLOGS avec RESETLOGS, nécessaire lors de l’option SET DATABASE.
*
Vérifier l'option ARCHIVELOG ou NOARCHIVELOG.
*
Note: ARCHIVELOG est nécessaire avec un backup online.
*
Enlever les autres commentaires et commandes. Ceci inclut RECOVER DATABASE ainsi que ALTER DATABASE OPEN.
*
Sauvegardez ce script sous le nom r.sql
Modifier init.ora
A ce point, soit nous utiliserons l'ancien init.ora, soit nous en recréons un. Dans les deux cas, vérifier ou bien modifier les noms de répertoires, le paramètre "db_name", les paramètres mts.
(NT) créer le service !
set ORACLE_SID=PROD
ORADIM -new -SID PROD -startmode auto -intpwd manager -pfile f:\oracle81\database\PFile\InitPROD.ora
pause
Renommer la base cible
Création du nouveau fichier de contrôle et renommer la base, vérifier $PATH, $ORACLE_HOME et $ORACLE_SID.
cd $ORACLE_HOME/dbs
svrmgrl
SVRMGR> connect internal
SVRMGR> @new_control.sql
Ouvrir la base
Si full Backup à l’étape initiale:
SVRMGR> ALTER DATABASE OPEN RESETLOGS;
Si Online Backup:
SVRMGR> RECOVER DATABASE USING BACKUP CONTROLFILE UNTIL CANCEL;
SVRMGR> recover database using backup controlfile until cancel;
ORA-00279: Change 7239 generated at 05/21/99 10:26:19 needed for thread 1
ORA-00289: Suggestion : /oracle/admin/copy7/arch/arch_9
ORA-00280: Change 7239 for thread 1 is in sequence #9
Specify log: {=suggested | filename | AUTO | CANCEL}
Log applied.
ORA-00279: Change 7244 generated at 05/21/99 10:39:07 needed for thread 1
ORA-00289: Suggestion : /oracle/admin/copy7/arch/arch_10
ORA-00280: Change 7244 for thread 1 is in sequence #10
Specify log: {=suggested | filename | AUTO | CANCEL}
cancel
Media recovery cancelled.
SVRMGR>
SVRMGR> ALTER DATABASE OPEN RESETLOGS;
A ce point, la base est fonctionnelle. Veillez à modifier le nom global de la base
ALTER DATABASE RENAME GLOBAL_NAME TO NOM.DOMAIN_NAME
Vérifiez les database links.
Effectuez un backup.
Divers
Mettre à jour oratab.
Mettre à jour les fichiers SQL*Net: sur le serveur listener.ora et tnsnames.ora, sur le client tnsnames.ora
Scripts
Exemple de r.sql
STARTUP NOMOUNT pfile=f:\oracle81\database\initPROD.ora
CREATE CONTROLFILE SET DATABASE "PROD" RESETLOGS NOARCHIVELOG
MAXLOGFILES 32
MAXLOGMEMBERS 3
MAXDATAFILES 254
MAXINSTANCES 1
MAXLOGHISTORY 907
LOGFILE
GROUP 1 'F:\ORACLE81\ORADATA\PROD\REDO01.LOG' SIZE 1M,
GROUP 2 'F:\ORACLE81\ORADATA\PROD\REDO02.LOG' SIZE 1M,
GROUP 3 'F:\ORACLE81\ORADATA\PROD\REDO03.LOG' SIZE 1M
DATAFILE
'g:\ORACLE81\ORADATA\PROD\SYSTEM01.DBF',
'g:\ORACLE81\ORADATA\PROD\RBS01.DBF',
'g:\ORACLE81\ORADATA\PROD\USERS01.DBF',
'g:\ORACLE81\ORADATA\PROD\TEMP01.DBF',
'g:\ORACLE81\ORADATA\PROD\TOOLS01.DBF',
'g:\ORACLE81\ORADATA\PROD\INDX01.DBF',
'g:\ORACLE81\ORADATA\PROD\OEM_REPOSITORY.ORA'
CHARACTER SET WE8ISO8859P1 ;
Voici l’original
STARTUP NOMOUNT
CREATE CONTROLFILE REUSE DATABASE "IRIS" NORESETLOGS NOARCHIVELOG
MAXLOGFILES 32
MAXLOGMEMBERS 3
MAXDATAFILES 254
MAXINSTANCES 1
MAXLOGHISTORY 907
LOGFILE
GROUP 1 'F:\ORACLE81\ORADATA\IRIS\REDO01.LOG' SIZE 1M,
GROUP 2 'F:\ORACLE81\ORADATA\IRIS\REDO02.LOG' SIZE 1M,
GROUP 3 'F:\ORACLE81\ORADATA\IRIS\REDO03.LOG' SIZE 1M
DATAFILE
'F:\ORACLE81\ORADATA\IRIS\SYSTEM01.DBF',
'F:\ORACLE81\ORADATA\IRIS\RBS01.DBF',
'F:\ORACLE81\ORADATA\IRIS\USERS01.DBF',
'F:\ORACLE81\ORADATA\IRIS\TEMP01.DBF',
'F:\ORACLE81\ORADATA\IRIS\TOOLS01.DBF',
'F:\ORACLE81\ORADATA\IRIS\INDX01.DBF',
'F:\ORACLE81\ORADATA\IRIS\OEM_REPOSITORY.ORA'
CHARACTER SET WE8ISO8859P1
;
RECOVER DATABASE
ALTER DATABASE OPEN;
Résultat
F:\oracle81\ADMIN\PROD\udump>set ORACLE_SID=PROD
F:\oracle81\ADMIN\PROD\udump>svrmgrl
Oracle Server Manager Release 3.1.6.0.0 - Production
Copyright (c) 1997, 1999, Oracle Corporation. All Rights Reserved.
Oracle8i Enterprise Edition Release 8.1.6.0.0 - Production
With the Partitioning option
JServer Release 8.1.6.0.0 - Production
SVRMGR> @r.sql
ORACLE instance started.
Total System Global Area 79475980 bytes
Fixed Size 70924 bytes
Variable Size 38367232 bytes
Database Buffers 40960000 bytes
Redo Buffers 77824 bytes
Statement processed.
SVRMGR> alter database open resetlogs;
Statement processed.
SVRMGR> select * from v$version;
BANNER
----------------------------------------------------------------
Oracle8i Enterprise Edition Release 8.1.6.0.0 - Production
PL/SQL Release 8.1.6.0.0 - Production
CORE 8.1.6.0.0 Production
TNS for 32-bit Windows: Version 8.1.6.0.0 - Production
NLSRTL Version 3.4.1.0.0 - Production
5 rows selected.
SVRMGR> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
Aucun commentaire:
Enregistrer un commentaire