实例演示如何清除一个重做日志文件

来源:互联网 发布:淘宝不能添加图片 编辑:程序博客网 时间:2024/05/12 10:37

1.查询重做日志文件的详细信息
SQL> select group#,sequence#,members,bytes/1024/1024 MB,status,archived
  2  from v$log;

GROUP#  SEQUENCE#    MEMBERS         MB STATUS           ARC
------ ---------- ---------- ---------- ---------------- ---
     1          8          2         50 CURRENT          NO
     2          6          2         50 INACTIVE         NO
     3          7          1         50 INACTIVE         NO
2.查询重做日志文件组的详细信息
SQL> select * from v$logfile;

GROUP# STATUS  TYPE    MEMBER                    IS_
------ ------- ------- ------------------------- ---
     3         ONLINE  /oradata/law/law/redo03.l NO
                       og

     2 STALE   ONLINE  /oradata/law/law/redo02.l NO
                       og

     1         ONLINE  /oradata/law/law/redo01.l NO
                       og

     1 INVALID ONLINE  /oradata/law/law/redo01a. NO
                       log

GROUP# STATUS  TYPE    MEMBER                    IS_
------ ------- ------- ------------------------- ---

     2 INVALID ONLINE  /oradata/law/law/redo02a. NO
                       log
3.使用以下命令清除第三组重组日志
SQL> alter database clear logfile group 3;

Database altered.
4.查询一下
SQL> select group#,sequence#,members,bytes/1024/1024 MB,status,archived
  2  from v$log;

GROUP#  SEQUENCE#    MEMBERS         MB STATUS           ARC
------ ---------- ---------- ---------- ---------------- ---
     1          8          2         50 CURRENT          NO
     2          6          2         50 INACTIVE         NO
     3          0          1         50 UNUSED           NO
从显示结果看出:第三组重做日志的序列号已经变为0,这就是为什么清除一个重做日志后需要做数据库全备份的原因所在。因为Oracle在进行数据库恢复时,要求重做日志的序列号必须是连续的。
 最后,应该再关闭数据库做一个数据库的全备份。

原创粉丝点击