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

Bài giảng Hệ quản trị cơ sở dữ liệu: Chương 10 - Lê Thị Minh Nguyện

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 (1.22 MB, 7 trang )

<span class='text_page_counter'>(1)</span><div class='page_container' data-page=1>

Ch

ư

ơng 10.



<b>Khôi phục dữ liệu</b>



GV: Lê Thị Minh Nguyện
Email:


Nội dung


1. Khái niệm


2. Phân loại các sự cố


3. Khôi phục sự cố sau một giao tác
4. Khôi phục sau sự cố hệ thống


5. Cài đặt cơ chế sao lưu và phục hồi dữ liệu


Hệ quản trị Cơsở dữ liệu 2


1. Khái niệm



•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.


•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 thực 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.


Hệ quản trị Cơsở dữ liệu 3


2. Phân loại sự cố




•Sự cố giao tác: là các sự cố gây nên việc một giao tác kết thúc
khơng bình thường


•Một số sự cố có thể xảy ra do:
•Khách quan: mất điện


•Chủ quan: thao tác sai
2.1. Sự cố do nhập liệu sai


2.2. Sự cố của giao tác (transaction failure)
2.3. Sự cố liên quan đến hệ thống (system failure)


2.4. Sự cố trên thiết bị lưu trữ (media failure)


</div>
<span class='text_page_counter'>(2)</span><div class='page_container' data-page=2>

•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áthiệ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


2.1. Sự cố do nhập liệu sai




•Sự cố gây nên một giao tác kết thúc khơngbì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


2.2. Sự cố của giao tác (transaction failure)



•Sự cố gây nên bị mất hoặc không thể truyxuấ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


2.3.

Sự cố liên quan đến hệ thống (system failure)



•Sự cố gây nên việc mất hay không thể truycậ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ư


</div>
<span class='text_page_counter'>(3)</span><div class='page_container' data-page=3>

3. Khơi phục sự cố sau một giao tác



Hệ quản trị Cơsở dữ liệu 9


<b>T1</b> <b>T2</b>
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)<b>(khó???)</b>
•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


4. Sự cố hệ thống



Hệ quản trị Cơsở dữ liệu 10


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


4.1. Nhật ký giao tác



Hệ quản trị Cơsở dữ liệu 11


•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ể


Actions Log


Data


Memory
A = 8<b>16</b>


B = 8 <b>16</b>


Log


Disk


4.1. Nhật ký giao tác (tt)



•Hạn chế của PP khơi phục bằng log???


•Check point dùng để cải thiện q trình phục hồi


•Check point định kỳ xảy ra:


•Ghi tất cả log record từ bộ hớ chính xuống bộ nhớ phụ


•Ghi xuống CSDL tất cả những gì thay đổi trên Buffer


</div>
<span class='text_page_counter'>(4)</span><div class='page_container' data-page=4>

4.1. Nhật ký giao tác (tt) – check point



Hệ quản trị Cơsở dữ liệu 13



T2 đã ghi nhận trên đĩa nên khơng cần phục hồi gì cả


4.2. Nghi thức Undo



Hệ quản trị Cơsở dữ liệu 14


4.2. Nghi thức Undo (tt)



Hệ quản trị Cơsở dữ liệu 15


Khi có sự cố


T1và T3đã hồn tất
T2và T4chưa kết thúc


T3


T4


T1


Sự cố


T2


Bỏ qua


Khơi phục dữ
liệu



4.3. Nghi thức REDO



</div>
<span class='text_page_counter'>(5)</span><div class='page_container' data-page=5>

4.3. Nghi thức REDO (tt)



Hệ quản trị Cơsở dữ liệu 17


Khi có sự cố


T1và T3đã hồn tất
T2và T4chưa kết thúc


T3 T4


T1


Sự cố


T2 Bỏ qua
Thực hiện lại


4.4. Phục hồi nóng



Hệ quản trị Cơsở dữ liệu 18


<b>Khihệ thống đang hoạt động. Cơ chếnàydựatrênnhậtký , cácbảnsaodữ</b>


<b>liệuvàđiểm phục hồi hệ thống.</b>


4.5. Phục hồi lạnh




•Xảy ra do lỗi thiết bị (thiết bị hư, thay đĩa khác).


•Thơng thường người ta có một phiên bản CSDL và nhật ký
nằm trên một đĩa khác. Cơchế này dựa trên “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ở dữ liệu 19


5. Cài đặt cơ chế sao lưu và phục hồi dữ liệu



1. Full Backup



2. Differential Backup


3. Log Backup



</div>
<span class='text_page_counter'>(6)</span><div class='page_container' data-page=6>

<b>Full Backup</b>



21


•Cú pháp


Backup database <tên database> TO <tên logic backup>


•Ví dụ


BACKUP DATABASE AdventureWorks


TO DISK =



‘C:\Backup\AdventureWorks.bak’


<b>Differential Backup</b>



22
•Cú pháp:


Backup database <tên database> TO <tên logic
backup>


WITH DIFFERENTIAL


•Ví dụ


BACKUP DATABASEAdventureWorks


TO DISK= ’C:\Backup\AdventureWorks.bak’


WITH DIFFERENTIAL


Log Backup



23
•Cú pháp:


Backup log <tên database> TO <tên logic backup>
WITH NO_TRUNCATE


•<b>BACKUP LOG </b>AdventureWorks



<b>TO DISK= 'C:\SQL\Backup\</b>AdventureWorks<b>.bak' </b>
<b>WITH NO_TRUNCATE</b>


<b>Phục hồi csdl (restore databse)</b>



24


•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>


</div>
<span class='text_page_counter'>(7)</span><div class='page_container' data-page=7>

Ví dụ



25
•backup databaseqlsv to disk='d:\qlsv.bak'


•restore databaseqlsv from disk='d:\qlsv.bak'


Backup tự động




26


Right Click vào<b>Jobs</b>chọn<b>New Job… </b>


</div>

<!--links-->

×