ORA-20024: 不允许为维护的模式启用 REST

ORA-20024: REST enablement for maintained schema disallowed

当我尝试启用架构时,我在没有 APEX 的 ORDS 中进行了设置,但出现错误。我做错了什么?

BEGIN

    ORDS.ENABLE_SCHEMA(p_enabled => TRUE,
                       p_schema => 'DEVUSER',
                       p_url_mapping_type => 'BASE_PATH',
                       p_url_mapping_pattern => 'devuser',
                       p_auto_rest_auth => FALSE);
    commit;
END;

Error report -
ORA-20024: REST enablement for maintained schema disallowed : DEVUSER
ORA-06512: на  "ORDS_METADATA.ORDS", line 183
ORA-06512: на  "ORDS_METADATA.ORDS_INTERNAL", line 281
ORA-06512: на  "ORDS_METADATA.ORDS_INTERNAL", line 688
ORA-06512: на  "ORDS_METADATA.ORDS_INTERNAL", line 640
ORA-06512: на  "ORDS_METADATA.ORDS_INTERNAL", line 779
ORA-06512: на  "ORDS_METADATA.ORDS", line 167
ORA-06512: на  line 3

最可能的原因是架构是作为 Oracle 维护用户创建的。无法为基于 ORDS 的 REST 服务启用 Oracle 维护用户。

为了更正此问题,您必须删除并重新创建目标架构。

1.To 删除用户:

alter session set "_ORACLE_SCRIPT"=true;

drop user DEVUSER;

alter session set "_ORACLE_SCRIPT"=false;

2.Recreate 用户:

create user DEVUSER identified by <PASSWORD>;
grant create session to <SCHEMA>;

执行此用户所需的任何其他授权。如果您有数据要保存,请先将其导出(例如使用 Datapump),然后再将其导入回来。