Bối cảnh và vấn đề nghiên cứu

Trong hệ thống công nghệ thông tin doanh nghiệp, hệ quản trị cơ sở dữ liệu quan hệ (RDBMS) đóng vai trò trung tâm nhằm hỗ trợ kết hợp giữa xử lý giao dịch trực tuyến và các ứng dụng phân tích kinh doanh thông minh. Cơ sở dữ liệu Oracle (Oracle Database) là một trong những giải pháp RDBMS hàng đầu được nhiều đơn vị và tổ chức quy mô lớn lựa chọn nhờ khả năng vận hành mạnh mẽ, đảm bảo hiệu suất cao, tính sẵn sàng và độ an toàn bảo mật dữ liệu. Báo cáo đồ án môn học Quản lý Thông tin (mã môn IE103) tại Trường Đại học Công nghệ Thông tin – Đại học Quốc gia Thành phố Hồ Chí Minh (Khoa Khoa học và Kĩ thuật Thông tin), do ThS. Tạ Thu Thủy hướng dẫn và nhóm sinh viên thực hiện vào tháng 05/2022, tập trung nghiên cứu toàn diện về hệ quản trị cơ sở dữ liệu này nhằm giải đáp câu hỏi vì sao Oracle duy trì được vị thế phổ biến hàng đầu thế giới từ khi ra đời năm 1979 đến nay.

Mục tiêu nghiên cứu của đề tài được xác định qua 5 nhiệm vụ cụ thể:

  1. Xây dựng cái nhìn tổng quan về lịch sử hình thành, phát triển và các phiên bản của hệ quản trị cơ sở dữ liệu Oracle.
  2. Phân tích chuyên sâu kiến trúc hệ thống, cấu trúc lưu trữ và các đặc trưng, tính năng cốt lõi của Oracle Database.
  3. Thực hiện quy trình cài đặt, cấu hình hệ quản trị cơ sở dữ liệu Oracle Database 19c Enterprise Edition và công cụ giao diện Oracle SQL Developer.
  4. Triển khai thực nghiệm mô hình cơ sở dữ liệu quản lý bán hàng, thực thi tập lệnh SQL (DDL, DML, DCL) và lập trình các thành phần PL/SQL nâng cao; nghiên cứu các hướng ứng dụng thực tế và tiến hành so sánh, đánh giá Oracle với MS SQL Server và MongoDB.
  5. Tổng kết các ưu điểm, nhược điểm và đề xuất hướng phát triển tiếp theo của đề tài.

Đối tượng nghiên cứu là hệ quản trị cơ sở dữ liệu quan hệ Oracle (Oracle Database) cùng các công cụ quản trị liên quan. Phạm vi nghiên cứu bao gồm lý thuyết kiến trúc bộ nhớ, tiến trình nền, thành phần lưu trữ vật lý - logic của Oracle; phạm vi thực nghiệm tập trung vào bản cài đặt Oracle Database 19c trên hệ điều hành Windows, công cụ kết nối SQL Developer, lược đồ dữ liệu mẫu hr và mô hình dữ liệu bán hàng bao gồm 5 thực thể chính.

Cơ sở lý thuyết và phương pháp

Đề tài vận dụng các khái niệm và nguyên lý nền tảng trong khoa học dữ liệu và quản trị thông tin:

  • Khái niệm cơ sở dữ liệu và DBMS: Cơ sở dữ liệu là tập hợp dữ liệu có tổ chức được lưu trữ trong hệ thống máy tính; phân loại thành cơ sở dữ liệu quan hệ (dữ liệu tổ chức thành bảng gồm hàng và cột, truy vấn bằng ngôn ngữ SQL, tuân thủ nguyên tắc ACID gồm tính nguyên tử, tính thống nhất, tính độc lập và độ bền vững) và cơ sở dữ liệu phi quan hệ (NoSQL, lưu trữ phi cấu trúc tương tự JSON, không dùng ngôn ngữ SQL truyền thống). Hệ quản trị cơ sở dữ liệu (DBMS) là gói phần mềm chịu trách nhiệm định nghĩa, thao tác, truy xuất và quản lý an toàn toàn bộ dữ liệu.
  • Điện toán lưới doanh nghiệp (Enterprise Grid Computing): Kiến trúc tạo ra các nhóm lớn máy chủ và lưu trữ mô-đun theo tiêu chuẩn công nghiệp, cho phép phân bổ tài nguyên linh hoạt theo nhu cầu mà không cần duy trì liên tục ở mức tải đỉnh.
  • Tiến trình lịch sử Oracle: Bắt đầu năm 1977 khi Larry Ellison, Bob Miner và Ed Oates thành lập Software Development Laboratories (SDL) với vốn đầu tư ban đầu 2.000 USD; phát hành Oracle Version 2 vào năm 1979/1980; đổi tên thành Relational Software Inc., sau đó là Oracle Systems Corp (1982) và Oracle Corp (1995); trải qua 11 bản cập nhật lớn đến Oracle 12c (bổ sung kiến trúc Multitenant, xử lý In-Memory, hỗ trợ JSON, sharding), chuyển sang chu kỳ phát hành hàng năm từ 2018 với Oracle 18, Oracle 19 và cơ chế cập nhật bản vá định kỳ hàng quý.
  • Phân loại phiên bản Oracle: Báo cáo phân loại 4 gói phát hành chính gồm Enterprise Edition (bản đầy đủ tính năng nâng cao và bảo mật cao nhất, có phí), Standard Edition (gói cơ bản có phí cho doanh nghiệp), Express Edition - XE (bản gọn nhẹ, miễn phí trên Windows và Linux), và Oracle Lite (dành cho thiết bị di động).

