温馨提示×

Ubuntu下Oracle怎么配置

小樊
36
2026-08-14 22:16:05
栏目: 云计算

Ubuntu 上配置 Oracle 数据库(通常指 Oracle Database,如 19c / 21c),整体流程比 RHEL/CentOS 复杂一些,因为 Oracle 官方更推荐 RHEL 系。下面给你一个可操作的完整配置思路,以 Oracle 19c 在 Ubuntu 20.04/22.04 为例。


一、前置说明(非常重要)

推荐方案

  • 生产环境:使用 Oracle Linux / RHEL
  • 学习/测试:Ubuntu 可以安装,但步骤多、坑多

常见选择

  • Oracle 19c(稳定)
  • Oracle XE(Express Edition,简单,适合学习)

二、方式一:Oracle XE(推荐新手)

1️⃣ 安装依赖

sudo apt update
sudo apt install -y alien libaio1 unixodbc

2️⃣ 下载 Oracle XE

从 Oracle 官网下载:

oracle-database-xe-21c_1.0-1.ol7.x86_64.rpm

3️⃣ 转换并安装

sudo alien -i oracle-database-xe-21c_1.0-1.ol7.x86_64.rpm

4️⃣ 配置数据库

sudo /etc/init.d/oracle-xe-21c configure

设置:

  • SYS/SYSTEM 密码
  • 监听端口(默认 1521)
  • EM 端口(默认 5500)

✅ 安装完成


三、方式二:Oracle 19c(完整版,复杂)

1️⃣ 系统准备

创建用户和组

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

内核参数

编辑:

sudo vim /etc/sysctl.conf

添加:

fs.file-max = 6815744
kernel.shmmni = 4096
kernel.shmall = 1073741824
kernel.shmmax = 4398046511104
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576

应用:

sudo sysctl -p

用户限制

sudo vim /etc/security/limits.conf
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536

2️⃣ 安装依赖(关键)

sudo apt install -y \
  build-essential \
  libaio1 libaio-dev \
  unixodbc \
  libelf-dev \
  libstdc++6 \
  g++ \
  unzip

⚠️ Ubuntu 缺少部分 Oracle 所需库,需要手动补(常见坑)


3️⃣ 下载 Oracle 19c

从 Oracle 官网下载:

LINUX.X64_193000_db_home.zip

4️⃣ 安装 Oracle 软件

切换用户

su - oracle

解压

mkdir -p /u01/app/oracle
unzip LINUX.X64_193000_db_home.zip -d /u01/app/oracle/product/19.0.0/dbhome_1

环境变量

vim ~/.bashrc
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/19.0.0/dbhome_1
export ORACLE_SID=orcl
export PATH=$ORACLE_HOME/bin:$PATH
source ~/.bashrc

5️⃣ 运行安装程序

cd $ORACLE_HOME
./runInstaller

⚠️ Ubuntu 下 经常报错,可能需要:

  • 忽略 OS 检查
  • 手动创建软链接
  • 修改 cvu_prereq.xml

6️⃣ 创建数据库

dbca

或使用静默方式:

dbca -silent -createDatabase \
 -templateName General_Purpose.dbc \
 -gdbname orcl \
 -sid orcl \
 -responseFile NO_VALUE \
 -characterSet AL32UTF8

四、配置监听(Listener)

netca

或手动:

lsnrctl start

五、常见问题

❌ Ubuntu 不被 Oracle 官方支持

✅ 解决方法:

  • 忽略 OS 校验
  • 使用 XE
  • 用 Docker(强烈推荐)

六、✅ 强烈推荐:Docker 安装 Oracle(最简单)

docker run -d \
  --name oracle19c \
  -p 1521:1521 \
  -e ORACLE_PASSWORD=oracle \
  container-registry.oracle.com/database/enterprise:19.3.0.0

七、总结建议

场景 建议
学习 ✅ Oracle XE / Docker
开发 ✅ Docker
生产 ❌ 不建议 Ubuntu
想深入 ✅ Oracle Linux

如果你愿意,我可以:

  • ✅ 给你 一步不出错的 Ubuntu 安装脚本
  • ✅ 帮你 排查安装报错
  • ✅ 教你 用 Docker 快速跑 Oracle

你现在用的是 Ubuntu 几版本?想装 XE 还是 19c?

0