Rubriques Unix et Oracle
Accueil du siteOracleadministrationSauvegarde / restauration
Fonctionnement et configuration de RMAN
mercredi 2 mars 2005
par Laurent
popularité : 51%

Liens en relations

- Sauvegarder une base de données Oracle avec RMAN
- Restaurer une base de données Oracle avec RMAN
- Astuces supplémentaires

C’est quoi RMAN ?

RMAN est l’outil fourni par Oracle pour gérer les sauvegardes des bases de données.

RMAN est un outil en ligne de commande tel que SQL*Plus, son rôle étant différent.

RMAN vise toujours une base cible ou TARGET à sauvegarder. RMAN peut gérer un catalogue (schéma Oracle) permettant de centraliser les sauvegardes/restauration de plusieurs bases de données. Ce catalogue permet aussi de sauvegarder toutes les configurations de sauvegarde, mais aussi de gérer certaines subtilités supplémentaires comme la gestion de scripts. Dans le cas d’un fonctionnement avec un catalogue, on se connecte au catalogue, puis à la cible, enfin on réalise ce que l’on veut sur la base cible en centralisant les informations dans le catalogue.

Utiliser un catalogue permet :
- d’augmenter la fléxibilité et l’accès aux fonctionnalités avancées de RMAN,
- de conserver des métadonnées de sauvegarde/restauration passées,
- de centraliser les opérations de sauvegardes,

Mais utiliser un catalogue, c’est aussi quelques petits soucis comme :
- les upgrades de catalogue qui peuvent devenir problématiques,
- la gestion d’un catalogue augmente quelque-peu la compléxité de l’architecture,
- la gestion d’un catalogue peut engendrer des problèmes de stockage. Mais tout est relatif car Oracle préconise quelques 10Mo pour la gestion du catalogue.

Jouons avec le catalogue : création, connexion, enregistrement d’une base

Le lancement de RMAN se fait avec la commande "rman". Sans paramètres on obtient le prompt RMAN> .On peut, à partir de là, se connecter à une base cible, à un catalogue et réaliser toutes les opérations. On peut également passer les paramètres "target" ou "catalog" suivis des identifiants de connexions.

Création du catalogue

Considérons que nous allons créer un catalogue sur une base nommée ORCL.

Ces opérations se font avec SQL*Plus connecté en profil de DBA sur la base ORCL.

  1. Dans un premier temps, nous allons créer le tablespace qui va heberger les données du catalogue :

    $ export ORACLE_SID=ORCL
    $ sqlplus /nolog
    SQL> connect / as sysdba
    SQL> create tablespace rman_ts datafile
    2   '/u01/app/oracle/oradata/orcl/rman_01.dbf'
    3   size 25M extent management local
    4   /
  1. Puis, on créé l’utilisateur détenteur du schéma du catalogue et on lui octroie les droits nécessaires à la gestion du catalogue :

    SQL> create user rman_db identified by rman_db
     2  default tablespace rman_ts
     3  quota unlimited on rman_ts
     4  account unlock
     5  /
    SQL> grant recovery_catalog_owner to rman_mydb
     2  /
    SQL> grant connect,resource to rman_mydb
     2  /
  1. Enfin, nous allons créer le catalogue.

Pour cela, il faut nous connecter au catalogue (vierge pour l’instant), en utilisant une des chaînes suivantes :


1°) En local
$ export ORACLE_SID=orcl
$ rman catalog rman_db/rman_db log=catalog.log

2°) En distant
$ rman catalog rman_db/rman_db@orcl log=catalog

Ensuite, on créé le catalogue.


RMAN> create catalog tablespace rman_ts;

le fichier de log doit, en toute logique, contenir les informations suivantes :


connected to recovery catalog database
recovery catalog is not installed
RMAN>
recovery catalog created
RMAN>
Recovery Manager complete.

Connexions

La connexion à un catalogue se fait comme suit :


$ rman catalog rman_user/xxxx[@DB]

OU

RMAN> connect catalog rman_user/xxxx[DB];

La connexion à une base cible se fait comme suit :


$ rman target sys/mdp@baseCible

ou

RMAN> connect target sys/mdp@baseCible

Enregistrer une base

Dans notre exemple, nous considérons les données suivantes :

Base du catalogueBase Cible
ORCLMGMT

Une fois connecté à un catalogue. Il faut enregistrer la base cible à insérer au catalogue. Pour cela, suivre les instructions suivantes


