Oracle Memory Architechture Siti Mukaromah, S.Kom
Database Architecture
Control Files Isi dari control files menspesifikasikan file fisik yang menyusun database Beberapa hal tentang Control File Suatu binary file yang menggambarkan struktur dari database Diperlukan untuk mount, open, dan akses database Disarankan terdapat miniman 2 control file yang disimpan di disk yang terpisah (multiplex) Info sinkronisasi yang diperlukan bagi recovery disimpan di control file Berisi data tentang database itu sendiri File ini sangat penting bagi database. Tanpa file ini kita tdk bisa membuka data file untuk mengakses data yang ada pada database
Redo Log Files Redo Log Files digunakan untuk menyimpan perubahan database sebagai akibat dari adanya transaksi dan internal action dari database Oracle. Redo Log Files menjaga integritas database saat terjadi kegagalan sistem
Redo Log Files (cont..) Beberapa hal yang harus diketahui tentang Redo Log Files: Berisikan informasi perubahan database atau redo entry dari redo log buffer Berisikan data perubahan yang di commit maupun yang tidak di commit Proses penulisan ke Redo Log file ini adalah sirkular atau berputar. Misalkan ada 4 file redo Log file, maka penulisan pertama akan dimulai pada file bernama Redolog1, setelah penuh berpindah ke Redolog2, Redolog3, Redolog4. Jika Redolog4 penuh maka file Redolog1 akan dikosongkan isinya dan ditulisi dengan data perubahan baru dan seterusnya Minimal ada 2 redolog group. Didalam 1 group minimal ada 1 file anggota atau member Sebaiknya terdapat lebih dari 1 member file didalam 1 group. Sebaiknya file-file member didistribusikan dalam disk yang terpisah Semua group harus punya jumlah file member yang sama banyak.
Data Files Disinilah sebenarnya data milik user tersimpan. Datafiles merupakan bentuk fisik dari tempat penyimpanan ini. Datafile berelasi dengan tablespace sebagai bentuk logic tempat penyimpanan.
Data Files (cont..) Beberapa hal yg harus diperhatikan mengenai datafile: Tempat object database (table, index dsb) disimpan Merupakan binary file (tidak dapt dibaca oleh text editor) Wajib di backup
Parameter File Ketika Oracle Instance dijalankan (start), karakteristik Instance ditetapkan oleh parameter yang ditentukan dalam file parameter inisialisasi. Parameter-parameter inisialisasi yang baik disimpan dalam PFILE atau SPFILE. SPFILEs tersedia di Oracle 9i dan di atas. Semua rilis sebelumnya dari Oracle menggunakan PFILEs.
Parameter File (cont..) Perbedaan antara PFILE and SPFILE: PFILE static, berkas text pada sisi-client yang harus di-update dengan standard text editor seperti "notepad" atau "vi". File ini secara normal berada pada server, namun Anda memerlukan salinan lokal jika Anda ingin memulai Oracle dari mesin remote. DBA biasanya merujuk ke file ini sebagai file INIT.ORA. SPFILE (Server Parameter File), adalah sisi-persistent server file biner yang hanya dapat dimodifikasi dengan perintah “ALTER SYSTEM SET”. Ini berarti Anda tidak lagi memerlukan salinan lokal pfile untuk memulai database dari mesin remote. Mengedit sebuah SPFILE akan merusaknya, dan Anda tidak akan dapat memulai lagi database Anda.
Archive Log File jika Anda telah mengaktifkan pengarsipan (ARCHIVELOG mode), Oracle tidak dapat digunakan kembali atau menimpa online log file aktif sampai ARCn telah diarsipkan isinya. Jika pengarsipan dinonaktifkan (NOARCHIVELOG mode), maka terakhir online redo log file mengisi terus menulis dengan nenimpa file aktif pertama yang tersedia.
Oracle Instance Management
Shared Pool Shared Pool digunakan untuk menyimpan statement sql yang sering diakses dan digunakan dari data dictionary. Statement SQL ini biasanya diperoleh dari user proses, stored procedure yang membaca data dictionary. Juga digunakan untuk meningkatkan kemampuan oracle dalam lingkungan multiuser.
Shared Pool (cont..) Shared Pool terbagi menjadi 2, yaitu: Library Cache berisi “the most recently used SQL Statement” Data Dictionary Cache berisi “the most recently used data dictionary table definition and privileges user”
Database Buffer Cache Database Buffer Cache berisikan “the most recently used datablock”. Maksudnya merupakan tempat datablock yang sering dipanggil oleh instruksi SQL.
Redo Log Buffer Redo Log Buffer berisi data perubahan dari database. Perubahan sekecil apapun dicatat di sini dan selanjutnya dicatatkan ke Online Redo Log File.
DBWR (Database Writer) Tugas: Menulis semua data yang telah berubah dari database buffer cache ke datafile Menyimpan the most recently used datablock dengan algoritma LRU (Least Recently Used) Menentukan apakah penulisan ditunda atau tidak guna optimasi i/o.
SMON (System Monitor) Tugas: Melakukan automatic instance recovery Mengklaim kembali space temporary segment yang sudah tidak digunakan lagi.
PMON (Process Monitor) Tugas: Membersihkan user session yang terhenti secara abnormal Me-rollback semua transaksi yang belum di commit Membebaskan resource SGA yang dipakai oleh failed process Me-restart failed shared server dan dispatcher process
LGWR (Log Writer) Hanya 1 LGWR di 1 instance Melakukan penulisan isi redo log buffer ke online redo log file ketika terjadi: commit, redo log buffer sudah 1/3 penuh,DBWR selesai membersihkan database buffer block selama checkpoint, time out LGWR tercapai.
CKPT (Check Point) Proses checkpoint memberitahu DBWR untuk menulis dirty buffer ke disk dan kemudian meng-update header dari datafile dan header control file dengan nilai SCN (System Change Number) baru Check point terjadi setiap terjadi log switch Untuk memaksa checkpoint: - ALTER SYSTEM SWITCH LOGFILE - ALTER SYSTEM CHECKPOINT
ARCH (Archiver Process) Mengkopi online redo log file ke lokasi yang ditentukan parameter LOG_ARCHIVE_DEST ketika LGWR melakukan switch ke group baru Mengkopy file online redo log ke tape untuk recovery akibat media failure Bekerja hanya ketika terjadi log switch Hanya diperlukan jika database running dalam mode ARCHIEVE LOG