`
oolala
  • 浏览: 103238 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
09c341db-7f05-3f2b-a572-9ee69a5d8a77
unix环境高级编程
浏览量:22699
社区版块
存档分类
最新评论

调整重做日志缓冲区的大小

阅读更多

调整重做日志缓冲区的大小

--调整LOG_BUFFER参数

--缺省值:512K128K * cpu_count的值,二个中较大的一个

 

v$session_wait视图指明在”log buffer space%”事件过程中,是否存在因会话向日志缓冲区中写入数据的速度大于LGWR写出数据的速度,而产生的任何对日志缓冲区空间的等待。

select sid,event,second_in_wait,state from v$session_wait where event=’log buffer space%’

 

重做缓冲区再分配的统计比例:(redo buffer allocation retries)

redo buffer allocation retries 的值应该接近0。此数值不应大于重做条目的1%。如果该数值持续递增,则进程不得不等待缓冲区的空间。

SELECT r.VALUE "Retries",e.VALUE "Entries", r.VALUE/e.VALUE*100 "Percentage"

FROM v$sysstat r,v$sysstat e

WHERE r.NAME = 'redo buffer allocation retries'

AND e.NAME = 'redo entries'

 

  等待可能是由于日志缓冲区太小、检查点操作或归档操作造成的。在这种情况下,可以:

--如果必要,通过更改初始化参数log_buffer的值来增加日志缓冲区的大小

--或者,改进检查点或归档进程

 

  重做日志缓冲工通常很小,适当增加其大小可以显著提高吞吐量。

--因为不会发生日志切换,所以”log buffer space%”事件的seconds_in_wait值表明了用于等待重做日志缓冲区空间所用的时间。

  这表明填充缓冲区的速度比LGWR写入更快,也可能表明在重做日志文件上发生了磁盘I/O

争用。

--v$sysstat视图中的 redo buffer allocation retries统计信息反映了用户进程等待重做日志缓冲区空间的次数,等待日志缓冲区空间的目的是为了新条目复制到日志缓冲区,从而覆盖其中已被写出到磁盘的条目。LGWR的写入速度通常很快,足以确保缓冲区的空间总可以写入新条目,即使在对重做日志的访问很频繁也是如此。

 

 

重做日志缓冲区优化原则

不应出现”log buffer space”等待

select sid, event, seconds_in_wait, state from v$session_wait

where event = ‘log buffer space’;

“redo buffer allocation retries”值应接近0,并且小于重作条目的1%

select name,value from v$sysstat

where name in (‘redo buffer allocation retries’,’redo entries’;

 

“log buffer space%”事件seconds_in_wait参数

v$session_wait中,如果”log buffer space%”事件的seconds_in_wait值表明在重做日志缓冲区中等待空间花费卫些时间,则可以考虑采取以下操作:

--如果日志缓冲区很小,则增加其大小

--将日志文件移动到更快的磁盘,如条带化磁盘。

select sid,event,second_in_wait,state

from v$session_wait

where event=’log buffer space%’;

 

 

研究LGWR释放缓冲区缓慢的可能原因:

--在重做日志文件中存在磁盘I/O争用。检查重做日志文件是否存储在单独的快速设备中。

a)v$system_event视图中,检查发生 “log file switch completion%”事件的次数,该次数为由于日志切换而等待次数。

select event,total_waits,time_waited,average_wait from v$system_event

where event like ‘log file switch completion%’;

a)       如果在LGWR再次需要文件之前DBWn仍未完成设置文件检查点,LGWR将不得不等待。

--alert.log文件中,检查”checkpoint not complete”消息。

--v$system_event视图中,检查发生”log filel switch (check%”事件的次数,该次数为因未完成检查点而引起的日志文件切换等待的次数。

select event, total_waits, time_waited, average_wait

from v$system_event

where event like ‘log file switch(check%’;

--检查检查点的频率,并为fast_start_mttr_target设置相应的值。

--检查重做日志组的大小和数量。

 

b)       归档程序不能向已归档的重做日志文件中写入数据,或者完成归档操作的速度不够快。因此,它将阻止LGWR写入。

--确认归档设备空间未满,并添加重做日志组。

--v$system_event视图中,检查发生”log file switch(arch%”事件的次数,该次数表明因归档问题而引起的日志文件切换等待的次数。

select event, total_waits,time_waited, average_wait

from v$system_event

where event like ‘log file switch(arch%’;

 

只要当前的ARCn进程数不足以处理工作量,LGWR进程就会启动新的ARCn进程。如果预计有繁重的归档工作量,例如,在批量加载数据期间,就可以用log_archive_max_processes初始化参数指定多归档程序进程的最大数量。此参数是动态参数,可以使用alter system语句进行更改。

1
0
分享到:
评论

相关推荐

    浅析Oracle数据库性能优化的方法.pdf

    5. 调整重做日志缓冲区大小 重做日志缓冲区记录了数据库的变化,用于恢复操作。若该缓冲区设置过小,LGWR进程会频繁将日志写入磁盘,从而增加I/O操作次数,影响系统性能。因此,需要根据实际需要调整重做日志缓冲区...

    Oracle重做日志机制分析.pdf

    重做日志缓冲区位于系统全局区(SGA)中,它是一个循环使用的内存区域,大小由参数`LOG_BUFFER`设定。这个缓冲区存放了数据修改前后的快照,包括插入、更新、删除、创建、修改或删除等操作的信息。当事务提交时,后台...

    详解MySQL 重做日志(redo log)与回滚日志(undo logo)

    - innodb_log_buffer_size:重做日志缓冲区的大小,决定了一次写入磁盘的数据量。 - innodb_flush_log_at_trx_commit:控制事务提交时重做日志的刷新策略,有3种模式,1代表立即写入并同步到磁盘,2代表写入文件...

    OracleDBA教程适合Oracle11gPPT学习教案.pptx

    SGA是实例的核心,包含了多个内存子组件,如共享池、数据库缓冲区高速缓存、重做日志缓冲区、大型池和Java池等。这些组件协同工作,确保数据的快速访问和一致性。 数据库方面,Oracle数据库是一个数据的集合,由...

    SNE_Oracle11gR2_数据库常用操作和运维指南

    **操作目的:** 调整重做日志缓冲区大小。 **操作步骤:** 1. **登录到数据库:** - 使用 `sqlplus / as sysdba`。 2. **调整参数:** - 执行以下SQL命令,将 `new_size` 替换为所需的值: ```sql ALTER ...

    大型数据库系统技术课程 1-2-oracle数据库基础 Oracle体系结构 共158页.ppt

    在优化数据库性能方面,可以通过调整SGA的各个组成部分的大小,例如增大共享池、数据块高速缓冲区或重做日志缓冲区的大小来提升性能。同时,还可以使用如DB_CACHE_ADVICE这样的参数收集统计信息,以便更准确地预测和...

    Oracle数据库内存优化配置

    3. **重做日志缓冲区(Redo Log Buffer)**:重做日志缓冲区用于暂存事务处理过程中产生的重做记录,在提交时写入重做日志文件。适当调整其大小可以有效提高事务处理能力。 #### 三、内存优化配置策略 1. **确定合适...

    解析Oracle内存结构及内存性能诊断与调优.pdf

    重做日志缓冲区的大小也需根据事务的频率和大小来调整,确保日志信息能及时写入,避免阻塞其他操作。共享池的大小则影响SQL语句的解析和复用,如果发现解析过多的SQL或频繁的硬解析,可能需要增大共享池。 内存调优...

    福建省电力公司oracle培训教材--ORACLE性能调整

    而调整重做日志缓冲区则有助于优化事务处理速度。 综上所述,Oracle性能调整是一个复杂的过程,涉及多个层面的优化。通过恰当的工具和方法,管理员可以有效地解决性能问题,确保数据库系统能够高效、稳定地运行,...

    ORACLE数据库管理基础7.pptx

    6. **LGWR进程**:LGWR负责将重做日志缓冲区的内容写入当前的重做日志文件组,这可能发生于事务提交、缓冲区满三分之一、超过1MB的改动或者DBWn写入数据文件前。 7. **检查点进程CKPT**:在检查点时,控制文件会...

    Oracle数据库内存优化的讨论与配置

    - `log_buffer`:定义重做日志缓冲区的大小,过小会导致频繁的磁盘同步操作,增加系统开销。 - `log_file_sync`:控制重做日志的同步策略,适当调整可减少不必要的磁盘I/O。 #### 总结 Oracle数据库内存优化是一个...

    E:\oracle教材\Oracle体系结构.txt

    - **重做日志缓冲区(Redo Log Buffer)** 的大小选择也会影响性能,过小的重做日志缓冲区会导致频繁的日志切换,增加LGWR的写操作频率。 通过以上对Oracle数据库体系结构的介绍,可以看出Oracle数据库是一个复杂而...

    Oracle数据库关键知识点 体系架构 全揭秘

    理解和配置SGA的大小、缓冲池的参数,以及重做日志缓冲区对于优化Oracle数据库性能至关重要。使用合适的参数值可以最大化内存资源的利用效率,提升数据库运行的速度和稳定性。调整这些参数通常需要对数据库的工作...

    Oracle第7章数据库实例.pptx

    系统全局区(SGA)是Oracle实例中所有进程共享的内存区域,它包含数据高速缓冲区、共享池、重做日志缓冲区、大型池、Java池、流池以及其他一些结构。SGA的主要作用是存储和管理数据库操作过程中常用的数据和控制信息,...

    Oracle数据库基础与优化技术解析.pdf

    Oracle例程中的后台进程负责数据库的日常维护,例如DBWn进程负责将数据缓冲区中的更改写入数据文件,LGWR进程将重做日志缓冲区的内容写入重做日志文件,CKPT进程触发检查点来同步数据库状态,SMON和PMON则负责系统的...

    Oracle基础.doc

    - SGA包括共享池(Share Pool)、数据缓冲区(DB Buffer Cache)、重做日志缓冲区(Redo Log Buffer)、大缓冲池(Large Pool)、Java池(Java Pool)和Stream Buffer(10g引入)等。 - 其中,数据缓冲区又细分为...

    数据库实例概述.pptx

    后台进程在Oracle实例中扮演着关键角色,如DBWR(数据库写入进程)负责将脏缓存块写回数据文件,LGWR(日志写入进程)将重做日志缓冲区的内容写入重做日志文件,SMON(系统监控进程)负责数据库的恢复和清理任务,...

    基于Oracle的数据库性能优化研究.pdf

    通过适当调整重做日志缓冲区的大小,可以提高日志处理的效率,从而减少磁盘IO操作,加快事务处理速度。 3. 扩充高级缓冲区 高级缓冲区管理也是优化Oracle数据库性能的关键点之一。高级缓冲区如共享池、数据库缓冲...

    20_调试一个oracle数据库1

    本章节主要介绍如何监控和调整Oracle数据库的性能,包括如何收集和分析统计信息,以及针对SGA(System Global Area)、回滚段(Rollback Segments)和重做日志缓冲区(Redo Log Buffer)的调优策略。 首先,Oracle...

Global site tag (gtag.js) - Google Analytics