您的位置:首页 > 其它

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

2013-07-11 13:46 295 查看
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在进行数据库恢复时,要求重做日志的序列号必须是连续的。

 最后,应该再关闭数据库做一个数据库的全备份。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: