温馨提示×

Linux配置Oracle要注意啥

小樊
39
2026-10-19 02:17:27
栏目: 云计算

在 Linux 上部署 Oracle 数据库(以最常见的 Oracle 19c / 21c / 11g 为例),踩坑点非常多。下面按「系统层 → 用户/权限 → 安装 → 参数 → 运维」给你一份实用清单。


一、系统层面注意事项

1. 操作系统选择

  • 推荐:
    • Oracle Linux(最稳,官方亲儿子)
    • RHEL / CentOS(需注意版本支持)
  • 避免:
    • 太新或太老的发行版(如 Ubuntu 非 LTS 对 Oracle 支持较差)

2. 内核参数(非常重要)

常见需要修改的文件:

/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

二、用户与权限

1. 创建专用用户和组

groupadd oinstall
groupadd dba
useradd -g oinstall -G dba oracle
passwd oracle

2. 资源限制(ulimit)

编辑:

/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 用户)

~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

六、安装过程中的坑

1. 图形界面

  • 服务器无桌面:
    ./runInstaller -silent
    
  • 有桌面:
    xhost +
    su - oracle
    ./runInstaller
    

2. 常见报错

  • INS-32025:目录权限不对
  • PRVF-0002:依赖缺失
  • ORA-01078:参数文件错误

七、防火墙 & 监听

firewall-cmd --add-port=1521/tcp --permanent
firewall-cmd --reload

监听文件:

$ORACLE_HOME/network/admin/listener.ora

八、开机自启(生产必做)

  • 配置 /etc/oratab
  • 使用 systemd 或 dbstart

九、其他建议

✅ 关闭透明大页(THP)
✅ 使用固定 IP
✅ 数据库字符集选 AL32UTF8
✅ 磁盘用 XFS / ext4
❌ 不要在 root 下跑 Oracle


如果你愿意,可以告诉我:

  • Oracle 版本(11g / 19c / 21c)
  • Linux 发行版
  • 是否生产环境 / 测试环境

我可以直接给你 一步步命令级安装方案。

0 踩