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_idFROM 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,server,application,testing,数据库服务器)