欢迎投稿

今日深度:

oracle rac下调节redo log file 文件大小,racredo

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 体系架构课程中的redo log file的写入方式

oracle默认三个日志组,每组一个日志成员。
对于你说的每组两个以上成员的说法,日志组里面每个成员都是一样的,之所以会有多个日志成员,是用来做冗余,防止突然这个日志组成员出现故障导致系统不可用。oracle会并行写入到日志组里面的每个成员。

LGWR进程循环向各个日志组中写入,当一个日志组写满后,便自动切换到下一个日志组进行写入。等到所有日志都写满一遍后,便会循环回来,找到第一个日志组继续写入,这个时候便会覆盖掉之前的日志信息。

如果你开启了归档模式,当一个日志组写满后,归档进程便会将这个写满的日志文件进行归档操作,生成一个归档日志,相当于原来联机日志的一个副本。
 

oracle 日志文件大小

redo size:redo发生的总次数(以及因此写入log buffer),以byte为单位。并不是你说的笔数。。而且REDO的产生不只是你UPDATE造成的。。你的DELETE和INSERT同样会产生REDO
你具体需要看你那些UPDATE语句的执行计划。。才能看怎么优化。。
 

www.htsjk.Com true http://www.htsjk.com/shujukunews/3756.html NewsArticle oracle rac下调节redo log file 文件大小,racredo rac下调节redo log file 文件大小 (1)查看当前日志信息: select * from v$logfile; (步骤2中得路径可以在这里MEMBER列看到,redo文件名自己命名,比如...
评论暂时关闭