偶然在网上看到介绍如何增大oracle redo log的size,于是很好奇在什么情况下需要增大这个值,问了问前辈。他让我看v$system_
偶然在网上看到介绍如何增大oracle redo log的size,于是很好奇在什么情况下需要增大这个值,问了问前辈。他让我看v$system_event中是否有checkpoint completed事件,有就调大一点。
1.先查看现在的redo group及状态:
select * from v$log;
group# thread# sequence# bytes members arc status
---------- ---------- ---------- ---------- ---------- --- ----------------
first_change# first_time
------------- --------------
1 1 5089 209715200 1 yes active
212991051 27-1月 -10
2 1 5090 209715200 1 no current
212991289 27-1月 -10
3 1 5087 209715200 1 yes inactive
212991039 27-1月 -10
2.先将状态为inactive的日志组删掉(redo log group 3):
alter database drop logfile g:\oracle\oradata\orcl\redo03.log';
如果没有状态为inactive的,,则通过切换日志或强制检查点,将其中的一个日志组变成inactive状态:
alter system switch logfile;
alter system checkpoint;--注意,如果是在rac环境,要加上global或local关键字
切换完了,还要再查看一下日志组状态:
select * from v$log;
3.将删掉的日志组添加回去,但size调大(如redo03原来的size是50m,我现在把它改为200m):
alter database add logfile group 3 ('g:\oracle\oradata\orcl\redo03.log') size 200m reuse;
4.重复上面的步骤(一个一个删,然后一个一个添加回去),直到将全部的日志组的redo log文件调大为止。
5.注意:不能够通过添加日志组成员的方法来实现调大redo文件size的目的,因为同一个日志组中,所有成员的file size必须是一样的。
