1. 정상적인 종료 후 OS로 나오기
shutdown immediate
2. 불안전한 복구(과거로 돌아가기)
[oracle1@oracle ~]$ cd /home/oracle/backup/noarch/
[oracle1@oracle noarch]$ cp -av *.* /u01/app/oracle/oradata/ora11g/
3. oracle 접속 후 DB 올리기
[oracle1@oracle noarch]$ exit
startup
#) current_scn 번호 확인
select current_scn from v$database;
#) datafile 위치, checkpoint 확인
select name, checkpoint_change# from v$datafile;
#) current, sequence 번호 확인
select * from v$log;
4. <HR SESSION>
#) new table 확인 불가
conn hr/hr
select * from hr.new;
#) new table 생성 후 data 로드 및 저장
create table new (id number) tablespace example;
insert into new (id) values (1);
commit;
select * from hr.new;
5. <SYS SESSION>
#) redo log 정보 확인
select * from v$log;
6. 강제로 스위치 발생*3번 발생
# 장애 유발 시키기 #
alter system switch logfile;
#) 스위치 발생 후 변경 확인
select * from v$log;
#) datafile 확인
select current_scn from v$database;
#) datafile 위치, checkpoint 확인
select name, checkpoint_change# from v$datafile;
#) hr.new 의 tablespace 생성 확인
select f.FILE_NAME
from DBA_EXTENTS e, DBA_DATA_FILES f
where e.FILE_ID = f.FILE_ID
and e.SEGMENT_NAME = 'NEW'
and e.owner = 'HR';
7. 정상적인 종료 후 OS로 나오기
shutdown immediate
# 장애 유발 #
[oracle1@oracle ~]$ rm /u01/app/oracle/oradata/ora11g/example01.dbf
[oracle1@oracle ~]$ ls /u01/app/oracle/oradata/ora11g/example01.dbf
8. oracle 접속 후 DB 올리기
[oracle1@oracle ~]$ exit
startup
#) 오류발생
ORA-01157: cannot identify/lock data file 5 - see DBWR trace file
ORA-01110: data file 5: '/u01/app/oracle/oradata/ora11g/example01.dbf'
해석) 해당 파일이 없어 DB mount 단계까지 올린다.
#) instance 단계 확인
select status from v$instance;
9. backup 딕셔너리 있는 위치로 가서 copy
SQL> !
[oracle1@oracle ~]$ cd backup/noarch
[oracle1@oracle noarch]$ ls example01.dbf
[oracle1@oracle noarch]$ cp -av example01.dbf /u01/app/oracle/oradata/ora11g/example01.dbf
10. oracle 접속 후 recover 시도.
[oracle1@oracle noarch]$ exit
recover database;
ORA-00280: change 1707419 for thread 1 is in sequence #21 (← 21번 에 해당하는 redo 파일이 필요하다)
Specify log: {<RET>=suggested | filename(파일명) | AUTO(자동) | CANCEL(취소)}
AUTO(입력)
[결과]
#) 어차피 DB 깨져있으니 정상적인 종료는 되지 않는다.
결론: DB 불안전한 내리기
shutdown abort
11. 모든 파일을 copy 하기
SQL> !
[oracle1@oracle noarch]$ cp -av *.* /u01/app/oracle/oradata/ora11g/
[oracle1@oracle noarch]$ pwd
12. oracle 접속 후 DB 올리기
[oracle1@oracle noarch]$ exit
startup
#) current_scn 번호 확인
select current_scn from v$database;
#) datafile 위치, checkpoint 위치
select name, checkpoint_change# from v$datafile;
#) current, sequence 번호 확인
select * from v$log;
13. 복구 완료
'Backup > Noarchive Log Mode' 카테고리의 다른 글
BackUp 받지 않는 Tablespace 손상되었을 경우 ⓒ (0) | 2024.01.09 |
---|---|
BackUp 받지 않는 Tablespace 손상되었을 경우 ⓑ (0) | 2024.01.09 |
BackUp 받지 않는 Tablespace 손상되었을 경우 ⓐ (0) | 2024.01.09 |
특정한 데이터 파일이 손상. (백업 이후에 redo 정보가 있을 경우) (1) | 2024.01.09 |
BackUP 기초용어 (0) | 2024.01.09 |