Oracle重做日志组状态及切换解析
admin
2023-05-01 02:03:20
0

     Oracle重做日志(redo log)是用来记录操作条目,用于数据库数据恢复。为了提高效率,oracle通常建议设置三组redo log。


一.概述

oracle重做日志组通常有四种状态,即unused,inactive,active,current。

unused通常指从未被使用的日志组,即新添加的日志组。

current状态为LGWR进程正把redo log buffer的日志写进日志组中。

active为刚刚完成日志切换后的状态,此时该日志组中提交的事务引起的数据改变还没有完全从DB buffer cache写入到数据文件中,因此该日志组还不能被覆盖,并且待完全写入后变为inactive状态。如果数据库为归档模式,那么是在该状态下完成归档的。

inactive状态的日志可以被覆盖,可以允许写入日志。如果是在归档模式下,那么此阶段证明归档已经完成。

二.实验

本次实验以开启归档模式为例:

日志组为三组,状态分别为inactive,inactive,current。如图:

Oracle重做日志组状态及切换解析

手动归档后,观察发现组1的状态变为current,组3的状态变为active,组2的状态不变 。如下图:

Oracle重做日志组状态及切换解析

说明当前写入的日志组为组1,组3正在进行归档和进行必要的数据写入至datafile。待这两项工作完成后,再看如下图:

Oracle重做日志组状态及切换解析

说明组3已经完成了归档,可以允许下一次写入了。在非归档模式下,组3的状态也能变成inactive,说明完成了数据从DB BUFFER CACHE写入至DB files。

三、总结

上述实验很好的说明了oracle日志组在整个生命周期所具有的状态。当然没有看到unused状态,这种状态是当日志组刚新添到数据库后的状态,这种操作在生产环境中很少,所以本次实验没有看到这种状态。

另外有人会认为在手动日志切换时为什么使用命令alter system archive log current。这里也做一个说明。

两组命令最后的效果一样。alter system switch logfile是不等归档完成就进行switch logfile操作,速度快,尤其在非归档模式下适用,对当前实例生效。而alter system archive log current要等待归档完成才操作,对所有实例生效。


相关内容

热门资讯

李彦宏:“自我进化”包含智能体... 5月13日举办的Create2026百度AI开发者大会开幕式上,百度创始人李彦宏表示,本届开幕式主题...
毕业季学生党手机推荐:5500... 毕业季来临,许多学生朋友都在寻找一款既能记录青春美好瞬间,又符合预算的拍照手机。预算在5500元左右...
金正恩视察军工企业,强调加强迫... 据凤凰卫视援引朝中社报道,朝鲜最高领导人金正恩5月11日视察朝鲜一批军工企业,了解今年上半年军火生产...
英首相斯塔默面临下台危机,这3... 英国工党日前在地方选举中大败,首相斯塔默遭遇党内逼宫。虽然他想稳住局面,但是逼宫之声仍不断高涨。斯塔...
壁仞科技申请内存访问优化方法专... 国家知识产权局信息显示,上海壁仞科技股份有限公司申请一项名为“一种内存访问优化方法、设备、存储介质及...
港商云南行|共拓“人工智能+”... 昨日召开的滇港“人工智能+”发展大会,搭建了滇港人工智能产业交流对接、成果展示、合作共赢的高端平台,...
苹果发布Xcode 26.5:... IT之家 5 月 13 日消息,苹果公司昨日(5 月 12 日)更新推出 Xcode 26.5,进一...
原创 1... 超越有争议,速度没争议。 定焦One(dingjiaoone)原创 作者 | 王汉星 编辑 | 魏佳...
谷歌称首次发现利用AI开发“零... 【谷歌称首次发现利用AI开发“零日漏洞”攻击工具】财联社5月12日电,美国谷歌公司威胁情报小组11日...
特朗普随行名单有深意,中途加油... 特朗普的空军一号即将抵达北京。飞机上的大佬们的总资产超过1万亿美元,而身家几十亿美元的特朗普是其中最...