ORA-31514的解決辦法
配置cdc的過程中,訂閱者啟用訂閱一步沒有成功,報ora-31514錯誤:
第 1 行出現錯誤: ORA-31514: 由於捕獲錯誤而禁用了更改集 ORA-06512: 在 "SYS.DBMS_CDC_SUBSCRIBE", line 37 ORA-06512: 在 line 2
解決辦法如下:
1、以sys使用者登入:conn / as sysdba
2、SQL> select LOCAL_TRANSACTION_ID from DBA_APPLY_ERROR; LOCAL_TRANSACTION_ID ---------------------- 9.20.1272
3、SQL> BEGIN 2 DBMS_APPLY_ADM.delete_error(local_transaction_id =>'9.20.1272'); 3 end; 4 / PL/SQL 過程已成功完成。
4、SQL> BEGIN 2 DBMS_CDC_PUBLISH.ALTER_CHANGE_SET(CHANGE_SET_NAME => 'cdc_test_cs', 3 RECOVER_AFTER_ERROR => 'y', 4 REMOVE_DDL => 'y', 5 STOP_ON_DDL => 'n'); 6 END; 7 / PL/SQL 過程已成功完成。
5、SQL> BEGIN 2 DBMS_CDC_PUBLISH.ALTER_CHANGE_SET( 3 change_set_name => 'cdc_test_cs', 4 enable_capture => 'Y'); 5 END; 6 / PL/SQL 過程已成功完成。
之後再重新執行報錯的那一步就OK了