2016-06-18 74 views
1

我有我的oracle数据库的问题,我已经搜查/试图加载修复下面的错误,但我无法PLSExtProc的状态更改为READY:实例“PLSExtProc”,状态UNKNOWN

lsnrctl start 
Service "PLSExtProc" has 1 instance(s). 
Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service... 

这里有一些信息,可以帮助:

  • Oracle数据库启动正常
  • 我使用Linux
  • Oracle是新的我

    LSNRCTL状态

    Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521)) 
    STATUS of the LISTENER 
    ------------------------ 
    Alias      LISTENER_NAME 
    Version     TNSLSNR for Linux: Version 10.2.0.3.0 - Production 
    Start Date    18-JUN-2016 14:36:33 
    Uptime     0 days 0 hr. 11 min. 50 sec 
    Trace Level    off 
    Security     ON: Local OS Authentication 
    SNMP      OFF 
    Listener Parameter File /oracle/10g/db_1/network/admin/listener.ora 
    Listener Log File   /oracle/10g/db_1/network/log/log_file_name.log 
    Listening Endpoints Summary... 
        (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=host2.com)(PORT=1521))) 
        (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC0))) 
    Services Summary... 
    Service "PLSExtProc" has 1 instance(s). 
        Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service... 
    Service "orcl" has 1 instance(s). 
        Instance "orcl", status READY, has 1 handler(s) for this service... 
    Service "orclXDB" has 1 instance(s). 
        Instance "orcl", status READY, has 1 handler(s) for this service... 
    Service "orcl_XPT" has 1 instance(s). 
        Instance "orcl", status READY, has 1 handler(s) for this service... 
    The command completed successfully 
    

一些变量:

$ORACLE_SID=orcl 
$ORACLE_HOME=/oracle/10g/db_1/ 

LOCAL_LISTENER

SQL> show parameter local_listener; 

NAME      TYPE VALUE 
------------------------------------ ----------- ------------------------------ 
local_listener    string ORCL 

猫的listener.ora

LISTENER_NAME = 
    (DESCRIPTION_LIST = 
    (DESCRIPTION = 
     (ADDRESS = (PROTOCOL = TCP)(HOST = host2.com)(PORT = 1521)) 
     (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0)) 
    ) 
) 

SID_LIST_LISTENER_NAME = 
    (SID_LIST = 
    (SID_DESC = 
     (SID_NAME = PLSExtProc) 
     (ORACLE_HOME = /oracle/10g/db_1/) 
     (PROGRAM = extproc) 
    ) 
) 

猫的tnsnames.ora

ORCL = 
    (DESCRIPTION = 
    (ADDRESS = (PROTOCOL = TCP)(HOST = host1.com)(PORT = 1521)) 
    (CONNECT_DATA = 
     (SERVER = DEDICATED) 
     (SERVICE_NAME = orcl) 
    ) 
) 

    EXTPROC_CONNECTION_DATA = 
     (DESCRIPTION = 
     (ADDRESS_LIST = 
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1)) 
     ) 
     (CONNECT_DATA = 
      (SID = PLSExtProc) 
      (PRESENTATION = RO) 
     ) 
    ) 

猫/ etc/hosts中

127.0.0.1  host1 host2 host1.com host2.com 

非常感谢您的帮助

回答

2

这是完全正常的和预期。 listener.ora的SID_LIST部分中的每个条目都将显示为状态UNKNOWN。这仅仅意味着听众正在为此付诸行动,因为您列出了它。与那些显示READY状态的人对比。这些来自数据库实例本身向监听器注册。把听众当作酒店的前台服务员。 listener.ora的SID_LIST部分是夜间经理向店员递交酒店客人名单。店员无法知道列表的准确性,所以状态是未知的。但是,如果一位客人走过来说“我的名字是鲍勃,如果有人打电话给我,我会在201号房间”,那就是数据库向听众注册。