oracle 10g和11g下 CDC机制(change data capture) 变化数据捕捉
用于同步数据。
如果是在同一数据库内,同步数据,oracle好像建议,不用这个,因为太耗资源,还不如用触发器。
如果是数据的异步同步,那么用这个不错,底层是oracle流技术,好像说是适用于数据ETL。
begin
dbms_cdc_publish.create_change_table (
owner => 'odiwork',
change_table_name => 'cdc__MUTIBARCODE',
change_set_name => 'SYNC_SET',
source_schema => 'odiwork',
source_table => 'MUTIBARCODE',
column_type_list =>'
BZDM VARCHAR2(16),
BARCODE VARCHAR2(20),
SERIALNO NUMBER(20),
XTSJ DATE
',
capture_values => 'both',
rs_id => 'y',
row_id => 'y',
user_id => 'y',
timestamp => 'y',
object_id => 'n',
source_colmap => 'y',
target_colmap => 'y',
options_string => null);
end;
---删除表
begin
dbms_cdc_publish.drop_change_table(
'odiwork',
'cdc__BRAND',
'Y');
end