Oracle归档日志管理与恢复机制解析
"Oracle归档日志是数据库管理系统Oracle中至关重要的一部分,主要用于确保数据的完整性和一致性,以及实现数据库的备份与恢复。Oracle归档日志笔记主要涉及在线重做日志(Online Redo Log)的管理和操作,包括其功能、特点、日志切换以及如何管理日志文件。" 在Oracle数据库系统中,重做日志(Redo Log)是用来记录所有事务对数据库所做的更改,确保在系统故障或崩溃后能够恢复这些更改。它由一组在线重做日志文件组成,这些文件按照组(Group)进行组织,并且至少需要两组以上以实现数据保护。每组内的日志文件具有相同的大小,并分配有唯一的日志序列号(Log Sequence Number),这个号码用于识别特定的日志文件。 日志切换(Log Switch)是数据库操作中的一个重要环节,它涉及到将当前正在写的日志文件(Current状态)变为已归档(Archived)或者可写(Inactive),同时将新的日志文件设为当前状态。日志切换通常在以下情况发生:日志文件填满、达到指定的时间间隔(通过`FAST_START_MTTR_TARGET`参数设定)、或者通过SQL命令手工触发。例如,可以设置`ALTER SYSTEM SET FAST_START_MTTR_TARGET=600;`以600秒为间隔自动执行日志切换,或者使用`ALTER SYSTEM CHECKPOINT;`命令立即执行检查点和日志切换。 在线重做日志文件的状态有三种:CURRENT(当前)、ACTIVE(活跃)、INACTIVE(不活动)。CURRENT表示当前正在写入事务信息,ACTIVE表示日志文件已满并等待归档,而INACTIVE则表示可以接收新的事务记录。 管理在线重做日志文件时,可以使用SQL命令来添加新的日志组。例如,查询当前日志组状态,可以使用`SELECT group#, thread#, sequence#, status FROM v$log;`,然后通过`ALTER SYSTEM SWITCH LOGFILE;`命令来切换当前日志,这样可以将一个日志文件从CURRENT状态转变为其他状态,以便循环使用。 `V$LOGFILE`视图提供了关于重做日志文件的详细信息,如文件名、状态等,通过`DESC V$LOGFILE;`可以查看该视图的结构。 Oracle归档日志是数据库安全和稳定运行的关键组件,理解和熟练掌握其管理对于DBA来说至关重要。通过对日志的适当管理和监控,可以确保数据的快速恢复,提高系统的可用性和灾难恢复能力。
Redolog对磁盘的要求比较高,需要不停的写 onlineredolog和datafile不能丢失、 作用是用来做备份和恢复的 。 Onlineredolog的特点:
对数据库进行的任何改变都记录在redo日志里面 提供了一种恢复的机制
被组织成组至少有2组以上的
每个group组的redolog是一样的 是由LGWR来写的 组中的成员:组里的每个成员,具有相同的大小,并且分配同一个log sequence number 根据这个number号可以唯一的确定这个日志。
Log switch 日志切换, 的时候会发生checkpiont,dbwn把dirt buffer写到 datafile中日志切换和检查点强制日志切换
修改这个参数 设定这个参数600秒写一次数据文件dbwn,
alter system set fast_start_mttr_target = 600;
手工执行checkpoint
Alter system checkpoint;
Online Redolog 管理 增加redo log 组
SQL> select group# ,thread#,sequence#,status from v$log;
GROUP# THREAD# SEQUENCE# STATUS
---------- ---------- ---------- --------------------------------
1 1 1 INACTIVE
2 1 2 INACTIVE
3 1 3 CURRENT
SQL> alter system switch logfile;
System altered.
SQL> select group# ,thread#,sequence#,status from v$log;
GROUP# THREAD# SEQUENCE# STATUS
1 1 4 CURRENT
2 1 2 INACTIVE
3 1 3 ACTIVE
其中current状态的是正在写的log Ac tive是已经归档的状态 Inactive是可以写的状态
SYS@ORCL>desc v$logfile;
Name Null? Type
----------------------------------------- -------- ----------------------------
GROUP# NUMBER
STATUS VARCHAR2(7)
TYPE VARCHAR2(7)
MEMBER VARCHAR2(513)
IS_RECOVERY_DEST_FILE VARCHAR2(3)
SYS@ORCL>select MEMBER from v$logfile;
MEMBER
--------------------------------------------------------------------------------
/u01/app/oracle/oradata/ORCL/onlinelog/o1_mf_3_b0fh9w87_.log
/u01/app/oracle/fast_recovery_area/ORCL/onlinelog/o1_mf_3_b0fh9wqw_.log
/u01/app/oracle/oradata/ORCL/onlinelog/o1_mf_2_b0fh9nk4_.log
/u01/app/oracle/fast_recovery_area/ORCL/onlinelog/o1_mf_2_b0fh9o8x_.log
/u01/app/oracle/oradata/ORCL/onlinelog/o1_mf_1_b0fh9drr_.log
/u01/app/oracle/fast_recovery_area/ORCL/onlinelog/o1_mf_1_b0fh9dxx_.log
6 rows selected. --查看日志文件的路径
剩余13页未读,继续阅读
- 粉丝: 1
- 资源: 4
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- C++标准程序库:权威指南
- Java解惑:奇数判断误区与改进方法
- C++编程必读:20种设计模式详解与实战
- LM3S8962微控制器数据手册
- 51单片机C语言实战教程:从入门到精通
- Spring3.0权威指南:JavaEE6实战
- Win32多线程程序设计详解
- Lucene2.9.1开发全攻略:从环境配置到索引创建
- 内存虚拟硬盘技术:提升电脑速度的秘密武器
- Java操作数据库:保存与显示图片到数据库及页面
- ISO14001:2004环境管理体系要求详解
- ShopExV4.8二次开发详解
- 企业形象与产品推广一站式网站建设技术方案揭秘
- Shopex二次开发:触发器与控制器重定向技术详解
- FPGA开发实战指南:创新设计与进阶技巧
- ShopExV4.8二次开发入门:解决升级问题与功能扩展