在重建控制文件之后,丢失了数据库补充日志信息(missed database supplemental log information) 参考原文: missed database supplemental log information after recreate controlfile in 10g database. (doc id 1474952.1) 适用于: oracle server - ent
在重建控制文件之后,丢失了数据库补充日志信息(missed database supplemental log information)
参考原文:
missed database supplemental log information after recreate controlfile in 10g database. (doc id 1474952.1)
适用于:
oracle server - enterprise edition - version 10.1.0.2 and later
information in this document applies to any platform.
症状:
你已经重建了控制文件,然后你注意到 数据库补充日志信息(missed database supplemental log information)被重置,可以通过如下sql查询到:sql> select supplemental_log_data_min min_log, supplemental_log_data_pk pk_log, supplemental_log_data_ui ui_log, supplemental_log_data_fk fk_log, supplemental_log_data_all all_log, force_logging force_log from v$database;
注意:当你使用如下的特性时:logminer, streams or standby databases,你需要补充日志信息。
改变:
这个问题在重建了控制文件之后会发生。
原因:
一旦使用create controlfile命令重建了控制文件,控制文件补充日志session 会被重置成默认值,该默认值是所有的补充日志级别是off的。
解决方案:
我们强烈建议你重建控制文件时,使用alter database backup controlfile to trace; 生成的trace file来重建控制文件。sql> alter database backup controlfile to trace;
注意:当已经执行过这个命令后,在udump下会有这个trace文件。在该trace 文件的 text section中,你会发现有alter database supplemental log命令,该命令对应重建控制文件之前,数据库使用的supplemental log information
sql> alter database add supplemental log data (primary key, unique index, foreign key, all) columns;
在重建控制文件之后,务必执行上述语句(该语句在该trace 文件的 text section中)