环境:
1、Windows Server
2、远程Oracle数据库:Oracle11g R2
3、PL/SQL程序:PL/SQL Developer Version 11.0.5.1790 (64 bit)
一、思路拆解:
此现象一般定位到远端的监听服务来找问题,在远端查看监听服务状态(具体看下面的解决方案会详细呈现),服务是否开启,另外查看监听端点概要是否存在host未指向到计算名的,如无直接进入监听配置文件listener.ora内添加指向即可。
二、解决方案:
1、本地及远端安装好Oracle并配置好连接,Oracle服务和监听已启动;
2、查看监听服务状态 lsnrctl status,右边为远端端点状态,未添加host指向到计算名;
3、修改远程端oracle目录下的两个文件,注意是远程端:
C:\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN\listener.ora
# listener.ora Network Configuration File: C:\app\Administrator\product\11.2.0\dbhome_1\network\admin\listener.ora
# Generated by Oracle configuration tools.
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
)
)
ADR_BASE_LISTENER = C:\app\Administrator
4、将上述文件内容中的localhost修改为计算机名,如下述:
(ADDRESS = (PROTOCOL = TCP)(HOST = TESTSQLSERVER)(PORT = 1521))
5、重启监听服务:
cmd---lsnrctl reload
或者进入下述服务手动重启
Services.msc
—重启OracleOraDb11g_home1TNSListener
,再进行远程连接即可。
三、其他:
附上监听服务的一些简单命令,后续在Linux环境下会经常用到,Windows环境下dos cmd命令如下:
lsnrctl stop
停止监听服务
lsnrctl start
开始监听服务
lsnrctl reload
重启监听服务
lsnrctl status
查看监听服务状态
tnsping IP
查看该IP的监听服务是否正常 例如:tnsping 192.168.20.25