Database초보우낙
12. inactive 상태의 redo log file이 삭제 되었을 때 복구 본문
* 리두로그 파일? (redo logfile)
↓
다시 작업하다. 다시 작업하기위한 로그 파일입니다.
즉, 복구를 하기 위해서 필요한 데이터가 있는 파일입니다.
select 만 빼고 insert,update, delete, merge, create, alter ,drop, truncate 등의
명령어들이 이 안에 들어있습니다.
리두로그 파일의 상태 4가지
- current : LGWR가 현재 쓰고 있는 상태
- active : LGWR가 다 썻고 쓴 내용에 대한 메모리의 변경사항들이 datafile로 반영이 안된 상태
- inactive : LGWR가 다 내려썻고 메모리의 변경사항이 DATA FILE에 다 반영된 상태
- unised : LGWR 가 한번도 사용하지 않은 상태
active를 사용하면 불완전복구를 해야하는데 아직 안배워서 날리면 안된다
그림에 나오는 3개의 파일이 순환해서 사용되어지는것
■ 실습
#1. 리두로그 그룹의 상태를 확인
#2. 로그 스위치를 1번 일으킨다
#3. 체크포인트를 1번 일으킨다
#4. 리두로그 그룹의 상태를 확인
#5. 리두로그 그룹중 inactive 상태인 리두로그그룹의 맴버를 확인
#6. shutdown abort로 내린다
#7. os에서 inactive 상태의 로그 그룹 멤버를 rm으로 지운다(active나 current를 지우지 않게 조심!!)
#8. DB를 startup ( mount에서 멈춘다)
#9. m으로 날린 inactive 상태의 리두로그 그룹을 controlfile에서 지운다
#10. alterdatabase open으로 db를 올린다
#11. 지워진 redo log group을 새로 추가
◆ 실습 구현
#1. 리두로그 그룹의 상태를 확인
select group#, status, sequence# from v$log;
#2. 로그 스위치를 1번 일으킨다
alter system switch logfile;
#3. 체크포인트를 1번 일으킨다
alter system checkpoint;
#4. 리두로그 그룹의 상태를 확인
select group#,status,sequence# from v$log;
최대한 current와 멀리있는것을 지운다
(지우는사이에 가까운 리두로그그룹의 상태가 CURRENT로 변경될 수 있다)
#5. 리두로그 그룹중 inactive 상태인 리두로그그룹의 맴버를 확인
select group#, member from v$logfile;
그룹 : 논리적인단위
멤버 : os에 눈에 보이는 파일
#6. shutdown abort로 내린다
shutdown abort
#7. os에서 inactive 상태의 로그 그룹 멤버를 rm으로 지운다(active나 current를 지우지 않게 조심!!)
cd /u01/app/oracle/oradata/Ouh/
rm redo03.log <-------장애를 일으키기 위해서 지운다
#8. DB를 startup ( mount에서 멈춘다)
startup
--끊겼으면 나갔다가 mount로 다시
startup mount
#9. m으로 날린 inactive 상태의 리두로그 그룹을 controlfile에서 지운다
alter database drop logfile group 그룹번호;
alter database drop logfile group 3;
#10. alterdatabase open으로 db를 올린다
alter database open;
#11. 지워진 redo log group을 새로 추가
alter database add logfile group 그룹번호
alter database add logfile group 3 '/u01/app/oracle/oradata/Ouh/redo03.log' size 5m;
select group#, status, sequence# from v$log;
'백업과 복구 > 완전복구' 카테고리의 다른 글
14. redo log group의 멤버 삭제하기 (0) | 2024.04.14 |
---|---|
13. redo log file의 다중화 (0) | 2024.04.14 |
11. multiplexing된 controlfile 중에 1개를 삭제하고 복구 (0) | 2024.04.12 |
10. control file을 multixplexing하기 (0) | 2024.04.12 |
9. binary file로 백업받은 controlfile 복구 (0) | 2024.04.12 |