Database

Database adalah kumpulan data berupa informasi­‐informasi yang saling berkaitan dan diatur secara khusus yang tersimpan di dalam disk.

Database terdiri dari 2 struktur, yaitu logical dan physical.

Logical Model

Physical Model

Relational Databases

Struktur Database Oracle 12c

  • Oracle 12c adalah database yang dikeluarkan oleh oracle corporation dengan versi perkembangan dari versi-­versi sebelumnya (11g, 10g, 9i, 8i, v7, v6, v5, v4, v3, v2).
  • Mendukung format keluaran json.
  • Cache pada table yang memiliki ukuran “besar” secara otomatis.
  • Data Encryption, Hashing (support Algorithm SHA-2) & Redaction.
  • Mendukung Compression & Archiving (Flashback Data Archive (FDA)).

Struktur Database Oracle

Struktur Database Oracle terdiri atas: Oracle instance & Oracle database.

  • Oracle instance adalah kombinasi antara struktur memory dan background proses.
  • Instance harus diaktifkan terlebih dahulu jika ingin mengakses data ke dalam database Oracle.
  • Setiap kali mengaktifkan instance, sistem Oracle akan mengalokasikan SGA dan background proses secara otomatis, sehingga siap menjalankan proses.

Sebuah oracle instance, terdiri atas:

  • Buffer memory (disebut SGA).
  • Background process (yang menghandle banyak proses di belakang layar untuk menjalankan instance).

Jadi ketika user melakukan query (misal: select / transaksi) maupun connect, yang menerima bukan langsung ke databasenya dulu akan tetapi melalui instance dulu. Selanjutnya, perintah dari user akan diteruskan ke instance (SGA), yang kemudian diteruskan lagi ke Background Process yang akan langsung berkomunikasi dengan database.

Contoh: “select * from employees”, dimana table employees ada di dalam database file, sql ini akan dikirim dari user (server process) ke dalam SGA, kemudian akan diteruskan pada Background Process untuk mengakses database.

  • Database Oracle berjalan digabungkan dengan ORACLE INSTANCE.
  • Oracle software mengalokasikan share memory area yang disebut SYSTEM GLOBAL AREA (SGA) dan menghidupkan beberapa background proses.
  • Kombinasi antara SGA dan Oracle proses disebut ORACLE INSTANCE.
  • Database oracle menggunakan struktur memori dan proses untuk mengelola dan mengakses database yang terletak pada server database. (Tread of Control).

Struktur Memori Oracle

Secara garis besar memory di oracle dibagi 2, yaitu:

  1. System Global Area (SGA)
    Memori yang terletak di server, yaitu digunakan untuk semua proses serta background proses.
  2. Program Global Area (PGA)
    Memori yang digunakan untuk proses dari masing-masing koneksi.
System Global Area (SGA)
  • Database Buffer Cache = Cache block data yang diambil dari database.
  • Redo Log Buffer = Informasi chace redo (digunakan untuk recovery instance) sampai ditulis ke memory fisik yaitu redo log buffer.
  • Shared Pool = Chace yang digunakan untuk di share beberapa user.
  • Large Pool = Ini adalah memory cadangan apabila dari ke memory lainnya kekurangan memory, seperti pengalokasian untuk backup dan recovery, I/O proses server yang memerlukan banyak memory untuk bekerja.
  • Java Pool = Digunakan untuk mengalokasikan proses-proses yang mengandung perintah java yaitu untuk Java Virtual Machine (JVM).
  • Streams Pool = Digunakan untuk oracle streams, misalnya mengeluarkan pesan error, peringatan, pembersihan proses yang salah atau sudah tidak berguna lagi.
Oracle Instan Management

Pada server database oracle terdiri dari database oracle dan instance oracle. Oracle instance terbentuk dari struktur memori yaitu SGA dan background proses yang menghandle semua proses.

  • Sistem Monitor (SMON) = Melakukan crash recovery pada saat instance di trat dan failure (gagal)/memeriksa konsistensi DB.
  • Proses Monitor (PMON)= Melakukan pembersihan ketikan ada proses user yang fail(gagal).
  • Database Writer (DBWr)= Menulis modifikasi blok-blok yang dari database buffer cache ke disk/bertanggung jawab pada penulisan perubahan data dari db buffer ke data files (disk).
  • Checkpoint (CKPT) = Mengupdate semua data file atau control file pada database.
  • LogWriter (LGWR) = Menulis redo log ke dalam disk/menulis perubahan pada redo log buffer ke dalam redo log files (disk).
  • Archiver (ARCn) = meng-copy redo log file untuk menyimpan ke disk ketika log switch terjadi.

Tiga proses dalam Struktur Database Oracle

User Process
  • Terjadi saat Sewaktu melakukan koneksi atau meminta (SQL). Misal saat membuka SQLPlus, SQL worksheet, dll.
  • Saat di execute, maka dari user process akan dikirim ke server process.
  • Selanjutnya dikirim Ke memory, lalu cek di shared pool (ada tidak), jika tdk ada akan diteruskan ke file melalui background process.
Server Process
  • Dilakukan ketika melakukan eksekusi koneksi ke oracle instance.
Background Process
  • Dilakukan saat oracle instance sudah dijalankan.

Struktur Database

  1. Control Files berisi tentang informasi fisik dari datafile.
  2. Data Files adalah file yang berisi data, yaitu data-data dalam database.
  3. Online Redo Log Files berisi perintah DDL dan DML.
  4. Parameter File yaitu file yang berisi parameter-­parameter dari database.
  5. Backup File yaitu berisi file-file hasil backupan dari datafile atau database.
  6. Archive log File yaitu berisi perintah-perintah DDL dan DML setelah dari online redo log file waktu menjalankan switch.
  7. Password File yaitu berisi data-data password.
  8. Alert dan trace log file berisi history dari instance database baik startup ataupun shutdown.

Struktur Penyimpanan

  1. Sebuah database di oracle di bagi menjadi logical penyimpanan yang disebut tablespace.
  2. Setiap tablespace masing-masing memiliki banyak logical data block Oracle. DB_BLOCK_SIZE adalah parameter yang yang secara spesifik mengatur besarnya blok. Besar blok antara 2 kb sampai 32 kb. Secara default 8 kb.
  • Tablespace digunakan sebagai tempat (storage) bagi segment.
  • Segment adalah object database yang mempunyai data.
  • Yang termasuk segment: table, index, cluster, rollback (undo), lobsegment, lobindex, table partition, index partition, lob partition, temporary segment, dll.
  • Jadi segment berada dalam tablespace.
  • Segment terbentuk dari kumpulan extent.
  • Extent merupakan kumpulan dari data blok.
  • Data blok dipetakan pada operating system blok.