# 장애 유발 #
SQL> ! rm /u01/app/oracle/oradata/ora11g/*.dbf
#) 오류발생
SQL> alter system checkpoint;
=> channel 끊어졌음
#) DB 올리기
SQL> startup
#) 재접속
SQL> conn / as sysdba
Connected to an idle instance.
#) DB 올리기
SQL> startup
ORACLE instance started.
Total System Global Area 711430144 bytes
Fixed Size 1367004 bytes
Variable Size 440402980 bytes
Database Buffers 264241152 bytes
Redo Buffers 5419008 bytes
Database mounted.
ORA-01157: cannot identify/lock data file 1 - see DBWR trace file
ORA-01110: data file 1: '/u01/app/oracle/oradata/ora11g/system01.dbf'
#) 상태 확인
SQL> select status from v$instance;
#) recover file 확인
SQL> select * from v$recover_file;
#) 백업 file 위치 확인
SQL>
select a.file#, a.name file_name, a.checkpoint_change#, b.status, b.change#, to_char(b.time, 'yyyy-mm-dd hh24:mi:ss')
from v$datafile a, v$backup b
where a.file# = b.file#;
# 백업 파일
SQL> ! ls /u01/app/oracle/oradata/ora11g/
SQL> ! cp -av /home/oracle1/backup/arch/hot_20240112/*.dbf /u01/app/oracle/oradata/ora11g/
#) hot_backup file 확인
SQL> ! ls /home/oracle1/backup/arch/hot_20240112/
# recover
SQL> recover database;
ORA-00279: change 933110 generated at 01/12/2024 00:07:41 needed for thread 1
ORA-00289: suggestion : /home/oracle1/arch2/arch_1_4_1157923223.arc
ORA-00280: change 933110 for thread 1 is in sequence #4
Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
auto
Media recovery complete.
#) DB open 하기
SQL> alter database open;
#) recover file 확인
SQL> select * from v$recover_file;
#) data file, tablespace 확인
SQL>
select a.file#, a.name file_name, b.name file_name, b.name tbs_name, a.status, a.checkpoint_change#
from v$datafile a, v$tablespace b
where a.ts# = b.ts#;
# 사용하지 않는 data01.dbf tablespace 삭제
SQL> drop tablespace data01 including contents and datafiles;
'Backup > Archive Log Mode' 카테고리의 다른 글
undo.dbf 장애 발생했을 경우 (0) | 2024.01.16 |
---|---|
archive file 이 다른 위치에 있을 경우 (0) | 2024.01.15 |
system data file 손상되었을 경우 (1) | 2024.01.15 |
tablespace 에 속한 여러 데이터 파일들 중에 특정한 파일이 손상되었을 경우 (1) | 2024.01.15 |
기존 위치가 아닌 새로운 위치로 복구 (0) | 2024.01.15 |