6. Enable Observer dan Fast-Start Failover
4.5.5 Konfigurasi Role Transition
4.5.5.2 Failover pada Physical Standby Database
Konfigurasi untuk membuat physical standby database melakukan
failover dapat dilakukan dengan langkah-langkah sebagai berikut.
1. M emeriksa jenis proteksi yang sedang digunakan. Lakukan query V$DATABASE untuk melihat tipe data protection yang sedang berjalan
SQL> SELECT PROTECTION_MODE, PROTECTION_LEVEL FROM V$DATABASE;
Gambar 4.53 Periksa Mode Proteksi
Jika jenis proteksi yang sedang digunakan adalah M AXIM IZE PROTECTION atau M AXIMIZE AVAILABILITY dengan LGWR maka tidak perlu untuk memeriksa gap yang ada pada redo log file dan menuju ke langkah nomor 2.
Jika jenis proteksi yang sedang digunakan adalah M AXIM IZE PERFORM ANCE maka perlu dilakukan langkah-langkah berikut sebelum masuk ke tahap selanjutnya.
a. Periksa apakah ada gap di redo log pada standby database melalui query bagian V$ARCHIVE_GAP
SQL> SELECT THREAD#, LOW_SEQUENCE#, HIGH_SEQUENCE# FROM V$ARCHIVE_GAP;
Gambar 4.54 Periksa Archive Gap
Bagian V$ARCHIVE_GAP berisi nomor sequence dari
archived redo log yang diketahui hilang pada masing-masing thread. Nilai data yang ditampilkan hanya menampakkan
bagian gap yang tertinggi saja.
b. Jika ada redo log yang memiliki gap dan situasinya masih memungkinkan, salin semua archived redo log yang teridentifikasi hilang dari primary database ke standby database c. Daftarkan kembali redo log tersebut. Hal ini harus dilakukan
untuk setiap masing-masing thread.
SQL> ALTER DATABASE REGISTER PHYSICAL LOGFILE 'namafile';
d. Langkah a, b dan c harus dilakukan terus menerus hingga gap yang ada terselesaikan (tidak ada baris yang muncul dari query
SQL> SELECT THREAD#, LOW_SEQUENCE#, HIGH_SEQUENCE# FROM V$ARCHIVE_GAP; e. Pastikan kembali bahwa tidak ada archived redo log yang hilang
di standby database dengan melakukan query pada bagian V$ARCHIVED_LOG.
SQL> SELECT UNIQUE THREAD# AS THREAD, MAX(SEQUENCE#) OVER (PARTITION BY
THREAD#) AS LAST FROM V$ARCHIVED_LOG;
Gambar 4.55 Periksa Archived Redo Log yang Hilang
Bagian query di atas akan memberikan hasil nomor sequence tertinggi untuk masing-masing thread. Jika ada nomor sequence archived redo
log di primary database yang lebih tinggi dari nomor sequence archived redo log di standby database, maka redo log tersebut harus
disalin dan didaftarkan sesuai langkah b dan c di atas.
2. Inisialisasi failover dan matikan semua proses Remote File Server
(RFS) yang sedang aktif pada physical standby database.
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE FINISH FORCE;
Gambar 4.56 Mematikan Proses RFS pada Standby Database
3. Lakukan konversi pada physical standby database agar memiliki
primary role.
SQL> ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY;
Gambar 4.57 Konversi pada Physical Standby Database agar Memiliki Primary Role
Setelah perintah ini dijalankan, standby database akan mengalami perubahan menjadi primary role. Selama proses failover berlangsung,
redo log yang terdapat pada standby database akan secara otomatis di-archive dan di-recover dari primary database yang terdahulu.
4. Periksa apakah physical standby database dalam mode READ-ONLY. Jika dalam kondisi terbuka pada mode READ-ONLY, maka database tersebut harus dimatikan. Hanya standby database yang terlibat dalam proses failover saja yang harus dimatikan.
SQL> SHUTDOWN IMMEDIATE;
Jika dalam kondisi M OUNT, maka buka physical standby database tersebut.
SQL> ALTER DATABASE OPEN;
5. Lakukan backup pada primary database yang baru saja terbentuk ini.
6. Untuk kondisi standby database yang sedang dalam kondisi mati, dapat dinyalakan dengan query :
Pada posisi ini, standby database yang sebelumnya memegang standby
role sekarang telah memiliki primary role dan menjadi primary database. Semua standby database sekarang mulai menerima dan men-apply redo data dari primary database yang baru.
7. Primary database yang berada dalam kondisi rusak dapat diperbaiki dan menjadi sebuah standby database yang baru. Primary database dapat diperbaiki dengan menggunakan beberapa metode antara lain :
a. M enggunakan flashback database untuk mengembalikan
primary database ke posisi sebelum terjadinya kerusakan atau
gangguan tersebut dan setelah itu dapat dikonversi menjadi
standby database (dengan catatan pengaturan konfigurasinya
telah memungkinkan flashback database pada primary database tersebut sebelum terjadinya gangguan / kerusakan).
b. M embuat ulang database yang rusak dan menjadikannya sebagai standby database yang baru dengan menggunakan salinan backup dari primary database yang baru.
c. M enggunakan Oracle Enterprise Manager atau perintah DGM GRL seperti REINSTATE DATABASE untuk kembali membuat ulang primary database yang rusak sebagai sebuah
standby database (dengan catatan pengaturan konfigurasinya
telah memungkinkan flashback database pada primary database tersebut sebelum terjadinya gangguan / kerusakan).
Alur konfigurasi pengaturan failover pada physical standby database dapat diwakilkan oleh diagram berikut :
F ailover pada physical standby D B
C ek prot ection
mod e
Maximize Pro tection atau
MAXIMIZ E AVAILABILITY d engan LGWR Ma ximize
Perfor mance
C opy gap r edo log yang te ridentifikasi ke Standby D B dan
lakukan R egiste r deng an ALT ER DAT ABASE REGISTER PHYSIC AL LOGF ILE ‘namafile’
Initiate failover & matika n pro ses yang sedan g aktif pada ph ysica l standb y D B denga n ALTER DAT ABASE RECOVER
MAN AGED STAN DBY D AT ABASE FI NISH F ORCE
Konver sikan physical standby D B ke primar y role ALT ER D ATABASE COMM IT T O
SWIT CHOVER T O PRIMAR Y
Shutdo wn IMM EDIAT E physical stan dby DB
START UP p hysica l
standb y D B
Restor e pr ima ry datab ase lama yang r usak dengan F LASHBACK, DGMGRL
a tau re -crea te ulang
Ce k ad a Gap di red o lo g standby DB de ngan
Query V$AR CHIVE_ GAP
Cek apa kah masih ada gap redo log deng an Query V$AR CHI VE_ GAP Ya
tidak
Cek r edo log deng an sequence ter tinggi di
standby DB d engan q uery V$ARC HIVED _LOG
Cek apakah a da
redo log di p rimar y yang seq uencenya
lebih tinggi dar i stan dby DB
C opy redo log tersebut ke stan dby DB dan r egister kemb ali deng an
ALT ER D ATABASE REGIST ER PHYSIC AL LOGFILE ‘nam afile’ ya
tida k
Query V$AR CHIVE_GAP da n pastikan tida k ad a gap an tara r edo log d i standb y D B
Ce k ap aka h physical
sta ndby DB ter buka Ya
Buka physical standby D B denga n ALTER
DAT ABASE OPEN
tidak Backup new pr imary
data base
Backup new pr imary dat abase
Ne w p rim ary da tab ase sia p d igu na kan OPT IONAL FAILOV ER PA DA
PHYS ICAL STANDB Y DATABAS E