Struktur Database Oracle
Dalam artikel sebelumnya, telah dibahas penjelasan antara oracle
instance dan oracle database. Kali ini akan kita bahas struktur database
yang dimiliki oleh oracle. Secara garis besar, database oracle memiliki
tiga buah struktur utama yaitu memory structure, process structure, dan
strorage structure. Oracle Instance menggunakan memory dan process
structure untuk dapat berjalan sedangkan oracle database menggunakan
storage structure untuk dapat menyimpan data file maupun control file di
dalam database tersebut. Tentu ketiga struktur utama ini sangat penting
karena tanpa adanya salah satu komponen saja, maka oracle instance
tidak dapat mengakses oracle database atau sebaliknya oracle database
tidak dapat diakses oleh oracle instance.
Memory Stucture
Di dalam memory structure terdapat dua buah komponen yaitu :
a. System Global Area (SGA)
SGA
merupakan shared memory yang dapat digunakan oleh seluruh server
process dan background process. Di dalamnya tersimpan
informasi-informasi yang berupa data file dan control file dari
instance.
Di dalam SGA terdapat struktur data sebagai berikut :
- Database Buffer Cache : berisi cache blok data yang berisi hasil pengembalian dari proses query database.
-
Redo log buffer : menyimpan redo information yang digunakan untuk
instance recovery. Informasi tersebut akan disimpan hingga ditulis ke
dalam physical redo log file di dalam storage disk.
- Shared Pool : menyimpan berbagai macam konstruksi / informasi yang dapat dishare di antara user database.
-
Large Pool : merupakan area optional yang dibutuhkan jika ada
proses-proses yang memakan memory cukup besar seperti backup and
recovery dan proses server I/O.
- Java Pool : digunakan oleh java code atau data yang menggunakan Java Virtual Machine (JVM).
- Stream Pool : Digunakan oleh Oracle Stream untuk proses streaming.
-
b. Process Global Area (PGA)
Berbeda
dengan SGA, PGA lebih spesifik hanya digunakan secara khusus oleh
masing-masing server dan background process. Minimal ada satu PGA yang
dimiliki oleh tiap server process. Setiap PGA menyimpan data dan control
information dari masing-masing proses yang menyediakan layanan dari
tiap request oracle client.
Process Structure
Ketika
sebuah program aplikasi atau tool oracle meminta service kepada oracle
server, maka akan dibuatlah sebuah server process yang digunakan untuk
mengeksekusi perintah yang dikeluarkan oleh program aplikasi tersebut.
Masing-masing server process memiliki sebuah PGA tersendiri. Selain itu,
oracle server akan membentuk beberapa background process untuk oracle
instance yang akan berinteraksi antara satu dengan yang lainnya dan juga
dengan sistem operasi untuk mengatur penggunaan memory structure,
proses penulisan data I/O ke dalam disk, maupun tugas-tugas lainnya.
Background process tersebut meliputi :
a. System Monitor (SMON) : Melakukan crash recovery jika pada start saat oracle instance terjadji kesalahan.
b. Process monitor (PMON) : Melakukan process cleanup ketika user process gagal dieksekusi.
c.
Database writer (DBWn) : Menulis block-block yang telah berubah /
termodifikasi dari database buffer cache ke dalam data file di dalam
storage structure.
d. Checkpoint (CKPT) : Melakukan update seluruh data file dan control file yang berdasarkan check point yang paling akhir.
e.
LogWritter (LGWR) : Menulis redo log entry yang berasal dari redo log
buffer ke dalam redo log file di dalam storage structure.
f. Archiver (ARCn) : Mengopy redo log file ke dalam archival strorage pada saat log switch terjadi.
Pada
saat program aplikasi menjalankan query ke dalam oracle server, maka
oracle server akan mencari block data yang dimaksud ke dalam database
buffer terlebih dahulu. Jika data yang dicari ditemukan maka data
tersebut akan langsung dikembalikan ke program aplikasi, namun jika
ternyata data yang dimaksud tidak ada di dalam database buffer, maka
oracle server akan melakukan pencarian data ke dalam datafile di storage
structure dan mengcopy data tersebut ke dalam database buffer sebelum
dikembalikan ke program aplikasi yang merequest. Oracle server telah
memiliki algoritma least recently used yang digunakan dalam pengaturan
data mana saja yang masih dapat disimpan di dalam database buffer cache.
Physical Database Structure
Sebenarnya
ada tiga file utama yang dapat dikatakan sebagai dasar pembentuk dari
sebuah oracle database. Tanpa adanya salah satu file ini, maka database
oracle tidak akan dapat digunakan. File-file tersebut adalah:
a.
Control File : Control file merupakan file yang sangat penting karena
berisi informasi mengenai physical database structure oracle. Tanpa
adanya control file ini, maka kita tidak akan dapat mengakses data-data
yang berada pada data file karena letak physical dari data file di dalam
disk tersebut disimpan di dalam control file ini. Biasanya dalam oracle
server terdapat lebih dari satu (biasanya 3) control file yang
diletakkan pada directory yang berbeda agar jika suatu saat salah satu
control file rusak, masih dapat direcovery dari control file yang lain.
b. Data File : berisi data user maupun aplikasi database.
c.
Online redo log file : digunakan dalam proses instance recovery
database apabila telah terjadi kerusakan. Jika datafile masih ada, maka
oracle instance akan dapat merecovery database sesuai dengan data yang
tersimpan di dalam online redo log file. Namun jika ternyata setelah
terjadi kerusakan datafile hilang, maka database sudah tidak dapat
direcovery lagi.
Selain ketiga file di atas, ada beberapa file tambahan yang juga sangat penting dalam oracle server.
a. Parameter file : berisi informasi konfigurasi oracle instance pada saat start up.
b. Password file : berisi informasi user agar user dapat melakukan koneksi dan administrasi ke dalam database server.
c. Backup file : Digunakan dalam proses database recovery apabila file database asli rusak.
d. Archive log file : Digunakan untuk menyimpan history operasi-operasi yang dilakukan terhadap database.
e.
Trace dan alert log file : Berisi informasi-informasi kesalahan apabila
terjadi internal error pada server dan background proses.
Tidak ada komentar:
Posting Komentar