国产福利在线播放|久久精品福利网站免费|国产呻吟视频在线观看|日韩一区二区三区免费高清|久996视频精品免费观看|欧美日本在线一区二区三区|在线最新无码经典无码免費資訊|国产午夜亚洲精品国产成人最大

始創(chuàng)于2000年 股票代碼:831685
咨詢(xún)熱線:0371-60135900 注冊(cè)有禮 登錄
  • 掛牌上市企業(yè)
  • 60秒人工響應(yīng)
  • 99.99%連通率
  • 7*24h人工
  • 故障100倍補(bǔ)償
全部產(chǎn)品
您的位置: 網(wǎng)站首頁(yè) > 幫助中心>文章內(nèi)容

Oracle監(jiān)聽(tīng)器(listener)配置心得

發(fā)布時(shí)間:  2012/8/29 17:51:49

一、配置初衷
Oracle雖然用了多年,但是一直僅僅是用而已,沒(méi)有深入看過(guò)oracle的東東。第一次,自己在服務(wù)器上完整創(chuàng)建并且配置一個(gè)oracle服務(wù)器,問(wèn)題馬上就出現(xiàn)了:

嚴(yán)重: 監(jiān)聽(tīng)程序未啟動(dòng)或數(shù)據(jù)庫(kù)服務(wù)未注冊(cè)到該監(jiān)聽(tīng)程序。啟動(dòng)該監(jiān)聽(tīng)程序并注冊(cè)數(shù)據(jù)庫(kù)服務(wù), 然后重新運(yùn)行 EM Configuration Assistant。

有關(guān)詳細(xì)資料, 請(qǐng)參閱 D:\Oracle\cfgtoollogs\dbca\orcl\emConfig.log 中的日志文件。

參考:http://www.linuxidc.com/Linux/2011-09/44122.htm

但是始終沒(méi)有解決。(ps:也可能是我自身問(wèn)題)

所以,決定拎起袖子,跨界學(xué)習(xí)一下Oracle中的監(jiān)聽(tīng)器吧。

二、監(jiān)聽(tīng)器的原理理解

關(guān)于監(jiān)聽(tīng)器的理解,不妨可以參考這篇文章:http://www.linuxidc.com/Linux/2011-09/42089.htm

以下,就談?wù)勎易约旱臏\薄的理解吧:

首先,我覺(jué)得監(jiān)聽(tīng)器的設(shè)計(jì)使用了代理模式,而監(jiān)聽(tīng)器正正是代理模式中所描述的代理。當(dāng)客戶(hù)端對(duì)數(shù)據(jù)庫(kù)發(fā)生請(qǐng)求的時(shí)候,監(jiān)聽(tīng)器就作為這個(gè)客戶(hù)端的代理,發(fā)出對(duì)數(shù)據(jù)庫(kù)實(shí)例的請(qǐng)求。當(dāng)數(shù)據(jù)庫(kù)實(shí)例的server 進(jìn)程收到監(jiān)聽(tīng)器轉(zhuǎn)發(fā)過(guò)來(lái)的請(qǐng)求時(shí)候,會(huì)做出響應(yīng)。而這個(gè)響應(yīng)也是通過(guò)監(jiān)聽(tīng)器轉(zhuǎn)發(fā)給客戶(hù)端。不難發(fā)現(xiàn),客戶(hù)端與數(shù)據(jù)庫(kù)實(shí)例之間的交互是間接完成的,在他們中間就存在著一個(gè)中間人-監(jiān)聽(tīng)器。

但是,有一點(diǎn)我們需要注意的,客戶(hù)端永遠(yuǎn)不知道他請(qǐng)求的數(shù)據(jù)庫(kù)實(shí)例是什么,唯一知道的只是數(shù)據(jù)庫(kù)所在的服務(wù)器的某個(gè)服務(wù)的名字以及這個(gè)數(shù)據(jù)庫(kù)分配給他的用戶(hù)名和密碼。這就好比我們?nèi)ベI(mǎi)蘋(píng)果產(chǎn)品,我們買(mǎi)的時(shí)候去的只是代理商的店面,只知道產(chǎn)品是蘋(píng)果公司賣(mài)的,但產(chǎn)品到底是由哪家代工公司生產(chǎn)的,作為消費(fèi)者的我們一無(wú)所知。

但是,歸根到底,總該有那么一個(gè)機(jī)制,負(fù)責(zé)維護(hù)“服務(wù)”,“監(jiān)聽(tīng)器”,“數(shù)據(jù)庫(kù)實(shí)例”三者之間的關(guān)系吧。答案是有的,請(qǐng)看下面的內(nèi)容。

