亦余心之所善兮,虽九死其犹未悔。这篇文章主要讲述软件包工头之临时DBA系列Oracle连接非常慢APPARENT DEADLOCK相关的知识,希望能为你提供帮助。
Oracle数据连接非常慢,及Tocmat报错APPARENT DEADLOCK的解决方案,就是在关闭Oracle日志服务后,删除 listener.log 文件。我是一名软件包工头,哪里有问题就干哪里。
这次是
Oracle
出毛病了,我就临时兼了DBA的职,没办法,谁叫我是工头呢。打开百度就开干。
这次关键词是:APPARENT
DEADLOCK!!!
丫的看这三个感叹号,Tomcat真矫情。一个Oracle跑了5年了,毛病多我可以理解,关键是原因太奇葩,我不能接受。
百度之后,发现是
Oracle
的
listener.log 过大引起的(见此文)。
listener.log
的路径:$ORACLE_HOME\\diag\\tnslsnr\\机器名\\listener\\trace 。
我真是日了狗了,这Orale自己不会清理么,还要人工清理。
而解决办法更是简单粗暴,直接删掉就行了!!!
而删掉文件也还是需要注意关闭
日志读写服务的,不然不会起作用。操作见此文。
下面是 Linunx Shell 脚本关闭日志 lsnrctlset log_status off; 删除日志,或者清空日志打开日志 lsnrctlset log_status on;
【软件包工头之临时DBA系列Oracle连接非常慢APPARENT DEADLOCK】想一想,这个文件一大,又要删除是不是,此文在Linux环境下弄了个脚本。各位Linux玩家可以用,我等low Windows只能自己造轮子或者用"任务计划"+BAT批处理命令了。
下面是我写的 win版,已经加入到我的 Windows Server 2008 R2/Oracle 11g 豪华午餐【任务计划】里了。
################################### ## 这是注释 ## 请勿删除本文件 ## 用于每周定时删除Oralce的监听日志 文件 ## 皮包公司包工头写于一个阴沉的秋日午后 ###################################lsnrctl set log_status off cd.> D:\\app\\Administrator\\diag\\tnslsnr\\[此处为你的主机名]\\listener\\trace\\listener.log lsnrctl set log_status on
请勿直接拷贝,需要改动为你的 Oralcle listener.log 路径。 其中 cd.> C:\\666.log 意思是清空该文件。
保存为 bat 文件,然后添加至系统自带的 ”任务计划/定时计划“ 就大功告成了。
推荐阅读
- Android开发 - Retrofit 2 使用自签名的HTTPS证书进行API请求
- MyBatis 为什么需要通用 Mapper ?
- Android基于jenkins全自动构建打包---------Windows版本(Android,Jenkins,360加固,Email,QRcode,参数构建,蒲公英)
- 第二篇(用Android Studio编写Hello World)
- Android使用Glide加载https链接的图片不显示的原因
- 精读 SBAR SDN flow-Based monitoring and Application Recognition
- 第一篇(安装Android Studio问题及其解决方案)
- vue 音乐App QQ音乐搜索列表最新接口跨域设置方法
- Android--小游戏