Database초보우낙

34.Rman을 사용해서 cancel base 불완전 복구하기 본문

백업과 복구/백업과 복구(Rman)

34.Rman을 사용해서 cancel base 불완전 복구하기

오운학 2024. 4. 15. 23:47

 

current redo logfile 삭제되었을 불완전 복구를 시도하는 실습

월요일에 백업받은 모든 datafile들을 복원하고 archive log file 적용해서 현재로 끌어오는데 current redo logfile 적용할거냐고 물어볼때 cancel 해서 불완전 복구를 할것이다

 

 

실습

#1. Rman으로 full backup 수행

#2. 로그 스위치를 3 일으킨다

#3. 체크포인트를 일으킨다

#4. current redo log file 뭔지 확인

#5. shutdown abort

#6. current redo log file rm으로 삭제

#7. startup <----redo log 없어서 mount에서 안올라온다

#8. 에러가 원인을 파악한다

#9. Rman으로 접속

#10. cancel base불완전 복구를 시도한다

#11. resetlogs db 올린다

#12. full backup 수행

 

 

구현

#1. Rman으로 full backup 수행

backup database;

 

#2. 로그 스위치를 3 일으킨다

@logsw

/

/

/

 

#3. 체크포인트를 일으킨다

alter system checkpoint;

 

#4. current redo log file 뭔지 확인

@log_status

@logfile

 

 

#5. shutdown abort

 

 

#6. current redo log file rm으로 삭제

 

#7. startup <----redo log 없어서 mount에서 안올라온다

#8. 에러가 원인을 파악한다

redo01.log redo01b.log 없다

 

 

select group#,status,sequence#,thread#

from v$log;

 

설명

thread번호란 어느 인스턴스의 redo log group인지를 나타내는 번호

rac일때 유용한 컬럼이고 지금처럼 싱글인스턴스일때는 번호가 무조건 1번이다.

 

sequence# = 7

thread# = 1

 

#9. Rman으로 접속

Rman targat sys/oracle nocatalog

#10. cancel base불완전 복구를 시도한다

run {set until sequence 7 thread 1;

restore database;

recover database;

}

 

 

Finished recover 떠야 복구가 완료

 

 

#11. resetlogs db 올린다

alter database open resetlogs;

 

 

#12. full backup 수행

backup database;