제 20 장 오라클에서 회복 및 백업 기능.

Slides:



Advertisements
Similar presentations
CUBRID 소개 (Object 개념) 서비스 사업부 / 기술지원팀. 목차 구조 일반적 특징 객체지향 특징 ORDB 개념을 이용한 스키마 ORDB 개념을 이용한 질의.
Advertisements

제 6 장 청소년과 사 이버 문화와 인터 넷중독. 1. 사이버 문화의 정의 사이버문화란 ? “ 기계화의 최신 국면으로서 정보화가 낳은 문화적 산물이며, 기계문화의 변형이다. 이 문화는 컴퓨터라는 정보처리기계의 허용과 관련하여 나 타나는 포괄적인 변화를 함축 첫째, 사이버문화는.
Oracle DB 구조 및 트랜잭션 관리 이경화 Database 의 구조 Program Global Area (PGA) Instance Database Buffer Cache Redo Log Buffer Library Cache Shared.
 신용카드매출 즉시결제사업 과 함께하는. 매출대금 즉시결제 당일 오전 8 시까지 카드 매출 발생 시, 당일 11 시 매출 대금 즉시 결제 신용카드사별로 가맹점 매출분에 대한 결재일이 3, 5, 7 일 이후 또는 월별 4 회 지급방법의 차이가 있어 매출대 금을 수금하는.
오라클 백업과 복구.
다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL
화일구조.
공교육 정상화 및 선행학습 금지 학부모 연수 부천송일초등학교.
능력단위명 : 데이터베이스 구현( _14v2) 대분류 중분류 소분류 세분류 정보통신(20) 정보기술(01)
몰랑이의 햄버거 만들기大 작전 click!.
소리가 작으면 이어폰 사용 권장!.
Analytic Function Analytic Function의 소개
데이터베이스 시스템.
Copyrightⓒ 1999 서울산업대학교 전자계산학과 석상기 교수
질의어와 SQL 기본 SQL 고급 SQL 데이타의 수정 데이타 정의 언어 내장 SQL
안재훈 기업고객사업본부/기술사업부 한국마이크로소프트
BACKUP & Synchronization
제 5 장 인덱스 생성 및 관리.
효과적인 DB암호화 구축을 위한 애슬론 v1.5 제안
AWR DB 보고서 분석.
JDBC 프로그래밍 이수지 이동주 1.
You YoungSEok 고급 SQL You YoungSEok
10장. 데이터베이스 보안과 권한 관리 데이터베이스 보안과 권한 관리
웹 기반에서 공간데이터 편집을 위한 오픈소스 솔루션
SQL Server 2005 데이터베이스 가용성 강화 측면에서 본 데이터베이스 미러링과 스냅샷, 복제
데이터베이스 담당교수 신정식 Chapter 4 SQL(1).
EM 을 이용한 오라클 DataGuard 구성방안 (RAC + EM + DataGuard)
Chapter 01 데이터베이스 시스템.
11장. 데이터베이스 서버 구축과 운영.
2007. Database Term Project Team 2 윤형석, 김희용, 최현대 우경남, 이상제
RAC설계 및 Backup.
장윤석과장 Technology Specialist (주)한국마이크로소프트
트랜잭션과 잠금 트랜잭션 처리 메커니즘을 자세히 이해한다. 트랜잭션의 종류를 파악한다.
Chapter 05 데이터베이스 프로그래밍.
Oracle DBMS 설치.
Database 소개.
ASP를 이용한 전자상거래 사이트 구축 지도교수님: 이형원 컴퓨터응용과학부 박정선.
DataStage 운영자 지침서 Operator’s Guide
트랜잭션(Transaction) I DBMS는 다수 사용자(Multi User) 용 대표적인 DB 응용
YOU Youngseok 트랜잭션(Transaction) YOU Youngseok
트랜잭션 처리(Transaction Processing)
다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL
CHAPTER 06. 데이터베이스 자료의 조직적 집합체_데이터베이스 시스템의 이해
제 9장: 파일과 데이터베이스 데이터 구성에서부터 데이터 채굴 까지.
제 9장: 파일과 데이터베이스 데이터 구성에서부터 데이터 채굴 까지.
Design of Flash-Based DBMS: An In-Page Logging Approach
JSP 게시판 구현.
고구려,백제,신라의 건국과 발전 Start!
기업고객사업본부 / 기술사업부 한국마이크로소프트
1조 김성수 백현기 석광우 김지원 박광연.
3장. SQL Server 2008전체 운영 실습 및 DB와 프로그램의 연동
학습목표 학습목표 본 장은 동시성 제어와 잠금(lock) 등 효과적인 트랜잭션 관리 기법 과 필요한 명령을 다룬다. 또한 데이터베이스의 장애에 대비하여 안전한 데이터의 관리를 위한 백업과 복원 기법, 서로 다른 DBMS 간이나 다른 서버 사이의 데이터 교환을 위한 데이터.
WinCE Device Driver 실습 #2
12 데이터 무결성 제약조건 데이터 무결성 제약조건의 개념 데이터 무결성 제약조건의 종류 무결성 제약조건의 생성 방법.
네트워크 설정 방법 (측정값데이터수집설정)
10장. 회복과 병행 제어 트랜잭션 장애와 회복 병행 제어.
Copyrightⓒ 1999 서울산업대학교 전자계산학과 석상기 교수
화일구조.
테이블 관리 테이블 생성,수정,삭제 데이터 입력 수정, 삭제 2010학년도 2학기.
뇌를 자극하는 Windows Server 장. 데이터베이스 서버.
▶서류관리 프로그램 1. 로그인….2 2. 서류등록 … 서류도착 서류스티커발행
데이터 베이스의 내부 구조.
1. 데이터베이스 환경.
1. 전문대학기초학습지원센터 접속하기 전문대학 기초학습지원센터 접속 접속URL : LOG-IN 클릭.
1. 전문대학기초학습지원센터 접속하기 전문대학 기초학습지원센터 접속 접속URL : LOG-IN 클릭.
1. 전문대학기초학습지원센터 접속하기 전문대학 기초학습지원센터 접속 접속URL : LOG-IN 클릭.
WinCE Device Driver 실습 #2
유예 X-FILE *조사자* 1301권희원 1315이예지 1317장아정 1322홍자현.
제 5 장 MariaDB인덱스 생성 및 관리.
Presentation transcript:

제 20 장 오라클에서 회복 및 백업 기능

1. 로그 파일 <트랜잭션번호, 로그의 타입, 데이터 항목 이름, 수정 전 값, 수정 후 값> DBMS는 트랜잭션이 수행 중이거나 수행이 종료된 후 발생하는 데이터베이스 손실을 방지하기 위해 트랜잭션의 데이터베이스 기록을 추적하는 로그 파일(log file)을 사용함 로그 파일은 트랜잭션이 반영한 모든 데이터의 변경사항을 데이터베이스에 기록하기 전에 미리 기록해두는 별도의 데이터베이스. 안전한 하드디스크에 저장되며 전원과 관계없이 기록이 남음 로그 파일에 저장된 로그의 구조 <트랜잭션번호, 로그의 타입, 데이터 항목 이름, 수정 전 값, 수정 후 값> ‘로그의 타입’은 트랜잭션의 연산 타입으로 START, INSERT, UPDATE, DELETE, ABORT, COMMIT 등이 있음. ‘수정 전 값’은 데이터의 변경 전 값을, ‘수정 후 값’은 연산의 결과로 변경된 값을 나타냄 <T1, START> <T1, UPDATE, Customer(박지성).balance, 100000, 90000> <T1, UPDATE, Customer(김연아).balance, 100000, 110000> <T1, COMMIT>

1. 로그 파일 주기억장치 ③ 박지성 트랜잭션 ④ 김연아 ③-1 ④-1 DBMS ① ② ⑤ ⑥ ⑥ 박지성 100000 START TRANSACTION ① /* 박지성 계좌를 읽어온다 */ ② /* 김연아 계좌를 읽어온다 */ /* 잔고 확인 */ ③ /* 예금인출 박지성 */ UPDATE Customer SET balance=balance-10000 WHERE name=‘박지성’; ④ /* 예금입금 김연아 */ SET balance=balance+10000 WHERE name=‘김연아’; COMMIT /* 부분완료 */ ⑤ /* 박지성 계좌를 기록한다 */ ⑥ /* 김연아 계좌를 기록한다 */ 주기억장치 ③ 트랜잭션 박지성 ④ 김연아 ③-1 버퍼 ④-1 DBMS ① ② ⑤ ⑥ ⑥ 박지성 100000 데이터베이스 트랜잭션 로그 파일 김연아 100000 (a) 계좌이체 트랜잭션 (b) 트랜잭션 수행과정 그림 8-13 트랜잭션 수행과 로그 파일

