Ceci est une ancienne révision du document !


Sauvegarde et réplication

L'objectif de ce TP est de mettre en oeuvre un cycle de sauvegarde/restauration via l'utilitataire RMAN, puis de mettre en place une réplication de base de données via la mécanique DATAGUARD.

Doc en ligne Oracle11GR2

Envoyer un rapport (instructions utilisées, argumentation des choix, références) par mail à emmanuel.coquery@liris.cnrs.fr pour le 17/02/2013.

Préliminaire: accès aux machines virtuelles du TP

Ce TP s'appuie sur un ensemble de machine virtuelles disponibles dans l'infrastructure dédiée du département informatique. L'accès à ces machines se fera via ssh1). Les adresses IP des machines seront mises à disposition via TOMUSS. Les comptes root et oracle sont accessible via ssh en utilisant la nouvelle clé envoyée par mail.

Les machines sont préinstallées avec:

  • RHEL/CentOS 5.10
  • Oracle 11gR2
  • Une base de donnée, admindb Il faut configurer la base admindb. Pour cela:
    • source oraenv
      • ORACLE_SID → admindb
      • ORACLE_HOME → /u01/app/oracle/product/11.2.0/dbhome_1
    • dbca
      • garder les valeurs par défaut, sauf oracle sid → admindb et la mémoire (500Mo suffisent)

RMAN

Créer une nouvelle base de données, via l'utilitaire dbca. On fera attention à laisser Oracle gérer les noms des fichiers (control files et data files), cela simplifiera les choses pour la partie réplication. Activer les logs d'archive.

Dans la base admindb, créer un schéma/utilisateur pour gérer le catalogue de RMAN, lui donner le bon rôle et configurer RMAN pour initialiser le contenu du catalogue. Dans la suite du TP, on utilisera la base admindb uniquement pour gérer le catalogue RMAN.

Effectuer une sauvegarde à chaud de la 2nde base via RMAN. Créer une table et y insérer des données. Supprimer le datafile du tablespace contenant la tablée créée. Restaurer.

Créer une nouvelle table, y insérer des données. Revenir juste avant la création de la table grâce aux logs d'archive.

DATAGUARD

L'objectif de cette partie est de mettre en place une réplication via le mécanisme DATAGUARD d'Oracle. Pour cela, on utilisera la deuxième machine, nommée stdby, la première étant nommée orig.

Sur stdby, supprimer la base admindb, la seule instance utilisée pour cette base étant celle qui tourne sur orig.

Configurer les fichiers réseau Oracle pour:

  • Pouvoir accéder à la base admindb, ainsi qu'à votre base depuis orig et stdby
  • Pouvoir accéder à une troisième base tournant sur stdby depuis les deux machines

<note tip>Les bases non démarrées peuvent être difficiles d'accès. Bien penser au fichiers password générés avec orapwd. Voir également les paramètres de connexion, plus le tips (UR=A) (c.f. e.g. ici)</note>

La troisième base sera créée ensuite comme une physical standby database, voir la création ici, en passant éventuellement par la commande DUPLICATE de RMAN2).

Une fois la physical standby database en place, démarrer l'application des logs transportés en temps réel. Vérifier en effectuant des changements sur la base primary.

Pour finir, effectuer un switchover pour inverser le rôle de chaque base.

Divers

<note warning>Vérifier les infos ci-dessous sur la nouvelle infrastructure</note>

<note tip>Installation des vmware tools:

cd /etc/yum.repos.d/
wget http://liris.cnrs.fr/~ecoquery/files/vmware.repo
yum install vmware-tools-esx.i686

Installation de rlwrap:

cd /tmp
wget http://liris.cnrs.fr/~ecoquery/files/rlwrap-0.37-1.el5.i386.rpm
rpm -Uvh rlwrap-0.37-1.el5.i386.rpm

</note>

<note tip>Changer le hostname (utile pour savoir si on est sur la machine de départ ou sur la machine qui héberge le standby): éditer le fichier /etc/sysconfig/network, puis relancer le réseau:

/etc/init.d/network restart

Se déconnecter, puis se reconnecter.

Modifier également le fichier /etc/hosts pour y ajouter les alias vers l'IP de la machine3), e.g.

111.222.33.44   toto.localdomain   toto

:!: Attention, cela ne change le nom que sur la machine, cela ne change pas les DNS :!: </note>

1)
utiliser le X11 forwarding (-X) pour accéder aux applications graphiques
2)
on préfèrera la duplication à base de backups
3)
celle pour l'interface eth0