Oracle附加日志
分类分为两个等级:数据库级和表级
数据库级附加日志
– 视图v$database
? SUPPLEMENTAL_LOG_DATA_MIN: 最小附加日志,开关
最小补充日志:是最基本的一种数据库级补充日志,而 LogMiner 正是依赖最小补充日志工作服务的(即识别 行移动 行迁移)
启用最小补充日志命令:
ALTER DATABASE ADD Supplemental LOG DATA;
关闭最小补充日志命令:
ALTER DATABASE DROP Supplemental Log Data;
? SUPPLEMENTAL_LOG_DATA_PK: 记录所有变化记录主键
在update 命令的重做记录中添加被修改行的主键字段的旧值,无论是否被修改,都记录。 如果表没有主键,则由长度最小的唯一索引字段代替,若连唯一索引也没有,则记录该行所有字段。
alterdatabaseaddsupplemental log data (Primarykey) columns;
? SUPPLEMENTAL_LOG_DATA_UI: 记录所有变化记录唯一索引
唯一索引补充日志:唯一索引主要是为 复合索引(唯一)服务的。只有唯一索引的字段被 update 时,才会记录该字段被修改前的值
alter database add supplemental log data (unique) columns;
? supplemental_log_data_fk:
外键补充日志:同唯一索引补充日志一样,只有外键字段被 update 时,才会记录被修改前的旧值,即也是为复合外键服务的。
alter database add supplemental log data (foreign key ) columns;
? SUPPLEMENTAL_LOG_DATA_ALL: 记录所有变化记录全部列
全体字段补充日志:顾名思义就所有字段的值不论是否被修改都记录。会导致磁盘快速增长,LGWR进程繁忙。不建议使用。
alter database add supplemental log data (all) columns;
-建议只打开最小附加日志, 并打开所需复制表的表级附加日志</