Mencadangkan dan memulihkan Oracle Database di Azure Linux VM dengan menggunakan Azure Backup

Diterapkan ke: ✔️ VM Linux

Artikel ini menunjukkan penggunaan Azure Backup untuk mengambil rekam jepret disk disk komputer virtual (VM), yang mencakup file Oracle Database dan area pemulihan cepat Oracle. Dengan menggunakan Azure Backup, Anda dapat mengambil rekam jepret disk penuh yang cocok sebagai cadangan dan disimpan dalam vault Layanan Pemulihan.

Azure Backup juga menyediakan cadangan yang konsisten dengan aplikasi, yang memastikan bahwa lebih banyak perbaikan tidak diperlukan untuk memulihkan data. Pencadangan yang konsisten dengan aplikasi berfungsi dengan sistem file dan database Oracle Automatic Storage Management (ASM).

Memulihkan data yang konsisten dengan aplikasi mengurangi waktu pemulihan, sehingga Anda dapat dengan cepat kembali ke status berjalan. Pemulihan Oracle Database masih diperlukan setelah pemulihan. Anda memfasilitasi pemulihan dengan menggunakan file log fase pengulangan yang diarsipkan Oracle yang diambil dan disimpan dalam berbagi file Azure terpisah.

Artikel ini memanding Anda melalui tugas-tugas berikut:

  • Cadangkan database dengan cadangan yang konsisten dengan aplikasi.
  • Memulihkan dan memulihkan database dari titik pemulihan.
  • Pulihkan VM dari titik pemulihan.

Prasyarat

  • Untuk melakukan proses pencadangan dan pemulihan, Anda harus terlebih dahulu membuat VM Linux yang memiliki instans Oracle Database 12.1 atau yang lebih baru yang terinstal.

  • Buat instans Oracle Database dengan mengikuti langkah-langkah dalam Membuat instans Oracle Database di Azure VM.

Menyiapkan lingkungan

Untuk menyiapkan lingkungan, selesaikan langkah-langkah berikut:

  1. Sambungkan ke VM.
  2. Siapkan penyimpanan Azure Files.
  3. Siapkan database.

Menyambungkan ke VM

  1. Untuk membuat sesi Secure Shell (SSH) dengan VM, gunakan perintah berikut. Ganti <publicIpAddress> dengan nilai alamat publik untuk VM Anda.

    ssh azureuser@<publicIpAddress>
    
  2. Beralih ke pengguna root:

    sudo su -
    
  3. oracle Tambahkan pengguna ke file /etc/sudoers:

    echo "oracle   ALL=(ALL)      NOPASSWD: ALL" >> /etc/sudoers
    

Menyiapkan penyimpanan Azure Files untuk file log fase pengulangan yang diarsipkan Oracle

File log fase pengulangan yang diarsipkan instans Oracle Database memainkan peran penting dalam pemulihan database. Mereka menyimpan transaksi berkomitmen yang diperlukan untuk bergulir maju dari rekam jepret database yang diambil di masa lalu.

Ketika database dalam ARCHIVELOG mode, database mengarsipkan konten file log fase pengulangan online ketika menjadi penuh dan beralih. Bersama dengan cadangan, mereka diharuskan untuk mencapai pemulihan titik waktu ketika database hilang.

Oracle menyediakan kemampuan untuk mengarsipkan file log fase pengulangan ke lokasi yang berbeda. Praktik terbaik industri adalah bahwa setidaknya salah satu tujuan tersebut harus berada di penyimpanan jarak jauh, sehingga terpisah dari penyimpanan host dan dilindungi dengan rekam jepret independen. Azure Files memenuhi persyaratan tersebut.

Berbagi file Azure adalah penyimpanan yang Anda lampirkan ke VM Linux atau Windows sebagai komponen sistem file biasa, dengan menggunakan protokol Server Message Block (SMB) atau Network File System (NFS). Untuk menyiapkan berbagi file Azure di Linux (dengan menggunakan protokol SMB 3.0) untuk digunakan sebagai penyimpanan log arsip, lihat Memasang berbagi file Azure SMB di Linux. Saat Anda menyelesaikan penyiapan, kembali ke panduan ini dan selesaikan semua langkah yang tersisa.

Siapkan database

Bagian dari proses ini mengasumsikan bahwa Anda mengikuti Buat instans Oracle Database di Azure VM. Akibatnya:

  • Anda memiliki instans Oracle bernama oratest1 yang berjalan pada VM bernama vmoracle19c.
  • Anda menggunakan skrip Oracle oraenv standar dengan dependensinya pada file konfigurasi Oracle standar /etc/oratab untuk menyiapkan variabel lingkungan dalam sesi shell.

