Sebelum memulai
Sebelum Anda dapat menemukan, melindungi, dan memasang database Oracle di lingkungan Windows, pastikan untuk memeriksa hal berikut:
Periksa setelan berikut di server database:
Database Oracle dan Oracle Listener sudah aktif dan berjalan (periksa layanan Windows).
Pastikan ada entri tns dengan nama SID. File tnsnames.ora berada di
%ORACLE_HOME%\network\admin
Verifikasi bahwa entri tns valid dengan menjalankan:
%ORACLE_HOME%\bin\tnsping <SID>
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;
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:
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:
Pasang snapshot cadangan database dari Pencadangan dan DR kembali ke server Oracle seperti yang dijelaskan dalam Memasang database Oracle sebagai pemasangan standar.
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';
Membuat spfile dari pfile:
sql> create spfile='%ORACLE_HOME%\database\spfile<sid>.ora' from pfile='E:\<sid>___backup.ora';
Mulai database dengan spfile dalam status
nomount
:sql> shutdown immediate; sql> startup nomount;
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';
Pasang database:
rman> alter database mount;
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; }
Pulihkan dan pulihkan database:
rman> run { restore database; recover database; }
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
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.
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';
Membuat spfile dari pfile:
sql> create spfile='%ORACLE_HOME%\database\spfile<sid>.ora' from pfile='E:\<sid>___backup.ora';
Mulai database dengan spfile dalam status nomount:
```sql shutdown immediate; startup nomount; ```
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'; ```
Pasang database:
```rman rman> alter database mount; ```
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; } ```
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')"; } ```
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