Archive for

Thiết kế, xây dựng các ứng dụng và CSDL cho doanh nghiệp

GIẢI PHÁP XÂY DỰNG HỆ THỐNG CƠ SỞ DỮ LIỆU

Cùng với sự phát triển mạnh mẽ của CNTT, hệ thống Cơ sở Dữ liệu (CSDL) ngày càng trở thành tài sản quan trọng đối với mọi doanh nghiệp. CSDL ngày nay được xem là thành phần cơ bản nhất trong mọi hệ thống ứng dụng, từ các ứng dụng lõi phục vụ sản xuất, kinh doanh cho đến các ứng dụng trao đổi thông tin, hỗ trợ người dùng, marketing, dịch vụ khách hàng…. Do vậy, yêu cầu trang bị hệ thống CSDL phù hợp, đáp ứng được các yêu cầu phát triển đang là một thách thức lớn đối với các doanh nghiệp hiện nay. Hệ thống CSDL phải luôn sẵn sàng, có khả năng hoạt động với hiệu năng cao và đảm bảo tính toàn vẹn ngay cả khi có sự cố xảy ra. Ngoài ra hệ thống CSDL còn phải được bảo đảm an toàn trước các nguy cơ tấn công từ bên ngoài và bên trong, có khả năng hiệu chỉnh, nâng cấp, mở rộng linh hoạt…

Bộ giải pháp bao gồm:

Giải Pháp sẵn sàng cao Oracle Real Application Cluster:

Giải pháp Oracle Real Application Clusters (RAC) là giải pháp xây dựng một hệ thống database gồm nhiều máy chủ xử lý trên cùng một vùng lưu trữ và cung cấp dịch vụ database như một database đơn, hoàn toàn trong suốt cho các ứng dụng. RAC tăng cường khả năng chịu lỗi cho hệ thống trong các trường hợp lỗi về phần cứng hay tạm ngừng một máy chủ. RAC cung cấp tính sẵn sàng cao, khả năng mở rộng và tối ưu chi phí.

Các đặc điểm của giải pháp Oracle Real Application:

  • Nhiều instance, mỗi Instance chạy một máy chủ Nhiều instance chia sẻ một database vật lý
  • Tất cả instance có cùng database và các control le chung
  • Mỗi instance có những log le và undo segment riêng
  • Tất cả các instance giao tiếp với nhau thông qua kết nối nội bộ (interconnect) và sử dụng kỹ thuật Cache-Fusion.

Lợi ích:

Oracle RAC là giải pháp mang lại nhiều lợi ích cho khách hàng khi sử dụng: tận dụng tài nguyên, tiết kiệm chi phí và quan trọng nhất là đảm bảo an toàn, sẵn sàng dữ liệu trước những sự cố, thảm họa ngoài ý muốn.

  • Đảm bảo tính sẵn sàng cao về mặt hệ thống máy chủ: Oracle RAC cung cấp khả năng đảm bảo an toàn cao về mặt hệ thống máy chủ. Khi một instance gặp sự cố (hay một máy chủ trong hệ thống cluster bị lỗi), khả năng failover sẽ tự động chuyển các kết nối đến các instance khác. Do đó đảm bảo thời gian ngừng hoạt động của hệ thống là thấp nhất.
  • Chia sẻ và cân bằng tải của hệ thống: Oracle RAC cung cấp khả năng quản lý tải của hệ thống, phân chia tải làm việc của các máy chủ một cách hợp lý trong hệ thống cluster, đảm bảo hiệu suất hoạt động tối ưu.
  • Khả năng mở rộng linh hoạt và dễ dàng: Oracle RAC cho phép mở rộng một cách dễ dàng bằng cách bổ sung máy chủ vào hệ thống cluster có sẵn. Việc này có thể thực hiện online, không cần ngừng hoạt động của hệ thống. Tương tự, việc gỡ bỏ một máy chủ cũng có thể được thực hiện online mà không làm ảnh hưởng đến hệ thống đang hoạt động.
  • Tận dụng nguồn tài nguyên, tiết kiệm chi phí đầu tư: Giải pháp Oracle RAC cho phép tận dụng tài nguyên của doanh nghiệp. Khi có nhu cầu tăng công suất làm việc của hệ thống RAC, khách hàng chỉ cần trang bị thêm thiết bị, máy chủ vào môi trường RAC hiện tại mà không cần phải trang bị lại hệ thống mới.
  • Quản lý tập trung và dễ dàng: Oracle RAC cung cấp những công cụ như Oracle Enterprise Manager, Oracle Grid Control, Oracle Server Control Utility (SRVCTL), giúp cho việc quản lý các máy chủ tập trung và dễ dàng hơn.

