Backup/RMAN

SYSTEM01.dbf 손상되었을 경우

잇꼬 2024. 1. 24. 18:55
728x90
반응형
SMALL

■ system data file 손상되었을 경우, backup 하는 방법

<ora11g session>
#) redo log 정보

SELECT a.group#, b.sequence#, a.member, b.bytes/1024/1024 MB, b.archived, b.status, b.first_time, b.first_change#, b.next_change#
FROM v$logfile a, v$log b
WHERE a.group# = b.group#
ORDER BY 1;

 


#) 샘플 테이블 생성
SYS@ora11g>

create table hr.emp_20240124 tablespace users as select * from hr.employees;
select count(*) from hr.emp_20240124;

 


#) 로그 스위치 발생 *3

alter system switch logfile;



#) redo log 정보 확인

SELECT a.group#, b.sequence#, a.member, b.bytes/1024/1024 MB, b.archived, b.status, b.first_time, b.first_change#, b.next_change#
FROM v$logfile a, v$log b
WHERE a.group# = b.group#
ORDER BY 1;

 


#) system data file 장애 유발

! rm /u01/app/oracle/oradata/ora11g/system01.dbf
! ls /u01/app/oracle/oradata/ora11g/system01.dbf

#) 로그 스위치 발생 *2

alter system switch logfile;



#) hr 계정 로그인 불가!
=> 오류 발생

conn hr/hr



#) sysdba 접속

@> conn / as sysdba
show user


#) 상태 확인

select status from v$instance;

<rman 접속>
RMAN> exit
[oracle1@oracle ~]$ rman target /


#) DB 내리기
RMAN> shutdown abort


#) mount 단계까지 올리기
RMAN> startup mount


#) 장애 확인하기
RMAN> list failure;


#) 장애 파일 자세히 보기!
RMAN> list failure 1742 detail;


#) backup 확인
RMAN> list backup;


#) 복구하기
=> 가장 최근받은 백업본으로 복구함
RMAN> restore tablespace system;


#) recover 하기
RMAN> recover tablespace system;


#) DB 올리기
RMAN> alter database open;



<ora11g session>
#) 접속되는지 확인

conn hr/hr
conn / as sysdba
select status from v$instance;

 

#) 테이블 복구 되었는지 확인

select count(*) from hr.emp_20240124;

728x90
반응형
LIST