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

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学习之collections module-defaultdict()

    defaultdict()继承自dict系统内置类型defaultdict()定义以及作用:    返回一个和dictionay类似对象,和dict不同:      1. 可以制定key对应value ...

  2. poj 1604 Just the Facts

    /** 大意: 求n! 结果 从左到右 第一个非零数 跟 1150 差不多.. **/ #include <iostream> #include <cstdio> using ...

  3. cocos2dx进阶学习之CCNode

    继承关系 CCNode  -> CCObject CCNode在cocos2dx中抽象舞台对象,需要渲染的对象都是从CCNode派生,包括CCScene,CCLayer,CCSprite等等 C ...

  4. css网页自适应-1

    一."自适应网页设计"的概念 2010年,Ethan Marcotte提出了"自适应网页设计"(Responsive Web Design)这个名词,指可以自动 ...

  5. LibSVM笔记系列(3)——初学移植libsvm的C/C++版本

    在LibSVM笔记系列(1)中已经提到在g++环境中编译LibSVM只需要一个make命令那样简单. 本文将介绍 (1)LibSVM的编译文件结构 (2)svm.h中重要数据结构及函数分析 (3)sv ...

  6. 解析带有命名空间问题web.xml

    <?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" ...

  7. Spark源码阅读@ListenerBus 的实现

  8. [Swust OJ 1094]--中位数(巧用set,堆排序)

    题目链接:http://acm.swust.edu.cn/problem/1094/ Time limit(ms): 1000 Memory limit(kb): 32768   中位数(又称中值,英 ...

  9. Android的回调

    学了两三周的安卓了,最先开始是看mars老师的视频,看了一两天结合慕课网上的一些安卓视频,到现在算是有点入门了. 安卓立用得比较多的回调函数有点不明是怎么实现的,网上找了一些资料,结合自己的实践,总算 ...

  10. 高质量程序设计指南C/C++语言——C++/C程序设计入门(3)