Oracle 在ORDS 19.0.4安装期间/之后,无法编译ORDS_内部软件包
在我们的一个oracle 11g数据库中,在ORDS 19.4.0安装过程中出现以下错误 [***脚本:ords_internal.plb]Oracle 在ORDS 19.0.4安装期间/之后,无法编译ORDS_内部软件包,oracle,installation,oracle-apex,oracle-rest-data-services,Oracle,Installation,Oracle Apex,Oracle Rest Data Services,在我们的一个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/S
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
由于包源已包装,因此无法获取导致此错误的对象的名称
我能解决什么问题或知道为什么会出现此错误?好的,我们已经解决了这个问题。首先,我们通过ORDS_内部包体检查了所有已使用对象的状态,没有发现任何无效对象。然后检查所有依赖项的授权,并查看某人已从PUBLIC中删除对所有_用户的SELECT授权。
修复(将sys.ALL_用户上的select授予public)此问题解决了我们的编译问题…我认为,由于您使用的是Oracle 11g作为数据库,因此必须运行@pifor提到的脚本 这是甲骨文医生说的 从ORDS 19.2版本开始,Oracle REST Data Services安装归档文件包含一个脚本ORDS_installer_privileges.sql,该脚本位于安装程序文件夹中。该脚本为指定的数据库用户提供在Oracle Pluggable database或Oracle 11g中安装、升级、验证和卸载ORD的权限。 所以,请运行这个 使用SYSDBA权限连接到Oracle 11g数据库。 执行以下脚本,提供将要使用ORD的数据库用户
SQL> @/path/to/installer/ords_installer_privileges.sql exampleuser
我认为,如果您选择了旧版本的ORDS,问题就会少一些,因为您有一个非常旧的数据库版本
关于您是否运行了脚本
/path/to/installer/ords\u installer\u privileges.sql
?您安装ORD的过程是什么?我是按照通常的方式安装的。“java-jar ords.war install advanced”和SYS users我知道,当您不想使用SYS进行安装时,可以使用这个脚本。如果要使用其他用户安装ORD,请授予该用户此ORDS\u installer\u privileges.sql的权限。谢谢