Oracle 监听无法启动 TNS-12540: TNS:internal limit restrictionexceeded Linux Error: 28: No space left 处理方法

朋友的一个库,因为机房空调故常,温度过高导致服务器重启,之后监听就无法启动。

LSNRCTL> status

Connecting to(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.50.2)(PORT=1521)

)) TNS-12541: TNS:nolistener

TNS-12560: TNS:protocol adapter error

TNS-00511: No listener

Linux Error: 111: Connection refused

Connecting to(DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC)))

TNS-12541: TNS:no listener

TNS-12560: TNS:protocol adapter error

TNS-00511: No listener

Linux Error: 111: Connection refused

LSNRCTL> start

Starting /u2/oracle/9i/bin/tnslsnr: pleasewait...

TNSLSNR for Linux: Version 9.2.0.4.0 -Production

System parameter file is/u2/oracle/9i/network/admin/listener.ora

Log messages written to/u2/oracle/9i/network/log/listener.log

Listening on:(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.50.2)(PORT=1521)))

Error listening on:(ADDRESS=(PROTOCOL=ipc)(PARTIAL=yes)(QUEUESIZE=1))

No longer listening on:(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.50.2)(

PORT=1521)))

TNS-12540: TNS:internal limit restrictionexceeded

TNS-12560: TNS:protocol adapter error

TNS-00510: Internal limit restriction exceeded

Linux Error: 28: No space left ondevice

朋友做了一个strace:

strace -f -o /tmp/trace.log lsnrctl start

关于strace 命令说明,参考blog:

Linux strace 命令 说明

http://blog.csdn.net/tianlesoftware/article/details/6287405

产生的log 也是与空间有关:

22153open("/usr/lib/libnsl.so.1", O_RDONLY) = -1 ENOENT (No such file ordirectory)

22153open("/usr/local/lib/libnsl.so.1", O_RDONLY) = -1 ENOENT (No suchfile or directory)

22153 open("/usr/lib/libc.so.6",O_RDONLY) = -1 ENOENT (No such file or directory)

22153open("/u2/oracle/9i/lib/libc.so.6", O_RDONLY) = -1 ENOENT (No suchfile or directory)

22153 open("/lib/tls/libc.so.6",O_RDONLY) = 3

朋友看了磁盘空间,说没有问题。 所以,我开始怀疑是参数的设置出了问题,但是仅是服务器的重启,之前参数并没有问题。

google 到一个类似的案例:

http://www.dbasupport.com/forums/archive/index.php/t-49057.html

这个案例说是/var 目录满了,删除这个目录里的部分文件后,在启动就ok了。

/var: 某些大文件的溢出区,比方说各种服务的日志文件

更多内容参考:

Linux 各文件夹的作用

http://blog.csdn.net/tianlesoftware/article/details/6021924

朋友最后确认了一下,也是这个/var 满了导致的。 /var/spool/clientmqueue 下有很多小文件,删除之后就ok了。

这个问题本身的解决方法并不深奥,但作为一个知识点,可以注意一下,有时系统的故障也可能导致DB的问题。 在思考问题的时候,可以把思维扩展广一点。

-------------------------------------------------------------------------------------------------------

Blog: http://blog.csdn.net/tianlesoftware

Email: [email protected]

DBA1 群:62697716(满); DBA2 群:62697977(满)DBA3 群:62697850(满)

DBA 超级群:63306533(满); DBA4 群: 83829929 DBA5群: 142216823

DBA6 群:158654907 聊天 群:40132017 聊天2群:69087192

--加群需要在备注说明Oracle表空间和数据文件的关系,否则拒绝申请

你可能感兴趣的:(oracle)