2. 로그 파일을 이용한 회복 시스템 운영 중 장애가 발생하여 시스템이 다시 가동되었을 때 DBMS는 로그 파일을 먼저 살펴봄. DBMS는 트랜잭션이 종료되었는지 혹은 중단되었는지 여부를 판단하여 종료된 트랜잭션은 종료를 확정하기 위하여 재실행(REDO)을 진행하고, 중단된 트랜잭션은 없던 일로 되돌리기 위해 취소(UNDO)를 진행함 트랜잭션의 재실행(REDO) 장애가 발생한 후 시스템을 다시 가동을 했을 때, 로그 파일에 트랜잭션 시작(START)이 있고 종료(COMMIT) 가 있는 경우임. COMMIT 연산이 로그에 있다는 것은 트랜잭션이 모두 완료되었다는 의미. 다만 변경 내용 이 버퍼에서 데이터베이스에 기록되지 않았을 가능성이 있음. 따라서 로그를 보면서 트랜잭션이 변경한 내용 을 데이터베이스에 다시 기록하는 과정이 필요하며, 이 과정을 REDO라고 함 트랜잭션의 취소(UNDO) 장애가 발생한 후 시스템을 다시 가동했을 때, 로그 파일에 트랜잭션의 시작(START)만 있고 종료(COMMIT)가 없는 경우임. COMMIT 연산이 로그에 보이지 않는다는 것은 트랜잭션이 완료되지 못했다는 의미로, 트랜잭션 이 한 일을 모두 취소해야 함. 이 경우 완료하지 못했지만 버퍼의 변경 내용이 데이터베이스에 기록되어 있 을 가능성이 있기 때문에 로그를 보면서 트랜잭션이 변경한 내용을 데이터베이스에서 원상복구시켜야 함. 이 과정을 UNDO라고 함

2. 로그 파일을 이용한 회복 즉시 갱신 방법 즉시 갱신(immediate update)은 ‘갱신 데이터→로그’, ‘버퍼→데이터베이스’ 작업이 부분완료 전에 동시에 진행될 수 있으며, 부분완료가 되면 갱신 데이터는 로그에 기록이 끝난 상태 지연 갱신 방법 지연 갱신(deferred update)은 ‘갱신 데이터→로그’가 끝난 후 부분완료를 하고 ‘버퍼→데이터베이스’ 작업이 진행되는 방법

2. 로그 파일을 이용한 회복 표 8-10 트랜잭션 로그와 회복 방법(즉시 갱신 방법) 로그 번호 작업 결과 i =0 아무 작업도 필요 없음 T1과 T2가 수행을 시작하지 않았음 1 <= i <= 4 UNDO(T1) : T1을 취소 → T1이 i까지 생성한 로그 레코드를 이용하여 데이터베이스 항목을 되돌림 T1을 수행하지 않은 것과 같음 5 <= i <= 9 REDO(T1) : T1을 재수행 → 1부터 4까지 T1이 생성한 로그 레코드를 이용하여 데이터베이스 항목 값을 기록함 UNDO(T2) : T2를 취소 → T2가 5부터 i까지 생성한 로그 레코드를 이용하여 데이터베이스 항목을 되돌림 T1은 수행이 완료됨 T2는 수행하지 않은 것과 같음 10 REDO(T2) : T2를 재수행 T1, T2는 수행이 완료됨

2. 로그 파일을 이용한 회복 표 8-11 트랜잭션 로그와 회복 방법(지연 갱신 방법) 로그 번호 작업 결과 i =0 아무 작업도 필요 없음 T1과 T2가 수행을 시작하지 않았음 1 <= i <= 4 T1 : 아무 작업도 필요 없음 T1을 수행하지 않은 것과 같음 5 <= i <= 9 REDO(T1) : T1을 재수행 → 1부터 4까지 T1이 생성한 로그 레코드를 이용하여 데이터베이스 항목 값을 기록함 T2 : 아무 작업도 필요 없음 T1은 수행이 완료됨 T2는 수행하지 않은 것과 같음 10 REDO(T2) : T2를 재수행 T1, T2는 수행이 완료됨

