解决数据库连接报错Listener refused the connection with the following error: ORA-12505

第一种情况:

启动tomcat后,前台输入账号密码,提示:java.sql.SQLException:Listener refused the  connection with the following error:ORA-12505,TNS:listener does not currently know of SID given in connect descriptor

去后台尝试连接数据库,提示:ORA-12541:TNS :无监听程序

这是因为oracle数据库监听没启

开启oracle的监听,尝试连接数据库,提示:ORA-12514:TNS:监听程序当前无法识别连接描述符中请求的服务

这是因为oracle服务没启

 

linux下启动oracle监听和服务

su - oracle       //切换到oracle用户模式下

sqlplus /nolog  //登录sqlplus

SQL> connect /as sysdba  //连接oracle

lsnrctl start  //启动监听

startup //启动数据库

 

windows下启动oracle监听和服务

打开任务管理器,找到如下服务,启动就好

 

第二种情况:

 

Listener refused the connection with the following error:
ORA-12505, TNS:listener does not currently know of SID given in connect descriptor

 

 

这个问题是数据库监听的配置文件中sid不正确,网上查了原因,也许是网络配置ip之后出现的问题,而公司的云服务器之前正常没问题,最近管理员确实改过网络配置,并且今天重启了。

解决:进入数据库安装目录下,找到tnsnames.ora文件,把其中的service_name改成数据库正确的sid值,默认的是orcl

\network\admin\tnsnames.ora:
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.62)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = ORCL)
      (SERVICE_NAME = ORCL)
    )
重启监听即可
 
若是碰到继续报错:17410 提示无法从套接字获取更多数据如何解决,则进入数据库安装目录下,找到listener.ora文件,将(PROGRAM = extproc)这行前面加#注释掉,如下:
#(PROGRAM = extproc)
并且,检查配置文件中HOST是否为主机名
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 主机名)(PORT = 1521))
    )
重启监听,数据库即可连接

 

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值