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。