Tải bản đầy đủ (.pdf) (80 trang)

bài giảng chương iv an tòan dữ liệu và khôi phục sự cố

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (782.93 KB, 80 trang )

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)
 Chia sẻ dữ liệu (data sharing)
3
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ố
9
 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)
Khôi phục sự cố từ một giao tác
T1
T2
Lock(A)
Read(A)
A=A+1
Write(A)
Lock(B)
Unlock(A)
Read(B)
B=B/A

Lock(A)
Read(A)
A=A+2
Write(A)
Unlock(A)
Commit
 Nếu một giao tác T bị sự cố thì hệ
thống sẽ thực hiện các việc sau:
 Giải phóng các đơn vị dữ liệu đang
bị khóa bởi T (Ul(B))
 Reset lại giá trị các đơn vị dữ liệu
mà T đã làm thay đổi (A)
 Xét xem có giao tác nào(#T) đã đọc
dữ liệu do T ghi không? Nếu có:
-T’ chưa commit hủy
-T’ commit rồi  thực hiện lại
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 sẽ được sao chép thành nhiều bản nằm trên các đóa cứng khác
nhau. Có 2 phương pháp thực hiện sao lưu dữ liệu:
 Thủ công: Chọn thời điểm thích hợp người quản trò CSDL thực hiện công
cụ hỗ trợ của hệ thống để tiến hành sao lưu (Backup) toàn bộ hay một
phần CSDL lên một vò trí an toàn trong hệ thống. Bằng cách này, nếu có
xảy ra sự cố thì người quản trò CSDL sẽ sử dụng công cụ hỗ trợ của hệ
QTCSDL thực hiện thao tác phục hồi (Restore) hiện trạng CSDL. Thông
thường, cách này chỉ được tiến hành đột xuất.
 Tự động: Hầu hết các hệ QTCSDL đều có cơ chế tự động sao lưu và phục
hồi dữ liệu khi có sự cố. Có thể yêu cầu lưu lại mấy bản sao dữ liệu cuối
cùng. Có thể đònh kỳ cho hệ thống sẽ tự động sao lưu CSDL vào một giờ
nào đó trong ngày, một ngày cụ thể trong tuần hoặc trong tháng. Tới kỳ
đã đònh hệ thống sẽ tự động tiến hành việc sao lưu. Một khi có sự cố hệ
QTCSDL sẽ tự động phục hồi lại CSDL từ các phiên bản lưu mới nhất.
13
Các loại Backup
14
Full Backup
Differential Backup
Log Backup
Full Backup
15
 Cú pháp
Backup database <tên database> TO <tên logic backup>

 Ví dụ
BACKUP DATABASE AdventureWorks
TO DISK = ‘C:\Backup\AdventureWorks.bak’
Differential Backup
16
 Cú pháp:
Backup database <tên database> TO <tên logic backup>
WITH DIFFERENTIAL
 Ví dụ
BACKUP DATABASE AdventureWorks
TO DISK = ’C:\Backup\AdventureWorks.bak’
WITH DIFFERENTIAL
Log Backup
17
 Cú pháp:
Backup log <tên database> TO <tên logic backup>
WITH NO_TRUNCATE
 BACKUP LOG AdventureWorks
TO DISK= 'C:\SQL\Backup\ AdventureWorks.bak'
WITH NO_TRUNCATE
Phục hồi csdl (restore databse)
18
 Phục hồi tòan bộ CSDL
Restore database <tên database>
from <thiết bị backup>
Ví dụ:
RESTORE DATABASE AdventureWorks
FROM DISK = ‘C:\Backup\AdventureWorks.bak’
 Phục hồi giao tác
Restore log <tên database>

from <thiết bị backup>
Ví dụ
19
 backup database qlsv to disk='d:\qlsv.bak'
 restore database qlsv from disk ='d:\qlsv.bak'
Các cơ chế an toàn dữ liệu
20
 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
Kiểm soát quyền truy cập CSDL
21
Kiểm soát quyền truy cập CSDL
22
 User được phép truy xuất không điều kiện tới toàn bộ
CSDL và thực hiện bất kỳ thao tác nào trên CSDL đó
 User không được phép truy xuất tới bất kỳ bộ phận nào
của CSDL
 User có thể đọc một bộ phận của CSDL nhưng không
được thay đổi nội dung của bộ phận đó
 User có thể đọc đúng một bộ trong bảng NhanVien
nhưng không được sửa đổi bộ này
 User có thể đọc đúng một bộ trong bảng NhanVien và
sửa đổi nhưng không phải tất cả giá trị của bộ này.
Kiểm soát quyền truy cập CSDL
23
 User có thể đọc các thuộc tính MaNV, TenNV, MaPB
nhưng trong mỗi bộ chỉ được sửa giá trị của các thuoc
tính MaPB
 User có thể đọc các thuộc tính MaNV, TenNV, Luong

nhưng trong mỗi bộ chỉ được sửa giá trị của các thuộc
tính Luong trong khoảng thời gian từ 8h -> 11h từ một
thiết bị đầu cuối đặt trong phòng tài vụ
 User có thể đọc các thuộc tính MaNV, TenNV, Luong
nhưng trong mỗi bộ chỉ được sửa giá trị của các thuộc
tính Lương nếu và chỉ nếu giá trị hiện tại của thuộc
tính Luong < 500 USD
Kiểm soát quyền truy cập CSDL
24
 User có thể áp dụng các phép toán thống kê cho thuộc tính
Lương (như tính lương trung bình của từng phòng ban)
nhưng không được đọc hay sửa đổi các giá trị cá biệt.
 User có thể đọc các thuộc tính MaNV, Luong, HoaHong
và trong mỗi bộ có thể sửa giá trị của thuộc tính HoaHong
của nhân viên nếu và chỉ nếu người đó là trưởng phòng
của phòng đó.
 User có thể bổ sung thêm nhân viên vào một phòng ban
nào đó hay xóa nhân viên khỏi một phòng nào đó.
Kiểm soát quyền truy cập CSDL
25
 Xác nhận người dùng
 Phân quyền

×