增加redolog组和组成员及ORA-01624错误的处理

 
1、先查看redolog组情况

   select * from v$logfile;

    GROUP# STATUS  TYPE    MEMBER                                   IS_
---------- ------- ------- ---------------------------------------- ---
         3         ONLINE  /u01/oradata/chris/redo03.log            NO
         2         ONLINE  /u01/oradata/chris/redo02.log            NO
         1         ONLINE  /u01/oradata/chris/redo01.log            NO

 

2、增加redolog文件组

alter database add logfile group 4 ('/u01/oradata/chris/redo04.log') size 50M;

 

 SQL> select * from v$logfile;

    GROUP# STATUS  TYPE    MEMBER                                   IS_
---------- ------- ------- ---------------------------------------- ---
         3         ONLINE  /u01/oradata/chris/redo03.log            NO
         2         ONLINE  /u01/oradata/chris/redo02.log            NO
         1         ONLINE  /u01/oradata/chris/redo01.log            NO
         4         ONLINE  /u01/oradata/chris/redo04.log            NO

已经添加成功并分配了大小。

 

3、添加组成员

alter database add logfile member '/u01/oradata/chris/redo04a.rdo' to group 4;

 

4、进行查看

   select * from v$logfile;

 GROUP# STATUS  TYPE    MEMBER                                   IS_
---------- ------- ------- ---------------------------------------- ---
         3         ONLINE  /u01/oradata/chris/redo03.log            NO
         2         ONLINE  /u01/oradata/chris/redo02.log            NO
         1         ONLINE  /u01/oradata/chris/redo01.log            NO
         4         ONLINE  /u01/oradata/chris/redo04.log            NO
         4 INVALID ONLINE  /u01/oradata/chris/redo04a.rdo           NO
ok 完成。

 

6 、删除日志组及日志组成员:

原则:删除前必须遵守如下原则,每个实例必须至少有两个日志组;当一个组处于ACTIVE或者CURRENT的状态时不可删除;删除日志组的操作只对 数据库进行更改,操作系统的文件尚未删除;当删除时适用DROP LOGFILE GROUP N语句时,此时GROUP N内的所有成员都将被删除。
ALTER DATABASE DROP LOGFILE GROUP N;
 
删除日志成员的原则:当你删除一个是该组中最后一个成员的时候,你不能删除此成员;当组的转台处于current的状态时,不能删除组成员;在归档模式下,必须得归档之后才能删除;删除日志组成员的操作只对数据库进行更改,操作系统的文件尚未删除
ALTER DATABASE DROP LOGFILE MEMBER '/LOCATION_DUST/REDO0N_N.LOG';
 

7、 ORA-01624 错误处理

 checkpoint由ckpt进程触发oracle进行checkpoint动作,将data buffer中的脏块(已经写在redo里记录但是没有写到datafile里的)的内容写入到data file里并释放站用的空间,由dbw后台进程完成,并修改controlfile和datafile的scn.
一般手工执行是由于要删除某个日志但是该日志里还有没有同步到data file里的内容,就需要手工check point来同步数据,然后就可以drop logfile group n.

SQL> alter database drop logfile group 2;
alter database drop logfile group 2
*
ERROR at line 1:
ORA-01624: log 2 needed for crash recovery of instance dbstat (thread 1)
ORA-00312: online log 2 thread 1: '/data1/dbstat/redo2.log'

SQL> alter system switch logfile;

System altered.

SQL> select * from v$Log;

    GROUP#    THREAD#  SEQUENCE#      BYTES    MEMBERS ARC STATUS           FIRST_CHANGE# FIRST_TIME
---------- ---------- ---------- ---------- ---------- --- ---------------- ------------- -------------------
         1          1         12 2147483648          1 NO  ACTIVE                  203704 2009-09-17 19:04:23
         2          1         11   52428800          1 NO  ACTIVE                  203206 2009-09-17 18:56:08
         3          1         13 2147483648          1 NO  CURRENT                 203710 2009-09-17 19:04:38
SQL> alter system checkpoint;

System altered.

SQL> select * from v$Log;

    GROUP#    THREAD#  SEQUENCE#      BYTES    MEMBERS ARC STATUS           FIRST_CHANGE# FIRST_TIME
---------- ---------- ---------- ---------- ---------- --- ---------------- ------------- -------------------
         1          1         12 2147483648          1 NO  INACTIVE                203704 2009-09-17 19:04:23
         2          1         11   52428800          1 NO  INACTIVE                203206 2009-09-17 18:56:08
         3          1         13 2147483648          1 NO  CURRENT                 203710 2009-09-17 19:04:38

SQL> alter database drop logfile group 2;

Database altered.

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值