2

在我们的一个 oracle 11g 数据库中,我们在 ORDS 19.4.0 安装期间收到以下错误。

[*** 脚本:ords_internal.plb]

Package Body ORDS_INTERNAL compiled

LINE/COL  ERROR
--------- -------------------------------------------------------------
129/7     PL/SQL: SQL Statement ignored
134/9     PL/SQL: ORA-00942: table or view does not exist

因为包源已包装,我们无法获取导致此错误的对象的名称。

我可以解决什么问题或知道为什么会出现此错误?

4

2 回答 2

0

好的,我们已经解决了这个问题。首先我们通过 ORDS_INTERNAL 包体检查了所有使用对象的状态,没有发现无效的对象。然后检查所有依赖项的授权,并查看某人/某人已从 PUBLIC 中删除了 ALL_USERS 上的 SELECT 授权。修复(将 sys.ALL_USERS 上的选择授予公共)这个问题解决了我们的编译问题......

于 2020-06-26T10:12:20.560 回答
0

我认为由于您使用 Oracle 11g 作为数据库,您必须运行@pifor 提到的脚本

这是 Oracle 文档所说的

从 ORDS 19.2 版本开始,Oracle REST 数据服务安装存档文件包含位于安装程序文件夹中的脚本 ords_installer_privileges.sql。该脚本为分配的数据库用户提供在 Oracle Pluggable Database 或 Oracle 11g 中安装、升级、验证和卸载 ORDS 的权限。

所以,请运行这个

使用 SYSDBA 权限连接到您的 Oracle 11g 数据库。执行以下脚本,提供将使用 ORDS 的数据库用户

SQL> @/path/to/installer/ords_installer_privileges.sql exampleuser

我认为如果您选择旧版本的 ORDS,问题会更小,因为您有一个非常旧的数据库版本。

问候

于 2020-06-26T10:18:51.267 回答