Asynch CDC: Waiting For Dictionary Redo

Uli Bethke Oracle

I have come across (so far) four scenarios that show capture process "hanging" as WAITING FOR DICTIONARY REDO.

1. Wrong first_scn supplied for create_autolog_change_source: The first_scn when building the the data dictionary in the redo log via does not match the first_scn when creating the change source on the downstream server. You need to supply the first_scn of the archived redo log that contains the data dictionary from the source.

Solution:  (1) Drop the change source and all associated change sets and change tables. (2) Get the correct first_scn from the source by querying

(3) Recreate the change source using the first_scn from the previous query

2. Source table has not been instantiated: You forgot to instantiate the source table with dbms_capture_adm.prepare_table_instantiation

Solution: execute procedure dbms_capture_adm.prepare_table_instantiation.

3. Second change source: You created a second change source that points to the same database source as your first one.

Solution: only ever use one change source per database source.

4. A second, third etc. change set was added at a later stage. You initially created a change source with just one change set. At a later stage you added an additional change set.

You get the archived redo log that contains the data dictionary by querying:

About the author

Uli Bethke LinkedIn Profile

Uli has 18 years’ hands on experience as a consultant, architect, and manager in the data industry. He frequently speaks at conferences. Uli has architected and delivered data warehouses in Europe, North America, and South East Asia. He is a traveler between the worlds of traditional data warehousing and big data technologies.

Uli is a regular contributor to blogs and books, holds an Oracle ACE award, and chairs the the Hadoop User Group Ireland. He is also a co-founder and VP of the Irish chapter of DAMA, a non for profit global data management organization. He has co-founded the Irish Oracle Big Data User Group.