Oracle 11g 监听很慢,由于监听日志文件太大引起的问题(Windows 下)

时间:2024-03-04 19:25:48

  现象:Windows 操作系统的Oracle 数据库,使用sqlplus 连接(不指定实例名)连接很快,程序连接或使用连接工具或在Net Manager 中测试连接都需要花费约三四十秒的时间(程序连接可能失败)。

  通过tsping localhost 测试,亦花费三四十秒。

  查看监听警告日志(所在位置在文章后面介绍),有信息如下:

<msg time=\'2017-05-16T16:57:51.811+08:00\' org_id=\'oracle\' comp_id=\'tnslsnr\'
 type=\'UNKNOWN\' level=\'16\' host_id=\'WIN-79C9VV1DM36\'
 host_addr=\'fe80::716b:a2ff:1445:5753%11\'>
 <txt>TNS-12560: TNS:protocol adapter error
 TNS-00530: Protocol adapter error
  64-bit Windows Error: 53: Unknown error
   TNS-12518: TNS:listener could not hand off client connection
    TNS-12571: TNS:packet writer failure
     TNS-12560: TNS:protocol adapter error
      TNS-00530: Protocol adapter error
       64-bit Windows Error: 54: Unknown error
 </txt>
</msg>
View Code

  可能原因是监听日志过大(超过4G)。

  停止监听,删除监听日志(需要删除4个目录的日志),开启监听,连接很慢问题解决。

  Oracle 11g 监听日志目录位置如下:

  alert 日志目录:%ORACLE_HOME%\diag\rdbms\%sid%\%sid%\alert,%ORACLE_HOME%\diag\tnslsnr\%机器名%\listenrt\alert

  trace 日志目录:%ORACLE_HOME%\diag\rdbms\%sid%\%sid%\trace,%ORACLE_HOME%\diag\tnslsnr\%机器名%\listenrt\trace