`

Oracle redo日志相关(原创)

阅读更多

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

1
1
分享到:
评论

相关推荐

    ORACLE 修改redo日志文件 大小的方法

    在Oracle数据库管理中,调整redo日志文件大小是一项重要的维护工作,这直接影响到数据库的性能与稳定性。本文将深入探讨如何在Oracle环境中修改redo日志文件的大小,以及这一操作的具体步骤和注意事项。 ### 一、...

    Oracle工作总结——日志文件切换频率的调整

    2. **增加日志组数量**:增加redo log group的数量,可以在一组日志文件写满时无缝切换到下一组,这样可以分散I/O负载并提高系统并发处理能力。每个日志组应保持相同大小,以确保均衡使用。 在给出的部分内容中,...

    Oracle DG下修改redo log和standby redo log日志大小.txt

    Oracle DG下修改redo log和standby redo log日志大小.txt

    Oracle redo 异常暴增 日志挖掘 logminer

    Oracle Redo日志是数据库系统中的重要组成部分,用于记录事务对数据块的修改,确保数据在系统崩溃或异常情况下的可恢复性。当Redo日志异常暴增时,这通常意味着数据库活动增加,或者存在某些问题导致了不必要的日志...

    Redo Log之一:理解Oracle redo log

    Oracle定义了五种不同的状态,包括CURRENT(当前正在使用的日志组)、ACTIVE(活跃的日志组,对应的脏块尚未写入到数据文件或归档模式下未完成归档)、UNUSED(未使用的日志组)、INACTIVE(不包含脏数据的日志组)...

    redo 维护 oracle

    在Oracle数据库系统中,redo日志(也称为重做日志)是至关重要的组件,它记录了所有对数据库所做的事务性更改。理解并维护redo日志对于确保数据完整性和能够进行有效的故障恢复至关重要。以下是对redo日志及其维护的...

    Oracle Redo并行机制

    Oracle Redo并行机制是Oracle数据库中用于优化日志写入性能的一种策略,尤其是在高并发和数据修改频繁的OLTP(在线事务处理)系统中。Redo日志是数据库恢复和事务持久化的关键组成部分,它记录了所有对数据库进行...

    oracle日志查看程序

    用java写的一个oracle日志查看器源代码,调用oracle数据库的logminer过程。包含一个不错的日历选择面板

    ORACLE归档日志设置

    ORACLE归档日志设置 ORACLE数据库的归档日志设置是一种重要的机制,旨在保障数据库的安全性和灾难恢复能力。通过设置数据库的日志模式和自动归档模式,可以确保数据库的可靠性和可恢复性。 数据库日志模式的设置是...

    oracle改redo日志方法.doc

    Oracle数据库的重做日志(Redo Log)是记录所有事务对数据进行修改的历史记录,用于在系统崩溃或介质故障时恢复数据。重做日志的管理是数据库维护中的重要环节,因为它直接影响到数据库的可用性和性能。以下是关于...

    ORACLE redo undo.docx

    1. 当事务开始时,Oracle 数据库会创建一个 redo 日志文件,用于记录事务的所有操作。 2. 在事务执行过程中,Oracle 数据库会将所有的操作记录到 redo 日志文件中。 3. 当事务提交时,Oracle 数据库会将 redo 日志...

    oracle的undo与redo

    在Oracle中,日志文件发挥着关键作用,其中Undo日志和Redo日志是最核心的两种日志类型。 Undo日志,也称为撤销日志,主要用于事务处理中。它的主要作用是记录事务执行之前的数据库状态,即数据块在被修改之前的所有...

    oracle redo常用维护命令

    oracle redo常用维护命令

    40 重新回顾redo日志对于事务提交后,数据绝对不会丢失的意义.pdf

    MySQL数据库中的redo日志机制是保证事务性操作数据安全的重要组成部分。在数据库系统中,事务确保了操作的原子性、一致性、隔离性和持久性,而redo日志则是实现这些特性的关键技术之一。 当用户执行诸如增、删、改...

    REDO文件block损坏的解决方法

    REDO日志是Oracle数据库中用于记录所有事务更改的重要组成部分,它在数据库恢复过程中扮演着关键角色。当REDO文件block发生损坏时,通常是由于硬件故障(如磁盘错误)、软件bug、操作系统异常或不当的数据库操作等...

    DG 添加修改redo日志组大小.txt

    Oracle DataGuard添加修改redo log日志大小

    Oracle-归档日志详解(运行模式、分类)

    Oracle 11g 默认情况下,建立 3 个在线日志组,每组一个日志文件,文件名称为 REDO01.LOG,REDO02.LOG 和 REDO03.LOG。 在线重做日志的原理是将数据库的更新操作写入到日志文件中,以便在出现问题时进行恢复。在线...

    深入分析oracle日志文件

    深入分析 Oracle 日志文件 Oracle 日志文件是 Oracle 数据库管理员 (DBA) 实现数据库恢复和追踪用户操作的重要工具。通过分析 Oracle 日志文件,可以追踪用户的恶意操作、恢复误删除的数据、执行事后审计等。Oracle...

    Oracle_Undo与Redo的通俗

    Oracle_Undo与Redo的通俗 Oracle中的Undo和Redo是两个非常重要的概念,它们都是Oracle数据库中事务管理和恢复机制的关键组件。Undo和Redo都是为了确保数据库的一致性和可靠性。 什么是REDO? REDO记录transaction...

Global site tag (gtag.js) - Google Analytics