1°) Connexion
$ rman catalog rman_db/rman_db@orcl
RMAN> connect target sys/orcl@mgmt
connected to target database: MGMT (DBID=2459824796)

2°) Enregistrement de la base par la commande REGISTER DATABASE

RMAN> register database;
database registered in recovery catalog
starting full resync of recovery catalog
full resync complete

Paramètrage de la sauvegarde

Une fois connecté, il faut configurer certains paramètres pour effectuer la sauvegarde. Ci dessous, on trouvera les principaux paramètres :

Lister toutes les options

La commande permettant de lister tous les paramètres de sauvegardes de la base cible est la commande SHOW ALL ;


RMAN> show all;
CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default
CONFIGURE BACKUP OPTIMIZATION OFF; # default
CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default
CONFIGURE CONTROLFILE AUTOBACKUP OFF; # default
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # default
CONFIGURE DEVICE TYPE DISK PARALLELISM 1; # default
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE MAXSETSIZE TO UNLIMITED; # default
CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/u01/product/ora9204/dbs/snapcf_mgmt.f'; # default

Configuration du périphérique de sauvegarde

Le périphérique de sauvegarde peut-être de type DISK ou SBT (pour lecteur de bande).


RMAN> CONFIGURE [DEFAULT] DEVICE TYPE TO DISK;

OU

RMAN> CONFIGURE [DEFAULT] DEVICE TYPE TO SBT;

Configuration du canal de sauvegarde

RMAN offre la possibilité de paralléliser les opérations de sauvegarde. On peut donc allouer plusieurs canaux de sauvegarde par type de device. Si on considère que le device DISK ait été configuré en parallèle sur 2 canaux comme suit :


RMAN> CONFIGURE DEVICE TYPE DISK PARALLELISM 2;

Alors, on peut créer deux canaux de sauvegardes en leur spécifiant le chemin des jeux de sauvegardes :


RMAN> configure channel 1 DEVICE TYPE DISK FORMAT   '/u04/save/mgmt_rman/ora_df%t_s%s_s%p';
RMAN> configure channel 2 DEVICE TYPE DISK FORMAT   '/u05/save/mgmt_rman/ora_df%t_s%s_s%p';

%t représente la date de sauvegarde (sous forme de timestamp sur 4 octets) %s représente le numéro du jeu de sauvegarde (backup set). %p représente la numéro de la partie de la sauvegarde (backup piece).

Configuration du temps de rétention des sauvegardes

Cette option permet de régler le délai d’expiration des sauvegardes.


RMAN> CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS;

Ainsi, les sauvegardes expireront lorsqu’elles auront 7 jours.

On peut aussi spécifier le nombre de jeux de sauvegarde. Ainsi la commande suivante invalidera les 3eme, 4eme, 5eme , et au delà, jeux de sauvegardes.


RMAN> CONFIGURE RETENTION POLICY TO REDUNDANCY = 2;

Configuration de la sauvegarde des fichiers de contrôle

La commande suivante permet de sauvegarder le fichier de contrôle après chaque opération de sauvegarde :


RMAN> CONFIGURE CONTROLFILE AUTOBACKUP ON;

Afin de changer la localisation de ce fichier, il faut changer la configuration avec la commande suivante :


RMAN> CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/save/mgmt_rman/cf%F';

Effacer le réglage d’un paramètre

Pour remettre la configuration à zéro d’un paramètre, il suffit de lui apposer la mention CLEAR en fin de commande : Ex :


RMAN> CONFIGURE RETENTION POLICY CLEAR;
RMAN> CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK CLEAR;

La suite ....

 
Messages de forum :
Fonctionnement et configuration de RMAN
mardi 7 octobre 2008

une chose à dire : PARFAIT !!

Je ne connais pas le spectre de vos connaissances en terme de bases de données... mais un tutoriel SQLServer je serais preneur !

En tout les cas encore bravo et bonne continuation !



    Fonctionnement et configuration de RMAN
    mardi 7 octobre 2008
    par  Laurent

    Désolé, je n’ai pas de papiers détaillés sur les opérations de sauvegarde restauration sous SQL Server. En tout cas, merci pour le commentaire !

    Laurent

Fonctionnement et configuration de RMAN
mardi 1er juillet 2008
MERCI !!!!!!!!! enfin un tuto qui marche encore merci