■ 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;
'Backup > RMAN' 카테고리의 다른 글
maxsetsize, maxpiecesize, image copy backup (0) | 2024.01.29 |
---|---|
RMAN의 장애 복구 방법(advise failure) (0) | 2024.01.29 |
system01.dbf 이 장애 났을 경우 (0) | 2024.01.29 |
SPFILE/PFILE 장애 났을 경우 (1) | 2024.01.29 |
Incarnation 정리하는 방법 (0) | 2024.01.29 |