Tin công nghệ >> Cơ sở dữ liệu >> CSDL Oracle >>

Giải pháp nâng cao tính sẵn sàng cho cơ sở dữ liệu Oracle


Giới thiệu Oracle Data Guard

Oracle Data Guard đảm bảo tính sẵn sàng cao, bảo vệ dữ liệu, và khôi phục sau sự cố. Data Guard cung cấp tất cả các dịch vụ khởi tạo, duy trì, quản lý và giám sát một hay nhiều standby database để Oracle database tiếp tục tồn tại sau sự cố, hư hỏng dữ liệu. Data Guard duy trì các standby database như là các bản sao của primary database. Nếu primary database không sẵn sàng hoạt động, Data Guard có thể chuyển bất kỳ standby database thành primary database, giảm thiểu thời gian ngưng hoạt động. Data Guard có thể sử dụng với sao lưu, khôi phục, và kỹ thuật cluster để tạo ra mức độ cao về bảo vệ dữ liệu và sẵn sàng dữ liệu.

Với Data Guard, có thể cải thiện hiệu năng của primary database bằng cách sao lưu và chạy các báo cáo trên hệ thống standby.


 

Cấu hình Data Guard

Một cấu hình Data Guard bao gồm một primary database và một hay nhiều standby database. Các database trong một cấu hình Data Guard được kết nối bởi Oracle Net và có thể phân tán về mặt địa lý. Không có giới hạn về vị trí đặt database, chỉ đảm bảo các database phải liên lạc được với nhau. Ví dụ, có thể đặt một standby database trên cùng hệ thống với primary database, cùng với hai standby database trên một hệ thống khác tại một vị trí khác.

Có thể quản lý primary và các standby database bằng cách sử dụng giao diện dòng lệnh SQL hoặc giao diện Data Guard broker, bao gồm một giao diện dòng lệnh và một giao diện đồ họa người dùng được tích hợp trong Oracle Enterprise Manager.
Primary Database

Một cấu hình Data Guard bao gồm một primary database, có chức năng là vai trò chính. Đây là database mà hầu hết ứng dụng truy cập.

Primary database có thể là một single-instance Oracle database hay một Oracle Real Application Clusters (RAC) database.

Standby Databases

Một standby database là một bản copy của primary database. Sử dụng một bản copy backup của primary database, có thể tạo ra standby database và kết hợp standby database này vào trong một cấu hình Data Guard. Khi được tạo ra, Data Guard tự động duy trì mỗi standby database bằng cách truyền redo data từ primary database và apply redo data đến standby database.

Tương tự primary database, một standby database có thể là một single-instance Oracle database hay một Oracle RAC database.

Standby database có các loại sau:

Physical standby database

Cung cấp một bản copy vật lý đồng nhất của primary database, với cấu trúc database giống y primary database. Database schema, bao gồm cả index, là giống nhau. Một physical standby database duy trì đồng bộ với primary database thông qua Redo Apply: thực hiện recover redo data nhận từ primary database và apply redo đến physical standby database.

Với Oracle Database 11g release 1 (11.1), một physical standby database có thể nhận và apply redo trong khi open cho truy cập read-only. Vì thế một physical standby database có thể sử dụng đồng thời để bảo vệ dữ liệu và chạy báo cáo.
Logical standby database

Bao gồm thông tin logic giống như primary database, mặc dù cấu trúc và tổ chức vật lý của dữ liệu có thể khác. Logical standby database duy trì đồng bộ với primary database thông qua SQL Apply: chuyển đổi data trong redo nhận từ primary database thành các lệnh SQL và thực hiện các lệnh SQL này trên standby database.

Một logical standby database có thể sử dụng cho các mục đích nghiệp vụ khác, ngoài các yêu cầu khôi phục từ sự cố. Điều này cho phép người dùng truy cập đến logical standby database để truy vấn, chạy báo cáo bất kỳ lúc nào. Ngoài ra, dùng một logical standby database có thể upgrade Oracle Database software và các bản sửa lỗi mà gần như không phải ngừng hoạt động. Vì vậy, một logical standby database có thể sử dụng đồng thời để bảo vệ dữ liệu, chạy báo cáo, và upgrade database.

Snapshot Standby Database

Một snapshot standby database là một standby database có thể update đầy đủ.

Giống như một physical hay logical standby database, một snapshot standby database nhận và lưu trữ redo data từ một primary database. Không giống một physical hay logical standby database, một snapshot standby database không apply redo data nhận được. Redo data đã nhận bởi một snapshot standby database không apply cho tới khi snapshot standby chuyển đổi trở lại thành một physical standby database, sau khi loại bỏ các local update đã thực hiện với snapshot standby database.

