14 Haziran 2010 Pazartesi

ORA-01547 ORA-01194 ORA-01110

Merhaba,

Başlıktaki hataların ne ifade ettiğini belirtmem gerekiyor;

ORA-01547: warning: RECOVER succeeded but OPEN RESETLOGS would get error below
ORA-01194: file 1 needs more recovery to be consistent
ORA-01110: data file 1: 'SYSTEM01.dbf'

Bu hatayı ne zaman almış olabilirsiniz?

SQL> recover database until cancel;

ORA-00279: change 22188599501 generated at 06/14/2010 01:01:50 needed for
thread 1
ORA-00289: suggestion : /backup/1_15651_679577014.dbf
ORA-00280: change 22188599501 for thread 1 is in sequence #15651

Burada önemli olan Oracle hata kodu "ORA-01194". Oracle veritabanının bu hatayı vermesinin nedeni system01.dbf datafile'ının control dosyası ile tutarlı olmaması ve daha fazla archivelog'a ihtiyacı olması. Archivelog'ları üzerine restore ederek bu hatadan kurtulup, veritabanınızı "open resetlogs" komutunu göndererek açabilirsiniz.

Öncelikle bu komutu göndermeye çalışalım;

SQL> alter database open resetlogs;
alter database open resetlogs
*
ERROR at line 1:
ORA-01194: file 1 needs more recovery to be consistent
ORA-01110: data file 1: 'SYSTEM01.dbf'

Şimdi recovery manager bağlantısını kuralım;

$ rman target /

Recovery Manager: Release 10.2.0.4.0 - Production on Mon Jun 14 10:50:05 2010

Copyright (c) 1982, 2007, Oracle. All rights reserved.

connected to target database: OPTTEST (DBID=750193206, not open)

Bu noktada "restore" işlemini yapmanıza gerek yok. Recover database demek yeterli zira sadece archivelog'u yama yapacağız.

RMAN> shutdown immediate;

RMAN> startup mount;

Oracle instance started
database mounted

Total System Global Area 2147483648 bytes

Fixed Size 2057568 bytes
Variable Size 738200224 bytes
Database Buffers 1392508928 bytes
Redo Buffers 14716928 bytes

RMAN> recover database;

Starting recover at 14-JUN-10
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=1487 devtype=DISK

starting media recovery

archive log thread 1 sequence 15651 is already on disk as file redo7.rdo
archive log filename=redo7.rdo thread=1 sequence=15651
media recovery complete, elapsed time: 00:00:30
Finished recover at 14-JUN-10

RMAN> alter database open resetlogs;

database opened

Recovery manager'ın gördüğü eksiklik redo7.rdo archivelog dosyasında bulundu ve gerekli olan datafile için bu güncelleştirme yapıldı. Bu bir çeşit incomplete recovery olduğu için resetlogs komutuyla veritabanını başarılı bir şekilde açabildik.

Yukarıdaki örnekte herhangi bir yedekten dönmedik ya da yararlanmadık. Kullandığımız tek şey bir adet archivelog'du ve bunun kararını da RMAN'e bıraktık.

İyi çalışmalar,

Ogan

Hiç yorum yok:

Takip et: @oganozdogan