SQL> alter table table_name add supplemental log data (unique) columns;
也可以将外键和唯一值字段建立在一个log group内:
SQL> alter table table_name add supplemental log data (unique, foreign key) columns;
给一个表的指定字段指定,并指定名称group_name:
SQL> alter table table_name add supplemental log group group_name(field1,field2);
删除表级的log group的方法:
删除指定名称的log group:
SQL> alter table table_name drop supplemental log group group_name;
删除由系统自动生成名称的log group:
SQL> alter table table_name drop supplemental log data(primary key);
为整个DB指定log group:
为整个DB指定主键、唯一值字段的log group:
SQL> alter database add supplemental log data (primary key, unique) columns;
为DB中所有字段都指定log group:
SQL> alter database add supplemental log data (all) columns;
删除DB级的log group的方法:
删除由系统自动生成名称的log group:
SQL> alter database drop supplemental log data(primary key);
SQL> alter database drop supplemental log data(all) columns;
删除DB级的log group,并不会影响任何现存的表级的log group。
自动设置log group的函数:
包dbms_capture_adm中的bulid会在capture进程生成时自动执行,以产生DB级的log group。PREPARE_GLOBAL_INSTANTIATION、PREPARE_SCHEMA_INSTANTIATION、PREPARE_TABLE_INSTANTIATION指定表上的主外建、位图索引、唯一值字段等的log group。
特别注意:
1.对于同步capture,不需要指定supplemental logging;
2.数据类型lob、long、long raw、以及用户自定义的类型如refs等,不能作为该日志的一部分;
查看DB级的追加日志:
SQL> select supplement_log_data_min,supplement_log_data_pk,supplement_log_data_ui from v$database;
5.5主要进程介绍
5.5.1 capture进程
基本概念:
是一个同步传输进程,它从redo日志中获取DB变化的内容并重新格式化为LCRs,然后将LCRS放到队列中。如果变化是DML操作,那么将每行的变化都整合到source db的一个replicated表中,如果变化是DDL操作,那么将变化整合到所变动的对象的ddl语句中。
Capture DB类型:
Capture DB:指获取到source db上变化的DB;有local capture和downstream capture两种;
Local Capture:本地capture指运行在source db的capture进程;
DownStream Capture:指运行在非source db上的capture进程;目的是减低source db的负担。可以用第3个数据库(既不是source db也不是dest db的数据库)也可以用dest db来做downstream capture db;
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10129726/viewspace-706742/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/10129726/viewspace-706742/