Backup/Archive Log Mode

모든 데이터 파일 손상되었을 경우

잇꼬 2024. 1. 15. 18:10
728x90
반응형
SMALL

# 장애 유발 #
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;



728x90
반응형
LIST