1. Trang chủ
  2. » Công Nghệ Thông Tin

Chuẩn bị kỳ thi số 731 lấy chứng chỉ DBA (Quản trị cơ sở dữ liệu) DB2 9, Phần 6: Tính sẵn sàng cao: Sao lưu và phục hồi pptx

85 410 0
Tài liệu đã được kiểm tra trùng lặp

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 85
Dung lượng 10,76 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

 Các lệnh SQL cơ bản có thể được thực hiện trên một cơ sở dữ liệu các câu lệnh SQL UPDATE, INSERT, DELETE và SELECT Bạn cũng nên quen với các thuật ngữ sau đây:  Đối tượng: Bất kỳ th

Trang 1

Chuẩn bị kỳ thi số 731 lấy chứng chỉ DBA (Quản trị cơ sở dữ liệu) DB2 9,

Phần 6: Tính sẵn sàng cao: Sao lưu và phục hồi

Sylvia Qi, Kiểm định chức năng, IBM Toronto Lab

Рауль Ф Чонг (Raul F Chong), Chuyên gia, IBM Toronto Lab,IBM

Tóm tắt: Hướng dẫn này bàn về các chủ đề sao lưu và phục hồi cơ sở dữ liệu Nó

giải thích các phương pháp khác nhau về phục hồi cơ sở dữ liệu và ghi lưu lại (ghi log) và làm thế nào để sử dụng các lệnh BACKUP (Sao lưu), RESTORE (Khôi phục lại), ROLLFORWARD (Khôi phục tiếp) và RECOVER (Phục hồi) Nó cũng bao gồm các lệnh DATABASE REBUILD (Xây dựng lại cơ sở dữ liệu) mới Đây

là phần đầu tiên của một cuộc thảo luận với hai phần về tính sẵn sàng cao; Phần 7 trình bày việc nhân bản dữ liệu, chia tách và việc khắc phục sự cố có tính sẵn sàng cao Đây là hướng dẫn thứ sáu trong một loạt bài gồm bảy hướng dẫn để giúp bạn chuẩn bị cho kỳ thi 731 về Quản trị Cơ sở dữ liệu DB2® 9 cho Linux®, UNIX®,

và Windows™

Trước khi bạn bắt đầu

Đây là hướng dẫn thứ sáu trong một loạt bài gồm có bảy hướng dẫn mà bạn có thể

sử dụng để trợ giúp chuẩn bị cho kỳ thi cấp chứng chỉ về Quản trị Cơ sở dữ liệu DB2 9 cho Linux, UNIX và Windows DB2® 9 Hướng dẫn này, kết hợp với Phần

7, Tính sẵn sàng cao: việc nhân bản dữ liệu, chia tách và việc khắc phục sự cố, trình bày các mục tiêu trong phần này của kỳ thi mang tên "Tính sẵn sàng cao"

Về loạt hướng dẫn này

Nếu bạn đang chuẩn bị tham dự kỳ thi 731 lấy chứng chỉ DBA DB2, bạn đã đến đúng chỗ một hướng dẫn tự học, giả định thế Loạt bài gồm bảy hướng dẫn

Trang 2

chuẩn bị lấy chứng chỉ DB2 này trình bày các khái niệm chính mà bạn cần phải biết cho kỳ thi này Hãy làm bài tập ở nhà của bạn ở đây để làm giảm bớt những căng thẳng trong ngày thi

và Windows) (kỳ thi 731) Các tài liệu trong hướng dẫn này chủ yếu trình bày các mục tiêu tại Phần 6 của kỳ thi này, "Tính sẵn sàng cao" Bạn có thể xem các mục tiêu này tại: http://www-03.ibm.com/certify/tests/obj731.shtml Các chủ đề về tính sẵn sàng cao còn lại được trình bày trong Phần 7, Tính sẵn sàng cao: nhân bản dữ liệu có phân tách và khắc phục sự cố có tính sẵn sàng cao (HADR- high

availability disaster recovery)

Các mục tiêu

Sau khi hoàn thành hướng dẫn này, bạn sẽ có thể:

 Hiểu được các phương pháp phục hồi có sẵn với DB2

Trang 3

 Hiểu được các bản ghi giao dịch (log giao dịch) và các kiểu bản ghi khác có sẵn

 Hiểu được các kiểu của các phương pháp ghi log có thể được sử dụng

 Thực hiện các lệnh BACKUP

 Thực hiện các lệnh RESTORE

 Thực hiện các lệnh ROLLFORWARD

 Thực hiện các lệnh RECOVER

 Thực hiện các lệnh DATABASE REBUILD

 Hiểu biết về các vấn đề tạo lại chỉ mục

Các điều kiện cần trước

Để hiểu tài liệu được trình bày trong hướng dẫn này, bạn cần hiểu rõ về:

 Môi trường DB2 (các tệp cấu hình của trình quản lý cơ sở dữ liệu, các tệp cấu hình cơ sở dữ liệu, các biến đăng ký DB2, v.v)

 Sử dụng bộ xử lý dòng lệnh và các công cụ giao diện đồ họa (GUI) DB2 để gọi các lệnh DB2

 Các đối tượng DB2 khác nhau, chẳng hạn như các vùng bộ đệm, các không gian bảng (tablespaces), các bảng và các chỉ mục

Trang 4

 Các lệnh SQL cơ bản có thể được thực hiện trên một cơ sở dữ liệu (các câu lệnh SQL UPDATE, INSERT, DELETE và SELECT)

Bạn cũng nên quen với các thuật ngữ sau đây:

Đối tượng: Bất kỳ thứ gì trong một cơ sở dữ liệu có thể được tạo ra hoặc

được thao tác với SQL (ví dụ các bảng, các khung nhìn, các chỉ mục, các gói)

Bảng: Một cấu trúc logic được sử dụng để trình bày dữ liệu dưới dạng một

tập các hàng không theo thứ tự với một số cột cố định Mỗi cột có chứa một tập giá trị, mỗi giá trị có cùng một kiểu dữ liệu (hoặc kiểu con của kiểu dữ liệu của cột); các định nghĩa về các cột tạo nên cấu trúc bảng và các hàng

có chứa dữ liệu thực tế của bảng

Bản ghi: Biểu diễn lưu trữ của một hàng trong một bảng

Trường: Biểu diễn lưu trữ của một cột trong một bảng

Giá trị: Một mục dữ liệu cụ thể có thể được tìm thấy tại giao điểm của một

hàng và cột trong một bảng cơ sở dữ liệu

Structured Query Language (SQL-Ngôn ngữ truy vấn có cấu trúc)):

Một ngôn ngữ được tiêu chuẩn hóa được sử dụng để định nghĩa các đối tượng và thao tác dữ liệu trong cơ sở dữ liệu quan hệ (Để biết thêm về SQL, xem hướng dẫn thứ tư trong loạt bài này)

