Catalogue RMAN centralisé
Rappel :
RMAN = Recovery Manager d'Oracle.
RMAN stocke ses informations dans un référentiel (repository) qui se situe dans les Control Files de la base locale, ou dans un Catalogue (base de données) centralisé pour toutes les bases.
Créer une base Oracle dédiée à RMAN, appelons-la, simplement : RMAN,
par le moyen que vous préférez, manuellement, ou graphiquement.
Créer un Tablespace RMAN_CATALOG dans une nouvelle base dédiée RMAN
export ORACLE_SID=RMAN
sqlplus /nolog
SQL> CONNECT sys/mdp as SYSDBA
Connected.
SQL> CREATE TABLESPACE RMAN_CATALOG DATAFILE '/oradata/RMAN/rman_catalog_01.dbf' size 100M;
Tablespace created.
Créer un utilisateur Oracle "rman"
SQL> CREATE USER rman IDENTIFIED BY rman DEFAULT TABLESPACE RMAN_CATALOG;
User created.
SQL> GRANT CONNECT, RESOURCE TO rman;
Grant succeeded.
SQL> GRANT RECOVERY_CATALOG_OWNER TO rman;
Grant succeeded.
Créer le catalogue RMAN
export ORACLE_SID=RMAN
rman CATALOG rman/rman
Recovery Manager: Release 10.2.0.1.0 - Production on Mon Sep 20 03:18:13 2010
Copyright (c) 1982, 2005, Oracle. All rights reserved.
connected to recovery catalog database
RMAN> CREATE CATALOG;
recovery catalog created
RMAN> exit
Recovery Manager complete.
Enregistrement d'une base de données DBTEST dans le catalogue
rman TARGET sys/mot_de_passe_sys@dbtest CATALOG rman/rman@base_rman
Recovery Manager: Release 10.2.0.1.0 - Production on Mon Sep 20 03:20:19 2010
Copyright (c) 1982, 2005, Oracle. All rights reserved.
connected to target database: DBTEST (DBID=875592259)
connected to recovery catalog database
RMAN> REGISTER DATABASE;
database registered in recovery catalog
starting full resync of recovery catalog
full resync complete
Il ne reste plus qu'à lancer les sauvegardes, en se connectant à ce catalogue
rman target sys/mot_de_passe_sys@DBTEST catalog rman/rman@RMAN cmdfile backup_full.rman
Le script rman "backup_full.rman" contiendra par exemple :
BACKUP INCREMENTAL LEVEL 0 CUMULATIVE DEVICE TYPE DISK DATABASE;
BACKUP DEVICE TYPE DISK ARCHIVELOG ALL DELETE ALL INPUT;
BACKUP SPFILE;
ALLOCATE CHANNEL FOR MAINTENANCE TYPE DISK;
DELETE NOPROMPT OBSOLETE DEVICE TYPE DISK;
RELEASE CHANNEL;
("BACKUP INCREMENTAL LEVEL 0" est à préférer au simple "BACKUP DATABASE" car il permettra par la suite d'enchaîner sur des incrémentales, ce qui n'est pas le cas du backup full simple).
Pour une sauvegarde incrémentale et/ou cumulative, on utilisera alors :
BACKUP INCREMENTAL LEVEL 1 DEVICE TYPE DISK DATABASE;
- ou -
BACKUP INCREMENTAL LEVEL 1 CUMULATIVE DEVICE TYPE DISK DATABASE;
Pour la différence entre incrémentales et cumulatives, voir sur ce blog, par exemple.
Des exemples de scripts rman sont joints à cette page.