每日一得

          不求多得,只求一得 about java,hibernate,spring,design,database,Ror,ruby,快速開發(fā)
          最近關(guān)心的內(nèi)容:SSH,seam,flex,敏捷,TDD
          本站的官方站點(diǎn)是:顛覆軟件

            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            220 隨筆 :: 9 文章 :: 421 評論 :: 0 Trackbacks


          									2003-05 余楓

          ORACLE客戶端連服務(wù)器的注意事項(xiàng):

          1. 通過SQL*NET協(xié)議,ORACLE客戶端連服務(wù)器時(shí)一般需要配置sqlnet.ora和tnsnames.ora。
          它們默認(rèn)的目錄在$ORACLE_HOME/network/admin 目錄下

          也可以設(shè)置環(huán)境變量TNS_ADMIN指向你想用的sqlnet.ora和tnsnames.ora目錄
          例如:
          TNS_ADMIN=/home/oracle/config/9.0.1;export TNS_ADMIN

          sqlnet.ora文件決定找數(shù)據(jù)庫服務(wù)器別名的方式

          默認(rèn)的參數(shù)有
          NAMES.DEFAULT_DOMAIN = WORLD
          NAMES.DIRECTORY_PATH = (TNSNAMES, ONAMES, HOSTNAME)

          如果你的ORACLE客戶端和服務(wù)器默認(rèn)的域名不一樣,需要用#號注釋第一行
          #NAMES.DEFAULT_DOMAIN = WORLD
          使它不起作用。

          NAMES.DIRECTORY_PATH指定找服務(wù)器別名的順序 (本地的tnsnames.ora文件, 命名服務(wù)器, 主機(jī)名方式)

          服務(wù)器的sqlnet.ora里可以設(shè)置檢查客戶端是否alive的時(shí)間間隔
          sqlnet.expire_time = 10

          tnsnames.ora文件里寫數(shù)據(jù)庫服務(wù)器別名的詳細(xì)內(nèi)容,有以下幾種寫法:

          # 一般的寫法
          APPDB =
          (DESCRIPTION =
          (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.35)(PORT = 1521))
          )
          (CONNECT_DATA =
          (SERVICE_NAME = appdb)
          )
          )

          # 明確標(biāo)明用dedicated方式連接數(shù)據(jù)庫
          APPD=
          (DESCRIPTION=
          (ADDRESS=(PROTOCOL=TCP)(HOST=192.168.0.35)(PORT=1521))
          (CONNECT_DATA=
          (SERVICE_NAME=appdb)
          (SERVER=DEDICATED)))

          # 對多個listener端口做均衡負(fù)載方式連接數(shù)據(jù)庫
          APPS =
          (DESCRIPTION =
          (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.35)(PORT = 1521))
          (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.35)(PORT = 1856))
          )
          (CONNECT_DATA =
          (SERVICE_NAME = appdb)
          )
          )

          # 注意:如果數(shù)據(jù)庫服務(wù)器用MTS,客戶端程序需要用database link時(shí)最好明確指明客戶端用dedicated直連方式,
          # 不然會遇到很多跟分布式環(huán)境有關(guān)的ORACLE BUG。
          # 一般情況下數(shù)據(jù)庫服務(wù)器用直接的連接會好一些,除非你的實(shí)時(shí)數(shù)據(jù)庫連接數(shù)接近1000。

          2. /etc/hosts (UNIX)
          或者windows\hosts(WIN98) winnt\system32\drivers\etc\hosts (WIN2000)
          客戶端需要寫入數(shù)據(jù)庫服務(wù)器IP地址和主機(jī)名的對應(yīng)關(guān)系。

          127.0.0.1 localhost
          192.168.0.35 oracledb oracledb
          192.168.0.45 tomcat tomcat
          202.84.10.193 bj_db bj_db

          有些時(shí)候我們配置好第一步后,tnsping 數(shù)據(jù)庫服務(wù)器別名顯示是成功的,
          但是sqlplus username/password@servicename不通,jdbc thin link 也不通的時(shí)候,
          一定不要忘了在客戶端做這一步,原因可能是DNS服務(wù)器里沒有設(shè)置這個服務(wù)器IP地址和主機(jī)名的對應(yīng)關(guān)系。

          如果同時(shí)有私有IP和Internet上公有IP,私有IP寫在前面,公有IP寫在后面。

          編輯前最好留一個備份,增加一行時(shí)也最好用復(fù)制粘貼,避免編輯hosts時(shí)空格或者tab字符錯誤。

          3. UNIX下ORACLE多數(shù)據(jù)庫的環(huán)境,OS客戶端需要配置下面兩個環(huán)境變量

          ORACLE_SID=appdb;export ORACLE_SID
          TWO_TASK=appdb;export TWO_TASK

          來指定默認(rèn)的目標(biāo)數(shù)據(jù)庫。
          posted on 2006-07-17 22:31 Alex 閱讀(274) 評論(0)  編輯  收藏 所屬分類: dataBase
          主站蜘蛛池模板: 襄汾县| 龙山县| 邵阳市| 道真| 沁源县| 陇西县| 黎川县| 太仆寺旗| 西和县| 图们市| 仙桃市| 玛多县| 五大连池市| 大足县| 壤塘县| 屯留县| 东城区| 连江县| 确山县| 沁阳市| 庐江县| 密云县| 巧家县| 弥渡县| 梁平县| 齐齐哈尔市| 洪泽县| 安乡县| 吴桥县| 广水市| 静乐县| 稻城县| 通州市| 砚山县| 海宁市| 贵定县| 兴隆县| 平远县| 新源县| 石狮市| 莆田市|