APEX安装失败,必须声明PLS-00201:标识符SYS.DBMS_DB_VERSION

尝试按照official instructions在Oracle XE 18c数据库上安装Oracle APEX 20.2,但在运行@apexins.sql SYSAUX SYSAUX TEMP /i/时收到错误

...set_appun.sql
    $if sys.dbms_db_version.ver_le_10_2 $then
        *
ERROR at line 9:
ORA-06550: line 9, column 9:
PLS-00201: identifier 'SYS.DBMS_DB_VERSION' must be declared
ORA-06550: line 8, column 37:
PL/SQL: Statement ignored
ORA-06550: line 9, column 9:
PLS-00174: a static boolean expression must be used


Disconnected from Oracle Database 18c Express Edition Release 18.0.0.0.0 - Production
Version 18.4.0.0.0

看起来DBMS_DB_VERSION丢失/未声明?

我以sysdba身份成功连接sys,将会话更改为pdb数据库并运行命令,但被停止。在我的sys表中查找时,我看到DBMS表,但no DBMS_DB_VERSION table。如果代码需要它,它不应该在那里吗?我已检查sys和系统架构,但找不到。

在此之前,我遇到了不知道应该更改为PDB的问题,因此我尝试对CDB运行安装,但被停止并不得不更改,不确定这是否相关。

有没有办法绕过这个问题?此问题是否仅适用于XE版本?


解决方案

我遇到了同样的问题,原因是可插拔数据库已关闭,因此我必须在执行任何操作之前将其打开,因此请执行以下操作

SQL> alter session set container = orclpdb;
SQL> alter pluggable database open;
SQL> @yourfile.sql

然后运行@youfile.sql并使用容器的名称,它可能不是orclpdb,这取决于您的安装

相关文章