ORA-20000: APEX_INSTANCE_ADMIN_USER 无法从 Rest 管理界面启用 Rest

ORA-20000: APEX_INSTANCE_ADMIN_USER Cannot Be Rest Enabled from Rest Administration Interface

启用 Rest 管理界面时使用 Oracle 18c xe 和 ords 19.1 我收到错误

"ORA-20000: APEX_INSTANCE_ADMIN_USER Cannot Be Rest Enabled from Rest Administration Interface"

我是否需要为任何用户提供管理员权限才能运行?

这是一个已知问题,错误编号为 30426865。APEX 是安装到 CDB 中还是安装到 PDB 中?

所以原因是 APEX_INSTANCE_ADMIN_USER 在安装 APEX 时被创建为 "Oracle Maintained" 用户。但是,ORDS 最近的变化之一是这些 "Oracle Maintained" 模式不能再启用 REST。

总的来说,我不会再花太多时间在 "REST Administrative Interface" 上了。这将在即将发布的 APEX 版本 20.1 中弃用,并在未来的版本中不再支持。另一方面,ORDS 将在下一个版本中支持类似的接口。基本上,一旦接口在 ORDS 中可用,它就会从 APEX 中删除。

如果您想立即使用界面,您可以使用以下解决方法:

--
-- drop the Oracle Maintained user APEX_INSTANCE_ADMIN_USER
--
alter session set "_ORACLE_SCRIPT"=true;

drop user APEX_INSTANCE_ADMIN_USER;

alter session set "_ORACLE_SCRIPT"=false;

--
-- recreate APEX_INSTANCE_ADMIN_USER as a non Oracle Maintained user
--

create user apex_instance_admin_user no authentication;

grant create session to APEX_INSTANCE_ADMIN_USER;

之后,启用 REST 管理界面应该就可以了。