Oracle 11g Database Replay 实验

此次实验将生成一个工作负载,再添加主键后重放,会看到性能大幅度提升。

(1)使用SYS用户连接数据库。创建测试用户,表和目录。目录用来存放捕获结果。

grant dba to client_player identified by oracle_123;

create table client_player.t1 as select * from all_objects;

create directory dbply_dir as '/home/oracle/dbply_dir';

grant all on directory dbply_dir to public;

(2)编写负载脚本   

vi dbply.sql

connect client_player/oracle_123

declare n number;

begin

for i in 1..100000 loop

select count(1) into n from t1 where object_id=1;

end loop;

end;

/

 


(3)开始捕获负载,采用测试用户执行负载脚本

exec dbms_workload_capture.start_capture('play capture','DBPLY_DIR');

@dbply.sql

注意:目录名称需要用大写,脚本中已经使用测试用户登录。
 

(4)使用sys用户终止捕获并处理捕获结果

exec dbms_workload_capture.finish_capture;

exec dbms_workload_replay.process_capture('DBPLY_DIR');

 

(5) 重放工作负载

exec dbms_workload_replay.initialize_replay('play capture','DBPLY_DIR');

exec dbms_workload_replay.prepare_replay;

另外开启一个窗口,进入DBPLY_DIR会看到捕获到的负载被解析成各种文件

cd /home/oracle/dbply_dir

enmoedu1*PROD1 dbply_dir $ ll

total 116

drwxr-xr-x 12 oracle dba  4096 Jul 25 07:36 inst1

-rw-r--r--  1 oracle dba  3648 Jul 25 07:42 wcr_calibrate.xml

-rw-r-----  1 oracle dba 12288 Jul 25 07:42 wcr_conn_data.extb

-rw-r--r--  1 oracle dba 36222 Jul 25 07:42 wcr_cr.html

-rw-r--r--  1 oracle dba 17366 Jul 25 07:42 wcr_cr.text

-rw-r--r--  1 oracle dba   173 Jul 25 07:42 wcr_fcapture.wmd

-rw-r--r--  1 oracle dba   532 Jul 25 07:42 wcr_login.pp

-rw-r--r--  1 oracle dba    35 Jul 25 07:42 wcr_process.wmd

-rw-r--r--  1 oracle dba    97 Jul 25 07:36 wcr_scapture.wmd

-rw-r-----  1 oracle dba 12288 Jul 25 07:42 wcr_scn_order.extb

-rw-r-----  1 oracle dba 12288 Jul 25 07:42 wcr_seq_data.extb


在操作系统提示符下执行
$ wrc client_player/oracle_123 replaydir=.

在SQL*Plus中启动重放
exec dbms_workload_replay.start_replay;

重放结束后会提示Replay finished 下面是执行wrc过程的屏幕输出
Replay started (07:47:15)

Replay finished (07:52:24)

 

(6) 检索重放报告,需要指定ID号

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

 

        ID CAPTURE_ID DIRECTORY                      START_TIM END_TIME

---------- ---------- ------------------------------ --------- ---------

        13         89 DBPLY_DIR                      25-JUL-15 25-JUL-15

        12         81 DB_REPLAY                      24-JUL-15 24-JUL-15


设置屏幕输出的缓冲区  

set long 100000

select dbms_workload_replay.report(13,'TEXT') from dual;


下面截取了DBTime部分作为比较 

Replay Statistics

---------------------------------------------------------------

|        Statistic        | Replay          | Capture         |

---------------------------------------------------------------

| DB Time                 | 195.004 seconds | 199.362 seconds |

---------------------------------------------------------------

| Average Active Sessions |             .66 |             .67 |

 


(7)向测试表添加主键约束  
alter table client_player.t1 add constraint p1_pk primary key (object_id);

(8)重新初始化环境,再次执行dbreplay,会发现DBTime大幅度降低。
exec dbms_workload_replay.initialize_replay('play capture','DBPLY_DIR');

exec dbms_workload_replay.prepare_replay;

exec dbms_workload_replay.start_replay;

$ wrc client_player/oracle_123 replaydir=.
..
Replay started (08:02:29)

Replay finished (08:07:32)


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

        ID CAPTURE_ID DIRECTORY                      START_TIM END_TIME

---------- ---------- ------------------------------ --------- ---------

        15         89 DBPLY_DIR                      25-JUL-15 25-JUL-15

        13         89 DBPLY_DIR                      25-JUL-15 25-JUL-15

        12         81 DB_REPLAY                      24-JUL-15 24-JUL-15

 

 

set long 100000


select dbms_workload_replay.report(13,'TEXT') from dual

Replay Statistics

---------------------------------------------------------------

|        Statistic        | Replay          | Capture         |

---------------------------------------------------------------

| DB Time                 |   1.362 seconds | 199.362 seconds |

---------------------------------------------------------------


| Average Active Sessions |                0 |              .67 |

实验完毕

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

转载于:http://blog.itpub.net/29047826/viewspace-1751582/

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值