REDO日志管理

REDO日志管理

序:ORACLE 11g中 redo日志默认为3个日志组,一个日志组对应一个redo文件默认大小为50M。

但是在OLTP数据中,因为insert,update,delete语句等产生大量的redo,使redo切换比较频繁,

当3个redo文件切换循环下来,触发的checkpoint没有完成,要切换的redo日志文件状态为ACTIVE,

alert.log文件提示Checkpoint not complete,以及Thread 1 cannot allocate new log, sequence 46591等信息。

由于dbw0写比较慢,不可避免要遭遇此尴尬,为了避免此种情况发生需加大redo日志文件的大小

1 切换日志

ALTER SYSTEM SWITCH LOGFILE; 切换

ALTER SYSTEM CHECKPOINT; 触发检查点

2 新建日志组

ALTER DATABASE ADD LOGFILE GROUP 1 ('/Oracle/dbdata/lnd/redo01_01.log','/Oracle/dbdata/lnd/redo01_02.log') SIZE 200M ;

3 删除日志组

alter database drop logfile group 1;

alter database drop logfile group 2;

rm -rf /Oracle/dbdata/lnd/redo01.log

rm -rf /Oracle/dbdata/lnd/redo02.log

思路:

一般我们做日志扩充的思路如下:

新建日志组(临时)-> 切换到临时日志组 -> 删除原来日志组以及日志文件 ->

新建日志组以及数据文件 -> 切换到新建日志组 -> 删除临时用日志组以及日志文件

 

备:redo切换频率查询。

select b.SEQUENCE#, b.FIRST_TIME,
       a.SEQUENCE#, a.FIRST_TIME,
       round(((a.FIRST_TIME-b.FIRST_TIME)*24)*60,2)
from v$log_history a, v$log_history b
where a.SEQUENCE# = b.SEQUENCE#+1
and b.THREAD#=1
order by a.SEQUENCE# desc;

select sequence#,first_time,nexttime,round(((first_time-nexttime)*24)*60,2) diff
from (
select sequence#,first_time, lag(first_time) over(order by sequence#) nexttime
from v$log_history
where thread#=1
) order by sequence# desc;

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/24070945/viewspace-691797/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/24070945/viewspace-691797/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值