什么是Oracle監(jiān)聽器-創(chuàng)新互聯(lián)

這篇文章給大家介紹什么是Oracle監(jiān)聽器,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計(jì)、雙河網(wǎng)絡(luò)推廣、重慶小程序開發(fā)、雙河網(wǎng)絡(luò)營銷、雙河企業(yè)策劃、雙河品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們大的嘉獎;創(chuàng)新互聯(lián)為所有大學(xué)生創(chuàng)業(yè)者提供雙河建站搭建服務(wù),24小時服務(wù)熱線:18980820575,官方網(wǎng)址:muchs.cn

一直想寫寫監(jiān)聽器。

Oracle監(jiān)聽器listener是一個重要的數(shù)據(jù)庫服務(wù)器組件,在整個Oracle體系結(jié)構(gòu)中,扮演著重要的作用。

監(jiān)聽器Lisener功能

從當(dāng)前的Oracle版本看,Listener主要負(fù)責(zé)下面的幾方面功能:

1、  監(jiān)聽客戶端請求。監(jiān)聽器運(yùn)行在數(shù)據(jù)庫服務(wù)器之上,與Oracle實(shí)例(可為多個)相關(guān)關(guān)聯(lián),是一個專門的進(jìn)程process,在windows的服務(wù)項(xiàng)目或者Linux的運(yùn)行進(jìn)程列表中,都會看到對應(yīng)的運(yùn)行進(jìn)程。Windows上名為TNSLSNR,Linux/Unix平臺上是lsnrctl。監(jiān)聽器守候在服務(wù)器制定端口(默認(rèn)為:1521),監(jiān)聽客戶端的請求。

2、  為客戶端請求分配Server Process。監(jiān)聽器只負(fù)責(zé)接聽請求,之后將請求轉(zhuǎn)接給Oracle Server Process。在Oracle的服務(wù)模式下,客戶端進(jìn)程是不允許直接操作數(shù)據(jù)庫實(shí)例和數(shù)據(jù),而是通過一個服務(wù)進(jìn)程Server Process(也稱為影子進(jìn)程)作為代理。監(jiān)聽器接受到請求之后,就向操作系統(tǒng)(或者Dispatcher組件)要求fork(或分配)一個Server Process與客戶端相連。

3、  注冊實(shí)例服務(wù)。本質(zhì)上將,listener是建立實(shí)例和客戶端進(jìn)程之間聯(lián)系的橋梁。Listener與實(shí)例之間的聯(lián)系,就是通過注冊的過程來實(shí)現(xiàn)的。注冊的過程就是實(shí)例告訴監(jiān)聽器,它的數(shù)據(jù)庫數(shù)據(jù)庫實(shí)例名稱instance_name和服務(wù)名service_names。監(jiān)聽器注冊上這樣的信息,對客戶端請求根據(jù)監(jiān)聽注冊信息,找到正確的服務(wù)實(shí)例名稱。目前Oracle版本中,提供動態(tài)注冊和靜態(tài)注冊兩種方式。

4、  錯誤轉(zhuǎn)移failover。Failover是RAC容錯的一個重要方面功能,其功能是在數(shù)據(jù)庫實(shí)例崩潰的時候,可以自動將請求轉(zhuǎn)移到其他可用實(shí)例上的一種功能。可以提供很大程度上的可用性(Availability)功能。這個過程中,發(fā)現(xiàn)實(shí)例已經(jīng)崩潰,并且將請求轉(zhuǎn)移到其他實(shí)例上,就屬于是listener的功能。

5、  負(fù)載均衡衡量。在RAC架構(gòu)中,Oracle實(shí)現(xiàn)了負(fù)載均衡。當(dāng)一個客戶請求到來時,Oracle會根據(jù)當(dāng)前RAC集群環(huán)境中所有實(shí)例的負(fù)載情況,避開負(fù)載較高的實(shí)例,將請求轉(zhuǎn)移到負(fù)載較低的實(shí)例進(jìn)行處理。在早期RAC版本中,負(fù)載輕重的衡量是根據(jù)監(jiān)聽器當(dāng)前維護(hù)連接數(shù)目來確定的,而不是實(shí)時查看多實(shí)例的負(fù)載。RAC環(huán)境中的監(jiān)聽器之間進(jìn)行溝通通信。

 

下面的部分,會從幾個方面對監(jiān)聽器進(jìn)行簡單介紹。

 

