Bundan
önceki yazımda AWR’ ın kullanımı ile giriş yaparak, AWR aracılığı ile
snaphotları nasıl create, drop ederizden bahsettik. Şimdi alınan bu snaphotlara
ait raporları nasıl compare ederiz buna bakacağız. Özetle şunu yapmaya
çalışıyoruz aslında database’ de yaşanan bir performans probleminin ne boyutta
olduğuna veya aynı dönemi kapsayan başka bir aralığa göre problemin neden
kaynaklandığını, yoğunluk olarak hangi alanlarda artış olduğunu görebilmek ve
içinde bulunduğumuz durumu daha iyi yorumlayabilmek için karşılaştırma
yapabiliriz.
Şöyle
bir problem olduğunu varsayalım. Her gün saat 09:00 ile 11:00 arasında
database’ imizin performansı stabil iken, gün içerisinde bu saatler aralığında
performansın ciddi bir şekilde düştüğünü varsayalım. Buradaki sorunu tespit
içinde dün ile bugün aynı saatler aralığını gösteren AWR raporlarını compare
etmeye çalışalım. (bu işlemi konsol üzerinden grafik ekranda çok rahatlıkla yapabilirsiniz
ancak biz ortada bir problem var iken konsolun çalışmama riskini gözönünde
bulundurarak komut satırından yapmaya çalışacağız)
Bu
işlemler için dba yetkisi gerektiğini tekrar hatırlatalım.
Komut
satırından scriptimizin yer aldığı awrddrpt.sql dosyasını
çalıştırıyoruz.
@$ORACLE_HOME/rdbms/admin/awrddrpt.sql
Sonrasında
yapılan işlemlerle ilgili loglarıda ekliyorum ;
SQL>
@$ORACLE_HOME/rdbms/admin/awrddrpt.sql
Current
Instance
~~~~~~~~~~~~~~~~
DB
Id DB Id DB Name Inst Num Inst Num Instance
-----------
----------- ------------ -------- -------- ------------
2656835042 2656835042 TEST
1 1 TEST
Specify
the Report Type
~~~~~~~~~~~~~~~~~~~~~~~
Would
you like an HTML report, or a plain text report?
Enter
'html' for an HTML report, or 'text' for plain text
Defaults
to 'html'
Enter
value for report_type: text
Type
Specified: text
Instances
in this Workload Repository schema
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
DB Id Inst Num DB Name Instance Host
------------
-------- ------------ ------------ ------------
*
2656835042 1 TEST
TEST tester
Database
Id and Instance Number for the First Pair of Snapshots
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Using
2656835042 for Database Id for the first pair of snapshots
Using 1 for Instance Number for the
first pair of snapshots
Specify
the number of days of snapshots to choose from
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Entering
the number of days (n) will result in the most recent
(n)
days of snapshots being listed. Pressing without
specifying
a number lists all completed snapshots.
Enter
value for num_days: 2
Listing
the last 2 days of Completed Snapshots
Snap
Instance DB
Name Snap Id Snap Started Level
------------
------------ --------- ------------------ -----
TEST
TEST 6480
22 Feb 2011 00:00 1
6481 22 Feb 2011
01:00 1
6482 22 Feb 2011
02:00 1
6483 22 Feb 2011
03:00 1
6484 22 Feb 2011
04:00 1
6485 22 Feb 2011
05:00 1
6486 22 Feb 2011
06:00 1
6487 22 Feb 2011
07:00 1
6488 22 Feb 2011
08:00 1
6489
22 Feb 2011 09:00 1
6490 22 Feb 2011
10:00 1
6491 22 Feb 2011
11:00 1
6492 22 Feb 2011
12:00 1
6493
22 Feb 2011 12:48 1
6494 22 Feb 2011
12:48 2
6496 22 Feb 2011
14:00 1
6497 22 Feb 2011
15:00 1
6498 22 Feb 2011
16:00 1
6499 22 Feb 2011
17:00 1
6500 22 Feb 2011
18:00 1
6501 22 Feb 2011
19:00 1
6502 22 Feb 2011
20:00 1
6503 22 Feb 2011
21:00 1
6504 22 Feb 2011
22:00 1
6505 22 Feb 2011
23:00 1
6506 23 Feb 2011
00:00 1
6507 23 Feb 2011
01:00 1
6508 23 Feb 2011
02:00 1
6509 23 Feb 2011
03:00 1
6510 23 Feb 2011
04:00 1
6511
23 Feb 2011 05:00 1
6512 23 Feb 2011
06:00 1
6513 23 Feb 2011
07:00 1
6514 23 Feb 2011
08:00 1
6515 23 Feb 2011
09:00 1
6516 23 Feb 2011
10:00 1
6517 23 Feb 2011
11:00 1
6518 23 Feb 2011
12:00 1
6519
23 Feb 2011 13:00 1
6520 23 Feb 2011
14:00 1
6521 23 Feb 2011
15:00 1
6522 23 Feb 2011
16:00 1
Specify
the First Pair of Begin and End Snapshot Ids
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Enter
value for begin_snap: 6489
First
Begin Snapshot Id specified: 6489
Enter
value for end_snap: 6491
First
End Snapshot Id specified: 6491
Instances
in this Workload Repository schema
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
DB Id Inst Num DB Name Instance Host
------------
-------- ------------ ------------ ------------
*
2656835042 1 TEST
TEST tester
Database
Id and Instance Number for the Second Pair of Snapshots
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Using
2656835042 for Database Id for the second pair of snapshots
Using 1 for Instance Number for the
second pair of snapshots
Specify
the number of days of snapshots to choose from
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Entering
the number of days (n) will result in the most recent
(n)
days of snapshots being listed. Pressing without
specifying
a number lists all completed snapshots.
Enter
value for num_days2: 2
Listing
the last 2 days of Completed Snapshots
Snap
Instance DB
Name Snap Id Snap Started Level
------------
------------ --------- ------------------ -----
TEST
TEST
6480 22 Feb 2011 00:00 1
6481 22 Feb 2011
01:00 1
6482 22 Feb 2011
02:00 1
6483 22 Feb 2011
03:00 1
6484 22 Feb 2011
04:00 1
6485 22 Feb 2011
05:00 1
6486 22 Feb 2011
06:00 1
6487
22 Feb 2011 07:00 1
6488 22 Feb 2011
08:00 1
6489 22 Feb 2011
09:00 1
6490 22 Feb 2011
10:00 1
6491
22 Feb 2011 11:00 1
6492 22 Feb 2011
12:00 1
6493 22 Feb 2011
12:48 1
6494 22 Feb 2011
12:48 2
6496 22 Feb 2011
14:00 1
6497 22 Feb 2011
15:00 1
6498 22 Feb 2011
16:00 1
6499 22 Feb 2011
17:00 1
6500 22 Feb 2011
18:00 1
6501 22 Feb 2011 19:00 1
6502 22 Feb 2011
20:00 1
6503 22 Feb 2011
21:00 1
6504 22 Feb 2011
22:00 1
6505 22 Feb 2011
23:00 1
6506 23 Feb 2011
00:00 1
6507 23 Feb 2011
01:00 1
6508 23 Feb 2011
02:00 1
6509
23 Feb 2011 03:00 1
6510 23 Feb 2011
04:00 1
6511 23 Feb 2011
05:00 1
6512 23 Feb 2011
06:00 1
6513 23 Feb 2011
07:00 1
6514 23 Feb 2011
08:00 1
6515 23 Feb 2011
09:00 1
6516 23 Feb 2011
10:00 1
6517
23 Feb 2011 11:00 1
6518 23 Feb 2011
12:00 1
6519 23 Feb 2011
13:00 1
6520 23 Feb 2011
14:00 1
6521
23 Feb 2011 15:00 1
6522 23 Feb 2011
16:00 1
Specify
the Second Pair of Begin and End Snapshot Ids
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Enter
value for begin_snap2: 6515
Second
Begin Snapshot Id specified: 6515
Enter
value for end_snap2: 6517
Second
End Snapshot Id specified: 6517
Specify
the Report Name
~~~~~~~~~~~~~~~~~~~~~~~
The
default report file name is awrdiff_1_6489_1_6515.txt To use this name,
press to continue, otherwise enter an
alternative.
Enter
value for report_name: 22-23_compare_awr
Using
the report name 22-23_compare_awr
WORKLOAD
REPOSITORY COMPARE PERIOD REPORT
Snapshot
Set DB Id Instance Inst Num Release Cluster Host Std Block Size
------------
----------- ------------ -------- ----------- ------- ------------
---------------
First
(1st) 2656835042 TEST
1
11.2.0.1.0 NO tester 8192
Second
(2nd) 2656835042 TEST
1 11.2.0.1.0 NO
tester 8192
..
..
..
..
..
Report
written to 22-23_compare_awr
Sql>
Rapor
çıktısı çok uzun ve çok detaylı olduğu için maalesef buraya ekleyemiyorum.
(sadece ilk satırını ekledim) Burada scripti çalıştırdığımızda neleri set
ettiğimize bakalm;
Enter
value for report_type: text
(raporun
çıktı formatını belirledim, html de seçebilirdim)
Enter
value for num_days: 2
(karşılaştırma
yapmak için ilk döneme ait değerleri seöçebilmek için son 2 günlük snapshotları
listelemesini istedim)
Enter
value for begin_snap: 6489
(listelenen
bu snapshotlardan 22 Şubatın sabah 09:00 aralığına denk gelen ilk snapshot
aralığını seçtim)
Enter
value for end_snap: 6491
(listelenen
bu snapshotlardan 22 Şubatın sabah 11:00 aralığına denk gelen son snapshot
aralığını seçtim)
Buraya
kadar compare edeceğim iki dönemden ilkine ait tüm bilgileri girmiş oldum, sıra
ikinci dönemimi belirlemeye geldi,
Enter
value for num_days2: 2
(karşılaştırma
yapmak için ilk döneme ait değerleri seöçebilmek için son 2 günlük snapshotları
listelemesini istedim)
Enter
value for begin_snap2: 6515
(listelenen
bu snapshotlardan 23 Şubatın sabah 09:00 aralığına denk gelen ilk snapshot
aralığını seçtim)
Enter
value for end_snap2: 6517
(listelenen
bu snapshotlardan 23 Şubatın sabah 11:00 aralığına denk gelen son snapshot
aralığını seçtim)
Enter
value for report_name: 22-23_compare_awr
(ortaya
çıkacak olan text dökümanına isim verdim)
Hepsi
bu kadar, sonrasında iş ortaya çıkan bu dökümanı incelemeye ve yorumlamaya
kaldı. (aslında snapshot create etmekteki adımları sadece peşpeşe 2 defa
yaptığımızı düşünebilirizde başka hiçbir fark yok, fark rapor çıktısında göze
çarpıyor, tüm sonuçlar 1st period, 2st period başlığı altında teker teker
karşılaştırılıyor)
Buraya
kadar olan kısım single instance kullanıyor iseniz yapacaklarınızı ifade
ediyor,peki RAC kullanılıyor iseniz bu işlemleri nasıl yapacaksınız?
Değişen
pek bişey yok, yapılacak olan işlemler hemen hemen aynı, çalıştırılacak olan
dosya awrgdrpt.sql isimli file olacaktır.
@$ORACLE_HOME/rdbms/admin/awrgdrpt.sql
Rac’ ın
kurulu olduğu instance’ lardan spesifik olarak biri üzerinde almak isterseniz, awrddrpi.sql dosyasını
çalıştırmanız yeterli olacaktır.
@$ORACLE_HOME/rdbms/admin/awrddrpi.sql
Umarım faydalı olmuştur.
Hiç yorum yok:
Yorum Gönder