作業系統與套件準備 (Oracle Linux 7/8 / RHEL 7/8)
必要 RPM 套件 (yum/dnf 安裝)
# 核心編譯工具
yum install -y gcc gcc-c++ make binutils glibc-devel libaio-devel \
libstdc++-devel sysstat ksh compat-libcap1 compat-libstdc++-33
# 圖形介面相關 (無人值守可略)
yum install -y libX11 libXau libXi libXtst libXrender libXext \
motif-devel xorg-x11-utils
# 19c 新增需求
yum install -y smartmontools net-tools policycoreutils-python-utils
核心參數 (/etc/sysctl.conf)
fs.file-max = 6815744
kernel.sem = 250 32000 100 128
kernel.shmmni = 4096
kernel.shmall = 1073741824
kernel.shmmax = 4398046511104
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
fs.aio-max-nr = 1048576
net.ipv4.ip_local_port_range = 9000 65500
套用:sysctl -p
使用者限制 (/etc/security/limits.conf)
oracle soft nofile 1024000
oracle hard nofile 1024000
oracle soft nproc 16384
oracle hard nproc 16384
oracle soft stack 10240
oracle hard stack 32768
oracle soft memlock 134217728
oracle hard memlock 134217728
建立使用者與群組
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 racdba
useradd -u 54321 -g oinstall -G dba,oper,backupdba,dgdba,kmdba,racdba oracle
passwd oracle # 設定密碼
儲存規劃與 ASM (建議)
| 掛載點 | 用途 | 建議大小 | 檔案系統 |
| /u01 | Oracle Base (軟體、診斷、備份) | 100G+ | XFS/ext4 |
| /u02 | 資料檔 (或 ASM DATA 磁碟組) | 視資料量 | XFS/ASM |
| /u03 | Redo/Archive (或 ASM FRA 磁碟組) | 50G+ | XFS/ASM |
| /tmp | 暫存空間 | 20G+ | tmpfs 或獨立分區 |
ASM 優勢:原始裝置效能、自動條帶化/鏡像、線上擴容、無檔案系統開銷。
無人值守安裝 (Response File)
db_install.rsp 關鍵參數
oracle.install.option=INSTALL_DB_SWONLY
ORACLE_HOSTNAME=ol19c.example.com
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/u01/app/oraInventory
SELECTED_LANGUAGES=en,zh_TW
ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1
ORACLE_BASE=/u01/app/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.OSDBA_GROUP=dba
oracle.install.db.OSOPER_GROUP=oper
oracle.install.db.OSBACKUPDBA_GROUP=backupdba
oracle.install.db.OSDGDBA_GROUP=dgdba
oracle.install.db.OSKMDBA_GROUP=kmdba
oracle.install.db.OSRACDBA_GROUP=racdba
SECURITY_UPDATES_VIA_MYORACLESUPPORT=false
DECLINE_SECURITY_UPDATES=true
執行安裝
# 解壓安裝檔
unzip -q LINUX.X64_193000_db_home.zip -d /u01/app/oracle/product/19.0.0/dbhome_1
# 無人值守安裝
cd /u01/app/oracle/product/19.0.0/dbhome_1
./runInstaller -silent -waitforcompletion -responseFile db_install.rsp -ignorePrereqFailure
資料庫建立 (DBCA 無人值守)
# dbca.rsp
[GENERAL]
RESPONSEFILE_VERSION = "19.0.0"
OPERATION_TYPE = "createDatabase"
[CREATEDATABASE]
GDBNAME = "ORCLCDB"
SID = "ORCLCDB"
TEMPLATENAME = "General_Purpose.dbc"
SYSPASSWORD = "SysPass123"
SYSTEMPASSWORD = "SysPass123"
DATAFILEDESTINATION = "/u02/oradata"
RECOVERYAREADESTINATION = "/u03/fast_recovery_area"
STORAGETYPE = "FS"
CHARACTERSET = "AL32UTF8"
NATIONALCHARACTERSET = "AL16UTF16"
TOTALMEMORY = "4096"
AUTOMATICMEMORYMANAGEMENT = "TRUE"
EMCONFIGURATION = "NONE"
dbca -silent -createDatabase -responseFile dbca.rsp
安裝後驗證
# 環境變數設定 (~oracle/.bash_profile)
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/19.0.0/dbhome_1
export ORACLE_SID=ORCLCDB
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
export NLS_LANG=TRADITIONAL CHINESE_TAIWAN.AL32UTF8
# 測試連線
sqlplus / as sysdba
SELECT name, open_mode FROM v$database;
SELECT * FROM v$version;
常見安裝失敗對策
| 錯誤 | 解決 |
| INS-32026: 核心參數不符 | 檢查 sysctl.conf、重新 sysctl -p |
| INS-32008: 使用者限制不足 | 檢查 limits.conf、重新登入 |
| PRVF-7584: 交換空間不足 | 增加 swap (建議 16G+ 或 1.5x RAM) |
| PRVF-0002: 磁碟空間不足 | 清理 /tmp、擴充 /u01 |
| SELinux 阻擋 | setenforce 0 或設定布林值 allow_execmod |
- 上一篇文章: SQL*Loader 大量資料載入實戰:控制檔、直接路徑、平行載入與效能調優
- 下一篇文章: Oracle 匯入異構結構表:DB Link INSERT、SQL*Loader 與 Data Pump 重映射三大方案
Copyright ©
程式碼之家 All Rights Reserved