Lakukan langkah-langkah berikut untuk setiap database pada VM:

  1. Pindahkan ke oracle

     sudo su - oracle
    
  2. Atur variabel ORACLE_SID lingkungan dengan menjalankan oraenv skrip. Ini akan meminta Anda untuk memasukkan ORACLE_SID nama.

    . oraenv
    
  3. Tambahkan berbagi file Azure sebagai tujuan lain untuk file log arsip database.

    Langkah ini mengasumsikan bahwa Anda mengonfigurasi dan memasang berbagi file Azure di VM Linux. Untuk setiap database yang diinstal pada VM, buat subdirektori yang dinamai sesuai dengan pengidentifikasi keamanan database (SID) Anda.

    Dalam contoh ini, nama titik pemasangan adalah /backup dan SID adalah oratest1. Jadi Anda membuat subdirektori /backup/oratest1 dan mengubah kepemilikan kepada oracle pengguna. Ganti /backup/SID untuk nama titik pemasangan dan SID database Anda.

    sudo mkdir /backup/oratest1
    sudo chown oracle:oinstall /backup/oratest1
    
  4. Sambungkan ke database:

    sqlplus / as sysdba
    
  5. Mulai database jika belum berjalan:

    SQL> startup
    
  6. Atur tujuan log arsip pertama database ke direktori berbagi file yang Anda buat sebelumnya:

    SQL> alter system set log_archive_dest_1='LOCATION=/backup/oratest1' scope=both;
    
  7. Tentukan tujuan titik pemulihan (RPO) untuk database tersebut.

    Untuk mencapai RPO yang konsisten, pertimbangkan frekuensi di mana file log fase pengulangan online akan diarsipkan. Faktor-faktor ini mengontrol frekuensi:

    • Ukuran file log fase pengulangan online. Saat file log online menjadi penuh, file tersebut dialihkan dan diarsipkan. Semakin besar file log online, semakin lama waktu yang diperlukan untuk mengisi. Waktu tambahan mengurangi frekuensi pembuatan arsip.
    • Pengaturan ARCHIVE_LAG_TARGET parameter mengontrol jumlah detik maksimum yang diizinkan sebelum file log online saat ini harus dialihkan dan diarsipkan.

    Untuk meminimalkan frekuensi pengalihan dan pengarsipan, bersama dengan operasi titik pemeriksaan yang menyertainya, file log fase pengulangan online Oracle umumnya memiliki ukuran besar (misalnya, 1.024M, 4.096M, atau 8.192M). Dalam lingkungan database yang sibuk, log masih cenderung beralih dan mengarsipkan setiap beberapa detik atau menit. Dalam database yang kurang aktif, mereka mungkin pergi berjam-jam atau berjam-hari sebelum transaksi terbaru diarsipkan, yang akan secara dramatis mengurangi frekuensi arsip.

    Kami menyarankan agar Anda mengatur ARCHIVE_LAG_TARGET untuk memastikan RPO yang konsisten. Pengaturan 5 menit (300 detik) adalah nilai bijaksana untuk ARCHIVE_LAG_TARGET. Ini memastikan bahwa setiap operasi pemulihan database dapat pulih dalam waktu 5 menit setelah waktu kegagalan.

    Untuk mengatur ARCHIVE_LAG_TARGET, jalankan perintah ini:

    SQL> alter system set archive_lag_target=300 scope=both;
    

    Untuk lebih memahami cara menyebarkan instans Oracle Database yang sangat tersedia di Azure dengan RPO nol, lihat Arsitektur referensi untuk Oracle Database.

  8. Pastikan database dalam mode log arsip untuk mengaktifkan pencadangan online.

    Periksa status arsip log terlebih dahulu:

    SQL> SELECT log_mode FROM v$database;
    
    LOG_MODE
    ------------
    NOARCHIVELOG
    

    Jika dalam NOARCHIVELOG mode , jalankan perintah berikut:

    SQL> SHUTDOWN IMMEDIATE;
    SQL> STARTUP MOUNT;
    SQL> ALTER DATABASE ARCHIVELOG;
    SQL> ALTER DATABASE OPEN;
    SQL> ALTER SYSTEM SWITCH LOGFILE;
    
  9. Buat tabel untuk menguji operasi pencadangan dan pengembalian:

    SQL> create user scott identified by tiger quota 100M on users;
    SQL> grant create session, create table to scott;
    SQL> connect scott/tiger
    SQL> create table scott_table(col1 number, col2 varchar2(50));
    SQL> insert into scott_table VALUES(1,'Line 1');
    SQL> commit;
    SQL> quit
    

