必须声明标识符“DBMS_CDC_PUBLISH.CREATE_CHANGE_SET”
Posted
技术标签:
【中文标题】必须声明标识符“DBMS_CDC_PUBLISH.CREATE_CHANGE_SET”【英文标题】:identifier 'DBMS_CDC_PUBLISH.CREATE_CHANGE_SET' must be declared 【发布时间】:2021-02-14 18:55:54 【问题描述】:我使用的是 oracle 11g express edition,尝试创建变更集时出现以下错误。
Error report -
ORA-06550: line 2, column 3:
PLS-00201: identifier 'DBMS_CDC_PUBLISH.CREATE_CHANGE_SET' must be declared
ORA-06550: line 2, column 3:
PL/SQL: Statement ignored
06550. 00000 - "line %s, column %s:\n%s"
*Cause: Usually a PL/SQL compilation error.
*Action:
我知道 CDC 在更高版本的 oracle 中不支持,但我认为这里支持。
谁能帮忙/
提前致谢!
【问题讨论】:
您的用户是否对 dbms_cdc_publish 包具有“执行”权限? @pmdba 我尝试通过“将 DBMS_CDC_PUBLISH 上的执行权限授予 SYSTEM;”显式授予 SYSTEM 用户权限;但是 ORA-04042:过程、函数、包或包主体不存在是响应。 除了@pmdba 提供的正确 答案,您为什么要尝试授予SYSTEM 权限?如果有的话,您应该将其授予某些与应用程序相关的用户,而不是由 oracle 创建的系统管理用户。 【参考方案1】:问题是您使用的是 Express Edition,它不包含变更数据捕获功能。
https://docs.oracle.com/cd/E17781_01/license.112/e18068/toc.htm#XELIC101【讨论】:
以上是关于必须声明标识符“DBMS_CDC_PUBLISH.CREATE_CHANGE_SET”的主要内容,如果未能解决你的问题,请参考以下文章