oracle监听服务启动后停止 (oracle配置tns后连接失败)

这个问题很多人都遇到过,让人很头疼,网上找了很多资料,自己总结下吧

一、网上的解决方案

1.日志文件大于4GB监听无法启动

查看 盘符:\oracle安装目录\diag\tnslsnr\机器名\listener\trace 下的listener.log 文件,如果大于4G,请删除或备份后删除,再启动就正常的了。

2.安装目录下的【tnsnames.ora】和【listener.ora】这两个文件,然后看看里面的【HOST】信 息,看看是不是你当前的ip地址,你的ip地址,或直接就改成127.0.0.1(或计算机名字)localhost :

3.注册表中

HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/services/OracleOraDb11g_home1TNSListener

中的ImagePath改为:

D:\app\Administrator\product\11.2.0\dbhome_1\BIN\TNSLSNR.EXE(之前后面的.EXE没有)

4.环境变量中

ORACLE_HOME改为:D:\app\Administrator\product\11.2.0\dbhome_1

别人走过的路就是自己的坑,不去评价别人的好坏,只能说说自己的经历

二、解决方案

针对1:没有去考证,有人说是oracle的一个bug,不过文件确实很大,删除也没影响;

针对2:出了问题肯定会先去看这两个文件,显得有点...;

针对3:注册表确实缺少后边的*ex.e**,自己加上了;

针对4:系统变量不行就加环境变量;

最后处理方案

1.2.3.4 都做了,但是没有解决;

最后查看监听的log日志,盘符:\oracle安装目录\diag\tnslsnr\机器名\listener\alert\Log.xml;

总结

可能是由于listener.ora tnsnames.ora sqlnet.ora三个文件或其中的一个文件内容配置错误导致的,对比listener.ora和tnsnames.ora文件的内容后,

并没有发现问题,目标转向了sqlnet.ora文件,文件也没问题呀 ,只能自己再改一遍了;

SOLNET.AUTHENTICATION_SERVICES=(NTS)

NAMES.DIRECTORY_PATH= ITNSNAMES, EZCONNECT)

SOLNET.ALLOWED_LOGON_VERSION_SERVER=8

SQLNET.ALLOWED_LOGON_VERSION_CLIENT=8

再次启动监听,成功;