Trình tối ưu hóa DB2: Một thành phần của trình tiền biên dịch

(precompiler) SQL có chọn lựa một kế hoạch truy cập cho một câu lệnh SQL của Data Manipulation Language (DML- Ngôn ngữ thao tác dữ liệu) bằng cách mô hình hóa chi phí thực hiện một số kế hoạch truy cập khác nhau và chọn một kế hoạch truy cập có chi phí đánh giá thấp nhất

Trang 5

Để tham dự kỳ thi DBA DB2 9, bạn phải vượt qua kỳ thi 730 về Các khái niệm cơ bản của DB2 9 Chúng tôi khuyên bạn nên tìm hiểu loạt bài hướng dẫn về các khái niệm cơ bản của DB2 trước khi bắt đầu loạt bài này

Mặc dù không phải tất cả các tài liệu được thảo luận trong các loạt hướng dẫn các khái niệm cơ bản là cần thiết để hiểu về các khái niệm được mô tả trong hướng dẫn này, bạn ít nhất nên có một kiến thức cơ bản về:

Các khái niệm phục hồi cơ sở dữ liệu

Các kịch bản phục hồi

Trang 6

Bạn không bao giờ biết khi nào có một thiên tai hoặc hỏng hóc lại rơi vào hệ thống của mình Tốt nhất là phải chuẩn bị và bảo vệ dữ liệu của bạn không chỉ nhờ yếu

tố bên ngoài, mà còn với những người dùng nội bộ, những người có thể vô tình làm hỏng cơ sở dữ liệu của bạn bằng các thông tin không chính xác

Bạn có sao lưu cơ sở dữ liệu của bạn không? Bạn sẽ có thể phục hồi tất cả các giao dịch đã được thực hiện cho đến giây cuối cùng không?

Để giảm thiểu việc mất dữ liệu của bạn, bạn cần phải có một chiến lược phục hồi, đảm bảo rằng nó hoạt động và thực hiện chắc chắn Một số kịch bản phục hồi mà bạn nên xem xét là:

Sự cố mất điện hệ thống

Một sự cố hư hỏng nguồn, lỗi phần cứng, lỗi phần mềm có thể làm cho cơ

sở dữ liệu của bạn ở trong trạng thái không phù hợp

Giao dịch thất bại

Người dùng có thể vô tình làm hỏng cơ sở dữ liệu của bạn bằng cách sửa đổi nó với các dữ liệu sai

Lỗi phương tiện

Nếu ổ đĩa của bạn trở nên không sử dụng được, bạn có thể mất tất cả hay một phần dữ liệu

Thiên tai

Phòng máy ở đó có đặt hệ thống của bạn có thể bị hư hỏng do cháy, lũ lụt hoặc thiên tai tương tự khác

Trang 7

Các chiến lược phục hồi

Để lập kế hoạch chiến lược phục hồi của bạn, bạn nên tự hỏi mình một số câu hỏi:

 Dữ liệu của bạn có thể được nạp lại từ các nguồn khác không?

 Làm thế nào để bạn không bị mất dữ liệu?

 Mất bao nhiêu lâu để bạn có thể phục hồi cơ sở dữ liệu?

 Các nguồn tài nguyên lưu trữ nào có sẵn để lưu trữ các bản sao lưu và các tệp log?

Các giao dịch

Một đơn vị công việc (UOW), cũng được gọi là một giao dịch, bao gồm một hoặc

nhiều câu lệnh SQL được kết thúc bằng một câu lệnh COMMIT hoặc

ROLLBACK Tất cả các câu lệnh trong UOW này đang được coi là một đơn vị, để đảm bảo tính nhất quán của dữ liệu Ví dụ, một khách hàng đang cố gắng để

chuyển 100$ từ một tài khoản tiết kiệm đến một tài khoản dùng séc UOW trong trường hợp này sẽ như sau:

DELETE 100 dollars from SAVINGS account

INSERT 100 dollars to CHECKING account

Trang 8

COMMIT

Nếu các câu lệnh này đã không được thực hiện trọn vẹn như một đơn vị, bạn có thể tưởng tượng điều gì sẽ xảy ra khi có một lỗi phần cứng sau câu lệnh DELETE nhưng trước câu lệnh INSERT Khách hàng sẽ mất 100$! Khi các câu lệnh được coi là một đơn vị, tuy nhiên, điều này sẽ không bao giờ xảy ra DB2 sẽ biết đơn vị này đã không hoàn thành cam kết (COMMIT), và do đó nó sẽ khôi phục

ROLLBACK tất cả những thay đổi được các câu lệnh trước thực hiện và trả về các hàng bị ảnh hưởng về trạng thái mà chúng đã có trước khi bắt đầu giao dịch

Không có câu lệnh nào được sử dụng để nhận biết khởi đầu của một giao dịch Câu lệnh tiếp theo sau một COMMIT hoặc ROLLBACK sẽ bắt đầu một giao dịch mới

Trang 9

khôi phục ROLLBACK câu lệnh INSERT và sau đó là câu lệnh DELETE (Thứ tự trong đó các câu lệnh được phục hồi là ngược với thứ tự trong đó chúng được thực hiện ban đầu)

Phục hồi phiên bản

Cho phép để khôi phục lại một phiên bản trước của một cơ sở dữ liệu bằng cách sử dụng ảnh sao lưu do lệnh BACKUP tạo nên Cơ sở dữ liệu được khôi phục lại sẽ chứa các thông tin về trạng thái mà nó đã có khi lệnh BACKUP đã được thi hành Nếu hoạt động nữa được thực hiện trên cơ sở

dữ liệu sau khi sao lưu này đã được thực hiện, thông tin này sẽ bị mất

Phục hồi khôi phục tiếp

Mở rộng việc phục hồi phiên bản bằng cách sử dụng toàn bộ các bản sao lưu cơ sở dữ liệu cùng với các tệp log Một bản sao lưu phải được khôi phục lại đầu tiên để được sử dụng như nền; sau đó các log được được sử dụng dựa trên nền này Thủ tục này sẽ cho phép khôi phục lại của một cơ

sở dữ liệu hoặc một vùng các bảng đến một điểm cụ thể Phục hồi khôi

phục tiếp (rollforward) đòi hỏi phải kích hoạt việc ghi lưu trữ Việc ghi log

được thảo luận trong Các kiểu ghi log

Các bản ghi (log) DB2

Các log giao dịch DB2 rất quan trọng cho việc phục hồi Chúng theo dõi các thay đổi được thực hiện với các đối tượng cơ sở dữ liệu và dữ liệu Log có thể được lưu trữ trong các tệp hoặc trong các thiết bị thô Đối với các ví dụ dưới đây, chúng ta

