7 Şubat 2013 Perşembe

Recovery Online Redo Logs

Database makinasında online redo log lar OS seviyesinde silindikten sonra database nasıl recover edileceğine söz edeceğiz.Redolog lar silindikten sonra alert.log dosyasına aşağıdaki gibi hatalar görülecektir.

ORA-00313: open failed for members of log group 1 of thread 1
ORA-00312: online log 1 thread 1: '/u01/app/oracle/oradata/orcl/redo01.log'
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3
Clearing online redo logfile 1 /u01/app/oracle/oradata/orcl/redo01.log
Clearing online log 1 of thread 1 sequence number 0
Errors in file /u01/app/oracle/diag/rdbms/orcl/orcl/trace/orcl_ora_8300.trc:
ORA-00313: open failed for members of log group 1 of thread 1
ORA-00312: online log 1 thread 1: '/u01/app/oracle/oradata/orcl/redo01.log'
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3
Errors in file /u01/app/oracle/diag/rdbms/orcl/orcl/trace/orcl_ora_8300.trc:
ORA-00313: open failed for members of log group 1 of thread 1
ORA-00312: online log 1 thread 1: '/u01/app/oracle/oradata/orcl/redo01.log'
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3
Clearing online redo logfile 1 complete


Aşağıdaki sorgular ile sistemin gördüğü redo log file görüntüleyebiliriz.

SQL> select member from v$logfile;
MEMBER
--------------------------------------------------------------------------------
/u01/app/oracle/oradata/orcl/redo03.log
/u01/app/oracle/oradata/orcl/redo02.log
/u01/app/oracle/oradata/orcl/redo01.log

SQL> select * from v$log;
    GROUP#    THREAD#  SEQUENCE#      BYTES  BLOCKSIZE    MEMBERS ARC
---------- ---------- ---------- ---------- ---------- ---------- ---
STATUS           FIRST_CHANGE# FIRST_TIM NEXT_CHANGE# NEXT_TIME
---------------- ------------- --------- ------------ ---------
         1          1          7   52428800        512          1 YES
INACTIVE               1012833 30-JAN-13      1013757 30-JAN-13

         2          1          8   52428800        512          1 NO
CURRENT                1013757 30-JAN-13   2.8147E+14

         3          1          6   52428800        512          1 YES
INACTIVE               1012748 30-JAN-13      1012833 30-JAN-13


Burada current redolog sequence numarası 8 dir. Yani enson 7 sequence numarasına kadar olan redo log archive lenmiş. Veya OS sistemi seviyesinde archivelog  lara bakarak en son hangi sequence numarasına sahip olduğumuzu görebiliriz..En son  sequence 7 archive lanmış

[oracle@localhost 2013_01_30]$ ls -lrt
total 78428
-rw-r----- 1 oracle oinstall 42407424 Jan 30 16:55 o1_mf_1_2_8jlf3bnb_.arc
-rw-r----- 1 oracle oinstall 21999104 Jan 30 17:03 o1_mf_1_3_8jlflog8_.arc
-rw-r----- 1 oracle oinstall  3311616 Jan 30 17:09 o1_mf_1_4_8jlfwx9y_.arc
-rw-r----- 1 oracle oinstall    44544 Jan 30 17:10 o1_mf_1_5_8jlfzbf4_.arc
-rw-r----- 1 oracle oinstall    49152 Jan 30 17:12 o1_mf_1_6_8jlg2sm0_.arc
-rw-r----- 1 oracle oinstall  1092608 Jan 30 17:14 o1_mf_1_7_8jlg7mj4_.arc

Redolog silindikten sonra database recovery işlemi için mount modda açılır.Normal bir şekilde açılmak istendiğinde aşağıdaki gibi hata verecektir.

SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup
ORACLE instance started.
Total System Global Area 1269366784 bytes
Fixed Size                  2227984 bytes
Variable Size             805306608 bytes
Database Buffers          452984832 bytes
Redo Buffers                8847360 bytes
Database mounted.
ORA-03113: end-of-file on communication channel
Process ID: 25371
Session ID: 1 Serial number: 5

SQL> startup mount;
ORACLE instance started.
Total System Global Area 1269366784 bytes
Fixed Size                  2227984 bytes
Variable Size             805306608 bytes
Database Buffers          452984832 bytes
Redo Buffers                8847360 bytes
Database mounted.

Database alınan en son yedekten restore edilir ve varolan archiveloglar ile incomplete recovery gerçekleştirilir.

SQL> !rman target /
Recovery Manager: Release 11.2.0.3.0 - Production on Wed Jan 30 17:25:07 2013
Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.
connected to target database: ORCL (DBID=1333867053, not open)

RMAN> restore database;
Starting restore at 30-JAN-13
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=20 device type=DISK
channel ORA_DISK_1: starting datafile backup set restore
channel ORA_DISK_1: specifying datafile(s) to restore from backup set
channel ORA_DISK_1: restoring datafile 00001 to /u01/app/oracle/oradata/orcl/system01.dbf
channel ORA_DISK_1: restoring datafile 00002 to /u01/app/oracle/oradata/orcl/sysaux01.dbf
channel ORA_DISK_1: restoring datafile 00003 to /u01/app/oracle/oradata/orcl/undotbs01.dbf
channel ORA_DISK_1: restoring datafile 00004 to /u01/app/oracle/oradata/orcl/users01.dbf
channel ORA_DISK_1: restoring datafile 00005 to /u01/app/oracle/oradata/orcl/denem.dbf
channel ORA_DISK_1: reading from backup piece /u01/app/oracle/fast_recovery_area/ORCL/backupset/2013_01_30/o1_mf_nnndf_TAG20130130T171042_8jlfznjk_.bkp
channel ORA_DISK_1: piece handle=/u01/app/oracle/fast_recovery_area/ORCL/backupset/2013_01_30/o1_mf_nnndf_TAG20130130T171042_8jlfznjk_.bkp tag=TAG20130130T171042
channel ORA_DISK_1: restored backup piece 1
channel ORA_DISK_1: restore complete, elapsed time: 00:00:35
Finished restore at 30-JAN-13

RMAN> recover database until sequence 8;
Starting recover at 30-JAN-13
using channel ORA_DISK_1
starting media recovery
archived log for thread 1 with sequence 6 is already on disk as file /u01/app/oracle/fast_recovery_area/ORCL/archivelog/2013_01_30/o1_mf_1_6_8jlg2sm0_.arc
archived log for thread 1 with sequence 7 is already on disk as file /u01/app/oracle/fast_recovery_area/ORCL/archivelog/2013_01_30/o1_mf_1_7_8jlg7mj4_.arc
archived log file name=/u01/app/oracle/fast_recovery_area/ORCL/archivelog/2013_01_30/o1_mf_1_6_8jlg2sm0_.arc thread=1 sequence=6
archived log file name=/u01/app/oracle/fast_recovery_area/ORCL/archivelog/2013_01_30/o1_mf_1_7_8jlg7mj4_.arc thread=1 sequence=7
media recovery complete, elapsed time: 00:00:01
Finished recover at 30-JAN-13

İncomplete recovery gerçekleştirildiği için database resetlogs option ile açılır.

RMAN> alter database open resetlogs;

database opened

Hiç yorum yok: