为保证重新创建的日志组成员可以成功创建,我们在删除日志组后需要手工删除对应的日志文件。

1.查看数据库当前REDO LOG日志相关信息
1)查看日志组信息
sys@ora10g> 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

2)查看日志文件信息
sys@ora10g> col member for a50
sys@ora10g> 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

8 rows selected.

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

Database altered.

3.验证此时日志组对应的日志文件是否被删除
sys@ora10g> !ls -l /oracle/ora10gR2/oradata/ora10g/redo05_a.log
-rw-r----- 1 oracle oinstall 524288512 Oct 19 22:33 /oracle/ora10gR2/oradata/ora10g/redo05_a.log

sys@ora10g> !ls -l /oracle/ora10gR2/oradata/ora10g/redo05_b.log
-rw-r----- 1 oracle oinstall 524288512 Oct 19 22:33 /oracle/ora10gR2/oradata/ora10g/redo05_b.log

显然,此时操作系统上与第五组日志相关的日志文件并没有被删除。此时需要我们手工完成清理动作,否则在下次创建同样的日志文件时会报错,提示文件已经存在,不允许创建,具体报错信息如下所示。
sys@ora10g> alter database add logfile group 5 ('/oracle/ora10gR2/oradata/ora10g/redo05_a.log','/oracle/ora10gR2/oradata/ora10g/redo05_b.log') size 50M;
alter database add logfile group 5 ('/oracle/ora10gR2/oradata/ora10g/redo05_a.log','/oracle/ora10gR2/oradata/ora10g/redo05_b.log') size 50M
*
ERROR at line 1:
ORA-00301: error in adding log file '/oracle/ora10gR2/oradata/ora10g/redo05_a.log' - file cannot be created
ORA-27038: created file already exists
Additional information: 1

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

Good luck.

secooler
11.10.20

-- The End --

http://blog.itpub.net/519536/viewspace-709441/

【REDO】删除REDO LOG重做日志组后需要手工删除对应的日志文件(转)的更多相关文章

  1. oracle如何重做日志组

    1.查询数据库中的重做日志组 SQL> select * from v$log; GROUP# THREAD# SEQUENCE# BYTES BLOCKSIZE MEMBERS ARC STA ...

  2. 【练习】增加日志组数至4组,且每组日志成员大小为50M,每组2个成员。

    1.查看日志组成员路径及日志组大小.状态 SQL> select group#,member from v$logfile; GROUP# MEMBER ---------- --------- ...

  3. Oracle卸载后手工删除内容

    使用deinstall卸载oracle后,手工删除Oracle数据库,方法如下: 第一步:停用全部oracle服务 第二步:删除oracle注册表运行regedit在如下路径中找到oracle相关键值 ...

  4. 【处理多服务器日志合并处理问题】多服务器的日志合并统计——apache日志的cronolog轮循

    转发:http://www.chedong.com/tech/rotate_merge_log.html   内容摘要:你完全不必耐心地看完下面的所有内容,因为结论无非以下2点:1 用 cronolo ...

  5. redo log重做日志缓冲

    ---------------------------------- 2015-02-10---------------------------------- innodb redo log (重做日 ...

  6. redo log 重做日志

    --------------------------------------------------2015-02-10---------------------------------------- ...

  7. Standby Redo Log 的设定原则、创建、删除、查看、归档位置

    设定: 1.每个standby redo log file 至少要和primary database的redo log 一样大,为了方便管理,Oracle 建议主备库的redo log 设置成一样的大 ...

  8. Oracle current redo.log出现坏块后的不完全恢复案例一则

    1异常出现      8月30日下午2时左右,接同事电话,说数据库异常宕机了,现在启动不了. 2初步分析 我让现场把alert.log发过来,先看看是什么问题.   关于ORA-00353和ORA-0 ...

  9. 添加redo日志组和添加日志组多元化

    查看redo日志组的状态和日志的位置. SQL> 没有被使用,所以切几次日志,组合4已生效. SQL> select * from v$log; GROUP#   THREAD#  SEQ ...

随机推荐

  1. python--help

    python help 学习python的过程中,难免遇到一些生疏的东西,为此需要参看相关的文档说明. Linux下众所周知有man可以查找系统的命令帮助页:对于python也提供了自己的帮助文档的2 ...

  2. 循环结构中break、continue、return和exit的区别

    1. break break语句的使用场合主要是switch语句和循环结构.在循环结构中使用break语句,如果执行了break语句,那么就退出循环,接着执行循环结构下面的第一条语句.如果在多重嵌套循 ...

  3. Qt 代码: 子窗口调用父窗口(其实就是用指针直接访问)

    之前的 Qt 编程大多只涉及简单的多窗口,并未染指窗口间的传值交互,想来还是“涉世未深”,对 Qt 的理解.应用还需殷勤努力. 这次的问题是这样的,我想要实现一个类似QQ.阿里旺旺的聊天客户端,在弹出 ...

  4. DropDownList SelectedIndexChanged使用

    在asp.net中使用dropdownlist,默认是不会送的,我们想要选中一项然后更改相关的数据,应该吧属性AutoPostback改为true. http://msdn.microsoft.com ...

  5. poj 2346 Lucky tickets(区间dp)

    题目链接:http://poj.org/problem?id=2346 思路分析:使用动态规划解法:设函数 d( n, x )代表长度为n且满足左边n/2位的和减去右边n/2位的和为x的数的数目. 将 ...

  6. bootstrap框架开发电子商城案例

    bootstrap框架开发电子商城案例 玛图 bootstrap 商城框架

  7. AsyncQueryHandler处理数据

    参考:http://blog.csdn.net/hfreeman2011/article/details/8555474和http://blog.csdn.net/dragondog/article/ ...

  8. 【前端】CSS雪碧

    百度百科:http://baike.baidu.com/link?url=jblMCCF77bq7egbJ-9SudRmvXdwlQVVOq5D9MEEniQgJR-Lqanfrnjzwmgu7ato ...

  9. python写的屏保程序

    __author__ = 'ChenYan' from random import randint from tkinter import * class Randball(): def __init ...

  10. stdcall、cdecl、fastcall、thiscall 、naked call的汇编详解

    函数调用规范   当高级语言函数被编译成机器码时,有一个问题就必须解决:因为CPU没有办法知道一个函数调用需要多少个.什么样的参数.即计算机不知道怎么给这个函数传递参数,传递参数的工作必须由函数调用者 ...