ORACLE 8: RECOVERY

FAILURE CESITLERI

  1. STATEMENT FAILURE:

  1. USER PROCESS FAILURE:

Boyle durumlarda PMON temizleme operasyonu yapar:

  1. USER-ERROR FAILURE: Bu durum Recovery gerektirir.

Actions:

  1. INSTANCE FAILURE:

Instance acilisinda SMON instance recovery yapar.

    1. SMON recovery’I baslatir. Bu durumda datafilelar senkronize degildir.
    2. DBWR rollforward yapar commit edilmis ama datafilelara yazilamamis transactionlar icin. Bu noktadan sonra database kullanicilara aciktir.
    3. SMON ya da server process commit edilmemis adatayi rollback yapar.

  1. MEDIA FAILURE:

Sebepleri:

Actions:

FAILURE DURUMLARINI TRACE ETME

ALERT FILE:

TRACE FILE:

CHECKSUM PARAMETRELERI:

Bir datafile blogu okundugunda data block corruption tespiti icin datafile checksum yapilabilir. Bu islemin yapilabilmesi icin asagidaki sekilde parametrenin ayarlanmalidir.

Log file checksum icin asagidaki parametre ayarlanir.

DBVERIFY:

Svrmgrl> DBVERF80 FILE = ‘filename’ START = <number> END = <number> LOGFILE = <filename>;

ORACLE RECOVERY METODLARI

NOARCHIVELOG MODE RECOVERY

STEPS:

  1. Database’i kapatin.
  2. Son full backup’tan tum dosyalari inin.
  3. Database’i acin.

ARCHIVELOG MODE RECOVERY

Bu modda database acikken system tablespace’i ve rollback segment tablespaceleri haric olmak uzere recovery yapilabilir. Eger bu iki tip tablespace recover edilecekse database kapali halde recover edilir.

  1. Archivelog’larin lokasyonunu degistirmek icin:
  2. Svrmgrl> ALTER SYSTEM ARCHIVE LOG START TO <yeni lokasyon>;

  3. Archivelog switch icin

Svrmgrl> ALTER SYSTEM SWITCH LOGFILE;

Eger recovery yapmadan once archivelog;lar baska bir directory’e konulmussa ve recover esnasind abu directory’den okunmasi istebiliyorsa database mount edilmeden once init.ora dosyasinda LOG_ARCHIVE_DEST istenilen directory olarak degistirilir.

V$RECOVER_FILE sorgulandiginda ERROR alaninda "FILE NOT FOUND" yaziyor ise bu dosyalara erisilemiyordur. Eger ilgili file’lar var ise ve ERROR alani bos ise bu file’larin recovery’e ihtiyaci vardir.

Bu view sorgulanarak ne tur bir recovery gerektigi konusunda bilgi edinilebilir.

 

 

ARCHIVELOG MODDA RECOVERY TIPLERI

  1. COMPLETE RECOVERY

  1. SYSTEM YA DA ROLLBACK TABLESPACE RECOVERY :

Svrmgrl> STARTUP MOUNT

Svrmgrl> RECOVER AUTOMATIC DATAFILE [number|name];

Svrmgrl> RECOVER AUTOMATIC DATABASE;

Svrmgrl> ALTER DATABASE OPEN;

  1. SYSTEM YA DA ROLLBACK TABLESPACE’I HARICINDEKI TABLESPACE RECOVERY (OPEN RECOVERY)

Database acikken recovery sadece bozulan tablespace’in dtafillarina yapilabilir.

Svrmgrl> ALTER TABLESPACE <tablespace> OFFLINE;

Svrmgrl> RECOVER AUTOMATIC DATABASE;

Svrmgrl> RECOVER AUTOMATIC DATAFILE [number|filename];

Svrmgrl> RECOVER AUTOMATIC TABLESPACE [number|tablespacename]

  1. DATABASE’I ACARKEN CORRUPT DATAFILE BULUNDUGUNDA RECOVERY

Svrmgrl> Startup mount

Svrmgrl> ALTER DATABASE DATAFILE ‘filename’ OFFLINE;

Eger recovery esnasinda datafile’lari yeni bir lokasyona cekmek gerekirse:

ALTER DATABASE REBNAME FILE ‘damaged filename’ TO ‘new filename’;

  1. SYSTEM YA DA ROLLBACK SEGMENT HARICINDEKI TABLESPACELERIN BACKUP’I OLMAYAN DATAFILE’LAR ICIN RECOVERY

Svrmgrl> ALTER TABLESPACE ‘tablespacename’ OFFLINE IMMEDIATE;

Svrmgrl> ALTER DATABSE CREATE DATAFILE ‘oldfilename’ [AS ‘newfilename’];

  1. ONLINE BACKUP ALINIRKEN (HOTBACKUP MOD) CRASH SONRASI RECOVERY

Svrmgrl> SELECT * FROM V$BACKUP;

FILE# STATUS CHANGE# TIME

---------- ------------------ ---------- --------------------

1 ACTIVE 22568819 02/28/01 14:13:28

2 NOT ACTIVE 22568717 02/28/01 13:40:45

3 NOT ACTIVE 22568716 02/28/01 13:40:38

4 ACTIVE 22568779 02/28/01 14:03:02

5 ACTIVE 22568808 02/28/01 14:10:23

6 NOT ACTIVE 22568787 02/28/01 14:05:48

7 ACTIVE 22568791 02/28/01 14:07:09

8 ACTIVE 22568818 02/28/01 14:13:15

9 ACTIVE 22568807 02/28/01 14:10:22

