Oracle 11g [ Data Recovery Advisor ]

13 10 2008

Berikut salah satu contoh error yang ditemui dioracle, dimana data file not available, bisa karena corupts atau file nya dipindahkan saat database sdg berjalan
sedangkan dalam beberapa kasus kita harus segera mengambil tindakan sebelum masalahnya meluas.
Dalam Oracle 11g Data Recovery yang baru membuat operasi ini lebih mudah. Fitur ini bisa di gunakan dengan 2 cara, yaitu dalam mode Command Line atau dalam
fasilitas Enterprise Manager.

SQL> conn scott/tiger
Connected.
SQL> create table t (col1 number);
create table t (col1 number)
*
ERROR at line 1:
ORA-01116: error in opening database file 4
ORA-01110: data file 4: ‘/home/oracle/oradata/PRODB3/users01.dbf’
ORA-27041: unable to open file
Linux Error: 2: No such file or directory
Additional information: 3

Berikut kita menggunakan command line yang akan kita eksekusi dan jalankan di RMAN
Pertama start proses RMAN kemudian koneksi kan ketarget

C:\>rman target=/

Recovery Manager: Release 11.1.0.6.0 – Production on Wed Jul 2 09:47:36 2008

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

connected to target database: ORCL (DBID=1185929127)

RMAN> list failure;

Jika tidak ada error maka akan keluar pesan sebagai berikut

using target database control file instead of recovery catalog
no failures found that match specification

Jika ternyata ada error maka akan keluar pesan kesalahan sbg berikut

using target database control file instead of recovery catalog
List of Database Failures
=========================

Failure ID Priority Status Time Detected Summary
———- ——– ——— ————- ——-
142 HIGH OPEN 15-JUL-07 One or more non-system datafiles are missing

Pesan kesalahan ini menunjukkan bahwa ada datafile yang hilang. Datafile yang hilang bukan merupakan bagian dari tablespace SYSTEM, database hidup
dengan tablespace itu dalam keadaan offline. Error ini sangat critical sehingga kolom priority memuat status HIGH.
Tiap kesalahan mempunyai ID, sehingga memudahkan dlm mengidentifikasi dalam error didatabase.

RMAN> list failure 142 detail;

Perintah ini menunjukkan detail penyebab dari error tersebut.

RMAN> advise failure;

Perintah ini menghasilkan keluaran berupa penjelasan dari error dan cara memperbaikinya

List of Database Failures
=========================

Failure ID Priority Status Time Detected Summary
———- ——– ——— ————- ——-
142 HIGH OPEN 15-JUL-07 One or more non-system datafiles are missing

analyzing automatic repair options; this may take some time
using channel ORA_DISK_1
analyzing automatic repair options complete

Mandatory Manual Actions
========================
no manual actions available

Optional Manual Actions
=======================
1. If file /home/oracle/oradata/PRODB3/users01.dbf was unintentionally renamed or moved, restore it

Automated Repair Options
========================
Option Repair Description
—— ——————
1 Restore and recover datafile 4
Strategy: The repair includes complete media recovery with no data loss
Repair script: /home/oracle/app/diag/rdbms/prodb3/PRODB3/hm/reco_3162589478.hm

Keluaran ini mempunyai beberapa bagian penting. Pertama, Advisor menganalisa error didatabase, dan yang kedua Advisor menyarankan solusi,
Dalam kasus ini solusinya sederhana yaitu Restore dan Recover file.
Dan hal yang paling berguna dari Data Recovery Advisor yaitu seperti pada baris terakhir dari output diatas, Advisors men generate script yang dapat digunakan
untuk repair datafile atau memperbaiki error yang terjadi.

Jadi kita mempunyai sebuah script yang siap untuk dieksekusi, tapi sebelum kita melakukan eksekusi kita bisa melakukan verifikasi terhadap script tersebut
sehingga kita bisa melakukan preview terhadap apa yang akan dijalanin dalam script tersebut.

RMAN> repair failure preview;

Strategy: The repair includes complete media recovery with no data loss
Repair script: /home/oracle/app/diag/rdbms/prodb3/PRODB3/hm/reco_741461097.hm

contents of repair script:
# restore and recover datafile
sql ‘alter database datafile 4 offline’;
restore datafile 4;
recover datafile 4;
sql ‘alter database datafile 4 online’;

Setelah kita melihat apa yang akan dijalankan oleh script tersebut, sekarang kita bisa menjalankan script tersebut

RMAN> repair failure;

Strategy: The repair includes complete media recovery with no data loss
Repair script: /home/oracle/app/diag/rdbms/prodb3/PRODB3/hm/reco_741461097.hm

contents of repair script:
# restore and recover datafile
sql ‘alter database datafile 4 offline’;
restore datafile 4;
recover datafile 4;
sql ‘alter database datafile 4 online’;

Do you really want to execute the above repair (enter YES or NO)?

Dengan Asumsi saya pilih YES untuk repair, maka selanjutnya

executing repair script

sql statement: alter database datafile 4 offline

Starting restore at 15-JUL-07
using channel ORA_DISK_1

channel ORA_DISK_1: restoring datafile 00004
input datafile copy RECID=5 STAMP=628025835 file name=/home/oracle/flasharea
/PRODB3/datafile/o1_mf_users_39ocxbv3_.dbf
destination for restore of datafile 00004: /home/oracle/oradata/PRODB3/users01.dbf
channel ORA_DISK_1: copied datafile copy of datafile 00004
output file name=/home/oracle/oradata/PRODB3/users01.dbf RECID=0 STAMP=0
Finished restore at 15-JUL-07

Starting recover at 15-JUL-07
using channel ORA_DISK_1

starting media recovery

archived log for thread 1 with sequence 51 is already on disk as file /home/oracle/
flasharea/PRODB3/archivelog/2007_07_15/o1_mf_1_51_39ocxxdw_.arc
… and so on …
name=/home/oracle/flasharea/PRODB3/archivelog/2007_07_15/o1_mf_1_55_39ocy9ox_.arc thread=1 sequence=55
media recovery complete, elapsed time: 00:00:01
Finished recover at 15-JUL-07

sql statement: alter database datafile 4 online
repair failure complete








Follow

Get every new post delivered to your Inbox.