1,在目标機上建立Oracle DB Link:
A,在network/admin/tnsname.ora檔案中加入源庫的連接配接資訊,如:
AAA =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.5.1.3 )(PORT = 1521 ))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = AAA)
)
)
B,在目标機上用sqlplus user/pwd登入。
C,用如下指令建立DB Link:
create public database link AAA_LINK connect to user identified by pwd using ' AAA ' ;
指令說明:
CREATE PUBLIC DATABASE LINK 資料庫連結名 CONNECT TO 使用者名 IDENTIFIED BY 密碼 USING ‘本地配置的資料的執行個體名’;
如果建立成功,會提示:Database link created.
2,使用如下腳本,即可同步資料表:
# !/bin/sh
# to sync table A to BBB database from AAA database
sqlplus user / pwd @BBB << EOF # 這裡是BBB上的資料庫和密碼還有執行個體名,請按照實際情況修改
truncate table A;
insert into A
select * from b_schema . A @AAA_LINK ; # 這裡是指向要同步的來源表,表名必須是<表所有者>.<表名>@<dblink name>
commit;
PS:需要DB支援Advanced replication功能,是否支援,可用如下SQL檢視:
select * from v$ option where PARAMETER = ' Advanced replication ' ;
如果是傳回True就表示支援。