
this is our configuration
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> 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
DR database
DGMGRL> show database verbose TRU19c_DR
Database - TRU19c_DR
Role: PHYSICAL STANDBY
Intended State: APPLY-ON
Transport Lag: 0 seconds (computed 0 seconds ago)
Apply Lag: 0 seconds (computed 0 seconds ago)
Average Apply Rate: 3.00 KByte/s
Active Apply Rate: 1.25 MByte/s
Maximum Apply Rate: 1.60 MByte/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)(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
switchover to DR – SUCCESS
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 to PROD – FAILED
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"...
Unable to connect to database using (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=cloud-dr-node01)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=TRU19c_DR_DGMGRL)(INSTANCE_NAME=TRU19c_DR)(SERVER=DEDICATED)))
ORA-12545: Connect failed because target host or object does not exist
Failed.
Please complete the following steps to finish switchover:
start up and mount instance "TRU19c_DR" of database "TRU19c_DR"
first let’s complete the switchover
as you can see primary database is open but DR is stuck
SQL> select name,open_mode,database_role from v$database;
NAME OPEN_MODE DATABASE_ROLE
--------- -------------------- ----------------
TRU19C READ WRITE PRIMARY
so we will start DR manually
SQL> startup mount
ORACLE instance started.
Total System Global Area 4647285816 bytes
Fixed Size 8905784 bytes
Variable Size 855638016 bytes
Database Buffers 3774873600 bytes
Redo Buffers 7868416 bytes
Database mounted.
aSQL> recover manged standby database disconnect from session;
Media recovery complete.
SQL> select name,open_mode,database_role from v$database;
NAME OPEN_MODE DATABASE_ROLE
--------- -------------------- ----------------
TRU19C MOUNTED PHYSICAL STANDBY
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 40 seconds ago)
Now lets investigate the reason and correct it
as you can see from the error dueing swithcover
Starting instance "TRU19c_DR"...
Unable to connect to database using (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=cloud-dr-node01)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=TRU19c_DR_DGMGRL)(INSTANCE_NAME=TRU19c_DR)(SERVER=DEDICATED)))
ORA-12545: Connect failed because target host or object does not exist
Failed.
DR connection is using HOST=cloud-dr-node01. let’s see if this host is reachable from PROD server.
as you can see it is not reachable but fully qualified name is reachable
[oracle@cloud-node01 admin]$ ping cloud-dr-node01
ping: cloud-dr-node01: Name or service not known
[oracle@cloud-node01 admin]$ ping cloud-dr-node01.subnet.vcn.oraclevcn.com
PING cloud-dr-node01.subnet.vcn.oraclevcn.com (10.0.0.3) 56(84) bytes of data.
64 bytes from cloud-dr-node01.subnet.vcn.oraclevcn.com (10.0.0.3): icmp_seq=1 ttl=64 time=0.144 ms
64 bytes from cloud-dr-node01.subnet.vcn.oraclevcn.com (10.0.0.3): icmp_seq=2 ttl=64 time=0.157 ms
^C
Why it is taking this partial name
DGMGRL> show database TRU19c staticConnectidentifier
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)))'
DGMGRL> show database TRU19c_DR staticConnectidentifier
StaticConnectIdentifier = '(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=cloud-dr-node01)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=TRU19c_DR_DGMGRL)(INSTANCE_NAME=TRU19c_DR)(SERVER=DEDICATED)))'
edit this property and set it correctly
DGMGRL> edit database TRU19c_DR set property 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)))';
Property "staticconnectidentifier" updated
DGMGRL> show database TRU19c_DR staticConnectidentifier
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)))'
try swithcover again
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 35 seconds ago)
swichback
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)