Đặt vấn đề Oracle được xem là hệ quản trị cơ sở dữ liệu phổ biến nhất thế giới. Oracle luôn dẫn đầu trong nhiều năm từ khi ra đời năm 1979. Điều có thể nói về Oracle là “hệ thống phức tạp nhưng mạnh mẽ”. Tuy nhiên, vì sao Oracle lại phổ biến đến như vậy, trong bài báo cáo sẽ làm rõ câu trả lời cho câu hỏi này.
Mục đích Có cái nhìn tổng quan về hệ quản trị cơ sở dữ liệu Oracle. Nghiên cứu cấu trúc, đặc điểm và tính năng của Oracle. Các quy trình thực hiện liên quan. Ứng dụng của Oracle, các kết quả chạy thực nghiệm, so sánh và đánh giá với các hệ quản trị cơ sở dữ liệu khác.
Nhằm đưa ra các ưu, nhược điểm và giải pháp cho đề tài. 13 | P a g e IE103 – Quản lý Thông tin Chương 2: Các đặc trưng của hệ quản trị cơ sở dữ liệu Oracle 2. Đặc trưng 2. Khả năng lưu trữ Oracle có khả năng đáng kể về nén và phân vùng dữ liệu mới đối với khả năng quản lý lưu trữ và vòng đời dữ liệu với chi phí hiệu qủa hơn.
Ngoài ra, Oracle còn tự động hóa nhiều hoạt động phân vùng dữ liệu thủ công và mở rộng phương pháp phân vùng theo khoảng giá trị, hash và liệt kê phân vùng hiện có để có khoảng đệm, tham chiếu và phân vùng ảo theo cột. Thêm vào đó, Oracle cung cấp một bộ hoàn chỉnh các lựa chọn phân vùng hỗn hợp cho phép quản lý lưu trữ được thực hiện theo các qui định kinh doanh. Xây dựng trên các khả năng nén dữ liệu đã có từ lâu, Oracle đã đưa đến khả năng nén dữ liệu tiên tiến cho cả dữ liệu có cấu trúc và không có cấu trúc được xử lý trong quy trình giao dịch, lưu trữ dữ liệu và các môi trường quản trị nội dung. Tỷ lệ nén tất cả các dữ liệu lớn từ 2 - 3 lần hoặc cao hơn có thể đạt được với khả năng nén tiên tiến mới.
Đồng hành và nhất quán Đồng hành (Concurrency): Vấn đề cần điều khiển tính ra vào, với các người dùng khi truy xuất cùng một đơn vị dữ liệu, sao cho tại cùng một thời điểm cho giản ước thời gian chờ là tối thiểu đến mức gần bằng 0. Nhất quán: Đảm bảo dữ liệu nhất quán trong thời gian đọc. Đảm bảo người đọc không chờ người viết và ngược lại. Đảm bảo người viết phải chờ người viết khác nếu cùng cập nhật đến một đơn vị dữ liệu.
Bảo mật Đảm bảo tính an toàn nhờ các kiểm soát: Quyền truy cập vào cơ sở dữ liệu. Quyền trên cơ sở dữ liệu nào. Quyền trên đối tượng nào trong cơ sở dữ liệu, bao gồm: Quyền hệ thống: Cho phép tác động đến hệ thống là quyền rất mạnh. Quyền đối tượng: Cho phép tác động lên một đối tượng cụ thể.
14 | P a g e IE103 – Quản lý Thông tin 2. Backup và Restore dữ liệu Trong khi Backup, cơ sở dữ liệu vẫn có thể hoạt động, cơ chế backup cần uyển chuyển. Cần backup với những lý do sau: Xóa (Delete) nhầm dữ liệu. Phát biểu nhầm các lệnh: Insert, Update.
Mất mát do trộm cắp. Một cách khắc phục là tạo file backup gồm 2 dạng: Full backup: Toàn bộ file tạo cơ sở dữ liệu. Partial backup: Chỉ backup một phần file dữ liệu. Restore: Là quá trình khôi phục lại cơ sở dữ liệu ban đầu từ cơ sở dữ liệu được backup.
Thứ tự Restore phụ thuộc vào: Kiểu backup. Thời gian biểu (schedule). Cơ sở dữ liệu phân tán Dùng nhiều bộ xử lý chia tiến trình thành các tập công việc có liên quan, phân chia công việc cho các bộ xử lý khác cùng hợp tác làm việc. Oracle hỗ trợ cho công việc xử lý phân tán bằng kiến trúc Client/Server.
Client tập trung cho công việc ra yêu cầu trình bày dữ liệu. Server tiếp nhận các yêu cầu (Request) từ Client, xử lý và trả về kết quả cho Client. Cơ sở dữ liệu phân tán là một mạng cơ sở dữ liệu quản lý bởi nhiều server cơ sở dữ liệu, xuất hiện tới người dùng như là một cơ sở dữ liệu duy nhất. Dữ liệu trong cơ sở dữ liệu phân tán có thể truy xuất bổ sung đồng thời tại một thời điểm.
Khả năng xử lý dữ liệu Khả năng xử lý dữ liệu rất lớn, có thể lên đến hàng trăm terabyte mà vẫn đảm bảo tốc độ xử lý dữ liệu rất cao. Kiến trúc của Oracle Giống như các công nghệ cơ sở dữ liệu quan hệ khác, Oracle Database sử dụng cấu trúc bảng theo hàng và cột để kết nối các phần tử dữ liệu có liên quan trong các bảng khác nhau; kết quả là người dùng không phải lưu trữ cùng một dữ liệu trong nhiều bảng 15 | P a g e IE103 – Quản lý Thông tin để xử lý. Mô hình quan hệ cũng cung cấp một loạt các ràng buộc về tính toàn vẹn nhằm duy trì độ chính xác của dữ liệu; các thủ tục kiểm tra này là một phần trong việc tuân thủ đầy đủ các nguyên tắc về nguyên tử, tính thống nhất, độc lập và độ bền dữ liệu - viết ngắn gọn là ACID - được thiết kế để đảm bảo rằng độ tin cậy trong xử lý các giao dịch cơ sở dữ liệu. Cấu trúc của Oracle gồm 3 lớp trong mô hình kiến trúc bao gồm: Hình Các đặc trưng của hệ quản trị cơ sở dữ liệu Oracle.1: Cấu trúc của Oracle Storage (Lớp lưu trữ): Storage chứa các tập tin dữ liệu mà đã được lưu trữ ở các khu vực đĩa cứng của các máy chủ (hoặc một máy chủ).
Một số loại tập tin có trong OracleDB bao gồm: □ Init file (tập tin khởi đầu): chứa thông tin tên, vị trí, tham số của tập tin. □ Control file (tập tin điều khiển): chứa ngày - giờ, vị trí tạo CSDL. □ Database file (tập tin cơ sở dữ liệu): chứa dữ liệu thật sự của CSDL. □ Redo log file (tập tin lặp lại các thao tác): chứa những hành động như thêm, sửa, hủy của người lập trình.
Background processes (Lớp tiến trình nền): 16 | P a g e IE103 – Quản lý Thông tin Nhiệm vụ của lớp xử lý bên dưới là đảm bảo sự trùng khớp giữa chi tiết hiển thị trong bộ nhớ với Oracle Database. Lớp này chủ yếu được chia ra làm hai phần xử lý đó là: □ Database writer: đọc và ghi những dòng dữ liệu có sự thay đổi khi dữ liệu này trên vùng đệm bị đầy và giải phóng nó. □ Log writer: Những thông tin xảy ra trong khi thực thi giao tác thì sẽ được ghi nhận xuống tập tin log giúp đảm bảo an toàn hơn cho dữ liệu. Memory (Lớp bộ nhớ): Memory hay System Global Area giúp tăng tốc độ xử lý của Oracle bằng việc lưu trữ dữ liệu trên nhiều thành phần khác nhau.
Các vùng đệm tiêu biểu bao gồm: □ Dictionary Cache: Lưu trữ thông tin chung thường dùng. □ Database buffer cache: Vùng đệm lưu trữ cơ sở dữ liệu. □ SQL Area: vùng đệm lưu trữ lệnh SQL. Một phiên bản cơ sở dữ liệu Oracle được xây dựng dựa trên một tập hợp các bộ nhớ cache, được gọi là hệ thống toàn cầu (SGA), có chứa các bộ nhớ chia sẻ; phiên bản cũng bao gồm các tiến trình đang chạy ngầm để quản lý các chức năng I/O và giám sát các hoạt động của cơ sở dữ liệu với mục tiêu tối ưu hóa hiệu suất và độ tin cậy.
Các process trên máy khách riêng biệt chạy mã ứng dụng cho người dùng sẽ được kết nối với một phiên bản dữ liệu, trong khi các process máy chủ sẽ chịu trách nhiệm quản lý sự tương tác giữa các process máy khách và cơ sở dữ liệu. Mỗi process máy chủ sẽ được gán một vùng bộ nhớ riêng được gọi là khu vực chương trình chung, tách biệt với SGA. Oracle Instance Oracle instance bao gồm một cấu trúc bộ nhớ System Global Area (SGA) và các Background processes (tiến trình nền) được sử dụng để quản trị cơ sở dữ liệu. 17 | P a g e IE103 – Quản lý Thông tin Oracle instance được xác định qua tham số môi trường ORACLE_SID của hệ điều hành.
Hình Các đặc trưng của hệ quản trị cơ sở dữ liệu Oracle. System Global Area Oracle sử dụng cấu trúc vùng nhớ để lưu trữ thông tin trong hệ thống trong khi đang thực thi, như là mã nguồn của một chương trình đang chạy, thông tin về kết nối của các phiên làm việc, lưu vết dữ liệu vật lý trong quá trình xử lý,… Cấu trúc vùng nhớ của Oracle bao gồm SGA và PGA. SGA (System Global Area) là một thành phần cơ bản trong Oracle Instance và được cấp phát khi Instance khởi động. Thông tin lưu trữ trong SGA có thể được sử dụng bởi tất cả các Server Process và Background Process.
PGA (Program Global Area) được cấp phát cho User Process kết nối đến Oracle Server. Hình Các đặc trưng của hệ quản trị cơ sở dữ liệu Oracle.3: System Global Area SGA được cấp phát tại vùng nhớ ảo của máy tính đang chạy Oracle. SGA gồm có một số cấu trúc vùng nhớ dùng để chứa dữ liệu và quản lý các thông tin về Oracle Instance. SGA là một vùng nhớ chia sẻ, thông tin về Database có thể được truy xuất bởi các tiến trình đang làm việc trên Database đó.
Nếu có nhiều người dùng kết nối với một Instance thì SGA của Instance sẽ chia sẻ cho những người dùng đó. SGA bao gồm một vài cấu trúc bộ nhớ chính: □ Shared pool: Là một phần của SGA lưu các cấu trúc bộ nhớ chia sẻ. □ Database buffer cache: Lưu trữ các dữ liệu được sử dụng gần nhất. 18 | P a g e IE103 – Quản lý Thông tin □ Redo log buffer: Được sử dụng cho việc dò tìm lại các thay đổi trong cơ sở dữ liệu và được thực hiện bởi các background process.
Để chi tiết hơn, ta sẽ xem xét cụ thể từng thành phần. Share Pool Shared pool là một phần trong SGA và được sử dụng khi thực hiện phân tích câu lệnh (parse phase). Kích thước của Shared pool được xác định bởi tham số SHARED_POOL_SIZE có trong parameter file (file tham số). gồm có: Library cache và Data dictionary cache.
Hình Các đặc trưng của hệ quản trị cơ sở dữ liệu Oracle.4: Shared Pool Library Cache: Lưu trữ thông tin về các câu lệnh SQL được sử dụng gần nhất bao gồm: □ Nội dung của câu lệnh dạng text (văn bản). □ Parse tree (cây phân tích) được xây dựng tuỳ thuộc vào câu lệnh. □ Execution plan (sơ đồ thực hiện lệnh) gồm các bước thực hiện và tối ưu lệnh.