개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

 

 


개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

백업 및 복구

 

*데이터파일 온라인 복구절차
 -DB를 Shutdown 하지 않고 운영 중에 손상된 데이터파일을 복구하는 경우로서

단 System 테이블스페이스는 복구할 수 없다.
- 해당 데이터파일은 Offline 상태에서만 복구 가능하므로 손상된 데이터파일을 사용하는

 업무의 중단은 불가피하다.
- 해당 데이터파일을 offline한다.
-  SVRMGR> alter database datafile '/oradata/user_01.dbf' offline;
- 가장 최근의 백업본을 이용하여 데이터파일을 RESTORE한다.
- 손상된 DATA FILE을 복구한다.
-SVRMGR> set autorecovery on   <자동으로 아카이브 로그 파일이 적용되도록 셋팅한다>
-SVRMGR> alter database recover datafile  '/oradata/user_01.dbf'
- 해당 데이터파일을 online한다.
 - SVRMGR> alter database datafile '/oradata/user_01.dbf' online;

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr


개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

 

 


개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

백업 및 복구

 

*데이터파일 (Block Corruption 포함) 복구절차
- 현재 데이터베이스를 비정상 종료한 후 데이터베이스에 대한 COLD BACKUP을 실시한다.
- 손상된 데이터 파일과 해당 시점 이후에 발생한 모든 아카이브 로그 파일을 LOG_ARCHIVE_DEST에

설정된 디렉토리에 RESTORE한다. 
- 손상된 DATA FILE을 복구하고 데이터베이스를 오픈한다.
-SVRMGR> connect internal <Internal 사용자로 접속한다>
-SVRMGR> startup mount
-SVRMGR> set autorecovery on   <자동으로 아카이브 로그 파일이 적용되도록 셋팅한다>
-SVRMGR> recover database;  <실제로 아카이브 로그 파일을 적용하며 복구를 시작한다>
-SVRMGR> alter database open;
- 데이터베이스를 정상 종료한 후 Veritas NetBackup을 이용하여 현재시점의 데이터베이스를 다시

 COLD BACKUP한다.


 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

 

 


개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

백업 및 복구

 

 *복구(Recovery) 관련 점검사항
- 시스템 장애나 시스템 UPGRADE를 할 경우에는 COLD BACKUP을 수행한다.
- 장애가 발생한 정확한 시간을 기록한다. ( 년/월/일 시:분:초까지 기록 )
- 데이터베이스 복구에 앞서 데이터베이스 관리자는 현재의 데이터베이스에 대한 COLD BACKUP을

수행한다.
- 현재 백업한 COLD BACKUP본과 가장 최근의 COLD BACKUP본, HOT BACKUP본, 아카이브 로그 파일의 백업본이 정확한지 확인한다.
- 장애유형을 파악하고 이에 따른 적절한 복구 계획을 수립하여 데이터베이스 복구를 수행한다.
- 복구가 완료되면 데이타베이스를 정상 종료후 재 기동하여 데이타베이스의 상태를 점검한다.
- 데이터 및 데이타베이스 스키마가 적절한지 점검하고, 다시 현재상태의 데이터베이스에 대해 COLD BACKUP을 수행한다.

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

 

 


개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

백업 및 복구

 

* Hot Backup
 -데이터베이스가 기동중인 상태에서 스크립트 및 백업 도구를 이용하여 미리 정의된 백업 스케쥴에

따라 테이블스페이스 단위의 Hot Backup을 수행한다.

* 백업절차
- 테이블스페이스 백업모드 전환
- SVRMGR> alter tablespace user_data begin backup;
- OS 상에서 테이블스페이스의 관련 데이터파일 백업
 - cp /users/disk1/user01.dbf  /users/backup/user01.dbf

* 테이블스페이스 정상모드 전환
- SVRMGR> alter tablespace user_data end backup;

 

 


 

 


 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr


개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

 

 


개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

백업 및 복구

 

 *백업 종류
 -Cold Backup : 오라클을 정지시킨 후 관련 파일을 OS 명령어로 백업하는 방법이다.
 -Hot Backup : 오라클이 아카이브 모드로 기동되어 있는 상태에서 테이블스페이스 단위로 백업하는

방법이다.
 -Logical Backup : 오라클의 Export Utility를 이용한 백업을 의미한다.

 -Cold Backup
 -데이터베이스 정상 종료 후  스크립트 및 백업 도구를 이용하여 다음과 같은 데이터베이스 구성파일을 백업한다. (init.ora 파라미터 파일도 백업한다.)

* 데이터파일 확인
 - SQL> select name, status from v$datafile;

* 컨트롤파일 확인
 - SQL> select name from v$controlfile;
 

*Redo Log file 확인
 - SQL> select member from v$logfile;

 

 


 

 


 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr


개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

 

 


개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

백업 및 복구

 

  Archive Log 운영
 

