1. Trang chủ
  2. » Giáo án - Bài giảng

Chuong III 1

39 3 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Khụi Phụ Sau Sự Cố
Trường học Trường Đại Học Công Nghệ Thông Tin - ĐHQG TP.HCM
Chuyên ngành Hệ quản trị cơ sở dữ liệu
Thể loại Báo cáo
Năm xuất bản 2023
Thành phố Thành phố Hồ Chí Minh
Định dạng
Số trang 39
Dung lượng 507,14 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Quả ản n lý lý khôi khôi ph phụ ục c Recovery Recovery Manager Là một bộ phận của hệ quản trị cơ sở dữ liệu, chịu trách nhiệm ◦ Bảo ñảm 2 tính chất nguyên tố và bền vững của giao tác ◦

Trang 1

Khôi ph phụ ục c sau sau ssự ự c cố ố

Trang 2

Mụ ục c llụ ục c

 Mục tiêu

 Phân loại sự cố

 Khôi phục sau sự cố trên giao tác

 Khôi phục sau sự cố trên hệ thống

 Khôi phục sau sự cố trên hệ thống

 Khôi phục sau sự cố trên thiết bị lưutrữ

Trang 4

Quả ản n lý lý khôi khôi ph phụ ục c ((Recovery Recovery Manager)

 Là một bộ phận của hệ quản trị cơ

sở dữ liệu, chịu trách nhiệm

◦ Bảo ñảm 2 tính chất nguyên tốbền vững của giao tác

◦ Bảo ñảm tính nguyên tố, nghĩa là phải

giao tác chưa commit

◦ Bảo ñảm tính bền vững, nghĩa là phải bảo ñảm các thay ñổi của các giao tác ñã commit phải ñược ghi nhận

Trang 5

Phân lo loạ ạii các các ssự ự c cố ố

 Sự cố trên giao tác (Transaction

Failure) : là các sự cố làm cho một

giao tác kết thúc không bình thường

 Sự cố hệ thống (System Failure) : là

các sự cố làm mất hoặc không thể truy xuất dữ liệu ở bộ nhớ trong

 Sự cố trên thiết bị lưu trữ (Media

Failure) : là các sự số làm mất hoặc

không thể truy xuất ñược dữ liệu trên thiết bị lưu trữ ngoài

Trang 6

Xử ử lý lý ssự ự c cố ố trên trên thi thiế ếtt b bịị llư ưu u tr

trữ ữ

Trang 8

Xử ử lý lý ssự ự c cố ố giao giao tác tác

Trang 9

Unlock(A)

Lock(C) C:=C+10 Write(C) Unlock(C)

Lock(C) Read (C) C:=C*2 Write(C) Unlock(C) Commit Lock(A)

Read(A) B:=B/A

Trang 10

Nhậ ận n xét xét thí thí d dụ ụ ñã ñã nêu nêu

 Khi sự cố xãy ra, ta thấy

1 T2 ñang giữ Lock(B) => ai chịu trách

nhiệm giải phóng B ?

2 T2 ñã làm thay ñổi ñơn vị dữ liệu C =>

phải trả lại giá trị C ban ñầu ?

3 T3 ñọc dữ liệu C ñã ñược ghi bởi T2

và ñã commit trước khi sự cố xãy ra

=> phải xử lý thế nào với T 3

4 T1 chưa commit khi sự cố xãy ra =>

làm gì ñối với các hành ñộng của T1 trước sự cố ?

Trang 11

Xử ử lý lý ssự ự c cố ố h hệ ệ th thố ống ng

Trang 12

Nhắ ắc c llạ ạii v về ề c cơ ơ ch chế ế ñ ñọ ọc c//ghi ghi ñĩa ñĩa

 Dữ liệu sẽ ñược ñọc từ CSDL vào

Trang 13

A Input(A)

Main memory

B

Disk B Output(B)

Trang 15

Nguyên lý lý căn căn b bả ản n

 Cơ chế ñiều khiển cập nhật (Khi nào ghi ?)

Force : cập nhật mỗi khi có giao tác commit => bảo ñảm tính bền vững của giao tác

No Force : cập nhật theo chu kỳ thời gian => có thể không bảo ñảm tính bền vững

Trang 16

Nguyên lý lý căn căn b bả ản n (tt.) (tt.)

 Cơ chế quản lý cập nhật (Ghi cái

gì ?)

◦ Steal : Ghi tất cả các trang có thay ñổi (không quan tâm ñến giao tác ñã

làm thay ñổi ñã commit hay chưa =>

có thể không bảo ñảm tính nhất quán)

◦ No Steal : Chỉ ghi các trang bị do các thao tác ñã commit làm thay ñổi => bảo ñảm tính nhất quán

Trang 17

TTươ ương ng quan quan gi giữ ữa a Force Force Steal Steal

No-Steal No thing Redo

Trang 18

Cách ti tiế ếp p c cậ ận n steal steal, no , no force force

 Steal : những hành ñộng Write củacác giao tác chưa commit có thểñược ghi xuống ñĩa => No-steal

ngược lại

 Force : dữ liệu sẽ ñược cập nhật

commit => no-force ngược lại

 Các DBMS thường sử dụng steal, no-force

Trang 19

ðiể ểm m llư ưu u tr trữ ữ (Check point) (Check point)

 Một ñiểm lưu trữ là ñiểm mà tại ñó

dữ liệu từ vùng ñệm ñược lưu trữxuống ñĩa

Trang 20

Nhậ ậtt ký ký giao giao tác tác

 Mục tiêu : ghi nhận các thao tác trên

cơ sở dữ liệu

 Các loại mẫu tin

◦ [Begin-Trans,T] : bắt ñầu giao tac T

◦ [Read, T, A]: Giao tác T ñọc A

◦ [Read, T, A]: Giao tác T ñọc A

◦ [Write, T, A , giá trị cũ, giá trị mới]: giao

tác T viết A, giá trị cũ trước khi viết, giá trị mới sau khi viết

◦ [Commit, T] : giao tác T hoàn tất

◦ [Abort, T]: giao tác T bị huỷ

◦ [Check-point]: ñiểm lưu trữ

Trang 21

Lock(C) [Begin-Trans,T3] Read (C) [Read,T3,C] C:=C*2

Write(C) [Write,T3,C,20,40] Unlock(C)

Commit [Commit,T3] Lock(A)

Read(A) B:=B/A

Trang 22

◦ U : các giao tác chưa commit

◦ C : các giao tác ñã commit

Thực hiện lại (Redo) các hành

 Thực hiện lại (Redo) các hành

ñộng cập nhật của các giao táctrong tập C

 Hủy (Undo) các hành ñộng của

các giao tác chưa commit trongtap U

Trang 23

DB log

Before Image

Trang 25

ñộng khi sự cố xãy ra

2 Thực hiện lại (Redo) : lập lại các hành

ñộng từ một ñiểm trong nhật ký và khôi phục CSDL ñến trạng thái trước khi bị sự cố

3 Hủy (Undo) : hủy các hành ñộng của

các giao tác chưa commit

Trang 26

Nguyên lý lý c củ ủa a thu thuậ ậtt toán toán

 Viết nhật ký (log) trước (Write-Ahead Logging – WAL ): bất kỳ thay ñổi nào trên các ñ.v.d.l phải ñược ghi vào

tập nhật ký trước và nhật ký phải

ñược ghi ñĩa trước khi ñ.v.d.l ñược ghi

 Tái lập lịch sử trong giai ñoạn thực

hiện lại : khi khởi ñộng lại sau sự cố, ARIES tiến hành lưu lại vết tất cả các hành ñộng trước khi sự cố xãy ra

Trang 27

Nguyên lý lý c củ ủa a thu thuậ ậtt toán toán

thay ñổi ñược làm trong quá trìnhhủy các hành ñộng của một giaotác chưa commit phải ñược ghinhận lại

Trang 28

ðiể ểm m llư ưu u tr trữ ữ trong trong ARIES ARIES

 Khi ñến ñiểm lưu trữ, ARIES thực

hiện 3 bước sau

1 viết một mẫu tinh begin_checkpoint

vào nhật ký

2 Một mẫu tin end_checkpoint ñược

xây dựng

3 Một mẫu tin ñặc biệt chứa LSN của

mẫu tin begin_checkpoint ñược ghi vào một nơi cho trước trên ñĩa

Trang 29

 Cấu trúc của một mẫu tin nhật ký

prevLSN TransID type pageID Length Offset

Before-image

image

Trang 30

Cậ ập p nh nhậ ậtt nh nhậ ậtt ký ký giao giao tác tác

 Nhật ký giao tác ñược cập nhậtsau các thao tác

1 Cập nhật một trang (Update)

2 Giao tác hoàn tất (Commit)

2 Giao tác hoàn tất (Commit)

3 Giao tác bị hủy (Abort)

4 Giao tác kết thúc (End)

5 Hủy một cập nhật (Undo)

Trang 31

DB Buffer

31

Log

Log Buffer

Trang 32

Các c cấ ấu u trúc trúc khác khác liên liên quan quan

 Bảng giao tác (Transaction Table) : bảng này chứa mỗi mẫu tin (entry) liên quan ñến một hành ñộng củagiao tác ñang hoạt dộng

 Mỗi mục gồm hai thuộc tính

◦ ðịnh danh của giao tác (Transaction ID)

◦ LastLSN : con trỏ chỉ ñến LSN gần nhất thuộc giao tác này

Trang 33

◦ Page ID : ñịnh danh của trang

◦ recLSN: con trỏ chỉ ñến LSN ñầu tiên

ñã làm cho trang này thành dirty

Trang 34

 ðể phục vụ cho mục tiêu khôi

phục, mỗi trang dữ liệu sẽ lưu trữLSN của mẫu tin nhật ký ghi nhậnthay ñổi trên trang gần nhất

Trang 35

After-TransID lastLSN

T1000

T2000

Trang 36

Tiế ến n trình trình khôi khôi ph phụ ục c sau sau ssự ự c cố ố

 Giai ñoạn phân tích nhằm xác

ñịnh

1 ðiểm bắt ñầu tiến hành thực hiện lại

2 Các trang chưa cập nhật

2 Các trang chưa cập nhật

3 Các giao tác ñang hoạt ñộng và

chưa commit ñể hủy

Trang 37

Giai ño ñoạ ạn n phân phân tích tích

 Tìm ñiểm checkpoint gần nhất trong nhật ký

 Tạo hai bảng transaction page va

Trang 38

Giai ño ñoạ ạn n h hủ ủy y

 Duyệt từ cuối tập nhật ký lên ñếncheckpoint gần nhất

 Lấy lại giá trị cũ trong các mẫu tin update của các giao tác chưa

commit (xuất hiện trong

transaction table)

 Tạo một mẫu tin CLR

(Compensation Log Record)

Trang 39

Giai ño ñoạ ạn n th thự ực c hi hiệ ện n llạ ạii

 Duyệt các trang trong bảng dirtypage, mỗi trang xác ñịnh mẩu tin nhật ký ghi nhận hành ñộng thayñổi ñầu tiên trên trang (dựa vào

recLSN)

 Nếu hành ñộng có thể thực hiện lạithì

◦ Thực hiện lại

◦ pageLSN ñược gán giá trị LSN của

mẫu tin ñang xét

Ngày đăng: 08/11/2022, 15:57

TỪ KHÓA LIÊN QUAN

w