Phương pháp nghiên cứu được áp dụng gồm:

  • Phương pháp phân tích - tổng hợp tài liệu: Khảo cứu tài liệu kỹ thuật chuyên sâu về kiến trúc ba lớp của Oracle, cấu trúc vùng nhớ SGA/PGA, cơ chế hoạt động của các tiến trình nền và cấu trúc phân cấp lưu trữ.
  • Phương pháp thực nghiệm kỹ thuật: Triển khai cài đặt hệ thống thực tế trên môi trường máy trạm, cấu hình định danh hệ thống (SID), mở khóa tài khoản quản trị mẫu, khởi tạo cấu trúc dữ liệu quan hệ và lập trình xử lý thủ tục, hàm, con trỏ, trigger, package trên nền tảng PL/SQL.
  • Phương pháp so sánh - đối chiếu: Phân tích các tiêu chí kỹ thuật giữa Oracle với hệ quản trị CSDL quan hệ MS SQL Server và hệ quản trị CSDL tài liệu NoSQL MongoDB.

Nguồn dữ liệu sử dụng trong đồ án là tài liệu kỹ thuật từ hãng Oracle và bộ dữ liệu mô phỏng nghiệp vụ quản lý bán hàng do nhóm nghiên cứu tự xây dựng.

Thiết kế và triển khai

Hệ thống cơ sở dữ liệu Oracle được thiết kế và vận hành dựa trên sự tách biệt hoàn toàn giữa cấu trúc lưu trữ vật lý và cấu trúc logic, liên kết chặt chẽ với kiến trúc xử lý của phiên bản (Oracle Instance).

+-------------------------------------------------------------------------+
|                             ORACLE INSTANCE                             |
|  +-------------------------------------------------------------------+  |
|  |                     System Global Area (SGA)                      |  |
|  |  +---------------------+  +-----------------+  +---------------+  |  |
|  |  |     Shared Pool     |  | Database Buffer |  | Redo Log      |  |  |
|  |  | - Library Cache     |  |      Cache      |  | Buffer        |  |  |
|  |  | - Data Dict Cache   |  |   (Thuật toán   |  | (Bộ đệm       |  |  |
|  |  | (SHARED_POOL_SIZE)  |  |      LRU)       |  |  nối vòng)    |  |  |
|  |  +---------------------+  +-----------------+  +---------------+  |  |
|  +-------------------------------------------------------------------+  |
|  +-------------------------------------------------------------------+  |
|  |                       Background Processes                        |  |
|  |      [DBWn]        [LGWR]        [SMON]        [PMON]     [CKPT]  |  |
|  +-------------------------------------------------------------------+  |
+-------------------------------------------------------------------------+
                                     |
                                     v
+-------------------------------------------------------------------------+
|                             ORACLE DATABASE                             |
|  +-----------------------------------+-------------------------------+  |
|  |       Thành phần vật lý           |       Thành phần logic        |  |
|  |  - Data Files (*.dbf, Tempfile)   |  - Tablespace (SYSTEM,...)    |  |
|  |  - Redo Log Files (tối thiểu 2)   |  - Segments (Data, Index,...) |  |
|  |  - Control File (1 file duy nhất) |  - Extents (Khối liên tiếp)   |  |
|  |                                   |  - Data Blocks (DB_BLOCK_SIZE)|  |
|  |                                   |  - Schema Objects             |  |
|  +-----------------------------------+-------------------------------+  |
+-------------------------------------------------------------------------+

