Real Application Testing – Database Replay (1) | Talip Hakan Öztürk's ORACLE BLOG
Başlangıç > Adım Adım Dökümantasyon, RAT (Real Application Testing)	> Real Application Testing – Database Replay (1)
10/05/2012 talipozturk	Yorum bırakın Go to comments
Oracle Real Application Testing, Oracle Enterprise Editition ile birlikte gelen bir opsiyondur. Oracle Real Application Testing, veritabanında yaptığımız değişiklikleri (veritabanı upgrade, os upgrade, parametre değişikliği, donanım değiştirme, v.b) gerçek yaşam iş yüküyle test etmenize yardımcı olur. RAT bu işlem için iş yükü yakalama ve yeniden yürütme özelliğini (“Database Replay”) ve iş yükündeki SQL cümlerlerini bir SQL performans çözümleyicisi ile bir araya getirerek (SQL Performance Analyzer) , canlıya geçirmeden önce veritabanı üzerinde ince ayar yapmamıza yardımcı olur.
Şimdi RAT- “Database Replay” özelliğini yakından tanıyalım.
RAT – “Database Replay” özelliğini ne zaman kullanabiliriz?
– CPU, RAM, v.b. donanım değişiklikleri
– Veritabanı ve OS yükseltmeleri
– Storage değişimleri (OCFS2 – ASM)
– OS değişimleri (Windows – Linux)
– Single Instance – RAC değişimleri
– Patch yükleme
– Veritabanı parametre değişiklikleri
RAT – “Database Replay” özelliği hangi veritabanı sürümlerinde desteklenir?
İş yükü capture işlemi Oracle Database 10g R2 (10.2.0.4) ve üzeri sürümlerde desteklenirken, iş yükü oynatma işlemi Oracle Database 11g R1 ve üzeri sürümlerde desteklenmektedir.
RAT – “Database Replay” özelliği hangi iş yüklerini destekler?
– Bütün DDL, DML ve PL/SQL cümleleri
– Login ve Logoff
– Lob veri tipli sütunlar
– SQL*Loader – Direct Path Load işlemleri
Bu yazımda RAT – “Database Replay” özelliğini kullanarak Oracle Enterprise Manager üzerinde iş yükü capture işleminin nasıl yapıldığını öğreneceğiz.
Capture işlemi için aşağıdaki ön hazırlıklarımızı yapalım.
1- Canlı Veritabanı tam yedeği alınır. RMAN Duplicate, Snaphost Standby, Data Pump yöntemlerini kullanabiliriz.
2-Fiziksel disk alanı tahsis edilir. OS üzerinde bir dizin oluşturalım.
# mkdir /data1/dbreplay
3- Oracle dizin objesi oluşturulur. OS üzerinde oluşturulan dizine işaret eden dizin objesi oluşturalım.
SQL> CREATE DIRECTORY capturedir AS ‘ /data1/dbreplay ‘;
Şimdi OEM üzerinde capture işlemine geçebiliriz.
4- Capture Workload karşınıdaki “Go to task” butonuna basalım.
5- “Acknowledge” altındaki kutucukları işaretleyelim. Ve Next ile devam edelim. Bu ekranda bize yeterli yere sahip olup olmadığımız hakkında uyarı verilmektedir.
6- Veritabanımızın restart edilmesi önerilmektedir. Ama biz canlı sistemimizde restart etmeden de devam edebiliriz. İstersek capture işlemi için filtre uygulayabiliriz. Yani belirlir bir servis veya kullanıcıyı capture edebiliriz.
7- Yukarıda oluşturduğumuz capture dizinini seçelim.
8- OS kullanıcı adı ve şifremizi girelim.
9- “Submit” butonuna basarak capture işlemini başlatalım.
10- Capture edeceğimiz uygulamalar çalıştırılır.
11-“Stop capture” butonuna tıklayarak capture işlemini sonlandırabiliriz. OS üzerindeki capture dizininde wmd uzantılı dosyaların oluştuğunu gözlemleriz.
12- Aşağıdaki uyarıya “Yes” diyelim.
13- Capture ettiğimiz iş yükünü kapsayan AWR verisinin exportunu almak isteyip istemediğimizi soracaktır. Yes diyerek AWR exportu alalım.
14- Bir Job ile AWR exportu alınacaktır.
Capture dizini altındaki bütün dosyaları test sistemimize taşıyalım. Bir sonraki yazımda Pre-Processing aşamasını yazacağım.
Kategoriler:Adım Adım Dökümantasyon, RAT (Real Application Testing) Etiketler:Database Replay Workload Capturing, How to capture workload with Oracle Enterprise Manager?, Oracle Database Replay, Real Application Testing
Paylaşımınız için teşekkürler öncelikle. Birkaç konuda fikrinizi sormak istiyorum.
Database capture işleminde inclusion veya exclusion modda filterlardan seçebiliyoruz. Orda yer alan USER, PROGRAM dışındaki MODULE,ACTION,.. gibi özellikler nasıl kullanılıyor? Bununla ilgili örnek verebilir misiniz? Action neye karşılık geliyor mesela?
Birde user için filtre verebiliyoruz, ama sadece A tablosuna gelen tüm queryleri (tüm userlardan geliyor tabi) (insert,update,select ..) kaydet diyebiliyor muyuz?
Son olarak da örneğin USER filtresini seçtik. Bu userın sadece DML olan querylerini kaydet DDL leri kaydetme diyebiliyor muyuz? Veya selectleri kaydetmenin yükü nedir?
22/05/2012, 5:23 pm
Filtrede belirli sorguları al diğerlerini alma diyemiyorsunuz. Bir kullanıcı için capture işlemini başlattığınızda, o kullancının çalıştırdığı tüm DML ve DDL cümleleri kaydedilmektedir.
MODULE, ACTION uygulama tarafından set edilir. Örneğin bankacılık uygulamasını düşünelim. Farklı isimlerde ekranlar vardır. Her ekranın bir modül olduğunu düşünürsek, uygulama da modül aşağıdaki gibi set edebiliriz.
22/05/2012, 10:17 pm
Real Application Testing – Database Replay (2) Oracle OSWatcher Aracı