温馨提示×

ubuntu装oracle注意啥

小樊
49
2026-10-28 21:20:15
栏目: 云计算

在 Ubuntu 上安装 Oracle 数据库(通常指 Oracle Database,如 11g/12c/19c)有不少“坑”,因为 Oracle 官方主要支持 RHEL / CentOS / OL(Oracle Linux),对 Ubuntu 不是一等公民。下面按「重点注意事项 + 实操建议」给你梳理。


一、先明确几个关键选择

1️⃣ 版本选择

  • ✅ 推荐:Oracle 19c(19.3)
    • 长期支持(到 2027+)
    • Ubuntu 支持相对最好
  • ⚠️ 11g / 12c 在 Ubuntu 上问题更多
  • ❌ 不要指望用 apt 直接装(Oracle 不提供)

2️⃣ Ubuntu 版本

  • ✅ Ubuntu 20.04 / 22.04(64位)
  • ❌ 不推荐 18.04(太老)
  • ❌ 不建议桌面版(服务器版更稳)

二、最重要的注意事项(血泪经验)

✅ 1. Oracle 官方不支持 Ubuntu

  • 安装时会报:
    This OS is not supported
    
  • ✅ 解决方法:
    • 修改 cvu_prereq.xml
    • 或加参数:
      ./runInstaller -ignorePrereq
      

✅ 2. 必须安装大量依赖

Ubuntu 默认缺很多 Oracle 依赖:

sudo apt update
sudo apt install -y \
  bc binutils build-essential \
  libaio1 libaio-dev \
  libelf-dev libsdl1.2debian \
  libstdc++5 libstdc++6 \
  unixodbc unixodbc-dev \
  sysstat rpm ksh \
  libxrender1 libxp6

⚠️ 某些包名在 22.04 变了(如 libaio1 → libaio1t64)


✅ 3. Oracle 需要“非 root 用户”

  • ❌ 不能用 root 安装
  • ✅ 必须新建用户:
sudo groupadd oinstall
sudo groupadd dba
sudo useradd -m -g oinstall -G dba oracle
sudo passwd oracle

✅ 4. 内核参数必须改(不然起不来)

编辑 /etc/sysctl.conf:

fs.file-max = 6815744
kernel.sem = 250 32000 100 128
kernel.shmmax = 4294967295
kernel.shmall = 2097152
net.ipv4.ip_local_port_range = 9000 65500

然后:

sudo sysctl -p

✅ 5. 用户资源限制

编辑 /etc/security/limits.conf:

oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536

✅ 6. 目录结构别乱来

推荐:

/u01/app/oracle
/u01/app/oraInventory

并赋权:

sudo mkdir -p /u01/app/oracle
sudo chown -R oracle:oinstall /u01

三、安装方式建议

✅ 方式一:官方 ZIP + runInstaller(最正统)

  • 下载:
    • LINUX.X64_193000_db_home.zip
  • 解压后:
    su - oracle
    ./runInstaller
    

✅ 方式二:Docker(强烈推荐)

如果你只是“用 Oracle”,不是“学安装”:

docker run -d \
  -p 1521:1521 \
  -e ORACLE_PASSWORD=123456 \
  container-registry.oracle.com/database/enterprise:19.3.0

✅ 避免 90% 的坑


四、常见坑总结

问题 原因
安装界面乱码 缺中文字体 / 环境变量
启动报错 ORA-00845 shm 太小
listener 起不来 主机名未解析
sqlplus 找不到 环境变量没配

五、必备环境变量(oracle 用户)

export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/19.3.0/dbhome_1
export PATH=$ORACLE_HOME/bin:$PATH
export ORACLE_SID=orcl

六、一句话建议

Ubuntu 上装 Oracle:能 Docker 就 Docker,不能就 19c + 严格按官方参数来。

如果你愿意,我可以:

  • 给你 完整一键安装脚本
  • 或针对 Ubuntu 22.04 + 19c 写详细步骤
  • 或帮你解决 具体报错

你现在是「学习安装」还是「业务要用」?

0 踩