Database초보우낙
33.Rman을 사용해서 time base 불완전 복구하기 본문
만약 금요일 12시에 scott유저를 drop 했다면 11시59분으로 DB를 되돌려야하는데 그럴려면 과거에 백업받은 모든 datafile들을 다 복원하고 아카이브 로그파일을 하나씩 적용해서 복구를 하는데 11시59분까지 시간기반 불완전 복구를 하면 된다
■ 실습
#1. Rman으로 full backup을 수행
#2. .bash_profile에 nls_date_format파라미터를 지정해서 오라클에서 날짜를 검색할때 시분초가 기본값으로 보이게 셋팅
#3. 로그스위치 3번 발생시키기
#4. 체크포인트 발생
#5. 현재시간을 확인
#6. scott유저를 drop
#7. shutdown immediate로 DB를 내린다
#8. startup mount를 한다
#9. rman으로 불완전 복구를 한다
#10. resetlogs로 db를 올린다
◆ 구현
#1. Rman으로 full backup을 수행
<공간확보>
report obsolete; --지워도 되는 파일 확인
delete obsolete; -- 지워도 되는 파일 삭제
<full backup>
backup database;
#2. .bash_profile에 nls_date_format파라미터를 지정해서 오라클에서 날짜를 검색할때 시분초가 기본값으로 보이게 셋팅
vi .bash_profile
NLS_LANG=american_america.we8iso8859p15 NLS_DATE_FORMAT='RRRR/MM/DD:HH24:MI:SS' export NLS_LANG export NLS_DATE_FORMAT |
source .bash_profile
#3. 로그스위치 3번 발생시키기
@logsw
/
/
#4. 체크포인트 발생
alter system checkpoint
#5. 현재시간을 확인
select sysdate from dual;
2024/03/07:15:05:26
#6. scott유저를 drop
drop user scott cascade;
--cascade를 사용해야 drop할 수 있다
#7. shutdown immediate로 DB를 내린다
shutdown immediate
#8. startup mount를 한다
startup mount
#9. rman으로 불완전 복구를 한다
run { set until time='2024/03/07:15:05:26' ;
restore database;
recover database;
}
--run으로 스크립트를 실행시키면 여러 개의 스크립트를 모아서 한번에 (배치형) 수행한다
#10. resetlogs로 db를 올린다
alter database open resetlogs;
scott유저를 drop한 시간을 잘모르겠다 -> 전문가들이 알아낸다
로그마이너(logminer) 를 이용하면 리두로그 파일과 아카이브 로그 파일을 분석할 수 있다
그래서 drop user scott cascade 명령어를 수행한 시간을 알 수 있다
불완전 복구 후 반드시 full backup
backup database;
문제1. 내 db의 현재시간을 확인
문제2. emp,dept 테이블을 drop purge 후 time base 불완전 복구하기
shutdown immediate
startup mount
run { set until time='2024/03/07:15:21:17' ;
restore database;
recover database;
}
alter database open resetlogs;
'백업과 복구 > 백업과 복구(Rman)' 카테고리의 다른 글
35. Rman을 사용하지 않고 백업본이 없을 때 복구하는 방법 (0) | 2024.04.23 |
---|---|
34.Rman을 사용해서 cancel base 불완전 복구하기 (0) | 2024.04.15 |
32.파라미터 파일이 손상되었을때 Rman으로 복구 (0) | 2024.04.15 |
Tip. Rman으로 공간확보하기 (0) | 2024.04.15 |
31. Rman을 사용해서 모든 datafile과 control file 삭제하고 복구하기 (0) | 2024.04.15 |