Oracle数据库数据恢复、性能优化

找回密码
注册
搜索
热搜: 活动 交友 discuz
发新帖

0

积分

1

好友

10

主题
1#
发表于 2013-6-13 21:27:43 | 查看: 3206| 回复: 3
提示: 作者被禁止或删除 内容自动屏蔽
2#
发表于 2013-6-14 07:55:03
在8i的SG中明确过:
当提交事务处理时( Commit )
当重做日志缓冲区的三分之一已满时
当重做日志缓冲区中记录了超过1 MB 的更改时
在DBW0 将数据库缓冲区高速缓存中修改的块写入数据文件以前

因此,你要做,简单,commit就可以了

回复 只看该作者 道具 举报

3#
发表于 2013-6-15 01:32:43
LGWR后台进程是将log buffer中的数据写到日志文件的,它是一个oracle相当重要的后台进程,那么这个重要的进程在什么条件下才触发呢?

1、每3秒钟 LGWR最多休眠3秒钟,在休眠的时候触发rdbms ipc message事件;在不休眠,也就是需要LGWR将buffer中的数据写到日志文件的时候,触发log file parallel write事件

2、log buffer 1/3满 为什么必须是1/3满呢?其实,这个数字是有一个隐含参数_log_io_size控制,该值的默认值是log buffer大小的1/3,最大值为1M。 这个值也就说明了两个问题:一个是当log buffer已经达到1/3满的时候,LGWR就开始工作了;另外一个是log buffer大于3M也就没有了任何意义

其他相关问题:

1、用户commit数据后,用户要想得到系统的‘提交成功’的信息,必须要等到LGWR的写工作完成。在等待的工作中,将触发log file sync事件

2、在LGWR为开始或者正在进行的时候,DBWR可能也在工作。DBWR将需要写日志的BLOCK放入一个队列,通知LGWR去做后,自己就去忙别的了

回复 只看该作者 道具 举报

4#
发表于 2013-6-15 06:52:25
提示: 作者被禁止或删除 内容自动屏蔽

回复 只看该作者 道具 举报

您需要登录后才可以回帖 登录 | 注册

QQ|手机版|Archiver|Oracle数据库数据恢复、性能优化

GMT+8, 2024-12-29 01:19 , Processed in 0.045409 second(s), 20 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部
TEL/電話+86 13764045638
Email service@parnassusdata.com
QQ 47079569