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

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优秀库 - 使用xmltodict解析xml文档

    上次讲到如何使用BeautifulSoup解析XML文档,今天发现另外一个python库xmltodict(https://github.com/martinblech/xmltodict)也很简单. ...

  2. 在QuartusII 中使用tcl对工程进行复制——半自动

    最近在看coyoo的博客,加上手上有一本coyoo老师的书籍.本人是脚本小白,怎么看都没有看懂这个自动化是怎么实现的. 先说我的半自动化,后面在说我对自动化的一点疑惑—— 目前没有实现 目录环境: 首 ...

  3. Qt 错误: 无法运行 release 下的可执行文件

        学习Qt有一点时间了,但之前都是在debug版本下进行编译运行,偶然切换到release版本下,却出现了如下错误: 错误提示:   This application failed to sta ...

  4. Java学习之二分查找算法

    好久没写算法了.只记得递归方法..结果测试下爆栈了. 思路就是取范围的中间点,判断是不是要找的值,是就输出,不是就与范围的两个临界值比较大小,不断更新临界值直到找到为止,给定的集合一定是有序的. 自己 ...

  5. git pull 出错 fatal: Could not read from remote repository.Please make sure you have the correct access rights.and the repository exists.

    Warning: Permanently added the RSA host key for IP address '192.30.252.131' to the list of known hos ...

  6. php调用com组件配置 以openoffice为例

    什么是com组件? COM构架下,人们可以开发出各种各样的功能专一的组件,然后将它们按照需要组合起来,构成复杂的应用系统.COM与语言,平台无关的特性使所有的程序员均可充分发挥自己的才智与专长编写组件 ...

  7. 聊聊高并发(二十五)解析java.util.concurrent各个组件(七) 理解Semaphore

    前几篇分析了一下AQS的原理和实现.这篇拿Semaphore信号量做样例看看AQS实际是怎样使用的. Semaphore表示了一种能够同一时候有多个线程进入临界区的同步器,它维护了一个状态表示可用的票 ...

  8. ceph存储之查找对象

    对象存储(而非块存储): 要把对象存入ceph集群,客户端必须做到: 1.指定对象名 2.指定存储池 Ceph客户端检出最新集群运行图,客户端用CRUSH算法动态地计算出如何把对象映射到归置组.然后计 ...

  9. C++静态成员函数和静态成员变量的探索

    静态数据成员属于类,非属于类对象,所以,定义位置就有了限制. 静态数据成员要实际地分配空间,故不能在类的声明中定义(只能声明数据成员).类声明只声明一个类的“尺寸和规格”,并不进行实际的内存分配,所以 ...

  10. spring-mvc关键点掌握 high level

    在本例中,我们将使用Spring MVC框架构建一个入门级web应用程序.Spring MVC 是Spring框架最重要的的模块之一.它以强大的Spring IoC容器为基础,并充分利用容器的特性来简 ...