我们知道,Oracle在安装完毕后,默认的listener.ora,tnsnames.ora中配置的Host为localhost;
当服务器安装了Oracle,我们本地客户端需要远程连接到服务器的Oracle,发现无法连接,提示错误;
按照以下步骤进行处理:
1) 服务器,打开cmd,输入hostname回车,获得服务器的机器名(当然此处获取服务器的IP地址也可)
2) 服务器,替换oracle目录下的listener.ora,tnsnames.ora,把localhost替换为1)获取的结果;
给出一个listener.ora示例:
同理,tnsnames.ora中出现的localhost一并替换;
3) 服务器,listener.ora文件在SID_LIST_LISTENER段落中增加一段,效果如下图所示:
#假设Oracle安装在E盘,服务名为ORCL,修改之前的配置
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = CLRExtProc)
(ORACLE_HOME = E:\app\Val\product\11.2.0\dbhome_1)
(PROGRAM = extproc)
(ENVS = "EXTPROC_DLLS=ONLY:E:\app\Val\product\11.2.0\dbhome_1\bin\oraclr11.dll")
)
)
#假设Oracle安装在E盘,服务名为ORCL,修改之后的配置
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = CLRExtProc)
(ORACLE_HOME = E:\app\Val\product\11.2.0\dbhome_1)
(PROGRAM = extproc)
(ENVS = "EXTPROC_DLLS=ONLY:E:\app\Val\product\11.2.0\dbhome_1\bin\oraclr11.dll")
)
(SID_DESC =
(GLOBAL_DBNAME = ORCL)
(ORACLE_HOME = E:\app\Val\product\11.2.0\dbhome_1)
(SID_NAME = ORCL)
)
)
4) 服务器,重启Oracle监听服务;
5) Window为服务器版本的,比如2008 R2,需要新建入站/出站规则,端口为Oracle的服务端口,默认为1521;