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

今天遇到的数据库连接时报错:

 

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))
    )
重启监听,数据库即可连接

 

你可能感兴趣的:(数据库)