Oracle Memory Architechture

36
Oracle Memory Architechture Siti Mukaromah, S.Kom

description

Oracle Memory Architechture. Siti Mukaromah, S.Kom. Database Architecture. Database Architecture. File-file yang menyusun database Oracle dikelompokkan menjadi 3 bagian, yaitu: - PowerPoint PPT Presentation

Transcript of Oracle Memory Architechture

Page 1: Oracle Memory Architechture

Oracle Memory Architechture

Siti Mukaromah, S.Kom

Page 2: Oracle Memory Architechture

Database Architecture

Page 3: Oracle Memory Architechture

Database Architecture

• File-file yang menyusun database Oracle dikelompokkan menjadi 3 bagian, yaitu:

1. Control File: file ini sangat penting untuk database, tanpanya Anda tidak bisa membuka data file untuk mengakses data yang ada pada database.

2. Data File: berisi data dari database.3. Online Redo Log File: memenuhi misal recovery

database. Jika database rusak dan tidak kehilangan data files, instance bisa mengembalikan database dengan informasi pada file ini.

Page 4: Oracle Memory Architechture

Database Architecture• Ada beberapa file yang lain yang tidak secara resmi

sebagai bagian dari database namun sangat penting untuk keberhasilan jalannya database, yaitu:

1. Parameter File: digunakan untuk menetapkan bagaimana instance akan dikonfigurasi ketika starts up.

2. Password File: mengijinkan user untuk konek ke database dan melakukan kegiatan administratif.

3. Archieve log File: berisi histori dari redo yang digenerate oleh instance. File ini mengijinkan untuk recovery database. Menggunakan file ini dan backup database, Anda dapat merecover kehilangan data file.

Page 5: Oracle Memory Architechture

Control FilesIsi dari control files menspesifikasikan file fisik yang menyusun

databaseBeberapa hal tentang Control File• Suatu binary file yang menggambarkan struktur dari database• Diperlukan untuk mount, open, dan akses database• Disarankan terdapat minimal 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

Page 6: Oracle Memory Architechture

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

Page 7: Oracle Memory Architechture

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.

Page 8: Oracle Memory Architechture

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.

Page 9: Oracle Memory Architechture

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

Page 10: Oracle Memory Architechture

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.

Page 11: Oracle Memory Architechture

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.

Page 12: Oracle Memory Architechture

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.

Page 13: Oracle Memory Architechture

Oracle Instance Management

Page 14: Oracle Memory Architechture

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.

Page 15: Oracle Memory Architechture

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”

Page 16: Oracle Memory Architechture

Database Buffer Cache

Database Buffer Cache berisikan “the most recently used datablock”. Maksudnya merupakan tempat datablock yang sering dipanggil oleh instruksi SQL.

Page 17: Oracle Memory Architechture

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.

Page 18: Oracle Memory Architechture

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.

Page 19: Oracle Memory Architechture

SMON (System Monitor)

Tugas:• Melakukan automatic instance recovery• Mengklaim kembali space temporary segment

yang sudah tidak digunakan lagi.

Page 20: Oracle Memory Architechture

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

Page 21: Oracle Memory Architechture

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.

Page 22: Oracle Memory Architechture

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

Page 23: Oracle Memory Architechture

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

Page 24: Oracle Memory Architechture

Oracle Memory Structure

Page 25: Oracle Memory Architechture

Oracle Memory Structure

• Struktur dasar memori yang menghubungkan dengan Oracle instance terdiri dari:

1.System Global Area (SGA): dibagi oleh semua server dan background process.

2.Program Global Area (PGA): private untuk setiap server dan background process. Hanya ada satu PGA untuk tiap proses.

Page 26: Oracle Memory Architechture

Program Global Area

• PGA adalah bagian memori yang berisi data dan control informasi untuk setiap server proses.

• Server proses adalah proses yang melayani permintaan client.

• Tiap server proses memiliki PGA area tersendiri yang dibuat saat server proses dijalankan.

Page 27: Oracle Memory Architechture

Program Global Area

Secara umum PGA berisi sbb:• Private SQL Area: berisi data misal kumpulan

informasi dan struktur run-time memory.Tiap session yang menjalankan SQL statement mempunyai SQL area sendiri.

• Session memory: memori dialokasikan untuk menahan session variable dan informasi lain yang berhubungan dengan session.

Page 28: Oracle Memory Architechture

Oracle Processes

Page 29: Oracle Memory Architechture

Oracle Processes

• Saat Anda meminta sebuah program aplikasi atau Oracel tool misal EM, oracle server membuat sebuah server process untuk mengeksekusi command yang diminta oleh aplikasi.

• Oracle juga membuat sebuah set dari background proses untuk instance yang saling berinteraksi dan dengan OS untuk memanage struktur memori.

Page 30: Oracle Memory Architechture

Oracle ProcessesBackground proses yang mana yang dijalankan tergantung pada fitur

yang sedang digunakan pada database. Bakcground proses yang paling sering adalah sbb:

1. System Monitor (SMON): melakukan recovery kerusakan saat instance dijalankan mengikuti kesalahan

2. Process Monitor (PMON): melakukan proses clean-up saat sebuah user proses gagal.

3. Database Writer (DBWn): menulis modifikasi blok dari datbase buffer cache ke file dalam disk.

4. Checkpoint (CKPT): memberi tanda DBWn saat checkpoints dan mengupdate semua data file dan control file dari database yang mengindikasikan checkpoint yang terbaru

5. Log Writer (LGWR): menulis catatan redo log ke disk.6. Archiver (ARCn): mengkopi redo log file ke tempat archival saat log

writer penuh atau terjadi log switch.

Page 31: Oracle Memory Architechture

Data Dictionary

Page 32: Oracle Memory Architechture

Data Dictionary

• Data dictionary adalah pokok dari kumpulan table atau view yang digunakan sebagai referensi yang read-only tentang database tertentu.

• Data Dictionary dibuat saat database terbuat dan secara otomatis terupdate saat struktur database diupdate.

• Data Dictionary adalah dimana EM menerima informasi tentang object yang terdapat pada database

Page 33: Oracle Memory Architechture

Data Dictionary

Sebuah Data Dictionary menyediakan informasi seperti:

• Struktur logic dan fisik database• Valid user dari databse• Informasi tentang integritas konstrain• Berapa banyak tempat yang dialokasikan

untuk schema object dan berapa banyak digunakan.

Page 34: Oracle Memory Architechture

Data Dictionary• Dictionary view berisi deskripsi dari Data

Dictionary tabel dan view.• Table dan view tersebut secara umum

mempunyai salah satu dari tiga prefix:1. USER: informasi yang menyinggung object yang

dimiliki oleh “current user”2. ALL : informasi yang menyinggung object yang

boleh diakses oleh “current user”3. DBA : informasi yang menyinggung setiap object

pada database

Page 35: Oracle Memory Architechture

Database Control

Page 36: Oracle Memory Architechture

Database Control

• Performance monitoring• Managing proactive alertscontrolling

maintenance wizards and advisors• User and database object administration• Database backup and recovery• Storage management• Etc..