Home » Posts tagged '11g'

Tag Archives: 11g

Oracle 11g index key compression for SAP R/3 4.7 almost completed


Setelah akhir bulan April 2012 lalu gw tuntasin pekerjaan untuk upgrade database Oracle dari 10g (10.2.0.4) menjadi 11g (11.2.0.2), maka sejak akhir bulan April dimulailah pekerjaan untuk melakukan kompresi. Index key compression menjadi pekerjaan yang pertama dilakukan.

Dimulai dari beberapa index yang kecil lalu menjangkau index yang lebih besar. Dan sampai hari kemaren (22 Mei 2012) hampir semua index (yang major dan digunakan) sudah terkompress. Masih tersisa 2 index terbesar (ACCTCR~0 dan VBOX~0) yang belum terkompress, index-index tabel yg tidak boleh dikompres seperti index milik tabel CDHDR, CDCLS, VBDATA, dll.

Proses index compression ini sendiri menggunakan tools dari SAP, BRTOOLS 7.20 patch 13 (patch terakhir pada saat tulisan ini dibuat adalah patch 23) dan dilakukan secara online. Hasil dari index key compression sendiri memberikan freespace yang cukup besar, yaitu lebih dari 1,6 TB. Dari sisi performance sendiri terlihat peningkatan performance query yang sangat signifikan karena extent dan block menjadi lebih kecil, penggunaan data buffer menjadi lebih efisien dan bahkan tidak ada peningkatan konsumsi memory dan CPU.

Secara umum, gw sangat satisfied dengan performance dari index key compression di Oracle 11g ini

Oracle : SGA_MAX_SIZE, SGA_TARGET, MEMORY_TARGET……….


Dalam pekerjaan sehari-hari gw berkutat dengan database server Oracle. Versi database yang digunakan pun beragam mulai dari versi 9i (9.2.0.7), versi 10g (10.2.0.4), dan yang terakhir adalah versi 11g (11.2.0.2). Masing-masingversi memiliki karakteristik yang berbeda-beda.

Pada artikel ini, gw akan mencoba untuk tuning bagian memory/buffer database Oracle. Untuk versi 9i, ada 2 bagian memory yang perlu diatur, yaitu SGA dan PGA. SGA (System Global Area) merupakan bagian dari memory Oracle yang di-shared untuk semua proses server dan proses background. Sedangkan PGA (Private Global Area) merupakan bagian yang tidak di-shared dan hanya digunakan oleh proses client.

Oracle 9i hanya mengenal SGA dalam hal ini disetting di parameter sga_max_size. Nantinya SGA ini terdiri atas database buffer cache (digunakan untuk menyimpan sementara blok-blok data yang diambil dari database atau datafile), redo log buffer (digunakan untuk menyimpan sementara informasi redo sebelum ditulis ke dalam redo log files), shared_pool (buffer SQL statement yang dapat di-shared antar user), large_pool (buffer yang digunakan untuk proses yang besar seperti backup, recovery, I/O process, dll), streams_pool (buffer yang digunakan oleh Oracle Stream), dan java_pool (buffer untuk java purpose). Pengaturan sga_max_size memerlukan restart database untuk bisa aktif.

Server database gw (Oracle 9i) sebelumnya memiliki nilai sga_max_size sebesar 11041488720 byte atau sekitar 11 GB. Gw coba tuning menjadi 20 GB. Karena parameter sga_max_size ini baru aktif setelah database di-restart maka untuk hasilnya kayaknya perlu menunggu backup offline nanti. Minggu depan lah akan gw update lagi.

Untuk versi Oracle 10g, ada parameter lain, yaitu sga_target. Apabila parameter sga_target ini sudah diset untuk angka tertentu, maka SGA akan dapat diatur secara dinamis oleh Oracle. Nilai sga_target maksimal adalah sama dengan nilai parameter sga_max_size. Berbeda dengan pengaturan sga_max_size, pengaturan sga_target dapat dilakukan secara dinamis.

Oralce versi 11g, memiliki parameter baru, yaitu memory_target. Berbeda dengan sga_target yang hanya bisa mengatur SGA secara dinamis, parameter memory_target mampu mengatur SGA dan PGA secara dinamis. Jadi lebih dinamis lagi.