Example :
Capture is waiting on redo log file with SCN 5611274208824
Capture
The First SCN 5611441137818
Start SCN 5611441137818
Applied Scn 5611441373264
Required SCN 5611441137818
You can get the above information from enterprise manager
Maintenance -> Stream -> management -> capture (choose capture name and edit).
Note :
1-Applied Scn + Required SCN : you can’t change them (read only).
2-Set First SCN + Start SCN same as Required SCN .
[Document 313279.1] Master Note for Troubleshooting Streams capture ‘WAITING For REDO’ or INITIALIZING
ACTION Plan #1 :
A) Restore archived redo logs starting with sequence
B) If you can not restore logs, then capture must be droppend and recreated.
Note 471695.1 – Required Steps to Recreate a Capture Process
You should be running dbms_capture_adm.build on a regular basis to allow you to rebuild capture without having to resync.
ACTION Plan #2 :
look at the output from below sql and ensure that ALL logs (by time) are online and available.
After verifying that all those logs are available, then for capture , advance first/start snc
Verify
Restart capture. |
##To check if SCN changed :
SELECT SUBSTR(s.PROGRAM,INSTR(S.PROGRAM,'(‘)+1,4) PROCESS_NAME,
c.CAPTURE_NAME,
C.STARTUP_TIME,
c.SID,
c.SERIAL#,
c.STATE,
c.state_changed_time,
FROM gV$STREAMS_CAPTURE c, gV$SESSION s
WHERE c.SID = s.SID AND
c.SERIAL# = s.SERIAL#;
ACTION PLAN #3 :
If the Missing Archivelog found on ASM but Capture can’t see them you have to do the following :
ALTER DATABASE REGISTER LOGICAL LOGFILE ” FOR ”;
OR
ALTER DATABASE REGISTER OR REPLACE LOGICAL LOGFILE ‘PATH’ FOR ‘Capture-name’;
Then Check By :
select name, sequence# from v$archived_log — use gv$archived_log in RAC
where between FIRST_CHANGE# and NEXT_CHANGE#
order by name;
Hope this will be Useful for you
Finally Don’t forget after you resolve the problem ro run this command once everyday to rebuild capture without having to resync
SQL> exec DBMS_CAPTURE_ADM.BUILD;
Check This Link : Stream Capture
Thank you
Osama Mustafa
Oracle Database Consultant