Thứ Tư, 25 tháng 2, 2026

MODULE 4: CHI TIẾT QUẢN LÝ, CÀI ĐẶT VÀ PATCH INSTANCE CSDL

1. Tổng quan

Việc cài đặt CSDL không chỉ là bấm "Next", mà là quy trình chuẩn bị môi trường OS, quy hoạch thư mục lưu trữ, khởi tạo nhân CSDL và thiết lập bảo mật ban đầu. Anh sẽ thấy sự đối lập rất lớn giữa sự đồ sộ của Oracle và sự tinh gọn của các hệ thống mã nguồn mở.

2. Chi tiết các nội dung

A. Quy trình Cài đặt (Installation Step-by-Step)

1. Oracle (Sự đồ sộ chuẩn Enterprise)

  • Bước 1 - Chuẩn bị OS: Bắt buộc phải cấu hình Kernel parameters (sysctl.conf) và giới hạn tài nguyên (limits.conf). Tạo user oracle và các group oinstall, dba.

  • Bước 2 - Cài phần mềm (Binaries): Chạy runInstaller (OUI). Anh phải cài phần mềm riêng vào ORACLE_HOME. Sau khi cài xong, bắt buộc phải chạy 2 script bằng quyền root (ví dụ root.sh).

  • Bước 3 - Khởi tạo DB: Dùng công cụ DBCA (Database Configuration Assistant) để sinh ra các file vật lý (.dbf, .ctl, .log) và khởi động Instance.

2. SQL Server (Chuẩn mực hệ sinh thái Windows)

  • Bước 1 - Cài đặt qua GUI Setup: Chạy file .iso. Chọn "New SQL Server stand-alone installation".

  • Bước 2 - Chọn tính năng & Instance: Chỉ tick chọn "Database Engine Services". Anh có thể cài Instance mặc định (MSSQLSERVER) hoặc Named Instance (ServerName\InstanceName).

  • Bước 3 - Cấu hình quan trọng nhất:

    • Service Accounts: Chọn user Windows chạy dịch vụ (rất quan trọng cho bảo mật).

    • Collation: Chọn bảng mã (thường là SQL_Latin1_General_CP1_CI_AS). Lưu ý: Sai Collation từ đầu là ác mộng sau này.

    • Authentication Mode: Bắt buộc chọn Mixed Mode và đặt password cho tài khoản sa (Super Admin).

    • Directories: Quy hoạch tách biệt ổ đĩa cho Data, Log, và TempDB.

3. PostgreSQL (Triết lý InitDB)

  • Bước 1 - Cài Package: Chạy yum install postgresql14-server (trên RHEL/CentOS) hoặc apt install postgresql.

  • Bước 2 - Khởi tạo Cluster (initdb): Khác với cài phần mềm xong là dùng được, anh phải chạy lệnh postgresql-14-setup initdb. Lệnh này tương đương với DBCA của Oracle, nó sẽ sinh ra thư mục lưu trữ mặc định (/var/lib/pgsql/14/data/).

  • Bước 3 - Mở mạng: Mặc định Postgres chỉ nghe trên localhost. Anh phải vào postgresql.conf sửa listen_addresses = '*' và vào pg_hba.conf để cho phép IP ngoài kết nối.

4. MySQL / MariaDB (Triết lý Secure Installation)

  • Bước 1 - Cài Package: Chạy yum install mysql-server. Dịch vụ mysqld sẽ tự động khởi tạo thư mục data (/var/lib/mysql) ở lần chạy đầu tiên.

  • Bước 2 - Bảo mật ban đầu: Chạy lệnh mysql_secure_installation. Bước này bắt buộc để anh đặt password cho root, xóa các user ẩn danh (anonymous users) và xóa database test.

5. MongoDB (Cấu hình YAML)

  • Bước 1 - Cài Package: Thêm repo của MongoDB và cài yum install mongodb-org.

  • Bước 2 - Sửa cấu hình: Mở /etc/mongod.conf. Sửa bindIp: 127.0.0.1 thành bindIp: 0.0.0.0 để cho phép kết nối từ xa. Kích hoạt tính năng bảo mật: security: authorization: "enabled".

  • Bước 3 - Tạo Admin: Khởi động Service. Dùng mongosh kết nối vào và tạo User quản trị đầu tiên trên database admin.

B. Quy trình Nâng cấp / Vá lỗi (Patching)

