ITPub博客

首页 > 数据库 > Oracle > DataGuard写测试实验步骤及总结

DataGuard写测试实验步骤及总结

Oracle 作者:wzq609 时间:2016-03-01 16:38:52 0 删除 编辑

【说明】本文档介绍DataGuard在最大性能模式下面的写测试实验;

启用Dataguard的日志传输命令:

ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_2='ENABLE';    启用日志传输                                                                  

ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_2='DEFER';     关闭日志传送

 

测试步骤:

创建表t,然后在启用日志和关闭日志情况下插入数据的时间对比

 

脚本:

drop table t purge;

create table t(x int); 在源数据库创建表t

alter system flush shared_pool; 清空shared_pool的数据
 


create or replace procedure proc1 创建proc1

as

begin

  for i in 1 .. 100000

    loop

      execute immediate

      'insert into t values('||i||')';

      commit;

    end loop;

end;

/

 

SQL> set timing on; 打开自动计时

SQL> exec proc1; 执行脚本

结果:

次数
重做日志大小:50M
重做日志大小:500M

插入数据量:100000
插入数据量:500000
插入数据量:500000

关闭DG
启动DG
关闭DG
启动DG
关闭DG
启动DG

第一次
00:00:55.58
00:00:58.91
00:04:55.82
00:05:57.37
00:04:49.98
00:04:43.35

第二次
00:00:52.87
00:00:52.98
00:04:45.33
00:06:09.11
00:04:34.19
00:04:40.98

第三次
00:00:55.10
00:00:52.70
00:05:13.32
00:06:06.60
00:04:35.46
00:04:42.68

 

总结:

1、当插入数据量较小的情况下,关闭DG和启动DG的情况下,并不影响系统的效率;

2、进行大量数据插入的情况下,启动DG会严重影响系统的性能;

3、调整重做日志的大小到合理的大小,可以避免DG对系统效率的影响;

 

原因分析:最大性能模式下按照道理应该不会影响系统的性能的,但是当日志切换速度太快的时候就会导致一直触发检查点的发生,就会导致REDO BUFFER的信息一直写入到磁盘中,LRS来不及从内存去读取REDO LOG的信息,就需要从磁盘中去读取信息,这个过程会影响IO的性能;

所以IO的争用导致系统性能的下降;

 

以上纯属个人的判断,尚未找到相应的支持论点。

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

请登录后发表评论 登录
全部评论

注册时间:2013-06-16

  • 博文量
    173
  • 访问量
    3083836