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é.

  1. 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 
  2. 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;
  3. 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;
  4. 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 
  5. Vérifiez la valeur dg_broker_start de l'hôte de base de données de secours. Il doit être défini sur false.
    SQL> show parameter dg_broker_start;
    La sortie sera similaire à ce qui suit :
    NAME 			TYPE 			VALUE 
    ------------------------------------ ----------- ------------------------------ 
    dg_broker_start 	boolean 		FALSE 
  6. 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;
  7. 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;
  8. 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.

  1. Connectez-vous à l'hôte principal en tant que sys.
    $ dgmgrl sys/sys password@net service name for primary database
  2. 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;
  3. 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; 
  4. Activez la configuration.
    DGMGRL> enable configuration;
  5. 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).

  1. 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
  2. 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
  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
  4. Ajoutez un groupe de fichiers journaux de secours pour chaque journal redo.
    Par exemple, si vous disposez de trois fichiers journaux redo, 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.
  5. 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.
  6. 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)
  7. 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
  8. 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.
  9. 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)
  10. 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
  11. Connectez-vous à l'instance de base de données de secours dans OCI.
    [oracle@droci admin]$ sqlplus / as sysdba
  12. 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
  13. 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
    
  14. 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.
  15. 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.
  16. 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.
  17. 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;
  18. 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
  19. 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
  20. 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
  21. 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
  22. 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
  23. 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
  24. 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
  25. 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.
  26. 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.
  27. 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
  28. 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
  29. 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
  30. 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