Oracle 补充日志
介绍补充日志不是独立的日志,而是对重做日志变更矢量的补充。LogMiner、闪回事务、闪回事务查询等功能需要开启补充日志才能正常工作。
分类补充日志可分为两类数据库级别补充日志和表级别补充日志,数据库级别补充日志可分为最小补充日志、主键补充日志、唯一索引补充日志、外键补充日志、全体补充日志6种,表级别补充日志在数据库级别补充日志的基础上增加了一种自定义补充日志,没有最小补充日志。
功能因为insert会记录所有修改后字段,delete会记录所有修改前字段,所以补全日志只对update产生影响,开启补全日志时共享池中的SQL游标都会失效,他们的影响和功能如下:
| 最小补充日志 | 主键补充日志 | 唯一补充日志 |
Update操作的影响 | 产生特殊的日志信息,可以识别update命令产生的行迁移和行转换。Logminer和闪回事务查询功能需要最小补全日志支持。打开最小补全日志会使共享池SQL游标失效。 | 无条件补充日志,无论主键是否被修改旧值都会被记录到日志中。没有主键则记录长度最小唯一非空索引,没有非空唯一索引则记录所有字段。依赖最小补全日志,开启主键补充日志自动开启最小补充日志。关闭最小补全日志自动关闭主键补全日志 | 有条件补充日志,当复合唯一索引的其中一个字段被修改时,唯一索引的所有字段旧值都会被记录。唯一补充日志专门为复合唯一索引服务。 |
开启/关闭 | 开启/关闭: alter database add/drop supplemental log data。 | 开启/关闭(数据库级): alter database add/drop supplemental log data (primary key) columns。 开启/关闭(表级): alter table T1 add/drop supplemental log data (primary key) columns。 | 开启/关闭(数据库级): alter database add/drop supplemental log data (unique) columns。 开启/关闭(表级): alter table T1 add/drop supplemental log data (unique) columns。 |
依赖 | 无 | 依赖最小补全日志 | 依赖最小补全日志 |
| 外键补充日志 | 全体补充日志 | 自定义补充日志(表) |
Update操作的影响 | 有条件补充日志,当复合外键索引的其中一个字段被修改时,外键索引的所有字段旧值都会被记录。唯一补充日志专为复合外键索引服务。 | 无条件补充日志,表的所有字段旧值都会被记录(除了LOB、LONG类型)。 | 有/无条件补充日志,设置多个字段为日志组,日志组中的任何字段被修改,整个日志组字段的旧值都记录在日志中。 |
开启/关闭 | 开启/关闭(数据库级): alter database add/drop supplemental log data (foreign key) columns。 开启/关闭(表级): alter table T1 add/drop supplemental log data (foreign key) columns。 | 开启/关闭(数据库级): alter database add/drop supplemental log data (all) columns。 开启/关闭(表级): alter table T1 add/drop supplemental log data (all) columns。 | 开启/关闭(表级): alter table T1 add/drop supplemental log group GROUPNAME(C1,C2,C3) allways。 |
依赖 | 依赖最小补全日志 | 依赖最小补全日志 | 依赖最小补全日志 |
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/11693228/viewspace-1061073/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/11693228/viewspace-1061073/