Bài giảng "Chương IV: An tòan dữ liệu và khôi phục sự cố" trình bày về giới thiệu an tòan dữ liệu và khôi phục sự cố, phân loại sự cố, mục tiêu của khôi phục sự cố, các phương pháp phục hồi dữ liệu, an tòan Logic dựa trên nhật ký, khôi phục sau sự cố có hệ thống.
AMBIENT/
Chủ đề:
Nội dung Text: Bài giảng Chương IV: An tòan dữ liệu và khôi phục sự cố
- Chương IV. An tòan dữ liệu và
khôi phục sự cố
1
- Nội dung
Giới thiệu
Phân loại sự cố
Mục tiêu của khôi phục sự cố
Các phương pháp phục hồi dữ liệu
An tòan logic dựa trên nhật ký
Khôi phục sau sự cố có hệ thống
2
- Giới thiệu
An toàn dữ liệu: nhằm chống lại sự xâm nhập trái phép từ bên
trong và bên ngoài hệ thống. Các tác nhân tác động từ bên
ngoài gây hư hỏng hệ quản trị cơ sở dữ liệu, sai lệch, mất mát
dữ liệu, cấu trúc dữ liệu,..
Trạng thái nhất quán
Thỏa các ràng buộc toàn vẹn
CSDL nhất quán
CSDL ở trạng thái nhất quán
Ràng buộc bị vi phạm do:
Lỗi lập trình của các giao tác (transaction bug)
Lỗi lập trình của DBMS (DBMS bug)
Hư hỏng phần cứng (hardware failure)
3 Chia sẻ dữ liệu (data sharing)
- Phân loại sự cố
Một số sự cố có thể xảy ra do:
Khách quan: mất điện
Chủ quan: thao tác sai
Sự cố do nhập liệu sai
Sự cố của giao tác (transaction failure)
Sự cố liên quan đến hệ thống (system failure)
Sự cố trên thiết bị lưu trữ (media failure)
4
- Sự cố do nhập liệu sai
Dữ liệu sai hiển nhiên
Dữ liệu sai không thể phát hiện
DBMS cung cấp các cơ chế cho phép phát hiện lỗi
Ràng buộc khóa chính, khóa ngoại
Ràng buộc miền giá trị
Trigger
5
- Sự cố của giao tác (transaction failure)
Sự cố gây nên một giao tác kết thúc không bình
thường:
Ví dụ
Chia cho không
Giao tác bị hủy
Dữ liệu nhập sai
Tràn số
6
- Sự cố hệ thống (system failure)
Sự cố gây nên bị mất hoặc không thể truy
xuất được dữ liệu ở bộ nhớ trong.
Ví dụ
Cúp điện
Lỗi phần mềm DBMS hoặc OS
Hư RAM
7
- Sự cố trên thiết bị lưu trữ (media failure)
Sự cố gây nên việc mất hay không thể truy cập
được dữ liệu ở bộ nhớ ngòai
Ví dụ
Đầu đọc của đĩa cứng hư
Sector trên đĩa cứng hư
8
- Mục tiêu của khôi phục sự cố
Khôi phục CSDL là tiến trình phục hồi CSDL về trạng
thái nhất quán cuối cùng trước khi có sự cố xảy ra.
Việc khôi phục dữ liệu được thực hiện bởi bộ quản lý
khôi phục dữ liệu (RM- Recovery Manager).
Khôi phục dữ liệu tự động giúp giảm thiểu việc yêu
cầu người sử dụng thiện hiện lại công việc (khi xảy ra
sự cố).
Giao tác là đơn vị cơ bản khi khôi phục CSDL.
Trong 4 tính chất của GT(ACID), RM đảm bảo 2 tính
chất: tính nguyên tố(Atomic) và tính bền vững
(Durability)
9
- Khôi phục sự cố từ một giao tác
T1 T2 Nếu một giao tác T bị sự cố thì hệ
Lock(A) thống sẽ thực hiện các việc sau:
Read(A)
Giải phóng các đơn vị dữ liệu đang
A=A+1
Write(A) bị khóa bởi T (Ul(B))
Lock(B) Reset lại giá trị các đơn vị dữ liệu
Unlock(A) mà T đã làm thay đổi (A)
Lock(A)
Read(A) Xét xem có giao tác nào(#T) đã đọc
A=A+2 dữ liệu do T ghi không? Nếu có:
-T’ chưa commit hủy
Read(B)
Write(A) -T’ commit rồi thực hiện lại
Unlock(A)
Commit
B=B/A Giả sử B/A (A=0) thì hệ thệ bị đứng
10
- Các phương pháp phục hồi dữ liệu
Lưu thông tin trên đĩa cứng.
Tạo bản sao lưu (backup)
Tạo điểm phục hồi hệ thống (system check point)
An tòan logic dựa trên các nhật ký
11
- Lưu thông tin trên đĩa cứng
Tạo nhật ký để ghi chép lại các hành động đã diễn
ra. Thông tin ghi lại trong nhật ký là trình trạng các
trang vật lý của CSDL trước khi thực hiện hành
động của một giao tác.
Nhật ký giao tác là một chuỗi các mẫu tin (log
record) ghi nhận lại các hành động của DBMS
Một mẫu tin cho biết một giao tác nào đó đã làm những gì
Nhật ký là một tập tin tuần tự được lưu trữ trên bộ
nhớ chính, và sẽ được ghi xuống đĩa ngay khi có thể
12
- Tạo bản sao lưu (backup)
CSDL seõ ñöôïc sao cheùp thaønh nhieàu baûn naèm treân caùc ñóa cöùng khaùc
nhau. Coù 2 phöông phaùp thöïc hieän sao löu döõ lieäu:
Thuû coâng: Choïn thôøi ñieåm thích hôïp ngöôøi quaûn trò CSDL thöïc hieän coâng
cuï hoã trôï cuûa heä thoáng ñeå tieán haønh sao löu (Backup) toaøn boä hay moät
phaàn CSDL leân moät vò trí an toaøn trong heä thoáng. Baèng caùch naøy, neáu coù
xaûy ra söï coá thì ngöôøi quaûn trò CSDL seõ söû duïng coâng cuï hoã trôï cuûa heä
QTCSDL thöïc hieän thao taùc phuïc hoài (Restore) hieän traïng CSDL. Thoâng
thöôøng, caùch naøy chæ ñöôïc tieán haønh ñoät xuaát.
Töï ñoäng: Haàu heát caùc heä QTCSDL ñeàu coù cô cheá töï ñoäng sao löu vaø phuïc
hoài döõ lieäu khi coù söï coá. Coù theå yeâu caàu löu laïi maáy baûn sao döõ lieäu cuoái
cuøng. Coù theå ñònh kyø cho heä thoáng seõ töï ñoäng sao löu CSDL vaøo moät giôø
naøo ñoù trong ngaøy, moät ngaøy cuï theå trong tuaàn hoaëc trong thaùng. Tôùi kyø
ñaõ ñònh heä thoáng seõ töï ñoäng tieán haønh vieäc sao löu. Moät khi coù söï coá heä
13
QTCSDL seõ töï ñoäng phuïc hoài laïi CSDL töø caùc phieân baûn löu môùi nhaát.
- Các loại Backup
Full Backup
Differential Backup
Log Backup
14
- Full Backup
Cú pháp
Backup database TO
Ví dụ
BACKUP DATABASE AdventureWorks
TO DISK = ‘C:\Backup\AdventureWorks.bak’
15
- Differential Backup
Cú pháp:
Backup database TO
WITH DIFFERENTIAL
Ví dụ
BACKUP DATABASE AdventureWorks
TO DISK = ’C:\Backup\AdventureWorks.bak’
WITH DIFFERENTIAL
16
- Log Backup
Cú pháp:
Backup log TO
WITH NO_TRUNCATE
BACKUP LOG AdventureWorks
TO DISK= 'C:\SQL\Backup\ AdventureWorks.bak'
WITH NO_TRUNCATE
17
- Phục hồi csdl (restore databse)
Phục hồi tòan bộ CSDL
Restore database
from
Ví dụ:
RESTORE DATABASE AdventureWorks
FROM DISK = ‘C:\Backup\AdventureWorks.bak’
Phục hồi giao tác
Restore log
from
18
- Ví dụ
backup database qlsv to disk='d:\qlsv.bak'
restore database qlsv from disk ='d:\qlsv.bak'
19
- Các cơ chế an toàn dữ liệu
Kiểm soát quyền truy cập CSDL
Khung nhìn (view) như các cơ chế bảo vệ
Mã hóa dữ liệu
20