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

 

 

 


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

 

 

Flashback Database 고려사항

 

 

 

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


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

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

 

 

 


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

 

 

Flashback Database 기술

 

 

 

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


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

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

 

 

 


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

 

 

Flashback Database 기술

 

 

 

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


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

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

 

 

 


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

 

 

Flashback Database 기술

 

 

 

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


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

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

 

 

 


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

 

 

Flashback Database 란?

 

 

 

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


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

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

 

 

 

 


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

 

 

Flashback Database 기술

 

 

    기존의 방식은 메모리상의 Database Buffer Cache의 모든 변경 내역을 리두 로그 버퍼에 기록하고 LGWR이 리두 로그 파일에 기록한다.

복원시 백업 파일을 restore 하고 리두로그 파일을 가지고 recovery 하는 방식!

Flashback은 Database Buffer Cache의 데이터 변경이 일어나면 Flashback 버퍼에 변경 내역을 기록하고 RVWR이라는 백그라운드 프로세서가 Flashback 로그에 기록한다.

복원시 restore 과정없이 Flashback 로그를 이용해서 recovery 하는 방식!

- Flashback Database는 Flashback Database 로그라는 일종의 로그 파일을 사용하여 구현된다.

- 오라클 데이터베이스는 Flashback Database 로그에 있는 데이터 블록의 "이전 이미지"를 주 기적으로 기록한다.

- 블록 이미지를 재사용하여 원하는 목표 시간 직전에 flashback 로그가 캡쳐된 시점으로 데이터 파일 변경 사항을 빠르게 취소할수 있다.

- 그런 다음 데이터 간의 차이(gap)를 메우기 위해 리두 로그 파일의 변경 사항이 적용된다.

- Flashback Database 로그는 Flash Recovery Area에서 자동으로 생성되고 관리된다.

 

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


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

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

 

 

 


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

 

 

Flashback Database 기술

 

 


 

 

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


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

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

 

 

 

 


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

 

 

Flashback Database 란?

 

Flashback Database를 수행하기 위한 3가지 구성요소
1. Archive Mode
 Flashback Database 기능을 적용하기 위해서는 Archive Mode로 설정하여야 한다.

2. Flashback Log File
Flashback Log File은 오라클 Database를 구성하는 Block(변경되기 이전의 이미지 Block)을 저장하는 로그 파일로서 10g에서 새롭게 소개되고 있는 데이터베이스 복구영역(database recovery area)에 생성되어진다.
기존의 redo log와의 차이점 - redo log의 경우에는 archive할 수 있는 기능이 함께 제공되었지만, Flashback Log는 archive 기능이 따로 제공될 필요가 없다.(db_recovery_file_dest, db_recovery_file_dest_size)
- Flashback Log의 경우에는 물리적인 database 복구에는 사용될수 없다는 점이다.


3. RVWR Background Process
Flashback Database 기능이 활성화 되어지면, rvwr이라는 background process가 시작된다.
역할 : Flashback Database Data를 Flashback Log에 기록
※ 관련 view
V$FLASHBACK_DATABASE_LOG;
V$FLASHBACK_DATABASE_STAT;

 


 

 

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


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

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

 

 

 

 


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

 

 

Flashback Database 란?

 

 

Flashback Database 기능은 RMAN, SQL*Plus에서 FLASHBACK DATABASE 커맨드를 이용하여 실행되며, 그 효과 면에서 일반적인 포인트-인-타임 복구 방식과 매우 유사하다. 이 기능을 이용하면 과거 특정 시점으로 데이터베이스의 상태를 되돌릴 수 있다. Flashback Database 기능을 활성화하려면, 먼저 Flash Recovery Area를 설정해야 한다.

Flash Recovery Area는 Oracle Database 10g에 추가된 새로운 기능으로, 오라클 데이터베이스 복구 관련 파일 및 작업을 위한 통합적인 저장 공간으로 활용된다. 복구 영역에는 Flash Database 로그 이외에도 아카이브 리두 로그, RMAN 백업 등이 저장된다.
오라클은 Flash Recovery Area 내에 Flashback Log를 자동 생성/관리 한다. Flash Recovery Area에는 쿼타(quota)가 설정되며, 따라서 Flashback Log에는 공간 제한이 적용된다. Flashback Log의 사이즈는 로그 저장 기간 동안의 데이터베이스 변경 과정에서 발생한 읽기/쓰기 작업량에 따라 크게 달라진다. 오래된 블록 버전의 복사본은 Flashback Log에 기록된다. 하루 동안 10%의 데이터베이스 블록이 업데이트되었다면, 24 시간 동안의 Flashback Log 사이즈는 전체 데이터베이스 용량의 10 분의 1 수준이 될 것이다. 데이터베이스를 과거 시점으로 복구하는 과정에서 더 많은 디스크 공간이 필요한 경우, DBA는 디스크 쿼타를 다이내믹하게 확장할 수 있다.


 

 

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


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

 

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

 

 

 

 


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

 

 

Flashback Database 란?

 

 

Flashback Database 개요
Oracle Database 10g 이전까지는 transactional point-in-time recovery를 위해서는 backup용 file과 redo log file을 이용하여 원하는 시간까지의 복구를 하였었다. 그러나 이 방법은 backup용 file이 오래된 것이며, archive log가 많이 쌓여 있을 때는 많은 시간이 소요된다. Oracle Database 10g부터는 flashback database를 이용하여 좀 더 빠른 recovery가 가능하게 되었다.

Flashback Database는 오라클 데이터베이스를 과거 시점으로 되돌리고, 논리적인 데이터 손상 또는 사용자 실수로 인해 발생한 문제를 해결할 수 있게 한다. Flashback Database는 데이터베이스를 위한 '되감기 버튼'과도 같다. 데이터베이스 백업본을 이용하여 복구 작업을 수행하지 않고도 데이터베이스를 과거의 시점으로 되돌릴 수 있다. 포인트-인-타임 복구 작업에는 테이프에 저장된 데이터베이스 백업을 복구하는 시간이 불필요하므로, 한층 신속한 복구가 가능하다.


Flashback database의 사용 용도는 logical data corruption이나 user error시 유용하다.
(Physical data corruption은 H/W 문제이기 때문에 Flashback database로 recovery는 불가능하다.) Flashback Database의 장점은 기존의 traditional point-in-time recovery에 비해 매우 빠른 recovery가 가능하다는 것이다. 이러한 빠른 성능을 낼 수 있는 이유는 flashback database는 database의 크기에 비례해서 recovery시간이 늘어나는 것이 아니라, 변경된 data의 양에 비례해서 recovery시간이 걸린다는 점이다.

 

 

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


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

+ Recent posts