Blog chia sẻ về Oracle DBA

Chia sẻ kiến thức kinh nghiệm về Oracle DBA

Oracle data guard architecture (p2) — 8 Tháng Tám, 2016

Oracle data guard architecture (p2)

Sau bài viết “Oracle data guard architecture (p1)“, chúng ta sẽ tiếp tục tìm hiểu về các nội dung tiếp theo trong phần architecture của oracle data guard 11g.

Ở bài này tôi sẽ giới thiệu với các bạn về các nội dung tiếp theo:

  • Oracle data guard broker framework
  • Oracle data guard process
  • Automatic Gap Detection and Resolution
  • Data protection modes

Oracle data guard broker framework

  • Oracle data guard broker là một framework quản lý phân tán tự động và tập trung để tạo, duy trì và giám sát các cấu hình của Oracle data guard.
  • Sau khi tạo cấu hình Oracle data guard, Broker sẽ giám sát hoạt động, tình trạng sức khỏe và tính sẵn sàng của tất cả các hệ thống trong cấu hình.
  • Có thể sử dụng Oracle enterprise manager grid control hoặc giao diện command-line ( DGMGRL) để thuận tiện trong việc quản lý với Broker.

oracle data guard broker 11g architecture

Oracle data guard process

  • Oracle data guard sử dụng một vài process để cần thiến cho việc thực hiện tự động phục hồi thảm họa và tăng tính sẵn sàng cao. Một số process tồn tại trước sự xuất hiện của Data guard, những process đặc trưng khác được tạo ra để phục vụ cho Data guard.

Processes trên primary database

Trên Primary database, data guard sử dụng hai processes là Log writer (LGWRn) và Archiver (ARCn):

  • LGWRn: 
    • Thu thập thông tin redo transaction và cập nhật vào Online redo logs trên primary database.
    • For each synchronous (SYNC) standby database: LGWR sẽ truyền redo vào một tiến trình LNS (Log Network Server),  và chuyển trực tiếp đến tiến trình RFS (Remote File Server) trên standby database. LGWR đợi xác nhận từ tiến trình LNS trước khi xác nhận commit.
    • For asynchronous (ASYNC) standby databases: Tiến trình LNS đọc độc lập redo từ redo log buffer trên memory hoặc trong online redo log file, và gửi các redo đến standby database.
  • ARCn:
    • Tạo ra một bản copy của online redo log file vào archive redo log sử dụng cho việc recovery primary database.
    • Chịu trách nhiệm chuyển redo data đến tiến trình RFS trên standby database và chủ động phát hiện xử lý GAP trên tất cả các standby database.

oracle data guard 11g primary process.JPG

Processes trên standby database

  • Trên Standby database, data guard sử dụng 4 processes là Remote file server (RFS), Archiver (ARCn), Managed recovery (MRP), Logical standby (LSP):
    • RFS: Nhận thông tin redo từ primary database và có thể ghi redo vào Standby redo logs hoặc Archived redo logs. Mỗi tiến trình LNSn và ARCn từ primary database sẽ có tiến trình RFS của riêng nó.
    • ARCn: Lưu trữ Standby redo logs.
    • MRP: Chỉ có trên Physical standby database, nó sẽ apply thông tin redo log vào physical standby database.
    • LSP: Chỉ có trên Logical standby database, nó kiểm soát các thông tin apply archive redo logs vào standby database.

oracle data guard 11g standby process

Automatic Gap Detection and Resolution

  • Nếu kết nối giữa primary database và một hoặc nhiều standby database gặp sự cố, thì các redo data được tạo ra trên primary database sẽ không thể gửi đến các standby database.
  • Khi một kết nối được thiết lập lại, oraccle data guard sẽ tự động tìm kiếm các Archived redo log files bị thiếu (gọi là GAP). Và sẽ tự động chuyển các Archived redo log files bị thiếu vào các standby database bằng cách sử dụng tiến trình ARCn (Arhiver process). Lúc này các standby database sẽ đồng bộ với primary mà không cần sự can thiệp của DBA.

data guard 11g - automatic GAP detection and resolution.JPG

Data protection modes

  • Có 3 chế độ bảo vệ dữ liệu trong data guard: Maximum protection, maximum availability và maximum performance.

