Outils personnels

Standby database manuelle par RMAN (hot) sur Standard Edition

De wikiGite

Sur le serveur standby

Créer l'instance sur le serveur standby (on suppose la même arborescence et le même nom de base sur les 2 serveurs).

Une fois créée, la lancer :

$ sqlplus "/ as sysdba"
SQL> startup nomount

Sur le serveur primaire

Lancer rman, faire un backup de la base avec le control file pour la standby :

backup database include current controlfile for standby ;
sql "alter system archive log current";
backup archivelog all

Copier les fichiers de backup vers le serveur standby, dans le même répertoire.

Créer une entrée pour la base standby dans le tnsnames.ora du serveur primaire. Lancer RMAN et se connecter aux 2 bases (local=primaire, distante=standby) :

$ rman
RMAN> connect auxiliary sys/password@standbydb
RMAN> connect target /

Lancer la duplication :

duplicate target database for standby dorecover nofilenamecheck;

En cas d'erreur :

RMAN> connect auxiliary sys/password@standbydb
 RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-04006: error from auxiliary database: ORA-12528: TNS:listener: all
appropriate instances are blocking new connections

Ajouter les lignes suivantes (en rouge) au listener.ora du serveur standby :

SID_LIST_LISTENER =
 (SID_LIST =
   (SID_DESC =
     (SID_NAME = PLSExtProc)
     (ORACLE_HOME = C:\oracle\product\10.2.0\db_1)
     (PROGRAM = extproc)
   )
     (SID_DESC =
     (SID_NAME = dbvisitp)
     (ORACLE_HOME = C:\oracle\product\10.2.0\db_1)
   )
)