Restore point oluşturma ve kullanımı
Oracle 11g ve üzeri veritabanlarında flashback aktif durumdayken , kullanabileceğimiz özelliklerden biri olan restore point adın da anlaşılacağı gibi geri dönüş noktası oluşturmaya yaramaktadır. Veritabanımızın flashback özelliği on durumda iken herhangi bir zaman için restore point oluşturup, tekrar o ana dönmek mümkündür.
Özellikle standby veritabanlarının canlı kullanıma alıp testlerimizi yaptıktan sonra eski haline getirip, standby görevine kaldığı yerden devam etmesi için çok faydalı bir özelliktir. Yada uygulamanızın yeni versiyonu deploy edilecektir ve veritabanında ciddi değişiklik gerekiyordur. Değişiklikleri yapmadan önce restore point oluşturup, deploy sonrasında sorun olur da eski versiyona dönmeniz gerekirse veritabanının da eski haline dönmesi gerektiğinden , direkt restore point’e dönmeniz yeterli olacaktır.
Restore point oluşturabilmek için veritabanımızın flashback özelliğinin açık olması gerekiyor.
Flashback durumunun kontrolü için aşağıdaki sorguyu kullanabiliriz.
SQL> select FLASHBACK_ON from v$database; FLASHBACK_ON ------------------ YES
FLASHBACK_ON , YES geldiği takdirde , veritabanımızın flashback özelliği açıktır diyebiliriz. Aksi takdirde aşağıdaki gibi flashback özelliğini açmamız gerekiyor.
SQL> alter database flashback on; Database altered.
Restore point oluşturma ve kullanma
Mevcut restore point’leri v$restore_point görüntüsünden sorgulayabilirsiniz.
Yeni bir restore point oluşturmak için ;
SQL> create restore point before_deployment guarantee flashback database; Restore point created.
Restore point oluşturduğumuzda dikkat etmemiz gereken konu , archivelog dizinimizin yeteri kadar büyük olmasıdır. Yukarıdaki gibi guarantee şeklinde oluşturduğumuzda , bu restore point’e dönmek için gerekli tüm yedek , arşiv log vs gibi dosyalar tutulacak ve silinmeyecektir. Taki biz bu restore point’i drop edene kadar dosyalar tutulacaktır.
SQL> select * from v$restore_point; SCN DATABASE_INCARNATION# GUA STORAGE_SIZE ---------- --------------------- --- ------------ TIME --------------------------------------------------------------------------- RESTORE_POINT_TIME PRE --------------------------------------------------------------------------- --- NAME -------------------------------------------------------------------------------- 1.1834E+13 2 YES 419430400 07-MAR-16 07.29.59.000000000 PM YES BEFORE_DEPLOYMENT
Oluşturduğumuz restore point’e geri dönmek için sırasıyla aşağıdaki komutlar yeterli olacaktır.
shutdown immediate; startup mount; flashback database to restore point BEFORE_DEPLOYMENT; alter database open;
Veritabanımız restore point oluşturduğumuz ana kısa sürede dönmüş olacaktır.
İşimiz bittiğinde mutlaka restore point’i drop etmeliyiz.
SQL> drop restore point BEFORE_DEPLOYMENT; Restore point dropped.
Flashback özelliği ile işimiz olmayacaksa veritabanımızın bu özelliğini de kapatabiliriz.
SQL> alter database flashback off; Database altered.