Giải pháp sẵn sàng cao Oracle Data Guard:

Giải pháp Oracle Data Guard là giải pháp xây dựng hệ thống CSDL (Database) bao gồm một Database chính và một hay nhiều Database dự phòng. Database chính, còn gọi là Primary Database có chức năng liên tục gửi những cập nhật dưới dạng dữ liệu redo đến các Database dự phòng, tức Standby Database. Việc này sẽ đảm bảo dữ liệu luôn trong tình trạng đồng bộ giữa các Database với nhau. Trong trường hợp Primary Database bị hỏng do lỗi phần cứng, lỗi dữ liệu hoặc gặp sự cố thì Standby Database sẽ đảm nhiệm vai trò của Primary Database và khi đó các ứng dụng sẽ được chuyển kết nối đến Standby Database. Lúc này Standby Database hoạt động không khác gì Primary Database cho đến khi Primary Database được phục hồi.

Lợi Ích:

Giải pháp Oracle Data Guard đảm bảo tính an toàn dữ liệu, khả năng sẵn sàng, dễ dàng cấu hình và quản trị, đồng thời tiết kiệm chi phí.

  • Dự phòng thảm hoạ, bảo vệ dữ liệu và sẵn sàng cao: Khả năng switchover và failover cho phép chuyển đổi nhanh chóng vai trò giữa database chính và database dự phòng, rút ngắn thời gian ngừng hệ thống.
  • Bảo vệ dữ liệu toàn diện: Database dự phòng bảo vệ dữ liệu khỏi nguy cơ hỏng hóc dữ liệu và lỗi của người sử dụng. Các hư hỏng mức vật lý của database chính sẽ không được chuyển đến database dự phòng. Đối với các hư hỏng dạng logical hay lỗi người sử dụng gây tổn hại đến database chính thì có thể sửa chữa được. Cuối cùng, dữ liệu redo luôn được xem xét, kiểm tra trước khi được cập nhật vào database dự phòng.
  • Sử dụng tài nguyên hiệu quả, tiết kiệm chi phí: Các dữ liệu bảng ở database dự phòng được cập nhật với redo log nhận từ database chính có thể sử dụng cho các mục đích khác như backup, báo cáo, tổng hợp và truy vấn. Do đó sẽ giảm tải cho database chính, tiết kiệm CPU và tăng tốc truy xuất dữ liệu.
  • Linh động trong bảo vệ dữ liệu, cân bằng giữa tính sẵn sàng và yêu cầu về hiệu suất: Oracle Data Guard cung cấp các chế độ Maximum Protection, Maximum Availability và Maximum Performance để doanh nghiệp có thể cân đối giữa tính sẵn sàng dữ liệu và yêu cầu về hiệu suất.
  • Quản trị tập trung và đơn giản: Data Guard broker (Quản trị Data Guard) cung cấp giao diện đồ hoạ Enterprise Manager và giao diện dòng lệnh DGMGRL để tự động quản lý và thực hiện các thao tác vận hành, giám sát trên nhiều database trong cùng hệ thống Data Guard.
  • Tự động phát hiện gián đoạn và xử lý: Nếu kết nối giữa database chính và database dự phòng bị mất, dữ liệu redo phát sinh trên database chính sẽ không được chuyển sang database dự phòng. Một khi kết nối được khôi phục, các dữ liệu redo chưa được chuyển sang sẽ được tự động phát hiện bởi Data Guard và sẽ được chuyển sang database dự phòng. Database dự phòng sẽ tự động đồng bộ hoá với database chính mà không cần sự can thiệp của nhân viên quản trị database.
  • Tích hợp với CSDL Oracle: Tính năng Oracle Data Guard được tích hợp sẵn trong phiên bản CSDL Oracle Enterprise Edition, doanh nghiệp không phải trả thêm chi phí cho tính năng này.

