在 Linux 上部署 Oracle 数据库(以最常见的 Oracle 19c / 21c / 11g 为例),踩坑点非常多。下面按「系统层 → 用户/权限 → 安装 → 参数 → 运维」给你一份实用清单。
常见需要修改的文件:
/etc/sysctl.conf
重点参数(示例,按需调整):
kernel.shmmax = 4294967295
kernel.shmall = 2097152
kernel.sem = 250 32000 100 128
fs.file-max = 6815744
net.ipv4.ip_local_port_range = 9000 65500
修改后执行:
sysctl -p
groupadd oinstall
groupadd dba
useradd -g oinstall -G dba oracle
passwd oracle
编辑:
/etc/security/limits.conf
示例:
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft nproc 2047
oracle hard nproc 16384
建议结构:
/u01/app/oracle
/u01/app/oraInventory
权限:
chown -R oracle:oinstall /u01
chmod -R 775 /u01
⚠️ 不要用 /home/oracle 放数据文件
常见缺失包:
binutils
compat-libstdc++
glibc
libaio
libXext
libX11
unzip
RHEL/CentOS 示例:
yum install -y binutils compat-libstdc++ glibc libaio libX11 libXext
~oracle/.bash_profile:
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/19.3.0/dbhome_1
export ORACLE_SID=orcl
export PATH=$ORACLE_HOME/bin:$PATH
./runInstaller -silent
xhost +
su - oracle
./runInstaller
firewall-cmd --add-port=1521/tcp --permanent
firewall-cmd --reload
监听文件:
$ORACLE_HOME/network/admin/listener.ora
/etc/oratabsystemd 或 dbstart✅ 关闭透明大页(THP)
✅ 使用固定 IP
✅ 数据库字符集选 AL32UTF8
✅ 磁盘用 XFS / ext4
❌ 不要在 root 下跑 Oracle
如果你愿意,可以告诉我:
我可以直接给你 一步步命令级安装方案。