You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Oracle Apex访问Database Monitor提示密码或权限错误求助

解决步骤

针对Apex 5.1 + Oracle 12c环境下Database Monitor认证报错的问题,按以下优先级排查:

1. 校验工作区绑定Schema的权限

Apex的数据库监控权限不单独校验登录的用户角色,而是优先校验当前工作区绑定的数据库Schema权限。你确认的system账号DBA角色是数据库级权限,需要先确认异常应用所属的工作区已关联system Schema,且关联Schema具备必要的Apex管理员角色:

  • 进入异常应用对应的工作区,访问路径 Administration > Manage Workspaces > Workspace Details
  • 查看Associated Schemas列表,确认system在列表内,若使用其他绑定Schema,执行以下授权语句:
-- 用SYS账号执行
GRANT APEX_ADMINISTRATOR_ROLE TO 【你的工作区绑定Schema名称】;
GRANT SELECT ANY DICTIONARY TO 【你的工作区绑定Schema名称】;

2. 强制更新实例级功能参数

你在图形化界面同步的配置可能未实际写入Apex实例参数表,直接用SQL更新强制生效:

-- 用SYS账号执行
BEGIN
  APEX_INSTANCE_ADMIN.SET_PARAMETER('ALLOW_DB_MONITOR', 'Y');
  APEX_INSTANCE_ADMIN.SET_PARAMETER('DB_MONITOR_REQUIRE_DBA', 'Y');
  COMMIT;
END;
/
-- 重载Apex实例配置
ALTER PACKAGE APEX_050100.APEX_INSTANCE_ADMIN COMPILE;

3. 排查密码大小写敏感适配问题

Oracle 12c默认开启密码大小写敏感,而Apex 5.1早期版本的Database Monitor登录模块存在bug,会自动将输入的密码转为大写,若你的system密码包含小写字母就会出现校验失败。
临时验证方案:

ALTER SYSTEM SET SEC_CASE_SENSITIVE_LOGON = FALSE SCOPE=BOTH;

验证可正常登录后,要么将system密码改为全大写,要么升级Apex到5.1.4及以上补丁集修复该bug。

4. 校验网络访问控制列表(ACL)配置

确认Apex内置的ACL规则允许system账号访问本地数据库监控接口:

-- 查询现有ACL规则
SELECT * FROM DBA_NETWORK_ACLS WHERE HOST = 'localhost';
-- 缺失规则的话执行添加
BEGIN
  DBMS_NETWORK_ACL_ADMIN.APPEND_HOST_ACE(
    HOST => 'localhost',
    ACE => XS$ACE_TYPE(
      PRIVILEGE_LIST => XS$NAME_LIST('connect'),
      PRINCIPAL_NAME => 'SYSTEM',
      PRINCIPAL_TYPE => XS_ACL.PTYPE_DB
    )
  );
END;
/

内容的提问来源于stack exchange,提问作者Kabulan0lak

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 15:48:03