Merhaba arkadaşlar bu yazımda Real Application Testing‘den bahsetmeye çalışacağım.
Oracle Real Application Testing ile veritabanında değişiklik yapacagımız zaman,veritabanında degişiklik yapmadan önce veritabanında degişiklik yaparsak veritabanımızın performansı nasıl olacak görebiliriz.
Örnek vermek gerekirse bir veritabanımız oldugunu düşünelim ve veritabanımızın tek disk üzerinde ve tek instance ile çalıştıgını varsayalım ama biz bunu ASM disk grupları oluşturarak birden fazla disk ve 2 instance’li RAC bir yapıya dönderecegiz ama bunun bize performansı nasıl olacak harcanan maliyete degecek bir yapı mı olacak gibi durumları Real Application testing ile ögrenebiliriz.
Peki bu işlemi nasıl yapabilecegimizden bahsedecek olursak öncelikle enterprise manager ile Database Replay özelligini kullanarak gerçek ortamdaki iş yükünü alırız,daha sonra ise aldıgımız iş yükünü test ortamımız da çalıştırarak veritabanının performansını karşılaştırabiliriz.
Database Replay özelligi Oracle 10gR2 sürümü ile birlikte gelmeye başlamıştır,Oracle 10gR2 Database Replay özelligi ile iş yükü alınabilmeye başlanmıştır.Oracle 11gR1 Database Replay ile de işyükünü oynatabilme özelligi gelmiştir.
Bir senaryoya göre Real application Testing-Database Replay özelligi kullanarak örnek yapacak olursak benim senaryom şu şekilde şu anda elimde ki veritabanı NOARCHIVELOG modda ama ben veritabanımı ARCHIVELOG moda alacagım ve flashback_on parametremi de YES moda çekecegim ama bunun bana performans açısından maliyeti ne kadar olacak bunu ögrenmek istiyorum.Bunu ögrenebilmek için de veritabanımın normal çalışan bi zamanında iş yükünü(capture)‘ni alacagım daha sonra varolan veritabanımı test ortamına taşıyarak ARCHIVELOg moda ve flashback_on parametresini YES moda çekecegim ve daha önceden aldıgım iş yükünü burada oynatacagım ve sonuçlarını karşılaştıracagım,bu şekilde veritabanımı ARCHIVELOG moda ve flashback_on parametresini YES yaptıgımda bunun maliyetini ortalama olarak ögrenebilecegim.
Ben bu işlemleri Oracle Enterprise Manager 12c kullanarak yapacagım ama bu işlemler için Oracle Enterprise Manager 11g veya Oracle Enterprise Manager Grid Control’de kullanılarak yapılabilir.
1.Öncelikle veritabanımızın tam bir yedegini alırız.(Benim örnegimde test ortamındada varolan veritabanımı kullanacagım sadece parametrelerini degiştirecegim için yedegini aldım)
2.Oluşturdugumuz iş yükünü atacagımız bir dizin oluştururuz.
mkdir /u01/app/oracle/deneme
3.Dizini işeret eden Directory’umuzu oluştururuz.
Create directory denemeDirectory as '/u01/app/oracle/deneme';
4.İstersek veritabanını yeniden başlatabiliriz.(Varolan bütün transactionları sonlandırmak için veritabanını yeniden başlatabiliriz)
5.Oracle Enterprise Manager 12c giriş yapalım.
6.Enterprise–>Quality Management–>Database Replay linkine tıklıyalım.
7.Database’mizi seçmek için Database Target Name’e girelim.
8.Database’mizi seçip Next ile ilerliyelim.
11.Karşılaştırma işlemi yapmamız için şu anda kullandıgımız veritabanından iş yükü almalıyız.Bunun için de Capture Production Workload–>Capture Workload linkine tıklayarak devam ederiz.
12.Yeterli alanımızın olup olmadıgı hakkında bilgi verir Kutucukları işaretliyerek Next ile devam edelim.
13.Veritabanımızı yeniden başlatmak isteyip istemedigimizi soruyor biz bu işlemi daha önceden yaptıgımız için Next ile ilerliyelim.
14.Oluşturdugumuz directory’ü gösterip Next ile ilerleriz.
15.Oracle kullanıcı bilgilerimizi girer Next ile ilerleriz.
16.Capture hakkında bilgiler verir Submit ile devam ederiz.
17.Bu pencerenin geçmesi için bekleriz.
18.İş yükü(capture) alma zamanı başlamıştır.İstedigimiz kadar iş yükünü bindirdikten sonra Stop Capture linkine tıklayarak iş yükü almayı durdurturuz.
19.Durdurmak istedigimizden emin olup olmadıgımızı soruyor,Yes diyerek devam ederiz.
20.Bu pencerenin geçmesi için bekleriz.
21.AWR’sinin exportunu isteyip istemedigimizi soruyor,Yes ile ilerliyelim.
22.Ve capture hakkında bilgileri de gelen pencereden görebiliriz.
Aldıgımız Capture’ı en başta oluşturdugumuz deneme dizinin içinde görebiliriz.
Yazar : Mustafa Bektaş Tepe
Java && Oracle
Real Application Testing (1)
Real Application Testing (2)