- Hybrid-DB-Topologie für eine On-Premise-Datenbank bereitstellen
- Die Konfiguration abschließen
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.
- 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
- 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;
- 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;
- 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
- Prüfen Sie den
dg_broker_start
-Wert für den Standbydatenbankhost. Es muss auffalse
gesetzt werden.SQL> show parameter dg_broker_start;
Die Ausgabe sieht wie folgt aus:NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ dg_broker_start boolean FALSE
- 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;
- 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;
- 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.
- Melden Sie sich bei dem primären Host als
sys
an.$ dgmgrl sys/sys password@net service name for primary database
- 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;
- 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;
- Aktivieren Sie die Konfiguration.
DGMGRL> enable configuration;
- 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.
- 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
- 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
- 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
- Fügen Sie für jedes
redo
-Log eine Standby-Logdateigruppe hinzu.Beispiel: Wenn Sie dreiredo
-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.
- 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.
- 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)
- 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
- 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.
- 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)
- 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
- Melden Sie sich bei der Standby-Datenbankinstanz in OCI an.
[oracle@droci admin]$ sqlplus / as sysdba
- 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
- 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
- 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.
- 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.
- 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.
- Bearbeiten Sie die Standby-Datenbankinstanz in OCI, und setzen Sie den Status auf
apply-on
.DGMGRL> edit database orclcdb_iad1s3 set state=apply-on;
- 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
- 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
- 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
- Stellen Sie die Managed Standby-Datenbank wieder her.
SQL> recover managed standby database cancel;
Die Ausgabe sieht wie folgt aus:Media recovery complete
- 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
- 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
- Zeigen Sie die SCN-Änderungsnummer des Datenbanksystems an.
SQL> select current_scn from v$database;
Die Ausgabe sieht wie folgt aus:CURRENT_SCN ----------- 2906060
- 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.
- Deaktivieren Sie das Recovery der Managed Standby-Datenbank mit der Logdatei.
SQL> recover managed standby database using current logfile disconnect;
Media recovery complete.
- Zeigen Sie die SCN-Änderungsnummer des Datenbanksystems an.
SQL> select current_scn from v$database;
Die Ausgabe sieht wie folgt aus:CURRENT_SCN ----------- 2906060
- 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
- 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
- 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