2016-06-18 119 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號房間」,那就是數據庫向聽衆註冊。