1. Kiến trúc phân lớp và các thành phần cốt lõi

Kiến trúc Oracle bao gồm ba lớp chính:

  • Lớp bộ nhớ (Memory): Vùng nhớ chính là System Global Area (SGA), được cấp phát trong bộ nhớ ảo khi Instance khởi động và chia sẻ cho tất cả tiến trình phục vụ (Server Process) và tiến trình nền (Background Process). SGA bao gồm: Shared Pool (chứa Library Cache lưu câu lệnh SQL, cây phân tích parse tree, sơ đồ thực thi execution plan và Data Dictionary Cache lưu định nghĩa bảng, cột, quyền hạn; kích thước xác định bởi SHARED_POOL_SIZE), Database Buffer Cache (lưu trữ các khối dữ liệu sử dụng gần nhất, quản lý bằng giải thuật Least Recently Used - LRU), và Redo Log Buffer (bộ đệm nối vòng circular buffer lưu trữ các bản ghi redo record ghi nhận mọi thay đổi dữ liệu; kích thước xác định bởi LOG_BUFFER). Ngoài ra, mỗi tiến trình người dùng kết nối được cấp phát một Program Global Area (PGA) độc lập.
  • Lớp tiến trình nền (Background Processes): Điều khiển hoạt động vào/ra và xử lý đồng thời, bao gồm:
    • DBWn (Database Writer): Ghi các khối dữ liệu bị thay đổi từ buffer cache vào các Data File khi số lượng đệm đạt ngưỡng, duyệt hết đệm hoặc hết thời gian quy định.
    • LGWR (Log Writer): Ghi tuần tự nội dung từ Redo Log Buffer vào Redo Log File khi bộ đệm đầy, khi xảy ra ngắt thời gian timeout 3 giây, trước khi DBWn ghi dữ liệu, hoặc khi người dùng thực hiện commit giao dịch.
    • SMON (System Monitor): Khôi phục sự cố (crash recovery) khi khởi động instance, dọn dẹp các phân đoạn tạm (temporary segments) không còn dùng trong tablespace.
    • PMON (Process Monitor): Thu hồi tài nguyên khi tiến trình người dùng gặp lỗi, đặt lại trạng thái bảng, giải phóng khóa (locks) và đăng ký thông tin instance với network listener.
    • CKPT (Checkpoint Process): Cập nhật thông tin điểm kiểm tra (checkpoint) vào phần đầu của các Data File và Control File theo chu kỳ hoặc sự kiện log switch, shutdown hệ thống.
  • Lớp lưu trữ vật lý (Storage): Gồm Data File (chứa dữ liệu bảng, chỉ mục; quan hệ 1-1 với Tablespace; kích thước tự động tăng), Redo Log File (tối thiểu 2 tập tin ghi lại lịch sử thay đổi phục vụ khôi phục), Control File (tập tin điều khiển duy nhất ghi nhận cấu trúc vật lý, tên database, vị trí tập tin và mốc thời gian checkpoint 3 giây/lần), cùng các tập tin khởi tạo (Init file).
  • Cấu trúc phân cấp logic: Dữ liệu logic được phân cấp từ cao xuống thấp: Tablespace (đơn vị logic cấp cao nhất, luôn có tablespace SYSTEM mặc định) $\rightarrow$ Segment (gồm Data Segment, Index Segment, Temporary Segment, Rollback Segment) $\rightarrow$ Extent (tập hợp nhiều Data Block liên tiếp, cấp phát qua tham số MINEXTENT, MAXEXTENT) $\rightarrow$ Data Block (đơn vị logic nhỏ nhất xác định bởi DB_BLOCK_SIZE, gồm 3 vùng Header, Data và Free Space) $\rightarrow$ Schema Objects (bảng, view, trigger, thủ tục, chỉ mục, synonym).

2. Quy trình cài đặt và cấu hình hệ thống