三、相應(yīng)的三個(gè)配置文件:sqlnet.ora,tnsnames.ora,listener.ora(路徑:$Oracle_home\NETWORK\ADMIN;默認(rèn)情況下安裝的話,大概如此:D:\app\Administrator\product\11.2.0\dbhome_2\NETWORK\ADMIN)

考慮一下,以下的一種情況:

假如,我們需要連接到一個(gè)數(shù)據(jù)庫(kù)上的名字為mzoa的實(shí)例并且這個(gè)數(shù)據(jù)庫(kù)實(shí)例里面有一個(gè)密碼為:a,用戶(hù)名為:sysman的賬號(hào)。但是,我們不知道這個(gè)數(shù)據(jù)庫(kù)實(shí)例的名字,只知道這個(gè)數(shù)據(jù)庫(kù)服務(wù)器向外提供了一個(gè)名為“mzoa”的“服務(wù)”,至于我們需要請(qǐng)求的數(shù)據(jù)庫(kù)的實(shí)例的名字是什么,我們一無(wú)所知。但是,盡管如此,我們還是能夠連接上我們需要找到的數(shù)據(jù)庫(kù)實(shí)例-mzoa。(ps:實(shí)例名字“mzoa”與服務(wù)名字“mzoa”不是必然相同的,可以在創(chuàng)建實(shí)例的時(shí)候加以修改的!)

不信?可以看看下面……

我們可以在cmd里面完成以下的連接操作:

C:\Users\Administrator>sqlplus sysman/a@I_AM_SERIVCE

SQL*Plus: Release 11.2.0.1.0 Production on 星期二 9月 2714:15:162011

Copyright (c) 1982, 2010, Oracle.  All rights reserved.


連接到:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0- Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL>
 至于為什么能這樣子?我想上面的三個(gè)配置文件:sqlnet.ora,tnsnames.ora,listener.ora足以說(shuō)明問(wèn)題。

我們先將這三個(gè)配置文件分分類(lèi)。sqlnet.ora,tnsnames.ora屬于客戶(hù)端,listener.ora屬于服務(wù)器端。

第一類(lèi),客戶(hù)端文件:sqlnet.ora,tnsnames.ora

 在我們上面的操作過(guò)程中,我們使用了以下的語(yǔ)句:

sqlplus sysman/a@I_AM_SERIVCE


“I_AM_SERIVCE”不是一個(gè)“服務(wù)”的名字,但是至于這個(gè)名字有什么內(nèi)涵。我們需要Oracle客戶(hù)端做出解釋。(注意:這里的oracle客戶(hù)端指的是oracle客戶(hù)端軟件對(duì)應(yīng)的進(jìn)程集)

Oracle客戶(hù)端是這樣子完成對(duì)“I_AM_SERIVCE”這一個(gè)名字作出解釋的:

步驟一:

查看sqlnet.ora配置文件,內(nèi)容如下:

SQLNET.AUTHENTICATION_SERVICES= (NTS)

NAMES.DIRECTORY_PATH= (TNSNAMES,HOSTNAME,EZCONNECT)

其中第二個(gè)條目NAMES.DIRECTORY_PATH,從左至右,指示首先由哪些文件來(lái)解釋名字。

如上面的例子,就是指示,先由TNSNAMES.ora文件,然后是客戶(hù)端所在系統(tǒng)的hosts文件……解釋名字

步驟二:

因?yàn),sqlnet.ora文件指出先由TNSNAMES.ora文件解釋。

我們查看TNSNAMES.ora文件,里面關(guān)于“I_AM_SERIVCE”有以下的內(nèi)容:

I_AM_SERIVCE=         
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST =127.0.0.1)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = mzoa)
    )
  )
 

在這里我們可以清晰看到關(guān)于這個(gè)“I_AM_SERIVCE”的名字的詳細(xì)信息了。通過(guò)這個(gè)名字,我們可以請(qǐng)求數(shù)據(jù)庫(kù)服務(wù)器所在地址:127.0.0.1,“服務(wù)”的名字是“mzoa”。

而端口號(hào):1521正是我們這篇文章的主人公監(jiān)聽(tīng)器(listener)正在監(jiān)聽(tīng)的端口號(hào)。

通過(guò)以上信息,我們可以知道客戶(hù)端的請(qǐng)求可以通過(guò)訪問(wèn)服務(wù)器“服務(wù)”的形式發(fā)送到監(jiān)聽(tīng)器(listener)上。

 

第二類(lèi),服務(wù)器端:listener.ora。

內(nèi)容以及解釋如下:

# listener.ora Network Configuration File: D:\app\Administrator\product\11.2.0\dbhome_2\network\admin\listener.ora
# Generated by Oracle configuration tools.