ACTIVE olan datafile’lar online backup modundadirlar. Bu file’larin hangi tablespace ile iliskili olduklarini ogrenmek icin:

Svrmgrl> SELECT * FROM DBA_DATA_FILES WHERE FILE_ID = <file#>

Svrmgrl> ALTER TABLESPACE tablespacename END BACKUP;

Svrmgrl> ALTER DATABASE OPEN;

  1. REDOLOG FILE RECOVERY

Eger bir redolog file multiplex edilmemis ise(ayni redolog grubunda birden cok redolog yok ise ya da mirrorlari yok ise) veya grubun tum redolog memberlari corrupt ise redolog file recovery gereklidir.

Complete recovery yapilabilmesi icin redolog’un arsivelenmis olmasi gereklidir. Yani V$LOG’un ARCH kolonu YES olmalidir.

Svrmgrl> SELECT * FROM V$LOG;

V$LOG - V$LOGFILE STATUS DEGERLERI:

ACTIVE :Active ancak CURRENT olmayan, arsivlenmekte ya da arsivlenecek olan redolog.

UNUSED STALE :Yeni yaratilip henuz kullanilmamis redolog file.

CURRENT NULL :Halen uzerine yazilmakta olan redolog.

INACTIVE DELETED :Instance recovery icin ihtiyac duyulmayacak olan arsivlenmis redolog.

INVALID : Inaccessible Redolog

Instance recovery esnasinda current ve aktif redologlar kullanilacaktir.

ALTERNATIF I.

Yeni bir temporary redolog grup yaratin:

Svrmgrl> ALTER DATABASE ADD LOGFILE GROUP <temporary group number> ‘filename’ size n[K|M];

Corrupt olan redolog’u drop edin:

Svrmgrl> ALTER DATABASE DROP LOGFILE GROUP N;

Ayni grubu yeniden yaratin:

Svrmgrl> ALTER DATABASE ADD LOGFILE GROUP N;

Tempororay grubu drop edin:

Svrmgrl> ALTER DATABASE DROP LOGFILE GROUP GROUP <temporary group number>;

ALTERNATIF II.

Clear Logfile:

Svrmgrl> ALTER DATABASE CLEAR UNARCHIVED LOGFILE GROUP N;

Bu yontem asagidaki durumlarda kullanilabilir:

  1. INCOMPLETE RECOVERY

SEBEPLER:

INCOMPLETE RECOVERY TIPLERI

  1. TIME BASED RECOVERY

Belli bir zamana dek recovery yapilabilir:

Svrmgrl> STARTUP MOUNT

Svrmgrl> RECOVER AUTOMATIC DATABASE UNTIL TIME ‘YYYY-MM-DD:HH24:MI:SS’;

AUTOMATIC opsiyonun kullanmak yerine soyle de yapilabilir:

Svrmgrl> SET AUTO RECOVERY ON;

Svrmgrl> RECOVER AUTOMATIC DATABASE UNTIL TIME ‘YYYY-MM-DD:HH24:MI:SS’;

Svrmgrl> ALTER DATABASE OPEN RESETLOGS;

  1. CANCEL BASED RECOVERY

Eger arsivlenmemis online redolog kayip ise bu tip recovery gereklidir.

Svrmgrl> SHUTDOWN IMMEDIATE;

SVRMGRL> STARTUP MOUNT

Svrmgrl> RECOVER DATABASE UNTIL CANCEL;

Svrmgrl> ALTER DATABASE OPEN RESETLOGS;

  1. BACKUP CONTROLFILE

Time Based Recovery yapilmasi gereken bir durum olabilir ancak database’in yapisi son backup’tan beri degisti ise bu tur bir backup yapilmasi gerekir. Once asagidak isekilde control file backup’i alinamsi gerekir:

ALTER DATABASE BACKUP CONTROLFILE TO 'filename' REUSE;

REUSE opsiyonu daha onceden ayni lokasyonda baska file varsa overwrite eder.

Svrmgrl> SHUTDOWN

Svrmgrl> RECOVER DATABASE UNTIL TIME ‘YYYY-MM-DD:HH24:MI:SS’ USING BACUP CONTROL FILE;

Svrmgrl> ALTER DATABASE OPEN RESETLOGS;

  1. CHANGE BASED RECOVERY

    1. Recovery: Current Redo Log Currupt - Database Hung Satate

Database acikken current redolog currupt olursa ve multiplex edilmemis ise bu yontem kullanilir.

Svrmgrl> SHUTDOWN IMMEDIATE;

SVRMGRL> STARTUP MOUNT

Svrmgrl> ALTER DATABASE CLEAR UNARCHIVED LOGFILE GROUP N;

Bu komut current corrupt redo log’un uzerine yazilabilir hale getirir ya da eger redo log kayipsa yeniden yaratir.

Svrmgrl> ALTER DATABASE OPEN RESETLOGS;

    1. Recovery: Current Redolog Currupt – Database Closed

Eger redolog database’i acar iken kayip ise CLEAR LOGFILE opsiyonu kullanilamaz. Cunku arsivlenmemis bu grup crash recovery icin gereklidir.

Svrmgrl> SHUTDOWN IMMEDIATE;

Svrmgrl> STARTUP MOUNT

Svrmgrl >SELECT * FROM V$LOG;

Svrmgrl> RECOVER DATABASE UNTIL CANCEL ;

Sequence numarasini girin

Svrmgrl> ALTER DATABASE OPEN RESETLOGS;

 

Hosted by www.Geocities.ws

1