File log hệ thống

Một phần của tài liệu Xử lý truy vấn và quản lý giao tác trong cơ sở dữ liệu (Trang 63 - 64)

Để khôi phục sau các lỗi ảnh hƣởng đến các giao tác, hệ thống duy trì một file log (nhật ký DBMS) để lƣu tất cả các hoạt động giao tác ảnh hƣởng đến giá trị của các mục dữ liệu. Thông tin này cần đến để cho phép khôi phục sau các lỗi. Bản ghi đƣợc lƣu trên đĩa, do đó nó không bị ảnh hƣởng bởi bất kỳ loại rủi ro nào ngoại trừ trƣờng hợp lỗi ổ đĩa hoặc các lỗi thảm hoạ. Thêm vào đó file log này đƣợc sao lƣu một cách định kỳ ra băng hoặc đĩa mềm để

Bắt đầu giao tác Hoạt động đọc, ghi kết thúc giao tác Thất bại Đã cam kết cam kết Bãi bỏ Bãi bỏ Cam kết từng phần Kết thúc

Hình 2.4. Biểu đồ trạng thái giao tác minh hoạ các trạng thái đối với việc thực hiện giao tác

đề phòng các trƣờng hợp lỗi. Các mục, đƣợc gọi là các bản ghi log, đƣợc ghi vào trong file [6]:

1. [Start_transaction, T]: giao tác T bắt đầu thực thi

2. [Write_item,T,X,old_value,new_value]: giao tác T thay đổi giá trị của mục cơ sở dữ liệu X từ giá trị cũ sang giá trị mới.

3. [Read_item,T,X]: giao tác T đọc giá trị của mục cơ sở dữ liệu X

4. [Commit,T]: giao tác T đƣợc kết thúc thành công, và xác nhận những ảnh hƣởng của giao tác này đƣợc đƣợc lƣu vào trong cơ sở dữ liệu

5. [Abort,T]: giao tác T bị hủy bỏ.

Công việc khôi phục bao gồm tất cả các giao tác thực thi. Giả định tất cả những thay đổi lên cơ sở dữ liệu xẩy ra trong giao tác, vì vậy các giao tác lỗi hoặc các thao tác trong giao tác lỗi sẽ đƣợc phục hồi từ file log. Nếu hệ thống bị xung đột thì có thể phục hồi trạng thái cơ sở dữ liệu bằng cách kiểm tra lại giao tác trong file log vì bản ghi gồm các thao tác“Write” làm thay đổi giá trị của một vài mục cơ sở dữ liệu. Sau khi thực hiện xong mỗi thao tác trong giao tác T, CSDL vẫn có thể khôi phục bằng cách trở lại file log và cài đặt lại tất cả các khoản mục bị thay đổi bởi thao tác “Write” trong T để lấy lại giá trị cũ. Thực hiện lại những thao tác của giao tác cũng là cần thiết vì tất cả những cập nhật của chúng đều đƣợc ghi trong file log.

Một phần của tài liệu Xử lý truy vấn và quản lý giao tác trong cơ sở dữ liệu (Trang 63 - 64)