配置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了