久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

淺談Oracle數(shù)據(jù)庫的網(wǎng)絡應用-入門基礎(chǔ)

 krrish 2010-07-27
ORACLE數(shù)據(jù)庫有極強的網(wǎng)絡功能,,它支持各種網(wǎng)絡協(xié)議,,如TCP/IP、SPX/IPX,、X.25,、LU6.2、Decnet等等,,支持異種網(wǎng)絡協(xié)議互聯(lián),、異種數(shù)據(jù)庫互聯(lián)。SQL*Net是ORACLE的網(wǎng)絡軟件,。
  一,、SQL*Net產(chǎn)品介紹
  ORACLE不僅支持傳統(tǒng)的主機─終端方式,還支持流行的Client/Server體系結(jié)構(gòu)方式,,使得應用與數(shù)據(jù)庫核心分布處理,,極大地提高了資源的利用率和處理效率。Client/Server的Server端安放ORACLE Server;Client端安放用戶界面程序或ORACLE的Client端產(chǎn)品,,如SQL*Plus;SQL*Net是ORACLE的網(wǎng)絡軟件,,通過SQL*Net可以實現(xiàn)Client與Server的連接,SQL*Net是建立在某一網(wǎng)絡協(xié)議之上的網(wǎng)絡中間件產(chǎn)品,,如下圖所示:
      
  圖1-SQL*Net網(wǎng)絡連接
  目前,,SQL*Net有SQL*Net V1和SQL*Net V2兩種版本。從上圖中可以看出,,必須在底層網(wǎng)絡已經(jīng)連通的前提下,,才能對SQL*Net作合適的配置。
  SQL*Net提供了以下網(wǎng)絡功能:
  網(wǎng)絡透明性:在一個本地數(shù)據(jù)庫上開發(fā)的應用,,可以不加修改地分布到網(wǎng)絡上去運行;
  協(xié)議獨立性:在任何一臺計算機上編制的應用,,都可以不加修改地分布到任何協(xié)議的網(wǎng)絡上去運行;
  異種機網(wǎng)絡:通過多協(xié)議轉(zhuǎn)換,,可實現(xiàn)多種網(wǎng)絡協(xié)議之間的互聯(lián);
  位置透明:通過位置透明策略,,可以使網(wǎng)絡中數(shù)據(jù),如同放在單一本地數(shù)據(jù)庫中一樣使用,。以后當數(shù)據(jù)分布發(fā)生變化時,,應用程序不用作任何修改;
  自動字符集轉(zhuǎn)換:兩個通訊節(jié)點之間不同的字符集和NLS(國際語言支持)數(shù)據(jù)描述可以通過SQL*Net來管理,。
  下面介紹SQL*Net運行過程中相關(guān)的文件(以UNIX環(huán)境中TCP/IP協(xié)議為例):
  lsnrctl:放在“/ORACLE_HOME/bin”目錄下,用于啟動SQL*Net V2.0監(jiān)聽進程,。常用的命令有:lsnrctl start啟動監(jiān)聽服務,,lsnrctl stop停止監(jiān)聽服務,lsnrctl status查看監(jiān)聽服務當前是否啟用,。
  tcpctl和orasrv:放在“/ORACLE_HOME/bin”目錄下,,用于啟動SQL*Net V1.0監(jiān)聽進程。由于現(xiàn)在使用的是V2.0版本,,故此處不再詳述,。
 
 
 
