解决oracle11g的ORA-12505问题

今天在使用SQL Developer的时候连不上去,报ORA-12505错误,但是SQLPLUS可以连接。

检查服务名,是OracleServiceORCL,那SID应当就是orcl,但是使用该SID仍然无法连接。

查阅资料后解决方法如下:

1.  打开数据库实例的目录(我的是C:\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN)

找到listener.ora文件(listener监听器进程的配置文件),使用文本编辑器打开。

内容如下:

[plain]  view plain  copy
  1. # listener.ora Network Configuration File: C:\app\Administrator\product\11.2.0\dbhome_1\network\admin\listener.ora  
  2. # Generated by Oracle configuration tools.  
  3.   
  4. SID_LIST_LISTENER =  
  5.   (SID_LIST =  
  6.     (SID_DESC =  
  7.       (SID_NAME = CLRExtProc)  
  8.       (ORACLE_HOME = C:\app\Administrator\product\11.2.0\dbhome_1)  
  9.       (PROGRAM = extproc)  
  10.       (ENVS = "EXTPROC_DLLS=ONLY:C:\app\Administrator\product\11.2.0\dbhome_1\bin\oraclr11.dll")  
  11.     )  
  12.   )  
  13.   
  14. LISTENER =  
  15.   (DESCRIPTION_LIST =  
  16.     (DESCRIPTION =  
  17.       (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))  
  18.       (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))  
  19.     )  
  20.   )  
  21.   
  22. ADR_BASE_LISTENER = C:\app\Administrator  


 

2.  添加SID信息(红色字体部分)

[plain]  view plain  copy
  1. # listener.ora Network Configuration File: C:\app\Administrator\product\11.2.0\dbhome_1\network\admin\listener.ora  
  2. # Generated by Oracle configuration tools.  
  3. SID_LIST_LISTENER =  
  4.   (SID_LIST =  
  5.     (SID_DESC =  
  6.       (SID_NAME = CLRExtProc)  
  7.       (ORACLE_HOME = C:\app\Administrator\product\11.2.0\dbhome_1)  
  8.       (PROGRAM = extproc)  
  9.       (ENVS = "EXTPROC_DLLS=ONLY:C:\app\Administrator\product\11.2.0\dbhome_1\bin\oraclr11.dll")  
  10.     )  
  11.     <span style="color:#ff0000;">(SID_DESC =  
  12.       (GLOBAL_DBNAME = orcl)  
  13.       (ORACLE_HOME =  C:\app\Administrator\product\11.2.0\dbhome_1)  
  14.       (SID_NAME = orcl)  
  15.     )  
  16. </span>  )  
  17. LISTENER =  
  18.   (DESCRIPTION_LIST =  
  19.     (DESCRIPTION =  
  20.       (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))  
  21.       (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))  
  22.     )  
  23.   )  
  24. ADR_BASE_LISTENER = C:\app\Administrator  

3.  重新启动 OracleServiceORCL 和 OracleOraDb11g_home1TNSListener 服务。最后试一试,连接成功!

 

附:

PL/SQL DEVELOPER 和 SQLPLUS 采用 service_name 进行连接

而应用程序是按照 sid_name 进行连接,所以出现 PL/SQL DEVELOPER和SQLPLUS 能够连接而应用程序却无法连接的问题。

使用 SELECT INSTANCE_NAME FROM V$INSTANCE 语句,就可以查看当前数据库实例的sid_name了。

2.  添加SID信息(红色字体部分)
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用DBeaver连接Oracle数据库时报错ORA-12505, TNS:listener does not currently know of SID given in connect descriptor。这个错误通常是由于连接描述符中提供的SID在监听器中未被识别引起的。有几种可能的解决方案可以尝试。 首先,我们可以检查tnsnames.ora文件,它通常位于Oracle安装目录的ADMIN文件夹中。在该文件中,查找SERVICE_NAME的值,并确保它与连接描述符中的数据库名称一致。 其次,需要注意的是,在配置DBeaver中的Oracle数据库登录信息时,应选择SID而不是Service Name。同时,用户名通常默认为system,密码是在安装Oracle时设置的口令。 如果上述方法仍然无法解决问题,可以尝试使用SQLPlus登录数据库,确认数据库的SID名称。管理员可以通过SQLPlus登录数据库,而应用程序如DBeaver通过JDBC连接时无法成功连接。这是因为使用SQLPlus连接时使用的是server_name,而外部软件如DBeaver使用的是SID name来连接。因此,解决这个问题需要找到数据库的SID name,并在连接描述符中正确配置。 总结起来,解决ORA-12505错误的步骤如下: 1. 检查tnsnames.ora文件,确认其中的SERVICE_NAME值与连接描述符中的数据库名称一致。 2. 在DBeaver中配置Oracle数据库登录信息,使用SID而不是Service Name,用户名为system,密码为安装Oracle时所设置的口令。 3. 如果问题仍然存在,使用SQLPlus登录数据库,确认数据库的SID名称,并在连接描述符中正确配置。 希望这些解决方案能够帮助您成功连接Oracle数据库。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [使用dbeaver链接oracle报错ORA-12505, TNS:listener does not currently know of SID given in connect ...](https://blog.csdn.net/lx2wenhui/article/details/130677888)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [DBeaver连接Oracle11g数据库时解决报错ORA-12505](https://blog.csdn.net/qq_43482325/article/details/105979505)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值