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

Oracle 21c连接SQL Developer遇ORA-12505错误求助

解决Oracle 21c连接SQL Developer时的ORA-12505错误

ORA-12505错误的核心是监听器无法识别你在连接描述符中指定的SID,以下是针对性解决步骤:

  • 确认数据库实际SID
    使用SQL*Plus以sysdba身份登录:

    sqlplus / as sysdba
    

    执行查询获取当前实例的真实SID:

    select instance_name from v$instance;
    

    记录返回的instance_name,这是SQL Developer中需要使用的正确SID。

  • 检查监听器的服务注册状态
    打开命令行执行监听器状态命令:

    lsnrctl status
    

    在输出的Services Summary部分,查看是否存在与你SID匹配的服务。如果没有,手动将数据库注册到监听器:

    1. 保持SQL*Plus的sysdba会话,执行:
      alter system register;
      
    2. 再次执行lsnrctl status确认服务已注册。
  • 修正SQL Developer的连接配置
    在SQL Developer的连接属性中:

    • 确保SID字段填写的是第一步获取到的真实SID,而非自定义的错误名称。
    • 若连接的是Oracle 21c的PDB(可插拔数据库),建议将连接类型改为服务名,并填写PDB的服务名(默认通常为ORCLPDB1,可通过select name from v$pdbs;查询)。
  • 验证tnsnames.ora配置(可选)
    若使用TNS名称连接,检查ORACLE_HOME/network/admin/tnsnames.ora文件中的配置,确保SID或服务名与实际一致,示例配置:

    ORCL =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SID = ORCL) -- 替换为你的真实SID
        )
      )
    
  • 重启相关服务

    • Windows:打开服务管理器,重启OracleOraDB21Home1TNSListener和OracleService[你的SID]服务。
    • Linux/Unix:执行以下命令重启监听器和数据库:
      lsnrctl stop
      lsnrctl start
      sqlplus / as sysdba << EOF
      shutdown immediate;
      startup;
      EOF
      

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 05:52:39