修改在线重做日志遇到的问题

我们想给在线重做日志加大到2G一个。

同事采用了下面的方法。

SQL> SQL> alter database add logfile group 4 ('/slot/ems12614/oracle/app/ora12614/oradata/henryoiddb/redo04.log') size 2048M;

Database altered.

SQL> alter database add logfile group 5 ('/slot/ems12614/oracle/app/ora12614/oradata/henryoiddb/redo05.log') size 2048M;

Database altered.

SQL> alter database add logfile group 6 ('/slot/ems12614/oracle/app/ora12614/oradata/henryoiddb/redo06.log') size 2048M;

Database altered.

SQL> alter database drop logfile group 1;

Database altered.

SQL> alter database drop logfile group 2;

Database altered.

SQL> SELECT GROUP#, ARCHIVED, STATUS FROM V$LOG;

    GROUP# ARC STATUS
---------- --- ----------------
         3 NO  CURRENT--为当前正在使用的,肯定删除不了。
         4 YES UNUSED
         5 YES UNUSED
         6 YES UNUSED

SQL>  alter system switch logfile; 做个日志切换试试?

System altered.

SQL>  alter database drop logfile group 3;--还是删除不了。
 alter database drop logfile group 3
*
ERROR at line 1:
ORA-01624: log 3 needed for crash recovery of instance henryoiddb (thread 1)
ORA-00312: online log 3 thread 1:
'/slot/ems12614/oracle/app/ora12614/oradata/henryoiddb/redo03.log'


SQL> alter system switch logfile;再切换一次试试?

System altered.

SQL>  alter database drop logfile group 3;
 alter database drop logfile group 3
*
ERROR at line 1:
ORA-01624: log 3 needed for crash recovery of instance henryoiddb (thread 1)
ORA-00312: online log 3 thread 1:
'/slot/ems12614/oracle/app/ora12614/oradata/henryoiddb/redo03.log'


SQL> SELECT GROUP#, ARCHIVED, STATUS FROM V$LOG;

    GROUP# ARC STATUS
---------- --- ----------------
         3 NO  ACTIVE--状态是活动状态,当然删除不了。日志里面有些数据是做实例恢复时要用到的。oracle在事务提交的时候只是写了日志文件就说事务完成了。
         4 NO  ACTIVE
         5 NO  CURRENT
         6 YES UNUSED

SQL> alter system switch logfile;

System altered.

SQL> SELECT GROUP#, ARCHIVED, STATUS FROM V$LOG;

    GROUP# ARC STATUS
---------- --- ----------------
         3 NO  ACTIVE
         4 NO  ACTIVE
         5 NO  ACTIVE
         6 NO  CURRENT

SQL>  alter system switch logfile;

System altered.

SQL> SELECT GROUP#, ARCHIVED, STATUS FROM V$LOG;

    GROUP# ARC STATUS
---------- --- ----------------
         3 NO  CURRENT----这里面的数据没有写到数据文件里永久保存。所以就是删除不了。大家可以想一下DBWR都是在什么情况下工作的?
         4 NO  INACTIVE
         5 NO  ACTIVE
         6 NO  ACTIVE

SQL>  alter database drop logfile group 3;
 alter database drop logfile group 3
*
ERROR at line 1:
ORA-01623: log 3 is current log for instance henryoiddb (thread 1) - cannot
drop
ORA-00312: online log 3 thread 1:
'/slot/ems12614/oracle/app/ora12614/oradata/henryoiddb/redo03.log'


SQL>  SELECT GROUP#, ARCHIVED, STATUS FROM V$LOG;

    GROUP# ARC STATUS
---------- --- ----------------
         3 NO  CURRENT
         4 NO  INACTIVE
         5 NO  ACTIVE
         6 NO  ACTIVE

SQL> alter system checkpoint;--手工发一个检查点让DBWR工作 。

System altered.

SQL> SELECT GROUP#, ARCHIVED, STATUS FROM V$LOG;


    GROUP# ARC STATUS
---------- --- ----------------
         3 NO  CURRENT
         4 NO  INACTIVE
         5 NO  INACTIVE
         6 NO  INACTIVE

SQL> SQL> alter system switch logfile;

System altered.

SQL> SELECT GROUP#, ARCHIVED, STATUS FROM V$LOG;

    GROUP# ARC STATUS
---------- --- ----------------
         3 NO  INACTIVE
         4 NO  CURRENT
         5 NO  INACTIVE
         6 NO  INACTIVE

SQL> alter database drop logfile group 3;删除成功

Database altered.

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值