Mencadangkan data Anda dengan menggunakan Azure Backup

Layanan Azure Backup menyediakan solusi untuk mencadangkan data Anda dan memulihkannya dari cloud Microsoft Azure. Azure Backup menyediakan cadangan independen dan terisolasi untuk melindungi dari penghancuran data asli yang tidak disengaja. Cadangan disimpan dalam vault Layanan Pemulihan dengan manajemen titik pemulihan bawaan, sehingga Anda dapat memulihkan sesuai kebutuhan.

Di bagian ini, Anda menggunakan Azure Backup untuk mengambil rekam jepret yang konsisten dengan aplikasi dari instans VM dan Oracle Database yang sedang berjalan. Database ditempatkan ke dalam mode pencadangan, yang memungkinkan pencadangan online yang konsisten secara transaksional terjadi saat Azure Backup mengambil rekam jepret disk VM. Rekam jepret adalah salinan lengkap penyimpanan dan bukan rekam jepret inkremental atau copy-on-write. Ini adalah media yang efektif untuk memulihkan database Anda.

Keuntungan menggunakan Azure Backup rekam jepret yang konsisten dengan aplikasi adalah cepat diambil, tidak peduli seberapa besar database Anda. Anda dapat menggunakan rekam jepret untuk operasi pemulihan segera setelah Anda mengambilnya, tanpa harus menunggunya ditransfer ke vault Layanan Pemulihan.

Untuk menggunakan Azure Backup untuk mencadangkan database, ikuti langkah-langkah berikut:

  1. Pahami kerangka kerja Azure Backup.
  2. Siapkan lingkungan untuk pencadangan yang sesuai aplikasi.
  3. Pasang cadangan yang sesuai aplikasi.
  4. Picu cadangan yang sesuai aplikasi dari VM.

Memahami kerangka kerja Azure Backup

Layanan Azure Backup menyediakan kerangka kerja untuk mencapai konsistensi aplikasi selama pencadangan VM Windows dan Linux untuk berbagai aplikasi. Kerangka kerja ini melibatkan pemanggilan pra-skrip untuk menghentikan aplikasi sebelum mengambil rekam jepret disk. Ini memanggil pasca-skrip untuk mencairkan aplikasi setelah rekam jepret selesai.

Microsoft telah meningkatkan kerangka kerja sehingga layanan Azure Backup menyediakan pra-skrip dan pasca-skrip paket untuk aplikasi yang dipilih. Pra-skrip dan pasca-skrip ini sudah dimuat pada gambar Linux, jadi tidak ada yang perlu Anda instal. Anda cukup memberi nama aplikasi, lalu Azure Backup secara otomatis memanggil skrip yang relevan. Microsoft mengelola pra-skrip dan pasca-skrip paket, sehingga Anda dapat yakin tentang dukungan, kepemilikan, dan validitasnya.

Saat ini, aplikasi yang didukung untuk kerangka kerja yang disempurnakan adalah Oracle 12.x atau yang lebih baru dan MySQL. Untuk detailnya, lihat Matriks dukungan untuk cadangan Azure VM terkelola.

Anda dapat menulis skrip Anda sendiri untuk Azure Backup digunakan dengan database pra-12.x. Contoh skrip tersedia di GitHub.

Setiap kali Anda melakukan pencadangan, kerangka kerja yang disempurnakan menjalankan pra-skrip dan pasca-skrip pada semua instans Oracle Database yang diinstal pada VM. Parameter configuration_path dalam file workload.conf menunjuk ke lokasi file Oracle /etc/oratab (atau file yang ditentukan pengguna yang mengikuti sintaks oratab). Untuk detailnya, lihat Menyiapkan cadangan yang konsisten dengan aplikasi.

Azure Backup menjalankan pra-skrip dan pasca-skrip untuk setiap database yang tercantum dalam file yang configuration_path menunjuk. Pengecualian adalah baris yang dimulai dengan # (diperlakukan sebagai komentar) atau +ASM (instans Oracle ASM).

Kerangka kerja yang disempurnakan Azure Backup mengambil cadangan online instans Oracle Database yang beroperasi dalam ARCHIVELOG mode. Pra-skrip dan pasca-skrip menggunakan ALTER DATABASE BEGIN perintah dan END BACKUP untuk mencapai konsistensi aplikasi.

Agar pencadangan database konsisten, database dalam mode harus dimatikan NOARCHIVELOG dengan bersih sebelum rekam jepret dimulai.

Siapkan lingkungan untuk pencadangan yang sesuai aplikasi

Oracle Database menggunakan pemisahan peran pekerjaan untuk memberikan pemisahan tugas dengan menggunakan hak istimewa paling sedikit. Ini mengaitkan grup sistem operasi (OS) terpisah dengan peran administratif database terpisah. Pengguna kemudian dapat memiliki hak istimewa database yang berbeda yang diberikan kepada mereka, tergantung pada keanggotaan mereka dalam grup OS.

Peran SYSBACKUP database (nama OSBACKUPDBAgenerik ) memberikan hak istimewa terbatas untuk melakukan operasi pencadangan dalam database. Azure Backup membutuhkannya.

Selama penginstalan Oracle, kami sarankan Anda menggunakan backupdba sebagai nama grup OS untuk mengaitkan dengan peran tersebut SYSBACKUP . Tetapi Anda dapat menggunakan nama apa pun, jadi Anda perlu menentukan nama grup OS yang mewakili peran Oracle SYSBACKUP terlebih dahulu.

  1. Pindahkan ke oracle

    sudo su - oracle
    
  2. Atur lingkungan Oracle:

    export ORACLE_SID=oratest1
    export ORAENV_ASK=NO
    . oraenv
    
  3. Tentukan nama grup OS yang mewakili peran Oracle SYSBACKUP :

    grep "define SS_BKP" $ORACLE_HOME/rdbms/lib/config.c
    

    Output terlihat mirip dengan contoh berikut:

    #define SS_BKP_GRP "backupdba"
    

    Dalam output, nilai yang diapit dalam tanda kutip ganda adalah nama grup OS Linux tempat peran Oracle SYSBACKUP diautentikasi secara eksternal. Contohnya, yang ditampilkan adalah backupdba. Catat nilai aktualnya.

  4. Verifikasi bahwa grup OS ada dengan menjalankan perintah berikut. Ganti <group name> dengan nilai yang dikembalikan perintah sebelumnya (tanpa tanda kutip).

    grep <group name> /etc/group
    

    Output terlihat mirip dengan contoh berikut:

    backupdba:x:54324:oracle
    

    Penting

    Jika output tidak cocok dengan nilai grup OS Oracle yang Anda ambil di langkah 3, gunakan perintah berikut untuk membuat grup OS yang mewakili peran Oracle SYSBACKUP . Ganti <group name> dengan nama grup yang Anda ambil di langkah 3.

    sudo groupadd <group name>
    
  5. Buat pengguna cadangan baru bernama azbackup yang termasuk dalam grup OS yang Anda verifikasi atau buat di langkah-langkah sebelumnya. Ganti <group name> dengan nama grup terverifikasi. Pengguna juga ditambahkan ke oinstall grup untuk mengaktifkannya untuk membuka disk ASM.

    sudo useradd -g <group name> -G oinstall azbackup
    
  6. Pasang autentikasi eksternal untuk pengguna cadangan baru.

    Pengguna azbackup cadangan harus dapat mengakses database dengan menggunakan autentikasi eksternal, sehingga tidak ditantang oleh kata sandi. Untuk mengaktifkan akses ini, Anda harus membuat pengguna database yang mengautentikasi secara eksternal melalui azbackup. Database menggunakan awalan untuk nama pengguna, yang perlu Anda temukan.

    Lakukan langkah-langkah berikut untuk setiap database yang diinstal pada VM:

    1. Masuk ke database dengan menggunakan SQL Plus, dan periksa pengaturan default untuk autentikasi eksternal:

      sqlplus / as sysdba
      SQL> show parameter os_authent_prefix
      SQL> show parameter remote_os_authent
      

      Output akan terlihat seperti contoh ini, yang ditampilkan ops$ sebagai awalan nama pengguna database:

      NAME                                 TYPE        VALUE
      ------------------------------------ ----------- ------------------------------
      os_authent_prefix                    string      ops$
      remote_os_authent                    boolean     FALSE
      
    2. Buat pengguna database bernama ops$azbackup untuk autentikasi eksternal kepada azbackup pengguna, dan berikan SYSBACKUP hak istimewa:

      SQL> CREATE USER ops$azbackup IDENTIFIED EXTERNALLY;
      SQL> GRANT CREATE SESSION, ALTER SESSION, SYSBACKUP TO ops$azbackup;
      
  7. Jika Anda menerima kesalahan ORA-46953: The password file is not in the 12.2 format saat menjalankan GRANT pernyataan, ikuti langkah-langkah ini untuk memigrasikan file orapwd ke format 12.2. Lakukan langkah-langkah ini untuk setiap instans Oracle Database pada VM.

    1. Keluar dari SQL Plus.

    2. Pindahkan file kata sandi dengan format lama ke nama baru.

    3. Migrasikan file kata sandi.

    4. Hapus file lama.

    5. Jalankan perintah berikut:

      mv $ORACLE_HOME/dbs/orapworatest1 $ORACLE_HOME/dbs/orapworatest1.tmp
      orapwd file=$ORACLE_HOME/dbs/orapworatest1 input_file=$ORACLE_HOME/dbs/orapworatest1.tmp
      rm $ORACLE_HOME/dbs/orapworatest1.tmp
      
    6. Jalankan GRANT ulang operasi di SQL Plus.

  8. Buat prosedur tersimpan untuk mencatat pesan cadangan ke log pemberitahuan database. Gunakan kode berikut untuk setiap database yang diinstal pada VM:

    sqlplus / as sysdba
    SQL> GRANT EXECUTE ON DBMS_SYSTEM TO SYSBACKUP;
    SQL> CREATE PROCEDURE sysbackup.azmessage(in_msg IN VARCHAR2)
    AS
      v_timestamp     VARCHAR2(32);
    BEGIN
      SELECT TO_CHAR(SYSDATE, 'YYYY-MM-DD HH24:MI:SS')
      INTO v_timestamp FROM DUAL;
      DBMS_OUTPUT.PUT_LINE(v_timestamp || ' - ' || in_msg);
      SYS.DBMS_SYSTEM.KSDWRT(SYS.DBMS_SYSTEM.ALERT_FILE, in_msg);
    END azmessage;
    /
    SQL> SHOW ERRORS
    SQL> QUIT
    

Pasang cadangan yang sesuai aplikasi

  1. Beralih ke pengguna root:

    sudo su -
    
  2. Periksa folder /etc/azure . Jika tidak ada, buat direktori kerja untuk cadangan yang konsisten dengan aplikasi:

    if [ ! -d "/etc/azure" ]; then
       mkdir /etc/azure
    fi
    
  3. Periksa file workload.conf di dalam folder. Jika tidak ada, buat di direktori /etc/azure dan berikan konten berikut. Komentar harus dimulai dengan [workload]. Jika file sudah ada, cukup edit bidang sehingga cocok dengan konten berikut. Jika tidak, perintah berikut membuat file dan mengisi konten:

    echo "[workload]
    workload_name = oracle
    configuration_path = /etc/oratab
    timeout = 90
    linux_user = azbackup" > /etc/azure/workload.conf
    

    File workload.conf menggunakan format berikut:

    • Parameter workload_name menunjukkan jenis beban kerja database. Dalam hal ini, mengatur parameter untuk Oracle memungkinkan Azure Backup menjalankan pra-skrip dan pasca-skrip yang benar (perintah konsistensi) untuk instans Oracle Database.
    • Parameter timeout menunjukkan waktu maksimum, dalam detik, bahwa setiap database harus menyelesaikan rekam jepret penyimpanan.
    • Parameter linux_user menunjukkan akun pengguna Linux yang Azure Backup gunakan untuk menjalankan operasi quiesce database. Anda membuat pengguna ini, azbackup, sebelumnya.
    • Parameter configuration_path menunjukkan nama jalur absolut untuk file teks pada VM. Setiap baris mencantumkan instans database yang berjalan di VM. Ini biasanya adalah file /etc/oratab yang dihasilkan Oracle selama penginstalan database, tetapi dapat berupa file apa pun dengan nama apa pun yang Anda pilih. Ini harus mengikuti aturan format ini:
      • File adalah file teks. Setiap bidang dibatasi dengan karakter titik dua (:).
      • Bidang pertama di setiap baris adalah nama untuk instans ORACLE_SID .
      • Bidang kedua di setiap baris adalah nama jalur absolut untuk ORACLE_HOME instans tersebut ORACLE_SID .
      • Semua teks setelah dua bidang pertama diabaikan.
      • Jika baris dimulai dengan tanda pagar (#), seluruh baris diabaikan sebagai komentar.
      • Jika bidang pertama memiliki nilai +ASM, menunjukkan instans Oracle ASM, bidang tersebut akan diabaikan.

Picu cadangan yang sesuai aplikasi dari VM

  1. Di portal Azure, buka grup sumber daya rg-oracle Anda dan pilih komputer virtual vmoracle19c Anda.

  2. Pada panel Cadangan :

    1. Di bawah Vault Layanan Pemulihan, pilih Buat baru.
    2. Untuk nama vault, gunakan myVault.
    3. Untuk Grup sumber daya, pilih rg-oracle.
    4. Untuk Pilih kebijakan pencadangan, gunakan (new) DailyPolicy. Jika Anda ingin mengubah frekuensi pencadangan atau rentang retensi, pilih Buat kebijakan baru sebagai gantinya.

    Cuplikan layar yang memperlihatkan panel untuk mengonfigurasi vault Layanan Pemulihan baru.

  3. Pilih Aktifkan pencadangan.

    Proses pencadangan tidak dimulai sampai waktu yang dijadwalkan berakhir. Untuk menyiapkan cadangan langsung, selesaikan langkah berikutnya.

  4. Dari panel grup sumber daya, pilih vault Layanan Pemulihan yang baru dibuat bernama myVault. Anda mungkin perlu me-refresh halaman untuk melihatnya.

  5. Pada panel myVault - Item cadangan , di bawah JUMLAH ITEM CADANGAN, pilih jumlah item cadangan.

    Cuplikan layar yang memperlihatkan detail untuk vault Layanan Pemulihan.

  6. Pada panel Item Cadangan (Azure Virtual Machine) , pilih tombol elipsis ( ... ), lalu pilih Cadangkan sekarang.

    Cuplikan layar yang memperlihatkan perintah untuk mencadangkan vault Layanan Pemulihan sekarang.

  7. Terima nilai Default Pertahankan Pencadangan Hingga , lalu pilih OK. Tunggu hingga proses pencadangan selesai.

  8. Untuk melihat status pekerjaan pencadangan, pilih Pekerjaan Pencadangan.

    Cuplikan layar yang memperlihatkan panel yang mencantumkan pekerjaan pencadangan untuk vault Layanan Pemulihan.

    Pilih pekerjaan pencadangan untuk melihat detail tentang statusnya.

    Cuplikan layar yang memperlihatkan informasi status terperinci untuk pekerjaan pencadangan.

    Meskipun hanya perlu beberapa detik untuk mengeksekusi rekam jepret, perlu beberapa waktu untuk mentransfernya ke vault. Pekerjaan pencadangan tidak selesai sampai transfer selesai.

  9. Untuk pencadangan yang konsisten dengan aplikasi, atasi kesalahan apa pun dalam file log di /var/log/azure/Microsoft.Azure.RecoveryServices.VMSnapshotLinux/extension.log.

Pulihkan VM

Memulihkan seluruh VM berarti Anda memulihkan VM dan disk yang terpasang ke VM baru dari titik pemulihan yang dipilih. Tindakan ini juga memulihkan semua database yang berjalan pada VM. Setelah itu, Anda perlu memulihkan setiap database.

Untuk memulihkan seluruh VM, selesaikan langkah-langkah berikut:

  1. Hentikan dan hapus VM.
  2. Pulihkan VM.
  3. Pasang alamat IP publik.
  4. Pulihkan database.

Ada dua pilihan utama saat Anda memulihkan VM:

  • Pulihkan VM tempat cadangan awalnya diambil.
  • Pulihkan (kloning) VM baru tanpa memengaruhi VM tempat cadangan awalnya diambil.

Langkah pertama dalam latihan ini (menghentikan, menghapus, lalu memulihkan VM) mensimulasikan kasus penggunaan pertama.

Hentikan dan hapus VM

  1. Di portal Azure, buka komputer virtual vmoracle19c, lalu pilih Hentikan.

  2. Saat komputer virtual tidak lagi berjalan, pilih Hapus lalu Ya.

    Cuplikan layar yang memperlihatkan pesan konfirmasi untuk menghapus komputer virtual.

Pulihkan VM

  1. Buat akun penyimpanan untuk penahapan di portal Azure:

    1. Di portal Azure, pilih + Buat sumber daya, lalu cari dan pilih Akun penyimpanan.

      Tangkap layar yang memperlihatkan di mana untuk membuat sebuah sumber daya.

    2. Pada panel Buat akun penyimpanan :

      1. Untuk Grup sumber daya, pilih grup sumber daya yang sudah ada, rg-oracle.
      2. Untuk Nama akun penyimpanan, masukkan oracrestore.
      3. Pastikan Lokasi diatur ke wilayah yang sama dengan semua sumber daya Anda yang lain dalam grup sumber daya.
      4. Atur Performa ke Standar.
      5. Untuk Jenis akun, pilih StorageV2 (tujuan umum v2).
      6. Untuk Replikasi, pilih Penyimpanan lokal berlebihan (LRS) .

      Cuplikan layar yang memperlihatkan informasi dasar untuk membuat akun penyimpanan.

    3. Pilih Tinjauan + Buat, kemudian pilih Buat.

  2. Di portal Azure, cari vault myVault Recovery Services dan pilih.

    Cuplikan layar yang menunjukkan pemilihan vault Layanan Pemulihan.

  3. Pada panel Gambaran Umum , pilih Item cadangan. Kemudian pilih Azure Virtual Machine, yang seharusnya memiliki nomor bukan nol untuk JUMLAH ITEM CADANGAN.

    Cuplikan layar yang memperlihatkan pilihan untuk item cadangan komputer virtual untuk vault Layanan Pemulihan.

  4. Pada panel Item Cadangan (Azure Virtual Machine) , pilih VM vmoracle19c .

    Cuplikan layar yang memperlihatkan panel untuk item cadangan komputer virtual.

  5. Pada panel vmoracle19c , pilih titik pemulihan yang memiliki jenis konsistensi Konsisten Aplikasi. Pilih elipsis (...), lalu pilih Pulihkan VM.

    Cuplikan layar yang memperlihatkan perintah untuk memulihkan VM.

  6. Pada panel Pulihkan Komputer Virtual :

    1. Pilih Buat Baru.

    2. Untuk Jenis Pemulihan, pilih Buat komputer virtual baru.

    3. Untuk Nama komputer virtual, masukkan vmoracle19c.

    4. Untuk Jaringan virtual, pilih vmoracle19cVNET.

      Subnet secara otomatis diisi berdasarkan pilihan Anda untuk jaringan virtual.

    5. Untuk Lokasi Penahapan, proses pemulihan VM memerlukan akun penyimpanan Azure di grup dan wilayah sumber daya yang sama. Anda dapat memilih akun penyimpanan atau tugas pemulihan yang Anda siapkan sebelumnya.

    Cuplikan layar yang memperlihatkan nilai untuk memulihkan komputer virtual.

  7. Untuk memulihkan VM, pilih tombol Pulihkan .

  8. Untuk melihat status proses pemulihan, pilih Pekerjaan, lalu pilih Pekerjaan Pencadangan.

    Cuplikan layar yang memperlihatkan daftar pekerjaan pencadangan.

    Pilih operasi pemulihan Sedang Berlangsung untuk menampilkan detail tentang status proses pemulihan.

    Cuplikan layar yang memperlihatkan informasi status terperinci tentang proses pemulihan.

Pasang alamat IP publik

Setelah VM dikembalikan, Anda harus menetapkan ulang alamat IP asli ke VM baru.

  1. Di portal Azure, buka komputer virtual Anda bernama vmoracle19c. Ini telah diberi IP publik baru dan NIC yang mirip dengan vmoracle19c-nic-XXXXXXXXXXXXX, tetapi tidak memiliki alamat DNS. Ketika VM asli dihapus, IP publik dan NIC-nya dipertahankan. Langkah berikutnya memasangnya kembali ke VM baru.

    Cuplikan layar yang memperlihatkan daftar alamat IP publik.

  2. Hentikan VM.

    Cuplikan layar yang memperlihatkan pilihan untuk menghentikan komputer virtual.

  3. Buka Jaringan.

    Cuplikan layar yang memperlihatkan informasi jaringan.

  4. Pilih Lampirkan antarmuka jaringan. Pilih NIC vmoracle19cVMNic asli, yang masih dikaitkan dengan alamat IP publik asli. Kemudian, pilih OK.

    Cuplikan layar yang memperlihatkan pemilihan jenis sumber daya dan nilai NIC.

  5. Lepaskan NIC yang Anda buat dengan operasi pemulihan VM, karena dikonfigurasi sebagai antarmuka utama. Pilih Lepaskan antarmuka jaringan, pilih NIC yang mirip dengan vmoracle19c-nic-XXXXXXXXXXXXX, lalu pilih OK.

    Cuplikan layar yang memperlihatkan panel untuk melepaskan antarmuka jaringan.

    VM anda yang dibuat ulang sekarang memiliki NIC asli, yang terkait dengan alamat IP asli dan aturan grup keamanan jaringan.

    Cuplikan layar yang memperlihatkan nilai alamat IP.

  6. Kembali ke panel Gambaran Umum dan pilih Mulai.

Memulihkan database

Untuk memulihkan database setelah pemulihan VM lengkap:

  1. Sambungkan kembali ke VM:

    ssh azureuser@<publicIpAddress>
    
    

    Ketika seluruh VM telah dipulihkan, penting untuk memulihkan database pada VM dengan melakukan langkah-langkah berikut pada setiap database.

  2. Anda mungkin menemukan bahwa instans sedang berjalan, karena mulai otomatis mencoba memulai database pada startup VM. Namun, database memerlukan pemulihan dan kemungkinan hanya berada di tahap pemasangan. Jalankan pematian persiapan sebelum memulai tahap pemasangan:

    sudo su - oracle
    sqlplus / as sysdba
    SQL> shutdown immediate
    SQL> startup mount
    
  3. Lakukan pemulihan database.

    Penting untuk menentukan USING BACKUP CONTROLFILE sintaks untuk menginformasikan RECOVER AUTOMATIC DATABASE perintah bahwa pemulihan tidak boleh berhenti di nomor perubahan sistem Oracle (SCN) yang direkam dalam file kontrol database yang dipulihkan.

    File kontrol database yang dipulihkan adalah rekam jepret, bersama dengan database lainnya. SCN yang disimpan di dalamnya berasal dari titik waktu rekam jepret. Mungkin ada transaksi yang dicatat setelah titik ini, dan Anda ingin memulihkan ke titik transaksi terakhir yang dilakukan ke database.

    SQL> recover automatic database using backup controlfile until cancel;
    
  4. Ketika file log arsip terakhir yang tersedia telah diterapkan, masukkan CANCEL untuk mengakhiri pemulihan.

    Ketika pemulihan berhasil diselesaikan, pesan Media recovery complete akan muncul.

    Namun, saat Anda menggunakan BACKUP CONTROLFILE klausul , perintah pulihkan mengabaikan file log online. Ada kemungkinan bahwa perubahan dalam log fase pengulangan online saat ini diperlukan untuk menyelesaikan pemulihan point-in-time. Dalam situasi ini, Anda mungkin melihat pesan yang mirip dengan contoh-contoh ini:

    SQL> recover automatic database until cancel using backup controlfile;
    ORA-00279: change 2172930 generated at 04/08/2021 12:27:06 needed for thread 1
    ORA-00289: suggestion :
    /u02/fast_recovery_area/ORATEST1/archivelog/2021_04_08/o1_mf_1_13_%u_.arc
    ORA-00280: change 2172930 for thread 1 is in sequence #13
    ORA-00278: log file
    '/u02/fast_recovery_area/ORATEST1/archivelog/2021_04_08/o1_mf_1_13_%u_.arc' no
    longer needed for this recovery
    ORA-00308: cannot open archived log
    '/u02/fast_recovery_area/ORATEST1/archivelog/2021_04_08/o1_mf_1_13_%u_.arc'
    ORA-27037: unable to obtain file status
    Linux-x86_64 Error: 2: No such file or directory
    Additional information: 7
    
    Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
    

    Penting

    Jika log fase pengulangan online saat ini hilang atau rusak dan Anda tidak dapat menggunakannya, Anda mungkin membatalkan pemulihan pada saat ini.

    Untuk memperbaiki situasi ini, Anda dapat mengidentifikasi log online mana yang tidak diarsipkan dan memberikan nama file yang sepenuhnya memenuhi syarat ke prompt.

  5. Buka database.

    Opsi RESETLOGS diperlukan saat RECOVER perintah menggunakan USING BACKUP CONTROLFILE opsi . RESETLOGS membuat inkarnasi baru database dengan mengatur ulang riwayat pengulangan kembali ke awal, karena tidak ada cara untuk menentukan berapa banyak inkarnasi database sebelumnya yang dilewati dalam pemulihan.

    SQL> alter database open resetlogs;
    
  6. Periksa apakah konten database telah dipulihkan:

    SQL> select * from scott.scott_table;
    

Pencadangan dan pemulihan Oracle Database pada VM Linux Azure sekarang selesai.

Anda dapat menemukan informasi selengkapnya tentang perintah dan konsep Oracle dalam dokumentasi Oracle, termasuk:

Menghapus VM

Saat Anda tidak lagi memerlukan VM, Anda bisa menggunakan perintah berikut untuk menghapus grup sumber daya, VM, dan semua sumber daya terkait:

  1. Nonaktifkan penghapusan sementara cadangan di vault:

    az backup vault backup-properties set --name myVault --resource-group rg-oracle --soft-delete-feature-state disable
    
  2. Hentikan perlindungan untuk VM dan hapus cadangan:

    az backup protection disable --resource-group rg-oracle --vault-name myVault --container-name vmoracle19c --item-name vmoracle19c --delete-backup-data true --yes
    
  3. Hapus grup sumber daya, termasuk semua sumber daya:

    az group delete --name rg-oracle
    

Langkah berikutnya

Membuat komputer virtual yang sangat tersedia

Menjelajahi sampel Azure CLI untuk penyebaran VM