ORA-31459: system triggers for DBMS_CDC_PUBLISH package are not installed

文档解释

ORA-31459: system triggers for DBMS_CDC_PUBLISH package are not installed

Cause: One or more required system triggers are not installed. These triggers are required for the proper operation of Change Data Capture. Operations on Change tables cannot continue.

Action: Install or reenable the triggers, or reinstall the package.

ORA-31459错误表明,DBMS_CDC_PUBLISH包所需的系统触发器未安装。

官方解释

常见案例

一般处理方法及步骤

1. 确保 DBMS_CDC_SUBSCRIBE 包已经被安装。运行:BEGIN DBMS_CDC_PUBLISH.INSTALL_DB_CHANGE_SET; end; 以确认触发器已安装。

2. 如果以上步骤仍未安装触发器,请使用 sys 用户授权在其中运行@$ORACLE_HOME/rdbms/admin/dbmscdc.sql脚本。

3. 确保进程 “CDCS” 正在运行。

4. 验证 sys.CDC_CHANGE_SET_TRG 是否已被完成填充,如果未映射表,则需要它被填充,您可以使用 DBMS_CDC_SUBSCRIBE.MAP_SCHEMA_CHANGESETS(…) 进行完善。

5. 使用DBMS_CDC_PUBLISH_INTERNAL.REGISTER_TABLE_INT (owner VARCHAR2, table_name VARCHAR2) 注册必要的表集。

6. 确保您的表中有CDCSID字段,关联到表上。如果您未添加该CDCSID字段,则您可能会收到错误 ORA-30553。

你可能感兴趣的