Oracle Database Replay
OCA/OCP认证考试指南 766页
数据库重演可以在生产系统上捕获工作负荷,然后在测试系统上重放。在重放的过程中,可以发现问题,或者查看优化的手段是否能起作用。
下面的实验通过数据库重演,查看删除索引对插入性能的提升。
1.初始化实验数据
2.捕获工作负荷
3.重放工作负荷
4.删除索引,再次重放工作负荷
1.初始化实验数据
4.删除索引,再次重放工作负荷
通过比对两次重放的结果,发现性能有所提升...
删除不需要的捕获和重放。
捕获和重放的信息分别存放在dba_workload_captures、dba_workload_replays
可以使用如下命令删除
exec dbms_workload_replay.DELETE_REPLAY_INFO(1);
exec dbms_workload_capture.DELETE_CAPTURE_INFO(1);
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.捕获工作负荷create index inx_test on test(id);
create directory tmp_dir as '/home/lihuilin/test';
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表数据)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');
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;
查看报表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
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;
再次查看报表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
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/