Memulihkan database Oracle

Memulihkan database menggunakan konsol pengelolaan

Memulihkan ke database asli akan menggantikan data aplikasi produksi asli dengan image point-in-time yang ditentukan. Pemulihan ini akan menyebabkan hilangnya semua data aplikasi saat ini karena aplikasi dipulihkan ke statusnya pada saat gambar dibuat. Operasi ini tidak dapat diurungkan. Jumlah waktu yang diperlukan untuk menyelesaikan operasi pemulihan bergantung pada jumlah data yang terlibat. Anda juga dapat memulihkan database ke target lain.

Gunakan petunjuk ini untuk memulihkan database Oracle menggunakan RMAN secara otomatis dari konsol pengelolaan, dengan mengganti database produksi asli.

  1. Buka konsol pengelolaan ke Pengelola Aplikasi dan masukkan nama aplikasi database atau gunakan filter untuk menemukan image database yang Anda butuhkan.

  2. Klik kanan aplikasi, lalu pilih Akses.

  3. Di halaman Akses, pilih gambar, lalu klik Pulihkan di bagian menu Pasang.

  4. Di halaman Restore, pilih Traditional (bukan Mount and Migrate).

  5. Gunakan penggeser Rentang Pemulihan untuk memilih titik waktu tertentu guna memulihkan database. Geser alat penggeser sepenuhnya ke kiri untuk memulihkan hanya database tanpa menerapkan log.

  6. Di Username, masukkan pemilik software Oracle di server target yang dipilih.

  7. Untuk Number of Channels, tentukan jumlah saluran RMAN untuk mengonfigurasi paralelisme untuk pemulihan database.

  8. Klik Kirim.

  9. Dialog peringatan akan muncul. Baca, lalu masukkan DATA LOSS untuk mengonfirmasi.

  10. Pekerjaan diantrekan untuk slot pekerjaan berikutnya yang tersedia. Anda dapat melihat progres dari Monitor Tugas.

Memulihkan database ke target mana pun menggunakan konsol pengelolaan

Gunakan petunjuk ini untuk memulihkan database Oracle ke target baru, menggunakan RMAN dari konsol pengelolaan.

  1. Dari daftar Pengelola Aplikasi > Aplikasi, klik kanan database dan pilih Akses.
  2. Pilih gambar cadangan yang akan dipulihkan, lalu pilih Pulihkan.
  3. Di halaman Pulihkan, pilih Tradisional.

    • Target: Untuk semua konfigurasi, semua server database Oracle yang memenuhi syarat tersedia untuk dipilih dari menu drop-down. Pilih server target untuk pemulihan dari drop-down.
    • Ganti identitas Aplikasi Asli: Opsi ini hanya tersedia saat memulihkan ke server baru di appliance yang sama tempat cadangan dibuat.
    • Ya: Aplikasi ini menggantikan aplikasi asli dan memiliki ID aplikasi, histori tugas, gambar cadangan, dan paket pencadangan yang sama dengan aplikasi asli.
    • Tidak: Aplikasi ini tidak menggantikan aplikasi asli. Database baru akan ditemukan sebagai aplikasi baru sebagai bagian dari tugas Pemulihan.
    • Waktu maju: Pilih tanggal dan waktu untuk database yang dilindungi dengan log untuk dipulihkan ke titik waktu yang diperlukan.
    • Opsi Aplikasi:

      • DATABASESID: Kolom ini telah diisi sebelumnya dengan nama SID database yang dilindungi dan tidak dapat diubah.
      • USERNAME: Kolom ini telah diisi sebelumnya dengan pemilik software Oracle database sumber. Perbarui USERNAME jika pemilik software Oracle di server target yang dipilih berbeda.
      • ORAHOME: Kolom ini telah diisi sebelumnya dengan jalur Oracle Home database sumber. Perbarui direktori Oracle Home jika Oracle Home berbeda di server target yang dipilih.
      • Opsi Lanjutan: Opsi ini sudah terisi dan menampilkan semua setelan parameter database (dari pfile) di sumber pada waktu pencadangan. Pastikan nilai parameter sudah benar untuk server database target (sumber atau target baru) untuk pemulihan.
  4. Opsi Pemetaan:

    • Target Database Type: Pilih jenis target database (grup disk ASM atau sistem file) untuk database dari menu drop-down. Jenis target sistem file tidak didukung untuk image cadangan dalam format ASM.

      Database Sumber Format gambar cadangan Target Pemulihan
      ASM ASM ASM
      ASM Sistem file ASM
      Sistem file Sistem file Sistem file
    • Pilih pemetaan sistem file dan grup disk ASM target untuk tiga jenis file: file data, file kontrol, dan file redo untuk database dari daftar drop-down.

  5. Klik Pre-Flight Check. Jika pemeriksaan pra-peluncuran gagal, perbaiki masalahnya dan jalankan pemeriksaan pra-peluncuran lagi.

  6. Klik Kirim untuk mengirimkan tugas pemulihan.

