熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Oracle >> 正文

如何連接兩台Oracle服務器(服務器A、服務器B,均裝有NT)?

2013-11-13 16:19:48  來源: Oracle 

  軟件環境 Windows NT+ORACLE
  ORACLE安裝路徑為C:\ORANT
  服務器A服務器B均裝有NT 中文版
  
   實現方法 假設A地址B地址
  
   AB上配置好TCP/IP互相Ping通
  
   配置initora文件若global_name = true的話database link 的名字必須同遠程機的實例名相同
  
    為簡便起見請將global_name 設為 false
  
   在服務器上配置tnsnamesora將Remote機器的地址(IP)信息加入本地的tnsnamesora
  
    A服務器
    TNSA_B =
     (DESCRIPTION =
      (ADDRESS_LIST =
        (ADDRESS =
         (COMMUNITY = tcpworld)
         (PROTOCOL = TCP)
         (Host = )
         (Port = )
        )
      )
      (CONNECT_DATA = (SID = ORCL)
      )
     )
  
    B服務器
    TNSB_A =
     (DESCRIPTION =
      (ADDRESS_LIST =
        (ADDRESS =
         (COMMUNITY = tcpworld)
         (PROTOCOL = TCP)
         (Host = )
         (Port = )
        )
      )
      (CONNECT_DATA = (SID = ORCL)
      )
     )
  
   在 SQL*Plus 或其它工具中創建數據庫鏈接
  
    A服務器create public database link A_TO_B connect to tmp identified by tmp using TNSA_B;
  
    B服務器create public database link B_TO_A connect to tmp identified by tmp using TNSB_A;
  
    說明
    tmp是一個臨時用戶A服務器B服務器上均有它的作用是提供鏈接的目的地
    假如
    B服務器上有userusertmp三個用戶user和user把他們想要對外公開的表的權限授給tmp用戶
    那麼所有能通過database link連接到tmp用戶上的人就可以直接訪問useruser上的已授權表了
  
   建立database link以後請用這種格式select * from table_name@database_link_name 的方式訪問
  
    如在A服務器上想訪問B服務器上user用戶table表的內容(A到B的連接為A_TO_B)
  
    SQL> select * from table@A_TO_B;
  
  
  
   如果Oracle版本為則數據庫聯接寫法如下
  
    A服務器create public database link A_TO_B connect to tmp identified by tmp using t::orcl;
  
    B服務器create public database link B_TO_A connect to tmp identified by tmp using t::orcl;
  

From:http://tw.wingwit.com/Article/program/Oracle/201311/18153.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.