我的编程空间,编程开发者的网络收藏夹
学习永远不晚

康哥教你如何有效管理重做日志文件

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

康哥教你如何有效管理重做日志文件

有的人可能还不知道什么是重做日志文件,其实就是你的oradata目录下面的那几个redo.log文件。

作用:当你的数据库崩溃的时候,管理员可以通过重做日志文件和数据库备份文件,把数据库恢复到最近一次记录日志时的状态。


在创建oracle数据库的时候,默认创建了3个重做日志组(对于数据库来说,至少需要2个重做日志组),每一个日志组包含一个或者多个重做日志文件。

每一个重做日志组都有自己的内部序号,oracle按照序号从小到大的顺序向日志组中写入日志信息。当一个重做日志组写满后,后台进程LGWR开始写入下一个重做日志组,依次类推,假如说所有的重做日志组都写满了,则从第一个日志组开始覆盖重写,如此循环写入。

其中,重做日志文件有三种状态:

current(当前状态):正在被lgwr进程写入

active(活动状态):正在被实例用于数据库恢复

inactive(未活动状态):顾名思义,就是没被使用的状态

日志组状态可以通过视图v$log进行查看:

康哥教你如何有效管理重做日志文件

好,接下来我们开始搞一下如下几个技术点:


⒈增加日志组及其成员

实际工作中,为了防止后台进程LGWR等待写入日志组导致效率太低,作为管理员,我们要增加重做日志组。注意:重做日志文件的大小一般在10M - 50M之间,默认是50M。

接下来我就在数据库中添加一个日志组(日志组是由日志文件组成的,我们只能查到日志组序号,看到的只是日志文件):

康哥教你如何有效管理重做日志文件


如上图所示,红框中是直接创建了日志组4,默认序号是往后面自动排的。也可以在增加日志组的时候直接指定组序号,如蓝框中的语句。


⒉创建日志组中的日志文件

举例:为第5个重做日志组添加一个新的日志文件

康哥教你如何有效管理重做日志文件


注意:

A:如果我们在工作中发现存放某个日志文件的磁盘损坏了,这时候就需要删除该损坏磁盘的日志文件,防止oracle将重做日志继续写入到损坏的日志文件中。

① 如果整个日志文件组都不再需要(删除日志组,其中的成员日志文件也会删除)

康哥教你如何有效管理重做日志文件

其中:

Ⅰ.一个数据库至少需要两个重做日志组,删除时不能超过这个限制;

Ⅱ.只能删除处于inactive状态的日志组,如果要删除处于current状态的日志组,则必须手动切换日志,将它切换到inactive状态。

切换日志组方法如下:

康哥教你如何有效管理重做日志文件

Ⅲ.如果数据库处于归档状态,在删除重做日志组之前必须确定目标日志组已经归档。


② 仅仅只是删除日志组成员

举例:删除第4个日志组中的成员redo4_2.log,如下图所示:

康哥教你如何有效管理重做日志文件


需要注意的是,无论是删除日志组还是删除日志成员,删除的都只是数据字典和控制文件中的日志组和日志成员信息,对应的物理文件并没有删除。打开我的Linux里面,给大家看一下就会发现,我的物理文件还是存在的。若要删除,则需要手工干掉。(window更简单,这里不讲)

康哥教你如何有效管理重做日志文件


③ 清空日志文件

举例:清空第4个日志组中的所有日志文件内容

康哥教你如何有效管理重做日志文件


B:如果你的某一个日志文件存放在/home目录下,结果磁盘空间不足,是不是应该把日志文件移动到别的盘呢?怎么移动呢?步骤如下:

① 关闭数据库

康哥教你如何有效管理重做日志文件


② 手动复制源文件到目标位置

康哥教你如何有效管理重做日志文件


③ 启动实例,加载数据库,但不打开数据库

康哥教你如何有效管理重做日志文件


④ 重新设置重做日志文件的路径

康哥教你如何有效管理重做日志文件


注意:to上面的是源文件路径,下面的是目标文件路径。


⑤ 打开数据库

康哥教你如何有效管理重做日志文件


OK,到此为止已经成功更改了重做日志文件路径,现在系统使用的redo4*.log的路径是/home/oracle/backup下面的redo4_1bak.log,来,我们通过查看数据字典视图v$logfile证实一把:

康哥教你如何有效管理重做日志文件


特别地,查看重做日志信息常用视图:

v$log 查看重做日志组信息

v$logfile 查看日志组中日志文件信息

v$log_history 查看日志历史信息



。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。


哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈!


  看到了吧?


      就是这么好玩

        

           就是这么6

 

                  有木有?

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

康哥教你如何有效管理重做日志文件

下载Word文档到电脑,方便收藏和打印~

下载Word文档

编程热搜

目录