本文主要是介绍sqlplus登录是报错,ORA-12570: TNS: 包阅读程序失败,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1、先定位问题是不是Oracle 监听器日志 listener.log文件过大
路径一般:C:\app\Administrator\diag\tnslsnr\主机名\listener\trace下面的 listener.log
db版本:11.2.0.1
os版本:windows2008
现象:
应用异常,无法连接数据库。登陆数据库服务器,查看监听已经断掉。尝试重启监听,重启失败。查看监听日志listener.log的大小已经超过4G。
解决方法:
1、关闭监听
2、删除listener.log(删除前可以先做备份)
3、然后重启监听,监听重启后会自动创建一个新的日志文件
<----------------------------------------------------以上为windows傻瓜式操作,下面可以用于linux----------------------------------------------->
补充:
在监听进程运行时,无法对listener.log做删除或者重命名操作。
如果不想重启监听,删除监听日志。可以按如下操作:
1.>lsnrctl set log_status off # 先把日志状态停掉,这样就不会写监听器日志
2. 备份或者删除监听日志
3.>lsnrctl set log_status on # 重新打开日志,开始记录监听器日志。该文件会自动创建
4.>lsnrctl status #检查监听状态
Linux下不要直接 cat /dev/null > listener.log 除非在监听器关闭的情况下。否则,即便文件已经被清空,监听器还是无法执行写入日志的。
参考资料:
Bug 9497965 - Win: Listener Startup Fails Due to listener.log Size is Greater Than 4GB [ID 9497965.8]
这篇关于sqlplus登录是报错,ORA-12570: TNS: 包阅读程序失败的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!