Oracle日常运维之DG库日志应用慢参数调整实战
1> 日志应用是否使用了并行;-并行度看主机的cpu个数
alter database recover managed standby database parallel 8 disconnect from session;
2> 调整并行恢复参数
parallel_execution_message_size 最大值65536;
增加size需要更加多的share pool。
调整参数时,需要确定shared pool的使用情况,避免4031错误
show parameter parallel_execution_message_sizeshow parameter disk_asynch_ioshow parameter parallel_execution_message_sizealter system set parallel_execution_message_size=32768 scope=spfile;alter system set disk_asynch_io=true scope=spfile;
3> 是否使用异步io;
通常异步io能提供更好的io性能;aix hp 貌似默认是开启异步io的
alter system set filesystemio_options=setall;show parameter filesystemio_options
4> db_block_checking --块内数据逻辑检查
在dg库上取消该参数,能提供更好的性能,经过测试能提升约2倍速度
alter system set db_block_checking=false scope=spfile;startup nomount;alter database mount standby database;--------------------------------------------alter system set parallel_execution_message_size=32768 scope=spfile;alter system set filesystemio_options=setall scope=spfile;alter system set disk_asynch_io=true scope=spfile;alter database recover managed standby database cancel;shutdown immediate;startupalter database recover managed standby database parallel 4 disconnect from session using current logfile;
极端情况下DG加快恢复速度===在standby端执行,千万不可在primary端调整
alter system set parallel_execution_message_size=32768 scope=spfile; 16384alter system set filesystemio_options=setall scope=spfile; 默认 nonealter system set disk_asynch_io=true scope=spfile; 默认就是truealter system set db_lost_write_protect=typical scope=spfile ; 默认是fullalter system set db_block_checksum=false scope=spfile ; 默认是TYPICALalter system set DB_BLOCK_CHECKING=false scope=spfile ; 默认是falsealter system set db_writer_processes=8 scope=spfile; 默认是6个shutdown immediate;startup nomount;alter database mount standby database;alter database recover managed standby database parallel 4 disconnect from session; ?----并行度根据CPU核数*2设定
另外shared_pool size过小也会影响应用速度,
请遇到DG延迟的时候 可适当根据安装规范检查,防止shared pool过小。
(如最小要保证2G以上)
dg库日志应用性能监控
set lines 200 pages 2000col process format a8col spid format a8col event format a50 trucol SIW format 999999select to_char(sysdate,'DD-MON-YYYY HH24:MI:SS') "Current time",s.process, p.spid, substr(s.program, -6) PROC, s.event, s.p1, s.p2, s.p3, s.seconds_in_wait SIW, s.seq#from v$session s, v$process pwhere p.addr = s.paddr and (s.program like '%MRP%' or s.program like '%PR0%' or s.program like '%DBW%' or s.program like '%CKPT%')order by s.process/
文章转载自数据与人,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。





