Rman Restore database khi mất Online Redo logfile Oracle Database 19c

Bài viết này sẽ hướng dẫn bạn cách khôi phục lại CSDL khi bị mất Online Redo logfile.

Các công việc thực hiện:

  • Kiểm tra logfile hiện tại
  • Xoá redo logfile trong OS level
  • Shutdown instance và starup mount
  • Kết nối rman để tiến hành restore
  • Kiểm tra kết quả sau khi restore

Recover a loss of all online redo log files using RMAN in Oracle 19c –  ORACLEAGENT BLOG

Kiểm tra logfile hiện tại: Chú ý số sequence hiện tại

select member from v$logfile;

select * from v$log;

SQL> select member from v$logfile;

MEMBER

——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————–

/u01/app/oracle/oradata/DUODB/onlinelog/o1_mf_3_m3v6f9d1_.log

/u01/app/oracle/fast_recovery_area/DUODB/onlinelog/o1_mf_3_m3v6fb1q_.log

/u01/app/oracle/oradata/DUODB/onlinelog/o1_mf_2_m3v6f858_.log

/u01/app/oracle/fast_recovery_area/DUODB/onlinelog/o1_mf_2_m3v6f8rc_.log

/u01/app/oracle/oradata/DUODB/onlinelog/o1_mf_1_m3v6f6y4_.log

/u01/app/oracle/fast_recovery_area/DUODB/onlinelog/o1_mf_1_m3v6f7ld_.log

6 rows selected.

SQL> select * from v$log;

GROUP# THREAD# SEQUENCE# BYTES BLOCKSIZE MEMBERS ARC STATUS FIRST_CHANGE# FIRST_TIM NEXT_CHANGE# NEXT_TIME CON_ID

———- ———- ———- ———- ———- ———- — —————- ————- ——— ———— ——— ———-

1 1 1 209715200 512 2 NO CURRENT 2383296 10-MAY-24 1.8447E+19 0

2 1 0 209715200 512 2 YES UNUSED 0 0 0

3 1 0 209715200 512 2 YES UNUSED 0 0 0

Xoá hết file redo logfile trên hệ thống (giả lập có lỗi):

exit

cd /u01/app/oracle/oradata/DUODB/onlinelog

rm -rf *

cd /u01/app/oracle/fast_recovery_area/DUODB/onlinelog

rm -rf *

=> check lỗi xuất hiện trên alert_log


Tìm đường dẫn alert log:


find /u01/app/oracle/diag -name alert_* | grep duodb

tail -100f /u01/app/oracle/diag/rdbms/duodb/duodb/trace/alert_duodb.log

[oracle@srv1 onlinelog]$ find /u01/app/oracle/diag -name alert_* | grep duodb

/u01/app/oracle/diag/rdbms/duodb/duodb/trace/alert_duodb.log

Tắt DB và khởi động trong mount:

shut immediate

startup mount

Kết nối rman và tiến hành restore về số sequence cuối cùng: (check ở bên trên khi xem trong v$log)

rman target /

run

{

set until sequence 1;

restore database;

recover database;

alter database open resetlogs;

}

starting media recovery

archived log for thread 1 with sequence 6 is already on disk as file /u01/app/oracle/fast_recovery_area/DUODB/archivelog/2024_05_10/o1_mf_1_6_m3wn0p3q_.arc

archived log for thread 1 with sequence 7 is already on disk as file /u01/app/oracle/fast_recovery_area/DUODB/archivelog/2024_05_10/o1_mf_1_7_m3wn0p11_.arc

archived log file name=/u01/app/oracle/fast_recovery_area/DUODB/archivelog/2024_05_10/o1_mf_1_6_m3wn0p3q_.arc thread=1 sequence=6

archived log file name=/u01/app/oracle/fast_recovery_area/DUODB/archivelog/2024_05_10/o1_mf_1_7_m3wn0p11_.arc thread=1 sequence=7

media recovery complete, elapsed time: 00:00:01

Finished recover at 11-MAY-24

Statement processed

Kiểm tra thông tin DB:

select name,open_mode from v$database;

RMAN> select name,open_mode from v$database;

NAME OPEN_MODE

——— ——————–

DUODB READ WRITE

Chúc các bạn thành công.

 

0 0 đánh giá
Đánh giá bài viết
Theo dõi
Thông báo của
guest

0 Góp ý
Phản hồi nội tuyến
Xem tất cả bình luận