Backup/RMAN

DB가 내렸을 때 control file + data file 모두 장애 났을 경우

잇꼬 2024. 1. 29. 18:00
728x90
반응형
SMALL

■ DB 내려갔을 경우 control file, data file 모든 장애 났을 경우, 복구 방법

#) 정상적인 종료

shutdown immediate


#) data file, control file 장애

! rm /u01/app/oracle/oradata/ora11g/*.ctl
! rm /u01/app/oracle/oradata/ora11g/*.dbf

! ls /u01/app/oracle/oradata/ora11g/*.ctl
! ls /u01/app/oracle/oradata/ora11g/*.dbf



#) DB 올리기

startup


<rman session>
#) 재접속
RMAN> exit
[oracle1@oracle ~]$ rman target /


#) 장애 확인 
RMAN> list failure;


RMAN> list failure 4578 detail;


#) rman 복구 작업 확인
RMAN> advise failure;


#) 시나리오 확인
RMAN> repair failure preview;


#) 시나리오 대로 실행 
RMAN> repair failure;


<oracle session>
#) DB 상태 확인

select status from v$instance;


<rman session>
#) data file 복구 작업 
RMAN> restore database;


#) recover 해준다. 
RMAN> recover database;


#) DB resetlogs로 오픈해준다
=> control file이 이미 깨졌기 때문에
RMAN> alter database open resetlogs;


#) DB를 resetlog로 열었기 때문에 backup 본 다시 받기
RMAN> backup as compressed backupset database;


#) backup 파일 확인
RMAN> list backup;


<oracle session>
#) DB 상태 확인

select status from v$instance;


#) control file / data file 확인

! ls /u01/app/oracle/oradata/ora11g/*.ctl
! ls /u01/app/oracle/oradata/ora11g/*.dbf


<rman session>
#) 정책상 필요없는 아카이브 파일 확인 및 삭제
RMAN> report obsolete;


RMAN> delete obsolete;


#) 삭제 다 되었는지 확인
RMAN> report obsolete;


<oracle session>
#) redo log 정보 확인

SELECT a.group#, b.sequence#, a.member, b.bytes/1024/1024 MB, b.archived, b.status, b.first_time, b.first_change#, b.next_change#
FROM v$logfile a, v$log b
WHERE a.group# = b.group#
ORDER BY 1;


<rman session>
#) 스키마 확인
RMAN> report schema;

728x90
반응형
LIST