Terlalu sering, saya melihat orang mengajukan pertanyaan tentang strategi pencadangan yang harus mereka terapkan untuk database mereka. Tampaknya tidak pernah gagal, setiap pertanyaan semacam ini yang saya temui di berbagai forum tidak pernah menyertakan persyaratan pemulihan mereka. Saya sering bingung untuk mempertimbangkan kebutuhan pemulihan Anda sebelum merancang strategi pencadangan Anda. Saat terdesak persyaratan, saya akan sering mendapatkan persyaratan cadangan misalnya:
- Pencadangan tidak boleh menyebabkan waktu henti
- Harus dapat membuat cadangan log pengulangan yang diarsipkan
- Cadangan harus ditulis ke tape
Persyaratan ini baik dan bagus, tetapi menurut saya, Anda tidak boleh merancang strategi pencadangan tanpa terlebih dahulu mendokumentasikan persyaratan pemulihan dan memperoleh kejadian manajemen.
Jadi, inilah beberapa pertanyaan yang saya tanyakan pada diri sendiri saat merancang strategi cadangan. Perhatikan bahwa semua pertanyaan ini berfokus pada sisi pemulihan.
- Berapa banyak kehilangan data yang dapat saya tanggung ketika saya memulihkan database? Kehilangan data nol? Apakah satu jam kehilangan data dapat diterima setelah pemulihan database?
- Apakah saya perlu meneruskan transaksi apa pun, misalnya, melakukan pemulihan tepat waktu?
- Apakah saya perlu memulihkan konten satu skema sambil membiarkan skema lainnya tetap utuh?
- Berapa lama saya harus mengaktifkan dan menjalankan database setelah gagal?
- Kegagalan seperti apa yang harus saya pulihkan? Jelas, saya harus dapat memulihkan dari kegagalan server lengkap atau kehilangan disk. Tetapi apakah saya harus dapat memulihkan dari kegagalan manusia seperti seseorang yang secara tidak sengaja menghapus tabel?
- Apakah saya akan diminta untuk memulihkan cadangan ke server lain sebagai bagian dari pengembangan yang menyegarkan atau database pengujian dari salinan produksi?
Jika Anda bertanya kepada kebanyakan orang di komunitas Oracle hari ini, mereka akan memberitahu Anda untuk menggunakan RMAN untuk membuat cadangan database Anda. RMAN adalah produk hebat dan untuk banyak hal, lebih baik daripada cadangan panas atau dingin yang Dikelola Pengguna gaya lama. Beberapa Oracle DBA akan memberi tahu Anda untuk menggunakan RMAN untuk melakukan pencadangan panas dan menjalankan basis data produksi Anda dalam mode log arsip. Dengan melakukannya, Anda akan membahas banyak skenario pemulihan yang mungkin Anda hadapi. Tetapi bagaimana jika jawaban Anda untuk pertanyaan 4 adalah bahwa Anda memiliki waktu 1 jam untuk mengaktifkan dan menjalankan kembali dan database Anda berukuran 10 TB. Semoga berhasil dalam mencoba melakukan pemulihan lengkap database 10TB dalam 1 jam dengan RMAN. Dan RMAN tidak akan dapat membantu dengan pertanyaan 3 karena RMAN tidak mencadangkan pada tingkat skema.
Ada banyak alat yang dapat digunakan DBA untuk mencadangkan dan memulihkan data dalam database. Alat tersebut termasuk, tetapi tidak terbatas juga:
- Manajer Pemulihan Oracle (RMAN)
- Cadangan yang dikelola pengguna Oracle
- Ekspor/impor Oracle atau Pompa Data
- Snapshot berbasis disk
- Replikasi berbasis disk
- Penjaga Data Oracle
Jadi yang mana yang Anda gunakan? Yah masing-masing memiliki pro dan kontra. Setelah Anda mengetahui persyaratan pemulihan Anda, alat untuk membuat cadangan basis data Anda mulai menjadi lebih jelas. Dan Anda mungkin perlu menggunakan lebih dari satu alat cadangan untuk memenuhi semua persyaratan pemulihan Anda. Jika Anda menggunakan, sebagai saran, RMAN dengan mode Arsip Log dan tidak ada yang lain, dan manajer Anda datang kepada Anda dan mengatakan "Anda perlu mendapatkan kembali database 10TB ini dan berjalan dalam 1 jam!" pekerjaan Anda mungkin dipertaruhkan.
Yang mengarah ke poin berikutnya, dokumentasikan persyaratan pemulihan Anda dan masukkan ke dalam Perjanjian Tingkat Layanan (SLA) Anda. Saat menulis dan memeriksa SLA, manajemen Anda mungkin mengatakan bahwa mereka tidak menginginkan kehilangan data. Pada saat inilah Anda dapat mengemukakan pro dan kontra untuk menerapkan solusi kehilangan data nol…dan juga menyebutkan biayanya! Banyak perusahaan menolak keras biaya tinggi dari solusi kehilangan data nol tetapi untuk perusahaan lain, biayanya kecil jika dibandingkan dengan beban keuangan kehilangan transaksi apa pun. Disinilah terjadi tawar menawar dan barter. Jika manajemen bersikeras pada solusi kehilangan data nol, maka mereka harus menyediakan dana untuk mendukungnya karena RMAN (gratis) tidak akan menyediakannya. Setelah persyaratan pemulihan Anda didokumentasikan dalam SLA, maka akan sulit bagi manajemen untuk meminta Anda memulihkan sesuatu yang tidak dirancang untuk didukung oleh strategi pencadangan Anda. Jika SLA ada dan mereka meminta Anda untuk memulihkan setiap transaksi dan strategi pencadangan Anda tidak mengizinkannya, maka Anda memiliki dokumen yang menyatakan bahwa tidak ada kehilangan data yang tidak pernah diperlukan dan ini dapat membantu menyelamatkan pekerjaan Anda.
Karena itu, setelah persyaratan pemulihan Anda didokumentasikan dalam SLA, pastikan bahwa strategi pencadangan Anda akan memungkinkan Anda untuk melakukan setiap skenario pemulihan yang didokumentasikan dalam SLA. Pekerjaan Anda mungkin bergantung padanya. Jika SLA menyatakan tidak ada kehilangan data dan Anda tidak menerapkan Data Guard meskipun manajemen bersedia mendanainya, mereka mungkin akan memberhentikan Anda karena Anda tidak menindaklanjuti pekerjaan Anda.
Terakhir, tidak ada strategi pencadangan/pemulihan yang lengkap kecuali jika telah diuji secara menyeluruh. Anda harus menguji setiap strategi pemulihan yang diperlukan untuk memastikan bahwa Anda dapat memenuhi semua persyaratan yang dinyatakan dalam SLA. Pengujian harus dilakukan tidak kurang dari setahun sekali karena dua alasan...satu, memastikan bahwa perubahan pada sistem tidak berdampak negatif pada kemampuan Anda untuk melakukan pemulihan yang diperlukan dan dua, membuat Anda tetap up-to-date tentang cara melakukan pemulihan sehingga jika Anda harus melakukannya secara nyata, Anda tidak meraba-raba prosedurnya. Dalam pengujian, Anda mungkin menemukan bahwa metodologi pencadangan Anda akan mendukung skenario pemulihan yang diperlukan, tetapi bagus untuk dimiliki jika Anda membutuhkannya.
Dan saya tidak bisa mengatakannya dengan cukup….Uji, uji, dan uji!