Backup/Archive Log Mode

DB가 종료 후 데이터 파일이 삭제 시키고 DB 올릴 경우

잇꼬 2024. 1. 12. 17:00
728x90
반응형
SMALL

#) data file 상태 확인 

select name, status from v$datafile;


# DB 정상적인 종료
SQL> shutdown immediate


# 장애 유발 #
SQL> ! rm /u01/app/oracle/oradata/ora11g/users01.dbf
SQL> ! rm /u01/app/oracle/oradata/ora11g/example01.dbf
SQL> ! ls /u01/app/oracle/oradata/ora11g/
SQL> ! ls /u01/app/oracle/oradata/ora11g/


# DB 올리기
SQL> startup
ORA-01157: cannot identify/lock data file 4 - see DBWR trace file
ORA-01110: data file 4: '/u01/app/oracle/oradata/ora11g/users01.dbf'


# recover file 확인

select * from v$recover_file;

# 복구 방법 #

1 offline 변경
SQL> alter database datafile 4 offline;
SQL> alter database datafile 5 offline;

 

2. offline 모드인지 확인해보기

select * from v$recover_file;

 

select name, status from v$datafile;


3. DB 올리기

=> 완전 복구 될거라는 생각하고 DB open ! 
SQL> alter database open;


4. file을 restore 하기
- 가장 최근에 백업 파일을 문제되는 파일 위치에 복구(restore)

tip) copy 할 때, 하나씩 하는 것을 추천! 그래야 꼬이지 않는다.

#) hot backup 에 있는 data file을 원위치 해주기
SQL> ! cp -av /home/oracle1/backup/arch/hot_20240112/users01.dbf /u01/app/oracle/oradata/ora11g/
SQL> ! cp -av /home/oracle1/backup/arch/hot_20240112/example01.dbf /u01/app/oracle/oradata/ora11g/


5. 백업 이후에 변경된 redo 정보를 적용
#) recover를 삭제된 tablespace를 하기.
SQL> recover tablespace users;
SQL> recover tablespace example;


cf) 만일에 위에 같이 Media recovery comlepte. 되지 않고 오류발생되었다면!

=> 겁내지 말고 achrive log mode 이니 해당 파일로 열겠다는 의미이다. 

오류번호 : ORA-00289 , ORA-00280 

=> 입력창에는 'AUTO' 

(아래와 같이 진행하면 된다!)


6. online 모드로 변경 
SQL> alter tablespace users online;

SQL> alter tablespace example online;


7. online 확인

select name, status from v$datafile;

 

select * from v$recover_file;

8. 복구 완료! 

728x90
반응형
LIST