Thứ Năm, 15 tháng 1, 2026

Cài đặt Oracle Database 19c trên Oracle Linux 10 (OL10)

Hiện tại, Oracle Database 19c không được hỗ trợ trên Oracle Linux 10. Không nên thực hiện cài đặt này cho một cơ sở dữ liệu thực tế.

Bài viết này mô tả quá trình cài đặt Oracle Database 19c 64-bit trên Oracle Linux 10 (OL10) 64-bit. Bài viết dựa trên cài đặt máy chủ với dung lượng swap tối thiểu 2G và chế độ bảo mật Linux được thiết lập ở mức permissive. Một ví dụ về loại cài đặt Linux này có thể được xem tại đây .

  • Tải xuống phần mềm
  • Tệp Hosts
  • Điều kiện tiên quyết để cài đặt Oracle
    • Thiết lập tự động
    • Thiết lập thủ công
    • Thiết lập bổ sung
  • Lắp đặt
  • Cài đặt bản vá
  • Tạo cơ sở dữ liệu
  • Sau khi cài đặt

Các bài viết liên quan.

  • Cài đặt Oracle Universal Installations (OUI) - Cài đặt im lặng
  • Trợ lý cấu hình cơ sở dữ liệu (DBCA): Tạo cơ sở dữ liệu ở chế độ im lặng

Tải xuống phần mềm

Tải phần mềm Oracle từ OTN hoặc MOS tùy thuộc vào trạng thái hỗ trợ của bạn.

Tệp Hosts

Tệp "/etc/hosts" phải chứa tên đầy đủ của máy chủ.

IP-address>  <fully-qualified-machine-name>  <machine-name>

Ví dụ.

127.0.0.1       localhost localhost.localdomain localhost4 localhost4.localdomain4
192.168.56.107  ol10-19.localdomain  ol10-19

Hãy thiết lập tên máy chủ chính xác trong tệp "/etc/hostname".

ol10-19.localdomain

Điều kiện tiên quyết để cài đặt Oracle

Thiết lập tự động

Cho đến khi tính năng cài đặt này được hỗ trợ, vui lòng sử dụng phương pháp cài đặt thủ công.

Thiết lập thủ công

Nếu bạn chưa sử dụng gói "oracle-database-preinstall-19c" để thực hiện tất cả các điều kiện tiên quyết, bạn sẽ cần thực hiện thủ công các tác vụ thiết lập sau.

Thêm các dòng sau vào tệp "/etc/sysctl.conf" hoặc vào tệp có tên "/etc/sysctl.d/98-oracle.conf".

fs.file-max = 6815744
kernel.sem = 250 32000 100 128
kernel.shmmni = 4096
kernel.shmall = 1073741824
kernel.shmmax = 4398046511104
kernel.panic_on_oops = 1
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
net.ipv4.conf.all.rp_filter = 2
net.ipv4.conf.default.rp_filter = 2
fs.aio-max-nr = 1048576
net.ipv4.ip_local_port_range = 9000 65500

Hãy chạy một trong các lệnh sau để thay đổi các tham số kernel hiện tại, tùy thuộc vào tệp bạn đã chỉnh sửa.

/sbin/sysctl -p
# Hoặc
/sbin/sysctl -p /etc/sysctl.d/98-oracle.conf

Thêm các dòng sau vào tệp có tên "/etc/security/limits.d/oracle-database-preinstall-19c.conf".

oracle soft nofile 1024
oracle hard nofile 65536
oracle soft nproc 16384
oracle hard nproc 16384
Oracle Soft Stack 10240
ngăn xếp cứng oracle 32768
oracle hard memlock 134217728
Oracle soft memlock 134217728

Các gói phần mềm sau đây được liệt kê là bắt buộc. Đừng lo lắng nếu một số gói không cài đặt được. Điều đó sẽ không ngăn cản quá trình cài đặt.

dnf install -y bc
dnf install -y binutils
dnf install -y compat-openssl11
dnf install -y elfutils-libelf
dnf install -y fontconfig
dnf install -y glibc
dnf install -y glibc-devel
dnf install -y ksh
dnf install -y libaio
dnf install -y libasan
dnf install -y liblsan
dnf install -y libX11
dnf install -y libXau
dnf install -y libXi
dnf install -y libXrender
dnf install -y libXtst
dnf install -y libxcrypt-compat
dnf install -y libgcc
dnf install -y libibverbs
dnf install -y libnsl
dnf install -y librdmacm
dnf install -y libstdc++
dnf install -y libxcb
dnf install -y libvirt-libs
dnf install -y make
dnf install -y policycoreutils
dnf install -y policycoreutils-python-utils
dnf install -y smartmontools
dnf install -y sysstat

