Dalam artikel ini saya mencoba untuk menjelaskan struktur memori dari database Oracle, hal-hal yang diungkapkan adalah kegunaan dan juga cara untuk melakukan pengecekan terhadap objek-objek yang ada.
Berikut ini adalah komponen-komponen SGA :
Shared Pool
Yang digunakan untuk penyimpanan :
- Perintah SQL yang paling akhir dijalankan.
- Perintah data Definition yang digunakan paling akhir.
Terdiri dari 2 key, Performance yang berhubungan dengan Struktur Memory :
- Library Cache
=> Menyimpan seluruh statement yang telah dipakai di dlm Memory
Ex : Select
- Data Dictionary Cache
=> Menyimpan seluruh object-object di dalam Database yang
pernah dipanggil ke dalam Memory
Ex : Table
SQL> select empno, ename, sal from emp;
Ukurannya di tentukan dengan Parameter : SHARED_POOL_SIZE
SQL> show parameter shared_pool_size;
Database Buffer Cache
Befungsi untuk menyimpan data dalam block.
Ukuran 1 Block ditentukan oleh = db_block_size
SQL> show parameter db_block_size;
Total block ditentukan oleh parameter = db_cache_size
SQL> show parameter db_cache_size;
Redolog Buffer
Menyimpan Perubahan-perubahan dari data
Ukurannya ditentukan oleh log_buffer;
SQL> show parameter log_buffer;
Large Pool (Optional di SGA)
Digunakan ketika :
1. Menggunakan Shared Server
2. Backup & Restore menggunakan RMAN
3. Proses secara Paralel
Java Pool (Optional di SGA)
Dipakai jika menggunakan Bahasa / Applikasi Java
Streams Pool
Digunakan untuk Replication dan bisa multiple target.
Berikut ini merupakan Background Proses :
1. Database Writer (DBWn)
(Menyalinkan isi dari Database buffer cache ke datafile)
– Ketika Terjadi Checkpoint.
– Terjadi Banyak Dirty Buffer
(Block2 didalam buffer yang mengalami perubahan)
- Tidak ada buffer kosong.
- Setiap 3 Detik.
- Terjadi Ping dari Server lain.
- Ketika Tablespace-nya dibuat Offline.
- Ketika Tablespace-nya dibuat Read Only.
- Ketika Tablenya di Drop (Hapus) atau di Truncate
- Ketika Backup Online (Tablespace begin backup)
2. Log Writer (LGWR)
(Menyalinkan isi dari Redolog Buffer ke Redolog file)
- Ketika Commit;
- Ketika 1/3 Penuh
- Ketika Isinya mencapai 1 MB
- Setiap 3 Detik
- Sebelum DBWn-nya bekerja.
3. System Monitor (SMON)
– Untuk Instance Recovery
* RollForward –> Melanjutkan Proses Commit.
* Rollback –> Undo proses yang belum sempat dicommit;
- Menggabungkan Free Space (Spece yang kosong)
- Menghapus isi dari temporary segment.
4. Proses Monitor
(Berfungsi untuk menghapus proses yang gagal)
- Merollback Transaksi
- Lock-nya akan dilepas.
- Resource-nya akan di Hapus.
- Dispacternya akan di Restart.
5. Checkpoint (CKPT)
(Berfungsi untuk singkronisasi seluruh datafile dgn Control File)
- Untuk DBWn.
- Update Header datafile dengan informasi Check Point.
- Update Control File dengan Informasi Check point
SQL> select name, DESCRIPTION
from v$bgprocess
where paddr != ’00′;
Checkpoint bekerja
1. shutdown N/I/T
2. log switch
3. dilakukan secara manual (alter system checkpoint)
4. ketika dbwr bekerja menuliskan isi dari database buffer cache ke
datafile
SQL> col name for a55
SQL> select name, checkpoint_change# from v$datafile;
SQL> alter system checkpoint;
SQL> select name, checkpoint_change# from v$datafile;
SQL> select * from v$log;
SQL> alter system switch logfile; –> 2X
SQL> select * from v$log;
SQL> select name, checkpoint_change# from v$datafile;