#下面定義監(jiān)聽(tīng)器(LISTENER)進(jìn)程為哪個(gè)實(shí)例提供服務(wù)
#revised by kaiwii
SID_LIST_LISTENER =
  (SID_LIST =
  #實(shí)例描述條目1:
    (SID_DESC = #被提供服務(wù)的實(shí)例;desc:description
      (SID_NAME = CLRExtProc)
      (Oracle_HOME = D:\app\Administrator\product\11.2.0\dbhome_2)
      (PROGRAM = extproc)
      (ENVS = "EXTPROC_DLLS=ONLY:D:\app\Administrator\product\11.2.0\dbhome_2\bin\oraclr11.dll")
    )
  #實(shí)例描述條目2:
    (SID_DESC = #被提供服務(wù)的實(shí)例;desc:description
      (SID_NAME = mzoa)
      (Oracle_HOME = D:\app\Administrator\product\11.2.0\dbhome_2)
      (GLOBAL_DBNAME = mzoa)
    )
   
  )
 
#一臺(tái)數(shù)據(jù)庫(kù)可以有不止一個(gè)監(jiān)聽(tīng)器。接下來(lái)是,其中一個(gè)監(jiān)聽(tīng)器的詳細(xì)描述。
#這個(gè)監(jiān)聽(tīng)器的名字為“LISTENER”,通過(guò) “LISTENER =”來(lái)指定。
#再向下面就是指定監(jiān)聽(tīng)器(“LISTENER”)所監(jiān)聽(tīng)的位置(位置可以不止一個(gè))。而某一個(gè)位置,我們可以通過(guò)
#設(shè)定監(jiān)聽(tīng)的協(xié)議,ip,端口等信息來(lái)指明。
#revised by kaiwii
LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
      (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
      (ADDRESS = (PROTOCOL = TCP)(HOST = SuDa-20110705FF)(PORT = 1521))
    )
  )

ADR_BASE_LISTENER = D:\app\Administrator


 

從中,我們不難發(fā)現(xiàn),其實(shí)客戶(hù)端中考究的“服務(wù)”名字貌似在服務(wù)器端不起什么作用。監(jiān)聽(tīng)器都是通過(guò)監(jiān)聽(tīng)某個(gè)host下的端口,得到客戶(hù)端發(fā)來(lái)的請(qǐng)求的,然后,再將此請(qǐng)求發(fā)送到實(shí)例中去的。但是,到底是不是這回事。希望看到這篇文章的朋友,可以跟我交流一下。

三、修改監(jiān)聽(tīng)器的信息

具體步驟,可以參考這篇文章:

Oracle: listener.ora 、sqlnet.ora 、tnsnames.ora的配置及例子 http://www.linuxidc.com/Linux/2011-09/44121.htm

接下來(lái),就說(shuō)說(shuō)我自己的一些看法。

1、每次修改監(jiān)聽(tīng)器所涉及到的三個(gè)配置文件:sqlnet.ora,tnsnames.ora,listener.ora,必須首先關(guān)閉監(jiān)聽(tīng)器,修改成功后再打開(kāi)。

具體做法:a、windows用戶(hù)可以通過(guò)關(guān)閉/開(kāi)啟服務(wù)的方式完成b、通過(guò)命令的方式

2、推薦通過(guò)修改配置文件的方式,完成修改工作。

好吧,就說(shuō)這些,希望上面的內(nèi)容對(duì)你有用。。。。。!


本文出自:億恩科技【www.riomediacenter.com】

服務(wù)器租用/服務(wù)器托管中國(guó)五強(qiáng)!虛擬主機(jī)域名注冊(cè)頂級(jí)提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM]

  • 您可能在找
  • 億恩北京公司:
  • 經(jīng)營(yíng)性ICP/ISP證:京B2-20150015
  • 億恩鄭州公司:
  • 經(jīng)營(yíng)性ICP/ISP/IDC證:豫B1.B2-20060070
  • 億恩南昌公司:
  • 經(jīng)營(yíng)性ICP/ISP證:贛B2-20080012
  • 服務(wù)器/云主機(jī) 24小時(shí)售后服務(wù)電話:0371-60135900
  • 虛擬主機(jī)/智能建站 24小時(shí)售后服務(wù)電話:0371-60135900
  • 專(zhuān)注服務(wù)器托管17年
    掃掃關(guān)注-微信公眾號(hào)
    0371-60135900
    Copyright© 1999-2019 ENKJ All Rights Reserved 億恩科技 版權(quán)所有  地址:鄭州市高新區(qū)翠竹街1號(hào)總部企業(yè)基地億恩大廈  法律顧問(wèn):河南亞太人律師事務(wù)所郝建鋒、杜慧月律師   京公網(wǎng)安備41019702002023號(hào)
      0
     
     
     
     

    0371-60135900
    7*24小時(shí)客服服務(wù)熱線