Giải pháp đồng bộ dữ liệu Oracle GoldenGate:

Oracle GoldenGate là giải pháp phần mềm hiệu năng cao cho phép đồng bộ và tích hợp dữ liệu theo thời gian thực, đảm bảo tính sẵn sàng cao đối với các ứng dụng quan trọng. Oracle GoldenGate cung cấp khả năng đồng bộ và phân phối dữ liệu của các phiên giao dịch giữa các hệ thống thực thi (production) và phân tích (analysis) một cách ổn định, nhanh chóng và chính xác.  Ngoài ra, Oracle GoldenGate có khả năng thu thập, lọc, vận chuyển, kiểm tra, chuyển đổi và phân phối dữ liệu trong môi trường cơ sở dữ liệu Oracle và các cơ sở dữ liệu khác một cách toàn vẹn với hiệu suất cao.

Lợi ích:

  • Truy cập theo thời gian thực đến thông tin thực: Các hệ thống ứng dụng kinh doanh quan trọng luôn cần độ sẵn sàng cao nhất, bảo đảm khả năng truy cập nhanh chóng và dễ dàng đến các nguồn dữ liệu chính xác và nhanh chóng đáp ứng với sự thay đổi của yêu cầu kinh doanh của doanh nghiệp. Đặc biệt là khi số lượng các giao dịch cũng như số lượng các ứng dụng trực tuyến ngày càng tăng với tốc độ chóng mặt, các doanh nghiệp sẽ cần đến giải pháp tối ưu để thu thập và phân phối một cách hiệu quả khối lượng dữ liệu khổng lồ của mình. Giải pháp Oracle GoldenGate cung cấp các tính năng thu thập, chuyển đổi, vận chuyển và phân phối các giao dịch của database trên toàn bộ hệ thống. Goden- Gate di chuyển database với hiệu suất cao theo thời gian thực, giúp các ứng dụng quan trọng của doanh nghiệp như internet banking, mua bán trực tuyến, đặt vé qua mạng… được ổn định trong khi không làm ảnh hưởng đáng kể đến tải hệ thống.
  • Đảm bảo tính sẵn sàng liên tục đối với các ứng dụng quan trọng: Khi di chuyển dữ liệu, tính toàn vẹn của dữ liệu và giao dịch được GoldenGate duy trì bằng cách sử dụng các cơ chế kiểm tra nghiêm ngặt. Do đó, khi có sự cố ví dụ như đứt kết nối mạng, hư hỏng dữ liệu… xảy ra, dữ liệu và giao dịch vẫn sẽ được an toàn, giúp cho các ứng dụng quan trọng có khả năng hoạt động liên tục với hiệu suất cao.
  • Tích hợp dữ liệu theo thời gian thực trên hệ thống: Oracle GoldenGate thu thập và phân phối những dữ liệu thay đổi theo thời gian thực đến các hệ thống data warehouses, các kho dữ liệu đang hoạt động, các hệ thống báo cáo và các database xử lý giao dịch trực tuyến mà không ảnh hưởng đến hiệu năng của hệ thống.

Giải pháp quản lý Oracle Enterprise Manager:

OEM (Oracle Enterprise Management) Grid Control là ứng dụng với giao diện web của Oracle, có khả năng quản lý tập trung các hệ thống CNTT của các tổ chức, doanh nghiệp. OEM Grid Control hỗ trợ người quản trị giám sát hầu hết các thành phần ở các tầng kiến trúc của hệ thống CNTT, bao gồm cả những thành phần thuộc Oracle và không thuộc Oracle như máy chủ, thiết bị lưu trữ, cơ sở dữ liệu, Middleware, Application server, các ứng dụng nghiệp vụ, các thiết bị mạng, máy ảo, các phần mềm hoặc phần cứng của các hãng thứ 3. Oracle Enterprise Manager Grid Control cho phép quản lý các thành phần tài nguyên trong hệ thống CNTT như:

  • Quản trị các máy chủ database với RAC management.
  • Giám sát ASM – Automatic Storage Management, các thành phần Exadata.
  • Quản trị Application Server, Web Server và quản lý chất lượng dịch vụ (SLA – Service Level Management), bao gồm việc xác định loại dịch vụ, giám sát hoạt động và báo cáo chất lượng dịch vụ.
  • Theo dõi tổng thể tình trạng của hệ thống và dịch vụ, dựa trên home page và dashboard, có thể truy xuất đến mức chi tiết hơn (drill-down) để phân tích nguyên nhân gây ra lỗi.
  • Bổ sung cảnh báo (Alert), chính sách bảo mật và ngưỡng (threshold) cho tất cả các thành phần, đặt quy tắc gửi thông báo lỗi (noti cation).
  • Sử dụng template (tập hợp những chỉ tiêu theo dõi) để quản lý theo phương pháp giống nhau cho các loại database, host,… khác nhau.
  • Triển khai Database và Application server lên hệ điều hành mới bằng cách sử dụng các thư viện phần mềm đã được kiểm tra trước.
  • Quản lý vòng đời sản phẩm Oracle và cập nhật bản vá lỗi cho hệ điều hành, kết nối trực tiếp vào My Oracle- Support để chủ động lấy các bản thông báo, phân phối bản vá lỗi.
  • Tự động hoá các tác vụ ở mức hệ điều hành và database bằng cách sử dụng hệ thống đặt lịch công việc.
  • Quản lý cấu hình hệ thống, ghi nhận cấu hình hiện tại, so sánh đối chiếu với cấu hình đã lưu để tìm những thành phần đã thay đổi, hoặc xác định cấu hình chuẩn.
  • Dễ dàng tạo ra các báo cáo out-of-box (không phải lập trình) để cung cấp cho người dùng, quản lý và lãnh đạo bằng những công cụ tạo báo cáo dạng đồ hoạ, có tính năng bảo mật khi phân phối báo cáo.
  • Lợi ích:
  • Quản lý tập trung: Giải pháp OEM Grid Control cho phép doanh nghiệp giám sát và quản trị tất cả các thành phần CNTT bao gồm Database, máy chủ, hệ thống lưu trữ, thiết bị mạng,… từ giao diện đồ họa tập trung. Việc quản lý các thành phần với giao diện đồ họa giúp cho người quản trị dễ dàng trong công tác theo dõi và vận hành hệ thống.
  • Hệ thống đa quản trị: OEM Grid Control hỗ trợ quản lý đa nhiệm, cho phép phân tách vai trò giữa những người quản trị trên hệ thống nhưng vẫn đảm bảo thông tin được chia sẻ và bảo mật.
  • Tự động hóa: OEM Grid Control với công cụ cho phép lập lịch tự động hóa các tác vụ sao lưu, chạy báo cáo định kỳ. Bên cạnh đó, công cụ cho phép người quản trị giám sát hoạt động hệ thống từ xa, khi có sự cố xảy ra trên hệ thống, người quản trị có thể thiết lập các tác vụ cho phép tự động xử lý kịp thời.
  • Khả năng mở rộng: OEM Grid Control được phát triển với kiến trúc 3 lớp, do đó đảm bảo hiệu suất hoạt động của hệ thống. Khi có tình trạng quá tải trên OMS, doanh nghiệp có thể dễ dàng thêm OMS vào lớp giữa để chia sẻ và cân bằng tải.
  • Kiến trúc mở: OEM Grid Control sử dụng các chuẩn mở, cho phép lập trình và tích hợp các công cụ quản lý thứ 3 vào giao diện quản lý đồ họa. Giúp cho việc quản lý các thành phần trên hệ thống trở nên đơn giản và linh hoạt hơn.
  • Chức năng quản trị Database: OEM Grid Control bao gồm các tính năng quản trị Database, nhằm đơn giản hóa thao tác hằng ngày cho người quản trị và công tác quản trị từ xa.

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ò