Hệ thốngCông cụ / Phương thứcMức độ phức tạp đối với DBA
OracleOPatch. Phải check conflict, apply patch, chạy lệnh datapatch cập nhật dictionary.Phức tạp, dễ dính lỗi relink binaries, thường cần downtime lớn.
SQL ServerCài file .exe của Cumulative Update (CU).Rất dễ (Next -> Next). Tự động upgrade script bên trong DB.
PostgreSQLyum update (Minor). Dùng pg_upgrade cho Major (vd: v13 lên v14).Dễ. pg_upgrade dùng Hard Link nên nâng cấp DB hàng TB chỉ mất vài giây.
MySQLyum update. Upgrade tự động thư mục data (từ bản 8.0).Đơn giản.
MongoDBTải binaries mới đè lên binaries cũ.Hỗ trợ Rolling Upgrade tuyệt vời cho Replica Set (không downtime).

3. Tóm tắt nội dung

  • Anh không thể chỉ cài phần mềm xong là xong. Với PostgreSQL, initdb là linh hồn. Với MySQL, mysql_secure_installation là bắt buộc.

  • Với SQL Server, cấu hình Collation và quy hoạch thư mục Data/Log/TempDB phải làm ngay lúc chạy Wizard cài đặt, sửa lại sau này vô cùng rủi ro.

  • Quản lý gói của Linux (apt/yum) làm cho việc cài đặt CSDL Open Source trở nên nhẹ nhàng hơn gấp nhiều lần so với việc chạy giao diện Java của Oracle Universal Installer.


4. Câu hỏi ôn tập

  1. Hỏi: Trong SQL Server, tài khoản quản trị tối cao tương đương với SYS của Oracle là gì, và nó được kích hoạt khi chọn chế độ cài đặt nào?

    • Đáp: Tài khoản sa (System Administrator). Kích hoạt khi chọn Mixed Mode Authentication.

  2. Hỏi: Lệnh nào của PostgreSQL có chức năng khởi tạo cấu trúc lưu trữ vật lý ban đầu (tương tự như công cụ DBCA của Oracle)?

    • Đáp: Lệnh initdb (hoặc postgresql-setup initdb).

  3. Hỏi: Mặc định sau khi cài xong, PostgreSQL và MongoDB chỉ cho phép kết nối từ đâu?

    • Đáp: Chỉ cho phép kết nối từ Localhost (127.0.0.1) vì lý do bảo mật.

  4. Hỏi: Tiện ích bảo mật nào được chạy ngay sau khi cài đặt MySQL để xóa user rác và set password root?

    • Đáp: mysql_secure_installation.

  5. Hỏi: Khi PostgreSQL cần nâng cấp phiên bản lớn (Major Upgrade, ví dụ 13 lên 14), công cụ nào giúp ánh xạ dữ liệu cũ sang engine mới cực nhanh?

    • Đáp: Công cụ pg_upgrade.


5. Bài tập thực hành (Đầy đủ 5 Database)

Đề bài: Là một DBA, kỹ năng đầu tiên khi tiếp quản một hệ thống là phải biết tìm "File cấu hình chính" nằm ở đâu hoặc xuất cấu hình đang chạy ra xem. Hãy viết câu lệnh (hoặc lệnh CLI) thực hiện việc này trên 5 hệ thống.

1. Oracle: Viết lệnh tạo file pfile (text) từ spfile (binary) đang chạy để backup cấu hình.

2. SQL Server: Viết lệnh truy vấn để xem thư mục cài đặt gốc (Root Directory) và thư mục lưu trữ Data mặc định của Instance.

3. PostgreSQL: Viết câu truy vấn để biết chính xác đường dẫn của file postgresql.conf đang được sử dụng.

4. MySQL: Viết lệnh kiểm tra đường dẫn thư mục lưu trữ dữ liệu (Data Directory).

5. MongoDB: Viết lệnh trong mongosh để in ra toàn bộ cấu hình hệ thống đã được load lúc startup.


Đáp án:

1. Oracle:

SQL
CREATE PFILE = '/tmp/init_backup.ora' FROM SPFILE;
-- Kết quả: File created. Anh có thể dùng 'cat /tmp/init_backup.ora' để đọc.

2. SQL Server:

Sử dụng hàm server property:

SQL
SELECT 
  SERVERPROPERTY('InstanceDefaultDataPath') AS DefaultDataPath,
  SERVERPROPERTY('InstanceDefaultLogPath') AS DefaultLogPath;
-- Kết quả: C:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\DATA\

3. PostgreSQL:

SQL
SHOW config_file;
-- Kết quả: /var/lib/pgsql/14/data/postgresql.conf (hoặc /etc/postgresql/14/main/...)

4. MySQL / MariaDB:

SQL
SHOW VARIABLES LIKE 'datadir';
-- Kết quả: /var/lib/mysql/

5. MongoDB:

Chạy trong giao diện dòng lệnh của mongo (chọn database admin trước):

JavaScript
use admin;
db.adminCommand( { getCmdLineOpts: 1 } );
/* Kết quả trả về một file JSON hiển thị chi tiết đường dẫn file 
   mongod.conf đã dùng để boot và các tham số network, storage... */
