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檔案配置資訊是否正確,還有資料庫是否已經被開啟。