用戶端連伺服器的注意事項

來源:互聯網
上載者:User
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 
          
           來指定預設的目標資料庫。
 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.