Maximum protection

  • Hệ thống sẽ đảm bảo không bị mất dữ liệu nếu primary database gặp lỗi.
  • Các dữ liệu redo data cần thiết để recovery mỗi transaction phải được ghi vào cả hai Online redo log và Standby redo logtrên ít nhất một standby database trước khi transaction commit.
  • Để đảm bảo dữ liệu không bị mất khi hệ thống gặp lỗi thì primary database sẽ shutdown. Đây là chế độ an toàn cao nhất trong Data guard, nên tùy từng bài toán cụ thể chúng ta sẽ triển khai các chế độ protection trong data guard cho phù hợp.

Maximum avaibality

  • Chế độ Maximum avaibality giống với chế độ Maximum protection. Chỉ khác ở chỗ, nếu như hệ thống gặp lỗi thì primary database sẽ không shutdown mà chuyển sang chế dộ Maximum performance.
  • Khi tất các các GAP đã được xử lý và primary database đã đồng bộ với standby database thì primary database sẽ tự động điều chỉnh về chế độ hoạt động Maximum avaibality.

Maximum performance

  • Đây là chế độ bảo vệ mặc định khi cài Data guard, nó cung cấp mức độ cao nhất có thể bảo vệ dữ liệu mà không ảnh hưởng tới hiệu suất của primary database.
  • Điều này được thể hiện bằng cách cho phép một transaction commit trên primary database ngay sau khi redo data cần thiết để khôi phục transaction được ghi vào Online redo log.

Note: Như vậy sau hai bài viết về oracle data guard architecture, chúng ta đã tìm hiểu về kiến trúc tổng quan, các thành phần trong oracle data guard 11g. Các bài viết tiếp theo về oracle data guard sẽ đi sâu vào việc cấu hình cài đặt, monitoring, troubleshooting oracle data guard.

VnOracle xin cám ơn các bạn đã đọc bài viết. Mọi ý kiến đóng góp xin gửi về địa chỉ vnoracle@gmail.com

Oracle data guard architecture (P1) — 28 Tháng Bảy, 2016

Oracle data guard architecture (P1)

Tổng quan về oracle data guard 11g architecture

Xin chào các bạn!
Sau khi đã tìm hiểu Oracle data guard 11g là gì? chúng ta đã có cái nhìn tổng quan về oracle data guard. Trong bài này chúng ta sẽ tiếp tục tìm hiểu về mô hình, kiến trúc tổng quan oracle data guard.
Nội dung chúng ta tìm hiểu sẽ bao gồm:

  • Standby database
  • Data guard services
  • Oracle data guard broker framework
  • Oracle data guard process
  • Automatic Gap Detection and Resolution
  • Data protection modes

Standby database

Trong kiến trúc hoạt động của oracle data guard, standby database có 3 kiểu:

  • Physical standby database
  • Logical standby database
  • Snapshot standby database

Physical standby database

  • Là bản sao chép vật lý đồng nhất của primary database trên một block-for-block.
  • Đồng bộ với primary database thông qua việc nhận và apply redo data từ primary database.
  • Tùy từng bài toán mà Physical standby database có thể sử dụng cho trường hợp protection and reporting.
  • Từ bản Oracle database 11g trở lên, physical standby database có thể sử dụng ở chế độ open read-only.

oracle data guard physical 11g

Oracle data guard 11g architecture (physical standby)

Logical standby database

  • Là bản sao chép của primary database. Nó chứa các thông tin logic tương tự như primary database. Mặc dù cấu tạo và kiến trúc của dữ liệu có thể khác nhau.
  • Đồng bộ với primary database thông qua apply redo. Khác với physical database, nó sẽ chuyển đổi dữ liệu trong redo nhận được từ primary database thành các sql_text và thực thi chúng (nó sử dụng LogMiner để đọc redo data nhận được từ primary database).
  • Tùy từng bài toán mà Logical standby database có thể sử dụng cho trường hợp protection, reporting và database upgrades.

oracle data guard logical11g

Oracle data guard 11g architecture (logical standby)

Snapshot standby database

  • Là một database được tạo bởi việc chuyển đổi một physical standby database vào một snapshot standby database.
  • Nhận redo data từ primary database nhưng không apply redo data cho đến khi nó chuyển đổi quay trở lại thành physical standby database.
  • Thích hợp khi yêu cầu một phiên bản temporary, updatable của physical standby database.
  • Có thể sử dụng cho việc testing.

