IMS DB - Pemulihan

Administrator database perlu merencanakan pemulihan database jika terjadi kegagalan sistem. Kegagalan dapat dari berbagai jenis seperti crash aplikasi, kesalahan perangkat keras, kegagalan daya, dll.

Pendekatan Sederhana

Beberapa pendekatan sederhana untuk pemulihan database adalah sebagai berikut -

  • Buat salinan cadangan berkala dari kumpulan data penting sehingga semua transaksi yang diposting terhadap kumpulan data disimpan.

  • Jika kumpulan data rusak karena kegagalan sistem, masalah itu diperbaiki dengan memulihkan salinan cadangan. Kemudian akumulasi transaksi akan diposting kembali ke salinan cadangan untuk memperbaruinya.

Kerugian dari Pendekatan Sederhana

Kerugian dari pendekatan sederhana untuk pemulihan database adalah sebagai berikut -

  • Posting ulang akumulasi transaksi menghabiskan banyak waktu.

  • Semua aplikasi lain harus menunggu eksekusi hingga pemulihan selesai.

  • Pemulihan database lebih panjang daripada pemulihan file, jika hubungan indeks logis dan sekunder terlibat.

Rutinitas Penghentian yang Tidak Normal

Program DL / I lumpuh dengan cara yang berbeda dari cara program standar lumpuh karena program standar dijalankan langsung oleh sistem operasi, sedangkan program DL / I tidak. Dengan menerapkan rutinitas penghentian abnormal, sistem akan mengganggu sehingga pemulihan dapat dilakukan setelah ABnormal END (ABEND). Rutin penghentian abnormal melakukan tindakan berikut -

  • Menutup semua set data
  • Membatalkan semua pekerjaan yang menunggu dalam antrian
  • Membuat dump penyimpanan untuk mencari tahu penyebab utama ABEND

Batasan dari rutinitas ini adalah tidak memastikan apakah data yang digunakan akurat atau tidak.

DL / I Log

Ketika sebuah program aplikasi ABENDs, itu perlu untuk mengembalikan perubahan yang dilakukan oleh program aplikasi, memperbaiki kesalahan tersebut, dan menjalankan kembali program aplikasi. Untuk melakukan ini, diperlukan log DL / I. Berikut adalah poin-poin penting tentang DL / I logging -

  • DL / I merekam semua perubahan yang dibuat oleh program aplikasi dalam file yang dikenal sebagai file log.

  • Ketika program aplikasi mengubah segmen, gambar sebelum dan sesudahnya dibuat oleh DL / I.

  • Gambar segmen ini dapat digunakan untuk memulihkan segmen tersebut, jika program aplikasi macet.

  • DL / I menggunakan teknik yang disebut logging depan tulis untuk merekam perubahan database. Dengan write-ahead logging, perubahan database ditulis ke dataset log sebelum ditulis ke dataset yang sebenarnya.

  • Karena log selalu berada di depan database, utilitas pemulihan dapat menentukan status setiap perubahan database.

  • Ketika program menjalankan panggilan untuk mengubah segmen database, DL / I menangani bagian loggingnya.

Pemulihan - Maju dan Mundur

Dua pendekatan pemulihan database adalah -

  • Forward Recovery - DL / I menggunakan file log untuk menyimpan data perubahan. Transaksi yang terakumulasi dikirim ulang menggunakan file log ini.

  • Backward Recovery- Pemulihan mundur juga dikenal sebagai pemulihan mundur. Catatan log untuk program dibaca mundur dan efeknya dibalik dalam database. Ketika backout selesai, database berada dalam status yang sama seperti sebelum kegagalan, dengan asumsi bahwa tidak ada program aplikasi lain yang mengubah database untuk sementara.

Pos pemeriksaan

Checkpoint adalah tahapan dimana perubahan database yang dilakukan oleh program aplikasi dianggap lengkap dan akurat. Di bawah ini adalah daftar hal-hal yang perlu diperhatikan tentang pos pemeriksaan -

  • Perubahan database yang dibuat sebelum checkpoint terbaru tidak dibatalkan dengan pemulihan mundur.

  • Perubahan database yang dicatat setelah checkpoint terbaru tidak diterapkan ke salinan gambar dari database selama pemulihan maju.

  • Dengan menggunakan metode checkpoint, database dikembalikan ke kondisinya di checkpoint terbaru saat proses pemulihan selesai.

  • Default untuk program batch adalah bahwa pos pemeriksaan adalah awal program.

  • Sebuah pos pemeriksaan dapat didirikan menggunakan panggilan pos pemeriksaan (CHKP).

  • Panggilan pos pemeriksaan menyebabkan catatan pos pemeriksaan ditulis di log DL / I.

Di bawah ini adalah sintaks dari panggilan CHKP -

CALL 'CBLTDLI' USING DLI-CHKP
                     PCB-NAME
                     CHECKPOINT-ID

Ada dua metode pos pemeriksaan -

  • Basic Checkpointing - Memungkinkan pemrogram untuk mengeluarkan panggilan pos pemeriksaan yang digunakan utilitas pemulihan DL / I selama pemrosesan pemulihan.

  • Symbolic Checkpointing- Ini adalah bentuk pemeriksaan lanjutan yang digunakan dalam kombinasi dengan fasilitas restart diperpanjang. Checkpointing simbolik dan restart diperpanjang bersama-sama membiarkan pemrogram aplikasi mengkodekan program sehingga mereka dapat melanjutkan pemrosesan pada titik tepat setelah checkpoint.