Oracle thực hiện phục hồi qua 2 giai đoạn. Theo cách thức này, Oracle đọc các yêu cầu phục hồi file thông qua bản ghi để hoàn thành các hoạt động phục hồi. Tính năng này tăng tốc độ của tiến trình phục hồi khi mà hệ thống đã sẵn sàng cho người dùng phục hồi thành công thông qua từng giai đoạn.
Sau khi phát hiện và phục hồi GCS thất bại và phục hồi bộ nhớ cache, hầu hết các hành động đều bị dừng và trong khi hoạt động phục hồi diễn ra, tiến trình xảy ra với tốc độ chậm hơn. Nguyên nhân ở được cho ở đây là do cơ sở dữ liệu đầy đủ và có sẵn nên tất cả dữ liệu đều có thể truy cập, bao gồm cả việc cư trú trên các trường khác. Câu lệnh SELECT sử dụng ứng dụng chuyển đổi dự phòng (Transparent Application Failover) sẽ thất bại, tuy nhiên, với các hoạt động DML, ứng dụng có trách nhiệm kết nối lại người sử dụng và lặp lại bất kỳ công việc nào
trong cluster sẽ không được đáp ứng yêu cầu cho hoạt động phục hồi. Chúng suy ra sự thất bại thông qua tiến trình LMON của nó, kiểm soát việc phục hồi qua các bản ghi của các trường không thành công. Dựa vào phương thức phục hồi mới, hoạt động phục hồi được chia thành phục hồi bộ nhớ cache và phục hồi giao dịch. Ngoài ra còn có phương pháp phục hồi cho RAC là phục hồi trực tuyến
2.2.8.1. Khôi phục cache
Phục hồi bộ nhớ cache là bước chuyển đầu tiên của việc đọc bản ghi SMON. Các bản ghi phục hồi đều được đọc và áp dụng hành động hồi phục lại thông qua thực thi song song. Trong quá trình này, SMON sẽ gộp nhất các chủ đề lại theo lệnh của SCN để đảm bảo rằng những thay đổi đó được áp dụng một cách có trật tự. Nó cũng sẽ tìm BWR theo dữ liệu phục hồi mà xóa bỏ các mục không còn cần thiết bởi vì chúng là các PI của khối đã được ghi vào đĩa. SMON phục hồi các khối tìm thấy được trong bước chuyển đầu và thu được các khóa cần thiết cho hoạt động này. Kết quả cuối cùng của bước chuyển đầu tiên được đọc là: chỉ phục hồi khối thiết lập chỉ chứa các sửa đổi bởi trường bị thất bại mà không dung BWR để biết rằng các khối sau đó đã được ghi. Quá trình phục hồi SMON sẽ thông báo mỗi nút chính của phần tử khóa cho mỗi khối trong danh sách phục hồi rằng nó sẽ bị chiếm quyền khóa và ngăn chặn việc phục hồi. Trường khác sẽ không có những khóa này cho đến khi quá trình phục hồi hoàn thành. Tại thời điểm này, tất cả truy cập vào cơ sở dữ liệu đều khả thi.
2.2.8.2. Phục hồi giao dịch
So với kịch bản phục hồi bộ nhớ cache (phục hồi có tính chất chuyển tiếp), phục hồi giao dịch xử lý các giao dịch không cam kết, vì vậy hoạt động này sẽ quay trở lại giao dịch không cam kết. Ngoài ra, trong bước chuyển này, các chủ đề làm cho các trường thất bại đều được sát nhập bởi SCN và việc thực hiện lại được áp dụng với dữ liệu. Trong suốt quá trình này, Oracle sử dụng một công nghệ gọi là bắt đầu phục hồi nhanh, khi mà nó
thực hiện việc phục hồi giao dịch đối với một tiến trình bị chậm, do đó, nó xử lý như là một hoạt động nền. Theo tính năng này, Oracle sử dụng phương thức nhiều phiên bản và nhất quán để cung cấp việc phục hồi những hang bị chặn bởi các giao dịch hết hạn, tính năng này giúp các giao dịch mới bằng cách không đòi hỏi chúng phải chờ cho hoạt động rollback hoàn thành. Phục hồi Fast-start có 2 loại :
- Fast-start on demand: Theo tùy chọn này, người dùng
được phép thực hiện việc giao dịch thường xuyên và không can thiệp đến các giao dịch không cam kết hoặc các giao dịch đã hết hạn từ trường khác.
- Fast-start parallel rollback: Phục hồi song song được
thực hiện bởi SMON, khi hành động giống như một điều phối viên phục hồi các giao dịch sử dụng xử lý tiến trình song song trên nhiều máy chủ. Các tùy chọn thực thi song song thì rất hữu ích khi các giao dịch chạy trong một thời gian dài trước khi cam kết. Khi sử dụng tính năng này, mỗi nút có một điều phối viên phục hồi và một tiến trình phục hồi để hỗ trợ việc hủy giao dịch.
2.2.8.3. Phục hồi khối trực tuyến
Phục hồi khối trực tuyến là phương pháp duy nhất để thực hiện RAC. Việc phục hồi này diễn ra khi bộ đệm dữ liệu bị sai lệch trong bộ nhớ cache của một trường. Khối phục hồi sẽ xảy ra nếu một trong hai tiến trình ưu tiên bị dừng khi cho phép thay đổi, hay có lỗi được tạo ra trong quá trình chạy lại. Nếu khối phục hồi được thực hiện bởi vì tiến trình ưu tiên đang bị treo, thì sau đó PMON bắt đầu khởi tạo phục hồi khối trực tuyến. Tuy nhiên, nếu không phải là trường hợp đó thì tiến trình đó sẽ cố gắng trở thành phục hồi trực tuyến của khối.
Trong trường hợp bình thường, điều này liên quan đến việc tìm phần tử trước của khối và áp dụng các hồ sơ làm lại với phần tử trước này trực tuyến từ các bản ghi của các trường cục bộ. Tuy nhiên theo kiến trúc tổng hợp bộ nhớ cache, bản sao
của các khối có sẵn trong bộ nhớ cache của các trường khác, do đó, phần tử này là PI gần nhất trong bộ nhớ cache của trường khác. Nếu trong hoàn cảnh nhất định, không có PI cho bộ đệm bị sai lệch, thì hình khối từ dữ liệu trên đĩa được sử dụng như là bản sao của phần tử đó.
2.3. Kết luận chương 2
Chương 2 đã giới thiệu sơ lược về oracle 10g. Cơ sở dữ liệu oracle là một cơ sở dữ liệu mạnh mẽ nhất thế giới. Tìm hiểu xem RAC là gì, kiến trúc của nó, cũng như cách quản lý các cơ sở hạ tầng của nó như thế nào.
KẾT LUẬN
Sau một thời gian tìm hiểu, nghiên cứu, đề tài “ Tính toán lưới trên Oracle 10g” đã đạt được một số kết quả sau:
• Nội dung của đề tài đã phần nào khái quát được tính toán lưới là gì
• Tìm hiểu RAC, kiến trúc và chức năng của nó đối với hệ quản trị cơ sở dữ liệu Oracle 10g
Bên cạnh những kết quả đạt được đề tài của em vẫn còn một số hạn chế chưa triển khai cấu hình Oracle RAC 10g trên hệ thống máy ảo do một số trục trặc không mong muốn.