sẽ sử dụng các tệp Để đảm bảo tính nguyên vẹn dữ liệu, DB2 sử dụng một sơ đồ ghi viết-trước, trong đó nó viết vào các log trước khi viết (gửi ra ngoài) các thay đổi vào cơ sở dữ liệu trên đĩa Hình dưới đây cho thấy sơ đồ này

Trang 10

Trong hình này có bốn câu lệnh SQL đã được thực hiện Các câu lệnh đã được lưu trữ nhanh trong bộ nhớ tạm và các trang dữ liệu đã được lấy ra từ cơ sở dữ liệu đưa vào vùng đệm Khi các câu lệnh SQL được thực hiện, trước tiên các thay đổi được ghi lại trong bộ đệm bản ghi và sau đó được viết vào các tệp log Trong ví dụ này, các phiên bản mới của các trang dữ liệu chưa được gửi ra bên ngoài đến cơ sở

dữ liệu Điều này được thực hiện bình thường khi không gian vùng bộ đệm cần thiết hoặc được thực hiện không đồng bộ vì các lý do hiệu năng

Các tệp log sơ cấp và thứ cấp

Các tệp log sơ cấp ngay lập tức được cấp phát trên kết nối cơ sở dữ liệu đầu tiên

hoặc vào thời gian kích hoạt cơ sở dữ liệu Các tệp log thứ cấp được cấp phát

động một tệp một lần khi cần thiết

Có một số tham số cấu hình cơ sở dữ liệu liên quan đến việc ghi log Một số trong chúng là:

Trang 11

Tham số Sử dụng

LOGPRIMARY Cho biết số lượng các tệp log sơ cấp được cấp phát

LOGSECOND Cho biết số lượng lớn nhất các tệp log thứ cấp có thể

Log file size (4 KB) (LOGFILSIZ) = 1000

Number of primary log files (LOGPRIMARY) = 3

Number of secondary log files (LOGSECOND) = 2

Path to log files = C:\mylogs\

Ngay sau khi kết nối lần đầu vào cơ sở dữ liệu được thiết lập, ba tệp log sơ cấp, mỗi tệp có 1000 trang 4 KB, được cấp phát Nếu bạn xem trong thư mục

C:\mylogs, bạn sẽ thấy ba tệp:

Trang 12

INSERT INTO TABLE1 VALUES(1);

INSERT INTO TABLE1 VALUES(2);

INSERT INTO TABLE1 VALUES(1,000,000);

COMMIT;

Trang 13

Chúng tôi đã đề cập rằng những thay đổi cơ sở dữ liệu được ghi trong các log Không tăng thêm sự phức tạp của việc tính toán chính xác số lượng bộ nhớ dùng cho việc ghi log, mà ta nghĩ về điều cần minh họa DB2 sẽ điền vào log đầu tiên

và sẽ tiếp tục với log thứ hai và sau đó là log thứ ba Sau khi nó kết thúc với tệp log thứ ba, không có nhiều tệp log sơ cấp hơn (được cấp phát trước), do đó DB2 sẽ

tự động cấp phát tệp log thứ cấp đầu tiên do LOGSECOND lớn hơn không Một khi điều này hoàn thành, DB2 sẽ tiếp tục cấp phát tệp log thứ cấp khác và sẽ lặp lại quá trình này cho tới một giá trị lớn nhất về các tệp log LOGSECOND Với ví

dụ này, khi DB2 cố gắng cấp phát tệp log thứ cấp thứ ba, nó sẽ trả về một lỗi cho biết đạt tới một điều kiện giao dịch đầy đủ Tại thời điểm này, giao dịch sẽ được khôi phục

Các kiểu log

Phần này định nghĩa tóm tắt các kiểu log khác nhau Trong phần tiếp theo, bạn sẽ thấy chúng được sử dụng như thế nào khi chúng ta nói về kiểu ghi log Có ba kiểu hoặc ba trạng thái của các log giao dịch DB2:

 Nó chứa thông tin về giao dịch đã cam kết nhưng các thay đổi của

nó vẫn chưa được viết vào đĩa cơ sở dữ liệu (đã gửi ra bên ngoài)

Trang 14

Các log lưu trữ trực tuyến (Online)

Chứa thông tin về các giao dịch đã cam kết và đã gửi ra bên ngoài Các log như vậy được lưu giữ trong cùng thư mục giống như các log đang hoạt động

Các log lưu trữ không trực tuyến (Offline)

Các log lưu trữ đã được dịch chuyển từ thư mục log hoạt động đến một thư mục khác hoặc phương tiện khác Sự dịch chuyển này có thể được DB2 thực hiện hoặc bằng tay hoặc tự động

Các kiểu ghi log

Có hai kiểu ghi: Ghi vòng tròn và ghi lưu trữ

Ghi vòng tròn

Ghi vòng tròn là một chế độ ghi mặc định cho DB2 Như tên của nó ngụ ý, kiểu ghi này sử dụng lại các log theo một chế độ vòng tròn Ví dụ, nếu bạn đã có bốn log sơ cấp, DB2 sẽ sử dụng chúng theo thứ tự này: Log #1, Log #2, Log #3, Log

#4, Log #1, Log #2 và v.v

Một log có thể được tái sử dụng trong việc ghi vòng tròn miễn là nó chỉ chứa

thông tin về các giao dịch đã được cam kết và đã được gửi ra ngoài vào đĩa cơ sở

dữ liệu Nói cách khác, nếu log đó được vẫn là một log hoạt động, nó không thể được tái sử dụng

Trang 15

Khi sử dụng ví dụ ghi vòng tròn, điều gì sẽ xảy ra nếu bạn có một giao dịch dài hạn đã kéo dài tới năm log? Trong trường hợp này, DB2 cấp phát tệp log khác một tệp log thứ cấp, như được mô tả trong các tệp log sơ cấp và thứ cấp Hình dưới đây cho thấy cách làm việc này

Ghi lưu trữ

Khi bạn sử dụng ghi lưu trữ, bạn sẽ đang lưu trữ (duy trì) các log này Trong khi trong ghi vòng tròn bạn sẽ ghi đè lên các giao dịch đã được cam kết và được gửi ra ngoài, còn với ghi lưu trữ, bạn sẽ giữ lại chúng Ví dụ, nếu bạn đã có bốn log sơ cấp, DB2 có thể sử dụng chúng theo thứ tự này: Log #1, Log #2, Log #3, Log #4, (lưu trữ Log #1 nếu tất cả các giao dịch của nó được cam kết và được gửi ra

ngoài), Log #5, (archive Log #2 nếu tất cả các giao dịch của nó dịch được cam kết

và được gửi ra ngoài), Log #6, và v.v