監(jiān)聽器操作

 

監(jiān)聽器在Windows和Linux/Unix平臺上,都是可以直接操作的。下面以Windows平臺操作為例,其他平臺類似。

 

在命令行窗口(CMD),輸入lsnrctl,就可以進(jìn)入監(jiān)聽器控制窗口。

 

C:\Documents and Settings\Administrator>lsnrctl

 

LSNRCTL for 32-bit Windows: Version 10.2.0.1.0 - Production on 26-12月-2010 21:5

3:04

 

Copyright (c) 1991, 2005, Oracle.  All rights reserved.

 

歡迎來到LSNRCTL, 請鍵入"help"以獲得信息。

 

LSNRCTL>

 

通過輸入命令help,可以查看支持的監(jiān)聽器操作。下面僅介紹常用的幾個。

 

1、  查看當(dāng)前監(jiān)聽器狀態(tài)

敲入status,可以查看當(dāng)前監(jiān)聽器的狀態(tài),對應(yīng)操作日志信息和服務(wù)注冊信息等內(nèi)容。如下:

 

LSNRCTL> status

//連接監(jiān)聽器的名稱和信息:主機(jī)名+監(jiān)聽端口號

正在連接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=www-0e6111dff74)(PORT=1521)

))

LISTENER 的 STATUS

------------------------

別名                      LISTENER

版本                      TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 – Production //Listener版本信息,在一臺機(jī)器多實(shí)例的情況下,很重要!因?yàn)榘姹緦?yīng)向下兼容

啟動日期                  26-12月-2010 19:38:03 //啟動服務(wù)時間

正常運(yùn)行時間              0 天 2 小時 23 分 51 秒

跟蹤級別                  off  //調(diào)試信息,可以設(shè)置針對監(jiān)聽器的跟蹤

安全性                    ON: Local OS Authentication  //表明啟動、關(guān)閉監(jiān)聽器的操作權(quán)限是通過OS驗(yàn)證實(shí)現(xiàn)的。也就意味著,可以對監(jiān)聽器設(shè)置密碼項(xiàng)目,也是Oracle安全配置的一個重要方面;

SNMP                      OFF //SNMP協(xié)議開啟情況

監(jiān)聽程序參數(shù)文件          D:\oracle\network\admin\listener.ora //使用的參數(shù)

監(jiān)聽程序日志文件          D:\oracle\network\log\listener.log //操作日志位置

監(jiān)聽端點(diǎn)概要...

  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=www-0e6111dff74)(PORT=1521)))

服務(wù)摘要.. //當(dāng)前已經(jīng)注冊在監(jiān)聽器中的服務(wù)列表

服務(wù) "PLSExtProc" 包含 1 個例程。

  例程 "PLSExtProc", 狀態(tài) UNKNOWN, 包含此服務(wù)的 1 個處理程序...

服務(wù) "orcl" 包含 1 個例程。

  例程 "orcl", 狀態(tài) READY, 包含此服務(wù)的 1 個處理程序...

服務(wù) "orclXDB" 包含 1 個例程。

  例程 "orcl", 狀態(tài) READY, 包含此服務(wù)的 1 個處理程序...

服務(wù) "orcl_XPT" 包含 1 個例程。

  例程 "orcl", 狀態(tài) READY, 包含此服務(wù)的 1 個處理程序...

命令執(zhí)行成功

 

上面通過紅字,已經(jīng)對結(jié)果進(jìn)行一定程度說明。其中,需要額外注意的下面幾項(xiàng)內(nèi)容。

 

監(jiān)聽程序參數(shù)文件          D:\oracle\network\admin\listener.ora //使用的參數(shù)

 

監(jiān)聽器啟動時依據(jù)參數(shù)文件的,當(dāng)然沒有參數(shù)文件監(jiān)聽器也是可以啟動,那時監(jiān)聽器依據(jù)默認(rèn)的行為操作。這個參數(shù)指定了監(jiān)聽器參數(shù)文件的位置,listener.ora。這個文件是一個文本類型參數(shù)文件,描述了監(jiān)聽器監(jiān)聽端口,主機(jī)名稱和靜態(tài)注冊信息。Listener.ora是隨著數(shù)據(jù)庫實(shí)例的建立之后,建立監(jiān)聽器的過程中動態(tài)配置的。

 

監(jiān)聽程序日志文件          D:\oracle\network\log\listener.log //操作日志位置

 

