Flashback Veritabanı ile OPEN RESETLOGS İşlemi Nasıl Geri Alınır?

Merhaba,

“ALTER DATABASE OPEN RESETLOGS” komutu çalıştırıldıktan sonra Flashback Database ile veritabanımızı “OPEN RESETLOGS” öncesine geri sarabiliriz. Yanlışlıkla çalıştırılan bu komutun bir geri dönüşü var. Elbette bu komutu çalıştırmadan önce mutlaka flashback database özelliğini aktif etmiş olmanız gerekmektedir. Yoksa geçmiş olsun : ) Geri dönebilmek için “FLASHBACK DATABASE TO BEFORE RESETLOGS”  cümlesini kullanacağız.

“OPEN RESETLOGS ” işlemini geri almak için:

1. Veritabanına SQL*Plus ile bağlanalım ve flashback window’unun son OPEN RESETLOGS işlem zamanından önce olup olmadığını doğrulayalım. Bunun için aşağıdaki sorguları çalıştıralım.

SELECT RESETLOGS_CHANGE#
FROM V$DATABASE;

SELECT OLDEST_FLASHBACK_SCN
FROM V$FLASHBACK_DATABASE_LOG;

Eğer ilk sorgudaki RESETLOGS_CHANGE# kolonunun değeri, ikinici sorgudaki OLDEST_FLASHBACK_SCN kolununun değerinden büyük ise ozaman OPEN RESETLOGS  işlemini geri almak için Flashback Database özelliğini kullanabiliriz demektir. Aşağıdaki gibi devam edelim.

2. Veritabanını kapatalım

SHUTDOWN IMMEDIATE;

3. Mount moduna alalım

STARTUP MOUNT;

4. Flashback window’u tekrar kontrol edelim. Resetlogs SCN numarası bu zaman dilimi içindeyse sorun yok devam edebiliriz.

RMAN’e bağlanalım.
rman target /

5. Aşağıdaki komutla OPEN RESETLOGS öncesine veritabanımızı geri saralım.

FLASHBACK DATABASE TO BEFORE RESETLOGS;

FLASHBACK DATABASE özelliğini yukarıdaki komuttan farklı bir şekilde (until SCN, until TIME kullanarak) çalıştırırsak dahi ve target SCN numarası flashback veritabanı window’undan önce ise hata alırız ve geri sarma işlemini gerçekleştiremeyiz. komut başarılı tamamlandığında OPEN RESETLOGS işlemi öncesindeki son SCN ‘e geri dönmüşüzdür.

6. Veritabanımızı SQL*Plus ‘a bağlanığ read-only olarak açalım ve birtakım kontrol sorgularımızı çalıştıralım.

ALTER DATABASE OPEN READ ONLY;

7. Herşey yolunda ve istediğimiz gibi ise veritabanını kapatıp, mount moduna alalım. Aşağıdaki gibi OPEN RESETLOGS ile read-write olarak açabiliriz.

ALTER DATABASE OPEN RESETLOGS;

Reklamlar

Primary Olarak Aktif Edilmiş Standby Veritabanını, Flashback ile Geri Alma

Merhaba Arkadaşlar,

Primary veritabanımız ulaşılamaz duruma geldiğinde standby veritabanımızı primary olarak aktif edip hayatımıza devam etmek isteyebiliriz. Bu durumda mutlaka flashback database özelliğini enable yapıp yola devam etmek büyük fayda sağlayabilir.

Örneğin tam standby veritabanını primary olarak aktif ettiniz ve bu esnada da önceki primary veritabanındaki problem çözüldü ve açıldı. Yönetimde önceki primary veritabanı ile devam etme kararı aldığını varsayalım. Bu durumda aktif ettiğimiz standby veritabanını eski haline yani standby veritabanına geri çevirmemiz lazım. Bunun için flashback database özelliğini kullanacağız.

Önce aktif edilen standby veritabanında aşağıdaki sorgu ile standby ‘ın aktif edilme anındaki SCN numarasını öğrenelim;

SQL> SELECT TO_CHAR(STANDBY_BECAME_PRIMARY_SCN) FROM V$DATABASE;

Aktif edilen standby veritabanını kapatıp mount modunda açalım. Ve yukarıdaki gibi öğrendiğimiz SCN numarasına flashback yapalım.

SQL> SHUTDOWN IMMEDIATE;
SQL> STARTUP MOUNT;
SQL> FLASHBACK DATABASE TO SCN standby_became_primary_scn;

Aşağıdaki komutla primary olarak aktif edilen standby veritabanı tekrar standby veritabanına çevirelim.

SQL> ALTER DATABASE CONVERT TO PHYSICAL STANDBY;

Redo transferini başlatmak için aşağıdaki kontrolleri yapalım.

Arşiv gönderilme hedefinin son durumuna aşağıdaki gibi bakalım.

SQL> SELECT DEST_ID, DEST_NAME, STATUS, PROTECTION_MODE, DESTINATION, ERROR,SRL FROM V$ARCHIVE_DEST_STATUS;

Bu arşiv hedefi enable değilse, aşağıdaki gibi enable yapalım.

SQL> ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_n=ENABLE;

Redo ‘nun başarılı iletilip iletilmediğinden emin olduktan sonra, Standby veritabanında redo apply işlemini aşağıdaki gibi başlatabiliriz.

SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT;

Redo apply işlemi role geçişi esnasında oluşan redoya geldiğinde durabilir. Bu durumda paniklemeye gerek yok. Redo apply işlemini, standby ‘ın primary olarak aktif edilme anını geçene kadar bir kaç kere başlatmak gerekebilir.