
Prerequisite
you need to sestup datagaurd on oracle colud follow this documnet
https://dbatracker.com/2020/06/02/create-19c-data-guard-on-oracle-cloud/
tnsnames.ora
make sure these tns entries are present on prod and dr servers db home
TRU19C =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = cloud-node01.subnet.vcn.oraclevcn.com)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = TRU19c)
)
)
TRU19c_DR =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = cloud-dr-node01.subnet.vcn.oraclevcn.com)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = TRU19c_DR)
)
)
configiration on primary side
make sure standby redologs are added
SQL> select name,open_mode,database_role from v$database;
NAME OPEN_MODE DATABASE_ROLE
--------- -------------------- ----------------
TRU19C READ WRITE PRIMARY
SQL> select GROUP#,THREAD#, bytes/1024/1024 MB from v$log order by GROUP#,THREAD#;
GROUP# THREAD# MB
---------- ---------- ----------
1 1 200
2 1 200
3 1 200
SQL> select GROUP#,THREAD#, bytes/1024/1024 MB from v$standby_log order by GROUP#,THREAD#;
GROUP# THREAD# MB
---------- ---------- ----------
4 0 200
5 0 200
6 0 200
SQL> set lines 150
SQL> col member for a50
SQL> select group#,member,type,status from v$logfile;
GROUP# MEMBER TYPE STATUS
---------- -------------------------------------------------- ------- -------
3 /u01/app/oracle/oradata/TRU19C/redo03.log ONLINE
2 /u01/app/oracle/oradata/TRU19C/redo02.log ONLINE
1 /u01/app/oracle/oradata/TRU19C/redo01.log ONLINE
4 /u01/app/oracle/oradata/TRU19C/redo04.log STANDBY
5 /u01/app/oracle/oradata/TRU19C/redo05.log STANDBY
6 /u01/app/oracle/oradata/TRU19C/redo06.log STANDBY
6 rows selected.
configuration on standby side
make sure standby redo logs are added
SQL> select name,open_mode,database_role from v$database;
NAME OPEN_MODE DATABASE_ROLE
--------- -------------------- ----------------
TRU19C MOUNTED PHYSICAL STANDBY
SQL> select GROUP#,THREAD#, bytes/1024/1024 MB from v$log order by GROUP#,THREAD#;
GROUP# THREAD# MB
---------- ---------- ----------
1 1 200
2 1 200
3 1 200
SQL> select GROUP#,THREAD#, bytes/1024/1024 MB from v$standby_log order by GROUP#,THREAD#;
GROUP# THREAD# MB
---------- ---------- ----------
4 1 200
5 1 200
6 0 200
SQL> set lines 150
SQL> col member for a50
SQL> select group#,member,type,status from v$logfile;
GROUP# MEMBER TYPE STATUS
---------- -------------------------------------------------- ------- -------
3 /u01/app/oracle/oradata/TRU19C_DR/redo03.log ONLINE
2 /u01/app/oracle/oradata/TRU19C_DR/redo02.log ONLINE
1 /u01/app/oracle/oradata/TRU19C_DR/redo01.log ONLINE
4 /u01/app/oracle/oradata/TRU19C_DR/redo04.log STANDBY
5 /u01/app/oracle/oradata/TRU19C_DR/redo05.log STANDBY
6 /u01/app/oracle/oradata/TRU19C_DR/redo06.log STANDBY
6 rows selected.
setup broker on prod side
setup broker parameters on prod and standby
SQL> select name,open_mode,database_role from v$database;
NAME OPEN_MODE DATABASE_ROLE
--------- -------------------- ----------------
TRU19C READ WRITE PRIMARY
SQL> sho parameter dg_broker_start
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
dg_broker_start boolean FALSE
SQL> ALTER SYSTEM SET dg_broker_start=true;
System altered.
SQL> sho parameter broker
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
connection_brokers string ((TYPE=DEDICATED)(BROKERS=1)),
((TYPE=EMON)(BROKERS=1))
dg_broker_config_file1 string /u01/app/oracle/product/19c/db
home_1/dbs/dr1TRU19c.dat
dg_broker_config_file2 string /u01/app/oracle/product/19c/db
home_1/dbs/dr2TRU19c.dat
dg_broker_start boolean TRUE
use_dedicated_broker boolean FALSE
dg_broker_config_file1 and dg_broker_config_file2 were already there so i skipped adding them again if you do not have them then use below steps on both primary and standby_log
ALTER SYSTEM SET DG_BROKER_CONFIG_FILE1='/u01/app/oracle/product/19c/dbhome_1/dbs/dr1TRU19c.dat' SCOPE=BOTH sid='*';
ALTER SYSTEM SET DG_BROKER_CONFIG_FILE2='/u01/app/oracle/product/19c/dbhome_1/dbs/dr2TRU19c.dat' SCOPE=BOTH sid='*';
setup broker on standby side
SQL> select name,open_mode,database_role from v$database;
NAME OPEN_MODE DATABASE_ROLE
--------- -------------------- ----------------
TRU19C MOUNTED PHYSICAL STANDBY
SQL> SQL> ALTER SYSTEM SET dg_broker_start=true;
System altered.
SQL> sho parameter broker
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
connection_brokers string ((TYPE=DEDICATED)(BROKERS=1)),
((TYPE=EMON)(BROKERS=1))
dg_broker_config_file1 string /u01/app/oracle/product/19c/db
home_1/dbs/dr1TRU19c_DR.dat
dg_broker_config_file2 string /u01/app/oracle/product/19c/db
home_1/dbs/dr2TRU19c_DR.dat
dg_broker_start boolean TRUE
use_dedicated_broker boolean FALSE
dg_broker_config_file1 and dg_broker_config_file2 were already there so i skipped adding them again if you do not have them then use below steps on both primary and standby_log
ALTER SYSTEM SET DG_BROKER_CONFIG_FILE1='/u01/app/oracle/product/19c/dbhome_1/dbs/dr1TRU19c_DR.dat' SCOPE=BOTH sid='*';
ALTER SYSTEM SET DG_BROKER_CONFIG_FILE2='/u01/app/oracle/product/19c/dbhome_1/dbs/dr2TRU19c_DR.dat' SCOPE=BOTH sid='*';
create configuration
on primary side
[oracle@cloud-node01 ~]$ dgmgrl
DGMGRL for Linux: Release 19.0.0.0.0 - Production on Fri Jun 19 01:27:42 2020
Version 19.7.0.0.0
Copyright (c) 1982, 2019, Oracle and/or its affiliates. All rights reserved.
Welcome to DGMGRL, type "help" for information.
DGMGRL> connect sys/tru19#123@TRU19c
Connected to "TRU19c"
Connected as SYSDBA.
DGMGRL> CREATE CONFIGURATION my_dg_config AS PRIMARY DATABASE IS TRU19c CONNECT IDENTIFIER IS TRU19c;
Configuration "my_dg_config" created with primary database "tru19c"
DGMGRL> show configuration;
Configuration - my_dg_config
Protection Mode: MaxPerformance
Members:
tru19c - Primary database
Fast-Start Failover: Disabled
Configuration Status:
DISABLED
add standby database in configuration
DGMGRL> ADD DATABASE 'TRU19c_DR' as CONNECT IDENTIFIER IS TRU19c_DR;
Database "TRU19c_DR" added
DGMGRL> show configuration;
Configuration - my_dg_config
Protection Mode: MaxPerformance
Members:
tru19c - Primary database
TRU19c_DR - Physical standby database
Fast-Start Failover: Disabled
Configuration Status:
DISABLED
DGMGRL> enable configuration;
Enabled.
DGMGRL> show configuration;
Configuration - my_dg_config
Protection Mode: MaxPerformance
Members:
tru19c - Primary database
TRU19c_DR - Physical standby database
Fast-Start Failover: Disabled
Configuration Status:
SUCCESS (status updated 60 seconds ago)
verify properties
DGMGRL> show database verbose TRU19c
Database - tru19c
Role: PRIMARY
Intended State: TRANSPORT-ON
Instance(s):
TRU19c
Properties:
DGConnectIdentifier = 'tru19c'
ObserverConnectIdentifier = ''
FastStartFailoverTarget = ''
PreferredObserverHosts = ''
LogShipping = 'ON'
RedoRoutes = ''
LogXptMode = 'ASYNC'
DelayMins = '0'
Binding = 'optional'
MaxFailure = '0'
ReopenSecs = '300'
NetTimeout = '30'
RedoCompression = 'DISABLE'
PreferredApplyInstance = ''
ApplyInstanceTimeout = '0'
ApplyLagThreshold = '30'
TransportLagThreshold = '30'
TransportDisconnectedThreshold = '30'
ApplyParallel = 'AUTO'
ApplyInstances = '0'
StandbyFileManagement = ''
ArchiveLagTarget = '0'
LogArchiveMaxProcesses = '0'
LogArchiveMinSucceedDest = '0'
DataGuardSyncLatency = '0'
LogArchiveTrace = '0'
LogArchiveFormat = ''
DbFileNameConvert = ''
LogFileNameConvert = ''
ArchiveLocation = ''
AlternateLocation = ''
StandbyArchiveLocation = ''
StandbyAlternateLocation = ''
InconsistentProperties = '(monitor)'
InconsistentLogXptProps = '(monitor)'
LogXptStatus = '(monitor)'
SendQEntries = '(monitor)'
RecvQEntries = '(monitor)'
HostName = 'cloud-node01'
StaticConnectIdentifier = '(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=cloud-node01.subnet.vcn.oraclevcn.com)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=TRU19c_DGMGRL)(INSTANCE_NAME=TRU19c)(SERVER=DEDICATED)))'
TopWaitEvents = '(monitor)'
SidName = '(monitor)'
Log file locations:
Alert log : /u01/app/oracle/diag/rdbms/tru19c/TRU19c/trace/alert_TRU19c.log
Data Guard Broker log : /u01/app/oracle/diag/rdbms/tru19c/TRU19c/trace/drcTRU19c.log
Database Status:
SUCCESS
DGMGRL> show database verbose TRU19c_DR
Database - TRU19c_DR
Role: PHYSICAL STANDBY
Intended State: APPLY-ON
Transport Lag: 0 seconds (computed 1 second ago)
Apply Lag: 0 seconds (computed 1 second ago)
Average Apply Rate: 4.00 KByte/s
Active Apply Rate: 614.00 KByte/s
Maximum Apply Rate: 618.00 KByte/s
Real Time Query: OFF
Instance(s):
TRU19c_DR
Properties:
DGConnectIdentifier = 'tru19c_dr'
ObserverConnectIdentifier = ''
FastStartFailoverTarget = ''
PreferredObserverHosts = ''
LogShipping = 'ON'
RedoRoutes = ''
LogXptMode = 'ASYNC'
DelayMins = '0'
Binding = 'OPTIONAL'
MaxFailure = '0'
ReopenSecs = '300'
NetTimeout = '30'
RedoCompression = 'DISABLE'
PreferredApplyInstance = ''
ApplyInstanceTimeout = '0'
ApplyLagThreshold = '30'
TransportLagThreshold = '30'
TransportDisconnectedThreshold = '30'
ApplyParallel = 'AUTO'
ApplyInstances = '0'
StandbyFileManagement = ''
ArchiveLagTarget = '0'
LogArchiveMaxProcesses = '0'
LogArchiveMinSucceedDest = '0'
DataGuardSyncLatency = '0'
LogArchiveTrace = '0'
LogArchiveFormat = ''
DbFileNameConvert = ''
LogFileNameConvert = ''
ArchiveLocation = ''
AlternateLocation = ''
StandbyArchiveLocation = ''
StandbyAlternateLocation = ''
InconsistentProperties = '(monitor)'
InconsistentLogXptProps = '(monitor)'
LogXptStatus = '(monitor)'
SendQEntries = '(monitor)'
RecvQEntries = '(monitor)'
HostName = 'cloud-dr-node01'
StaticConnectIdentifier = '(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=cloud-dr-node01.subnet.vcn.oraclevcn.com)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=TRU19c_DR_DGMGRL)(INSTANCE_NAME=TRU19c_DR)(SERVER=DEDICATED)))'
TopWaitEvents = '(monitor)'
SidName = '(monitor)'
Log file locations:
Alert log : /u01/app/oracle/diag/rdbms/tru19c_dr/TRU19c_DR/trace/alert_TRU19c_DR.log
Data Guard Broker log : /u01/app/oracle/diag/rdbms/tru19c_dr/TRU19c_DR/trace/drcTRU19c_DR.log
Database Status:
SUCCESS
double check StaticConnectIdentifier. SERVICE_NAME and Host should have right values. Most of the failures during switchover happen due to this property not set properly
static entry in listener.ora for _DGMGRL services
add static entry for TRU19c_DGMGRL and TRU19c_DR_DGMGRL in listener.ora of prod and standby respectively.
so that listener on prod is aware of TRU19c_DGMGRL and listener on DR is aware of TRU19c_DR_DGMGRL
on prod
current listner status
[oracle@cloud-node01 ~]$ lsnrctl status
LSNRCTL for Linux: Version 19.0.0.0.0 - Production on 19-JUN-2020 01:51:39
Copyright (c) 1991, 2019, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=cloud-node01.subnet.vcn.oraclevcn.com)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 19.0.0.0.0 - Production
Start Date 01-JUN-2020 08:12:10
Uptime 17 days 17 hr. 39 min. 28 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /u01/app/oracle/product/19c/dbhome_1/network/admin/listener.ora
Listener Log File /u01/app/oracle/diag/tnslsnr/cloud-node01/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=cloud-node01)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
Services Summary...
Service "ORCL" has 1 instance(s).
Instance "ORCL", status READY, has 1 handler(s) for this service...
Service "ORCLXDB" has 1 instance(s).
Instance "ORCL", status READY, has 1 handler(s) for this service...
Service "TRU19c" has 1 instance(s).
Instance "TRU19c", status READY, has 1 handler(s) for this service...
Service "TRU19cXDB" has 1 instance(s).
Instance "TRU19c", status READY, has 1 handler(s) for this service...
Service "TRU19c_CFG" has 1 instance(s).
Instance "TRU19c", status READY, has 1 handler(s) for this service...
Service "a702b03bce5625a3e0530200000ad092" has 1 instance(s).
Instance "ORCL", status READY, has 1 handler(s) for this service...
Service "orclpdb" has 1 instance(s).
Instance "ORCL", status READY, has 1 handler(s) for this service...
The command completed successfully
add static entry
[oracle@cloud-node01 admin]$ cat listener.ora
# listener.ora Network Configuration File: /u01/app/oracle/product/19c/dbhome_1/network/admin/listener.ora
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = TRU19c_DGMGRL)
(ORACLE_HOME = /u01/app/oracle/product/19c/dbhome_1)
(SID_NAME = TRU19c)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = cloud-node01.subnet.vcn.oraclevcn.com)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
)
after reload now see that DGMGRL service is visible
[oracle@cloud-node01 admin]$ lsnrctl reload
LSNRCTL for Linux: Version 19.0.0.0.0 - Production on 19-JUN-2020 01:58:36
Copyright (c) 1991, 2019, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=cloud-node01.subnet.vcn.oraclevcn.com)(PORT=1521)))
The command completed successfully
[oracle@cloud-node01 admin]$ lsnrctl status
LSNRCTL for Linux: Version 19.0.0.0.0 - Production on 19-JUN-2020 01:58:45
Copyright (c) 1991, 2019, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=cloud-node01.subnet.vcn.oraclevcn.com)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 19.0.0.0.0 - Production
Start Date 01-JUN-2020 08:12:10
Uptime 17 days 17 hr. 46 min. 35 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /u01/app/oracle/product/19c/dbhome_1/network/admin/listener.ora
Listener Log File /u01/app/oracle/diag/tnslsnr/cloud-node01/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=cloud-node01)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
Services Summary...
Service "ORCL" has 1 instance(s).
Instance "ORCL", status READY, has 1 handler(s) for this service...
Service "ORCLXDB" has 1 instance(s).
Instance "ORCL", status READY, has 1 handler(s) for this service...
Service "TRU19c" has 1 instance(s).
Instance "TRU19c", status READY, has 1 handler(s) for this service...
Service "TRU19cXDB" has 1 instance(s).
Instance "TRU19c", status READY, has 1 handler(s) for this service...
Service "TRU19c_CFG" has 1 instance(s).
Instance "TRU19c", status READY, has 1 handler(s) for this service...
Service "TRU19c_DGMGRL" has 1 instance(s).
Instance "TRU19c", status UNKNOWN, has 1 handler(s) for this service...
Service "a702b03bce5625a3e0530200000ad092" has 1 instance(s).
Instance "ORCL", status READY, has 1 handler(s) for this service...
Service "orclpdb" has 1 instance(s).
Instance "ORCL", status READY, has 1 handler(s) for this service...
The command completed successfully
similarly on DR
[oracle@cloud-dr-node01 ~]$ lsnrctl status
LSNRCTL for Linux: Version 19.0.0.0.0 - Production on 19-JUN-2020 01:59:53
Copyright (c) 1991, 2019, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=cloud-dr-node01.subnet.vcn.oraclevcn.com)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 19.0.0.0.0 - Production
Start Date 01-JUN-2020 08:31:20
Uptime 17 days 17 hr. 28 min. 33 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /u01/app/oracle/product/19c/dbhome_1/network/admin/listener.ora
Listener Log File /u01/app/oracle/diag/tnslsnr/cloud-dr-node01/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=cloud-dr-node01)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
Services Summary...
Service "ORCL" has 1 instance(s).
Instance "ORCL", status READY, has 1 handler(s) for this service...
Service "ORCLXDB" has 1 instance(s).
Instance "ORCL", status READY, has 1 handler(s) for this service...
Service "TRU19c_CFG" has 1 instance(s).
Instance "TRU19c_DR", status READY, has 1 handler(s) for this service...
Service "TRU19c_DR" has 2 instance(s).
Instance "TRU19c_DR", status UNKNOWN, has 1 handler(s) for this service...
Instance "TRU19c_DR", status READY, has 1 handler(s) for this service...
Service "a702ff12dde12697e0530300000ab35e" has 1 instance(s).
Instance "ORCL", status READY, has 1 handler(s) for this service...
Service "orclpdb" has 1 instance(s).
Instance "ORCL", status READY, has 1 handler(s) for this service...
The command completed successfully
[oracle@cloud-dr-node01 admin]$ cat listener.ora
# listener.ora Network Configuration File: /u01/app/oracle/product/19c/dbhome_1/network/admin/listener.ora
# Generated by Oracle configuration tools.
#this one is for broker
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = TRU19c_DR_DGMGRL)
(ORACLE_HOME = /u01/app/oracle/product/19c/dbhome_1)
(SID_NAME = TRU19c_DR)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = cloud-dr-node01.subnet.vcn.oraclevcn.com)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
)
[oracle@cloud-dr-node01 admin]$ lsnrctl reload
LSNRCTL for Linux: Version 19.0.0.0.0 - Production on 19-JUN-2020 02:09:13
Copyright (c) 1991, 2019, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=cloud-dr-node01.subnet.vcn.oraclevcn.com)(PORT=1521)))
The command completed successfully
[oracle@cloud-dr-node01 admin]$ lsnrctl status
LSNRCTL for Linux: Version 19.0.0.0.0 - Production on 19-JUN-2020 02:09:21
Copyright (c) 1991, 2019, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=cloud-dr-node01.subnet.vcn.oraclevcn.com)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 19.0.0.0.0 - Production
Start Date 01-JUN-2020 08:31:20
Uptime 17 days 17 hr. 38 min. 1 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /u01/app/oracle/product/19c/dbhome_1/network/admin/listener.ora
Listener Log File /u01/app/oracle/diag/tnslsnr/cloud-dr-node01/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=cloud-dr-node01)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
Services Summary...
Service "ORCL" has 1 instance(s).
Instance "ORCL", status READY, has 1 handler(s) for this service...
Service "ORCLXDB" has 1 instance(s).
Instance "ORCL", status READY, has 1 handler(s) for this service...
Service "TRU19c_CFG" has 1 instance(s).
Instance "TRU19c_DR", status READY, has 1 handler(s) for this service...
Service "TRU19c_DR" has 1 instance(s).
Instance "TRU19c_DR", status READY, has 1 handler(s) for this service...
Service "TRU19c_DR_DGMGRL" has 1 instance(s).
Instance "TRU19c_DR", status UNKNOWN, has 1 handler(s) for this service...
Service "a702ff12dde12697e0530300000ab35e" has 1 instance(s).
Instance "ORCL", status READY, has 1 handler(s) for this service...
Service "orclpdb" has 1 instance(s).
Instance "ORCL", status READY, has 1 handler(s) for this service...
The command completed successfully
[oracle@cloud-dr-node01 admin]$
check gap before switchover
SQL> select name,open_mode,database_role from v$database;
NAME OPEN_MODE DATABASE_ROLE
--------- -------------------- ----------------
TRU19C MOUNTED PHYSICAL STANDBY
SQL> select THREAD#,max(sequence#) from v$archived_log group by THREAD#;
select THREAD#,max(sequence#) from v$archived_log where applied='YES' group by THREAD#;
THREAD# MAX(SEQUENCE#)
---------- --------------
1 52
SQL>
THREAD# MAX(SEQUENCE#)
---------- --------------
1 52
SQL> col VALUE for a30
SQL> set lines 300
SQL> select *from v$dataguard_stats;
SOURCE_DBID SOURCE_DB_UNIQUE_NAME NAME VALUE UNIT TIME_COMPUTED DATUM_TIME CON_ID
----------- -------------------------------- -------------------------------- ------------------------------ ------------------------------ ------------------------------ ------------------------------ ----------
2139054058 TRU19c transport lag +00 00:00:00 day(2) to second(0) interval 06/19/2020 02:15:20 06/19/2020 02:15:18 0
2139054058 TRU19c apply lag +00 00:00:00 day(2) to second(0) interval 06/19/2020 02:15:20 06/19/2020 02:15:18 0
2139054058 TRU19c apply finish time +00 00:00:00.000 day(2) to second(3) interval 06/19/2020 02:15:20 0
0 estimated startup time 7 second 06/19/2020 02:15:20 0
switchover
DGMGRL> show configuration
Configuration - my_dg_config
Protection Mode: MaxPerformance
Members:
tru19c - Primary database
TRU19c_DR - Physical standby database
Fast-Start Failover: Disabled
Configuration Status:
SUCCESS (status updated 34 seconds ago)
DGMGRL> switchover to 'TRU19c_DR';
Performing switchover NOW, please wait...
Operation requires a connection to database "TRU19c_DR"
Connecting ...
Connected to "TRU19c_DR"
Connected as SYSDBA.
New primary database "TRU19c_DR" is opening...
Operation requires start up of instance "TRU19c" on database "tru19c"
Starting instance "TRU19c"...
Connected to an idle instance.
ORACLE instance started.
Connected to "TRU19c"
Database mounted.
Connected to "TRU19c"
Switchover succeeded, new primary is "TRU19c_DR"
DGMGRL> show configuration
Configuration - my_dg_config
Protection Mode: MaxPerformance
Members:
TRU19c_DR - Primary database
tru19c - Physical standby database
Fast-Start Failover: Disabled
Configuration Status:
SUCCESS (status updated 66 seconds ago)
switchback
DGMGRL> switchover to 'TRU19c';
Performing switchover NOW, please wait...
Operation requires a connection to database "tru19c"
Connecting ...
Connected to "TRU19c"
Connected as SYSDBA.
New primary database "tru19c" is opening...
Operation requires start up of instance "TRU19c_DR" on database "TRU19c_DR"
Starting instance "TRU19c_DR"...
Connected to an idle instance.
ORACLE instance started.
Connected to "TRU19c_DR"
Database mounted.
Connected to "TRU19c_DR"
Switchover succeeded, new primary is "TRU19c"
DGMGRL> show configuration;
Configuration - my_dg_config
Protection Mode: MaxPerformance
Members:
tru19c - Primary database
TRU19c_DR - Physical standby database
Fast-Start Failover: Disabled
Configuration Status:
SUCCESS (status updated 59 seconds ago)