在 Ubuntu 上安装 Oracle 数据库(通常指 Oracle Database) 有很多“坑”,因为 Oracle 官方主要支持的是 RHEL / CentOS / Oracle Linux,对 Ubuntu 的支持并不友好。下面按重要程度给你总结注意事项和常见坑。
✅ 建议:
| 场景 | 版本 |
|---|---|
| 学习 | Oracle 19c(长期支持) |
| 新项目 | 21c(非 LTS) |
| 生产 | 19c |
⚠️ 不建议在 Ubuntu 上装 12c / 11g(太老,依赖极难搞)
sudo groupadd oinstall
sudo groupadd dba
sudo useradd -g oinstall -G dba oracle
sudo passwd oracle
编辑 /etc/sysctl.conf:
fs.file-max = 6815744
kernel.sem = 250 32000 100 128
kernel.shmmax = 4294967295
kernel.shmall = 1073741824
net.ipv4.ip_local_port_range = 9000 65500
执行:
sudo sysctl -p
编辑 /etc/security/limits.conf:
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
sudo apt update
sudo apt install -y \
bc \
binutils \
build-essential \
libaio1 \
libaio-dev \
libelf-dev \
sysstat \
unixodbc \
rpm \
alien
用 alien 转 rpm:
sudo alien --scripts oracle-database-preinstall.rpm
或手动安装等价 deb 包(常见缺):
libaiolibstdc++5compat-libstdc++图形界面在 Ubuntu 上很容易崩。
./runInstaller -silent \
-responseFile /path/db_install.rsp
runInstaller 启动不了原因:
libXext、libXtst解决:
sudo apt install libxext6 libxtst6
export DISPLAY=:0
Ubuntu 用 gcc 版本太新
✅ 可临时降级 gcc 或忽略非致命错误
安装时可能提示:
OS not supported
✅ 修改:
export CV_ASSUME_DISTID=OEL7
source ~/.bash_profile
sqlplus / as sysdba
配置环境变量:
export ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1
export PATH=$ORACLE_HOME/bin:$PATH
export ORACLE_SID=orcl
docker run -d -p 1521:1521 \
-e ORACLE_PASSWORD=123456 \
container-registry.oracle.com/database/enterprise:19.3.0
最稳定、最官方
Ubuntu 能装 Oracle,但“能装 ≠ 好装”
学习用 Docker,生产用 Oracle Linux。
如果你愿意,我可以:
你现在是 学习 / 开发 / 生产 用?