继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

lsnrctl status 缺少Listener Parameter File信息

PIPIONE
关注TA
已关注
手记 1071
粉丝 147
获赞 702


一:环境信息

主机平台:linux 6.2

数据库版本:11.2.0.3(psu5)单实例

二:问题现象

  lsnrctl status查看监听状态时发现没有监听文件(Listener Parameter File,正常情况是会有监听文件信息的)

--注意因为问题库是商用库,不能把信息直接发出来。下面的内容是用测试环境模拟的

1.问题库的lsnrctl status信息

[oracle@localhost admin]$ lsnrctl status

LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 15-APR-2014 17:47:28

Copyright (c) 1991, 2013, Oracle.  All rights reserved.

Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))

STATUS of the LISTENER

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

Alias                     LISTENER

Version                   TNSLSNR for Linux: Version 11.2.0.4.0 - Production

Start Date                15-APR-2014 17:25:41

Uptime                    0 days 0 hr. 21 min. 47 sec

Trace Level               off

Security                  ON: Local OS Authentication

SNMP                      OFF

Listener Log File         /u01/app/oracle/diag/tnslsnr/localhost/listener/alert/log.xml

Listening Endpoints Summary...

(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost.localdomain)(PORT=1521)))

Services Summary...

Service "ora11g" has 1 instance(s).

Instance "ora11g", status READY, has 1 handler(s) for this service...

The command completed successfully

2. 正常库的lsnrctl status信息

[oracle@localhost admin]$ lsnrctl status

LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 15-APR-2014 17:24:56

Copyright (c) 1991, 2013, Oracle.  All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost.localdomain)(PORT=1521)))

STATUS of the LISTENER

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

Alias                     LISTENER

Version                   TNSLSNR for Linux: Version 11.2.0.4.0 - Production

Start Date                15-APR-2014 17:17:16

Uptime                    0 days 0 hr. 7 min. 39 sec

Trace Level               off

Security                  ON: Local OS Authentication

SNMP                      OFF

Listener Parameter File   /u01/app/oracle/product/11.2.0.4/db_1/network/admin/listener.ora

Listener Log File         /u01/app/oracle/diag/tnslsnr/localhost/listener/alert/log.xml

Listening Endpoints Summary...

(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost.localdomain)(PORT=1521)))

(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))

Services Summary...

Service "ora11g" has 1 instance(s).

Instance "ora11g", status READY, has 1 handler(s) for this service...

The command completed successfully

--注意对比发现1,2的信息发现问题库的lsnrctl status信息中缺少“Listener Parameter File *****”这一行信息。 cd $ORACLE_HOME/network/admin 下发现确实没有listener.ora文件。这个问题到底是怎么出现的呢?查了MOS也没找到什么相关的信息。

三:故障模拟1

----个人猜测可能是listener.ora文件被别人误删了,所以决定从这个方面着手模拟

1. lsnrctl status(某个正常库,“Listener Parameter File”信息存在)

[oracle@localhost admin]$ lsnrctl status

LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 15-APR-2014 17:24:56

Copyright (c) 1991, 2013, Oracle.  All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost.localdomain)(PORT=1521)))

STATUS of the LISTENER

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

Alias                     LISTENER

Version                   TNSLSNR for Linux: Version 11.2.0.4.0 - Production

Start Date                15-APR-2014 17:17:16

Uptime                    0 days 0 hr. 7 min. 39 sec

Trace Level               off

Security                  ON: Local OS Authentication

SNMP                      OFF

Listener Parameter File   /u01/app/oracle/product/11.2.0.4/db_1/network/admin/listener.ora

Listener Log File         /u01/app/oracle/diag/tnslsnr/localhost/listener/alert/log.xml

Listening Endpoints Summary...

(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost.localdomain)(PORT=1521)))

(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))

Services Summary...

Service "ora11g" has 1 instance(s).

Instance "ora11g", status READY, has 1 handler(s) for this service...

The command completed successfully

2. 删除listener.ora文件

cd $ORACLE_HOME/network/admin

mv listener.ora listener.ora.bak

3. lsnrctl status

