Di dunia enterprise, Oracle Database masih menjadi tulang punggung banyak sistem kritis:
- ERP (seperti SAP, Oracle E-Business Suite)
- Core banking
- Data warehouse besar
- Sistem logistik & supply chain
Tapi seiring data tumbuh eksponensial, performa database sering jadi botleneck:
Query lambat.
Locking muncul tiba-tiba.
CPU server selalu 90%.
User complain: “Kenapa laporan butuh 30 menit?”
Padahal… masalahnya bukan hardware, melainkan konfigurasi, SQL yang tidak optimal, atau struktur storage yang kurang tepat.
Inilah saatnya melakukan advanced tuning — bukan sekadar index here and there, tapi pendekatan sistematis untuk mengoptimalkan performa Oracle dari dalam ke luar.
Di artikel ini, kamu akan pelajari strategi tuning tingkat lanjut yang digunakan oleh DBA profesional di perusahaan skala enterprise, lengkap dengan:
- 🔍 Identifikasi bottleneck
- 🛠️ Teknik SQL & Instance tuning
- 💾 Optimasi I/O & Memory
- 📊 Tools bawaan Oracle
- ✅ Best practices 2025
🧭 Roadmap Advanced Tuning Oracle
🔎 Langkah 1: Diagnosa – Temukan "Penyakit" dengan Tools Oracle
Sebelum obat, harus tahu dulu apa yang salah.
Gunakan 3 tools utama Oracle:
1. AWR (Automatic Workload Repository)
Rekaman kinerja database setiap 60 menit (default).
Pilih:
- Format:
html - Begin/End Snap ID (lihat dari
DBA_HIST_SNAPSHOT)
🔍 Fokus pada:
- Top 5 Timed Foreground Events → tung tung tung!
- SQL with highest Elapsed Time, CPU Time, Gets
- Wait events seperti
db file sequential read,log file sync
2. ASH (Active Session History)
Detail aktivitas sesi aktif per detik.
3. ADDM (Automatic Database Diagnostic Monitor)
Oracle yang langsung kasih saran!
Lihat hasil di:
🧩 Langkah 2: SQL Tuning – Musuh Utama Performa
80% masalah performa datang dari SQL yang tidak efisien.
🔹 Identifikasi SQL Problematic
🔹 Gunakan SQL Tuning Advisor
💡 Rekomendasi umum:
- Tambah composite index
- Ubah query pakai partition pruning
- Hindari
SELECT \*, gunakan kolom spesifik - Batasi
ROWNUMatauLIMITdi query besar
🔹 Force Plan Stability (SQL Plan Management)
Kalau optimizer tiba-tiba ganti execution plan → performa anjlok.
Solusi: SQL Plan Baseline
🧠 Langkah 3: Instance Tuning – Atur Memori & Proses
🔹 Optimasi SGA & PGA
Pastikan memori cukup dan proporsional.
🎯 Rule of thumb:
- SGA: 60–70% RAM fisik (untuk OLTP)
- PGA: 20–30% RAM fisik
- Jika pakai Automatic Memory Management (AMM), nonaktifkan jika ada contention
Restart instance.
🔹 Shared Pool & Library Cache
Kalau sering lihat library cache lock, artinya SQL belum ter-cache.
✅ Solusi:
- Gunakan bind variables
- Tingkatkan
shared_pool_size - Kurangi
CURSOR_SHARING = FORCEhanya jika perlu
💾 Langkah 4: Storage & I/O Optimization
🔹 Tablespaces & Datafiles
Gunakan OMF (Oracle Managed Files) atau atur manual untuk kontrol lebih.
🔹 Partitioning untuk Tabel Besar
Bagi tabel > 10 juta baris dengan partition.
Contoh: Partition by range (tanggal)
Manfaat:
- Query lebih cepat (partition pruning)
- Backup/restore per partisi
- Mudah manage data lama
🔐 Langkah 5: Kendali Concurrency – Lock & Latch
🔹 Cek Locking
🔹 Reducing Enqueue Contention
- Hindari hot blocks dengan
INITRANStinggi - Gunakan ASSM (Automatic Segment Space Management)
- Untuk sequence, tambahkan
CACHE 1000 NOORDER
📈 Langkah 6: Monitoring & Preventif
🔹 Jadwalkan AWR Report Harian
🔹 Gunakan EM Express atau OEM
- Oracle Enterprise Manager Express (gratis)
- OEM Cloud Control (enterprise)
- Pantau real-time: session, wait events, I/O
🔹 Alert Thresholds
Set warning jika:
- Tablespace > 85%
- Long-running SQL > 300 detik
- Undo usage tinggi
🏁 Penutup: Tuning Bukan Satu Kali, Tapi Budaya
Advanced tuning bukan proyek sekali jalan.
Ia adalah proses berkelanjutan yang harus jadi bagian dari budaya operasional IT.
Karena:
Database yang sehat = aplikasi yang responsif = user yang puas = bisnis yang lancar.
Ingat:
- Gunakan AWR, ASH, ADDM sebagai "alat dokter"
- Prioritaskan SQL tuning — itu dampaknya paling besar
- Atur memory & storage sesuai beban kerja
- Dan selalu monitor preventif, jangan menunggu down
Dengan pendekatan ini, Oracle-mu bukan cuma hidup —
tapi berlari kencang di lintasan enterprise.
Komentar
2Tinggalkan Komentar