利用DB Link兩步搞定Oracle兩個資料庫間的表同步
阿新 • • 發佈:2019-01-28
一、實現目標:
要實現從源表:AAA到目標表:BBB的資料同步。
二、在目標機上建立Oracle DB Link:
1、 在network/admin/tnsname.ora檔案中加入源庫的連線資訊,如:
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST =10.5.1.3)(PORT =1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = AAA)
)
)
2、在目標機上用sqlplus user/pwd登入。
3、用如下命令建立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。
三、使用如下指令碼,即可同步資料表:
#!/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檢視:
如果是返回True就表示支援。