Như trong ví dụ này, DB2 sẽ giữ bốn tệp log sơ cấp có sẵn và sẽ không sử dụng lại các tệp log đã được lấp đầy các giao dịch đã được cam kết và được gửi ra ngoài

Nó sẽ không ghi đè lên các log đã trở thành các log lưu trữ Hình dưới đây minh họa cách làm việc này

Trang 16

Các kiểu log cho các cơ sở dữ liệu được xác định qua tham số cơ sở dữ liệu

LOGARCHMETH1 Khi LOGARCHMETH1 là OFF (mặc định), việc ghi tư liệu không được phép và việc ghi vòng tròn được sử dụng

Để kích hoạt tính năng ghi lưu trữ, LOGARCHMETH1 có thể lấy bất kỳ giá trị sau:

LOGRETAIN Các tệp log sẽ được giữ lại trong thư mục log hoạt động

USEREXIT

Việc lưu trữ và lấy ra các log được thực hiện tự động bởi một chương trình userexit do người dùng cung cấp, chương trình này phải db2uext2 Chương trình này được gọi để di chuyển các log lưu trữ trực tuyến vào một thư mục khác với thư mục log hoạt động hoặc đến một phương tiện khác Nó cũng được gọi để lấy các log lưu trữ không trực tuyến (offline) tới thư mục log hoạt động khi chúng cần phép ROLLFORWARD db2uext2 phải

Trang 17

được lưu trữ trong thư mục sqllib\bin trên Windows và sqllib/adm trên UNIX

DISK:directory_name

Cũng giống như thuật toán được sử dụng trong USEREXIT DB2 không gọi một chương trình userexit, nhưng nó sẽ tự động lưu trữ các log từ thư mục log hoạt động vào thư mục được chỉ định

TSM:[management class

name]

Cũng giống như thuật toán được sử dụng trong USEREXIT Các log được lưu trữ trên máy chủ Tivoli Storage Manger (TSM) Tham số tên của lớp quản lý là tùy chọn Nếu không được chỉ định, các lớp quản lý mặc định được sử dụng

VENDOR:library_name

Cũng giống như thuật toán được sử dụng trong USEREXIT Các log được lưu trữ bằng cách sử dụng thư viện của nhà cung cấp chỉ định

Vì các lý do tương thích với quá khứ, tệp cấu hình cơ sở dữ liệu vẫn còn bao gồm các tham số LOGRETAIN và USEREXIT Các tham số này đã được thay thế bởi LOGARCHMETH1 kể từ phiên bản 8.2 Nếu bạn cập nhật các tham số

USEREXIT hoặc LOGRETAIN, LOGARCHMETH1 sẽ được tự động cập nhật và ngược lại

Ghi log vô hạn

Với việc ghi vòng tròn và ghi lưu trữ, không gian log có thể có khả năng được lấp

Trang 18

đầy bằng các log hoạt động Với việc ghi log vô hạn được kích hoạt, DB2 sẽ lưu trữ một log càng sớm càng tốt ngay khi nó bị đầy Nó không chờ đợi tất cả các giao dịch trong log được được cam kết và được gửi ra ngoài trước khi lưu trữ nó; việc này đảm bảo rằng thư mục log hoạt động sẽ không bao giờ đầy Ví dụ, nếu bạn có một giao dịch dài hạn, bạn sẽ không chạy ra ngoài không gian log

Việc ghi vô hạn không được khuyến cáo, tuy nhiên, vì nó có thể kéo dài thời gian phục hồi sự cố khi các log hoạt động có thể cần được lấy ra từ trạm lưu trữ Việc ghi log vô hạn là một sản phẩm phụ của việc ghi log lưu trữ Để kích hoạt tính năng ghi log vô hạn:

1 Thiết lập tham số cấu hình cơ sở dữ liệu LOGSECOND là -1

2 Kích hoạt tính năng ghi log lưu trữ

Các chủ đề phục hồi khác

Các kiểu ghi log và các kiểu phục hồi

Bây giờ bạn đã hiểu các kiểu ghi log và các kiểu phục hồi khác nhau, điều quan trọng cần lưu ý rằng không phải tất cả các kiểu ghi log hỗ trợ tất cả các kiểu phục hồi Việc ghi log vòng tròn chỉ hỗ trợ phục hồi sự cố (crash) và phiên bản, trong khi việc ghi log lưu trữ hỗ trợ tất cả các loại phục hồi: sự cố, phiên bản và phục hồi khôi phục tiếp

Các cơ sở dữ liệu có thể phục hồi và không thể phục hồi

Trang 19

Các cơ sở dữ liệu có thể phục hồi là các cơ sở dữ liệu có thể được phục hồi bằng

cách sử dụng việc phục hồi sự cố, phiên bản hoặc phục hồi khôi phục tiếp; do đó, việc ghi lưu trữ cần để được kích hoạt cho các cơ sở dữ liệu này Các cơ sở dữ liệu

không thể phục hồi là những cơ sở dữ liệu không hỗ trợ phục hồi khôi phục tiếp;

như vậy, chỉ có việc ghi vòng tròn được sử dụng

Xem xét lại

Cho đến nay chúng ta đã trình bày một số khái niệm về việc ghi và các log cơ sở

dữ liệu Hình sau đây tóm tắt một số khái niệm

Trang 20

Hình này cho thấy một số giao dịch đang chạy trong một khoảng thời gian Một số giao dịch chạy đồng thời; đầu tiên chúng bắt đầu lấp đầy các bộ đệm log và sau đó được viết vào các tệp log trên đĩa

MINCOMMIT là một tham số tệp cấu hình cơ sở dữ liệu

Các nội dung của bộ đệm log sẽ được viết vào các tệp log khi bộ đệm log đầy hoặc khi một số MINCOMMIT của các cam kết được đưa ra Các thay đổi tới các trang

dữ liệu cho các giao dịch đã cam kết sẽ được gửi ra bên ngoài (được ghi không đồng bộ từ vùng bộ đệm vào đĩa cơ sở dữ liệu) Vì mục đích đơn giản, trong hình

mà chúng ta chỉ ra điều này xảy ra tại thời gian cam kết, nhưng thông thường điều này không đúng như thế

Hình lục giác với nhãn hoạt động biểu diễn số lượng tệp log thời gian X là vẫn