=============================
TƯ VẤN: Click Here hoặc Hotline/Zalo 090.29.12.888
=============================
Website không chứa bất kỳ quảng cáo nào, mọi đóng góp để duy trì phát triển cho website (donation) xin vui lòng gửi về STK 90.2142.8888 - Ngân hàng Vietcombank Thăng Long - TRAN VAN BINH
=============================
Nếu bạn không muốn bị AI thay thế và tiết kiệm 3-5 NĂM trên con đường trở thành DBA chuyên nghiệp hay làm chủ Database thì hãy đăng ký ngay KHOÁ HỌC ORACLE DATABASE A-Z ENTERPRISE, được Coaching trực tiếp từ tôi với toàn bộ bí kíp thực chiến, thủ tục, quy trình của gần 20 năm kinh nghiệm (mà bạn sẽ KHÔNG THỂ tìm kiếm trên Internet/Google) từ đó giúp bạn dễ dàng quản trị mọi hệ thống Core tại Việt Nam và trên thế giới, đỗ OCP.
- CÁCH ĐĂNG KÝ: Gõ (.) hoặc để lại số điện thoại hoặc inbox https://m.me/tranvanbinh.vn hoặc Hotline/Zalo 090.29.12.888
- Chi tiết tham khảo:
https://bit.ly/oaz_w
=============================
2 khóa học online qua video giúp bạn nhanh chóng có những kiến thức nền tảng về Linux, Oracle, học mọi nơi, chỉ cần có Internet/4G:
- Oracle cơ bản: https://bit.ly/admin_1200
- Linux: https://bit.ly/linux_1200
=============================
KẾT NỐI VỚI CHUYÊN GIA TRẦN VĂN BÌNH:
📧 Mail: binhoracle@gmail.com
☎️ Mobile/Zalo: 0902912888
👨 Facebook: https://www.facebook.com/BinhOracleMaster
👨 Inbox Messenger: https://m.me/101036604657441 (profile)
👨 Fanpage: https://www.facebook.com/tranvanbinh.vn
👨 Inbox Fanpage: https://m.me/tranvanbinh.vn
👨👩 Group FB: https://www.facebook.com/groups/DBAVietNam
👨 Website: https://www.tranvanbinh.vn
👨 Blogger: https://tranvanbinhmaster.blogspot.com
🎬 Youtube: https://www.youtube.com/@binhguru
👨 Tiktok: https://www.tiktok.com/@binhguru
👨 Linkin: https://www.linkedin.com/in/binhoracle
👨 Twitter: https://twitter.com/binhguru
👨 Podcast: https://www.podbean.com/pu/pbblog-eskre-5f82d6
👨 Địa chỉ: Tòa nhà Sun Square - 21 Lê Đức Thọ - Phường Mỹ Đình 1 - Quận Nam Từ Liêm - TP.Hà Nội

=============================
cơ sở dữ liệu, cơ sở dữ liệu quốc gia, database, AI, trí tuệ nhân tạo, artificial intelligence, machine learning, deep learning, LLM, ChatGPT, DeepSeek, Grok, oracle tutorial, học oracle database, Tự học Oracle, Tài liệu Oracle 12c tiếng Việt, Hướng dẫn sử dụng Oracle Database, Oracle SQL cơ bản, Oracle SQL là gì, Khóa học Oracle Hà Nội, Học chứng chỉ Oracle ở đầu, Khóa học Oracle online,sql tutorial, khóa học pl/sql tutorial, học dba, học dba ở việt nam, khóa học dba, khóa học dba sql, tài liệu học dba oracle, Khóa học Oracle online, học oracle sql, học oracle ở đâu tphcm, học oracle bắt đầu từ đâu, học oracle ở hà nội, oracle database tutorial, oracle database 12c, oracle database là gì, oracle database 11g, oracle download, oracle database 19c/21c/23c/23ai, oracle dba tutorial, oracle tunning, sql tunning , oracle 12c, oracle multitenant, Container Databases (CDB), Pluggable Databases (PDB), oracle cloud, oracle security, oracle fga, audit_trail,oracle RAC, ASM, oracle dataguard, oracle goldengate, mview, oracle exadata, oracle oca, oracle ocp, oracle ocm , oracle weblogic, postgresql tutorial, mysql tutorial, mariadb tutorial, ms sql server tutorial, nosql, mongodb tutorial, oci, cloud, middleware tutorial, docker, k8s, micro service, hoc solaris tutorial, hoc linux tutorial, hoc aix tutorial, unix tutorial, securecrt, xshell, mobaxterm, putty

ĐỌC NHIỀU

Trần Văn Bình - Oracle Database Master