監(jiān)聽器日志,是一個記錄和描述監(jiān)聽器工作和錯誤的信息庫。通過仔細(xì)研究日志內(nèi)容,可以幫助我們發(fā)現(xiàn)當(dāng)前的監(jiān)聽器的問題、解決連接故障和深入理解監(jiān)聽器工作原理。

 

服務(wù) "orcl" 包含 1 個例程。

  例程 "orcl", 狀態(tài) READY, 包含此服務(wù)的 1 個處理程序...

 

上文中已經(jīng)說明,監(jiān)聽器有注冊功能,通過status命令(services命令同樣效果)??梢圆榭吹疆?dāng)前有什么服務(wù)被注冊上,用來檢查連接服務(wù)失敗,是常用的工具。

 

2、開啟/關(guān)閉監(jiān)聽器

監(jiān)聽器的行為受到參數(shù)文件的控制,我們有時候需要調(diào)整監(jiān)聽器的參數(shù)。調(diào)整監(jiān)聽參數(shù)的方法,可以通過Oracle提供的GUI界面完成,還可以通過手工修改listener.ora來完成。

 

因?yàn)閰?shù)文件listener.ora是一個文本文件。Oracle對于文本類型的參數(shù)文件,大多數(shù)情況下是不支持熱加載的。Pfile和listener.ora都是如此。

 

使用界面GUI,就是使用Net Configuration Assistant來配置。配置完成后,配置程序會自動重新啟動監(jiān)聽器程序,來加載修改的參數(shù)文件。如果采用手工修改listener.ora,就必須要手工的進(jìn)行監(jiān)聽程序關(guān)閉和啟動。

 

LSNRCTL> stop

正在連接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=www-0e6111dff74)(PORT=1521)

))

命令執(zhí)行成功

LSNRCTL> start

啟動tnslsnr: 請稍候...

 

TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Production

系統(tǒng)參數(shù)文件為D:\oracle\network\admin\listener.ora

寫入D:\oracle\network\log\listener.log的日志信息

監(jiān)聽: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=www-0e6111dff74)(PORT=1521)))

 

正在連接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=www-0e6111dff74)(PORT=1521)

))

LISTENER 的 STATUS

------------------------

別名                      LISTENER

版本                      TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Production

啟動日期                  26-12月-2010 22:32:34

正常運(yùn)行時間              0 天 0 小時 0 分 2 秒

跟蹤級別                  off

安全性                    ON: Local OS Authentication

SNMP                      OFF

監(jiān)聽程序參數(shù)文件          D:\oracle\network\admin\listener.ora

監(jiān)聽程序日志文件          D:\oracle\network\log\listener.log

監(jiān)聽端點(diǎn)概要...

  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=www-0e6111dff74)(PORT=1521)))

服務(wù)摘要..

服務(wù) "PLSExtProc" 包含 1 個例程。

  例程 "PLSExtProc", 狀態(tài) UNKNOWN, 包含此服務(wù)的 1 個處理程序...

命令執(zhí)行成功

 

這里多說一句關(guān)于監(jiān)聽器的參數(shù)配置。使用GUI可以滿足大部分的情況,而且可以避免拼寫錯誤引發(fā)的監(jiān)聽器故障(監(jiān)聽器不會檢查配置項(xiàng)目的正確與否)。但是,在一些比較復(fù)雜的情況下,比如一臺機(jī)器綁定多個IP的情況,或者RAC的復(fù)雜功能配置上,還是傾向于使用手工編寫listener.ora的方法。

此外,lsnrctl提示行還提供了reload命令,可以在listener啟動的情況下,重新加載文件和SID信息。但是筆者還是比較喜歡stop+start的組合。

如果是在windows平臺下,啟動關(guān)閉監(jiān)聽器還可以在系統(tǒng)服務(wù)項(xiàng)目列表中操作,效果是一樣的。

了解了監(jiān)聽器工具,下期讓我們看看監(jiān)聽器是怎么工作的。

關(guān)于什么是Oracle監(jiān)聽器就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

網(wǎng)站題目:什么是Oracle監(jiān)聽器-創(chuàng)新互聯(lián)
地址分享:http://muchs.cn/article8/dejgip.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版、電子商務(wù)、虛擬主機(jī)、移動網(wǎng)站建設(shè)、響應(yīng)式網(wǎng)站微信公眾號

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站建設(shè)網(wǎng)站維護(hù)公司