Mengapa kita perlu membuat cadangan arsip arsip Oracle bersama dengan datafile

12

Oracle® Database Backup and Recovery Basics 10g Release 2 (10.2) mengatakan itu

Redoar yang diarsipkan adalah kunci keberhasilan pemulihan media. Cadangkan secara teratur.

Tapi, saya bertanya-tanya, mengapa cadangan log arsip sangat penting. Apakah mungkin untuk melakukan pemulihan point-in-time hanya menggunakan backup datafile penuh dan tambahan RMAN biasa.

nonezumi
sumber

Jawaban:

16

Tidak, Anda masih membutuhkan redo log yang diarsipkan. Cadangan RMAN tidak sama dengan cadangan dingin; ketika Anda mengembalikannya, Anda harus menerapkan semua pengulangan yang dihasilkan dari saat Anda memulai pencadangan hingga waktu pencadangan selesai untuk mendapatkan SCN yang konsisten di semua file data dan file kontrol.

Mari kita pertimbangkan cadangan panas kuno. Dalam mode ini, seluruh blok database yang diubah ditulis ke redo log stream, dan file tersebut disalin dalam OS. Ini menyebabkan blok yang retak , yaitu blok telah berubah selama pembacaan oleh cadangan. Jadi untuk memulihkan database, kami mengembalikan DBF, lalu proses pemulihan melapisi blok yang diubah dari redo log yang diarsipkan ke blok yang retak dalam file, dan kami kembali ke database yang konsisten.

Dalam cadangan RMAN masalah blok yang retak dihilangkan karena blok dibaca oleh Oracle melalui SGA bukan oleh alat Unix seperti cp. Namun perubahan DBF antara waktu blok pertama dibaca dan blok terakhir, jadi itu adalah masalah yang sama, hanya pada skala yang lebih besar. Artinya, perubahan SCN antara blok pertama dan terakhir dalam cadangan. Redoar yang diarsipkan juga membahas hal ini.

RMAN memberi Anda kemudahan pengelolaan katalog, dan sarana untuk melakukan backup panas tanpa perlu menghasilkan pengulangan pada tingkat yang jauh lebih tinggi (yang memberikan tekanan tersendiri pada disk, sistem cadangan, dll). Namun tidakBACKUP DATABASE akan memberi Anda database yang konsisten di dalam dan dari dirinya sendiri; satu - satunya cara untuk melakukan itu di Oracle adalah cadangan dingin.

Gayus
sumber
1
+1 Saya menyukai jawaban Anda dengan lebih baik, saya hanya berpikir saya akan menambahkan milik saya untuk informasi tambahan.
Leigh Riffel
7

Mencadangkan log arsip hanya diperlukan saat berjalan dalam mode log arsip, jadi pertanyaannya kembali ke apakah database harus melakukan ini atau tidak. Ini tercakup dalam dokumen yang sama dengan yang Anda rujuk di bawah tajuk Deciding Between ARCHIVELOG dan NOARCHIVELOG Mode . Berikut ini kutipannya:

Memutuskan Antara Mode ARCHIVELOG dan NOARCHIVELOG

Redo log dari database Anda memberikan catatan lengkap perubahan ke file data database Anda (dengan beberapa pengecualian, seperti beban jalur langsung).

Anda dapat menjalankan database Anda dalam salah satu dari dua mode: mode ARCHIVELOG atau mode NOARCHIVELOG. Dalam mode ARCHIVELOG, grup redo log online yang digunakan harus disalin ke satu atau beberapa tujuan arsip sebelum dapat digunakan kembali. Pengarsipan redo log menjaga semua transaksi yang disimpan dalam log itu, sehingga mereka dapat digunakan dalam operasi pemulihan nanti. Dalam mode NOARCHIVELOG, grup redo log online hanya ditimpa ketika log digunakan kembali. Semua informasi tentang transaksi yang dicatat dalam grup redo log itu hilang.

2.3.3.1 Implikasi dari Menjalankan dalam Mode NOARCHIVELOG

Menjalankan basis data Anda dalam mode NOARCHIVELOG membebankan batasan parah pada strategi pencadangan dan pemulihan Anda.

  • Anda tidak dapat melakukan backup online dari database Anda. Anda harus mematikan basis data Anda dengan bersih sebelum dapat mengambil cadangan dalam mode NOARCHIVELOG.

  • Anda tidak dapat menggunakan teknik pemulihan data apa pun yang memerlukan catatan pengarsipan yang diarsipkan. Ini termasuk pemulihan media yang lengkap dan point-in-time, seperti yang dijelaskan dalam "Bentuk Pemulihan Data", dan teknik pemulihan yang lebih maju seperti pemulihan point-in-time dari masing-masing tablespace dan Flashback Database (dijelaskan dalam Oracle Database Backup and Recovery Advanced) Panduan Pengguna.).

Jika Anda menjalankan dalam mode NOARCHIVELOG dan Anda harus memulihkan dari kerusakan datafile karena kegagalan disk, Anda memiliki dua opsi utama untuk pemulihan:

  • Jatuhkan semua objek yang memiliki luasan yang terletak di file yang terpengaruh, dan kemudian jatuhkan file. Sisa dari basis data utuh, tetapi semua data dalam file yang terpengaruh hilang.

  • Kembalikan seluruh database dari cadangan terbaru, dan kehilangan semua perubahan pada database sejak cadangan. (Memulihkan perubahan karena cadangan akan memerlukan pemulihan media, yang menggunakan redo log yang diarsipkan.)

...

Ketika persyaratan kinerja ekstrem atau batasan ruang disk parah, mungkin lebih baik dijalankan dalam mode NOARCHIVELOG terlepas dari batasan yang diterapkan oleh opsi ini pada opsi pemulihan Anda.

Anda hampir selalu ingin dijalankan dalam mode ARCHIVELOG, oleh karena itu Anda hampir selalu ingin membuat cadangan log arsip Anda.

Leigh Riffel
sumber
Anda harus selalu ingin menjalankan dalam mode ARCHIVELOG, atau suatu hari Anda akan menyesalinya; bahkan pada pengembangan / pengujian basis data.
Mark Stewart