Oracle 11g Listener是Oracle數(shù)據(jù)庫(kù)中非常重要的組件之一。它的主要作用是接受遠(yuǎn)端連接,將客戶端的請(qǐng)求傳遞到數(shù)據(jù)庫(kù)服務(wù)中去,并返回結(jié)果給客戶端。因此,Oracle 11g Listener的穩(wěn)定運(yùn)行是保證數(shù)據(jù)庫(kù)正常運(yùn)行的關(guān)鍵之一。
Oracle 11g Listener的配置非常靈活,可以通過(guò)多種方式來(lái)建立和配置Listener。其中,最常見的方式是通過(guò)Oracle Net Configuration Assistant配置TNS(Transparent Network Substrate)名稱,在tnsnames.ora文件中指定監(jiān)聽器的監(jiān)聽地址。例如:
ORCL = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.105)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl) ) )
在這個(gè)示例中,ORCL就是TNS名稱,192.168.0.105是監(jiān)聽地址,1521是監(jiān)聽端口號(hào)。通過(guò)這種方式,客戶端就可以通過(guò)ORCL這個(gè)TNS名稱來(lái)訪問(wèn)數(shù)據(jù)庫(kù)服務(wù)了。
除了配置TNS名稱以外,還可以直接在Listener.ora文件中指定監(jiān)聽器的監(jiān)聽地址和端口號(hào)。例如:
LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.105)(PORT = 1521)) ) ) SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (SID_NAME = orcl) (ORACLE_HOME = /u01/app/oracle/product/11.2.0/dbhome_1) (PROGRAM = extproc) (ENVS = "LD_LIBRARY_PATH=/u01/app/oracle/product/11.2.0/dbhome_1/lib") ) )
在這個(gè)示例中,Listener監(jiān)聽地址和端口號(hào)直接在DESCRIPTION_LIST下面進(jìn)行了配置,同時(shí)也可以看到Listener監(jiān)聽的服務(wù)名稱是orcl。在SID_LIST_LISTENER中,也指定了數(shù)據(jù)庫(kù)服務(wù)orcl所在的ORACLE_HOME、extproc程序及其環(huán)境變量。
除了上述方法以外,還可以使用Oracle Enterprise Manager來(lái)進(jìn)行Listener的配置。這種方法比較直觀,適合初學(xué)者使用。
總體來(lái)說(shuō),Oracle 11g Listener的配置非常靈活,可以根據(jù)實(shí)際情況進(jìn)行選擇。無(wú)論采用何種方式,都需要保證Listener的正確配置和正常運(yùn)行,以便保證數(shù)據(jù)庫(kù)的穩(wěn)定性和安全性。