提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
这个问题很多人都遇到过,让人很头疼,网上找了很多资料,自己总结下吧
一、网上的解决方案
- 日志文件大于4GB监听无法启动
查看 盘符:\oracle安装目录\diag\tnslsnr\机器名\listener\trace 下的listener.log 文件,如果大于4G,请删除或备份后删除,再启动就正常的了。 - 安装目录下的【tnsnames.ora】和【listener.ora】这两个文件,然后看看里面的【HOST】信 息,看看是不是你当前的ip地址,你的ip地址,或直接就改成127.0.0.1(或计算机名字)localhost :
- 注册表中
HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/services/OracleOraDb11g_home1TNSListener
中的ImagePath改为:
D:\app\Administrator\product\11.2.0\dbhome_1\BIN\TNSLSNR.EXE(之前后面的.EXE没有) - 环境变量中
ORACLE_HOME改为:D:\app\Administrator\product\11.2.0\dbhome_1
别人走过的路就是自己的坑,不去评价别人的好坏,只能说说自己的经历
二、解决方案
针对1:没有去考证,有人说是oracle的一个bug,不过文件确实很大,删除也没影响;
针对2:出了问题肯定会先去看这两个文件,显得有点...;
针对3:注册表确实缺少后边的.exe,自己加上了;
针对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
再次启动监听,成功;