Die Konfiguration abschließen

Konfigurieren Sie Oracle Data Guard, registrieren Sie die Standby-Datenbank, und synchronisieren Sie die On-Premise- und Standby-Datenbankkennwörter.

Oracle Data Guard Broker konfigurieren

Konfigurieren Sie Oracle Data Guard, indem Sie den Parameter dg_broker_config_file in den Primär- und Standbydatenbanken aktivieren. Platzieren Sie für Oracle Automatic Storage Management (Oracle ASM) die Broker-Konfigurationsdateien auf separaten Datenträgergruppen. Für Oracle Real Application Clusters (Oracle RAC) müssen sich Broker-Konfigurationsdateien im Shared Storage befinden.

  1. Prüfen Sie den dg_broker_start-Wert für den On-Premise-Datenbankhost. Es sollte auf "Falsch" gesetzt werden.
    SQL> show parameter dg_broker_start;
    Die Ausgabe sieht wie folgt aus:
    NAME 			TYPE 			VALUE 
    ------------------------------------ ----------- ------------------------------ 
    dg_broker_start 	boolean 		FALSE 
  2. Prüfen Sie die Oracle Data Guard-Dateien auf die On-Premise-Datenbank.
    SQL> show parameter dg_broker_config_file1;
    SQL> show parameter dg_broker_config_file2;
  3. Wenn Sie Oracle RAC oder Oracle ASM haben, können Sie den Speicherort der Konfigurationsdatei ändern.
    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. Starten Sie den Oracle Data Guard Broker-Prozess auf der Primärdatenbank.
    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. Prüfen Sie den dg_broker_start-Wert für den Standbydatenbankhost. Es muss auf false gesetzt werden.
    SQL> show parameter dg_broker_start;
    Die Ausgabe sieht wie folgt aus:
    NAME 			TYPE 			VALUE 
    ------------------------------------ ----------- ------------------------------ 
    dg_broker_start 	boolean 		FALSE 
  6. Prüfen Sie die Oracle Data Guard-Dateien in der Standby-Datenbank.
    SQL> show parameter dg_broker_config_file1;
    SQL> show parameter dg_broker_config_file2;
  7. Wenn Sie Oracle RAC oder Oracle ASM haben, können Sie den Speicherort der Konfigurationsdatei ändern.
    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. Starten Sie den Oracle Data Guard Broker-Prozess in der Standby-Datenbank.
    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 

Standby-Datenbank registrieren

Verwenden Sie die Oracle Data Guard-Befehlszeilenschnittstelle (DGMGRL), um das Standby-Datenbankprofil zur Broker-Konfiguration auf dem primären On-Premise-Host zu registrieren oder hinzuzufügen.

  1. Melden Sie sich bei dem primären Host als sys an.
    $ dgmgrl sys/sys password@net service name for primary database
  2. Erstellen Sie eine Konfiguration, die den Primärdatenbanknamen verwendet.
    DGMGRL> CREATE CONFIGURATION configuration_name AS PRIMARY DATABASE IS primary database name CONNECT
              IDENTIFIER IS primary database name;
  3. Fügen Sie die Standby-Datenbank hinzu.
    DGMGRL> ADD DATABASE standby unique database name AS CONNECT IDENTIFIER IS standby unique database name MAINTAINED AS PHYSICAL; 
  4. Aktivieren Sie die Konfiguration.
    DGMGRL> enable configuration;
  5. Zeigt die Konfiguration an.
    DGMGRL> show configuration;
    Die Ausgabe sieht wie folgt aus:
    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)

Redo-Log-Dateien aus On-Premises in OCI kopieren

