Salı, 01 Şubat 2011 14:43
(ORA-00313) Redolog grublarından biri (veya birkaçı) Kaybedildiğinde Yapılması Gerekenler
Yazan&Gönderen Kamil TURKYILMAZ
Database’ in olmazsa olmaz koşullarından biri en 2 gruplu bir redolog grubunuzun olmasıdır. Redolog’ lar sistemin son ana döndürülmesinde kritik bir önem taşıdığından dolayı groupların memberlanması son derece önemlidir. Redologların nasıl memberlanacağı ile ilgili http://kamilturkyilmaz.blogspot.com/2010/11/redolog-group-tanmlama-degisiklik-yapma.html
gerekli bilgiyi daha önceki yazımda detaylı olarak anlatmıştım. Redologlarınız member’ lı değilse ve herhangi birini kaybetdiyseniz veritabanını kurtarmak için aşağıdaki işlemleri yapmamız gerekir. Ancak burada unutumaması gereken nokta; commit edilmemiş tüm transactionların geri getirilemeyeceği yani veri kaybı yaşanacağıdır.
Benzer bir case’ i oluşturabilmek için database’ imizi shutdown immediate ile kapatıyoruz.
SQL> shutdown immediate;
Veritabanı kapatıldı.
Veritabanı kullanıma kapatıldı.
ORACLE anı kapatıldı.
SQL>
Redologlardan birini, yer aldığı dizinden siliyorum; Şimdi bu haliyle database’ i açmayı deniyorum (hatayı görebilmek için) ;
SQL> startup
ORACLE anı başlatıldı.
Total System Global Area 612368384 bytes
Fixed Size 1250428 bytes
Variable Size 222301060 bytes
Database Buffers 381681664 bytes
Redo Buffers 7135232 bytes
Veritabanı kullanıma açıldı.
ORA-00313: 1 günlük grubunun (thread 1) üyeleri açılamadı
ORA-00312: çevrimiçi günlük 1, thread 1:
'C:\ORACLE\10GR2\ORADATA\TEST\REDO01.LOG'
Database redologlardan redo01.log dosyasını bulamadığı için açamadı. Ve mount modda kaldı. (hatırlayınız; database’ e startup komutu verildiğinde son aşaması datafile’ leri ve redologları açtığı nokta idi, bu aşamayı geçemediğinden dolayı mount modda kalıyor.) Kontrol etmek için ;
SQL> select open_mode from v$database;
OPEN_MODE
----------
MOUNTED
Bu durumdan kurtulmak için şimdi komut satırından database’ i recover ediyoruz. Bu işlem ile kayıp olan redolog dosyası otomatikl olarak daha önce olduğu lokasyona aynı isimle system tarafından otomatik olarak create ediliyor. Bu işlemi “recover database until cancel” komutu ile yapmamızın nedeni gelebildiğimiz kadar son noktaya gelmeye çalıştığımızdan dolayıdır.
SQL> recover database until cancel;
Ortam kurtama tamamlandı.
Bu işlemi başarıyla gerçekleştirdikden sonra yine unutlmaması gereken bir nokta incomplete recovery işlemlerinden sonra mutlaka database’ i open resetlogs komutu ile açabilmemizdir. Zaten open ile açmayı denediğinizde aşağıdaki hatayı alırsınız.
SQL> alter database open ;
alter database open
*
1 satırında HATA:
ORA-01589: veritabanı açma için RESETLOGS veya NORESETLOGS seçeneği kullanılmalı
Rsetlogs ile açıyoruz.
SQL> alter database open resetlogs;
Veritabanı değiştirildi.
Bu şekilde database’ imizi kurtarmış olduk. Bu işlemi yapabilmek için database’ in archive modda olmasına gerek yoktur. Çünkü bu problemi düzeltmek için archive loglara ihtiyaç bulunmamaktadır.
Bu tarz disaster durumlarında veri kaybı çoğu zaman kabul edilebilir bir nokta olmakdan çıkıyor, dolayısıyla yazımın başında belirtmiş olduğum gibi önlemlerimizi zamanında ve doğru bir şekilde alıyor olmamız gerekiyor.
Konu 160 kere Okundu
Kategori Dba
Beğendiyseniz Paylaşın
- Google Buzz ekleyin
- Delicious
- Digg this
- StumbleUpon
- MySpace
- Technorati

Kamil TURKYILMAZ
1979 Tokat/Zile doğumluyum. Yıldız Teknik Üniversitesi 1997 – 2001 mezunuyum ancak 1998 yılından itibaren IT sektöründe, 2000 yılından bu yanada Oracle üzerine çalışmaktayım. 2005 yılına kadar oracle database’i üzerine yazılmış olan kimi uygulamalara software support hizmeti, son 6 yıl ise oracle veritabanı yöneticiliği olmak üzere yaklaşık 11 yıldır sektör içerisindeyim. Oracle’ ın hemen hemen tüm ürünlerinin kurulumu, konfigurasyonu, yönetimi konusundaki çalışmalarıma devam etmekteyim. Son 2 yıldır da özel bir bankada oracle dba olarak çalışmaktayım. Aynı zamanda kimi bilişim sitelerinde yazarlık yapıyorum, bunun yanısıra bu alandaki deneyim ve tecrübelerimi daha fazla kişiyle paylaşabilmek adına bir de oracle blog yazarıyım.
Website: www.kamilturkyilmaz.com E-posta: Bu e-Posta adresi istek dışı postalardan korunmaktadır, görüntülüyebilmek için JavaScript etkinleştirilmelidir
En Son Kamil TURKYILMAZ
Login to post comments