Solution
Found error ORA-16857 when I checked the data guard status of data synchronization.
DGMGRL> show database ORCLSTB;
Database - ORCLSTB
Role: PHYSICAL STANDBY
Intended State: APPLY-ON
Transport Lag: 5 minutes 6 seconds (computed 44 seconds ago)
Apply Lag: 5 minutes 6 seconds (computed 44 seconds ago)
Average Apply Rate: 3.64 MByte/s
Real Time Query: OFF
Instance(s):
ORCLSTB1 (apply instance)
ORCLSTB2
Database Warning(s):
ORA-16857: member disconnected from redo source for longer than specified threshold
Database Status:
WARNING
ORA-16857 means that the last redo transportation of the primary database from now is longer than specified warning threshold.
Solution
To overcome the problem, we can remove warning by extending the threshold (TransportDisconnectedThreshold) to a larger value or disable it by setting it as 0 which means unlimited.
DGMGRL> edit database orclstb set property TransportDisconnectedThreshold=0;
Property "transportdisconnectedthreshold" updated
If redo transportation was not moving, we can perform a redo log switching to make it move forward.
SQL> alter system archive log current;
System altered.
We check the data guard status of data synchronization again.
DGMGRL> show database orclstb;
Database - ORCLSTB
Role: PHYSICAL STANDBY
Intended State: APPLY-ON
Transport Lag: 0 seconds (computed 1 seconds ago)
Apply Lag: 0 seconds (computed 1 seconds ago)
Average Apply Rate: 41.00 KByte/s
Real Time Query: OFF
Instance(s):
ORCLSTB1 (apply instance)
ORCLSTB2
Database Status:
SUCCESS
It's working.