Quy trình triển khai môi trường thực nghiệm được thực hiện trên hệ điều hành Windows với các bước:

  1. Cài đặt Oracle Database 19c: Tải bộ cài đặt và giải nén trong thư mục không dấu tiếng Việt. Chạy tập tin setup.exe với quyền quản trị viên (Run as administrator). Lựa chọn cấu hình: Create and configure a single instance database $\rightarrow$ Server class $\rightarrow$ Advanced install $\rightarrow$ Enterprise Edition $\rightarrow$ Use Virtual Account. Thiết lập thư mục Oracle Base tại đường dẫn D:\app\PC. Chọn loại cấu hình General Purpose / Transaction Processing, đặt Global database name và Oracle System Identifier (SID) là orcl, bỏ chọn mục Create as Container database. Cấu hình bộ nhớ, chọn bộ ký tự Unicode (AL32UTF8), tích chọn Install sample schemas in the database. Khai báo đường dẫn lưu trữ dữ liệu tại D:\app\PC\oradata, kích hoạt phục hồi dữ liệu (Enable Recovery) tại D:\app\PC\recovery_area. Thiết lập mật khẩu quản trị đồng nhất cho các tài khoản và tiến hành cài đặt hoàn tất. Xác nhận hai dịch vụ OracleServiceORCL và OracleOraDB19Home1TNSListener đều ở trạng thái Running.
  2. Kích hoạt tài khoản mẫu: Mở Command Prompt, đăng nhập quyền quản trị tối cao qua lệnh sqlplus / as sysdba và thực thi lệnh mở khóa: alter user hr identified by hr account unlock;.
  3. Cài đặt và kết nối Oracle SQL Developer: Giải nén bộ công cụ SQL Developer, chạy sqldeveloper.exe, tạo kết nối cơ sở dữ liệu mới (New Database Connection) với thông tin tài khoản hr và mật khẩu hr để truy cập giao diện soạn thảo câu lệnh.
  4. Xây dựng mô hình dữ liệu thực nghiệm: Thiết kế cơ sở dữ liệu quản lý bán hàng gồm 5 bảng quan hệ: KHACHHANG (Khách hàng), NHANVIEN (Nhân viên), SANPHAM (Sản phẩm), HOADON (Hóa đơn) và CTHD (Chi tiết hóa đơn).

Nội dung chính theo từng chương

Chương 1: Tổng quan

Chương 1 giới thiệu tổng quan về vị thế của tập đoàn công nghệ Oracle và sản phẩm chủ lực Oracle Database trong hạ tầng CNTT doanh nghiệp. Nội dung điểm lại toàn bộ tiến trình lịch sử phát triển từ năm 1977 đến các phiên bản hiện đại, làm rõ khái niệm cơ sở dữ liệu quan hệ và phi quan hệ, phân tích vai trò của DBMS và kiến trúc điện toán lưới. Chương này phân định rõ đặc điểm của 4 gói phiên bản Oracle (Enterprise Edition, Standard Edition, Express Edition, Oracle Lite), đồng thời nêu bật vấn đề nghiên cứu và mục đích tổng quát của đồ án.

Chương 2: Các đặc trưng của hệ quản trị cơ sở dữ liệu Oracle

Chương 2 phân tích chuyên sâu các đặc trưng kỹ thuật và kiến trúc nội tại của Oracle:

  • Khả năng lưu trữ và nén dữ liệu: Cơ chế phân vùng dữ liệu mở rộng (theo khoảng giá trị, hash, danh sách liệt kê, tham chiếu, phân vùng ảo) và công nghệ nén dữ liệu tiên tiến đạt tỷ lệ nén từ 2 đến 3 lần hoặc cao hơn cho cả dữ liệu có cấu trúc và phi cấu trúc.
  • Tính đồng hành và nhất quán: Điều khiển truy cập đồng thời triệt tiêu thời gian chờ, đảm bảo người đọc không phải chờ người viết và người viết không chờ người đọc, duy trì tính nhất quán khi nhiều phiên làm việc cùng truy xuất.
  • Bảo mật và an toàn dữ liệu: Phân quyền hệ thống và quyền đối tượng; cơ chế kiểm soát truy cập theo lược đồ người dùng và tính năng ghi nhật ký kiểm toán (auditing).
  • Sao lưu và phục hồi: Hỗ trợ sao lưu toàn phần (Full backup) và từng phần (Partial backup) ngay khi cơ sở dữ liệu đang hoạt động; phục hồi dữ liệu linh hoạt theo từng tablespace hoặc điểm thời gian.
  • Xử lý phân tán và khối lượng lớn: Hỗ trợ mô hình Client/Server và xử lý khối lượng dữ liệu lên đến hàng trăm terabyte.
  • Kiến trúc và các tính năng nâng cao: Trình bày chi tiết cấu trúc 3 lớp, các thành phần SGA, PGA, 5 tiến trình nền cơ bản (DBWn, LGWR, SMON, PMON, CKPT), các tập tin vật lý, cấu trúc phân cấp logic và các bộ tính năng sẵn sàng cao (RAC, RMAN, Data Guard, Flashback), tính năng kinh doanh thông minh (Kho dữ liệu, ETL, Materialized Views, Bitmap Index, OLAP, Data Mining) và quản lý nội dung đa phương tiện (XML, LOBs, Oracle Text, Spatial).