Data guard services

Oracle data guard có 3 kiểu services:

  • Redo transport services: Điều khiển tự động việc truyền redo data từ primary database đến một hoặc nhiều standby database hoặc nơi lưu trữ.
  • Apply services: Điều khiển làm thế nào và khi nào dữ liệu sẽ được apply từ primary database sang standby database.
    • Redo apply: Được dùng cho physical standby database. Nó sử dụng Oracle media recovery để apply các redo data từ primary database sang standby database.
Apply service sử dụng Redo apply
Redo apply (physical standby database)
  • SQL apply: Được dùng cho logical standby database. Nó sẽ chuyển đổi các redo data nhận được từ primary database thành các sql_text và thực thi chúng trên standby database.
Apply service sử dụng sql apply
SQL apply (logical standby database)
  • Role management services:
    • Một database hoạt động với 1 trong 2 vai trò primary database hoặc standby database. Nó kết hợp với Redo trasport services và Apply services để thay đổi vai trò động của database như một kế hoạch chuyển đổi (switchover) hoặc như một kết quả của việc database bị lỗi (failover).
  • Switchover: Cho phép bạn chuyển đổi vai trò của primary database với 1 trong các standby database có sẵn. Cụ thể khi switchover thì primary database sẽ thành standby database và ngược lại. Switchover thường được sử dụng trong trường hợp chúng ta có kế hoạch chuẩn bị trước cho việc bảo trì hệ thống (software và hardware).
  • Failover: Trong môi trường Oracle data guard khi primary database gặp sự cố trong quá trình hoạt động, thì sẽ thực hiện Failover. Chúng ta sẽ thực hiện hoạt động Failover trên standby database mà chúng ta lựa chọn để chuyển đổi thành vai trò primary database.

Kết thúc phần 1 chúng ta đã tìm hiểu được hai nội dung “Standby database” và “Data guard services“, trong phần hai chúng ta sẽ tìm hiểu tiếp về các nội dung còn lại:

  • Oracle data guard broker framework
  • Oracle data guard process
  • Automatic Gap Detection and Resolution
  • Data protection modes

VNoracle xin cám ơn các bạn đã đọc bài viết. Mọi ý kiến đóng góp xin gửi về địa chỉ vnoracle@gmail.com

Tìm hiểu về oracle data guard 11g — 27 Tháng Bảy, 2016

Tìm hiểu về oracle data guard 11g

Xin chào các bạn! Mình xin gửi tới các bạn một bài viết tổng quan giới thiệu về sản phẩm oracle data guard của Oracle.
Oracle Data Guard là một trong các giải pháp Oracle High Availability (HA), đảm bảo tính sẵn sàng cao, đảm bảo àn toàn dữ liệu và khôi phục sau khi sự cố xảy ra với hệ thống.
Với giải pháp Oracle Data Guard, chúng ta sẽ xây dựng 1 máy chủ CSDL chính (Primary database) và một hoặc nhiều máy chủ CSDL dự phòng (Standby database)

oracle data guard physical 11g

Physical standby database (oracle data guard architecture)

oracle data guard logical11g

Logical standby database (oracle data guard architecture)

Primary Database:

  • Là cơ sở dữ liệu chính trong mô hình Oracle Data Guard mà các ứng dụng sẽ kết nối trực tiếp vào.
  • Liên tục gửi những thay đổi dữ liệu sang Standby Database (dưới dạng Redo data).

Standby Database:

  • Hiểu một cách đơn giản standby database là bản copy của primary trong mô hình data guard. Như vậy sẽ có nhiều cách để tạo ra standby database từ primary database.
  • Standby database sẽ nhận và apply redo data từ primary database.
  • Primary và standby database có thể là Single hoặc RAC.
  • Trong mô hình Oracle data guard, nếu primary database gặp sự cố. Oracle data guard sẽ chuyển 1 trong các standby database thành primary database. Như vậy, sẽ giảm thiểu thời gian downtime của hệ thống.
  • Tùy từng bài toán cụ thể Oracle data guard có thể triển khai cho việc an toàn dữ liệu, báo cáo và nâng cấp database.

Trong bài tiếp theo chúng ta sẽ tìm hiểu về kiến trúc (architecture) tổng quan của Oracle data guard 11g.