- Stellen Sie eine Multicloud-Disaster-Recovery-Topologie mit Oracle Database Service for Azure bereit
- Topologie bereitstellen
Topologie bereitstellen
Mit der RMAN-Klausel "from service" können Sie primäre Datenbankdateien im gesamten Netzwerk in einer Standbydatenbank zurückschreiben und wiederherstellen. Mit dieser Funktion können Sie eine Standbydatenbank anstelle des Befehls RMAN DUPLICATE DATABASE
instanziieren. Sie ist intuitiver und weniger fehleranfällig, wodurch Zeit gespart wird.
Hinweis:
Klicken Sie auf Kopieren, um das Befehlsbeispiel zum Einfügen in die Befehlszeile in der Zwischenablage zu speichern. Stellen Sie sicher, dass Sievariables
durch für Ihre Implementierung spezifische Werte ersetzen.
Standby-Datenbank mit RMAN erstellen
Erstellen Sie mit Oracle Recovery Manager (RMAN) die Standbydatenbank aus der aktiven Primärdatenbank. Alternativ können Sie ein Restore aus einem Backup der Primärdatenbank ausführen.
- Stellen Sie eine Verbindung zur Datenbank her, und starten Sie die Datenbank im
NOMOUNT
-Modus.$ rman target /
startup nomount;
- Schreiben Sie die Standbykontrolldatei aus dem Primärservice zurück. In diesem Beispiel ist DBUKS_898_LHR die Primärdatenbank:
Die Ausgabe sollte folgendermaßen aussehen:restore standby controlfile from service 'DBUKS_898_LHR';
Starting restore at 04-JUL-23 using target database control file instead of recovery catalog allocated channel: ORA_DISK_1 channel ORA_DISK_1: SID=28 device type=DISK channel ORA_DISK_1: starting datafile backup set restore channel ORA_DISK_1: using network backup set from service DBUKS_898_LHR channel ORA_DISK_1: restoring control file channel ORA_DISK_1: restore complete, elapsed time: 00:00:04 output file name=+RECO/DBUKS_R2J_AMS/CONTROLFILE/current.256.1139953721 Finished restore at 04-JUL-23
- Mount the database:
Die Ausgabe sollte folgendermaßen aussehen:alter database mount;
released channel: ORA_DISK_1 Statement processed
- Ändern Sie als Root auf der OCI-Instanz die Berechtigungen des Oracle-Verzeichnisses, um sie zu öffnen (
chmod 777
).cd /opt/
ls -ltra
Folgendes sollte angezeigt werden:drwxr-xr-x 10 root root 4096 Jun 20 03:52 oracle
Geben Sie Folgendes ein:[root@ldbuksdr]# chmod 777 oracle/
ls -ltra
Folgendes sollte angezeigt werden:drwxrwxrwx 10 root root 4096 Jun 20 03:52 oracle
- Schreiben Sie die Datenbank aus der Primärdatenbank zurück (DBUKS_898_LHR):
Die Ausgabe sollte folgendermaßen aussehen:restore database from service ' DBUKS_898_LHR ';
Starting restore at 04-JUL-23 using target database control file instead of recovery catalog allocated channel: ORA_SBT_TAPE_1 channel ORA_SBT_TAPE_1: SID=162 device type=SBT_TAPE channel ORA_SBT_TAPE_1: Oracle Database Backup Service Library VER=19.0.0.1 allocated channel: ORA_DISK_1 channel ORA_DISK_1: SID=28 device type=DISK channel ORA_SBT_TAPE_1: starting datafile backup set restore channel ORA_SBT_TAPE_1: using network backup set from service DBUKS_898_LHR channel ORA_SBT_TAPE_1: specifying datafile(s) to restore from backup set channel ORA_SBT_TAPE_1: restoring datafile 00001 to +DATA/DBUKS_898_LHR/DATAFILE/system.261.1139943103 channel ORA_DISK_1: starting datafile backup set restore channel ORA_DISK_1: using network backup set from service DBUKS_898_LHR channel ORA_DISK_1: specifying datafile(s) to restore from backup set channel ORA_DISK_1: restoring datafile 00003 to +DATA/DBUKS_898_LHR/DATAFILE/sysaux.268.1139943085 channel ORA_SBT_TAPE_1: restore complete, elapsed time: 00:00:38 channel ORA_SBT_TAPE_1: starting datafile backup set restore channel ORA_SBT_TAPE_1: using network backup set from service DBUKS_898_LHR channel ORA_SBT_TAPE_1: specifying datafile(s) to restore from backup set channel ORA_SBT_TAPE_1: restoring datafile 00004 to +DATA/DBUKS_898_LHR/DATAFILE/undotbs1.260.1139943133 channel ORA_SBT_TAPE_1: restore complete, elapsed time: 00:00:04 channel ORA_SBT_TAPE_1: starting datafile backup set restore channel ORA_SBT_TAPE_1: using network backup set from service DBUKS_898_LHR channel ORA_SBT_TAPE_1: specifying datafile(s) to restore from backup set channel ORA_SBT_TAPE_1: restoring datafile 00005 to +DATA/DBUKS_898_LHR/F9D6EA8CCAA09630E0530905F40A5107/DATAFILE/system.264.1139942759 channel ORA_DISK_1: restore complete, elapsed time: 00:00:49 channel ORA_DISK_1: starting datafile backup set restore channel ORA_DISK_1: using network backup set from service DBUKS_898_LHR channel ORA_DISK_1: specifying datafile(s) to restore from backup set channel ORA_DISK_1: restoring datafile 00006 to +DATA/DBUKS_898_LHR/F9D6EA8CCAA09630E0530905F40A5107/DATAFILE/sysaux.265.1139942759 channel ORA_SBT_TAPE_1: restore complete, elapsed time: 00:00:25 channel ORA_SBT_TAPE_1: starting datafile backup set restore channel ORA_SBT_TAPE_1: using network backup set from service DBUKS_898_LHR channel ORA_SBT_TAPE_1: specifying datafile(s) to restore from backup set channel ORA_SBT_TAPE_1: restoring datafile 00007 to +DATA/DBUKS_898_LHR/F9D6EA8CCAA09630E0530905F40A5107/DATAFILE/undotbs1.266.1139942759 channel ORA_DISK_1: restore complete, elapsed time: 00:00:18 channel ORA_DISK_1: starting datafile backup set restore channel ORA_DISK_1: using network backup set from service DBUKS_898_LHR channel ORA_DISK_1: specifying datafile(s) to restore from backup set channel ORA_DISK_1: restoring datafile 00008 to +DATA/DBUKS_898_LHR/FE812140C0716067E053F6005A0AEB32/DATAFILE/system.273.1139943583 channel ORA_SBT_TAPE_1: restore complete, elapsed time: 00:00:04 channel ORA_SBT_TAPE_1: starting datafile backup set restore channel ORA_SBT_TAPE_1: using network backup set from service DBUKS_898_LHR channel ORA_SBT_TAPE_1: specifying datafile(s) to restore from backup set channel ORA_SBT_TAPE_1: restoring datafile 00009 to +DATA/DBUKS_898_LHR/FE812140C0716067E053F6005A0AEB32/DATAFILE/sysaux.271.1139943599 channel ORA_SBT_TAPE_1: restore complete, elapsed time: 00:00:16 channel ORA_SBT_TAPE_1: starting datafile backup set restore channel ORA_SBT_TAPE_1: using network backup set from service DBUKS_898_LHR channel ORA_SBT_TAPE_1: specifying datafile(s) to restore from backup set channel ORA_SBT_TAPE_1: restoring datafile 00010 to +DATA/DBUKS_898_LHR/FE812140C0716067E053F6005A0AEB32/DATAFILE/undotbs1.270.1139943611 channel ORA_DISK_1: restore complete, elapsed time: 00:00:20 channel ORA_DISK_1: starting datafile backup set restore channel ORA_DISK_1: using network backup set from service DBUKS_898_LHR channel ORA_DISK_1: specifying datafile(s) to restore from backup set channel ORA_DISK_1: restoring datafile 00011 to +DATA/DBUKS_898_LHR/DATAFILE/users.269.1139943873 channel ORA_SBT_TAPE_1: restore complete, elapsed time: 00:00:02 channel ORA_SBT_TAPE_1: starting datafile backup set restore channel ORA_SBT_TAPE_1: using network backup set from service DBUKS_898_LHR channel ORA_SBT_TAPE_1: specifying datafile(s) to restore from backup set channel ORA_SBT_TAPE_1: restoring datafile 00012 to +DATA/DBUKS_898_LHR/FE812140C0716067E053F6005A0AEB32/DATAFILE/users.274.1139943875 channel ORA_DISK_1: restore complete, elapsed time: 00:00:02 channel ORA_SBT_TAPE_1: restore complete, elapsed time: 00:00:02 Finished restore at 04-JUL-23
exit ;
Standbydatenbank validieren
Als Nächstes müssen Sie die Standbydatenbank validieren.
- Zeigen Sie den Datenbanknamen und die Rolle an. Geben Sie in der Eingabeaufforderung
SQL>
Folgendes ein:select FORCE_LOGGING, FLASHBACK_ON, OPEN_MODE, DATABASE_ROLE, DATAGUARD_BROKER, PROTECTION_MODE from v$database ;
Die Antwort sollte in etwa wie folgt angezeigt werden:
FORCE_LOGGING FLASHBACK_ON OPEN_MODE DATABASE_ROLE DATAGUARD_BROKER PROTECTION_MODE -------------------- ------------------ --------------- ------------------- ------------------------ ---------------------------- YES NO MOUNTED PHYSICAL STANDBY DISABLED MAXIMUM PERFORMANCE
- Zeigen Sie den Archivierungsprozess, die Status-Thread-Nummer und die Folgenummer für die Datenbank an:
select sysdate,process,status,thread#,sequence#,block# from v$managed_standby where status!='IDLE';
Die Antwort sollte in etwa wie folgt angezeigt werden:
04-JUL-23 ARCH CONNECTED 0 0 0 04-JUL-23 DGRD ALLOCATED 0 0 0 04-JUL-23 DGRD ALLOCATED 0 0 0 04-JUL-23 ARCH CONNECTED 0 0 0 04-JUL-23 ARCH CONNECTED 0 0 0 04-JUL-23 ARCH CONNECTED 0 0 0
Geben Sie anschließend Folgendes ein:
select distinct process from gv$managed_standby;
Die Antwort sollte in etwa wie folgt angezeigt werden:
PROCESS --------- ARCH DGRD
Standbylogdateien zur Primär- und Standbydatenbank hinzufügen
SQL>
für die folgenden Schritte.
- Fügen Sie zunächst die Standbylogdateien zur Primärdatenbank hinzu.
- Geben Sie Folgendes ein:
select group#, type, member from v$logfile;
Sie sehen eine ähnliche Antwort wie diese:
GROUP# TYPE MEMBER ---------- ------- --------------------------------------------------------- 3 ONLINE +RECO/DBUKS_898_LHR/ONLINELOG/group_3.259.1139942665 2 ONLINE +RECO/DBUKS_898_LHR/ONLINELOG/group_2.258.1139942665 1 ONLINE +RECO/DBUKS_898_LHR/ONLINELOG/group_1.257.1139942665
- Geben Sie Folgendes ein:
select bytes, group# from v$log;
Sie sehen eine ähnliche Antwort wie diese:1073741824 1 1073741824 3 1073741824 2
- Geben Sie diese Reihe von Befehlen ein:
SQL> alter database add standby logfile thread 1 group 5 ('+RECO') size 1073741824;
alter database add standby logfile thread 1 group 6 ('+RECO') size 1073741824;
alter database add standby logfile thread 1 group 7 ('+RECO') size 1073741824;
Die Antwort für jeden sollte sein:Database altered
- Geben Sie Folgendes ein:
select group#, type, member from v$logfile;
Sie sehen eine ähnliche Antwort wie diese:GROUP# TYPE MEMBER ---------- ------- ------------------------------------------------------- 3 ONLINE +RECO/DBUKS_898_LHR/ONLINELOG/group_3.259.1139942665 2 ONLINE +RECO/DBUKS_898_LHR/ONLINELOG/group_2.258.1139942665 1 ONLINE +RECO/DBUKS_898_LHR/ONLINELOG/group_1.257.1139942665 4 STANDBY +RECO/DBUKS_898_LHR/ONLINELOG/group_4.432.1141789993 5 STANDBY +RECO/DBUKS_898_LHR/ONLINELOG/group_5.431.1141790001 6 STANDBY +RECO/DBUKS_898_LHR/ONLINELOG/group_6.430.1141790011 7 STANDBY +RECO/DBUKS_898_LHR/ONLINELOG/group_7.430.1141790017
- Archivieren Sie die Logliste:
archive log list
- Geben Sie Folgendes ein:
- Fügen Sie nun die Standby-Logdateien zur Standby-Datenbank hinzu.
- Geben Sie Folgendes ein:
select group#, type, member from v$logfile;
Sie sehen eine ähnliche Antwort wie diese:GROUP# TYPE MEMBER ---------- ------- ------------------------------------------------------ 3 ONLINE +RECO/DBUKS_R2J_AMS/ONLINELOG/group_3.489.1141280529 2 ONLINE +RECO/DBUKS_R2J_AMS/ONLINELOG/group_2.488.1141280519 1 ONLINE +RECO/DBUKS_R2J_AMS/ONLINELOG/group_1.487.1141280511
- Geben Sie Folgendes ein:
select bytes, group# from v$log;
Sie sehen eine ähnliche Antwort wie diese:1073741824 1 1073741824 3 1073741824 2
- Geben Sie diese Reihe von Befehlen ein:
alter database add standby logfile thread 1 group 4 ('+RECO') size 1073741824;
alter database add standby logfile thread 1 group 5 ('+RECO') size 1073741824;
alter database add standby logfile thread 1 group 6 ('+RECO') size 1073741824;
alter database add standby logfile thread 1 group 7 ('+RECO') size 1073741824;
Die Antwort für jeden Befehl sollte lauten:Database altered
- Geben Sie Folgendes ein:
select group#, type, member from v$logfile;
Sie sehen eine ähnliche Antwort wie diese:GROUP# TYPE MEMBER ---------- ------- ------------------------------------------------------ 3 ONLINE +RECO/DBUKS_898_LHR/ONLINELOG/group_3.489.1141280529 2 ONLINE +RECO/DBUKS_898_LHR/ONLINELOG/group_2.488.1141280519 1 ONLINE +RECO/DBUKS_898_LHR/ONLINELOG/group_1.487.1141280511 4 STANDBY +DATA/DBUKS_R2J_AMS/ONLINELOG/group_4.294.1141283919 5 STANDBY +DATA/DBUKS_R2J_AMS/ONLINELOG/group_5.295.1141283929 6 STANDBY +DATA/DBUKS_R2J_AMS/ONLINELOG/group_6.296.1141283937 7 STANDBY +DATA/DBUKS_R2J_AMS/ONLINELOG/group_7.296.1141283938
- Geben Sie Folgendes ein:
- Löschen Sie die Logdateien mit dem eindeutigen Namen der Primärdatenbank. Von den drei Logdateien ist eine der Dateien das aktuelle Log. Daher können Sie sie zu diesem Zeitpunkt nicht löschen. Diese Datei wird zu einem späteren Zeitpunkt gelöscht und neu erstellt.
- Geben Sie Folgendes ein:
alter database drop logfile group 1;
Sie sehen eine ähnliche Antwort wie diese:alter database drop logfile group 1 * ERROR at line 1: ORA-01623: log 1 is current log for instance dbuks (thread 1) - cannot drop ORA-00312: online log 1 thread 1: '+RECO/DBUKS_898_LHR/ONLINELOG/group_1.257.1139942665'
- Geben Sie Folgendes ein:
alter database drop logfile group 2;
alter database drop logfile group 3;
Die Antwort für jeden sollte sein:Database altered
- Geben Sie Folgendes ein:
- Erstellen Sie die Logdateien neu, indem Sie die folgenden Befehle eingeben:
alter database add logfile thread 1 group 2 ('+RECO') size 1073741824;
alter database add logfile thread 1 group 3 ('+RECO') size 1073741824;
Die Antwort für jeden sollte sein:Database altered.
Oracle Data Guard Broker konfigurieren
- Prüfen Sie den Wert dg_broker_start für die Primär- und Standbydatenbank. Stellen Sie sicher, dass es auf "True" gesetzt ist. Geben Sie in der SQL-Befehlszeile Folgendes ein:
show parameter dg_broker_start;
Die Ausgabe sollte folgendermaßen aussehen:NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ dg_broker_start boolean TRUE
Wenn dg_broker_start aufFALSE
gesetzt ist, setzen Sie den Parameter aufTRUE
, bevor Sie mit den nächsten Schritten fortfahren. Geben Sie Folgendes ein:alter system set dg_broker_start=true;
Die Ausgabe sollte folgendermaßen aussehen:select pname from v$process where pname like 'DMON%';
PNAME ----- DMON
- Prüfen Sie die Oracle Data Guard-Dateien für die Primärdatenbank:
show parameter dg_broker_config_file1;
Wenn Sie Oracle RAC oder Oracle ASM verwenden, können Sie den Speicherort der Konfigurationsdatei ändern. Beispiel:show parameter dg_broker_config_file2;
alter system set dg_broker_config_file1=broker_config_file_location;
alter system set dg_broker_config_file2=broker_config_file_location;
- Registrieren Sie die primäre und die Standby-Datenbank:Mit der Oracle Data Guard-Befehlszeilenschnittstelle (DGMGRL) können Sie die Primärdatenbank registrieren und das Standbydatenbankprofil zur Brokerkonfiguration hinzufügen:
- Melden Sie sich beim primären Host als sys an.
dgmgrl sys/password@net_service_name_for_primary
- Erstellen Sie eine Konfiguration, die den Namen der primären Datenbank verwendet.
CREATE CONFIGURATION configuration_name AS PRIMARY DATABASE IS primary_database_name CONNECT IDENTIFIER IS primary_database_name;
Die Ausgabe sollte folgendermaßen aussehen:CREATE CONFIGURATION dbuks_898_lhr_dbuks_r2j_ams AS PRIMARY DATABASE IS dbuks_898_lhr CONNECT IDENTIFIER IS dbuks_898_lhr;
- Fügen Sie die Standby-Datenbank hinzu.
Beispiel:ADD DATABASE standby unique database name AS CONNECT IDENTIFIER IS standby unique database name MAINTAINED AS PHYSICAL;
ADD DATABASE dbuks_r2j_ams AS CONNECT IDENTIFIER IS dbuks_r2j_ams MAINTAINED AS PHYSICAL;
Die Ausgabe sollte folgendermaßen aussehen:Database "dbuks_r2j_ams" added
- Melden Sie sich beim primären Host als sys an.
- Aktivieren Sie die Konfiguration:
enable configuration;
- Zeigen Sie die Konfiguration an:
- Geben Sie Folgendes ein:
show configuration;
Hinweis:
Wenn Sie eine Warnung erhalten, dass die Apply Lag nicht bestimmt werden konnte, melden Sie sich über sqlplus bei der primären Datenbank an, und führen Sie einige Log Switches aus.Configuration - dbuks_898_lhr_dbuks_r2j_ams Protection Mode: MaxPerformance Members: dbuks_898_lhr - Primary database dbuks_r2j_ams - Physical standby database Fast-Start Failover: Disabled Configuration Status: SUCCESS (status updated 36 seconds ago)
- Zeigen Sie die Konfiguration für die Primärdatenbank an (in diesem Beispiel dbuks_898_lhr):
Eine Antwort wie die Folgende wird angezeigt:show database dbuks_898_lhr
Database - dbuks_898_lhr Role: PRIMARY Intended State: TRANSPORT-ON Instance(s): dbuks Database Status: SUCCESS
- Zeigen Sie die Konfiguration für die Standbydatenbank an (in diesem Beispiel dbuks_r2j_ams):
Eine Antwort wie die Folgende wird angezeigt:show database dbuks_r2j_ams
Database - dbuks_r2j_ams Role: PHYSICAL STANDBY Intended State: APPLY-ON Transport Lag: 0 seconds (computed 1 second ago) Apply Lag: 0 seconds (computed 0 seconds ago) Average Apply Rate: 59.00 KByte/s Real Time Query: ON Instance(s): dbuks Database Status: SUCCESS
- Geben Sie Folgendes ein:
Replikation bestätigen
Die Standbydatenbank sollte nun mit der Anwendung des von der Primärdatenbank empfangenen Redo beginnen.
SQL>
für die folgenden Schritte.
- Prüfen Sie den MRP-Prozess:
- Geben Sie Folgendes ein:
select sysdate, process, status, thread#, sequence#, block# from v$managed_standby where status!='IDLE';
Die Ausgabe sollte folgendermaßen aussehen:SYSDATE PROCESS STATUS THREAD# SEQUENCE# BLOCK# --------- --------- ------------ ---------- ---------- ---------- 10-JUL-23 DGRD ALLOCATED 0 0 0 10-JUL-23 ARCH CONNECTED 0 0 0 10-JUL-23 DGRD ALLOCATED 0 0 0 10-JUL-23 ARCH CONNECTED 0 0 0 10-JUL-23 ARCH CONNECTED 0 0 0 10-JUL-23 ARCH CONNECTED 0 0 0 10-JUL-23 RFS RECEIVING 1 417 2413 10-JUL-23 MRP0 APPLYING_LOG 1 417 2412
- Zeigen Sie die Data Guard-Prozesse an.
Die Ausgabe sollte folgendermaßen aussehen:select distinct process from gv$managed_standby;
PROCESS --------- DGRD RFS MRP0 ARCH
- Die Standby-Datenbank hat jetzt damit begonnen, die Redo-Logs anzuwenden. Führen Sie einige Log Switches in der primären Datenbank aus, und bestätigen Sie die Standby-Datenbank erneut:
Die Ausgabe sollte folgendermaßen aussehen:select sysdate, process, status, thread#, sequence#, block#from v$managed_standbywhere status!='IDLE';
SYSDATE PROCESS STATUS THREAD# SEQUENCE# BLOCK# --------- --------- ------------ ---------- ---------- ---------- 04-JUL-23 DGRD ALLOCATED 0 0 0 04-JUL-23 ARCH CONNECTED 0 0 0 04-JUL-23 DGRD ALLOCATED 0 0 0 04-JUL-23 ARCH CLOSING 1 253 1 04-JUL-23 ARCH CONNECTED 0 0 0 04-JUL-23 ARCH CLOSING 1 252 1 04-JUL-23 MRP0 APPLYING_LOG 1 254 17 04-JUL-23 RFS RECEIVING 1 254 18
- Archivieren Sie die Logliste in der Primärdatenbank:
Die Ausgabe sollte folgendermaßen aussehen:archive log list
Geben Sie anschließend Folgendes ein:Database log mode Archive Mode Automatic archival Enabled Archive destination USE_DB_RECOVERY_FILE_DEST Oldest online log sequence 415 Next log sequence to archive 417 Current log sequence 417
alter system switch logfile;
Sie sollten diese Antwort erhalten:System altered.
Geben Sie Folgendes ein:/
Folgendes sollte angezeigt werden:System altered.
Archivieren Sie jetzt die Logliste:
Sie sollten diese Antwort erhalten:archive log list
Database log mode Archive Mode Automatic archival Enabled Archive destination USE_DB_RECOVERY_FILE_DEST Oldest online log sequence 417 Next log sequence to archive 419 Current log sequence 419
- Archivieren Sie die Log-Liste der Standbydatenbank. Geben Sie Folgendes ein:
select sysdate, process, status, thread#, sequence#, block# from v$managed_standby where status!='IDLE';
Sie sollten diese Antwort erhalten:
SYSDATE PROCESS STATUS THREAD# SEQUENCE# BLOCK# --------- --------- ------------ ---------- ---------- ---------- 10-JUL-23 DGRD ALLOCATED 0 0 0 10-JUL-23 ARCH CONNECTED 0 0 0 10-JUL-23 DGRD ALLOCATED 0 0 0 10-JUL-23 ARCH CLOSING 1 418 1 10-JUL-23 ARCH CONNECTED 0 0 0 10-JUL-23 ARCH CLOSING 1 417 2048 10-JUL-23 RFS RECEIVING 1 419 59 10-JUL-23 MRP0 APPLYING_LOG 1 419 58
- Geben Sie Folgendes ein:
- Aktivieren Sie Flashback in der Standby-Datenbank:
- Geben Sie Folgendes ein:
Nach jedem Befehl sollte Folgendes angezeigt werden:ALTER DATABASE RECOVER MANAGED STANDBY DATABASE cancel; SQL> alter database flashback on;
Database altered
- Stellen Sie sicher, dass das Datenbank-Flashback aktiviert (ein) ist.
Die Ausgabe sollte folgendermaßen aussehen:select flashback_on from v$database;
FLASHBACK_ON ------------------ YES
- Geben Sie anschließend Folgendes ein:
Folgendes sollte angezeigt werden:recover managed standby database using current logfile disconnect from session;
Media recovery complete.
- Geben Sie Folgendes ein:
- Zeigen Sie die Datenbankdetails an:
Die Ausgabe sollte folgendermaßen aussehen:select FORCE_LOGGING, FLASHBACK_ON, OPEN_MODE, DATABASE_ROLE, DATAGUARD_BROKER, PROTECTION_MODE from v$database ;
FORCE_LOGGING FLASHBACK_ON OPEN_MODE DATABASE_ROLE DATAGUARD_BROKER PROTECTION_MODE ---------------------------------------------------------- --------------- ----- ----------------------- ----------------------------- YES YES MOUNTED PHYSICAL STANDBY ENABLED MAXIMUM PERFORMANCE
- Mit dem Utility Server Control (srvctl) können Sie die Standbydatenbank stoppen:
Die Ausgabe sollte folgendermaßen aussehen:srvctl stop database -d db_unique_name
srvctl stop database -d dbuks_r2j_ams
- Starten Sie die Standby-Datenbank mit dem Utility Server Control:
Die Ausgabe sollte folgendermaßen aussehen:srvctl start database -d db_unique_name
srvctl start database -d dbuks_r2j_ams
- Zeigen Sie die Datenbankdetails an:
Die Ausgabe sollte folgendermaßen aussehen:select FORCE_LOGGING, FLASHBACK_ON, OPEN_MODE, DATABASE_ROLE, DATAGUARD_BROKER, PROTECTION_MODE from v$database ;
FORCE_LOGGING FLASHBACK_ON OPEN_MODE DATABASE_ROLE DATAGUARD_BROKER PROTECTION_MODE ----------------------------------------------------------------------- -------------------- ----------------------- YES YES READ ONLY WITH APPLY PHYSICAL STANDBY ENABLED MAXIMUM PERFORMANCE
- Sie können nun weitere Logfile Switches von der primären Datenbank angeben und sicherstellen, dass das Redo auf die Standby-Datenbank angewendet wird.
- Erstellen Sie die ausstehende Logdatei neu, die mit dem primären eindeutigen Namen vorhanden ist. Geben Sie die folgenden Befehle ein:
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE cancel;
alter database drop logfile group 1;
Nach jedem Befehl sollte Folgendes angezeigt werden:alter database add standby logfile thread 1 group 1 ('+RECO') size 1073741824;
Geben Sie abschließend Folgendes ein:Database altered.
Folgendes sollte angezeigt werden:recover managed standby database using current logfile disconnect from session;
Media recovery complete.