- Déployer une topologie DR hybride pour une base de données sur site
- Finalisation de la configuration
Finalisation de la configuration
Configurez Oracle Data Guard, enregistrez la base de données de secours et synchronisez les mots de passe sur site et de base de données de secours.
Configurer le broker Oracle Data Guard
Configurez Oracle Data Guard en activant le paramètre dg_broker_config_file
sur les bases de données principale et de secours. Pour Oracle Automatic Storage Management (Oracle ASM), placez les fichiers de configuration du broker sur des groupes de disques distincts. Pour Oracle Real Application Clusters (Oracle RAC), les fichiers de configuration du broker doivent se trouver sur un stockage partagé.
- Vérifiez la valeur
dg_broker_start
de l'hôte de base de données sur site. Elle doit être définie sur False.SQL> show parameter dg_broker_start;
La sortie sera similaire à ce qui suit :NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ dg_broker_start boolean FALSE
- Vérifiez les fichiers Oracle Data Guard de la base de données sur site.
SQL> show parameter dg_broker_config_file1; SQL> show parameter dg_broker_config_file2;
- Si vous disposez d'Oracle RAC ou d'Oracle ASM, vous pouvez modifier l'emplacement du fichier de configuration.
SQL> alter system set dg_broker_config_file1=broker_config_file location; SQL> alter system set dg_broker_config_file2=broker_config_file location;
- Démarrez le processus Oracle Data Guard Broker sur la base de données principale.
SQL> alter system set dg_broker_start=true; SQL> show parameter dg_broker_start
NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ dg_broker_start boolean TRUE
SQL> select pname from v$process where pname like 'DMON%';
PNAME ----- DMON
- Vérifiez la valeur
dg_broker_start
de l'hôte de base de données de secours. Il doit être défini surfalse
.SQL> show parameter dg_broker_start;
La sortie sera similaire à ce qui suit :NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ dg_broker_start boolean FALSE
- Vérifiez les fichiers Oracle Data Guard sur la base de données de secours.
SQL> show parameter dg_broker_config_file1; SQL> show parameter dg_broker_config_file2;
- Si vous disposez d'Oracle RAC ou d'Oracle ASM, vous pouvez modifier l'emplacement du fichier de configuration.
SQL> alter system set dg_broker_config_file1=broker_config_file location; SQL> alter system set dg_broker_config_file2=broker_config_file location;
- Démarrez le processus du broker Oracle Data Guard sur la base de données de secours.
SQL> alter system set dg_broker_start=true; SQL> show parameter dg_broker_start
NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ dg_broker_start boolean TRUE
SQL> select pname from v$process where pname like 'DMON%';
PNAME ----- DMON
Inscrire la base de données de secours
Utilisez l'interface de ligne de commande Oracle Data Guard (DGMGRL) pour inscrire ou ajouter le profil de base de données de secours à la configuration du broker sur l'hôte principal sur site.
- Connectez-vous à l'hôte principal en tant que
sys
.$ dgmgrl sys/sys password@net service name for primary database
- Créez une configuration utilisant le nom de base de données principale.
DGMGRL> CREATE CONFIGURATION configuration_name AS PRIMARY DATABASE IS primary database name CONNECT IDENTIFIER IS primary database name;
- Ajoutez la base de données de secours.
DGMGRL> ADD DATABASE standby unique database name AS CONNECT IDENTIFIER IS standby unique database name MAINTAINED AS PHYSICAL;
- Activez la configuration.
DGMGRL> enable configuration;
- Affichez la configuration.
DGMGRL> show configuration;
La sortie sera similaire à ce qui suit :Configuration - OnPremDr Protection Mode: MaxPerformance Members: ORCLCDB - Primary database Warning: ORA-16789: standby redo logs configured incorrectly orclcdb_iad1s3 - Physical standby database Error: ORA-16810: multiple errors or warnings detected for the member Fast-Start Failover: Disabled Configuration Status: ERROR (status updated 10 seconds ago)
Copier les fichiers de journalisation des remises sur site vers OCI
Copiez les fichiers journaux redo
et les autres fichiers de base de données de la base de données sur site sur l'instance Oracle Cloud Infrastructure (OCI).
- Visualiser les fichiers de base de données sur site.
select name from v$datafile;
La sortie sera similaire à ce qui suit :NAME -------------------------------------------------------------------- /opt/oracle/oradata/ORCLCDB/system01.dbf /opt/oracle/oradata/ORCLCDB/sysaux01.dbf /opt/oracle/oradata/ORCLCDB/undotbs01.dbf /opt/oracle/oradata/ORCLCDB/pdbseed/system01.dbf /opt/oracle/oradata/ORCLCDB/pdbseed/sysaux01.dbf /opt/oracle/oradata/ORCLCDB/users01.dbf /opt/oracle/oradata/ORCLCDB/pdbseed/undotbs01.dbf /opt/oracle/oradata/ORCLCDB/ORCLPDB1/system01.dbf /opt/oracle/oradata/ORCLCDB/ORCLPDB1/sysaux01.dbf /opt/oracle/oradata/ORCLCDB/ORCLPDB1/undotbs01.dbf /opt/oracle/oradata/ORCLCDB/ORCLPDB1/users01.dbf
- Visualiser la taille de chaque groupe pour les fichiers de données sur site.
select bytes, group# from v$log;
La sortie sera similaire à ce qui suit :BYTES GROUP# ---------- ---------- 209715200 1 209715200 2 209715200 3
- Visualisez les journaux
redo
des fichiers de données sur site.select member from v$logfile;
La sortie sera similaire à ce qui suit :MEMBER --------------------------------------------------- /opt/oracle/oradata/ORCLCDB/redo03.log /opt/oracle/oradata/ORCLCDB/redo02.log /opt/oracle/oradata/ORCLCDB/redo01.log
- Ajoutez un groupe de fichiers journaux de secours pour chaque journal
redo
.Par exemple, si vous disposez de trois fichiers journauxredo
, ajoutez trois groupes de fichiers journaux de secours.SQL> alter database add standby logfile group 4('/opt/oracle/oradata/ORCLCDB/redo_sb04.log') size 209715200; Database altered. SQL> alter database add standby logfile group 5('/opt/oracle/oradata/ORCLCDB/redo_sb05.log') size 209715200; Database altered. SQL> alter database add standby logfile group 6('/opt/oracle/oradata/ORCLCDB/redo_sb06.log') size 209715200; Database altered.
- Affichez le numéro du groupe et les membres du fichier journal.
SQL> select group#,member from v$logfile;
La sortie sera similaire à ce qui suit :GROUP# MEMBER -------------------------------------------------------------------- 3 /opt/oracle/oradata/ORCLCDB/redo03.log 2 /opt/oracle/oradata/ORCLCDB/redo02.log 1 /opt/oracle/oradata/ORCLCDB/redo01.log 4 /opt/oracle/oradata/ORCLCDB/redo_sb04.log 5 /opt/oracle/oradata/ORCLCDB/redo_sb05.log 6 /opt/oracle/oradata/ORCLCDB/redo_sb06.log 6 rows selected.
- Visualisez la configuration dans Oracle Data Guard.
DGMGRL> show configuration
La sortie sera similaire à ce qui suit :Configuration - OnPremDr Protection Mode: MaxPerformance Members: ORCLCDB - Primary database orclcdb_iad1s3 - Physical standby database Fast-Start Failover: Disabled Configuration Status: SUCCESS (status updated 60 seconds ago)
- Visualisez les fichiers de journalisation sur l'instance de base de données OCI de secours.
select member from v$logfile;
La sortie sera similaire à ce qui suit :MEMBER --------------------------------------------------- /opt/oracle/oradata/ORCLCDB/redo03.log /opt/oracle/oradata/ORCLCDB/redo02.log /opt/oracle/oradata/ORCLCDB/redo01.log
- Connectez-vous à une session d'interface de ligne de commande (DGMGRL) Oracle Data Guard sur l'instance de base de données OCI de secours avec le nom utilisateur et le mot de passe
sys
.[oracle@droci admin]$ dgmgrl DGMGRL> connect Username: sys Password:
La sortie sera similaire à ce qui suit :. . . Welcome to DGMGRL, type "help" for information. Connected to "ORCLCDB_iad1s3" Connected as SYSDBA.
- Affichez la configuration sur la base de données de secours dans OCI.
DGMGRL> show configuration;
La sortie sera similaire à ce qui suit :Configuration - OnPremDr Protection Mode: MaxPerformance Members: ORCLCDB - Primary database orclcdb_iad1s3 - Physical standby database Warning: ORA-16809: multiple warnings detected for the member Fast-Start Failover: Disabled Configuration Status: WARNING (status updated 50 seconds ago)
- Modifiez l'instance de base de données de secours dans OCI et définissez l'état sur
apply-off
, puis quittez l'interface de ligne de commande.DGMGRL> edit database orclcdb_iad1s3 set state=apply-off;
Succeeded.
DGMGRL> exit
- Connectez-vous à l'instance de base de données de secours dans OCI.
[oracle@droci admin]$ sqlplus / as sysdba
- Affichez le numéro du groupe et les membres du fichier journal.
SQL> select group#,member from v$logfile;
La sortie sera similaire à ce qui suit :GROUP# MEMBER -------------------------------------------------------------------- 3 /opt/oracle/oradata/ORCLCDB/redo03.log 2 /opt/oracle/oradata/ORCLCDB/redo02.log 1 /opt/oracle/oradata/ORCLCDB/redo01.log
- Affichez la taille de chaque groupe.
select bytes, group# from v$log;
La sortie sera similaire à ce qui suit :BYTES GROUP# ---------- ---------- 209715200 1 209715200 3 209715200 2
- Ajoutez les groupes de fichiers journaux de secours à la base de données dans OCI.
SQL> alter database add standby logfile group 4('/opt/oracle/oradata/ORCLCDB/redo_sb04.log') size 209715200; Database altered. SQL> alter database add standby logfile group 5('/opt/oracle/oradata/ORCLCDB/redo_sb05.log') size 209715200; Database altered. SQL> alter database add standby logfile group 6('/opt/oracle/oradata/ORCLCDB/redo_sb06.log') size 209715200; Database altered.
- Affichez le numéro du groupe et les membres du fichier journal.
SQL> select group#,member from v$logfile;
La sortie sera similaire à ce qui suit :GROUP# MEMBER -------------------------------------------------------------------- 3 /opt/oracle/oradata/ORCLCDB/redo03.log 2 /opt/oracle/oradata/ORCLCDB/redo02.log 1 /opt/oracle/oradata/ORCLCDB/redo01.log 4 /opt/oracle/oradata/ORCLCDB/redo_sb04.log 5 /opt/oracle/oradata/ORCLCDB/redo_sb05.log 6 /opt/oracle/oradata/ORCLCDB/redo_sb06.log 6 rows selected.
- Connectez-vous à une session d'interface de ligne de commande (DGMGRL) Oracle Data Guard sur l'instance de base de données OCI de secours avec le nom utilisateur et le mot de passe
sys
.[oracle@droci admin]$ dgmgrl DGMGRL> connect Username: sys Password:
. . . Welcome to DGMGRL, type "help" for information. Connected to "ORCLCDB_iad1s3" Connected as SYSDBA.
- Modifiez l'instance de base de données de secours dans OCI et définissez l'état sur
apply-on
.DGMGRL> edit database orclcdb_iad1s3 set state=apply-on;
- Modifiez l'instance de base de données de secours dans OCI et définissez l'état du transport sur
transport-on
, puis quittez l'interface de ligne de commande.DGMGRL> edit database orclcdb_iad1s3 set state=transport-on;
Succeeded.
DGMGRL> exit
- Visualiser les fichiers journaux de secours dans la base de données de secours sur OCI.
SQL> select * from v$logfile where type='STANDBY';
La sortie sera similaire à ce qui suit :GROUP# STATUS TYPE ---------- ------- ------- MEMBER -------------------------------------------------------------------- IS_ CON_ID --- ---------- 4 STANDBY /opt/oracle/oradata/ORCLCDB/redo_sb04.log NO 0 5 STANDBY /opt/oracle/oradata/ORCLCDB/redo_sb05.log NO 0 6 STANDBY /opt/oracle/oradata/ORCLCDB/redo_sb06.log NO 0
- Visualiser les fichiers de journalisation dans la base de données de secours sur OCI.
SQL> select member from v$logfile where type != 'STANDBY';
La sortie sera similaire à ce qui suit :MEMBER -------------------------------------------------------------------- /opt/oracle/oradata/ORCLCDB/redo03.log /opt/oracle/oradata/ORCLCDB/redo02.log /opt/oracle/oradata/ORCLCDB/redo01.log
- Récupérer la base de données de secours gérée.
SQL> recover managed standby database cancel;
La sortie sera similaire à ce qui suit :Media recovery complete
- Affichez les fichiers avec le paramètre
convert
.SQL> show parameter convert;
La sortie sera similaire à ce qui suit :NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ db_file_name_convert string log_file_name_convert string pdb_file_name_convert string
- Visualiser les fichiers de la base de données.
select name from v$datafile;
La sortie sera similaire à ce qui suit :NAME -------------------------------------------------------------------- /opt/oracle/oradata/ORCLCDB/system01.dbf /opt/oracle/oradata/ORCLCDB/sysaux01.dbf /opt/oracle/oradata/ORCLCDB/undotbs01.dbf /opt/oracle/oradata/ORCLCDB/pdbseed/system01.dbf /opt/oracle/oradata/ORCLCDB/pdbseed/sysaux01.dbf /opt/oracle/oradata/ORCLCDB/users01.dbf /opt/oracle/oradata/ORCLCDB/pdbseed/undotbs01.dbf /opt/oracle/oradata/ORCLCDB/ORCLPDB1/system01.dbf /opt/oracle/oradata/ORCLCDB/ORCLPDB1/sysaux01.dbf /opt/oracle/oradata/ORCLCDB/ORCLPDB1/undotbs01.dbf /opt/oracle/oradata/ORCLCDB/ORCLPDB1/users01.dbf
- Affichez le numéro SCN (Database System Change Number).
SQL> select current_scn from v$database;
La sortie sera similaire à ce qui suit :CURRENT_SCN ----------- 2906060
- Visualisez les détails de l'archive Oracle Data Guard.
SQL> SELECT ROLE, THREAD#, SEQUENCE#, ACTION FROM V$DATAGUARD_PROCESS;
La sortie sera similaire à ce qui suit :ROLE THREAD# SEQUENCE# ACTION ------------------------ ---------- ---------- ------------ RFS archive 0 0 IDLE RFS archive 0 0 IDLE RFS async 1 18 RECEIVING RFS ping 1 18 IDLE broker monitor 0 0 IDLE broker instance slave 0 0 IDLE archive redo 0 0 IDLE archive local 0 0 IDLE redo transport timer 0 0 IDLE gap manager 0 0 IDLE log writer 0 0 IDLE broker net slave 0 0 IDLE broker worker 0 0 IDLE archive redo 0 0 IDLE archive redo 0 0 IDLE redo transport monitor 0 0 IDLE 16 rows selected.
- Désactivez la récupération de la base de données de secours gérée à l'aide du fichier journal.
SQL> recover managed standby database using current logfile disconnect;
Media recovery complete.
- Affichez le numéro SCN (Database System Change Number).
SQL> select current_scn from v$database;
La sortie sera similaire à ce qui suit :CURRENT_SCN ----------- 2906060
- Affichez les fichiers avec le paramètre de destination.
SQL>show parameter dest;
La sortie sera similaire à ce qui suit :NAME TYPE VALUE ------------------------------------ ----------- ------------------- cursor_bind_capture_destination string memory+disk db_create_online_log_dest_1 string /u03/app/oracle/redo/ db_create_online_log_dest_2 string db_create_online_log_dest_3 string db_create_online_log_dest_4 string db_create_online_log_dest_5 string db_recovery_file_dest_size big integer 238G log_archive_dest_1 string log_archive_dest_10 string log_archive_dest_11 string log_archive_dest_12 string
- Affichez les commentaires de la récupération.
SQL> select comments from v$recovery_progress;
La sortie sera similaire à ce qui suit :COMMENTS -------------------------------------------------------------------- RCVID: 4165711446800375620 SCN: 2907015 COMMENTS -------------------------------------------------------------------- RCVID: 12395680609799335065 SCN: 2906061
- Visualiser la date de récupération.
SQL> select START_TIME,comments from v$recovery_progress order by 1;
La sortie sera similaire à ce qui suit :START_TIM --------- COMMENTS -------------------------------------------------------------------- 03-SEP-20 03-SEP-20 03-SEP-20 RCVID: 2657984638848411078 START_TIM --------- COMMENTS -------------------------------------------------------------------------------- 03-SEP-20