Memulihkan database Oracle secara manual menggunakan RMAN

Untuk memulihkan database Oracle secara manual, lihat prosedur berikut.

Non-RAC, Non-ASM, Sistem File

Memulihkan database Oracle dengan file data di sistem file dan dilindungi dalam format disk penahapan berbasis file

  1. Pasang image dari database sumber yang dilindungi.

    Di jendela Mount, Mapping Options, berikan lokasi pemasangan untuk gambar, misalnya: /acttestdb. Untuk mengetahui petunjuk cara memasang image database, lihat Memasang image database Oracle yang dilindungi di bawah sistem file untuk akses data.

    Image cadangan database dipasang di: /acttestdb

    Log arsip yang dilindungi dipasang di: /acttestdb_Log

  2. Tetapkan lingkungan Oracle dan gunakan sqlplus untuk mematikan database:

    sqlplus / as sysdba
    sql> shutdown immediate;
    

    Pastikan database dimatikan. Akhiri semua proses yang tersisa untuk database.

    ps -ef | grep database sid
    
  3. Mulai database dalam status nomount menggunakan file parameter cadangan dari volume yang terpasang. File parameter pencadangan berada di folder yang dipasang di atas, misalnya /acttestdb

  4. Tetapkan lingkungan Oracle dan gunakan sqlplus untuk memulai database:

    sqlplus / as sysdba
    sql> startup nomount pfile='/acttestdb/database sid___backup.ora';
    
  5. Buat spfile baru dari pfile yang ada dan mulai ulang database.

    Buat spfile dari pfile:

    create spfile='$ORACLE_HOME/dbs/spfile_database sid.ora' from pfile='/acttestdb/database sid___backup.ora';
    

    Mulai ulang database dengan spfile dalam status nomount:

    shutdown immediate;
    startup nomount;
    
  6. Pulihkan file kontrol menggunakan RMAN dari image log arsip yang di-mount Backup dan DR. Gunakan file kontrol terbaru dari image yang dipasang log, misalnya:

    /acttestdb_Log/cf D_sid-id_Target SID.ctl
    

    atau jika ada lebih dari satu gambar log:

    /acttestdb_Log_1/cf-D_sid-id_Target SID.ctl

       rman target /
       restore controlfile from '/acttestdb_Log_1/cf-D_<var>sid</var>-id_<var>id</var>.ctl' ;
    
  7. Pasang database:

       alter database mount;
    
  8. Buat katalog folder file data dan archivelog dari image database yang di-mount Backup and DR dan image log arsip ke RMAN:

       run {
         catalog start with '+acttestdg/db_name/datafile' noprompt;
         catalog start with '+acttestdg/db_namearchivelog' noprompt;
         catalog start with 'mountpoint_log' noprompt;
         }
    
  9. Memulihkan dan memulihkan database:

      run { restore database ; recover database; }
    

    Untuk pemulihan point-in-time tertentu menggunakan format yyyymmddhh24mi:

       run
        {
        restore database;
        recover database until time "to_date('timestamp','yyyymmddhh24mi')";
        }
    
  10. Buka database dengan opsi log reset.

    • Untuk pemulihan database utama:

      alter database open resetlogs;
      
    • Untuk pemulihan database standby Data Guard, mulai proses pemulihan yang dikelola Data Guard:

      alter database recover managed standby database nodelay disconnect;
      

    Database tersedia untuk baca dan tulis.

RAC atau ASM Mandiri, Sistem File

