0

当我尝试启用架构时,我在没有 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
4

1 回答 1

0

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

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

1.删​​除用户:

alter session set "_ORACLE_SCRIPT"=true;

drop user DEVUSER;

alter session set "_ORACLE_SCRIPT"=false;

2.重新创建用户:

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

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

于 2021-09-09T16:48:46.420 回答