SQL> select * from v$log;
#) log switch 발생
SQL> alter system switch logfile;
#) archive file 확인
SQL> ! ls /home/oracle1/arch1 /home/oracle1/arch2
#) DB 내리기
SQL> shutdown immediate
#) OS 나와 archive_file 디렉터리 이동
SQL> !
[oracle1@oracle ~]$ cd archive_file/
[oracle1@oracle archive_file]$ pwd
/home/oracle1/archive_file
#) 파일 이동시키기
[oracle1@oracle archive_file]$ mv /home/oracle1/arch2/*.* .
[oracle1@oracle archive_file]$ ls
arch_1_19_1157923223.arc arch_1_20_1157923223.arc
#) archive file 확인
[oracle1@oracle archive_file]$ ls /home/oracle1/arch2/
[oracle1@oracle archive_file]$ ls /home/oracle1/arch1/
#) arch1 모든 파일 지우기
[oracle1@oracle archive_file]$ rm /home/oracle1/arch1/*.*
[oracle1@oracle archive_file]$ ls /home/oracle1/arch1/
=> arch1 에 있는 파일 없음
#) 확인
[oracle1@oracle archive_file]$ ls /home/oracle1/arch1/ /home/oracle1/arch2/
[oracle1@oracle archive_file]$ ls
[oracle1@oracle ~]$ ls /home/oracle1/archive_file/
#) 따로 메모장에 적어 놓기!
ls /home/oracle1/archive_file/ arch_1_19_1157923223.arc
ls /home/oracle1/archive_file/ arch_1_20_1157923223.arc
# 장애 유발 #
[oracle1@oracle ~]$ rm /u01/app/oracle/oradata/ora11g/example01.dbf
[oracle1@oracle ~]$ ls /u01/app/oracle/oradata/ora11g/example01.dbf
#) oracle 접속 후 DB startup 하기.
[oracle1@oracle ~]$ exit
SQL> startup
=> 파일 삭제로 인한 오류발생
#) recover file 확인
SQL> select * from v$recover_file;
#) 해당 data file offline 상태로 변경
SQL> alter database datafile 5 offline;
#) DB open 하기
SQL> alter database open;
#) restore(복구) -> hot backup
=> 가장 최근에 받은 hot backup 파일로 cp 하기
SQL> ! cp -av /home/oracle1/backup/arch/hot_20240115/example01.dbf /u01/app/oracle/oradata/ora11g/
#) recover tablespace
SQL> recover tablespace example;
#) online 모드로 변경
SQL> alter tablespace example online;
#) DB 확인
SQL> select count(*) from hr.employees;
#) 테이블 생성
SQL> create table hr.new_2024 as select * from hr.employees;
#) 로그 스위치 발생
SQL> alter system switch logfile;
#) 테이블 생성
SQL> create table hr.old_2024 as select * from hr.employees;
#) 로그 스위치 발생
SQL> alter system switch logfile;
#) redo log 정보 확인
SQL> select * from v$log;
#) DB 내리기
SQL> shutdown immediate
#) OS 나오기 -> archive_file 을 다른 디렉토리에 옮
[oracle1@oracle ~]$ cd archive_file/
[oracle1@oracle archive_file]$ pwd
/home/oracle1/archive_file
[oracle1@oracle archive_file]$ mv /home/oracle1/arch2/*.* .
[oracle1@oracle archive_file]$ ls
arch_1_19_1157923223.arc arch_1_22_1157923223.arc
arch_1_20_1157923223.arc arch_1_23_1157923223.arc
arch_1_21_1157923223.arc
[oracle1@oracle archive_file]$ ls /home/oracle1/arch2/
[oracle1@oracle archive_file]$ ls /home/oracle1/arch1/
arch_1_21_1157923223.arc arch_1_23_1157923223.arc
arch_1_22_1157923223.arc
# arch1 지우기
[oracle1@oracle archive_file]$ rm /home/oracle1/arch1/*.*
[oracle1@oracle archive_file]$ ls /home/oracle1/arch1/ /home/oracle1/arch2/
#) ls /home/oracle1/archive_file/ 확인되는 파일
##
/home/oracle1/archive_file/(파일명)
/home/oracle1/archive_file/arch_1_19_1157923223.arc
/home/oracle1/archive_file/arch_1_20_1157923223.arc
/home/oracle1/archive_file/ arch_1_21_1157923223.arc
/home/oracle1/archive_file/arch_1_22_1157923223.arc
/home/oracle1/archive_file/arch_1_23_1157923223.arc
##
# 장애 유발 #
[oracle1@oracle archive_file]$ rm /u01/app/oracle/oradata/ora11g/example01.dbf
[oracle1@oracle archive_file]$ ls /u01/app/oracle/oradata/ora11g/example01.dbf
#) oracle 접속 후 DB 올리기
[oracle1@oracle archive_file]$ exit
exit
SQL> startup
#) recover file 확인
SQL> select * from v$recover_file;
#) data file offline 상태로 변경
SQL> alter database datafile 5 offline;
#) DB open 모드로 변경
SQL> alter database open;
# restore(복구) 작업
SQL> ! cp -av /home/oracle1/backup/arch/hot_20240115/example01.dbf /u01/app/oracle/oradata/ora11g/
# recover auto 일 경우
SQL> recover tablespace example;
AUTO(입력) -> 오류발생, 복구 실패!
=> 복구 실패, AUTO할 아카이브 번호 파일이 없음
# recover filename 일 경우
SQL> recover tablespace example;
#메모장 , 한 문장씩#
##
/home/oracle1/archive_file/(파일명)
/home/oracle1/archive_file/arch_1_19_1157923223.arc
/home/oracle1/archive_file/arch_1_20_1157923223.arc
/home/oracle1/archive_file/arch_1_21_1157923223.arc
/home/oracle1/archive_file/arch_1_22_1157923223.arc
/home/oracle1/archive_file/arch_1_23_1157923223.arc
##
=> Meida recover compelete. 라는 문구가 나오면 완료!
# 온라인하기
SQL> alter tablespace example online;
#) 조회 해보기
SQL>
select count(*) from hr.new_2024;
select count(*) from hr.old_2024;
#) 아카이브 파일 원위치 하기
[oracle1@oracle ~]$ cd archive_file/
[oracle1@oracle archive_file]$ ls
[oracle1@oracle archive_file]$ cp -av *.* /home/oracle1/arch1
[oracle1@oracle archive_file]$ cd /home/oracle1/arch1
[oracle1@oracle arch1]$ ls
'Backup > Archive Log Mode' 카테고리의 다른 글
control file 손상 되었을 경우.(control file 의 백업 file 있을 때) (0) | 2024.01.18 |
---|---|
undo.dbf 장애 발생했을 경우 (0) | 2024.01.16 |
모든 데이터 파일 손상되었을 경우 (0) | 2024.01.15 |
system data file 손상되었을 경우 (1) | 2024.01.15 |
tablespace 에 속한 여러 데이터 파일들 중에 특정한 파일이 손상되었을 경우 (1) | 2024.01.15 |