dnf install -y glibc-headers
dnf install -y ipmiutil
dnf install -y libnsl2
dnf install -y libnsl2-devel
dnf install -y net-tools
dnf install -y nfs-utils

# Do tôi thêm vào.
dnf install -y gcc
dnf install -y unixODBC
dnf install -y libnsl2
dnf install -y libxcrypt-compat

# Sửa lỗi cho Oracle trên OL10.
rm -f /usr/lib64/libnsl.so.1
ln -s /usr/lib64/libnsl.so.3.0.0 /usr/lib64/libnsl.so.1

Tạo nhóm và người dùng mới.

groupadd -g 54321 oinstall
groupadd -g 54322 dba
groupadd -g 54323 oper
#groupadd -g 54324 backupdba
#groupadd -g 54325 dgdba
#groupadd -g 54326 kmdba
#groupadd -g 54327 asmdba
#groupadd -g 54328 asmoper
#groupadd -g 54329 asmadmin
#groupadd -g 54330 racdba

useradd -u 54321 -g oinstall -G dba,oper oracle

Bỏ dấu chú thích khỏi các nhóm bổ sung mà bạn cần.

Thiết lập bổ sung

Đặt mật khẩu cho người dùng "oracle".

passwd oracle

Chuyển chế độ bảo mật Linux sang chế độ cho phép bằng cách chỉnh sửa tệp "/etc/selinux/config", đảm bảo cờ SELINUX được đặt như sau.

ELINUX=permissive

Sau khi quá trình thay đổi hoàn tất, hãy khởi động lại máy chủ hoặc chạy lệnh sau.

# setenforce Permissive

Nếu bạn đã bật tường lửa Linux, bạn cần phải tắt hoặc cấu hình lại nó, như được hướng dẫn ở đây . Để tắt nó, hãy làm theo các bước sau.

# systemctl stop firewalld
# systemctl disable firewalld

Nếu bạn không sử dụng Oracle Linux và UEK, bạn sẽ cần phải tắt thủ công tính năng transparent huge pages .

Tạo các thư mục để cài đặt phần mềm Oracle.

mkdir -p /u01/app/oracle/product/19.0.0/dbhome_1
mkdir -p /u02/oradata
chown -R oracle:oinstall /u01 /u02
chmod -R 775 /u01 /u02

Việc đặt các điểm gắn kết trực tiếp dưới thư mục gốc mà không gắn các ổ đĩa riêng biệt vào chúng thường là một ý tưởng tồi. Ở đây chúng tôi làm như vậy để đơn giản hóa, nhưng đối với một cài đặt thực tế, dung lượng lưu trữ trong thư mục "/" nên được dành riêng cho hệ điều hành.

Trừ khi bạn đang làm việc từ giao diện dòng lệnh hoặc sử dụng đường hầm SSH, hãy đăng nhập với quyền root và thực hiện lệnh sau.

xhost +<tên máy>

Các tập lệnh được tạo bằng catlệnh, với tất cả các ký tự "$" được mã hóa. Nếu bạn muốn tạo các tệp này theo cách thủ công, thay vì sử dụng lệnh cat, hãy nhớ xóa các ký tự "\" trước các ký tự "$".

Tạo thư mục "scripts".

mkdir /home/oracle/scripts

Tạo một tệp môi trường có tên "setEnv.sh". Các ký tự "$" được thoát bằng ký tự "\". Nếu bạn không tạo tệp bằng lệnh cat, bạn cần phải xóa các ký tự thoát này.

cat > /home/oracle/scripts/setEnv.sh <<EOF
# Oracle Settings
export TMP=/tmp
export TMPDIR=\$TMP

export ORACLE_HOSTNAME=ol10-19.localdomain
export ORACLE_UNQNAME=cdb1
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=\$ORACLE_BASE/product/19.0.0/dbhome_1
export ORA_INVENTORY=/u01/app/oraInventory
export ORACLE_SID=cdb1
export PDB_NAME=pdb1
export DATA_DIR=/u02/oradata

export PATH=/usr/sbin:/usr/local/bin:\$PATH
export PATH=\$ORACLE_HOME/bin:\$PATH

export LD_LIBRARY_PATH=\$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=\$ORACLE_HOME/jlib:\$ORACLE_HOME/rdbms/jlib
EOF