Chương 3: Quy trình thực hiện hệ quản trị Oracle

Chương 3 đóng vai trò là phần hướng dẫn thực hành kỹ thuật, ghi lại chi tiết từng thao tác thực tế kèm theo 42 hình ảnh minh chứng. Nội dung bao gồm toàn bộ 22 bước cài đặt Oracle Database 19c Enterprise Edition trên môi trường Windows, quy trình kiểm tra dịch vụ hệ điều hành, cú pháp lệnh SQL*Plus mở khóa tài khoản người dùng hr, các bước tải và kết nối Oracle SQL Developer, cùng quy trình khởi tạo cơ sở dữ liệu mẫu về quản lý bán hàng với đầy đủ sơ đồ quan hệ thực thể (diagram) và kịch bản tạo bảng, chèn dữ liệu.

Chương 4: Các câu lệnh SQL trong Oracle

Chương 4 hệ thống hóa toàn bộ cú pháp và câu lệnh thao tác cơ sở dữ liệu trong môi trường Oracle:

  • Ngôn ngữ định nghĩa dữ liệu (DDL): Các kiểu dữ liệu chuẩn trong Oracle, thao tác tạo bảng (CREATE TABLE), thêm/xóa/sửa cấu trúc cột (ALTER TABLE), ràng buộc khóa chính, khóa ngoại và xóa bảng (DROP TABLE).
  • Ngôn ngữ thao tác dữ liệu (DML): Các thao tác thêm mới dữ liệu (INSERT INTO), cập nhật (UPDATE) và xóa dữ liệu (DELETE).
  • Ngôn ngữ điều khiển dữ liệu (DCL): Quản lý người dùng và vai trò gồm tạo tài khoản (CREATE USER), gán quyền hệ thống/đối tượng (GRANT), đổi mật khẩu (ALTER USER), thu hồi quyền (REVOKE), xóa người dùng (DROP USER), tạo vai trò (CREATE ROLE), gán vai trò và xóa vai trò (DROP ROLE).
  • Truy vấn dữ liệu và hàm xử lý: Cấu trúc truy vấn tổng quát (SELECT), truy vấn con lồng nhau (Subquery), các toán tử so sánh, toán tử logic, các nhóm hàm kiểu số, chuỗi ký tự, ngày tháng và các hàm gom nhóm tổng hợp (GROUP BY, HAVING).
  • Lập trình PL/SQL nâng cao: Cú pháp khai báo và thực thi khung nhìn (View), chỉ mục (Index), tên đồng nghĩa (Synonym), hàm (Function), thủ tục lưu trữ (Stored Procedure), bộ kích hoạt (Trigger), con trỏ duyệt dữ liệu (Cursor) và gói chương trình (Package gồm phần đặc tả Specification và phần thân Body).

Chương 5: Ứng dụng/ Kết quả thực nghiệm/So sánh-Đánh giá

Chương 5 trình bày toàn bộ kết quả chạy thực nghiệm các câu lệnh DDL, DML, DCL, lập trình PL/SQL trên cơ sở dữ liệu quản lý bán hàng, ghi nhận qua chuỗi 40 hình ảnh kết quả thực thi thành công từ giao diện SQL Developer. Đồng thời, chương này phân tích các hướng ứng dụng công nghệ hiện đại của Oracle trong thực tế doanh nghiệp (Machine Learning for Oracle, mã địa lý Geocode, lưu trữ tài liệu JSON, ứng dụng IoT và xử lý dữ liệu lớn Big Data). Phần cuối chương thực hiện so sánh, đánh giá chi tiết giữa Oracle với MS SQL Server và MongoDB.

Chương 6: Kết luận

Chương 6 tổng kết các kết quả nghiên cứu đã đạt được về mặt lý thuyết kiến trúc và kỹ năng thực hành quản trị cơ sở dữ liệu Oracle; đánh giá các ưu điểm nổi bật (tính bảo mật cao, khả năng chịu tải lớn, tính năng dự phòng toàn diện) cùng nhược điểm (độ phức tạp cấu hình cao, chi phí bản quyền lớn); đồng thời định hướng các nội dung nghiên cứu mở rộng trong tương lai.

