我是靠谱客的博主 体贴西牛,最近开发中收集的这篇文章主要介绍Oracle RAT- Real Application Testing,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

RAT 是Oracle 11g的一个新特性.它的目的是评估数据的性能。当我们对数据库进行升级或改动一些配置,换数据库服务器时可以对改动之前和改动之后的性能进行对比.要使两者的性能具有可比性,并且切合实际。就需要先在生产环境中capture某一个时间段的所有操作。然后把它们在测试环境中进行replay.

一.Capture步骤

创建一个系统目录,例如d:capture 创建一个Oracle 目录:create directory dir1 as ‘d:capture’ 开始capture:dbms_workload_capture.start_capture(name=>’TEST’,dir=>’DIR1’);(此处DIR1必须大写) 在数据库中做一些操作 结束capture: dbms_workload_capture.finish_capture;

二.Replay 准备工作
  1. 把目标server上的capture files拷贝到测试的server上.假设在测试的server上同样建一个目标d:capture
  2. 创建一个Oracle 目录:create directory dir1 as ‘d:capture’
Process workload:dbms_workload_replay.process_capture
(
capture_dir => ‘DIR1′)
);
Initialize the replay
dbms_workload_replay.initialize_replay
(
replay_name => ‘REPLAY1′,
replay_dir => ‘DIR1′
);
Prepare the replay
dbms_workload_replay.prepare_replay
(
synchronization => FALSE
);
三.Replay 正式开始:
把capture files 拷贝到本地,假设也拷到d:capture.
打开cmd.运行命令:wrc Arwen/Arwen@ora11r2 mode = calibrate replaydir=’d:capture’;
接着运行wrc Arwen/Arwen@ora11r2 mode = replay replaydir = ‘d:capture’
打开别外一个cmd用sqlplus 连接到db然后运行exec dbms_workload_replay.start_replay.
在前一个cmd中会有提示:replay started :时间 replay finished :时间
Replay完之后生成报表:
DECLARE
l_cap_idNUMBER;
l_rep_idNUMBER;
v_rep_rptCLOB;
REPORTFILE UTL_FILE.FILE_TYPE;
BEGIN
l_cap_id:= dbms_workload_replay.get_replay_info(dir =>'DIR1');
SELECTMAX (id) INTO l_rep_id FROM dba_workload_replays
WHERE capture_id= l_cap_id;
v_rep_rpt:= dbms_workload_replay.report(replay_id=> l_rep_id,format=>'HTML');
REPORTFILE:=UTL_FILE.FOPEN('DIR1','report.HTML','W',32767);
UTL_FILE.PUT_LINE( REPORTFILE, v_rep_rpt, true);
UTL_FILE.FCLOSE(REPORTFILE);
END;
(注:capture完之后在对应的目录中也会生成一个html的report.可以拿来和replay产生的report.html对比).

最后

以上就是体贴西牛为你收集整理的Oracle RAT- Real Application Testing的全部内容,希望文章能够帮你解决Oracle RAT- Real Application Testing所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(52)

评论列表共有 0 条评论

立即
投稿
返回
顶部