Insert Performance Oracle 10.2
Pada aplikasi yang melakukan banyak aktifitas INSERT, atau bulk load insert, ada beberapa hal yang harus diperhatikan dari sisi performance.
Dikarenakan oracle secara arsitektur ACID compliance dan ful MVCC, dimana mau tidak mau harus melakukan write ahead logging, maka performance INSERT pun dipengaruhi oleh keadaan tersebut:
Issue yang bakal muncul secara wait event adalah sebagai berikut:
- log file sync issue, dimana frekuensi commit melebihi kapasitas IOPS
- log buffer space issue, ini berhubungan dengan parameter log_buffer
- free buffer waits, wait event ini bisa disebabkan karena IO bottleneck, ataupun oracle buffer cache yang terlalu kecil. sehingga dbwr tidak cukup waktu untuk menulis dirty buffer dari SGA ke disk
- buffer busy waits, wait event ini berelasi dengan konkurensi dan terjadinya transaksi pada level table even block yang sama. misalnya setelah INSERT dilakukan, aplikasi langsung SELECT pada data-data atau row-row yang barusan diinsert. fakta lain wait event ini bisa timbul karena ada masalah dengan index
Jika dilakukan dengan metode “direct path insert”, beberapa wait event diatas bisa dihindari khusunya yang berhubungan dgn buffer cache nya oracle, misalnya; free buffer waits, buffer busy waits. Tapi wait event yang berhubungan dengan konsep “write ahead logging” masih tetep ada.
Pada oracle 10.2 ada feature “asynchronous commit”, dimana ketergantungan penulisan log terlebih dahulu akan diabaikan dan oracle secara asynchronously menulis redo data dari log_buffer ke redo log files.
ada beberapa trik, agar insert performance ini bisa di-enhance lagi.
oracle@dbs247.com
About this entry
You’re currently reading “Insert Performance Oracle 10.2,” an entry on dbs247 blog
- Published:
- 02.03.09 / 11am
- Category:
- general
No comments
Jump to comment form | comments rss [?] | trackback uri [?]