Vous avez besoin de créer une pré-production à partir de votre base de production ou tout simplement de repartir d’une base connu ? Cet article peut donc vous aider.
Il parcourt l’ensemble des opérations sur votre base source et votre base cible qui vous seront nécessaire pour une copie en toute tranquillité.
1. SOURCE
Nom de l’opération | Commandes/traces |
Positionnement de l’environnement. | /home/ora11g> hostname/home/ora11g> . oraenvORACLE_SID = [QODYPR] ? QLEGHOThe Oracle base remains unchanged with value /o01srvqda-oracl-q01 /home/ora10g> |
Backup plus transfert sur le serveur cible | rman target /RMAN> backup database plus archivelog;/home/ora11g> scp <fichier de backup>ora11g@VMWBAV-ORCL-V11:/o03/app/oracle/products/11.2.0/backup |
Récupération des différents chemins nécessaires à la copie. | sqlplus / as sysdbaSQL> select * from v$logfile;SQL> select FILE#,NAME from v$datafile; |
Création du fichier d’init pour la cible | SQL> create pfile=’$ORACLE_HOME/dbs/init<nomBaseCible>.ora’ from spfile;/home/ora11g> scp <fichier d’init> ora11g@VMWBAV-ORCL-V11:/o03/app/oracle/products/11.2.0/dbs |
2. CIBLE
Opération | Commandes/traces |
Modification du fichier d’init | /home/ora11g> vi $ORACLE_HOME/dbs/initVLEGHO.oraVLEGHO.__db_cache_size=188743680VLEGHO.__java_pool_size=4194304 VLEGHO.__large_pool_size=12582912 VLEGHO.__pga_aggregate_target=293601280 VLEGHO.__sga_target=545259520 VLEGHO.__shared_io_pool_size=0 VLEGHO.__shared_pool_size=318767104 VLEGHO.__streams_pool_size=8388608 *.audit_file_dest=’/o01/app/admin/VLEGHO/adump’ *.audit_trail=’db’ *.compatible=’11.2.0.0.0′ *.control_files=’/o01/app/oradata/VLEGHO/control01.ctl’, ‘/o01/app/oradata/VLEGHO/control02.ctl’ *.db_block_size=8192 *.db_domain= » *.db_name=’QLEGHO’ *.diagnostic_dest=’/o01/app’ *.dispatchers='(PROTOCOL=TCP) (SERVICE=VLEGHOXDB)’ *.log_archive_dest_1=’LOCATION=+V_FRA11_LEGHO’ *.log_archive_format=’VLEGHO_%t_%s_%r.arc’ *.memory_target=838860800 *.nls_language=’FRENCH’ *.nls_territory=’FRANCE’ *.open_cursors=300 *.processes=150 *.remote_login_passwordfile=’EXCLUSIVE’ *.sec_case_sensitive_logon=FALSE *.undo_tablespace=’UNDOTBS1′ DB_FILE_NAME_CONVERT=’+Q_DATA11_LEGHO/QLEGHO/DATAFILE/’, ‘+V_DATA11_LEGHO/VLEGHO/DATAFILE/’,’/o01/app/oradata/QLEGHO/’, ‘/o01/app/oradata/VLEGHO’ LOG_FILE_NAME_CONVERT= (/o01/app/oradata/QLEGHO/,/o01/app/oradata/VLEGHO/) |
Création des chemins nécessaires | /home/ora11g> mkdir /o01/app/oradata/VLEGHO/home/ora11g> mkdir /o01/app/admin/VLEGHO/adump/home/ora11g> . oraenv ORACLE_SID = [QODYPR] ? +ASM The Oracle base remains unchanged with value /o01/app /home/ora11g> asmcmd ASMCMD> lsdg ASMCMD> mkdir V_DATA11_LEGHO/VLEGHO/DATAFILE ASMCMD> mkdir V_FRA11_LEGHO/VLEGHO/ARCHIVELOG |
Création du listener.ora | /home/ora11g> cd /o03/app/oracle/products/11.2.0/network/admin/home/ora11g> vi listener.oraSID_LIST_LISTENER = (SID_LIST = (SID_DESC = (SID_NAME = VLEGHO) (ORACLE_HOME = /o03/app/oracle/products/11.2.0) ) ) |
Création du tnsnames.ora | /home/ora11g> cd /o03/app/oracle/products/11.2.0/network/admin/home/ora11g> vi tnsnames.oraVLEGHO = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = VMWBAV-ORCL-V11) (PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = VLEGHO) ) ) |
Positionner l’environnement | /home/ora11g> hostname/home/ora11g> . oraenvORACLE_SID = [QODYPR] ? VLEGHOORACLE_HOME = [QODYPR] ? /o03/app/oracle/products/11.2.0The Oracle base remains unchanged with value /o01/app/home/ora11g> |
Démarrage de la base cible | sqlplus / as sysdbaSQL> startup nomount from pfile=’/o03/app/oracle/products/11.2.0/dbs/initVLEGHO.ora’; |
Création du script de restore | Récupération des chemins des fichiers de la source à partirdes résultats des requêtes du 1 : run { set newname for datafile 1 to ‘/o01/app/oradata/VLEGHO/system01.dbf’; set newname for datafile 2 to ‘/o01/app/oradata/VLEGHO/sysaux01.dbf’; set newname for datafile 3 to ‘/o01/app/oradata/VLEGHO/undotbs01.dbf’; set newname for datafile 4 to ‘/o01/app/oradata/VLEGHO/users01.dbf’; set newname for datafile 5 to ‘+V_DATA11_LEGHO/vlegho/datafile/data.256.836912195’; set newname for datafile 6 to ‘+V_DATA11_LEGHO/vlegho/datafile/indx.257.836912229’; restore database ; switch datafile all; recover database; } ; |
Restauration de la base cible | rman target /RMAN > Restore controlfile from=’/o03/app/oracle/products/11.2.0/backup/<backupControlefile>’; RMAN > alter database mount; RMAN > Catalog start with ‘/o03/app/oracle/products/11.2.0/backup/’; Execution du script : RMAN > run { set newname for datafile 1 to ‘/o01/app/oradata/VLEGHO/system01.dbf’; set newname for datafile 2 to ‘/o01/app/oradata/VLEGHO/sysaux01.dbf’; set newname for datafile 3 to ‘/o01/app/oradata/VLEGHO/undotbs01.dbf’; set newname for datafile 4 to ‘/o01/app/oradata/VLEGHO/users01.dbf’; set newname for datafile 5 to ‘+V_DATA11_LEGHO/vlegho/datafile/data.256.836912195’; set newname for datafile 6 to ‘+V_DATA11_LEGHO/vlegho/datafile/indx.257.836912229’; restore database ; switch datafile all; recover database; }; Vous allez normalement avoir une erreur => Récupérez le numéro la dernière séquence dansle message d’erreur |
Recover de la base cible | RMAN > run{set until logseq=<numeroSequence>;recover database; }; |
Renommage des redo.log | sqlplus / as sysdbaSQL> ALTER DATABASE RENAME FILE ‘/o01/app/oradata/QLEGHO/redo01.log’TO ‘/o01/app/oradata/VLEGHO/redo01.log’; SQL> ALTER DATABASE RENAME FILE ‘/o01/app/oradata/QLEGHO/redo02.log’ TO ‘/o01/app/oradata/VLEGHO/redo02.log’; SQL> ALTER DATABASE RENAME FILE ‘/o01/app/oradata/QLEGHO/redo03.log’ TO ‘/o01/app/oradata/VLEGHO/redo03.log’; |
Suppression des tempfile | SQL> alter database tempfile ‘/o01/app/oradata/QLEGHO/temp01.dbf’drop including datafiles;SQL> exit |
Renommage de la base de données | /home/ora11g> nid TARGET=sys/djoqlegho01 DBNAME=VLEGHO |
Création du spfile | sqlplus / as sysdbaSQL> create spfile from pfile=’/o03/app/oracle/products/11.2.0/dbs/initVLEGHO.ora’; SQL> shutdown immediate; SQL> startup nomount; SQL> alter system set DB_NAME=VLEGHO scope=SPFILE; |
Démarrage de la base de données | SQL> shutdown immediateSQL> startup mount;SQL> alter database open resetlogs; |
Création des tempfile | SQL> ALTER TEMPORARY TABLESPACE TEMP add tempfile’/o01/app/oradata/VLEGHO/temp01.dbf’ size 4096M AUTOEXTEND ON;SQL> ALTER TABLESPACE TEMP add tempfile ‘/o01/app/oradata/VLEGHO/temp01.dbf’ size 4096M AUTOEXTEND ON; SQL> alter database tempfile ‘/o01/app/oradata/VLEGHO/temp01.dbf’ autoextend on maxsize 8192M; |
Changements des mots de passe | SQL> alter user sys identified by djovlegho01;SQL> alter user system identified by djovlegho01;/home/ora11g> orapwd file=orapwVLEGHO password=djovlegho01 |
Modification de l’oratab | /home/ora11g> vi /etc/oratabAjoutez la ligne : VLEGHO:/o03/app/oracle/products/11.2.0:N |
Et voilà votre base est prête à être utilisée…