REDO更改日志大小

Normal 0 7.8 磅 0 2 false false false EN-US ZH-CN X-NONE假设现有三个日志组,每个组内有一个成员,每个成员的大小为1MB,现在想把此三个日志组的成员大小都改为10MB

 

1、创建2个新的日志组

alter database add logfile group 4 ('D:\ORACLE\ORADATA\ORADB\REDO04_1.LOG') size 1024k;

alter database add logfile group 5 ('D:\ORACLE\ORADATA\ORADB\REDO05_1.LOG') size 1024k;

 

2、切换当前日志到新的日志组

alter system switch logfile;

alter system switch logfile;

 

3、删除旧的日志组

alter database drop logfile group 1;

alter database drop logfile group 2;

alter database drop logfile group 3;

 

4、操作系统下删除原日志组1、2、3中的文件

 

5、重建日志组1、2、3

alter database add logfile group 1 ('D:\ORACLE\ORADATA\ORADB\REDO01_1.LOG') size 10M;

alter database add logfile group 2 ('D:\ORACLE\ORADATA\ORADB\REDO02_1.LOG') size 10M;

alter database add logfile group 3 ('D:\ORACLE\ORADATA\ORADB\REDO03_1.LOG') size 10M;

 

6、切换日志组

alter system switch logfile;

alter system switch logfile;

alter system switch logfile;

 

 

---此时需要确认日志是否已经是inactive status

SQL> select group#,sequence#,bytes/1024/1024,archived,status from v$log;

 

    GROUP#  SEQUENCE# BYTES/1024/1024 ARC STATUS

---------- ---------- --------------- --- ----------------

         4          9               5 NO  CURRENT

         5          6               5 YES INACTIVE

         6          7               5 YES INACTIVE

         7          8               5 YES INACTIVE

不要去删除 非INACTIVE状态日志,可以通过alter system switch logfile 进行日志切换,使之位于INACTIVE

日志文件为active状态,表示这个文件的检查点还没有作完。而检查点没有做完的原因是dbwr执行的dirty buffer写出还没有执行完成,等待的过程就是等待将current日志中修改过的数据块信息写入到数据文件的过程。

 

可以手工触发一致点

alter system checkpoint;

此时,再检查日志组是否处于了INACTIVE状态

 

7、删除中间过渡用的日志组4、5

alter database drop logfile group 4;

alter database drop logfile group 5;

 

8、到操作系统下删除原日志组4、5中的文件

 

9、备份当前的最新的控制文件

SQL>; connect internal

SQL>; alter database backup controlfile to trace resetlogs

 

 

请使用浏览器的分享功能分享到微信等