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

Oracle 19c连接SQL Developer 21.2报错“Status : Failure -Test failed: null”求助

问题解决步骤

一、先确认目标用户是否存在

首先用管理员账号(如sys或system)登录数据库,执行查询验证用户是否创建成功:

-- 检查大写用户(Oracle默认自动转大写,除非创建时加双引号)
SELECT username FROM dba_users WHERE username = 'ORACLE_USERA';

如果创建用户时用了双引号指定小写(如CREATE USER "oracle_usera" IDENTIFIED BY password;),则查询语句要带双引号:

SELECT username FROM dba_users WHERE username = '"oracle_usera"';

若查询无结果,说明用户未创建成功,重新执行创建语句:

-- 推荐:创建默认大写用户
CREATE USER ORACLE_USERA IDENTIFIED BY your_password;
-- 若需小写用户,必须带双引号
CREATE USER "oracle_usera" IDENTIFIED BY your_password;

二、正确授予连接权限

确认用户存在后,用管理员账号执行授权操作:

-- 授予CONNECT角色(包含CREATE SESSION等基础连接权限)
GRANT CONNECT TO ORACLE_USERA;
-- 若是小写用户,需带双引号
GRANT CONNECT TO "oracle_usera";

也可单独授予CREATE SESSION权限:

GRANT CREATE SESSION TO ORACLE_USERA;

执行后可验证权限是否生效:

SELECT privilege FROM dba_sys_privs WHERE grantee = 'ORACLE_USERA';

三、排查SQL Developer连接报错Status : Failure -Test failed: null

针对这个模糊报错,逐一排查以下点:

  • 用户名大小写匹配:如果是带双引号创建的小写用户,在SQL Dev新建连接时,需填写小写用户名并勾选「区分大小写」选项;默认大写用户直接填写大写即可。
  • 连接参数正确性:检查主机地址、端口(默认1521)、服务名/SID是否正确。可通过管理员账号查询服务名:
    SELECT value FROM v$parameter WHERE name = 'service_names';
    
  • 数据库监听状态:在数据库服务器上执行lsnrctl status,确认监听服务正常运行,且包含目标数据库的服务名。
  • 网络/防火墙限制:验证本地能ping通数据库服务器,且1521端口未被防火墙拦截。
  • 版本兼容性:尝试将SQL Developer更新至最新版本,或检查其配套的JDK版本是否符合Oracle 19c的要求(SQL Developer通常自带适配JDK,若自定义JDK需确保版本匹配)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 00:25:04