Memantau Kinerja Oracle TimesTen Dengan Package TT_STATS


Sebuah sepeda motor perlu dirawat secara berkala.   Perawatan yang dikenal sebagai engine tune-up ini berguna untuk menjaga agar kinerja mesin motor tetap optimal dengan cara melakukan kalibrasi ulang karbulator, mengganti spark plug (busi) yang usang, dan sebagainya.   Hampir semua pemilik motor mengerti bahwa sepeda motor yang mereka beli tidak bisa dipakai selamanya tanpa di-tune-up di bengkel.   Begitu juga dengan sebuah database; ia perlu dirawat dan dipantau secara berkala.   Bedanya, tidak seperti pemilik sepeda motor yang menyadari pentingnya tune-up, beberapa programmer pemula menganggap bahwa setelah program selesai dibuat, maka database dapat dibiarkan begitu saja hingga suatu hari nanti menjadi penuh.

Lalu, bagaimana cara memantau kinerja database TimesTen?   Saya dapat menggunakan tool bawaan ttStats atau langsung memanggil procedure yang ada di package TT_STATS.   Pada artikel ini, saya akan mencoba memakai beberapa procedure yang ada di package TT_STATS.

Saya akan mulai dengan memanggil procedure TT_STATS.CAPTURE_SNAPSHOT() seperti yang terlihat pada gambar berikut ini:

Memulai proses capture

Memulai proses capture

Pada pemanggilan TT_STATS.CAPTURE_SNAPSHOT di atas,  saya melewatkan nilai parameter capture_level berupa 'ALL' sehingga seluruh metrik yang ada akan di-capture.   Pilihan lainnya adalah 'NONE', 'BASIC' dan 'TYPICAL'.

Selain itu, saya juga menggunakan TT_STATS.SHOW_SNAPSHOTS untuk menampilkan seluruh snapshot yang tersedia.   Terlihat bahwa id snapshot yang barusan dibuat adalah 8.

Saya kemudian menjalankan aplikasi dan mengerjakan beberapa operasi yang melibatkan database.   Setelah selesai, saya kembali membuat sebuah snapshot baru di TimesTen.   Karena perintah tersebut sudah ada di worksheet SQL Developer, saya hanya perlu men-klik icon Run Script atau menekan tombol F5.

Sekarang, procedure TT_STATS.SHOW_SNAPSHOTS akan menampilkan dua buah snapshot berbeda, yaitu snapshot dengan id 8 dan id 9, seperti yang terlihat pada gambar berikut ini:

Men-capture snapshot kedua

Men-capture snapshot kedua

Output yang saya harapkan adalah laporan yang membandingkan kedua snapshot tersebut.   Saya dapat menggunakan procedure TT_STATS.GENERATE_REPORT_HTML untuk menghasilkan laporan dalam bentuk HTML, atau TT_STATS.GENERATE_REPORT_TEXT untuk menghasilkan laporan dalam bentuk teks biasa.   Sebagai latihan, saya akan menampilkan laporan dalam bentuk teks dengan perintah seperti berikut ini:

Membuat laporan teks

Membuat laporan teks

Pada gambar di atas, saya membuat sebuah anonymous PL/SQL yang memanggil TT_STATS.GENERATE_REPORT_HTML.   Parameter pertama dan parameter kedua adalah id dari snapshot yang hendak dibandingkan.   Parameter ketiga adalah sebuah associative array yang menampung isi laporan yang dihasilkan baris per baris.   Karena nilai associative array tidak dapat ditampilkan secara langsung, saya kemudian menggunakan looping for untuk mencetak isi associative array tersebut.

Sebagai langkah penutup, saya akan menghapus yang telah dihasilkan guna menghemat memori dengan memberikan perintah berikut ini:

Menghapus snapshot

Menghapus snapshot

Procedure TT_STATS.DROP_SNAPSHOTS_RANGE menerima parameter berupa id snapshot pertama hingga id snapshot terakhir yang akan dihapus.   Bila keduanya bernilai 0, maka seluruh snapshot yang ada akan dihapus.

Perihal Solid Snake
I'm nothing...

2 Responses to Memantau Kinerja Oracle TimesTen Dengan Package TT_STATS

  1. Ping-balik: Memeriksa Waktu Eksekusi SQL Di Oracle TimesTen | The Solid Snake

  2. Ping-balik: Memakai Full-Text Search Di MySQL Server | Programming Logic And Technology

Apa komentar Anda?

Please log in using one of these methods to post your comment:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: