故障说明:
$ lsnrctl start报错提示:
The listener supports no services
The command completed successfully
问题原因:数据库实例没注册到listener
解决方法一:
在listener.ora里面添加了一行
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = orcl)
(SID_NAME = orcl)
)
)
注:里面的orcl根据你安装的数据库实例名确定,我用此法解决了这个报错。
解决方法二:
登录数据库:
$sqlplus / as sysdba
显示服务名:
SQL>show parameter service_names
强制注册服务:
SQL>alter system register;
查看监听状态:
$lsnrctl status
小结:
第1种方法测试过可以静态注册成功,但是第2种方法不知道为什么怎么也动态注册不成功,使用netmgr重新配置监听,提示1521该端口被其它程序占用。不理解这是为什么,产生这个问题的原因主要是行建立的库再他建监听,以前先创建监听再建库就不存在这个问题,这让我很疑惑。
=====================================================================================
版权所有,文章允许转载,但必须以链接方式注明源地址,否则追究法律责任! 谢谢合作!
QQ: 164798858@qq.com
Sina: weibo.com/kaijunfeng
Yahoo: fffygapl@yahoo.com.cn