Well, I have configured some 30 ‘Data Guards’ by now, but I never came across this warning, it seems it’s new in 12c:
DGMGRL> validate database cdb1dgsara Database Role: Physical standby database Primary Database: cdb1dgkara Ready for Switchover: Yes Ready for Failover: Yes (Primary Running) Future Log File Groups Configuration: Thread # Online Redo Log Groups Standby Redo Log Groups Status (cdb1dgkara) (cdb1dgsara) 1 3 2 Insufficient SRLs Warning: standby redo logs not configured for thread 1 on cdb1dgsara
Hang on, standby redo logs not configured? I have 4 groups!
GROUP# THREAD# SEQUENCE# BYTES USED ARC STATUS FIRST_CHANGE# FIRST_TIM LAST_CHANGE# LAST_TIME ------ ------- --------- -------- ----- --- ---------- ------------- --------- ------------ --------- 4 1 0 52428800 0 NO UNASSIGNED 5 1 427 52428800 16896 YES ACTIVE 7062849 08-DEC-15 7062905 08-DEC-15 6 0 0 52428800 0 YES UNASSIGNED 7 0 0 52428800 0 YES UNASSIGNED
Switching does not seem to help
Edit: I was tipped to try log switching on the primary, but the standby redo logs keep on switching between group 4 and 5:
(“and all he kept doing was: four, five, switch, repeat”)
GROUP# THREAD# SEQUENCE# BYTES USED ARC STATUS FIRST_CHANGE# FIRST_TIM LAST_CHANGE# LAST_TIME ------ ------- --------- -------- ---- --- ---------- ------------- --------- ------------ --------- 4 1 0 52428800 0 NO UNASSIGNED 5 1 448 52428800 6144 YES ACTIVE 7507097 08-DEC-15 7507091 08-DEC-15 6 0 0 52428800 0 YES UNASSIGNED 7 0 0 52428800 0 YES UNASSIGNED ------ ------- --------- -------- ---- --- ---------- ------------- --------- ------------ --------- 4 1 449 52428800 1024 YES ACTIVE 7507179 08-DEC-15 7507176 08-DEC-15 5 1 0 52428800 0 NO UNASSIGNED 6 0 0 52428800 0 YES UNASSIGNED 7 0 0 52428800 0 YES UNASSIGNED ------ ------- --------- -------- ---- --- ---------- ------------- --------- ------------ --------- 4 1 0 52428800 0 NO UNASSIGNED 5 1 450 52428800 2560 YES ACTIVE 7507208 08-DEC-15 7507176 08-DEC-15 6 0 0 52428800 0 YES UNASSIGNED 7 0 0 52428800 0 YES UNASSIGNED ------ ------- --------- -------- ---- --- ---------- ------------- --------- ------------ --------- 4 1 451 52428800 1024 YES ACTIVE 7507239 08-DEC-15 7507236 08-DEC-15 5 1 0 52428800 0 NO UNASSIGNED 6 0 0 52428800 0 YES UNASSIGNED 7 0 0 52428800 0 YES UNASSIGNED ------ ------- --------- -------- ---- --- ---------- ------------- --------- ------------ --------- 4 1 0 52428800 0 NO UNASSIGNED 5 1 452 52428800 2048 YES ACTIVE 7507266 08-DEC-15 7507236 08-DEC-15 6 0 0 52428800 0 YES UNASSIGNED 7 0 0 52428800 0 YES UNASSIGNED
The thread# column contains 1’s and 0’s, it seems the four groups haven’t been accessed yet, just two. And ‘two’ is less than or not equal to ‘four’. Oracle still wants to have one standby redo log group more than there are redo groups. I have not heard of failures if the number of groups was equal, but the error also arises when it’s equal:
Current Log File Groups Configuration: Thread # Online Redo Log Groups Standby Redo Log Groups Status (cdb1dgkara) (cdb1dgsara) 1 3 3 Insufficient SRLs
Thread please!
Ok, so the ‘trick’ is to create them all with the same thread# using the thread keyword in the command:
alter database drop standby logfile group 4; alter database drop standby logfile group 5; alter database drop standby logfile group 6; alter database drop standby logfile group 7; alter database add standby logfile thread 1 '/u02/oradata/CDB1DG/stbylog/stby4.log' size 50M reuse; alter database add standby logfile thread 1 '/u02/oradata/CDB1DG/stbylog/stby5.log' size 50M reuse; alter database add standby logfile thread 1 '/u02/oradata/CDB1DG/stbylog/stby6.log' size 50M reuse; alter database add standby logfile thread 1 '/u02/oradata/CDB1DG/stbylog/stby7.log' size 50M reuse;
They are not dropped from the file system, that’s why I use the ‘reuse’ keyword in the command. Remove or change the path if you want to use OMF or an other location.
DGMGRL> validate database cdb1dgsara Database Role: Physical standby database Primary Database: cdb1dgkara Ready for Switchover: Yes Ready for Failover: Yes (Primary Running) Standby Apply-Related Information: Apply State: Running Apply Lag: Unknown Apply Delay: 0 minutes
Ok, well done, the warning is gone, whoohoow! I used to create them without the thread command. It looks like Oracle is ‘threading’ them on first time use, but now mis-warn you when it only has used two of them instead of all four, but when will it do it for all four or is it a creation thing?
Happy grouping!
Oh, ps, yes, I called my Oracle database ‘twins’ Sara and Kara… lol, just for fun, but I think I’ll keep doing that :D
I worked for a major Airline in the past.
We had to DG servers:
Itchy and Scratchy
They were prod servers. Go figure
:D