当前位置:首页 > 开发 > 数据库 > 正文

Oracle redo日志相关(原创)

发表于: 2011-12-06   作者:czmmiao   来源:转载   浏览次数:
摘要: redo相关的视图 V$LOG    Displays the redo log file information from the control file V$LOGFILE    Identifies redo log groups and members and member status V$LOG_HISTORY 

redo相关的视图
V$LOG    Displays the redo log file information from the control file
V$LOGFILE    Identifies redo log groups and members and member status
V$LOG_HISTORY    Contains log history information
Oracle Redo日志切换步骤:

1、从控制文件中得到下一个可用的redo日志文件信息

2、记录当前redo日志文件的最后一个scn(high scn也称next scn),关闭当前redo日志。

3、增加SCN,再次修改控制文件,将下一个redo日志的状态标记为current,判断前一个日志中重做记录包含的脏数据内容是否已经全备写到磁盘中,如果没有则 在v$log 中的status标记为ACTIVE,如果有则标记为INACTIVE。如果处于归档模式,则唤醒ARCn进程进行归档,归档状态由v$log中的ARCHIVED字段体现。注意,在归档模式下,只有当该redo file归档完毕后,这个redo file才能被reuse

4、打开新的redo组中的成员,记录当前日志序列号和第一个日志块的scn(low scn),新一轮重做记录开始。

注意,由于日志切换的是增量检查点而非完全检查点,故DBWn没有立即将内存中的脏数据写如磁盘。

如果将log_checkpoints_to_alert参数设为true则可以将检查点启动和结束的时间记录的到跟踪文件中。下面是具体信息

Tue Dec  6 13:01:03 2011
Incremental checkpoint up to RBA [0x19.34ac.0], current log tail at RBA [0x19.3a1a.0]
Tue Dec  6 13:12:53 2011
alter tablespace TEMP tablespace group ''
Tue Dec  6 13:12:53 2011
Completed: alter tablespace TEMP tablespace group ''
Tue Dec  6 13:31:04 2011
Incremental checkpoint up to RBA [0x19.3c91.0], current log tail at RBA [0x19.3d4a.0]
Tue Dec  6 14:01:09 2011
Incremental checkpoint up to RBA [0x19.3f2c.0], current log tail at RBA [0x19.4435.0]

clear logfile:清除指定的联机日志组的所有成员。在日志文件组里丢失或者损坏部分成员时,可以清除该日志文组,Oracle会自动创建丢失或损坏的成员。被清除的日志文件状态必须是inactive,如果是active或者current说明该文件中的重做记录对应的脏数据仍然在内存中,这些重做记录还不能被清楚。对应的命令如下

用CLEAR命令重建该日志文件
SQL>alter database clear logfile group 1;
如果是该日志组还没有归档,则需要用
SQL>alter database clear unarchived logfile group 1;
关于redo file的大小可以参考v$instance_recovery中的optimal_logfile_size中的建议

 

参考至:《教你成为10g OCP》韩思捷著

                http://www.cnblogs.com/sopost/archive/2010/06/28/2190105.html

本文原创,转载请注明出处、作者

如有错误,欢迎指正

邮箱:czmcj@163.com

Oracle redo日志相关(原创)

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
生成HTML格式的文件 内容有: 检查数据库版本、REDO日志组情况, 最近20次日志切换频率检查--日志间
1.1 redo 重做日志文件(redo log file)对Oracle数据库来说至关重要,它们是数据库的事务日志。Ora
需求:由原来的每组50M增加到100M 1、查看现在有日志组信息脚本: SELECT v$logfile.member, v$logf
一. 什么是redo(用于前滚数据) redo也就是重做日志文件(redo log file),Oracle维护着两类重做
作为一名开发人员,应该能够测量你的操作生成了多少redo,这往往很重要。生成的redo越多,你的操作
Undo Undo is used to refer to undo segments. So, what are segments? Segments refer to any typ
Undo Undo is used to refer to undo segments. So, what are segments? Segments refer to any typ
Redo Logs概述 The redo log records all changes made to data, including both uncommitted and c
Redo Logs概述 The redo log records all changes made to data, including both uncommitted and c
Redo Logs概述 The redo log records all changes made to data, including both uncommitted and c
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号