3. 체크포인트를 이용한 회복 로그를 이용한 회복은 시스템에 장애가 일어났을 때 어느 시점까지 되돌아가야 하는지 알 수 없음. 트랜잭션이 많은 응용의 경우 하루 이상 되돌아가서 복구하는 것은 사실상 불가능. 회복 시 많은 양의 로그를 검색하고 갱신하는 시간을 줄이기 위하여 몇 십 분 단위로 데이터베이스와 트랜잭션 로그 파일을 동기화한 후 동기화한 시점을 로그 파일에 기록해두는 방법 혹은 그 시점을 체크포인트(checkpoint, 혹은 검사점)라고 함 체크포인트 시점에는 다음 작업 진행 주기억장치의 로그 레코드를 모두 하드디스크의 로그 파일에 저장 버퍼에 있는 변경된 내용을 하드디스크의 데이터베이스에 저장 체크포인트를 로그 파일에 표시

3. 체크포인트를 이용한 회복 체크포인트가 있으면 로그를 이용한 회복 기법은 좀더 간단해짐 체크포인트 이전에 [COMMIT] 기록이 있는 경우 아무 작업이 필요 없음. 로그에 체크포인트가 나타나는 시점은 이미 변경 내용이 데이터베이스에 모두 기록된 후이기 때문 체크포인트 이후에 [COMMIT] 기록이 있는 경우 REDO(T)를 진행. 체크포인트 이후에 변경 내용이 데이터베이스에 반영되지 않았으므로 REDO를 진행 체크포인트 이후에 [COMMIT] 기록이 없는 경우 즉시 갱신 방법을 사용했다면 UNDO(T)를 진행. 버퍼의 내용이 반영됐을 수도 있기 때문에 원상복구 시켜야 함. 반면 지연 갱신 방법을 사용했다면 아무것도 할 필요가 없음. 지연 갱신 방법은 [COMMIT] 이전에는 버퍼의 내용을 데이터베이스에 반영하지 않기 때문

3 .체크포인트를 이용한 회복 트랜잭션 T1, T2, T3가 동시에 실행된 후 다음과 같이 로그 기록을 남김. 즉시 갱신 기법을 사용하여 회복을 한다면 REDO(T2), UNDO(T3)가 진행된다. T1에 대해서는 아무 작업이 필요 없음 로그 번호 로그 레코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 [T1, START] [T1, UPDATE, B, 200, 120] [T1, UPDATE, C, 300, 310] [T2, START] [T2, UPDATE, A, 110, 120] [T1, UPDATE, A, 120, 110] [T1, COMMIT] [T2, UPDATE. B, 120, 220] [CHECKPOINT] [T3, START] [T3, UPDATE, A, 110, 120] [T2, UPDATE, D, 400, 410] [T2, COMMIT] [T3, UPDATE. B, 220, 230] ~~ 시스템 장애 ~~ 그림 8-16 체크포인트가 포함된 로그 기록

4. 백업과 복원 백업(backup) : 데이터베이스에서도 역시 예상하지 못한 장애에 대비하여 데이터베이스를 복제하여 보관하는 작업 복원(recovery) :장애가 발생하여 운영 중인 데이터에 손상이 발생했을 때 기존에 복사해 둔 백업 파일을 사용하여 원래대로 되돌려 놓는 작업 미디어 오류 사용자 오류 하드웨어 장애

5.백업의 종류 전체 백업 차등 백업 트랜잭션 로그 백업

6. 오라클 백업 방법 물리적 백업 오라클 데이터베이스를 구동하기 위해 필요한 모든 파일(Data File, Redo Log File, Control File 등)을 물리적으로 ‘복사’하는 방법. OS 명령어를 통해 복사함. 콜드 백업 : 데이터베이스를 셧다운(shutdown)한 후에 백업을 진행하는 방법. Offline 백업이라고도 함. 핫 백업 : 운영 중인 데이터베이스의 파일을 복사하는 방법. Online 백업이라고도 함. 논리적 백업 실제 오라클 데이터베이스를 구성하는 물리적 파일을 직접 복사하는 방법이 아닌, 오라클 데이터베이스의 콘텐츠(내용)를 별도의 다른 형태의 파일로 복사함.  Export/Import

7. 오라클 논리적 백업

7. 오라클 논리적 백업

7. 오라클 논리적 백업