热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

【翻译自mos文章】在重建控制文件之后,丢失了数据库补充日志信

在重建控制文件之后,丢失了数据库补充日志信息(MissedDatabaseSupplementalLogInformation)参考原文:MissedDatabaseSupplementalLogInformationAfterRecreateControlfileIn10gDatabase.(DocID1474952.1)适用于:OracleServer

在重建控制文件之后,丢失了数据库补充日志信息(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中)
推荐阅读
author-avatar
唇边那烟味世界
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有