WINDOWS下 ORACLE 侦听程序异常停止故障处理
家里用来的台式机上装了个WINDOWS下的ORACLE 10G,好久没用了,今天打开打算用一下,启动数据库,启动侦听,看着很正常,但是在客户端的TNSPING
C:/>tnsping homedb
TNS Ping Utility for 32-bit Windows: Version 10.2.0.3.0 - Production on 23-8月 -2008 22:26:10
Copyright (c) 1997, 2006, Oracle. All rights reserved.
已使用的参数文件:
D:/oracle/product/10.2.0/db/network/admin/sqlnet.ora
已使用 TNSNAMES 适配器来解析别名
Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.5)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = MY
DB)))
TNS-12541: TNS: 无监听程序
C:/>
不可能,我刚才明明启动了侦听程序
为了排除是不是我笔记本TNSNAME.ORA配置的问题打开看了一下
和家里TNSNAME相关的如下,看来是正确的
HOMEDB =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.5)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = MYDB)
)
)
登录到服务器上看了一下,发现侦听程序服务停止了,难道我刚才真的忘记启动侦听了?我再次启动侦听,然后在本地建立了HOMEDB的连接串,TNSPING测试了一下,没有问题。
回到客户端,TNSPING 还是出错,我回到服务器再次上TNSPING,这次有问题了也说无侦听,打开服务管理,发现侦听程序又停止了!难道是侦听服务配得有问题,我打开服务器上listener.ora,看上去也没错。
HOMEDB =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.5)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
)
)
接着我发现我在服务管理里启动侦听服务,过了大约20秒侦听服务就自动停止了,啥回事?第一件事就想到看看日志,打开日志,没有任何异常错误,无论ALTER_HOMEDB.LOG和listener.log都没有看出异常内容,为了看得更清楚一点,我将这两个文件都删掉,然后再启动服务,等服务停止了,查看上面的日志居然文件内容都是空白的。
无奈之下,执行NETCA,将侦听重新配置了一遍,还是同样的故障。
最后,没办法的情况下,将旧的侦听删掉,重新创建了一个侦听,这次居然就没错了,故障就这样解决了,我觉得比较匪夷所思。