được coi là một log hoạt động Như bạn thấy, hình lục giác này ở trên đỉnh của phần biểu diễn hình vuông của giao dịch D và C trong tệp log Y Tại sao tệp log X vẫn được coi là đang hoạt động ngay cả sau khi nó đã lấp đầy? Bởi vì nó chứa các giao dịch vẫn chưa được cam kết và được gửi ra ngoài Tệp log X có chứa các giao dịch A, B và C Chỉ có giao dịch A và B đã được cam kết (với ví dụ này và được gửi ra ngoài ngay lập tức); giao dịch C vẫn đang chạy và cũng được viết vào tệp log Y Khi giao dịch C được cam kết trong tệp log Y (với ví dụ này và được gửi ra ngoài ngay lập tức), sau đó tệp log X sẽ không còn được coi là một log hoạt động, nhưng sẽ trở thành một log lưu trữ trực tuyến

Sao lưu cơ sở dữ liệu và sao lưu không gian bảng

Truy cập trực tuyến so với truy cập không trực tuyến

Nếu chúng ta đang thực hiện một thao tác trực tuyến (online) (sao lưu, phục hồi,

khôi phục tiếp), chúng ta đang cho phép những người sử dụng khác truy cập vào đối tượng cơ sở dữ liệu mà chúng ta đang làm việc cùng một lúc

Trang 21

Nếu chúng ta đang thực hiện một hoạt động không trực tuyến (offline) chúng ta

không cho phép những người sử dụng bất kỳ quyền truy cập nào vào đối tượng cơ

sở dữ liệu mà chúng ta đang làm việc tại thời điểm đó

Chúng ta sẽ sử dụng các thuật ngữ online và offline khá thường xuyên trong phần

này

Sao lưu cơ sở dữ liệu

Một bản sao lưu cơ sở dữ liệu là một bản sao toàn bộ cơ sở dữ liệu của bạn Ngoài

các dữ liệu, một bản sao lưu còn chứa thông tin về các không gian bảng

(tablespace), các thùng chứa (container), cấu hình cơ sở dữ liệu, tệp kiểm soát log

và tệp lược sử phục hồi Lưu ý rằng một bản sao lưu sẽ không lưu các tệp cấu hình của trình quản lý cơ sở dữ liệu hoặc các biến đăng ký Chỉ có tệp cấu hình cơ sở

dữ liệu sẽ được sao lưu

Để thực hiện một việc sao lưu, bắt buộc phải có quyền SYSADM, SYSCTRL, hoặc SYSMAINT

Dưới đây là cú pháp của tiện ích lệnh BACKUP cho kiểu sao lưu này:

BACKUP DATABASE database-alias [USER username [USING

Trang 22

[OPTIONS {options-string | options-filename}] | TO dir/dev

[ {,dir/dev} ] | LOAD lib-name [OPEN num-sess SESSIONS]

[OPTIONS {options-string | options-filename}]]

[WITH num-buff BUFFERS] [BUFFER buffer-size]

[PARALLELISM n]

[COMPRESS [COMPRLIB lib-name [EXCLUDE]]

[COMPROPTS options-string]]

[UTIL_IMPACT_PRIORITY [priority]] [{INCLUDE |

EXCLUDE} LOGS] [WITHOUT PROMPTING]

Hãy xem xét một số ví dụ để xem một số tùy chọn này hoạt động như thế nào

Để thực hiện sao lưu không trực tuyến đầy đủ cơ sở dữ liệu "mẫu" và lưu trữ các bản sao lưu vào thư mục d:\mybackups, sử dụng lệnh sau đây:

BACKUP DATABASE sample

TO d:\mybackups

Để thực hiện sao lưu không trực tuyến đầy đủ của mẫu cơ sở dữ liệu khi sử dụng các tùy chọn sao lưu khác, bạn có thể sử dụng lệnh sau đây:

Trang 23

(1) BACKUP DATABASE sample

(2) TO /db2backup/dir1, /db2backup/dir2

(3) WITH 4 BUFFERS

(4) BUFFER 4096

(5) PARALLELISM 2

Hãy xem xét lệnh trên cụ thể hơn:

1 Chỉ thị ra tên (hoặc bí danh) của cơ sở dữ liệu để sao lưu

2 Định rõ (các) vị trí ở đó bạn muốn lưu trữ bản sao lưu

3 Cho biết có bao nhiêu bộ đệm từ bộ nhớ có thể được sử dụng trong các hoạt động sao lưu.Việc sử dụng nhiều hơn một bộ đệm có thể cải thiện hiệu suất

4 Cho biết kích thước của mỗi bộ đệm

5 Xác định có bao nhiêu các luồng/các quá trình ghi/ bộ đọc của phương tiện được sử dụng để thực hiện sao lưu

Với phiên bản 9, chúng ta đề xuất làm việc với các giá trị mặc định cho hầu hết các tùy chọn, khi tiện ích sao lưu có thể tự xác định cái gì tốt nhất cho hiệu năng riêng của mình

Không có từ khóa OFFLINE trong cú pháp, vì đây là chế độ mặc định Để thực

hiện bản sao lưu trực tuyến (online) đầy đủ của các cơ sở dữ liệu mẫu, bạn phải

Trang 24

chỉ rõ từ khóa ONLINE Các việc sao lưu trữ trực tuyến yêu cầu việc ghi lưu trữ phải được kích hoạt cho cơ sở dữ liệu Ví dụ dưới đây cho thấy làm thế nào để đưa

ra một hoạt động sao lưu trực tuyến

BACKUP DATABASE sample

ONLINE

TO /dev/rdir1, /dev/rdir2

Do một hoạt động sao lưu trực tuyến cho phép những người dùng truy cập vào cơ

sở dữ liệu trong khi nó đang được sao lưu, các thay đổi do những người dùng này thực hiện sẽ không thể được lưu trữ trong bản sao lưu Vì vậy, một hoạt động sao lưu trực tuyến không đủ cho việc phục hồi và các log tương ứng được thu thập trong hoạt động sao lưu này cũng cần thiết DB2 giúp dễ dàng thu thập log hoạt động hiện tại khi một hoạt động sao lưu kết thúc bằng cách buộc nó đóng (và được lưu trữ) khi việc sao lưu trực tuyến kết thúc

Để sao lưu các log như là một phần của bản sao lưu, hãy sử dụng tùy chọn

INCLUDE LOG của lệnh BACKUP DATABASE Điều này đảm bảo rằng ngay

cả khi bạn bị mất các log của mình, bạn vẫn có thể phục hồi đến một điểm tối thiểu cuối cùng bằng cách sử dụng các log được bao gồm trong ảnh sao lưu Tùy chọn INCLUDE LOG chỉ áp dụng để sao lưu trực tuyến

Ví dụ, để thực hiện sao lưu trực tuyến của cơ sở dữ liệu mẫu cùng với các log khi

sử dụng thư mục đích /dev/rdir1, hãy đưa ra:

Trang 25

BACKUP DATABASE sample

ONLINE

TO /dev/rdir1 INCLUDE LOGS

Sao lưu không gian bảng

Trong một cơ sở dữ liệu ở đó chỉ một số thay đổi không gian bảng của bạn là đáng

kể, bạn có thể chọn không sao lưu toàn bộ cơ sở dữ liệu, mà chỉ sao lưu không gian bảng cụ thể

Để thực hiện một việc sao lưu không gian bảng, sử dụng cú pháp sau:

(1) BACKUP DATABASE sample

(2) TABLESPACE ( syscatspace, userspace1, userspace2

)

(3) ONLINE

(4) TO /db2tbsp/backup1, /db2tbsp/backup2

Trang 26

Dòng 2 trong ví dụ trên cho thấy rằng đây sẽ là một công việc sao lưu không gian bảng trái ngược với một việc sao lưu cơ sở dữ liệu đầy đủ Cũng lưu ý rằng bạn có thể đặt nhiều không gian bảng trong bản sao lưu như bạn muốn Các không gian bảng tạm thời không thể được sao lưu khi sử dụng một hoạt động sao lưu mức không gian bảng

Điển hình là bạn thường muốn sao lưu các không gian bảng có liên quan với nhau

Ví dụ, hãy tưởng tượng bạn đang sử dụng các không gian bảng DMS, ở đó một không gian bảng được sử dụng cho các dữ liệu bảng, một không gian bảng khác cho các chỉ mục và một không gian bảng cho các LOB Bạn nên sao lưu tất cả các không gian bảng này cùng một lúc để bạn có thông tin phù hợp Điều này cũng đúng với các không gian bảng có chứa các bảng được định nghĩa với ràng buộc tham chiếu giữa chúng

Các bản sao lưu tăng dần

Có hai loại các bản sao lưu tăng dần:

Trang 27

Hình ảnh sau mô tả sự khác nhau giữa các kiểu này

Trong phần trên của hình, nếu đã có một sự cố sau khi sao lưu tăng dần trong ngày thứ Sáu, bạn có thể khôi phục lại bản sao lưu đầy đủ vào Chủ nhật đầu tiên, tiếp theo bản sao lưu tăng dần đã nhận được vào ngày thứ Sáu

Trong phần dưới của hình này, nếu đã có một sự cố sau khi sao lưu gia tăng vào ngày thứ Sáu, bạn có thể khôi phục lại bản sao lưu đầy đủ vào Chủ nhật đầu tiên bằng mỗi một trong các bản sao lưu gia tăng nhận được từ thứ Hai đến hết thứ Sáu

Thực hiện các sao lưu với Trung tâm điều khiển

Hình bên dưới cho bạn thấy cách gọi tiện ích BACKUP từ Trung tâm điều khiển

Để thực hiện sao lưu một cơ sở dữ liệu hoặc sao lưu không gian bảng, nhấn chuột

phải vào cơ sở dữ liệu bạn muốn sao lưu và chọn Backup

Hình tiếp theo chỉ ra trình thủ thuật Backup và các tùy chọn mà bạn cần phải hoàn tất để thực hiện các tiện ích BACKUP Chúng tôi khuyến khích bạn tự cố gắng thử nghiệm

Trang 28

Quy ước đặt tên cho các tệp sao lưu

Quy ước đặt tên cho tệp sao lưu DB2 có chứa các mục sau đây:

 Bí danh của cơ sở dữ liệu

 Con số cho biết kiểu sao lưu (0 cho một cơ sở dữ liệu đầy đủ, 3 cho một sao lưu không gian bảng, 4 cho một bản sao từ LOAD)

 Dấu thời gian của bản sao lưu

 Số tuần tự của file ảnh

Hình dưới đây chỉ ra quy ước đặt tên, trong đó áp dụng cho tất cả các nền tảng

Phục hồi cơ sở dữ liệu và phục hồi không gian bảng

Phục hồi cơ sở dữ liệu

Trang 29

Phần này bàn về tiện ích RESTORE, nó sử dụng một tệp sao lưu làm đầu vào và một cơ sở dữ liệu mới hoặc hiện có làm đầu ra Mặc dù chúng ta đang thảo luận về phục hồi cơ sở dữ liệu, tiện ích mà chúng ta sẽ sử dụng được gọi là RESTORE (khôi phục lại), không phải là RECOVER (phục hồi)

Bắt buộc phải có quyền SYSADM, SYSCTRL hoặc SYSMAINT để khôi phục lại một cơ sở dữ liệu hiện có Quyền SYSADM hoặc SYSCTRL là bắt buộc để khôi phục lại một cơ sở dữ liệu mới

Đây là cú pháp của lệnh RESTORE:

RESTORE DATABASE source-database-alias {

restore-options | CONTINUE | ABORT }

restore-options:

[USER username [USING password]]

[REBUILD WITH [ALL TABLESPACES IN DATABASE |

ALL TABLESPACES IN IMAGE]

[EXCEPT rebuild-tablespace-clause]

[rebuild-tablespace-clause]

[{TABLESPACE [ONLINE] | TABLESPACE

(tblspace-name [ {,tblspace-(tblspace-name} ]) [ONLINE] |

HISTORY FILE [ONLINE]}] [INCREMENTAL

[AUTOMATIC | ABORT]]

[{USE {TSM | XBSA} [OPEN num-sess SESSIONS] |

Trang 30

FROM dir/dev [ {,dir/dev} ] | LOAD shared-lib

[OPEN num-sess SESSIONS]}] [TAKEN AT date-time] [TO

target-directory]

[INTO target-database-alias] [NEWLOGPATH directory]

[LOGS FROM directory]

[LOGTARGET directory]

[WITH num-buff BUFFERS] [BUFFER buffer-size]

[DLREPORT file-name] [REPLACE EXISTING]

[REDIRECT] [PARALLELISM n]

[WITHOUT ROLLING FORWARD] [WITHOUT

DATALINK] [WITHOUT PROMPTING]

Rebuild-tablespace-clause:

[TABLESPACE (tblspace-name [ {,tblspace-name} ])

Hãy xem xét một ví dụ Để thực hiện việc khôi phục lại cơ sở dữ liệu thí dụ, sử dụng lệnh sau đây:

(1)RESTORE DATABASE sample

(2) FROM C:\DBBACKUP

Trang 31

(3) TAKEN AT 20060314131259

(4) WITHOUT ROLLING FORWARD

(5) WITHOUT PROMPTING

Trong ví dụ trên,

1 Cho biết tên tệp ảnh của cơ sở dữ liệu để khôi phục lại

2 Xác định vị trí mà từ đó tệp sao lưu đầu vào được đọc

3 Nếu có nhiều hình ảnh sao lưu trong thư mục, tùy chọn này sẽ xác định bản sao lưu cụ thể dựa vào dấu thời gian, dấu này là một phần của tên bản sao lưu

4 Nếu một cơ sở dữ liệu đã có việc ghi lưu trữ được kích hoạt, nó được tự động đặt trong trạng thái chờ khôi phục tiếp khi nó được khôi phục lại Dòng này cho DB2 biết không đặt cơ sở dữ liệu trong trạng thái chờ khôi phục tiếp

5 Bạn sẽ không được thông báo trong khi RESTORE đang được thực hiện

Lưu ý không có từ khóa OFFLINE trong cú pháp, vì đây là chế độ mặc định Đối với tiện ích RESTORE, đây là chế độ duy nhất được phép cho các cơ sở dữ liệu

Nếu các log có trong hình ảnh sao lưu, bạn có thể khôi phục lại các tệp log khi sử dùng tùy chọn LOGTARGET của lệnh RESTORE DATABASE

Trang 32

Để khôi phục lại cơ sở dữ liệu SAMPLE từ một hình ảnh sao lưu đặt tại thư mục C:\DBBACKUP và khôi phục lại các tệp log vào thư mục

C:\DB2\NODE0000\SQL00001\SQLOGDIR, đưa ra:

RESTORE DATABASE sample

FROM C:\DBBACKUP

LOGTARGET C:\DB2\NODE0000\SQL00001\SQLOGDIR

Bạn cũng có thể khôi phục lại chỉ các tệp log mà không cần khôi phục lại cơ sở dữ liệu bằng cách sử dụng từ khóa LOGS:

RESTORE DATABASE sample

LOGS FROM C:\DBBACKUP

LOGTARGET C:\DB2\NODE0000\SQL00001\SQLOGDIR

Phục hồi không gian bảng

Bạn có thể khôi phục lại không gian bảng hoặc từ một bản sao lưu cơ sở dữ liệu đầy đủ hoặc từ một bản sao lưu không gian bảng Việc phục hồi không gian bảng

Trang 33

cần một số kế hoạch cẩn thận, vì rất dễ sinh lỗi, làm dữ liệu của bạn đặt trong trạng thái không phù hợp

Dưới đây là một ví dụ về một lệnh RESTORE không gian bảng:

(1) RESTORE DATABASE sample

(2) TABLESPACE ( mytblspace1 )

(3) ONLINE

(4) FROM /db2tbsp/backup1, /db2tbsp/backup2

Trong ví dụ trên,

1 Cho biết tên ảnh cơ sở dữ liệu để khôi phục lại

2 Chỉ ra rằng đây là một không gian bảng RESTORE và xác định tên của (các) không gian bảng để khôi phục lại

3 Chỉ ra rằng đây là một sự khôi phục lại trực tuyến Đối với các không gian bảng của người sử dụng, cả việc khôi phục lại trực tuyến và không trực tuyến đều được phép Như đã đề cập trước, đối với cơ sở dữ liệu, chỉ được phép khôi phục lại không trực tuyến

4 Xác định vị trí lưu tệp sao lưu đầu vào

Các lý do cân nhắc phục hồi không gian bảng

Trang 34

Sau khi một không gian bảng được khôi phục lại, nó sẽ luôn luôn được đặt trong

trạng thái chờ khôi phục tiếp Để tạo ra một không gian bảng có thể truy cập được

và đặt lại trạng thái này, không gian bảng phải được khôi phục ít ra là cho đến thời điểm khôi phục tiếp tối thiểu Điểm tối thiểu này đảm bảo rằng không gian bảng

và các log là phù hợp với thông tin trong danh mục của hệ thống

Hãy xem xét ví dụ này:

1 Hãy tưởng tượng rằng tại thời điểm t1 bạn đã nhận được một bản sao lưu

cơ sở dữ liệu đầy đủ, trong đó bao gồm không gian bảng mytbls1

2 Vào thời điểm t2, bạn đã tạo bảng có tên myTable trong không gian bảng mytbls1 Điều này sẽ thiết lập thời điểm tối thiểu để phục hồi không gian bảng mytbs1 đến t2

3 Vào thời điểm t3, bạn đã quyết định khôi phục lại chỉ không gian bảng mytbls1 từ bản sao lưu cơ sở dữ liệu đầy đủ nhận được tại t1

4 Sau khi khôi phục lại xong, không gian bảng mytbls1 sẽ được đặt trong trạng thái chờ khôi phục tiếp Nếu bạn đã được phép khôi phục tiếp tới thời điểm trước thời điểm tối thiểu cuối cùng, không gian bảng mytbls1 sẽ không có bảng myTable; tuy nhiên, danh mục hệ thống sẽ cho biết bảng này tồn tại trong mytbls1 Để tránh mâu thuẫn như thế, DB2 sẽ buộc bạn phải khôi phục tiếp ít nhất là đến thời điểm tối thiểu cuối cùng khi bạn khôi phục lại một không gian bảng

Một điểm tối thiểu cuối cùng được cập nhật khi các câu lệnh DDL được chạy trên không gian bảng, hoặc trên các bảng trong không gian bảng này Để xác định điểm tối thiểu cuối cùng để phục hồi cho một không gian bảng, bạn có thể sử dụng một trong hai phương pháp sau đây:

Trang 35

 Sử dụng lệnh LIST TABLESPACES SHOW DETAIL

 Lấy bản chụp không gian bảng bằng lệnh GET SNAPSHOT FOR

TABLESPACE ON db_name

Không gian bảng danh mục hệ thống (SYSCATSPACE) cũng phải được khôi phục tiếp đến cuối các log và theo chế độ không trực tuyến Chúng ta sẽ thảo luận thêm về lệnh ROLLFORWARD trong Khôi phục tiếp cơ sở dữ liệu và không gian bảng

Thực hiện các hoạt động khôi phục lại bằng Trung tâm điều khiển

Hình bên dưới cho bạn thấy làm thế nào để gọi tiện ích RESTORE từ Trung tâm điều khiển Để thực hiện một hoạt động khôi phục lại cơ sở dữ liệu hoặc không gian bảng, nhấn chuột phải vào cơ sở dữ liệu mà bạn muốn khôi phục lại và chọn

Restore Chúng tôi khuyến khích bạn tự thực hiện việc này

Hình tiếp theo cho thấy một số tùy chọn mà bạn cần phải hoàn tất để thực thi tiện ích RESTORE Chúng tôi khuyến khích bạn tự thực hiện việc này

Khôi phục lại tăng dần

Nhớ lại rằng một bản sao lưu tăng dần là một ảnh sao lưu chỉ chứa các trang đã được cập nhật từ bản sao lưu trước Để thực hiện việc khôi phục lại bằng cách sử dụng các bản sao lưu tăng dần, chỉ rõ tùy chọn INCREMENTAL trên lệnh

Trang 36

RESTORE DATBASE Thông thường một việc khôi phục lại tăng dần liên quan đến một loạt các hoạt động khôi phục lại Mỗi ảnh sao lưu tham gia vào việc khôi phục lại phải được khôi phục lại theo thứ tự sau: cuối cùng, đầu tiên, thứ hai, thứ

ba và tiếp tục như vậy lên nữa và bao gồm cả ảnh cuối cùng

Hãy xem xét một ví dụ Sau đây là một chiến lược sao lưu tăng dần thí dụ theo tuần cho một cơ sở dữ liệu phục hồi MYDB Nó bao gồm một hoạt động sao lưu

cơ sở dữ liệu đầy đủ hàng tuần, một hoạt động sao lưu (gia tăng) không tích lũy hàng ngày và một hoạt động sao lưu (tăng dần) tích lũy giữa tuần:

1 (Sun) backup db mydb use tsm

2 (Mon) backup db mydb online incremental delta use tsm

3 (Tue) backup db mydb online incremental delta use tsm

4 (Wed) backup db mydb online incremental use tsm

5 (Thu) backup db mydb online incremental delta use tsm

6 (Fri) backup db mydb online incremental delta use tsm

7 (Sat) backup db mydb online incremental use tsm

Để khôi phục lại cơ sở dữ liệu bằng cách sử dụng sao lưu tăng dần được tạo ra vào thứ Sáu, chúng ta cần phải đưa ra một loạt các lệnh RESTORE DATABASE để khôi phục lại từng ảnh sao lưu cần thiết, theo thứ tự này:

Trang 37

1 restore db mydb incremental taken at (Fri)

2 restore db mydb incremental taken at (Sun)

3 restore db mydb incremental taken at (Wed)

4 restore db mydb incremental taken at (Thu)

5 restore db mydb incremental taken at (Fri)

Như bạn thấy, quá trình này là rất dài và cũng dễ bị lỗi Bạn cần phải biết những ảnh nào cần khôi phục lại và chúng phải được khôi phục lại theo thứ tự nào Để làm cho quá trình này dễ dàng hơn, sử dụng tiện ích khôi phục lại tăng dần một cách tự động Để thực hiện một việc khôi phục lại tăng dần tự động, tất cả những thứ mà bạn cần làm là xác định các ảnh sao lưu gần nhất mà bạn muốn khôi phục lại và bạn đưa ra chỉ có một lệnh RESTORE DATABASE cho nó, với tùy chọn INCREMENTAL AUTOMATIC Tiện ích khôi phục lại sẽ giữ nguyên phần còn lại

Tất cả các các lệnh khôi phục lại thủ công ở trên có thể được thay thế bằng một lệnh khôi phục lại tăng dần tự động:

restore db mydb incremental automatic taken at (Fri)

Trang 38

Khôi phục lại chuyển hướng

Chúng tôi đã đề cập trước đó rằng một tệp sao lưu bao gồm các thông tin về các không gian bảng và vùng chứa Điều gì sẽ xảy ra nếu một thùng chứa được sử dụng để tồn tại khi bản sao lưu đã nhận được không còn tồn tại nữa? Nếu tiện ích RESTORE không thể tìm thấy thùng chứa này, bạn sẽ mắc phải một lỗi

Bạn làm gì nếu không muốn khôi phục lại bản sao lưu tại vị trí này, nhưng ở một nơi khác, nơi các cấu hình khác được sử dụng? Một lần nữa, việc khôi phục lại bản sao lưu trong kịch bản này sẽ gây ra vấn đề

Việc khôi phục lại chuyển hướng giải quyết các vấn đề này Một việc khôi phục lại

chuyển hướng chỉ khôi phục lại bản sao lưu theo bốn bước Nó sẽ:

1 Lấy thông tin về các thùng chứa và các không gian bảng được ghi trong bản sao lưu đầu vào Điều này được thực hiện bằng cách lấy từ khóa

REDIRECT như là một phần của lệnh RESTORE Ví dụ:

RESTORE DATABASE DB2CERT FROM

Trang 39

SQL1277W A redirected restore operation is being performed Table space

configuration can now be viewed and table spaces that do not use

automatic

storage can have their containers reconfigured

DB20000I The RESTORE DATABASE command completed

successfully

2 Xem lại thông tin về không gian bảng từ cơ sở dữ liệu được khôi phục lại (một phần) newdb:

LIST TABLESPACES SHOW DETAIL

3 Thiết lập các thùng chứa mới cho mỗi không gian bảng Một không gian bảng có một mã nhận dạng ID, mã này có thể nhận được từ đầu ra của lệnh LIST TABLESPACES Mã nhận dạng ID này được sử dụng như sau:

SET TABLESPACE CONTAINERS FOR 0 USING (FILE

"d:\newdb\cat0.dat" 5000)

SET TABLESPACE CONTAINERS FOR 1 USING (FILE

Trang 40

4 Bắt đầu tự khôi phục lại dữ liệu vào trong thùng chứa mới bằng cách dùng

từ khóa CONTINUE, như hình dưới đây:

RESTORE DATABASE DB2CERT CONTINUE

Bây giờ bạn nhìn thấy một việc khôi phục lại chuyển hướng hoạt động như thế nào Nó cũng có thể được dùng để thêm vào các thùng chứa cho không gian bảng SMS Nếu bạn xem lại hướng dẫn thứ hai của loạt bài này (xem Tài nguyên), bạn

sẽ thấy rằng trong nhiều trường hợp không gian bảng SMS không thể bị thay đổi

để thêm một thùng chứa Một việc khôi phục lại chuyển hướng cung cấp một cách giải quyết khác cho hạn chế này

Thay vì thực hiện bốn bước trên bằng tay, tiện ích khôi phục lại chuyển hướng cho phép bạn tạo một kịch bản khôi phục lại chuyển hướng bằng cách ban hành lệnh

Ngày đăng: 07/08/2014, 09:23

HÌNH ẢNH LIÊN QUAN

Hình ảnh sau mô tả sự khác nhau giữa các kiểu này. - Chuẩn bị kỳ thi số 731 lấy chứng chỉ DBA (Quản trị cơ sở dữ liệu) DB2 9, Phần 6: Tính sẵn sàng cao: Sao lưu và phục hồi pptx
nh ảnh sau mô tả sự khác nhau giữa các kiểu này (Trang 27)
Hình dưới đây cho thấy cách gọi lệnh ROLLFORWARD từ Trung tâm điều khiển. - Chuẩn bị kỳ thi số 731 lấy chứng chỉ DBA (Quản trị cơ sở dữ liệu) DB2 9, Phần 6: Tính sẵn sàng cao: Sao lưu và phục hồi pptx
Hình d ưới đây cho thấy cách gọi lệnh ROLLFORWARD từ Trung tâm điều khiển (Trang 55)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w