風之力

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

          ??????? 1. 通過SQL*NET協議,ORACLE客戶端連服務器時一般需要配置sqlnet.ora和tnsnames.ora。
          ?? 它們默認的目錄在$ORACLE_HOME/network/admin 目錄下
          ??
          ?? 也可以設置環境變量TNS_ADMIN指向你想用的sqlnet.ora和tnsnames.ora目錄
          ?? 例如:
          ?? TNS_ADMIN=/home/oracle/config/9.0.1;export TNS_ADMIN
          ??
          ?? sqlnet.ora文件決定找數據庫服務器別名的方式
          ??
          ?? 默認的參數有
          ?? 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文件里寫數據庫服務器別名的詳細內容,有以下幾種寫法:

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

          ?????????? # 明確標明用dedicated方式連接數據庫
          ?????????? APPD=
          ?????????? (DESCRIPTION=
          ???????????? (ADDRESS=(PROTOCOL=TCP)(HOST=192.168.0.35)(PORT=1521))
          ???????????? (CONNECT_DATA=
          ?????????????? (SERVICE_NAME=appdb)
          ?????????????? (SERVER=DEDICATED)))
          ???
          ?????????? # 對多個listener端口做均衡負載方式連接數據庫
          ?????????? 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)
          ?????????????? )
          ???????????? )???
          ?????????
          ???? # 注意:如果數據庫服務器用MTS,客戶端程序需要用database link時最好明確指明客戶端用dedicated直連方式,
          ???? #?????? 不然會遇到很多跟分布式環境有關的ORACLE BUG。
          ???? # ??? 一般情況下數據庫服務器用直接的連接會好一些,除非你的實時數據庫連接數接近1000。
          ????????????
          ??????? 2. /etc/hosts (UNIX)
          ?????????? 或者windows\hosts(WIN98)? winnt\system32\drivers\etc\hosts (WIN2000)
          ?????????? 客戶端需要寫入數據庫服務器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 數據庫服務器別名顯示是成功的,
          ?????????? 但是sqlplus username/password@servicename不通,jdbc thin link 也不通的時候,????????
          ?????????? 一定不要忘了在客戶端做這一步,原因可能是DNS服務器里沒有設置這個服務器IP地址和主機名的對應關系。
          ??????????
          ?????????? 如果同時有私有IP和Internet上公有IP,私有IP寫在前面,公有IP寫在后面。
          ??????????
          ?????????? 編輯前最好留一個備份,增加一行時也最好用復制粘貼,避免編輯hosts時空格或者tab字符錯誤。
          ??????????
          ??????? 3. UNIX下ORACLE多數據庫的環境,OS客戶端需要配置下面兩個環境變量
          ???????
          ?????????? ORACLE_SID=appdb;export ORACLE_SID
          ?????????? TWO_TASK=appdb;export TWO_TASK?
          ??????????
          ?????????? 來指定默認的目標數據庫。
          posted on 2007-07-05 09:35 風之力 閱讀(650) 評論(0)  編輯  收藏 所屬分類: 隨筆
          主站蜘蛛池模板: 新和县| 罗山县| 芷江| 亚东县| 新津县| 遂昌县| 岳池县| 金昌市| 晋中市| 浙江省| 金山区| 方城县| 土默特右旗| 东方市| 林州市| 左云县| 金堂县| 甘孜| 开封市| 手游| 大竹县| 莒南县| 贡觉县| 武城县| 田林县| 轮台县| 大名县| 连州市| 措勤县| 呼玛县| 寿宁县| 梁山县| 惠来县| 巴中市| 宜兰县| 德令哈市| 鄯善县| 错那县| 谷城县| 阳信县| 枞阳县|