oracle监听器启动lsnrctl status例程的状态为unknown

以前同事问及为何数据库例程在监听器中状态为unnkown,这是何意.有何影响.查阅了资料,解决如下:


# listener.ora Network Configuration File: E:\oracle\product\10.2.0\db_1\network\admin\listener.ora
# Generated by Oracle configuration tools.

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = E:\oracle\product\10.2.0\db_1)
      (PROGRAM = extproc)
    )
    //红色为手工添加
    (SID_DESC =
      (SID_NAME = orcl)
      (ORACLE_HOME = E:\oracle\product\10.2.0\db_1)
     
    )
   
  )

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
      (ADDRESS = (PROTOCOL = TCP)(HOST = zxy-p4gdodyujng)(PORT = 1521))
    )
  )


重启监听器:
C:\Documents and Settings\Administrator>lsnrctl status

LSNRCTL for 32-bit Windows: Version 10.2.0.3.0 - Production on 23-3月 -2012 16:3
0:09

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

正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))
LISTENER 的 STATUS
------------------------
别名                      LISTENER
版本                      TNSLSNR for 32-bit Windows: Version 10.2.0.3.0 - Produ
ction
启动日期                  23-3月 -2012 16:23:40
正常运行时间              0 天 0 小时 6 分 28 秒
跟踪级别                  off
安全性                    ON: Local OS Authentication
SNMP                      OFF
监听程序参数文件          E:\oracle\product\10.2.0\db_1\network\admin\listener.o
ra
监听程序日志文件          E:\oracle\product\10.2.0\db_1\network\log\listener.log

监听端点概要...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1ipc)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=zxy-p4gdodyujng)(PORT=1521)))
服务摘要..
服务 "PLSExtProc" 包含 1 个例程。
  例程 "PLSExtProc", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
服务 "orcl" 包含 2 个例程。
  例程 "orcl", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
  例程 "orcl", 状态 READY, 包含此服务的 1 个处理程序...
服务 "orclXDB" 包含 1 个例程。
  例程 "orcl", 状态 READY, 包含此服务的 1 个处理程序...
服务 "orcl_XPT" 包含 1 个例程。
  例程 "orcl", 状态 READY, 包含此服务的 1 个处理程序...
命令执行成功


在listerer.ora移除
(SID_DESC =
      (SID_NAME = orcl)
      (ORACLE_HOME = E:\oracle\product\10.2.0\db_1)
     
    )


重启监听器状态如下:
C:\Documents and Settings\Administrator>lsnrctl status

LSNRCTL for 32-bit Windows: Version 10.2.0.3.0 - Production on 23-3月 -2012 16:4
0:00

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

正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))
LISTENER 的 STATUS
------------------------
别名                      LISTENER
版本                      TNSLSNR for 32-bit Windows: Version 10.2.0.3.0 - Produ
ction
启动日期                  23-3月 -2012 16:36:43
正常运行时间              0 天 0 小时 3 分 20 秒
跟踪级别                  off
安全性                    ON: Local OS Authentication
SNMP                      OFF
监听程序参数文件          E:\oracle\product\10.2.0\db_1\network\admin\listener.o
ra
监听程序日志文件          E:\oracle\product\10.2.0\db_1\network\log\listener.log

监听端点概要...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1ipc)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=zxy-p4gdodyujng)(PORT=1521)))
服务摘要..
服务 "PLSExtProc" 包含 1 个例程。
  例程 "PLSExtProc", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
服务 "orcl" 包含 1 个例程。
  例程 "orcl", 状态 READY, 包含此服务的 1 个处理程序...
服务 "orclXDB" 包含 1 个例程。
  例程 "orcl", 状态 READY, 包含此服务的 1 个处理程序...
服务 "orcl_XPT" 包含 1 个例程。
  例程 "orcl", 状态 READY, 包含此服务的 1 个处理程序...
命令执行成功


小结:
  

1. 状态为"Unknown" 说明不是自动注册, 而是通过搜索
Listener.ora, 找到匹配的service后进行注册.

如果在数据库实例启动后再启动监听器(Listener.ora文件中
不需要配置相关的SID信息), PMON会自动对监测到的
Service进行注册.

2.  如果你的监听器端口为缺省的1521, listener.ora可以忽略.
请使用浏览器的分享功能分享到微信等