Kết quả và đóng góp

1. Kết quả thực nghiệm và phân công nhiệm vụ

Đồ án được thực hiện bởi nhóm 5 sinh viên với bảng phân công và đánh giá hoàn thành nhiệm vụ cụ thể:

Họ và tên sinh viên Mã số sinh viên (MSSV) Phân công nhiệm vụ trong đồ án Đánh giá kết quả
Nguyễn Minh Hùng 20521368 Soạn thảo nội dung Chương 1 (Cơ sở lý thuyết, Đặt vấn đề, Mục đích), Chương 2 (Đặc trưng, Kiến trúc Oracle, Oracle Instance, Oracle Database, Tính năng Oracle), Chương 6 (Ưu, nhược điểm và hướng phát triển); Thuyết trình. Hoàn thành tốt
Nguyễn Ngọc Nam 20521631 Soạn thảo nội dung Chương 1 (Giới thiệu, Lịch sử ra đời và phát triển), Chương 4 (Các câu lệnh SQL trong Oracle); Soạn slide; Thuyết trình. Hoàn thành tốt
Nguyễn Quốc Kỳ 20521510 Soạn thảo nội dung Chương 3 (Quy trình thực hiện hệ quản trị Oracle), Chương 5 (Ứng dụng, So sánh với MS SQL Server và MongoDB); Soạn slide; Thuyết trình. Hoàn thành tốt
Phạm Hoàng Minh Hậu 20521301 Soạn thảo nội dung Chương 2 (Đặc trưng, Kiến trúc Oracle, Tính năng Oracle), Chương 6 (Ưu, nhược điểm và hướng phát triển); Soạn slide. Hoàn thành tốt
Nguyễn Thành Trung 20522074 Soạn thảo nội dung Chương 1 (Giới thiệu, Lịch sử ra đời và phát triển), Chương 5 (Kết quả thực nghiệm); Soạn slide; Quay video và thuyết trình Demo. Hoàn thành tốt

Toàn bộ quá trình cài đặt phiên bản Oracle 19c Enterprise Edition với tên định danh orcl, cấu hình kết nối tài khoản mẫu hr và thực thi các khối lệnh quản trị cơ sở dữ liệu bán hàng đều đạt kết quả chính xác, được ghi nhận qua hơn 80 hình ảnh minh họa chi tiết trong báo cáo.

2. Kết quả so sánh hệ quản trị cơ sở dữ liệu

Dựa trên nội dung phân tích tại Chương 5, các đặc điểm kỹ thuật giữa Oracle, MS SQL Server và MongoDB được tổng hợp như sau:

Tiêu chí so sánh Hệ quản trị cơ sở dữ liệu Oracle Microsoft SQL Server MongoDB
Mô hình dữ liệu Cơ sở dữ liệu quan hệ (RDBMS) đa mô hình (hỗ trợ thêm JSON, XML, Không gian). Cơ sở dữ liệu quan hệ (RDBMS). Cơ sở dữ liệu phi quan hệ (NoSQL) hướng tài liệu (Document-oriented).
Ngôn ngữ truy vấn SQL mở rộng, PL/SQL. T-SQL (Transact-SQL). MQL (MongoDB Query Language), cấu trúc JSON/BSON, không dùng SQL.
Tính toàn vẹn dữ liệu Tuân thủ nghiêm ngặt chuẩn ACID, kiểm soát toàn vẹn bằng Trigger và Constraint. Tuân thủ nghiêm ngặt chuẩn ACID. Đảm bảo tính nhất quán trên cấp độ tài liệu đơn lẻ, mô hình linh hoạt.
Khả năng lưu trữ & mở rộng Khả năng nén dữ liệu cao (2-3 lần), phân vùng hỗn hợp, hỗ trợ hàng trăm Terabyte. Hỗ trợ phân vùng dữ liệu, tối ưu hóa cho hệ sinh thái Windows Server. Mở rộng ngang (horizontal scaling) thông qua cơ chế sharding tự nhiên.
Hệ thống bộ nhớ & tiến trình Phân tách rõ rệt SGA (Shared Pool, Buffer Cache, Redo Log Buffer) và các tiến trình nền (DBWn, LGWR,...). Quản lý bộ nhớ đệm Buffer Pool tự động thông qua SQL Server OS. Sử dụng công cụ lưu trữ WiredTiger, tận dụng bộ nhớ cache của hệ điều hành.
Môi trường phù hợp Các hệ thống doanh nghiệp quy mô lớn, giao dịch tài chính ngân hàng, dữ liệu phân tán phức tạp. Ứng dụng doanh nghiệp tích hợp hệ sinh thái Microsoft, quy mô vừa và lớn. Các ứng dụng Web, dữ liệu phi cấu trúc, dữ liệu lớn (Big Data), Internet vạn vật (IoT).