Thêm tham chiếu đến tệp "setEnv.sh" vào cuối tệp "/home/oracle/.bash_profile".

echo ". /home/oracle/scripts/setEnv.sh" >> /home/oracle/.bash_profile

Tạo các tập lệnh "start_all.sh" và "stop_all.sh" có thể được gọi từ dịch vụ khởi động/tắt. Hãy đảm bảo quyền sở hữu và quyền truy cập là chính xác.

cat > /home/oracle/scripts/start_all.sh <<EOF
#!/bin/bash
. /home/oracle/scripts/setEnv.sh

export ORAENV_ASK=NO
. oraenv
export ORAENV_ASK=YES

dbstart \$ORACLE_HOME
EOF


cat > /home/oracle/scripts/stop_all.sh <<EOF
#!/bin/bash
. /home/oracle/scripts/setEnv.sh

export ORAENV_ASK=NO
. oraenv
export ORAENV_ASK=YES

dbshut \$ORACLE_HOME
EOF

chown -R oracle:oinstall /home/oracle/scripts
chmod u+x /home/oracle/scripts/*.sh

Sau khi quá trình cài đặt hoàn tất và bạn đã chỉnh sửa tệp "/etc/oratab", bạn có thể khởi động/dừng cơ sở dữ liệu bằng các tập lệnh sau được chạy từ người dùng "oracle".

~/scripts/start_all.sh
~/scripts/stop_all.sh

Bạn có thể xem hướng dẫn cách tạo dịch vụ Linux để tự động khởi động/dừng cơ sở dữ liệu tại đây .

Lắp đặt

Đăng nhập vào người dùng oracle. Nếu bạn đang sử dụng trình giả lập X, hãy thiết lập biến môi trường DISPLAY.

DISPLAY=<tên máy>:0.0; export DISPLAY

Chuyển đến ORACLE_HOMEthư mục đó, giải nén phần mềm trực tiếp vào đường dẫn này, giải nén phần mềm vá lỗi vào một đường dẫn khác, và khởi động Trình cài đặt đa năng Oracle (OUI) bằng cách nhập một trong các lệnh sau trong thư ORACLE_HOMEmục đó. Chế độ tương tác sẽ hiển thị màn hình cài đặt giao diện đồ họa (GUI) để người dùng nhập liệu, trong khi chế độ im lặng sẽ cài đặt phần mềm mà không hiển thị bất kỳ màn hình nào, vì tất cả các tùy chọn cần thiết đã được chỉ định trên dòng lệnh.

# Patch names and directories may vary depending patch numbers. Adjust as required.
export SOFTWARE_DIR=/u01/software
export OPATCH_FILE="p6880880_190000_Linux-x86-64.zip"
export PATCH_FILE="p37591483_190000_Linux-x86-64.zip"
export PATCH_TOP=${SOFTWARE_DIR}/37591483
export PATCH_PATH1=${PATCH_TOP}/37642901
export PATCH_PATH2=${PATCH_TOP}/37499406

# Unzip software.
cd $ORACLE_HOME
unzip -oq ${SOFTWARE_DIR}/LINUX.X64_193000_db_home.zip
unzip -oq ${SOFTWARE_DIR}/${OPATCH_FILE}

cd ${SOFTWARE_DIR}
unzip -oq ${SOFTWARE_DIR}/${PATCH_FILE}


# Fake Oracle Linux 8.
cd $ORACLE_HOME
export CV_ASSUME_DISTID=OL8

# Interactive mode.
./runInstaller

# Silent mode. Includes application of patch.
./runInstaller -ignorePrereq -waitforcompletion -silent                        \
    -applyRU ${PATCH_PATH1}                                                    \
    -responseFile ${ORACLE_HOME}/install/response/db_install.rsp               \
    oracle.install.option=INSTALL_DB_SWONLY                                    \
    ORACLE_HOSTNAME=${ORACLE_HOSTNAME}                                         \
    UNIX_GROUP_NAME=oinstall                                                   \
    INVENTORY_LOCATION=${ORA_INVENTORY}                                        \
    SELECTED_LANGUAGES=en,en_GB                                                \
    ORACLE_HOME=${ORACLE_HOME}                                                 \
    ORACLE_BASE=${ORACLE_BASE}                                                 \
    oracle.install.db.InstallEdition=EE                                        \
    oracle.install.db.OSDBA_GROUP=dba                                          \
    oracle.install.db.OSBACKUPDBA_GROUP=dba                                    \
    oracle.install.db.OSDGDBA_GROUP=dba                                        \
    oracle.install.db.OSKMDBA_GROUP=dba                                        \
    oracle.install.db.OSRACDBA_GROUP=dba                                       \
    SECURITY_UPDATES_VIA_MYORACLESUPPORT=false                                 \
    DECLINE_SECURITY_UPDATES=true

Chạy các tập lệnh gốc khi được yêu cầu.

As a root user, execute the following script(s):
        1. /u01/app/oraInventory/orainstRoot.sh
        2. /u01/app/oracle/product/19.0.0/dbhome_1/root.sh

Bạn có thể tìm hiểu thêm về các tác phẩm sắp đặt im lặng tại đây .

Giờ bạn đã sẵn sàng tạo cơ sở dữ liệu, nhưng tốt hơn hết là nên vá lỗi cài đặt trước nếu bạn có quyền truy cập vào Oracle Support.

Cài đặt bản vá

Để quá trình cài đặt được hỗ trợ, bạn cần phải sử dụng phiên bản vá lỗi 19.19 trở lên. Để nhận được các bản vá lỗi, bạn cần có chứng chỉ Oracle Support CSI hợp lệ để có thể tải xuống từ Oracle Support. Đây là ví dụ về việc áp dụng bản vá 19.21 cho một cài đặt độc lập sạch sẽ mà không có ASM và trước khi tạo cơ sở dữ liệu. Chúng ta đã áp dụng bản cập nhật RU chính trong quá trình cài đặt phần mềm, vì vậy chúng ta chỉ cần vá lỗi cho OJVM.

export SOFTWARE_DIR=/u01/software
export PATH=${ORACLE_HOME}/OPatch:${PATH}
export OPATCH_FILE="p6880880_190000_Linux-x86-64.zip"
export PATCH_FILE="p37591483_190000_Linux-x86-64.zip"
export PATCH_TOP=${SOFTWARE_DIR}/37591483
export PATCH_PATH1=${PATCH_TOP}/37642901
export PATCH_PATH2=${PATCH_TOP}/37499406

cd ${PATCH_PATH2}
opatch prereq CheckConflictAgainstOHWithDetail -ph ./
opatch apply -silent

Đối với các bản vá lỗi trên hệ thống thực tế, hãy luôn đọc ghi chú bản vá.

Tạo cơ sở dữ liệu

Bạn tạo cơ sở dữ liệu bằng Trợ lý Cấu hình Cơ sở dữ liệu (DBCA). Chế độ tương tác sẽ hiển thị các màn hình giao diện người dùng đồ họa (GUI) để cho phép người dùng nhập liệu, trong khi chế độ im lặng sẽ tạo cơ sở dữ liệu mà không hiển thị bất kỳ màn hình nào, vì tất cả các tùy chọn cần thiết đã được chỉ định trên dòng lệnh.

# Start the listener.
lsnrctl start

# Interactive mode.
dbca

# Silent mode.
dbca -silent -createDatabase                                                   \
     -templateName General_Purpose.dbc                                         \
     -gdbname ${ORACLE_SID} -sid  ${ORACLE_SID} -responseFile NO_VALUE         \
     -characterSet AL32UTF8                                                    \
     -sysPassword SysPassword1                                                 \
     -systemPassword SysPassword1                                              \
     -createAsContainerDatabase true                                           \
     -numberOfPDBs 1                                                           \
     -pdbName ${PDB_NAME}                                                      \
     -pdbAdminPassword PdbPassword1                                            \
     -databaseType MULTIPURPOSE                                                \
     -memoryMgmtType auto_sga                                                  \
     -totalMemory 2000                                                         \
     -storageType FS                                                           \
     -datafileDestination "${DATA_DIR}"                                        \
     -redoLogFileSize 50                                                       \
     -emConfiguration NONE                                                     \
     -ignorePreReqs

Bạn có thể tìm hiểu thêm về việc tạo cơ sở dữ liệu tự động tại đây .

Sau khi cài đặt

Chỉnh sửa tệp "/etc/oratab" bằng cách đặt cờ khởi động lại cho mỗi phiên bản thành 'Y'.

cdb1:/u01/app/oracle/product/19.0.0/dbhome_1:Y

Kích hoạt Oracle Managed Files (OMF) và đảm bảo PDB khởi động cùng với instance.

sqlplus / as sysdba <<EOF
alter system set db_create_file_dest='${DATA_DIR}';
alter pluggable database ${PDB_NAME} save state;
exit;
EOF

Để biết thêm thông tin chi tiết, vui lòng xem:

Hi vọng điều này sẽ hữu ích

=============================
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