listener.ora和tnsnames.ora:放在“/ORACLE_HOME/network/admin”子目錄下,是SQL*Net V2正常工作所需的配置文件及整個網(wǎng)絡的配置文件,。listener.ora是服務器監(jiān)聽進程網(wǎng)絡配置文件,,tnsnames.ora是客戶機與服務器聯(lián)絡所需的網(wǎng)絡配置文件。
  config.ora:該文件放置了ORACLE運行的一些參數(shù),,與網(wǎng)絡有關(guān)的有LOCAL_CONNECT,,指明缺省訪問ORACLE的連接描述符。如在該文件中有一行:LOCALE_CONNECT = ora,,表示缺省連接描述符為ora,。如果運行SQL*Plus時,可省去“$ sqlplus 用戶名/口令@ora”中的連接描述符“ora:”只輸入“$ sqlplus 用戶名/口令”即可,。
  config.ora文件放在“/ORACLE_HOME/dbs”子目錄下,。
  sqlnet.ora文件放在“/ORACLE_HOME/network/admin”子目錄中,其作用類似Unix中nsswitch.conf配置文件,,當輸入連接數(shù)據(jù)庫字符串時,,通過這個文件來決定連接字符串與數(shù)據(jù)庫實例名的對應關(guān)系。比如sqlnet.ora中描述為NAMES.DIRECTORY_PATH= (TNSNAMES,HOSTNAME),,我們在客戶端輸入:sqlplus system/system@oracleTest,,客戶端首先在tnsnames.ora文件中找oracleTest的記錄。如果沒有相應的記錄則嘗試把oracleTest當作一個主機名,,通過網(wǎng)絡的途徑去解析它的ip地址然后去連接這個ip上GLOBAL_DBNAME=oracleTest這個實例,,當然這里oracleTest并不是一個主機名;如果將sqlnet.ora中的NAMES.DIRECTORY_PATH改為NAMES.DIRECTORY_PATH= (TNSNAMES),那么客戶端就只會從tnsnames.ora中查找oracleTest記錄,。
  TCP/IP的配置文件:與SQL*Net有關(guān)的TCP/IP協(xié)議配置文件有兩個:
  /etc/hosts:存放整個網(wǎng)絡環(huán)境中每個節(jié)點的IP地址,。
  /etc/services:存放TCP/IP協(xié)議使用的各個端口的地址。
  二,、配置客戶機/服務器結(jié)構(gòu)
  使用ORACLE的SQL*Net V2連接客戶機和服務器,,需配置每個客戶機和服務器。在服務器上需配置的文件有:listener.ora、/etc/services,,在客戶機上需配置tnsnames.ora文件,。
  1、數(shù)據(jù)庫連接過程
  當輸入sqlplus system/manager@oracleTest的時候
  (1)查詢sqlnet.ora看看名稱的解析方式,,發(fā)現(xiàn)是TNSNAME;則查詢tnsnames.ora文件,,從里邊找oracleTest的記錄,并且找到主機名,,端口和service_name;
  (2)如果listener進程沒有問題的話,,建立與listener進程的連接;根據(jù)不同的服務器模式如專用服務器模式或者共享服務器模式,系統(tǒng)默認是專用服務器模式,,一切都沒有問題的話客戶端就連接上了數(shù)據(jù)庫的server process;
  (3)網(wǎng)絡連接就建立起來了,,listener進程的歷史使命也就完成了。
  注:幾種連接用到的命令形式:
  sqlplus / as sysdba 這是典型的操作系統(tǒng)認證,,不需要listener進程
  sqlplus system/manager 這種連接方式只能連接本機數(shù)據(jù)庫,,同樣不需要listener進程
  sqlplus system/manager@oracleTest 這種方式需要listener進程處于可用狀態(tài)。最普遍的通過網(wǎng)絡連接,。
  以上連接方式使用system用戶或者其他通過密碼文件驗證的用戶都不需要數(shù)據(jù)庫處于可用狀態(tài),,操作系統(tǒng)認證也不需要數(shù)據(jù)庫可用,普通用戶因為是數(shù)據(jù)庫認證,,所以數(shù)據(jù)庫必需處于open狀態(tài),。
 
 
 

 2. 配置listener.ora

  listener.ora文件中存放了客戶機與服務器連接所需要的監(jiān)聽地址,以及服務器啟動監(jiān)聽進程時的信息,。listener.ora文件缺省放置在/ORACLE_HOME/network/admin之下,。一個完整的listener.ora文件樣式如下:

        LISTENER=(
  ADDRESS=(COMMUNITY=TCP1)(PROTOCOL=TCP)(HOST=Server1)(PORT=1521))

  SID_LISTENER=(SID_DESC=(SID_NAME=oracle)(ORACLE_HOME=/usr/oracle)

  )
 
  其中,LISTENER是服務器中監(jiān)聽進程的名稱;COMMUNITY代表服務器在整個網(wǎng)絡中的節(jié)點位置(該參數(shù)不是一定要有值,,可以為空);PROTOCOL表明所使用的網(wǎng)絡協(xié)議,,若是TCP/IP協(xié)議,則該值必須為“TCP”;HOST表示服務器的網(wǎng)絡地址;PORT指TCP/IP協(xié)議在主機中所占用端口號,,ORACLE缺省使用1521,,不能改變;SID_NAME指服務器上運行的ORACLE數(shù)據(jù)庫名稱,該值應與.profile文件中的環(huán)境變量ORACLE_SID相同;ORACLE_HOME是指ORACLE數(shù)據(jù)庫的主目錄,,該值也應與.profile文件中的環(huán)境變量ORACLE_HOME相同,。另外,在listener.ora文件中,,還有一些啟動監(jiān)聽進程所需要的參數(shù),。下面是listener.ora文件的實例:

  

     listener = 服務器監(jiān)聽進程名稱
  (address_list = 網(wǎng)絡地址列表

  (address = 網(wǎng)絡地址之一

  (protocol = tcp) 網(wǎng)絡協(xié)議(tcp表示TCP/IP協(xié)議)

  (host = 192.168.0.1) 服務器IP地址:192.168.0.1

  (port = 1251) 端口號:1251

  )

  )

  startup_wait_time_listener = 0 監(jiān)聽進程對狀態(tài)控制命令響應前等待秒數(shù)

  connect_timeout_listener = 10 連接最大允許等待時間

  sid_list_listener = 服務器標識列表

  (sid_desc = 服務器標識描述之一

  (sid_name = oracle) 數(shù)據(jù)庫標識名:oracle

  (oracle_home = /usr/oracle) ORACLE數(shù)據(jù)庫主目錄:/usr/oracle

  )
 
 
 
 
 

