代码改变世界

SQL Developer Web(Database Actions)登录问题排障指南

2026-08-14 07:34  AlfredZhao  阅读(0)  评论(0)    收藏  举报

进入 ORDS 的 SQL Developer Web 后,登录却提示“身份证明无效”?数据库账号明明是 OPEN,怎么回事?

其实关键通常不在账号状态,而在该 Schema 是否已启用 ORDS,以及登录路径是否正确。

Oracle Database Actions - portal.png

01 | APEX 与 SQL Developer Web 不是同一种登录

Oracle APEX 面向业务应用构建,常用 Workspace 用户、SSO 或应用用户登录;SQL Developer Web(Database Actions)则面向数据库开发、对象管理、脚本、数据加载与 REST API 管理,必须使用数据库 Schema 用户和密码。

因此,SQL Developer Web 不应使用 APEX Workspace 用户,也不要使用 APEX_PUBLIC_USERORDS_PUBLIC_USER 等内部技术账号。

sql-developer-web-error.png

正确填写方式是:

高级 → 路径:Schema Alias
用户名:数据库 Schema 名
密码:该 Schema 的数据库密码

02 | 先确认 Schema 是否已启用 ORDS

请使用目标 Schema 自己的数据库连接执行:

SELECT id, parsing_schema, type, pattern, status
FROM user_ords_schemas;

例如:

PARSING_SCHEMA TYPE PATTERN STATUS
-------------- --------- ---------- -------
DEV_ALFRED BASE_PATH ws_alfred ENABLED

对应的 SQL Developer Web 登录信息应为:

路径:ws_alfred
用户名:DEV_ALFRED
密码:DEV_ALFRED 的数据库密码

USER_ORDS_SCHEMAS 只展示当前登录用户的 ORDS 信息,并非 DBA 专用视图。重点确认 STATUSENABLED,并将 PATTERN 原样填入“高级 → 路径”。

03 | 两种注册方式,维护的是同一份元数据

APEX 的 SQL Workshop → RESTful Services → Register / De-register Schema from ORDS,与调用 ORDS.ENABLE_SCHEMA 操作的是同一份 ORDS Metadata。

APEX RESTful Services 图形界面 ─┐
 ├─> ORDS Metadata
ORDS.ENABLE_SCHEMA / DROP... ───┘
 ├─> SQL Developer Web 路由
 └─> ORDS REST API URL

手工注册后会显示在 APEX 页面;在 APEX 页面取消注册,SQL 中的注册记录也会消失。

image.png

已关联 APEX Workspace 的 Schema,笔者建议优先在 APEX 页面注册和维护 Alias,以减少 APEX Path Prefix 与 ORDS Alias 不一致导致 REST 服务 404 的风险。

04 | 启用、停用与重新注册

DBA 为指定 Schema 首次启用:

BEGIN
 ORDS.ENABLE_SCHEMA(
 p_enabled => TRUE,
 p_schema => 'DEV_ALFRED',
 p_url_mapping_type => 'BASE_PATH',
 p_url_mapping_pattern => 'dev_alfred',
 p_auto_rest_auth => TRUE
 );
 COMMIT;
END;
/

普通 Schema 用户只能启用自己,连接后先确认:

SELECT USER FROM dual;

再执行不含 p_schemaORDS.ENABLE_SCHEMA

停用使用 p_enabled => FALSE,记录仍会保留,但状态变为 DISABLED。如需彻底重新注册,可执行:

BEGIN
 ORDS.DROP_REST_FOR_SCHEMA;
 COMMIT;
END;
/

这会永久删除该 Schema 的 ORDS 元数据、REST 模块、Handler、AutoREST 与权限配置,但不会删除数据库用户、表、PL/SQL 对象或 APEX 应用。生产环境需先确认 API 依赖并导出配置。

05 | 最简排障顺序

  1. 使用数据库 Schema 用户和密码。
  2. 以该 Schema 查询 USER_ORDS_SCHEMAS
  3. 确认状态为 ENABLED
  4. PATTERN 原样填入“高级 → 路径”。
  5. 无记录时,通过 APEX 页面注册或执行 ORDS.ENABLE_SCHEMA
  6. 信息均正确仍失败时,核对 ORDS 实际连接的 PDB 或连接池。

Oracle Database Actions.png

SQL Developer Web 登录成功的核心是:正确的数据库账号、已启用的 ORDS Schema,以及与 USER_ORDS_SCHEMAS.PATTERN 一致的路径。

关注我,和AI一起成长~