1. 程式人生 > >Linux下配置Oracle監聽器

Linux下配置Oracle監聽器

1. 修改監聽器配置檔案

Linux下Oracle監聽器配置檔案在:$ ORACLE_HOME/network/admin/listerer.ora, 如:
 $ ORACLE_HOME=/u01/oracle/app/product/11.2.0/dbhome_1
 
修改並配置要監聽SID的相關資訊,如:

#listener.ora Network Configuration File:/u01/oracle/app/product/11.2.0/dbhome_1/network/admin/listener.ora
# Generated by Oracle configuration tools.

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = /bank/oracle/oracle10g/product/10.2.0)
      (PROGRAM = extproc)
    )

    (SID_DESC =
      (GLOBAL DBNAME = orcl
      (SID_NAME = orcl)
    )

  )

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    )
  )
  
2. 啟動監聽器

(1). 切換至oracle安裝使用者(一般為oracle)
su - oracle

  

(2). 啟動監聽器
lsnrctl start  

另:停止監聽器
lsnrctl stop

3. 測試監聽器是否執行正常

在客戶端修改tnsnames.ora配置檔案就訪問Oracle資料庫,如:

BKSERVER =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME =
orcl

)
    )
  )

通過命令tnsping測試是否能訪問到監聽器,如:

tnsping orcl


已使用 TNSNAMES 介面卡來解析別名
Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)
(HOST = localhost)(PORT = 1521))) (CONNECT_DATA = (SERVER = DEDICATED) (SERVIC
E_NAME = orcl)))
OK (20 毫秒)

注意: 監聽器是否能被tnsping通跟資料庫的開啟/關閉無關,所以就算可以tnsping通監聽器但未必能連線到資料庫,這時請檢查listener.ora檔案配置資訊是否正確,還有資料庫是否已經被開啟。