3. Đóng góp của đề tài

Đồ án đã hệ thống hóa đầy đủ cơ sở lý thuyết về kiến trúc bên trong của Oracle Database, làm rõ cơ chế phối hợp giữa các vùng nhớ và tiến trình nền để duy trì hiệu năng cao và độ an toàn dữ liệu. Đồng thời, báo cáo cung cấp một tài liệu hướng dẫn thực hành từng bước từ cài đặt, cấu hình, quản trị người dùng đến lập trình cơ sở dữ liệu PL/SQL hoàn chỉnh, giúp người đọc dễ dàng tiếp cận và triển khai thực tế.

Hạn chế và hướng nghiên cứu tiếp

  • Hạn chế: Phạm vi thực nghiệm của đồ án mới dừng lại ở việc triển khai mô hình cơ sở dữ liệu quản lý bán hàng quy mô nhỏ trên môi trường máy đơn (single instance) thuộc hệ điều hành Windows. Đồ án chưa tiến hành kiểm thử hiệu năng chịu tải với khối lượng dữ liệu lớn hàng triệu bản ghi, chưa cấu hình các cụm phân tán phức tạp như Oracle Real Application Clusters (RAC) hay hệ thống dự phòng thảm họa tự động Oracle Data Guard trên môi trường máy chủ mạng doanh nghiệp.
  • Hướng nghiên cứu tiếp theo: Nhóm tác giả định hướng tiếp tục nghiên cứu chuyên sâu các giải pháp phân vùng dữ liệu lớn (sharding/partitioning), phân tích sơ đồ thực thi câu lệnh (Execution Plan) để tối ưu hóa hiệu năng truy vấn trong môi trường phân tán; mở rộng tích hợp Oracle với các công nghệ Big Data, Internet vạn vật (IoT) và Machine Learning for Oracle; nghiên cứu cấu hình tự động hóa sao lưu và phục hồi thảm họa qua công cụ Recovery Manager (RMAN).

Giá trị tham khảo

Báo cáo đồ án là tài liệu học thuật và hướng dẫn thực hành giá trị dành cho:

  • Sinh viên chuyên ngành Công nghệ Thông tin, Hệ thống Thông tin, Kỹ thuật Phần mềm và Khoa học Dữ liệu đang theo học các học phần Quản lý thông tin, Hệ quản trị cơ sở dữ liệu hoặc Quản trị cơ sở dữ liệu nâng cao.
  • Các kỹ sư phát triển phần mềm và quản trị viên cơ sở dữ liệu (DBA) mới bắt đầu làm quen với hệ sinh thái Oracle, cần một quy trình chuẩn xác để cài đặt Oracle 19c Enterprise Edition, mở khóa tài khoản mẫu hr và kết nối công cụ SQL Developer.
  • Người làm đề tài nghiên cứu so sánh giữa các kiến trúc cơ sở dữ liệu quan hệ truyền thống và cơ sở dữ liệu NoSQL hiện đại.

Các phần đáng tham khảo nhất trong văn bản bao gồm: sơ đồ phân tích kiến trúc vùng nhớ SGA và các tiến trình nền tại Chương 2; hướng dẫn 22 bước cài đặt chi tiết kèm hình ảnh tại Chương 3; và cấu trúc mẫu lập trình PL/SQL (Function, Procedure, Trigger, Cursor, Package) tại Chương 4.

Câu hỏi thường gặp

1. Trong kiến trúc Oracle, sự khác biệt giữa Oracle Instance và Oracle Database là gì?
Oracle Instance là sự kết hợp giữa cấu trúc vùng nhớ System Global Area (SGA) và các tiến trình nền (Background Processes) được cấp phát trong bộ nhớ khi hệ thống khởi động để quản trị cơ sở dữ liệu; một Instance được xác định bởi tham số môi trường ORACLE_SID. Trong khi đó, Oracle Database là tập hợp các thành phần lưu trữ vật lý (như Data File, Redo Log File, Control File) và thành phần logic (như Tablespace, Segment, Extent, Data Block) tồn tại trên đĩa cứng để lưu trữ và quản lý dữ liệu thực sự.

