RMAN permet, à partir d'une sauvegarde, de cloner une base de données. Dans cet exemple je supposerais qu'il existe une base de données nommée RED dont on dispose d'une sauvegarde faite par RMAN. Le référentiel RMAN de RED étant stocké dans le fichier de contrôle.
Le mot de passe de sys est manager10.
La base clone se nommera BLACK, il est également supposé que les répertoires supportent la norme OFA. Ainsi l'ensemble des fichiers de la base RED est supposé se trouver sous /u01/app/oracle/oradata/RED.
Création des répertoires d'accueil
mkdir -p /u01/app/oracle/admin/BLACK/adump mkdir -p /u01/app/oracle/admin/BLACK/bdump mkdir -p /u01/app/oracle/admin/BLACK/udump mkdir -p /u01/app/oracle/admin/BLACK/pfile mkdir -p /u01/app/oracle/oradata/BLACK
Création du fichier d'initialisation
Depuis le spfile de RED, créer le pfile
export ORACLE_SID=RED sqlplus /nolog SQL> connect / as sysdba SQL> create pfile='/u01/app/oracle/admin/BLACK/pfile/initBLACK.ora' from spfile;
Editer ce fichier et remplacer toute occurrence de RED par BLACK. En fin de fichier rajouter les lignes suivantes :
DB_FILE_NAME_CONVERT=('RED','BLACK') LOG_FILE_NAME_CONVERT=('RED','BLACK') INSTANCE_NAME='BLACK'
Démarer l'instance BLACK
export ORACLE_SID=BLACK sqlplus /nolog SQL> connect / as sysdba SQL> startup nomount pfile='/u01/app/oracle/admin/BLACK/pfile/initBLACK.ora'; SQL> disconnect; SQL> quit
Création du clone.
export ORACLE_SID=BLACK rman target sys/manager10@RED auxiliary / RMAN> DUPLICATE TARGET DATABASE TO BLACK pfile='/u01/app/oracle/admin/BLACK/pfile/initBLACK.ora';
En fin de procédure, penser à créer le spfile ainsi.
export ORACLE_SID=BLACK sqlplus /nolog SQL> connect / as sysdda SQL> create spfile from pfile='/u01/app/oracle/admin/BLACK/pfile/initBLACK.ora'; SQL> exit
Renseigner la base BLACK dans le tnsnames.ora et le listener.