Bài giảng hệ quản trị cơ sở dữ liệu chương 10 lê thị minh nguyện

8 4 0
Bài giảng hệ quản trị cơ sở dữ liệu chương 10   lê thị minh nguyện

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

Thông tin tài liệu

8/25/2017 Nội dung Khái niệm Chương 10 Khôi phục liệu Phân loại cố Khôi phục cố sau giao tác Khôi phục sau cố hệ thống GV: Lê Thị Minh Nguyện Email: nguyenltm@huflit.edu.vn Cài đặt chế lưu phục hồi liệu Hệ quản trị Cơ sở liệu Khái niệm Phân loại cố • Khơi phục CSDL tiến trình phục hồi CSDL trạng thái quán cuối trước có cố xảy • Khơi phục liệu tự động giúp giảm thiểu việc yêu cầu người sử dụng thực lại công việc (khi xảy cố) • Giao tác đơn vị khôi phục CSDL • Sự cố giao tác: cố gây nên việc giao tác kết thúc không bình thường • Một số cố xảy do: Hệ quản trị Cơ sở liệu • Khách quan: điện • Chủ quan: thao tác sai 2.1 Sự cố nhập liệu sai 2.2 Sự cố giao tác (transaction failure) 2.3 Sự cố liên quan đến hệ thống (system failure) 2.4 Sự cố thiết bị lưu trữ (media failure) Hệ quản trị Cơ sở liệu 8/25/2017 2.1 Sự cố nhập liệu sai 2.2 Sự cố giao tác (transaction failure) • Sự cố gây nên giao tác kết thúc khơng bình thường: • Ví dụ • Dữ liệu sai hiển nhiên • Dữ liệu sai khơng thể phát • Chia cho khơng • DBMS cung cấp chế cho phép phát lỗi • Giao tác bị hủy • Ràng buộc khóa chính, khóa ngoại • Dữ liệu nhập sai • Ràng buộc miền giá trị • Tràn số • Trigger 2.3 Sự cố liên quan đến hệ thống (system failure) • Sự cố gây nên bị truy xuất liệu nhớ • Ví dụ • Cúp điện Sự cố thiết bị lưu trữ (media failure) • Sự cố gây nên việc hay khơng thể truy cập liệu nhớ ngòai • Ví dụ • Lỗi phần mềm DBMS OS • Đầu đọc đĩa cứng hư • Hư RAM • Sector đĩa cứng hư 8/25/2017 Khôi phục cố sau giao tác T1 Sự cố hệ thống • Nếu giao tác T bị cố hệ thống thực việc sau: T2 Lock(A) Read(A) A=A+1 Write(A) Lock(B) Unlock(A) • Giải phóng đơn vị liệu bị khóa T (UL(B)) • Reset lại giá trị đơn vị liệu mà T làm thay đổi (A) (khó???) Lock(A) Read(A) A=A+2 • Xét xem có giao tác nào(#T) đọc liệu T ghi không? Nếu có: 4.1 Nhật ký giao tác 4.2 Nghi thức Undo log 4.3 Nghi thức Redo log 4.4 Phục hồi nóng 4.5 Phục hồi lạnh -T’ chưa commit hủy Read(B) -T’ commit  thực lại Write(A) Unlock(A) Commit Giả sử B/A (A=0) hệ thệ bị đứng B=B/A Hệ quản trị Cơ sở liệu 4.1 Nhật ký giao tác Hệ quản trị Cơ sở liệu 10 4.1 Nhật ký giao tác (tt) • Nhật ký giao tác chuỗi mẫu tin (log record) ghi nhận lại hành động DBMS • Một mẫu tin cho biết giao tác làm • Nhật ký tập tin lưu trữ nhớ chính, ghi xuống đĩa A = 16 B = 16 Actions • Hạn chế PP khơi phục log??? • Check point dùng để cải thiện q trình phục hồi • Check point định kỳ xảy ra: Data Log Log • Ghi tất log record từ hớ xuống nhớ phụ • Ghi xuống CSDL tất thay đổi Buffer Disk Memory Hệ quản trị Cơ sở liệu 11 Hệ quản trị Cơ sở liệu 12 8/25/2017 4.1 Nhật ký giao tác (tt) – check point 4.2 Nghi thức Undo T2 ghi nhận đĩa nên khơng cần phục hồi Hệ quản trị Cơ sở liệu 13 4.2 Nghi thức Undo (tt) Hệ quản trị Cơ sở liệu 14 4.3 Nghi thức REDO  Khi có cố  T1 T3 hoàn tất  T2 T4 chưa kết thúc T2 Khôi phục liệu T1 Bỏ qua T4 T3 Sự cố Hệ quản trị Cơ sở liệu 15 Hệ quản trị Cơ sở liệu 16 8/25/2017 4.3 Nghi thức REDO (tt) 4.4 Phục hồi nóng  Khi có cố Khi hệ thống hoạt động Cơ chế dựa nhật ký , liệu điểm phục hồi hệ thống  T1 T3 hoàn tất  T2 T4 chưa kết thúc T1 Bỏ qua T2 Thực lại T3 T4 Sự cố Hệ quản trị Cơ sở liệu 17 4.5 Phục hồi lạnh Hệ quản trị Cơ sở liệu 18 Cài đặt chế lưu phục hồi liệu Full Backup Differential Backup Log Backup • Xảy lỗi thiết bị (thiết bị hư, thay đĩa khác) • Thơng thường người ta có phiên CSDL nhật ký nằm đĩa khác Cơ chế dựa “nhật ký sau” • Cơ chế phục hồi lạnh tùy thuộc vào người quản trị CSDL Hệ quản trị Cơ sở liệu 19 Hệ quản trị Cơ sở liệu 20 8/25/2017 Full Backup Differential Backup • Cú pháp • Cú pháp: Backup database TO WITH DIFFERENTIAL • Ví dụ BACKUP DATABASE AdventureWorks TO DISK = ’C:\Backup\AdventureWorks.bak’ WITH DIFFERENTIAL Backup database TO • Ví dụ BACKUP DATABASE AdventureWorks TO DISK = ‘C:\Backup\AdventureWorks.bak’ 21 22 Phục hồi csdl (restore databse) Log Backup • Phục hồi tịan CSDL • Cú pháp: Backup log TO WITH NO_TRUNCATE Restore database from Ví dụ: RESTORE DATABASE AdventureWorks FROM DISK = ‘C:\Backup\AdventureWorks.bak’ • BACKUP LOG AdventureWorks TO DISK= 'C:\SQL\Backup\ AdventureWorks.bak' WITH NO_TRUNCATE • Phục hồi giao tác Restore log from 23 24 8/25/2017 Ví dụ Backup tự động Right Click vào Jobs chọn New Job… • backup database qlsv to disk='d:\qlsv.bak' • restore database qlsv from disk ='d:\qlsv.bak' 25 26 27 28 8/25/2017 Hệ quản trị Cơ sở liệu 29 Hệ quản trị Cơ sở liệu 30

Ngày đăng: 22/11/2023, 14:44

Tài liệu cùng người dùng

Tài liệu liên quan