--同第一步中lsnrctl status信息完全相同(删除以后信息还是正常的,可能是因为监听没有重启下面我们重启监听试试)

4.重启监听

1)lsnrctl stop

2)lsnrctl start

3)lsnrctl status

[oracle@localhost admin]$ lsnrctl status

LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 15-APR-2014 17:47:28

Copyright (c) 1991, 2013, Oracle.  All rights reserved.

Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))

STATUS of the LISTENER

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

Alias                     LISTENER

Version                   TNSLSNR for Linux: Version 11.2.0.4.0 - Production

Start Date                15-APR-2014 17:25:41

Uptime                    0 days 0 hr. 21 min. 47 sec

Trace Level               off

Security                  ON: Local OS Authentication

SNMP                      OFF

Listener Log File         /u01/app/oracle/diag/tnslsnr/localhost/listener/alert/log.xml

Listening Endpoints Summary...

(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost.localdomain)(PORT=1521)))

Services Summary...

Service "ora11g" has 1 instance(s).

Instance "ora11g", status READY, has 1 handler(s) for this service...

The command completed successfully

--问题现象重现,此时的监听信息中已没有了“Listener Parameter File”信息。

--可能大家会有疑问怎么没有listener.ora文件还能重启监听,这是因为我们用的是默认监听,9i开始没有listener.ora也可以启动监听(默认监听)

5.还原listener.ora文件

1)mv listener.ora.bak listener.ora

2)lsnrctl status(还是没有“Listener Parameter File”信息)

3)重启监听

lsnrctl stop

lsnrctl start

4)lsnrctl status(出现“Listener Parameter File”信息)

--监听恢复正常

四:总结

  9i开始不需要listener.ora文件即可启动默认监听(监听主机名所对应的ip地址的1521端口)

1)安装oracle软件(未建库)

2)启动监听(安装完oracle软件,未配置listener.ora)

lsnrctl status 

[oracle@test database]$ lsnrctl status

LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 16-APR-2014 14:00:49

Copyright (c) 1991, 2013, Oracle.  All rights reserved.

Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))

TNS-12541: TNS:no listener

TNS-12560: TNS:protocol adapter error

TNS-00511: No listener

Linux Error: 111: Connection refused

--此时还没有监听启动

lsnrctl start

[oracle@test database]$ lsnrctl start

LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 16-APR-2014 14:00:56

Copyright (c) 1991, 2013, Oracle.  All rights reserved.

Starting /u01/app/oracle/product/11.2.0.3/db_1/bin/tnslsnr: please wait...

TNSLSNR for Linux: Version 11.2.0.4.0 - Production

Log messages written to /u01/app/oracle/diag/tnslsnr/test/listener/alert/log.xml

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

Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))

STATUS of the LISTENER

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

Alias                     LISTENER

Version                   TNSLSNR for Linux: Version 11.2.0.4.0 - Production

Start Date                16-APR-2014 14:00:57

Uptime                    0 days 0 hr. 0 min. 3 sec

Trace Level               off

Security                  ON: Local OS Authentication

SNMP                      OFF

Listener Log File         /u01/app/oracle/diag/tnslsnr/test/listener/alert/log.xml

Listening Endpoints Summary...

(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=test)(PORT=1521)))

The listener supports no services

The command completed successfully

--默认监听正常启动(监听的是主机名“test”的1521端口)

3)查看$ORACLE_HOME/network/admin下监听文件是否存在

[oracle@test ~]$ cd $ORACLE_HOME/network/admin

[oracle@test admin]$ ls -la

total 16

drwxr-xr-x  3 oracle oinstall 4096 Apr 16 13:50 .

drwxr-xr-x 11 oracle oinstall 4096 Apr 16 13:59 ..

drwxr-xr-x  2 oracle oinstall 4096 Apr 16 13:49 samples

-rw-r--r--  1 oracle oinstall  381 Dec 17  2012 shrept.lst

--没有listener.ora文件

©著作权归作者所有:来自51CTO博客作者shaochenshuo的原创作品,如需转载,请注明出处,否则将追究法律责任

lsnrctl statusListener Parameter FORACLE数据库


打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP