Melindungi dan memulihkan database Oracle di lingkungan Windows

Sebelum memulai

Sebelum Anda dapat menemukan, melindungi, dan memasang database Oracle di lingkungan Windows, pastikan untuk memeriksa hal berikut:

  1. Periksa setelan berikut di server database:

    1. Database Oracle dan Oracle Listener sudah aktif dan berjalan (periksa layanan Windows).

    2. Pastikan ada entri tns dengan nama SID. File tnsnames.ora berada di

      %ORACLE_HOME%\network\admin
      
    3. Verifikasi bahwa entri tns valid dengan menjalankan:

      %ORACLE_HOME%\bin\tnsping <SID>
      
  2. Periksa apakah mode log disetel ke mode Log Arsip:

    sql> archive log list
    

    Jika database berada dalam mode log tanpa arsip, kembalikan ke mode log arsip:

    sql> shutdown immediate;
    sql> startup mount;
    sql> alter database archivelog;
    sql> alter database open;
    
  3. Mengaktifkan pelacakan blok perubahan database. Jika BCT database dinonaktifkan, waktu pencadangan inkremental akan terpengaruh. Fitur pelacakan blok perubahan tersedia di Oracle Enterprise Edition. Jalankan kueri SQL untuk memeriksa apakah pelacakan blok perubahan diaktifkan. Jalankan kueri:

    sqlplus / as sysdba
    sql> select * from v$block_change_tracking;
    

Untuk mengaktifkan pelacakan blok perubahan:

    sql> alter database enable block change tracking
    using file '<Oracle home directory>\orcl.bct';

Mencadangkan database Oracle di lingkungan Windows

Untuk mencadangkan database Oracle di lingkungan Windows, ikuti langkah-langkah berikut:

  1. Tetapkan Detail & Setelan Aplikasi untuk Database Oracle.

  2. Terapkan rencana cadangan untuk melindungi database.

Masalah umum

Oracle 19c SQLPlus (sqlplus.exe) terkadang mengalami hang di Windows saat menjalankan perintah keluar (ID Dokumen 2820655.1). Bug ini khusus untuk Windows. Oracle telah mengonfirmasi bahwa masalah ini terjadi di SQLPlus versi 19.10, 19.11, dan 19.12. Oracle memberikan solusi berikut:

  • Menggunakan SQL*Plus 21.1 atau yang lebih baru (atau)
  • Terapkan patch:31466370. Patch ini tersedia untuk 19.11 dan 19.13.

Memulihkan database Oracle di lingkungan Windows secara manual menggunakan RMAN ke titik pencadangan terjadwal jika archivelog tidak dilindungi melalui Pencadangan dan DR

Untuk memulihkan seluruh database Oracle di lingkungan Windows:

  1. Pasang snapshot cadangan database dari Pencadangan dan DR kembali ke server Oracle seperti yang dijelaskan dalam Memasang database Oracle sebagai pemasangan standar.

  2. Tetapkan lingkungan database dan mulai database dalam status tidak terpasang menggunakan file parameter dari volume yang dipasang Pencadangan dan DR (misalnya untuk volume database yang dipasang ke E:):

    sqlplus / as sysdba
    sql> startup nomount pfile='E:\<sid>___backup.ora';
    
  3. Membuat spfile dari pfile:

    sql> create spfile='%ORACLE_HOME%\database\spfile<sid>.ora'
    from pfile='E:\<sid>___backup.ora';
    
  4. Mulai database dengan spfile dalam status nomount:

    sql> shutdown immediate;
    sql> startup nomount;
    
  5. Pulihkan file kontrol menggunakan RMAN dari volume yang dipasang Pencadangan dan DR:

    rman target /
    rman> restore controlfile from 'E:\cf-D_<sid>-id_<id>.ctl';
    
  6. Pasang database:

    rman> alter database mount;
    
  7. Katalogkan file data dan folder file arsip dari volume yang dipasang Cadangan dan DR ke RMAN:

    rman> run
    {
    catalog start with 'E:\datafile' noprompt;
    catalog start with 'E:\archivelog' noprompt;
    }
    
  8. Pulihkan dan pulihkan database:

    rman> run
    {
    restore database;
    recover database;
    }
    
  9. Buka database dengan opsi reset log:

    rman> alter database open resetlogs;
    

Memulihkan database Oracle di lingkungan Windows secara manual menggunakan RMAN ke titik pencadangan terjadwal dengan roll-forward dari Backup dan archivelog yang dilindungi DR

  1. Pasang image dari server database sumber untuk memulihkan. Pasang snapshot cadangan dari Pencadangan dan DR kembali ke server Oracle seperti yang dijelaskan dalam Memasang database Oracle sebagai pemasangan standar.

  2. Tetapkan lingkungan database dan mulai database dalam status tidak terpasang menggunakan file parameter dari volume yang dipasang Cadangan dan DR. Dalam contoh ini, image cadangan database dipasang di: E:\ dan log arsip yang dilindungi dipasang di: Z:.

       sqlplus / as sysdba
    
       startup nomount pfile='E:\<sid>___backup.ora';
    
  3. Membuat spfile dari pfile:

    sql> create spfile='%ORACLE_HOME%\database\spfile<sid>.ora' from
    pfile='E:\<sid>___backup.ora';
    
  4. Mulai database dengan spfile dalam status nomount:

    ```sql
    shutdown immediate;
    startup nomount;
    ```
    
  5. Pulihkan file kontrol menggunakan RMAN dari image log arsip yang dipasang Cadangan dan DR:

    ```rman
    rman target /
    rman> restore controlfile from 'Z:\cf-D_<sid>-id_<id>.ctl';
    ```
    
  6. Pasang database:

    ```rman
    rman> alter database mount;
    ```
    
  7. Katalogkan folder file data dan archivelog dari image database yang dipasang dan image log arsip Pencadangan dan DR ke RMAN:

    ```rman
    rman> run
    {
    catalog start with 'E:\datafile' noprompt;
    catalog start with 'E:\archivelog' noprompt;
    catalog start with 'Z:\archivelog' noprompt;
    }
    ```
    
  8. Pulihkan dan pulihkan database:

    ```rman
    rman> run
    {
    restore database;
    recover database;
    }
    ```
    

    Untuk pemulihan point-in-time tertentu, jalankan perintah pemulihan sebagai berikut:

    ```rman
    rman> run
     {
      restore database;
      recover database until time "to_date('<time stamp>','yyyymmddhh24mi')";
     }
     ```
    
  9. Buka database dengan opsi reset log:

    ```rman
    rman> alter database open resetlogs;
    ```
    

    Database tersedia untuk dibaca dan ditulis.

Menonton skrip untuk memantau volume database yang dipasang

Jika membuat pemasangan yang mengetahui aplikasi, Anda dapat menggunakan skrip watch untuk menampilkan volume yang di-mount dari Cadangan dan DR, serta proses Oracle yang berjalan. Penyambungan yang terhubung dengan aplikasi dijelaskan dalam artikel Memasang Database Oracle sebagai Aplikasi Virtual.

Saat melakukan pemasangan yang mengetahui aplikasi, Anda dapat menggunakan skrip watch ini. Lokasi skrip harus: C:\Program Files\Backup and DR\scripts. Skrip yang dijalankan di host Windows harus berupa file .bat atau .vbs.

    ```Windows
    @echo off
    :loop
    echo. > watchtemp
    echo ------------------ >> watchtemp
    echo  Oracle Processes >> watchtemp
    echo ------------------ >> watchtemp
    tasklist /svc | findstr oracle >> watchtemp
    echo. >> watchtemp
    echo ------------------ >> watchtemp
    echo   Backup and DR Mounts >> watchtemp
    echo ------------------ >> watchtemp
    wmic volume get label, name | findstr Backup and DR >> watchtemp
    echo. >> watchtemp
    cls
    type watchtemp
    timeout 2 > null
    goto loop
    ```

Yang menghasilkan output seperti ini:

    Oracle Processes
    ------------------
    oracle.exe                    1492 OracleServiceORCL
    oracle.exe                    3768 OracleServiceTestDB
    oracle.exe                     872 OracleServiceTestDB2
    ------------------
      Backup and DR Mounts
    ------------------
    Backup and DR-Backup-ORCL    D:\mount_1