Một snapshot standby database được sử dụng tốt nhất trong trường hợp yêu cầu một cái tạm thời, updatable snapshot của một physical standby database. Bởi vì redo data đã nhận bởi snapshot standby database không apply cho tới khi snapshot standby chuyển đổi trở lại thành một physical standby, nên thời gian cần thiết để recover một primary database bị sự cố thì tỷ lệ hoàn toàn với số lượng redo data cần thiết phải apply.

Các service của Data Guard

Redo Transport Services

Redo transport services điều khiển việc tự động truyền redo data từ primary database đến một hay nhiều đích lưu trữ.

Redo transport services thực hiện các công việc:

• Truyền redo data từ primary system đến standby systems theo cấu hình
• Quản lý tiến trình giải quyết sự ngắt quãng các archived redo log file vì sự cố về mạng.
• Tự động phát hiện các archived redo log file bị thiếu hay hư hỏng trên hệ thống standby, và tự động lấy lại các archived redo log file thay thế từ primary database hoặc từ standby database khác.

Apply Services

Redo data truyền từ primary database được ghi vào standby redo log trên standby database. Apply services tự động apply redo data trên standby database để duy trì sự đồng nhất với primary database. Apply services cũng cho phép truy cập dữ liệu read-only.

Sự khác nhau giữa physical và logical standby databases là cách mà apply services apply archived redo data:

• Với physical standby databases, Data Guard dùng công nghệ Redo Apply: apply redo data trên standby database sử dụng kỹ thuật standard recovery của một Oracle database.
• Với logical standby databases, Data Guard sử dụng công nghệ SQL Apply: chuyển đổi redo data đã nhận thành các lệnh SQL và thực hiện các lệnh SQL trên logical standby database.

Sự chuyển đổi vai trò

Một Oracle database hoạt động theo một trong hai vai trò: primary hoặc standby. Sử dụng Data Guard, có thể thay đổi vai trò của một database bằng hoạt động switchover hoặc failover.

Switchover là đảo ngược vai trò giữa primary database và một trong các standby database của nó. Switchover đảm bảo không mất dữ liệu. Hoạt động này thường được thực hiện cho việc bảo dưỡng theo kế hoạch của primary system. Trong qúa trình switchover, primary database chuyển vai trò thành standby, và standby database chuyển vai trò thành primary.

Failover khi primary database không sẵn sàng hoạt động. Failover chỉ thực hiện trong trường hợp primary database failure, và kết quả của failover là sự chuyển đổi một standby database thành vai trò primary. Quản trị database có thể cấu hình Data Guard để đảm bảo không mất dữ liệu.
Data Guard Broker

Data Guard broker là một framework quản lý phân tán, tự động hóa việc tạo ra, duy trì, và theo dõi cấu hình Data Guard. Có thể sử dụng Oracle Enterprise Manager GUI hay giao diện dòng lệnh Data Guard (DGMGRL) để:

• Tạo cấu hình Data Guard, bao gồm cả thiết lập redo transport services và apply services
• Quản lý toàn bộ cấu hình Data Guard từ bất kỳ hệ thống nào trong cấu hình
• Quản lý và theo dõi cấu hình Data Guard, bao gồm cả Oracle RAC primary hoặc standby databases
• Đơn giản hóa hoạt động switchovers và failovers chỉ bằng một click key trong Oracle Enterprise Manager hay một lệnh trong DGMGRL.
• Cho phép fast-start failover đối với hư hỏng một cách tự động khi primary database trở nên không sẵn sàng hoạt động. Khi fast-start failover là enabled, Data Guard broker xác định nếu một hư hỏng là tất yếu thì bắt đầu failover đối với target standby database đã chỉ rõ một cách tự động, không cần đến sự can thiệp của DBA.
Các đặc điểm của Data Guard

• Phần cứng ở server chính và server dự phòng có thể khác nhau.
• Hệ điều hành cài đặt ở các server phải như nhau
• Các phiên bản Release của hệ điều hành cài trên các server có thể khác nhau
• Các server phải cài đặt cùng bản Release của Oracle Database Enterprise Edition
• Database phải hoạt động ở Archive log mode
• Khôi phục, bảo vệ dữ liệu, và tính sẵn sàng cao.
• Sử dụng hiệu quả tài nguyên hệ thống
• Tinh hoạt trong bảo vệ dữ liệu, cân bằng tính sẵn sàng với các yêu cầu về hiệu năng
• Quản lý tập trung và đơn giản
• Tích hợp với Oracle Database
• Tự động chuyển đổi vai trò