今天一个测试库宕机了,Oracle数据库重启之后,监听一直启动不了,执行lsnrctl start 或 lsnrctl status 命令 一直卡在这一步:
lsnrctl status
LSNRCTL for Linux: Version 10.2.0.5.0 - Production on 09-APR-2013 15:14:39
Copyright (c) 1991, 2010, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=dbserver)(PORT=1521)))
然后没有下文了
痛苦的是监听的listener.log 文件的路径也不是默认路径,
想把监听删掉,然后界面也卡在删除的那一步,不往下走了,重启也没用。
后来想到也许是listener.log 过大,系统无法往里面写入了,
于是用 find -name ‘*listener*’ 命令去找了,然后把找到的listener.log rm 掉 重建了一下。
客户端连接成功。
头疼的是发现lsnrctl status 命令还是不能用,如之前一样卡在前面那一步。
于是检查了一下/etc/hosts 文件 发现 这里面的IP并不是现在数据库的地址,询问之后了解到原来是服务器搬动过,IP地址换了,hosts文件未做修改。
后来将IP改掉。
lsnrctl 命令能正常使用了
相关阅读:
Oracle监听之动态监听与静态监听特点
Oracle 11g RAC 环境下单实例非缺省监听及端口配置
Oracle 监听器日志配置与管理
Oracle错误- ORA-12514:TNS:无监听程序
ORA-12514 监听错误解决
Oracle监听器出现的6种连接问题及其解决方法
Oracle LISTENER 未监听到Oracle实例问题解决