目的庫複製程序引數如下:
replicat repep
userid goldengate, password goldengate
gettruncates
allownoopupdates
assumetargetdefs
dboptions suppresstriggers
dboptions deferrefconst
map ora12cpdb1.hxl.tb_test,target hxl.tb_test;
map ora12cpdb1.hxl.tb_test01,target hxl.tb_test01;
map ora12cpdb1.hxl.tb_test02,target hxl.tb_test02;
ddlerror 10655 ignore
ddlerror 10636 ignore
源庫進行更新操作
update hxl.tb_test t
set t.name='hxlname1111'
where id=11;
複製程序報出現absend,錯誤如下:
oci error ora-01403: no data found, sql
aborting transaction on /u01/ogg/dirdat/ep beginning at seqno 0 rba 6340
原因是:目的庫沒有id=11的記錄導致的;
在複製程序引數加上handlecollisions後,程序可以正常啟動,但是id=11的記錄不會同步過去,我們要想實現更新的時候發現不存在的記錄做insert寫入操作,
可以針對每個maping加上resolveconflict處理,如下配置
replicat repep
userid goldengate, password goldengate
gettruncates
allownoopupdates
assumetargetdefs
dboptions suppresstriggers
dboptions deferrefconst
--handlecollisions
map ora12cpdb1.hxl.tb_test,target hxl.tb_test
resolveconflict (updaterowmissing, (default, overwrite));
map ora12cpdb1.hxl.tb_test01,target hxl.tb_test01;
map ora12cpdb1.hxl.tb_test02,target hxl.tb_test02;
ddlerror 10655 ignore
ddlerror 10636 ignore
這個要是更新的不是主鍵的話,需要在主庫為每個列加上補充日誌,如下:
alter database add supplemental log data (all) columns或是
alter table hxl.tb_test add supplemental log data(all) columns;
備註resolveconflict的常見使用:
map hxl.tb_test, target hxl.tb_test,
comparecols (on update all, on delete all),
resolveconflict (updaterowexists, (default, usemin (last_time))),
resolveconflict (deleterowexists, (default, overwrite)),
resolveconflict (deleterowmissing, (default, discard));
向資料庫中插入一條記錄,有重複值則更新,沒有則插入
根據主鍵判斷是否有該條記錄,如果有,則將對應屬性改變,沒有則直接插入 案例 表 team info id,team name project id,leader 其中id 為key 假設表中已經存在一條記錄 fd15ee77 dae4 4a64 ad15 9ae540823b8f 哈哈 1 張三 1...
資料庫中有則更新,沒有就插入的sql語句
話不多多說,直接上 這是自己親手查得,找了好久也是,然後才寫好,寫一下記錄著吧 存在即更新,不存在就插入 根據id insert into vclb mm inventory id stock id item id amount values 489734716803514367 倉庫一 水杯 44...
從大庫中找到目標內容並複製該內容到新的資料夾中
給出乙個例子 在乙個資料夾中有100首歌曲,根據txt檔案中的59個歌曲名字去從中找到目標歌曲並將其複製到新的資料夾中。檔案列表包含 1個txt文件,包含59首歌曲名字的資訊 1個python檔案 兩個資料夾 sourse songs資料夾為全部的1000首歌曲,songs 59為空資料夾 目的資料...