Database Administrator : Oracle DB Performance Monitoring

  1. Tuning SQL

    Sebuah aspek yang penting dari database system performance tuning adalah tuning pada SQL statement. SQL tuning melibatkan tiga langkah dasar, yaitu:

  • Mengidentifikasi high-load atau top SQL statement yang mengakibatkan workload yang tinggi dari resource dengan me-review SQL execution history yang ada pada system.
  • Melakukan verifikasi execution plan yang dihasilkan oleh SQL statement.
  • Melakukan tindakan perbaikan untuk men-generate execution plan yang lebih baik.

Tujuan dari tuning adalah mengurangi response time untuk end user dari system, atau mengurangi resource yang digunakan untuk memproses pekerjaan yang sama. Anda bisa memenuhi keduanya dengan beberapa cara:

  • Mengurangi Workload

    SQL tuning secara umum mencari efisiensi untuk memproses workload yang sama. Kemungkinan yang ada adalah mengganti execution plan dari statement tanpa merubah fungsi untuk mengurangi konsomsi resource. Contoh untuk bagaimana penggunaan resource bisa dikurangi adalah:

  1. Jika secara umum eksekusi SQL membutuhkan akses data yang persentasenya kecil dari table, maka bisa di eksekusi lebih efisien dengan menggunakan index. Dengan membuat index, kita bisa mengurangi jumlah resource yang digunakan.
  2. Jika user melihat dua puluh baris pertama dari 10,000 baris dikembalikan di dalam sort order tertentu, dan jika query (dan sort order) bisa dilayani dengan index, maka user tidak perlu mengakses dan men-sorting 10,000 baris hanya untuk melihat 20 baris pertama.
  • Menyeimbangkan Workload

    System sering cenderung mempunyai peak usage(puncak pemakaian) pada waktu siang ketika banyak user yang connect ke system, dan low usage pada waktu malam. Jika noncritical reports dan batch job bisa dijadwalkan untuk berjalan pada waktu malam, maka penggunaan resource pada waktu siang bisa dikurangi, sehingga itu bisa mengurangi resource untuk critical program pada waktu siang.

  • Memparalelkan Workload

    Query yang mengakses jumlah data yang besar (seperti warehouse queries) bisa diparalelkan. Ini sangat berguna untuk mengurangi response time dalam data warehouse. Oleh karena itu untuk OLTP environment yang mana cenderung memiliki high concurrency, ini bisa menyebabkan dampak yang tidak baik bagi user lain apabila menaikkan keseluruhan penggunaan resource dari program.

  1. Sql Tuning Advisor

SQl Tuning Advisor menganalisa individual SQL statement dan memberikan rekomendasi untuk meningkatkan performance.

    Pada gambar diatas tidak terdapat recomendasi terhadap SQL Statement yang telah di pilih untuk dianalisa. Sedangkan pada gambar di bawah terdapat rekomendasi yang diberikan, dan kita dapat mengimplementasikan rekomendasi yang ada.

  1. Sql Acces Advisor

    Performance dari query SQL dapat ditingkatkan dengan membuat struktur tambahan seperti index atau materialized view dalam melakukan penerimaan data. SQL Access Advisor mengevaluasi sintak SQL di dalam workload dan dapat memberikan saran penggunaan index dan material views guna meningkatkan performa workload secara keseluruhan.

sumber :
http://download-west.oracle.com/docs/cd/B13789_01/server.101/b10752/autostat.htm
http://download-west.oracle.com/docs/cd/B13789_01/server.101/b10752/diagnsis.htm
http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:19958767477215
http://blog.neuronworks.net/category/ict/oracle/page/2/
http://ejlp.blogspot.com/2008/06/oracle-awr-addm-report.html
http://kebo.vlsm.org/~tunjung/?p=116
http://kebo.vlsm.org/~tunjung/?p=110
http://kebo.vlsm.org/~tunjung/?p=53
http://kebo.vlsm.org/~tunjung/?p=45
http://kebo.vlsm.org/~tunjung/?p=119

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s