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).
Konfirmasi bahwa ada entri tns dengan nama SID. File tnsnames.ora berada di
%ORACLE_HOME%\network\adminVerifikasi bahwa entri tns valid dengan menjalankan:
%ORACLE_HOME%\bin\tnsping <SID>
Periksa apakah mode log disetel ke mode Log Arsip:
sql> archive log listJika database dalam mode log tanpa arsip, kembalikan ke mode log arsip:
sql> shutdown immediate; sql> startup mount; sql> alter database archivelog; sql> alter database open;Aktifkan pelacakan blok perubahan database. Jika BCT database dinonaktifkan, waktu pencadangan inkremental akan terpengaruh. Fitur pelacakan perubahan blok 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:
Di konsol pengelolaan appliance, tetapkan Application Details & Settings for Oracle Databases.
Terapkan rencana pencadangan untuk melindungi database.
Masalah umum
SQL*Plus (sqlplus.exe) Oracle 19c terkadang mengalami error di Windows saat menjalankan perintah keluar (Doc ID 2820655.1). Bug ini khusus untuk Windows. Oracle telah mengonfirmasi bahwa masalah ini terjadi di SQL*Plus versi 19.10, 19.11, dan 19.12. Oracle memberikan solusi berikut:
- Gunakan 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 Backup and DR
Untuk memulihkan seluruh database Oracle di lingkungan Windows:
Pasang snapshot cadangan database dari Backup and DR kembali ke server Oracle seperti yang dijelaskan dalam Memasang database Oracle sebagai pemasangan standar.
Tetapkan lingkungan database dan mulai database dalam status tanpa pemasangan menggunakan file parameter dari volume yang dipasang Backup dan DR (misalnya untuk volume database yang dipasang ke E:):
sqlplus / as sysdba sql> startup nomount pfile='E:\<sid>___backup.ora';Buat 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 di-mount Backup and DR:
rman target / rman> restore controlfile from 'E:\cf-D_<sid>-id_<id>.ctl';Pasang database:
rman> alter database mount;Buat katalog file data dan folder file arsip dari volume yang terpasang Backup dan DR ke RMAN:
rman> run { catalog start with 'E:\datafile' noprompt; catalog start with 'E:\archivelog' noprompt; }Memulihkan dan memulihkan database:
rman> run { restore database; recover database; }Buka database dengan opsi log reset:
rman> alter database open resetlogs;
Memulihkan database Oracle di lingkungan Windows secara manual menggunakan RMAN ke titik pencadangan terjadwal dengan roll-forward archivelog yang dilindungi Backup and DR
Pasang cadangan dari server database sumber untuk dipulihkan. Pasang snapshot cadangan dari Backup and 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 terpasang di Backup and DR. Dalam contoh ini, cadangan database dipasang di: E:\ dan log arsip yang dilindungi dipasang di: Z:.
sqlplus / as sysdbastartup nomount pfile='E:\<sid>___backup.ora';Buat 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 cadangan log arsip yang di-mount Backup and DR:
```rman rman target / rman> restore controlfile from 'Z:\cf-D_<sid>-id_<id>.ctl'; ```Pasang database:
```rman rman> alter database mount; ```Buat katalog folder file data dan archivelog dari cadangan database yang di-mount dan cadangan log arsip Backup and DR ke RMAN:
```rman rman> run { catalog start with 'E:\datafile' noprompt; catalog start with 'E:\archivelog' noprompt; catalog start with 'Z:\archivelog' noprompt; } ```Memulihkan dan memulihkan database:
```rman rman> run { restore database; recover database; } ```Untuk menjalankan 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 log reset:
```rman rman> alter database open resetlogs; ```Database tersedia untuk baca dan tulis.
Skrip Watch untuk memantau pemasangan volume database
Jika membuat pemasangan yang kompatibel dengan aplikasi, Anda dapat menggunakan skrip pengamatan untuk menampilkan volume yang dipasang dari Backup and DR, dan proses Oracle yang berjalan. Pemasangan yang kompatibel dengan aplikasi dijelaskan dalam Memasang Database Oracle sebagai Aplikasi Virtual.
Saat melakukan pemasangan yang kompatibel dengan aplikasi, Anda dapat menggunakan skrip watch ini. Lokasi skrip harus: C:\Program Files\Backup and DR\scripts. Skrip yang berjalan 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