Kopieren Sie die redo-Logdateien und andere Datenbankdateien aus der On-Premise-Datenbank in die Oracle Cloud Infrastructure -(OCI-)Instanz.

  1. On-Premise-Datenbankdateien anzeigen.
    select name from v$datafile;
    Die Ausgabe sieht wie folgt aus:
    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. Zeigen Sie die Größe jeder Gruppe für die On-Premise-Datendateien an.
    select bytes, group# from v$log;
    Die Ausgabe sieht wie folgt aus:
    BYTES     GROUP#
    ---------- ----------
     209715200	    1
     209715200	    2
     209715200	    3
  3. Zeigen Sie die redo-Logs für die On-Premise-Datendateien an.
    select member from v$logfile;
    Die Ausgabe sieht wie folgt aus:
    MEMBER
    ---------------------------------------------------
    /opt/oracle/oradata/ORCLCDB/redo03.log
    /opt/oracle/oradata/ORCLCDB/redo02.log
    /opt/oracle/oradata/ORCLCDB/redo01.log
  4. Fügen Sie für jedes redo-Log eine Standby-Logdateigruppe hinzu.
    Beispiel: Wenn Sie drei redo-Logdateien haben, fügen Sie drei Standby-Logdateigruppen hinzu.
    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. Zeigen Sie die Gruppennummer und Member der Logdatei an.
    SQL> select group#,member from v$logfile;
    Die Ausgabe sieht wie folgt aus:
    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. Zeigen Sie die Konfiguration in Oracle Data Guard an.
    DGMGRL> show configuration
    Die Ausgabe sieht wie folgt aus:
    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. Zeigen Sie die Redo-Logs in der Standby-OCI-Datenbankinstanz an.
    select member from v$logfile;
    Die Ausgabe sieht wie folgt aus:
    MEMBER
    ---------------------------------------------------
    /opt/oracle/oradata/ORCLCDB/redo03.log
    /opt/oracle/oradata/ORCLCDB/redo02.log
    /opt/oracle/oradata/ORCLCDB/redo01.log
  8. Melden Sie sich bei einer Oracle Data Guard-Befehlszeilenschnittstelle (DGMGRL) Session in der Standby-OCI-Datenbankinstanz mit dem Benutzernamen und Kennwort sys an.
    [oracle@droci admin]$ dgmgrl 
    DGMGRL> connect
    Username: sys
    Password:
    Die Ausgabe sieht wie folgt aus:
    .
    .
    .
    Welcome to DGMGRL, type "help" for information.
    Connected to "ORCLCDB_iad1s3"
    Connected as SYSDBA.
  9. Zeigen Sie die Konfiguration in der Standbydatenbank in OCI an.
    DGMGRL> show configuration;
    Die Ausgabe sieht wie folgt aus:
    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. Bearbeiten Sie die Standby-Datenbankinstanz in OCI, und setzen Sie den Status auf apply-off, und beenden Sie dann die Befehlszeilenschnittstelle.
    DGMGRL> edit database orclcdb_iad1s3 set state=apply-off;
    Succeeded.
    DGMGRL> exit
  11. Melden Sie sich bei der Standby-Datenbankinstanz in OCI an.
    [oracle@droci admin]$ sqlplus / as sysdba
  12. Zeigen Sie die Gruppennummer und Member der Logdatei an.
    SQL> select group#,member from v$logfile;
    Die Ausgabe sieht wie folgt aus:
        GROUP#   MEMBER
    --------------------------------------------------------------------
    	 3
    /opt/oracle/oradata/ORCLCDB/redo03.log
    
    	 2
    /opt/oracle/oradata/ORCLCDB/redo02.log
    
    	 1
              /opt/oracle/oradata/ORCLCDB/redo01.log
  13. Zeigt die Größe jeder Gruppe an.
    select bytes, group# from v$log;
    Die Ausgabe sieht wie folgt aus:
    BYTES     GROUP#
    ---------- ----------
     209715200	    1
     209715200	    3
     209715200	    2
    
  14. Fügen Sie die Standby-Logdateigruppen der Datenbank in OCI hinzu.
    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. Zeigen Sie die Gruppennummer und Member der Logdatei an.
    SQL> select group#,member from v$logfile;
    Die Ausgabe sieht wie folgt aus:
    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. Melden Sie sich bei einer Oracle Data Guard-Befehlszeilenschnittstelle (DGMGRL) Session in der Standby-OCI-Datenbankinstanz mit dem Benutzernamen und Kennwort sys an.
    [oracle@droci admin]$ dgmgrl 
    DGMGRL> connect
    Username: sys
    Password:
    .
    .
    .
    Welcome to DGMGRL, type "help" for information.
    Connected to "ORCLCDB_iad1s3"
    Connected as SYSDBA.
  17. Bearbeiten Sie die Standby-Datenbankinstanz in OCI, und setzen Sie den Status auf apply-on.
    DGMGRL> edit database orclcdb_iad1s3 set state=apply-on;
  18. Bearbeiten Sie die Standby-Datenbankinstanz in OCI, und setzen Sie den Transportstatus auf transport-on, und beenden Sie dann die Befehlszeilenschnittstelle.
    DGMGRL> edit database orclcdb_iad1s3 set state=transport-on;
    
    Succeeded.
    DGMGRL> exit
  19. Standby-Logdateien in der Standby-Datenbank auf OCI anzeigen.
    SQL> select * from v$logfile where type='STANDBY';
    Die Ausgabe sieht wie folgt aus:
    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. Redo-Logdateien in der Standby-Datenbank auf OCI anzeigen.
    SQL> select member from v$logfile where type != 'STANDBY';
    Die Ausgabe sieht wie folgt aus:
    MEMBER
    --------------------------------------------------------------------
    /opt/oracle/oradata/ORCLCDB/redo03.log
    /opt/oracle/oradata/ORCLCDB/redo02.log
    /opt/oracle/oradata/ORCLCDB/redo01.log
  21. Stellen Sie die Managed Standby-Datenbank wieder her.
    SQL> recover managed standby database cancel;
    Die Ausgabe sieht wie folgt aus:
    Media recovery complete
  22. Zeigen Sie Dateien mit dem Parameter convert an.
    SQL> show parameter convert;
    Die Ausgabe sieht wie folgt aus:
    NAME				     TYPE	 VALUE
    ------------------------------------ ----------- ------------------------------
    db_file_name_convert		     string
    log_file_name_convert		     string
    pdb_file_name_convert		     string
  23. Datenbankdateien anzeigen.
    select name from v$datafile;
    Die Ausgabe sieht wie folgt aus:
    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. Zeigen Sie die SCN-Änderungsnummer des Datenbanksystems an.
    SQL> select current_scn from v$database;
    Die Ausgabe sieht wie folgt aus:
    CURRENT_SCN
    -----------
        2906060
  25. Zeigen Sie die Details des Oracle Data Guard-Archivs an.
    SQL> SELECT ROLE, THREAD#, SEQUENCE#, ACTION FROM V$DATAGUARD_PROCESS;
    Die Ausgabe sieht wie folgt aus:
    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. Deaktivieren Sie das Recovery der Managed Standby-Datenbank mit der Logdatei.
    SQL> recover managed standby database using current logfile disconnect;
    Media recovery complete.
  27. Zeigen Sie die SCN-Änderungsnummer des Datenbanksystems an.
    SQL> select current_scn from v$database;
    Die Ausgabe sieht wie folgt aus:
    CURRENT_SCN
    -----------
        2906060
  28. Zeigt die Dateien mit dem Zielparameter an.
    SQL>show parameter dest;
    Die Ausgabe sieht wie folgt aus:
    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. Kommentare aus dem Recovery anzeigen.
    SQL> select comments from v$recovery_progress;
    Die Ausgabe sieht wie folgt aus:
    COMMENTS
    --------------------------------------------------------------------
    RCVID: 4165711446800375620
    SCN: 2907015
    
    COMMENTS
    --------------------------------------------------------------------
    RCVID: 12395680609799335065
    SCN: 2906061
  30. Recovery-Datum anzeigen.
    SQL> select START_TIME,comments from v$recovery_progress order by 1;
    Die Ausgabe sieht wie folgt aus:
    START_TIM
    ---------
    COMMENTS
    --------------------------------------------------------------------
    03-SEP-20
    03-SEP-20
    03-SEP-20
    RCVID: 2657984638848411078
    
    
    START_TIM
    ---------
    COMMENTS
    --------------------------------------------------------------------------------
    03-SEP-20