Memulihkan database Oracle dengan file data di grup disk ASM dan dilindungi dalam format disk penahapan berbasis file

  1. Pasang image dari database sumber yang dilindungi.

    Di jendela Mount di bagian Mapping Options, berikan lokasi pemasangan untuk gambar, misalnya: /acttestdb. Untuk mengetahui petunjuk tentang cara memasang image database, lihat Memasang Image Database Oracle yang Dilindungi di Bawah Sistem File untuk Akses Data.

    Image cadangan database dipasang di lokasi pemasangan: /acttestdb

    Log arsip yang dilindungi dipasang di:/acttestdb_Log

  2. Nonaktifkan database Oracle. Dari node 1, beralihlah ke pengguna OS Oracle:

    su - oracle

    Tetapkan lingkungan Oracle dan gunakan srvctl untuk menghentikan database di semua node:

    srvctl stop database -d <var>database_name</var>

    Verifikasi bahwa database telah dimatikan (semua node). Akhiri semua proses yang tersisa untuk database.

    ps -ef | grep <var>database_name</var>

  3. Mulai database dalam status tidak terpasang menggunakan file parameter cadangan dari volume yang terpasang. File parameter pencadangan berada di folder yang dipasang di bagian atas, misalnya di /acttestdb

  4. Tetapkan lingkungan Oracle dan gunakan sqlplus untuk memulai database:

    sqlplus / as sysdba
    startup nomount pfile='/acttestdb/<var>database_name</var>___backup.ora';
    
  5. Buat spfile baru dan mulai ulang database.

    Untuk mendapatkan jalur spfile asli di bawah grup disk:

    cat $ORACLE_HOME/dbs/init{database sid}.ora

    Misalnya: spfile=+{preferred disk group}/db_name/spfiledb_name.ora`

      create spfile='+{preferred disk group}/{db name}/spfile<var>db_name</var>.ora' from pfile='/acttestdb/<var>db_name</var>___backup.ora';
    

    Mulai ulang database dengan spfile dalam status nomount:

      shutdown immediate;
      startup nomount;
    
  6. Pulihkan file kontrol menggunakan RMAN dari image log arsip yang di-mount Backup dan DR. Gunakan file kontrol terbaru dari image yang dipasang log, misalnya:

    /acttestdb_Log/cf-D_<var>db_name</var>-id_<var>db_id</var>.ctl
    

    atau jika Anda memiliki lebih dari satu gambar log:

    /acttestdb_Log_1/cf-D_<var>db_name</var>-id_<var>db_id</var>.ctl
    
       target /
       restore controlfile from '/acttestdb_Log_1/cf-D_<var>db_name</var>-id_<var>db_id</var>.ctl' ;
       ```
    
  7. Pasang database:

     alter database mount;
    
  8. Buat katalog folder file data dan archivelog dari image database yang di-mount dan image log arsip Backup and DR ke RMAN:

     run { catalog start with '/acttestdb/datafile' noprompt;
     catalog start with '/acttestdb/archivelog' noprompt;
     catalog start with '/acttestdb_Log' noprompt;}
    
  9. Memulihkan dan memulihkan database:

     run { restore database ; recover database; }
    

    Untuk pemulihan point-in-time tertentu menggunakan format yyyymmddhh24mi:

     run
     {
     restore database;
     recover database until time "to_date('<var>timestamp</var>','yyyymmddhh24mi')";
     }
    
  10. Buka database dengan opsi log reset.

    • Untuk pemulihan database utama:
    alter database open resetlogs;
    

    Konfigurasi RAC memerlukan langkah lain setelah reset log: Matikan database di node 1 dan mulai database di semua node.

    Gunakan sqlplus untuk mematikan database:

      sqlplus / as sysdba
      shutdown immediate;
      ```
    Use srvctl to start the database across all nodes:
    
     ```srvctl
      srvctl start database -d <var>database_name</var>
      ```
    + For Data Guard standby database recovery:
    
      + For non-RAC config: Start the Data Guard managed recovery process
    
          ```rman
          alter database recover managed standby database nodelay disconnect;
          ```
    
      + For RAC config: Shut down the database on node 1 and start the
        database in mounted state across all nodes.
    
         1. Use sqlplus to shut down the database:
    
              ```sqlplus
              / as sysdba
              shutdown immediate;
              ```
    
         1. Use srvctl to start the database in a mount state across all
            nodes:
    
             ```srvctl
             srvctl start database -d <var>database_name</var> -o mount
             ```
    
         1. Start the Data Guard managed recovery process:
    
             ```rman
             alter database recover managed standby database nodelay disconnect;
             ```
    

Database tersedia untuk baca dan tulis.

RAC atau ASM Mandiri, Grup Disk ASM

Memulihkan database Oracle dengan file data di grup disk ASM dan dilindungi dalam format disk penahapan grup disk ASM

  1. Pasang image dari database sumber yang dilindungi. Di jendela Mount, berikan grup disk pilihan untuk pemasangan image di bagian ASM di RAC Node 1. Untuk mengetahui detail cara memasang image database, lihat Memasang Image Database Oracle yang Dilindungi di Bawah Grup Disk ASM untuk Akses Data.

    Misalnya, di layar pemasangan:

    • Pilih Host: Server database node 1 RAC

    • Preferred disk group: acttestdg

    • Daftar node RAC: IP node RAC 1

      File parameter pencadangan disalin di /act/touch/<var>preferred_disk_group</var>/, misalnya:

      /act/touch/acttestdg/<var>database_name</var>___backup.ora

  2. Nonaktifkan database Oracle.

    Dari node 1, beralihlah ke pengguna OS Oracle:

     su - oracle
    

    Tetapkan lingkungan Oracle. Gunakan srvctl untuk menghentikan database di semua node:

     srvctl stop database -d <var>database_name</var>
    

    Pastikan database dimatikan (di semua node). Akhiri proses yang tersisa untuk database.

    ps -ef | grep <var>db_name</var>
    
  3. Mulai database dalam status tidak terpasang menggunakan file parameter cadangan yang disalin di /act/touch/acttestdg.

  4. Tetapkan lingkungan Oracle. Gunakan sqlplus untuk memulai database:

    ```sqlplus
    / as sysdba
    startup nomount pfile='/act/touch/acttestdg/<var>db_name</var>___backup.ora';
    ```
    
  5. Buat spfile baru dan mulai ulang database.

    Untuk mendapatkan jalur spfile asli di bawah grup disk:

     ```sqlplus
     cat $ORACLE_HOME/dbs/init(database sid).ora
     ```
    

    Misalnya: spfile=+preferred disk group/db_name/spfiledb_name.ora

         create spfile='+<var>preferred disk group</var>/<var>db_name</var>/spfile<var>db_name</var>.ora' from pfile='/act/touch/acttestdg/<var>db_name</var>___backup.ora';
    

    Mulai ulang database dengan spfile dalam status nomount:

     ```sql
     shutdown immediate;
     startup nomount;
     ```
    
  6. Pulihkan file kontrol menggunakan RMAN dari image log arsip yang di-mount Backup dan DR. Gunakan file kontrol terbaru dari Log image yang di-mount, misalnya:
    /acttestdb_Log/cf-D_<var>db_name</var>-id_<var>db_id</var>.ctl atau jika ada lebih dari satu image log:
    /acttestdb_Log_1/cf-D_<var>db_name</var>-id_<var>db_id</var>.ctl

     ```rman
     rman target /
     restore controlfile from '/acttestdg_Log_1/cf-D_<var>db_name</var>-id_<var>db_id</var>.ctl' ;
     ```
    
  7. Pasang database:

     ```rman
     alter database mount;
     ```
    
  8. Buat katalog folder file data dan archivelog dari image database yang di-mount dan image log arsip Backup and DR ke RMAN:

     ```rman
     run { catalog start with '+acttestdg/<var>db_name</var>/datafile' noprompt;
     catalog start with '+acttestdg/<var>db_name</var>/archivelog' noprompt;
     catalog start with '/acttestdg_Log' noprompt;}
     ```
    
  9. Memulihkan dan memulihkan database:

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

    Untuk menjalankan pemulihan titik waktu tertentu, jalankan perintah pemulihan seperti di bawah:

     ```rman
     run
     {
     restore database;
     recover database until time "to_date('<var>timestamp</var>','yyyymmddhh24mi')";
     }
     ```
    
  10. Buka database dengan opsi log reset.

    • Untuk pemulihan database utama:

       alter database open resetlogs;
      

      Konfigurasi RAC memerlukan langkah lain: Setelah log reset, matikan database di node 1 dan mulai database di semua node. Gunakan sqlplus untuk mematikan database:

       / as sysdba
       shutdown immediate;
      

      Gunakan srvctl untuk memulai database di semua node:

       start database -d <var>database_name</var>
      
    • Untuk pemulihan database standby Data Guard:

      • Untuk konfigurasi non-RAC: Mulai proses pemulihan terkelola Data Guard:

        alter database recover managed standby database nodelay disconnect;
        
      • Untuk konfigurasi RAC: Nonaktifkan database di node 1 dan mulai database dalam status ter-mount di semua node.

        1. Gunakan sqlplus untuk mematikan database:

          as sysdba
          shutdown immediate;
          
        2. Gunakan srvctl untuk memulai database dalam status pemasangan di semua node:

          start database -d <var>database_name</var> -o mount
          
        3. Mulai proses pemulihan yang dikelola Data Guard:

          alter database recover managed standby database nodelay disconnect;
          

    Database tersedia untuk baca dan tulis.

Memulihkan tablespace dan file data Oracle

Untuk memulihkan file data tablespace tunggal, misalnya, karena kerusakan data:

  1. Pasang snapshot database terbaru dari appliance pencadangan/pemulihan kembali ke server Oracle.

  2. Buat katalog snapshot cadangan database ke RMAN.

  3. Pulihkan dan pulihkan tablespace menggunakan snapshot cadangan seperti yang dijelaskan di sini.

Memulihkan satu tablespace database produksi di Grup Disk ASM

Untuk memulihkan satu tablespace database produksi ke node utama:

  1. Pasang snapshot database pada titik waktu seperti yang dijelaskan dalam Memasang database Oracle sebagai pemasangan standar.

  2. Di jendela Mount di bagian Mapping Options, berikan lokasi pemasangan untuk image. Misalnya, untuk image di grup disk ASM, berikan nama grup disk di bagian Grup Disk Pilihan dan untuk image di sistem file, berikan lokasi pemasangan seperti /acttestdb.

  3. Dari node utama, login ke server database sebagai pengguna OS Oracle.

  4. Tetapkan lingkungan database dan login ke RMAN:

    rman target /
    
  5. Di prompt RMAN, katalogkan file data cadangan dan folder log arsip:

    Contoh: Image database yang dilindungi di bawah ASM Disk Group: (Nama ASM Disk Group yang di-mount " + acttestdg"):

    ```rman
    catalog start with '+acttestdg/<var>db_name</var>/datafile' noprompt;
    catalog start with '+acttestdg/<var>db_name</var>/archivelog' noprompt;
    catalog start with &#8216;/<var>mountpoint_log</var>'; noprompt;
    (If archivelogs are protected by Backup and DR)
    ```
    

    Contoh: Image database yang dilindungi di bawah sistem file (nama sistem file yang di-mount "/acttestdb"):

    ```rman
    catalog start with '/acttestdb/datafile' noprompt;
    catalog start with '/acttestdb/archivelog'
    noprompt;
    catalog start with '/acttestdb_log/archivelog' noprompt;
    ```
    
    (If archivelogs are protected by Backup and DR)
    

    Sekarang Anda dapat menjalankan semua perintah pemulihan RMAN, seperti:

  6. Setelah selesai, lepaskan dan hapus gambar.

Memulihkan ruang tabel

Untuk memulihkan tablespace:

    ```rman
    restore tablespace <var>tablespace name</var>;
    recover tablespace <var>tablespace name</var>;
    ```

Memulihkan file data

Untuk memulihkan file data:

    ```rman
    restore datafile <var>file#</var>;
    recover datafile <var>file#</var>;
    ```

Memulihkan blok database yang rusak

Untuk memulihkan blok database yang rusak:

  1. Pasang snapshot database pada titik waktu seperti yang dijelaskan dalam Memasang database Oracle sebagai pemasangan standar.

  2. Di jendela Mount, Mapping Options, berikan lokasi pemasangan untuk gambar. Misalnya, untuk image dalam grup disk ASM, berikan nama grup disk di bagian Grup Disk Pilihan dan untuk image dalam sistem file, berikan lokasi pemasangan, misalnya: /acttestdb.

  3. Dari node utama, login ke server database sebagai pengguna OS Oracle.

  4. Tetapkan lingkungan database dan login ke sqlplus, lalu kueri v$database_block_corruption untuk memeriksa blok yang rusak:

    ```sh
    sqlplus / as sysdba
    sql> SELECT * FROM V$DATABASE_BLOCK_CORRUPTION;
    ```
    
  5. Login ke RMAN untuk memulihkan semua blok yang rusak:

    ```rman
    rman target /
    RECOVER CORRUPTION LIST;
    ```
    

    Setelah blok dipulihkan, database akan menghapusnya dari V$DATABASE_BLOCK_CORRUPTION.

  6. Untuk memulihkan satu blok yang rusak (misalnya: datafile 8 dan blok 13):

    Dari prompt RMAN

    ```rman
    recover datafile 8 block 13;
    ```
    

Memulihkan file kontrol yang hilang

Untuk memulihkan file kontrol yang hilang:

  1. Pasang snapshot point-in-time database seperti yang dijelaskan dalam Memasang database Oracle sebagai pemasangan standar.

  2. Di jendela Mount, Mapping Options, berikan lokasi pemasangan untuk gambar. Misalnya, untuk image di bawah grup disk ASM, berikan nama grup disk di bagian Grup Disk Pilihan dan untuk image di bawah sistem file, berikan lokasi pemasangan seperti /acttestdb.

  3. Dari node utama, login ke server database sebagai pengguna OS Oracle.

  4. Tetapkan lingkungan database dan login ke sqlplus, lalu nonaktifkan database dan mulai dalam status nomount:

    Untuk database mandiri:

    ```sql
    sqlplus / as sysdba
    sql> shutdown immediate;
    sql> startup nomount;
    ```
    

    Untuk database RAC dari node image yang di-mount, matikan database di semua node:

    ```sh
    srvctl stop database -d <var>db_name</var>
    sql> startup nomount;
    ```
    
  5. Pulihkan file kontrol dari image yang terpasang di Cadangan dan DR.

    Misalnya: /acttestdb (sistem file) dan +acttestdg (untuk ASM)

    ```rman
    rman target /
    restore controlfile
    from '/acttestdb/cf-D_<var>db_name</var>-id_<var>db_id</var>.ctl' ; (Filesystem
    mount)
    restore controlfile
    from '+acttestdb/cf-D_<var>db_name</var>-id_<var>db_id</var>.ctl' ; (ASM
    mount)
    ```
    
  6. Pasang dan buka database dari sqlplus:

    ```sql
    sqlplus / as sysdba
    sql> alter database mount;
    sql> recover database until cancel;
    sql> alter database open resetlogs;
    ```
    

Memulihkan database pluggable Oracle

Untuk memulihkan database yang dapat dicocokkan (PDB) Oracle 12c atau yang lebih baru:

  1. Pasang image dari server database sumber untuk memulihkan. Di jendela Mount, berikan grup disk pilihan untuk pemasangan image di bawah ASM di RAC Node 1. Untuk mengetahui detail cara memasang image database, lihat Memasang image database Oracle yang dilindungi dalam Grup Disk ASM untuk akses data.

  2. Tutup database yang dapat di-plug:

    1. Dari Node 1, su ke Pengguna Oracle

      su - oracle
      
    2. Tetapkan lingkungan Oracle. Hubungkan ke database Oracle sebagai pengguna "sysdba":

         / as sysdba
         alter pluggable database <var>pluggable_db_name</var> close;
      
  3. Buat katalog folder file data dan archivelog dari image database yang di-mount dan image log arsip Backup and DR ke RMAN:

        run { catalog start with '+acttestdg/<var>db_name</var>/datafile' noprompt;
        catalog start with '+acttestdg/<var>db_name</var>/archivelog' noprompt;
        catalog start with '/acttestdg_Log' noprompt;
        }
    
  4. Memulihkan dan memulihkan database yang dapat di-plug

        run
        {
        restore pluggable database <var>pluggable_db_name</var>;
        recover pluggable database <var>pluggable_db_name</var> until time "to_date('<var>required time stamp</var>>';,';yyyymmddhh24mi')";
        }
    
  5. Buka database yang dapat di-plug:

        alter pluggable database <var>pluggable_db_name</var> open;
    

Database yang dapat di-plug terbuka untuk baca dan tulis.

Panduan DBA Oracle