3. 配置/etc/services文件

  在/etc/services文件中加如下一行:

  lsnrctl ftp/1521

  指明監(jiān)聽進程使用的協(xié)議及端口地址。

  4. 配置tnsnames.ora文件

  客戶機為了和服務器連接,,和服務器之間的互聯(lián),,都必須先和服務器上的監(jiān)聽進程聯(lián)絡。ORACLE通過tnsnames.ora文件中的連接描述符來說明連接信息。一般tnsnames.ora 是建立在客戶機上的,。如果是客戶機/服務器結(jié)構(gòu),整個網(wǎng)絡上只有一臺機器安裝了ORACLE數(shù)據(jù)庫服務器,,那么只需在每個要訪問ORACLE服務器的客戶機上定義該文件,,在服務器上無需定義。但是,,如果網(wǎng)絡上有多臺機器均安裝了ORACLE數(shù)據(jù)庫服務器,,并且服務器之間有數(shù)據(jù)共享的要求,那么在每臺服務器上都必須定義該文件,。tnsnames.ora文件缺省放在/ORACLE_HOME/network/admin目錄下,。下面是tnsnames.ora的文件樣式:

  

     REMOTE_DB=(DESCRIPTION=
  (ADDRESS_LIST=

  (ADDRESS=

  (COMMUNITY=SPX.US.Oracle)

  (PROTOCOL=SPX)

  (SERVICE=NOVELL1))

  (ADDRESS=

  (COMMUNITY=TCP1.US.Oracle)

  (PROTOCOL=TCP)

  (HOST=SERVER1)

  (PORT=1521)

  (CONNECT_DATA=

  (SID=oracle)

  (SERVER=DEDICATED)

  )

  )
 

請注意以下幾點:

  (1) REMOTE_DB為連接描述符名字,可根據(jù)需要隨意定義,,以后客戶機要登錄服務器時使用:

  $sqlplus 用戶名/口令@REMOTE_DB

  (2) ADDRESS_LIST,表示該客戶機要經(jīng)由多種協(xié)議與一臺或多臺服務器連接,。在該樣式文件中就表示該客戶機要用NOVELL網(wǎng)上的SPX/IPX協(xié)議和用TCP/IP網(wǎng)上的TCP/IP協(xié)議來和服務器相連。若只使用一種協(xié)議相連,,那么僅使用ADDRESS關(guān)鍵字即可,,而不用使用ADDRESS_LIST。

  (3) PROTOCOL指明要連接使用的協(xié)議,。

  (4) SERVICE是NOVELL網(wǎng)上使用的關(guān)鍵字,。

  (5) HOST是TCP/IP協(xié)議使用的服務器IP地址。

  (6) PORT是TCP/IP使用的端口地址,。

  (7) SID指定要連接的服務器上ORACLE數(shù)據(jù)庫的ORACLE_SID,。

  (8) SERVER=DEDICATED表示用專用服務器連接ORACLE數(shù)據(jù)庫。

  下面是一個tnsnames.ora文件內(nèi)容舉例:

         ora = 連接描述符名:ora
  (description = 描述

  (address =網(wǎng)絡地址之一

  (protocol = tcp)網(wǎng)絡協(xié)議(tcp表示TCP/IP協(xié)議)

  (host = 192.168.0.1)服務器IP地址:192.168.0.1

  (port = 1521)服務器端口號:1521

  )

  (connect_data =連接數(shù)據(jù)

  (sid = oracle)數(shù)據(jù)庫標識名:oracle

  )

  )
 

 

文章轉(zhuǎn)載自網(wǎng)管網(wǎng):http://www./pdb/oracle/200904/160359_5.html 

 
 
 
 
 
 

    本站是提供個人知識管理的網(wǎng)絡存儲空間,,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導購買等信息,,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請點擊一鍵舉報,。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多