1. 程式人生 > >ora-28547 連線伺服器失敗,可能是ORACLE NET 管理錯誤

ora-28547 連線伺服器失敗,可能是ORACLE NET 管理錯誤

1.平臺ORACLE10G RAC,反覆lsnrctl stop(start)但,結果還是此報錯!

2.用CRS_STATS檢視狀態

rac1-> crs_stat -t
Name           Type           Target    State     Host        
------------------------------------------------------------
ora.....CRM.cs application    OFFLINE   OFFLINE               
ora....db1.srv application    OFFLINE   OFFLINE               
ora.devdb.db   application    ONLINE    ONLINE    rac2        
ora....b1.inst application    ONLINE    ONLINE    rac1        
ora....b2.inst application    ONLINE    ONLINE    rac2        
ora....SM1.asm application    ONLINE    ONLINE    rac1        
ora....C1.lsnr application    OFFLINE   OFFLINE               
ora.rac1.gsd   application    ONLINE    ONLINE    rac1        
ora.rac1.ons   application    ONLINE    ONLINE    rac1        
ora.rac1.vip   application    ONLINE    ONLINE    rac1        
ora....SM2.asm application    ONLINE    ONLINE    rac2        
ora....C2.lsnr application    ONLINE    OFFLINE               
ora.rac2.gsd   application    ONLINE    ONLINE    rac2        
ora.rac2.ons   application    ONLINE    ONLINE    rac2        
ora.rac2.vip   application    ONLINE    ONLINE    rac2 

可以看到狀態都為OFFLINE,雖然用lsnrctl status可以看到監聽已經起來了;

3.檢視LISTENER.ORA,註釋(PROGRAM = extproc)

rac1-> more listener.ora
# listener.ora.rac1 Network Configuration File: /u01/oracle/product/10.2.0/db_1/network/admin/listener.ora.rac1
# Generated by Oracle configuration tools.

LISTENER_RAC1 =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
      (ADDRESS = (PROTOCOL = TCP)(HOST = rac1-vip)(PORT = 1521)(IP = FIRST))
      (ADDRESS = (PROTOCOL = TCP)(HOST = 172.16.96.171)(PORT = 1521)(IP = FIRST))
    )
  )

SID_LIST_LISTENER_RAC1 =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = devdb1)
      (ORACLE_HOME = /u01/oracle/product/10.2.0/db_1)
#  (PROGRAM = extproc)
    )
  )

4.2節點上分別執行

srvctl stop listener -n rac1

srvctl stop listener -n rac2

srvctl start listerner -n rac1

srvctl start listener -n rac2

5.再次檢視狀態,可以看到已經起來了

rac2-> crs_stat -t
Name           Type           Target    State     Host        
------------------------------------------------------------
ora.....CRM.cs application    OFFLINE   OFFLINE               
ora....db1.srv application    OFFLINE   OFFLINE               
ora.devdb.db   application    ONLINE    ONLINE    rac2        
ora....b1.inst application    ONLINE    ONLINE    rac1        
ora....b2.inst application    ONLINE    ONLINE    rac2        
ora....SM1.asm application    ONLINE    ONLINE    rac1        
ora....C1.lsnr application    ONLINE    ONLINE    rac1        
ora.rac1.gsd   application    ONLINE    ONLINE    rac1        
ora.rac1.ons   application    ONLINE    ONLINE    rac1        
ora.rac1.vip   application    ONLINE    ONLINE    rac1        
ora....SM2.asm application    ONLINE    ONLINE    rac2        
ora....C2.lsnr application    ONLINE    ONLINE    rac2        
ora.rac2.gsd   application    ONLINE    ONLINE    rac2        
ora.rac2.ons   application    ONLINE    ONLINE    rac2        
ora.rac2.vip   application    ONLINE    ONLINE    rac2 

6.再次用PL/SQL DEVELOPER連線,OK!