Oracle 11g R2 管理重做日志文件
admin
2023-04-19 08:02:17
0

重做日志也称联机重做日志。引入重做日志的目的是数据恢复。在数据库运行过程中,用户更改的数据会暂时存放在数据库的高速缓冲区中。为了提高写数据的速度,并不是一旦有数据变化,就把变化的数据写到数据文件中。频繁的读写磁盘文件会使数据库系统效率降低,所以要等到数据库高速缓冲区中的数据达到一定的量或者满足一定的条件时,DBWR进程才会将变化了的数据写到数据文件中。这种情况下如果在DBWR把变化了的更改写到数据文件之前发生了宕机,那么数据高速缓冲区中的数据就会全部丢失。如果在数据库重新启动后无法恢复这部分用户更改的数据,显然是不可以的。

重做日志就是把变化了数据首先保存起来,其中LGWR进程负责把用户更改的数据写到重做日志文件中,这样数据库启动时,数据库系统从重做日志文件中读取这些变化了的数据,将用户更改的数据提交到数据库中,写入数据文件。
为提高磁盘效率和防止重做日志文件的损坏,oracle使用特殊的重做日志文件结构,是由3个重做日志组,每组包含两个重做日志组成员,当第一个日志组写满后,就会停止写入,向第二个日志组写入,第二个日志组写满后,向第二个日志组写入,第三个日志组写满后向第一个日志组写入,oracle使用这种循环方式使用重做日志组。

oracle规定每个数据库至少有两个日志组,每组至少包含一个或多个日志成员。oracle循环的使用重做日志组,当一个重做日志组写满后进行日志切换,切换到它可以找到的其他重做日志组。使用新的重做日志组之前,DBWR进程需要将所有的数据更改写入到数据文件中。如果数据库处于归档模式下,当发生日志切换时,归档进程(ARCH)会把当前已满的重做日志文件中的数据复制到归档日志中。

设计成多个日志成员的目的是在日志组内某个日志文件损坏后及时提供备份,所以同一组的日志成员一般内容信息相同,但是存放位置不同。

读取重做日志文件信息

数据字典视图V$log记录当前数据库的日志组序号,日志序列号,每个日志文件大小,每个日志组的成员数量,以及日志组的当前状态。

使用V$LOG查看重做日志信息

输出结果有三个日志组,每个日志组分别有一个日志文件。日志组2为当前正在使用的重做日志组,称为当前日组,当前日志文件还没有归档,其他非活动重做日志文件已经归档。

数据字典V$LOGFILE记录了当前日志组号,该日志组的状态、类型和日志组成员信息。

使用V$LOGFILE查看重做日志组信息

其中,status参数的含义如下:

空白:此文件正在使用。

stale:该文件内容是不完整的

invalid:该文件不可以被访问,如刚建立

deleted:该文件已不再有用

根据上面输出结果可以知道,数据库有3个重做日志组,每个日志组有1个重做日志文件。

重做日志组及其成员管理

创建重做日志组:

一个oracle数据库日志组太少,可能导致日志文件切换频繁,影响系统性能,所以有时需要增加新的日志组。如果日志组内只有一个日志成员,为避免损坏则需要增加新的日志成员。

使用v$log查看重做日志信息
Oracle 11g R2 管理重做日志文件
使用v$logfile查看重做日志组信息Oracle 11g R2 管理重做日志文件
创建重做日志组的方法:
Oracle 11g R2 管理重做日志文件
删除重做日志组
Oracle 11g R2 管理重做日志文件
添加删除重做日志文件
Oracle 11g R2 管理重做日志文件
会发现新添加的日志文件redo33.log是无效状态,三个日志组的日志成员还没有写满,所以redo33.log是无效状态,只要做两次强制日志切换就可以发现是ONLINE状态了Oracle 11g R2 管理重做日志文件
删除重做日志文件
Oracle 11g R2 管理重做日志文件
到操作系统日志文件存放目录上查看是否还存在redo33.log
Oracle 11g R2 管理重做日志文件
查看重做日志信息,group3是当前日志组
Oracle 11g R2 管理重做日志文件
删除日志组3中的日志文件redo33.log,会发现当前日志组中的日志文件是没有办法删除的
Oracle 11g R2 管理重做日志文件
强制切换日志后,就可以删除新添加的日志文件了。
Oracle 11g R2 管理重做日志文件
删除重做日志文件的限制条件如下

Ø 不能删除当前组的成员,若要删除则先执行强制性切换重做日志的命令:alter system switch logfile

Ø 活动日志成员不可以删除

Ø 没有归档的日志成员不可删除

Ø 当前日志组中只有一个成员是也不能删除

日志组切换和检查点事件

日志切换就是停止写当前日志组,转向另一个新的日志组。系统可以自动切换,也可以手动切换。当发生日志切换时,系统会在后台完成检查点操作,以减少实例的恢复时间。

检查点是一个事件,用于减少实例恢复的时间。当检查点发生时,它会出发DBWR进程,把数据高速缓冲区中变化了的数据写入数据文件,同时检查点进程更新控制文件和数据文件头部,保证数据的一致性。检查点其实是一个后台进程,用来保证所有修改过的数据库缓冲区的数据写入数据文件。

检查点事件越频繁,则一旦数据库发生故障,需要数据恢复的重做日志中的数据就越少(因为在恢复时,就不必检查恢复检查点之前的重做日志中的数据),所以就减少实例的恢复时间。

强制日志切换并强制产生检查点事件。

强制日志切换
Oracle 11g R2 管理重做日志文件
强制产生检查点事件
Oracle 11g R2 管理重做日志文件
如果对此文有什么问题的话,请加下面微信一起探讨
Oracle 11g R2 管理重做日志文件

相关内容

热门资讯

今日重磅消息“人海牛牛怎么开挂... 今日重磅消息“人海牛牛怎么开挂?”(太坑了原来有挂)您好,人海牛牛这个游戏其实有挂的,确实是有挂的,...
今日重大发现“乐易四川麻将怎么... 您好:乐易四川麻将这款游戏可以开挂,确实是有挂的,需要了解加客服微信【4282891】很多玩家在这款...
玩家攻略科普“乐乐围棋入门到底... 有 亲,根据资深记者爆料乐乐围棋入门是可以开挂的,确实有挂(咨询软件无需...
玩家最新攻略“青鸾牛牛辅助器?... 您好:青鸾牛牛这款游戏可以开挂,确实是有挂的,需要了解加客服微信【9752949】很多玩家在这款游戏...
今日重大发现“爱来掌中宝真的有... 您好:爱来掌中宝这款游戏可以开挂,确实是有挂的,需要了解加客服微信【9752949】很多玩家在这款游...
我来教教您“猜宝控制器开挂神器... 网上科普关于“猜宝控制器有没有挂”话题很是火热,小编也是针对猜宝控制器作*弊开挂的方法以及开挂对应的...
全文|特朗普与泽连斯基召开记者... 美国总统特朗普力推新的和平计划,以结束俄乌战争。特朗普12月28日与俄罗斯总统普京通话,随后还在佛罗...
遗体修复,丧礼,破地狱:香港大... 出了香港大埔墟地铁站,远处那排焦黑斑驳的建筑体清晰可见。12月19日,清晨7点半,罗女士来到这里。和...
最新引进“欢乐时光真的有挂吗?... 家人们!今天小编来为大家解答欢乐时光透视挂怎么安装这个问题咨询软件客服徽4282891的挂在哪里买很...
【第一资讯】“友间十三张到底有... 家人们!今天小编来为大家解答友间十三张透视挂怎么安装这个问题咨询软件客服徽9784099的挂在哪里买...