資料庫之間的連結建立在DATABASE LINK上。要建立一個DB LINK,必須先在每個資料庫伺服器上設定連結字串。
1、 配置TNS , $ORACLE_HOME/NETWORK/ADMIN/tnsname.ora
10gstandby =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = HFCC-KF-3068)(PORT = 1522))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = 10gstandby)
)
)
2、建立資料庫連結,
create public database link DB_LINK_NAME connect to TargetDatabaseUserName identified by TargetDatabasePassword using 'TargetDatabaseSIDName';
註:TargetDatabaseSIDName為該Oracle資料庫所在的主機上的tnsnames.ora檔案裡邊定義的資料庫連接串。
SQL>create public database link dvd connect to system identified by system using 'orcl10g';
或者使用:
create PUBLIC database link LINK_NAME
connect to USER identified by PWD
using '(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.1)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = orcl)
)
)';
本欄目更多精彩內容:http://www.bianceng.cnhttp://www.bianceng.cn/database/Oracle/
則建立了一個以system使用者和orcl10g資料庫的連結dvd,我們查詢dvd資料:
SQL>select * from all_users@dvd;
這樣就可以把本地和遠端資料做成一個整體來處理。
3、建立同義字,為了使有關分布式操作更透明,ORACLE資料庫裡有同義字的對象synonym
SQL>create synonym synTest for all_users@dvd;
於是就可以用synTest來替代帶@符號的分布式連結操作all_users@dvd;
4、查看所有的資料庫連結:
SQL>select owner,object_name from dba_objects where object_type='DATABASE LINK';
5、查看資料庫連接
sql> select owner, db_link from dba_db_links;
ower db_link
public DVD.REGRESS.RDBMS.DEV.US.ORACLE.COM
6、刪除資料庫連接
先從第5步中查看資料庫連接,取得其db_link的名稱
sql>drop public database link DVD.REGRESS.RDBMS.DEV.US.ORACLE.COM
資料庫連接巳丟棄
51cto部落格 Oracle小混子