2. Vùng nhớ System Global Area (SGA) gồm những thành phần cơ bản nào và đảm nhận vai trò gì?
SGA bao gồm ba thành phần chính:

  • Shared Pool: Lưu trữ cấu trúc bộ nhớ chia sẻ, gồm Library Cache (chứa văn bản lệnh SQL, cây phân tích parse tree và sơ đồ thực hiện lệnh) và Data Dictionary Cache (chứa thông tin định nghĩa bảng, cột, tài khoản người dùng, quyền hạn); kích thước do tham số SHARED_POOL_SIZE quy định.
  • Database Buffer Cache: Lưu trữ các khối dữ liệu (data blocks) được truy xuất gần nhất, sử dụng thuật toán Least Recently Used (LRU) để giải phóng vùng đệm khi đầy nhằm hạn chế truy xuất trực tiếp vào đĩa cứng.
  • Redo Log Buffer: Bộ đệm nối vòng (circular buffer) lưu trữ các bản ghi hồi phục (redo records) ghi nhận mọi thay đổi dữ liệu phát sinh từ các giao dịch; kích thước xác định bởi LOG_BUFFER.

3. Các tiến trình nền cơ bản trong Oracle thực hiện nhiệm vụ gì để đảm bảo an toàn hệ thống?
Năm tiến trình nền chủ chốt gồm: DBWn (ghi dữ liệu bị thay đổi từ buffer cache vào các data file), LGWR (ghi tuần tự các bản ghi từ redo log buffer vào redo log file), SMON (thực hiện crash recovery khi khởi động instance và dọn dẹp các segment tạm), PMON (dọn dẹp tài nguyên, giải phóng khóa và khôi phục khi tiến trình người dùng gặp sự cố), và CKPT (cập nhật thông tin điểm kiểm tra checkpoint vào phần header của control file và data file).

4. Cấu trúc lưu trữ logic của Oracle Database được tổ chức theo các cấp bậc nào?
Cấu trúc logic được tổ chức từ cao xuống thấp gồm: Tablespace (đơn vị logic cấp cao nhất thuộc về một CSDL, gồm một hoặc nhiều Data File), Segment (tập hợp các Extent dùng chứa cấu trúc như Table, Index), Extent (tập hợp các Data Block liên tiếp nhau được cấp phát cùng lúc), và Data Block (đơn vị lưu trữ logic nhỏ nhất của Oracle, kích thước cấu hình qua DB_BLOCK_SIZE, gồm 3 vùng Header, Data và Free Space).

5. Để cài đặt thành công Oracle 19c Enterprise Edition trong đồ án, người quản trị cần thiết lập những tham số và kiểm tra dịch vụ nào?
Người cài đặt cần cấu hình: đường dẫn Oracle Base (D:\app\PC), loại cài đặt General Purpose / Transaction Processing, đặt Global database name và SID là orcl, cấu hình bộ ký tự Unicode (AL32UTF8), kích hoạt schema mẫu (hr), chỉ định đường dẫn dữ liệu (D:\app\PC\oradata) và vùng phục hồi (D:\app\PC\recovery_area). Sau khi cài đặt, phải kiểm tra hai dịch vụ hệ điều hành OracleServiceORCL và OracleOraDB19Home1TNSListener đều đang ở trạng thái Running.

Kết luận

Báo cáo đồ án cuối kỳ môn Quản lý Thông tin của nhóm sinh viên Trường Đại học Công nghệ Thông tin – ĐHQG-HCM đã trình bày một cách có hệ thống toàn bộ nền tảng lý thuyết về kiến trúc 3 lớp, các vùng nhớ, tiến trình nền và cấu trúc lưu trữ của hệ quản trị cơ sở dữ liệu Oracle. Đồ án đã triển khai thành công quy trình cài đặt thực tế bản phát hành Oracle 19c Enterprise Edition, kết nối giao diện SQL Developer và kiểm thử hoàn chỉnh các chức năng truy vấn SQL, bảo mật phân quyền cùng lập trình PL/SQL trên mô hình dữ liệu bán hàng. Các phân tích so sánh với MS SQL Server, MongoDB cùng định hướng ứng dụng dữ liệu lớn và học máy đã khẳng định vai trò của Oracle trong hạ tầng công nghệ thông tin doanh nghiệp, đồng thời tạo tiền đề thực tiễn cho các nghiên cứu chuyên sâu tiếp theo.