oracle rac下调节redo log file 文件大小,racredo
rac下调节redo log file 文件大小(1)查看当前日志信息:
select * from v$logfile;
(步骤2中得路径可以在这里MEMBER列看到,redo文件名自己命名,比如,redo07.log)
(注意:日志组现在是6组)
(2)为各个节点添加日志文件:(每个节点添加三组日志)
1.节点1
ALTER DATABASE ADD LOGFILE THREAD 1 group 7 ‘+data/....(单引号里面是路径)′ size 2048m;
ALTER DATABASE ADD LOGFILE THREAD 1 group 8 ‘+data/....(单引号里面是路径)′ size 2048;
ALTER DATABASE ADD LOGFILE THREAD 1 group 9 ‘+data/....(单引号里面是路径)′ size 2048;
2.节点2
ALTER DATABASE ADD LOGFILE THREAD 2 group 10 ‘+data/....(单引号里面是路径)′ size 2048m;
ALTER DATABASE ADD LOGFILE THREAD 2 group 11 ‘+data/....(单引号里面是路径)′ size 2048m;
ALTER DATABASE ADD LOGFILE THREAD 2 group 12 ‘+data/....(单引号里面是路径)′ size 2048m;
(3)手动切换日志并删除之前日志:(此步骤反复执行,一直到把group 1,2,3,4,5,6全部删除)
查看日志文件状态列(STATUS):SELECT * FROM V$LOG;
只有STATUS列为inactive状态才能被删除:
alter database drop logfile group 1;
alter database drop logfile group 2;
alter database drop logfile group 3;
alter database drop logfile group 4;
alter database drop logfile group 5;
alter database drop logfile group 6;
alter system switch logfile;(切换日志可改变status列的状态,再进行删除)
如果不能改变状态使用这个:alter system archive log current;
最后再:删除之前的redo log file(操作系统层面删除)
oracle默认三个日志组,每组一个日志成员。
对于你说的每组两个以上成员的说法,日志组里面每个成员都是一样的,之所以会有多个日志成员,是用来做冗余,防止突然这个日志组成员出现故障导致系统不可用。oracle会并行写入到日志组里面的每个成员。
LGWR进程循环向各个日志组中写入,当一个日志组写满后,便自动切换到下一个日志组进行写入。等到所有日志都写满一遍后,便会循环回来,找到第一个日志组继续写入,这个时候便会覆盖掉之前的日志信息。
如果你开启了归档模式,当一个日志组写满后,归档进程便会将这个写满的日志文件进行归档操作,生成一个归档日志,相当于原来联机日志的一个副本。
redo size:redo发生的总次数(以及因此写入log buffer),以byte为单位。并不是你说的笔数。。而且REDO的产生不只是你UPDATE造成的。。你的DELETE和INSERT同样会产生REDO
你具体需要看你那些UPDATE语句的执行计划。。才能看怎么优化。。
本站文章为和通数据库网友分享或者投稿,欢迎任何形式的转载,但请务必注明出处.
同时文章内容如有侵犯了您的权益,请联系QQ:970679559,我们会在尽快处理。