風之力

          BlogJava 首頁 新隨筆 聯(lián)系 聚合 管理
            19 Posts :: 2 Stories :: 18 Comments :: 0 Trackbacks
          ?ORACLE客戶端連服務器的注意事項:

          ??????? 1. 通過SQL*NET協(xié)議,ORACLE客戶端連服務器時一般需要配置sqlnet.ora和tnsnames.ora。
          ?? 它們默認的目錄在$ORACLE_HOME/network/admin 目錄下
          ??
          ?? 也可以設置環(huán)境變量TNS_ADMIN指向你想用的sqlnet.ora和tnsnames.ora目錄
          ?? 例如:
          ?? TNS_ADMIN=/home/oracle/config/9.0.1;export TNS_ADMIN
          ??
          ?? sqlnet.ora文件決定找數(shù)據(jù)庫服務器別名的方式
          ??
          ?? 默認的參數(shù)有
          ?? NAMES.DEFAULT_DOMAIN = WORLD
          ?? NAMES.DIRECTORY_PATH = (TNSNAMES, ONAMES, HOSTNAME)
          ??
          ?? 如果你的ORACLE客戶端和服務器默認的域名不一樣,需要用#號注釋第一行
          ?? #NAMES.DEFAULT_DOMAIN = WORLD
          ?? 使它不起作用。

          ?????????? NAMES.DIRECTORY_PATH指定找服務器別名的順序 (本地的tnsnames.ora文件, 命名服務器, 主機名方式)
          ??????????
          ?????????? 服務器的sqlnet.ora里可以設置檢查客戶端是否alive的時間間隔
          ?????????? sqlnet.expire_time = 10
          ??????????
          ?????????? tnsnames.ora文件里寫數(shù)據(jù)庫服務器別名的詳細內(nèi)容,有以下幾種寫法:

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

          ?????????? # 明確標明用dedicated方式連接數(shù)據(jù)庫
          ?????????? APPD=
          ?????????? (DESCRIPTION=
          ???????????? (ADDRESS=(PROTOCOL=TCP)(HOST=192.168.0.35)(PORT=1521))
          ???????????? (CONNECT_DATA=
          ?????????????? (SERVICE_NAME=appdb)
          ?????????????? (SERVER=DEDICATED)))
          ???
          ?????????? # 對多個listener端口做均衡負載方式連接數(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ù)庫服務器用MTS,客戶端程序需要用database link時最好明確指明客戶端用dedicated直連方式,
          ???? #?????? 不然會遇到很多跟分布式環(huán)境有關的ORACLE BUG。
          ???? # ??? 一般情況下數(shù)據(jù)庫服務器用直接的連接會好一些,除非你的實時數(shù)據(jù)庫連接數(shù)接近1000。
          ????????????
          ??????? 2. /etc/hosts (UNIX)
          ?????????? 或者windows\hosts(WIN98)? winnt\system32\drivers\etc\hosts (WIN2000)
          ?????????? 客戶端需要寫入數(shù)據(jù)庫服務器IP地址和主機名的對應關系。
          ??????????
          ?????????? 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???
          ??????????
          ?????????? 有些時候我們配置好第一步后,tnsping 數(shù)據(jù)庫服務器別名顯示是成功的,
          ?????????? 但是sqlplus username/password@servicename不通,jdbc thin link 也不通的時候,????????
          ?????????? 一定不要忘了在客戶端做這一步,原因可能是DNS服務器里沒有設置這個服務器IP地址和主機名的對應關系。
          ??????????
          ?????????? 如果同時有私有IP和Internet上公有IP,私有IP寫在前面,公有IP寫在后面。
          ??????????
          ?????????? 編輯前最好留一個備份,增加一行時也最好用復制粘貼,避免編輯hosts時空格或者tab字符錯誤。
          ??????????
          ??????? 3. UNIX下ORACLE多數(shù)據(jù)庫的環(huán)境,OS客戶端需要配置下面兩個環(huán)境變量
          ???????
          ?????????? ORACLE_SID=appdb;export ORACLE_SID
          ?????????? TWO_TASK=appdb;export TWO_TASK?
          ??????????
          ?????????? 來指定默認的目標數(shù)據(jù)庫。
          posted on 2007-07-05 09:35 風之力 閱讀(650) 評論(0)  編輯  收藏 所屬分類: 隨筆
          主站蜘蛛池模板: 崇州市| 沈丘县| 乐亭县| 来安县| 北京市| 漳平市| 开封市| 富民县| 道真| 漾濞| 辰溪县| 远安县| 寿宁县| 任丘市| 新余市| 玉环县| 张家口市| 房山区| 浦城县| 赞皇县| 申扎县| 全椒县| 喜德县| 油尖旺区| 嘉鱼县| 德格县| 高雄市| 周宁县| 成武县| 乃东县| 丽江市| 化隆| 红桥区| 鄂尔多斯市| 广河县| 永胜县| 古丈县| 清丰县| 金川县| 监利县| 泗洪县|