*init.ora 파라미터 설정
- LOG_ARCHIVE_DEST=/disk1/archive/ -> log file이 생성되는 디렉토리 지정
- LOG_ARCHIVE_FORMAT=arch%s.arc       -> archive log file 형식지정, ‘s’는 log sequence 번호임.
- LOG_ARCHIVE_DUPLEX_DEST   -> archive log file 자체도 이중화할 수 있음.

* Archive Log Mode 변경
- 데이터베이스를 mount 상태로 startup 하여 mode를 변경한다.
- SVRMGR> alter database archivelog;
- Archive log mode로 변경시에는 반드신 콜드백업을 수행한다.
- Archive Process 기동

* 수동으로 기동
 -SVRMGR> alter system archive log start;
 -Init.ora 파라미터 파일에 다음과 같이 설정하면 Instance startup시 자동으로 기동된다.
 -LOG_ARCHIVE_START = true

 

 


 

 


 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr


개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

 

 


개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

백업 및 복구

 

 

 *Archive Log / No Archive Log Mode
 

*No Archive Log Mode
 -트랜잭션 로그를 저장하기 위한 Online Redo Log File이 순환 형태로 사용되며 재사용시에는

 이전의 정보를 상실한다.
- 따라서 최근 콜드백업까지만 데이터베이스를 복구할 수 있다.
- 온라인백업을 사용할 수 없으며 콜드백업만 수행할 수 있다.

* No Archive Log Mode
- Online Redo Log file이 재사용되기 이전에 데이터를 디스크상의 별도의 Archive File로 백업한다.
- 최근의 콜드백업본과 그 이후의 Archive Log 파일이 있으면 데이터베이스의 완전복구가 가능하다.
- 온라인백업은 Archive Log Mode에서만 가능하다.
- 과거 특정시점으로의 Point-In-Time 복구가 가능하다.
- Archive Log File을 저장하기 위한 Disk 공간과 백업 자원이 추가로 필요하다.

 


 

 


 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr


개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

 

 


개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

백업 및 복구

 

 

장애 유형 
 *SQL문 Error
 - 잘못된 Application Logic, Bad Data 입력, Constraint 위반
 -부적절한 User privilege, System privilege, Tablespace 부족 등
 -User Process의 비정상 종료, Application의 Exception 발생
 -사용자의 실수 : Drop, Truncate, Delete, Update SQL
 

 *Instance 장애
 -정전
 -CPU장애, Memory Corruption, O/S crash 등으로 인한 Instance 종료
 - 비정상적인 Background Process의 종료
 

 *Media 장애
 - Disk 장애에 의한 데이터베이스 파일 손상
 -사용자 실수에 의한 데이터파일 Delete

 


 

 


 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr


개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

 

 


개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

백업 및 복구

 

 

백업 주기

* 격주 백업
- 격주 토요일 전체 시스템에 대한 콜드백업을 수행한다.
- 데이터베이스의 안정적 운영을 위해 가능하면 배치 작업을 수행한 전후에도 콜드(COLD) 백업 수행을 원칙으로 한다.

* 일일 백업 
 -콜드(COLD)백업을 받지 않는 날에는 스케쥴에 맞춰 업무Group별로 핫(HOT) 백업을 수행한다.
 -핫백업 스케쥴 구성을 위한 기본단위는 업무별 테이블스페이스를 그룹하여 구성한다.
 -핫백업이 종료되면 ARCHIVE LOG 파일을 백업한다.
 

*수시 백업
 -배치작업과 같은 대용량 작업시 ARCHIVE_LOG_DEST의 사용량이 급격히 증가하는 것을 방지하기 위해 사용된다.
- ARCHIVE_LOG_DEST의 용량의 50%에 해당하는 Log가 쌓이게 되면 도구를 이용하여 자동으로 archive log파일을 백업하도록 한다.


 

 


 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr


개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

 

 


개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

백업 및 복구

 

 

백업 개요
* 백업 목적
  시스템의 안정적 운영과 장애 발생시 신속한 조치로 서비스 중단을 최소화 할 수 있는 데이터베이스

운영을 목적으로 한다.

* 백업 고려사항
  -안정적이고 효과적인 백업 설계
  -완벽한 데이터 복구 설계
 -장애 발생에 대한 대처 방안

* 백업 전략
 -완벽한 데이터 복구를 위해 아카이브로그(ARCHIVE LOG)모드로 운영한다.
- 백업도구를 이용하여 일정한(2주) 간격으로 콜드(COLD) 백업을 수행하고 매일 ARCHIVE LOG 파일

  백업을 수행한다.
 콜드백업과 콜드백업 사이에는 핫백업을 수행한다.
 백업일정에 의한 백업 결과 Report를 출력하여 업대장을 이용하여 관리할 수 있도록 한다.

 

 


 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr


개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

+ Recent posts