Order ultram Provigil Forex broker Cheap ticket Best poker software Viagra cialis Hair Loss Cheap viagra Buy cialis viagra Flagyl Aciphex Cheap airfare Airline tickets Buy tamiflu Flomax Pharmacy Low cost car insurance Buy propecia online Sildenafil citrate Apartments Carisoprodol soma Buy paxil Radiography Work at home Buy cialis generic Tramadol buy online Buy ativan Buy cheap tramadol Consolidating debt Fulltiltpoker.com Health insurance Auto insurance Consolidate debt Ultracet For online trading Pharmacist Order cialis Zithromax Paxil online Phlebotomy Seroquel Cheap ambien Loan Percocet Soma carisoprodol Physical therapist Order xenical online Diabetes Dental hygienist Debt loan Cancer treatment clinic Ambien Lexapro Buy cheap phentermine Credit cards Chiropractor Best payday loan Prozac Viagra pill Online tramadol 
Home > Oracle RDBMS > Real Application Testing for Earlier Releases

Real Application Testing for Earlier Releases

August 27th, 2008

在Oracle11g中有一个新功能,称为Real Application Testing,直接的竞争对手是HP/Mercury的Load Runner,用于系统测试,在正式的产品环境中通过Capture抓取实际的Load,然后在测试环境中Replay,这样来测试新环境的性能。

现在Real Application Testing的部分功能通过打patch的方式在更早的Oracle版本中也可以使用了,这些版本包括Oracle9i和Oracle10g。在10.2.0.4 Patchset中已经包含了这部分功能,因此如果你已经将数据库升级到10.2.0.4,那么不再需要安装额外的oneoff patch,否则则需要去下载一个单独的patch包(详细的文档参看Metalink Note:560977.1)。

为什么要让老版本的数据库也支持Real Application Testing呢?Oracle的想法很简单,因为Oracle希望客户将自己的数据库都尽快升级到11g,那么对于客户来说一个很大的顾虑就是,我现在的9i或者10g数据库上跑的很正常的应用到了11g上是不是会出现大的性能问题呢?怎样才能完善地测试呢?

所以Oracle将Real Application Testing中的Workload Capture功能加入到了9i和10g数据库里,但是,没有把Workload Replay的功能加入,用脚想也知道会这样了,Workload Capture可以把老版本的生产库中的压力抓出来,但是,你只能到11g的数据库中去重新播放来观察效果。

体现到数据库对象上,就是在9i和10g库中只会存在DBMS_WORKLOAD_CAPTURE这个包,而没有DBMS_WORKLOAD_REPLAY包。

抓取Workload很简单。

  1. --只有在10.2.0.4版本中需要设置pre_11g_enable_capture参数,其它版本不需要
  2. alter system set pre_11g_enable_capture=true;
  3.  
  4. --先创建一个filter,只抓取指定用户的workload
  5. BEGIN
  6.   DBMS_WORKLOAD_CAPTURE.ADD_FILTER (
  7.                            fname => 'USER_KAMUS',
  8.                            fattribute => 'USER',
  9.                            fvalue => 'KAMUS');
  10. END;
  11. /
  12.  
  13. --开始抓取,持续时间1分钟,其中TMP_DIR是一个Directory,需要先用create directory来创建
  14. BEGIN
  15.   DBMS_WORKLOAD_CAPTURE.START_CAPTURE (name => 'kamus_test_capture',
  16.                            dir => 'TMP_DIR',
  17.                            duration => 60);
  18. END;
  19. /
  20.  
  21. --将被抓取的这段时间内的AWR数据也导出来,用以之后的AWR Report compare
  22. BEGIN
  23.   DBMS_WORKLOAD_CAPTURE.EXPORT_AWR (capture_id => 1);
  24. END;
  25. /

之后会在TMP_DIR指向的目录中生成一系列的文件,把这些文件传输到11g的机器上,然后就可以开始Process以及Replay了。

  • Share/Save/Bookmark

kamus Oracle RDBMS ,

  1. August 27th, 2008 at 20:31 | #1

    RAT和LoadRunner确实有竞争关系,不过各有所长:LR的适用范围更广,RAT在针对oracle的应用上有不可替代的优势。而且效率更高,我曾看到过一个Oracle官方的比较,同样一个任务,用:DB Replay: 2 weeks,而用LoadRunner: 30 weeks

    另外,oracle收购了Empirix的e-load, e-tester之后,就又多了一个跟LR竞争的产品了,参考下面我这个帖子:
    http://www.rickyzhu.com/451_oracle-get-etestsuite.html

  2. August 29th, 2008 at 00:32 | #2

    AQM里面的功能测试套件就是从Empirix的e-load, e-tester来的吧

  1. No trackbacks yet.
o-o >:) >:( :D :? :-S :) :( :! *(
Proudly using Dynamic Headers by Nicasio Design