ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 关于oracle的redolog(重做日志)

关于oracle的redolog(重做日志)

原创 Linux操作系统 作者:herbertyqh 时间:2012-11-24 14:23:18 0 删除 编辑
今天同事询问我由于磁盘空间不够用了,可不可以将oracle的redolog文件删掉一些;
我立刻回答他不可以;但是又觉的说的太绝对了,于是乎到网上查些资料;
发现其实是可以删除的;
只不过要经过如下步骤:
一般在作数据库备份时,都不需要也不建议备份redolog,因为数据库在进行恢复的时候主要是利用归档日志文件,当数据库出现错误时,会产生不一致的redolog,对恢复是没有意义的。
用archive log 作恢复后,oracle会自动生成新的redo log文件!

查看日志组信息
select * from v$log;

    GROUP#    THREAD#  SEQUENCE#      BYTES    MEMBERS ARC STATUS   FIRST_CHANGE# FIRST_TIME
---------- ---------- ---------- ---------- ---------- --- -------- ------------- -----------------
         1          1          0   52428800          2 YES UNUSED               0
         2          1          0   52428800          1 YES UNUSED               0
         3          1          0  524288000          1 YES UNUSED               0
         4          1          1  524288000          2 NO  CURRENT        6494848 20111019 22:32:01
         5          1          0  524288000          2 YES UNUSED               0

查看日志文件信息
select * from v$logfile;
GROUP# STATUS  TYPE     MEMBER                                         IS_
---------- ------- -------- ---------------------------------------------- ---
         1         ONLINE   /oracle/ora10gR2/oradata/ora10g/redo01.log     NO
         2         ONLINE   /oracle/ora10gR2/oradata/ora10g/redo02.log     NO
         1         ONLINE   /oracle/ora10gR2/oradata/ora10g/redo01_b.log   NO
         3         ONLINE   /oracle/ora10gR2/oradata/ora10g/redo03_a.log   NO
         4         ONLINE   /oracle/ora10gR2/oradata/ora10g/redo04_a.log   NO
         4         ONLINE   /oracle/ora10gR2/oradata/ora10g/redo04_b.log   NO
         5         ONLINE   /oracle/ora10gR2/oradata/ora10g/redo05_a.log   NO
         5         ONLINE   /oracle/ora10gR2/oradata/ora10g/redo05_b.log   NO


注意日志组的状态,只有UNUSED或者inactive状态的可以删除;

删除日志组
这里以删除第5组非活动日志组为例作为演示。
alter database drop logfile group 5;

验证此时日志组对应的日志文件是否被删除
ls -l /oracle/ora10gR2/oradata/ora10g/redo05_a.log

此时操作系统上与第五组日志相关的日志文件并没有被删除。此时需要我们手工完成清理动作,否则在下次创建同样的日志文件时会报错,提示文件已经存在,不允许创建

4.小结
  默认情况下当删除日志文件组后Oracle不会将对应的日志成员文件在操作系统上删除,此时我们需要在操作系统上使用rm进行处理,rm是危险的,当使用rm进行删除时,一定要小心。为了防止出现此类问题的发生,我们可以考虑使用OMF或者ASM方式管理数据库的文件。
注意:对于一个Oracle数据库实例,至少要包含两个联机重做日志组

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/25057232/viewspace-749874/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: 加班
下一篇: 夜谈
请登录后发表评论 登录
全部评论

注册时间:2012-11-21

  • 博文量
    40
  • 访问量
    34200