Oracle Database Replay

Oracle Database Replay
OCA/OCP认证考试指南 766页

数据库重演可以在生产系统上捕获工作负荷,然后在测试系统上重放。在重放的过程中,可以发现问题,或者查看优化的手段是否能起作用。
下面的实验通过数据库重演,查看删除索引对插入性能的提升。
1.初始化实验数据
2.捕获工作负荷
3.重放工作负荷
4.删除索引,再次重放工作负荷

1.初始化实验数据

create table test(id int);

create index inx_test on test(id);

create directory tmp_dir as '/home/lihuilin/test';
2.捕获工作负荷

exec dbms_workload_capture.start_capture('Test','TMP_DIR');

begin
    for x in 1..200000 loop
        insert into test values(x);
        commit;    
    end loop;
end;
/

exec dbms_workload_capture.finish_capture;

exec dbms_workload_replay.process_capture('TMP_DIR');
3.重放工作负荷(先删除test表数据)

truncate table test;

exec dbms_workload_replay.initialize_replay('replay_20140212_1','TMP_DIR');

exec dbms_workload_replay.prepare_replay;

--在此时,打开命令行输入:wrc edmond/edmond replaydir=/home/lihuilin/test

exec dbms_workload_replay.start_replay;
查看报表

select id,capture_id,directory,start_time,end_time from dba_workload_replays;

set long 100000;
set pagesize 40000;
spool /home/lihuilin/桌面/r1.html
select dbms_workload_replay.report(12,'HTML') from dual;
spool off


4.删除索引,再次重放工作负荷


drop index inx_test;

truncate table test;

exec dbms_workload_replay.initialize_replay('replay_20140212_2','TMP_DIR');

exec dbms_workload_replay.prepare_replay;

--在此时,打开命令行输入:wrc edmond/edmond replaydir=/home/lihuilin/test

exec dbms_workload_replay.start_replay;
再次查看报表
select id,capture_id,directory,start_time,end_time from dba_workload_replays;

set long 100000;
set pagesize 40000;
spool /home/lihuilin/桌面/r2.html
select dbms_workload_replay.report(14,'HTML') from dual;
spool off



通过比对两次重放的结果,发现性能有所提升...

删除不需要的捕获和重放。
捕获和重放的信息分别存放在dba_workload_captures、dba_workload_replays
可以使用如下命令删除
exec dbms_workload_replay.DELETE_REPLAY_INFO(1);
exec dbms_workload_capture.DELETE_CAPTURE_INFO(1);

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

转载于:http://blog.itpub.net/29254281/viewspace-1080520/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值