必须声明标识符“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”的主要内容,如果未能解决你的问题,请参考以下文章

Oracle TYPE 声明抛出错误 PLS-00201 - 必须声明标识符

更新过程中的 Oracle 游标。必须声明标识符

使用函数时“必须声明标识符”

PLS-00201:必须声明标识符“ISDATE”

必须声明错误 PLS-00201 标识符

PL SQL,错误(32,43):PLS-00201:必须声明标识符“HR”