主頁 > 知識庫 > Oracle客戶端的安裝與遠程連接配置方法分享

Oracle客戶端的安裝與遠程連接配置方法分享

熱門標簽:鐵路電話系統(tǒng) AI電銷 地方門戶網(wǎng)站 Linux服務器 百度競價排名 呼叫中心市場需求 服務外包 網(wǎng)站排名優(yōu)化

一、Oracle客戶端與服務器端的通訊機制

    1、OracleNet協(xié)議

   如下圖所示,Oracle通過Oracle Net協(xié)議實現(xiàn)客戶端與服務器端的連接以及數(shù)據(jù)傳遞。OracleNet是同時駐留在Oracle數(shù)據(jù)庫服務器端和客戶端上的一個軟件層,它封裝了TCP/IP協(xié)議,負責建立與維護客戶端應用程序到數(shù)據(jù)庫服務器的連接。

     如下圖所示,客戶端發(fā)出的請求首先通過OracleNet協(xié)議轉換,轉換成可以通過網(wǎng)絡傳輸?shù)男畔?,通過TCP/IP網(wǎng)絡將請求傳輸?shù)綌?shù)據(jù)庫服務器端;服務器端接受到客戶請求后要通過OracleNet協(xié)議轉換,將請求轉換成數(shù)據(jù)庫可以解釋執(zhí)行的本地指令,并在服務器端執(zhí)行(主要是一些輸入輸出操作),并將結果通過TCP/IP協(xié)議和OracleNet協(xié)議傳輸給客戶端顯示。           

 

   2、客戶端與服務器端的連接過程

   在分析客戶端與服務器端的連接機制之前,先要定義兩個概念,一個是Oracle監(jiān)聽器,一個是Oracle網(wǎng)絡服務名。

   Oracle數(shù)據(jù)庫服務器通過一個名為“OracleNet監(jiān)聽器”的組件接收來自客戶端的連接請求。監(jiān)聽器是位于服務器端的一個后臺進程,發(fā)送給數(shù)據(jù)庫的客戶端連接請求,首先被服務器端的監(jiān)聽器所偵聽,并將請求所轉交給對應的數(shù)據(jù)庫實例,從而建立起客戶端與服務器的連接。連接建立后,客戶端與服務器端就可以直接進行通訊,不再需要監(jiān)聽器參與。

   要實現(xiàn)監(jiān)聽器對客戶請求的監(jiān)聽,需要對監(jiān)聽器進行配置,包括監(jiān)聽端口、監(jiān)聽器所在數(shù)據(jù)庫的全局數(shù)據(jù)庫名稱、數(shù)據(jù)庫實例等信息。

   Oracle網(wǎng)絡服務名是一個標識符,它代表著客戶端連接服務器的配置信息(實際上就是連接請求的內(nèi)容),包括數(shù)據(jù)庫主機地址、監(jiān)聽端口、全局數(shù)據(jù)庫名稱等內(nèi)容((有關全局數(shù)據(jù)庫、數(shù)據(jù)庫實例等,請參考Oracle數(shù)據(jù)庫安裝部分)。

 

   如圖所示,客戶端與服務端的連接過程為:

   (1)首先在服務器端有一個常駐的監(jiān)聽器(監(jiān)聽服務要打開)監(jiān)聽客戶端發(fā)出的連接請求。
   (2)用戶在客戶端(企業(yè)服務器或SQL工具)輸入用戶名、口令及網(wǎng)絡服務名,或在SQL命令行中輸入類似“CONNECTusername/password@net_Service_name”的類似請求。
   (3)客戶端查看網(wǎng)絡服務配置文件tnsname.ora,將網(wǎng)絡服務名映射為包含Oracle服務器地址、監(jiān)聽端口和全局數(shù)據(jù)庫名的連接描述符。
  (4)客戶端根據(jù)連接描述符定位監(jiān)聽器,并通過網(wǎng)絡將連接信息傳遞給監(jiān)聽器。
   (5)監(jiān)聽器查詢監(jiān)聽配置文件listener.ora,找出所要連接的數(shù)據(jù)庫服務器。
   (6)客戶機和服務器開始通信。

二、監(jiān)聽器配置

   1、添加和配置監(jiān)聽器

   如下圖所示使用Oracle Net Configuration Asistant工具添加并配置服務器的監(jiān)聽器:

 

   監(jiān)聽程序配置完成后,數(shù)據(jù)庫系統(tǒng)會自動啟動該監(jiān)聽器。

   添加和配置監(jiān)聽器后也可以使用Oracle NetManager工具查看和修改監(jiān)聽器配置,如監(jiān)聽位置、監(jiān)聽器所服務的全局數(shù)據(jù)庫名稱等。如下圖所示:


 

   對于本安裝,監(jiān)聽器配置信息記錄在E:\Oracle_Server\oracle\ora92\network\admin\listener.ora文件中。其主要內(nèi)容如下:

   LISTENER=
    (DESCRIPTION_LIST =
      (DESCRIPTION =
        (ADDRESS_LIST =
           (ADDRESS = (PROTOCOL = TCP)(HOST = tsinghua-p5z3mm)(PORT =1521))
         )
       )
    )

   SID_LIST_LISTENER =
    (SID_LIST=
     (SID_DESC =
       (SID_NAME = PLSExtProc)
         (ORACLE_HOME = E:\Oracle_Server\oracle\ora92)
           (PROGRAM = extproc)
        )
       (SID_DESC =
         (GLOBAL_DBNAME = mydb.bawei)
           (ORACLE_HOME = E:\Oracle_Server\oracle\ora92)
             (SID_NAME = mydb)
          )
        )

三、客戶端工具的安裝與網(wǎng)絡服務的配置

    可以在不同于數(shù)據(jù)庫主機的其它機器安裝客戶端工具,并通過配置客戶端網(wǎng)絡服務,連接到數(shù)據(jù)庫服務器??蛻舳税惭b與配置過程如下圖所示(本安裝將客戶端安裝在了與數(shù)據(jù)庫同一臺機器的不同目錄中,模擬遠程訪問數(shù)據(jù)庫的情況):

   在安裝了客戶端并配置了客戶端網(wǎng)絡服務名之后就可以從客戶端工具登錄和訪問遠端數(shù)據(jù)庫服務器了。對于本安裝,客戶端網(wǎng)絡服務配置記錄在E:\Oracle_Client\oracle\ora92\network\admin\tnsnames.ora文件中,其主要內(nèi)容如下:

    REMOTEDB=
    (DESCRIPTION =
      (ADDRESS_LIST =
        (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.10.6)(PORT =1521))
       )
      (CONNECT_DATA =
        (SERVICE_NAME = mydb.bawei)
       )
    )

   這樣,當在客戶端工具中輸入網(wǎng)絡服務名remotedb時,將被解析為數(shù)據(jù)庫地址、端口、全局數(shù)據(jù)庫名等信息,與輸入的用戶名、密碼一起發(fā)送到服務器端,由監(jiān)聽器接收,并與監(jiān)聽配置文件對照,將請求轉交給相應的數(shù)據(jù)庫實例處理。

   客戶端網(wǎng)絡服務可以使用客戶端的Oracle Net Manager工具進行修改,也可以添加新的客戶端網(wǎng)絡服務名。

   

   需要指出的是

   服務器端的客戶工具(SQL PLUS、企業(yè)管理控制臺等)與數(shù)據(jù)庫服務的連接機制與遠程客戶端連接是一樣的。
   在安裝完Oracle數(shù)據(jù)庫后,系統(tǒng)默認在數(shù)據(jù)庫服務器本地安裝了SQLPLUS等客戶端工具,而且在監(jiān)聽配置文件的相同位置E:\Oracle_Server\oracle\ora92\network\admin文件夾中默認提供了服務器端的網(wǎng)絡服務連接配置文件tnsnames.ora,其中包含一個與數(shù)據(jù)庫實例SID同名的網(wǎng)絡服務名配置,包括數(shù)據(jù)庫所在主機名或ip地址、監(jiān)聽端口、數(shù)據(jù)庫服務名(全局數(shù)據(jù)庫名)等。對于本安裝,該tnsnames.ora文件主要內(nèi)容如下:

  MYDB =
  (DESCRIPTION =
   (ADDRESS_LIST =
     (ADDRESS = (PROTOCOL = TCP)(HOST = tsinghua-p5z3mm)(PORT =1521))
    )
   (CONNECT_DATA =
     (SERVER = DEDICATED)
     (SERVICE_NAME = mydb.bawei)
    )
  )

   當使用數(shù)據(jù)庫服務器端的客戶工具時,和從遠程客戶機連接服務器一樣,也是根據(jù)輸入的用戶名、密碼及網(wǎng)絡服務名(或類似CONNECTusername/password@net_Service_name的SQL命令行),查找tnsnames.ora文件,找到網(wǎng)絡連接服務名等于net_Service_name的一項,并獲取數(shù)據(jù)庫主機地址、監(jiān)聽端口、全局數(shù)據(jù)庫名等信息。

   該請求信息同樣被傳輸?shù)奖O(jiān)聽端口,監(jiān)聽器再將該信息與同在文件夾E:\Oracle_Server\oracle\ora92\network\admin中的listener.ora監(jiān)聽器配置文件對照,如果listener.ora監(jiān)聽器配置文件中包含匹配的項,則將該請求轉給對應的數(shù)據(jù)庫實例。

   由此可見,服務器端的客戶端工具與數(shù)據(jù)庫服務的連接與遠程客戶端連接一樣,執(zhí)行了相同的的過程。
   實際上,服務器端的客戶工具是通過服務器端tnsnames.ora和listener.ora進行驗證并建立連接;遠程客戶端是通過客戶端的tnsnames.ora和服務器端的listener.ora執(zhí)行驗證和建立連接。

您可能感興趣的文章:
  • 利用Oracle數(shù)據(jù)庫發(fā)送郵件的實例代碼
  • Oracle 存儲過程發(fā)送郵件實例學習
  • oracle 發(fā)送郵件 實現(xiàn)方法
  • pl/sql連接遠程oracle服務器的配置教程
  • oracle數(shù)據(jù)庫tns配置方法詳解
  • Oracle 11g 客戶端的安裝和配置的圖文教程
  • Oracle Database 10g數(shù)據(jù)庫安裝及配置教程
  • Oracle 配置連接遠程數(shù)據(jù)庫的教程
  • Oracle 10g安裝配置方法圖文教程
  • ORACLE 配置郵件服務器操作示例

標簽:蘭州 銅川 湘潭 黃山 崇左 湖南 衡水 仙桃

巨人網(wǎng)絡通訊聲明:本文標題《Oracle客戶端的安裝與遠程連接配置方法分享》,本文關鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266