温馨提示×

如何在Debian上装Oracle

小樊
42
2026-10-08 08:58:36
栏目: 云计算

在 Debian 上安装 Oracle Database(通常指 Oracle Database 19c / 21c / 23c)不是官方支持的组合。Oracle 官方只支持 RHEL、Oracle Linux、SUSE 等。但可以通过“兼容模式 + 手动安装”在 Debian 上跑起来,常用于开发/测试环境。

下面给你一个实用、可操作的方案(以 Oracle 19c + Debian 11/12 为例)。


一、前提说明(很重要)

  • ✅ 仅建议:开发 / 测试 / 学习
  • ❌ 不建议:生产环境
  • Oracle 官方不支持 Debian
  • 需要 Oracle Linux 兼容库

二、系统准备

1. 系统要求

  • Debian 11 / 12(64 位)
  • 内存 ≥ 4 GB(推荐 8 GB)
  • /tmp ≥ 2 GB
  • 磁盘 ≥ 20 GB

2. 创建用户和组

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

三、安装依赖(关键)

1. 启用 i386 架构(Oracle 需要)

sudo dpkg --add-architecture i386
sudo apt update

2. 安装依赖

sudo apt install -y \
  alien \
  autoconf \
  automake \
  binutils \
  gcc \
  libaio1 \
  libaio-dev \
  libcap1 \
  libcap2 \
  libelf-dev \
  libstdc++5 \
  libstdc++6 \
  libxext6 \
  libxext6:i386 \
  libxtst6 \
  libxtst6:i386 \
  libx11-6 \
  libx11-6:i386 \
  libxau6 \
  libxau6:i386 \
  libxcb1 \
  libxcb1:i386 \
  libxi6 \
  libxi6:i386 \
  make \
  sysstat \
  unixodbc \
  unzip \
  vim

四、Oracle Linux 兼容(必须)

Debian 缺少 Oracle Linux 的库,需要手动创建软链接:

sudo ln -s /usr/lib/x86_64-linux-gnu/libpthread_nonshared.a /usr/lib64/libpthread_nonshared.a
sudo ln -s /usr/lib/x86_64-linux-gnu/libc_nonshared.a /usr/lib64/libc_nonshared.a
sudo ln -s /usr/lib/x86_64-linux-gnu/libpthread.so.0 /usr/lib64/libpthread.so
sudo ln -s /usr/lib/x86_64-linux-gnu/libc.so.6 /usr/lib64/libc.so

(如 /usr/lib64 不存在就创建)


五、下载 Oracle Database

从 Oracle 官网下载:

  • Linux x86-64
  • 例如:LINUX.X64_193000_db_home.zip

放到:

/home/oracle/

六、解压并安装

su - oracle
unzip LINUX.X64_193000_db_home.zip -d $ORACLE_HOME

设置环境变量:

export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/19.3.0/dbhome_1

七、运行安装程序

cd $ORACLE_HOME
./runInstaller

⚠️ 常见问题:

  • 提示 Checking operating system version: must be ...
    • 解决方法:编辑 cvu_prereq.xml 或使用 -ignorePrereq
./runInstaller -ignorePrereq -silent

八、创建数据库

dbca

或使用静默:

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

九、启动数据库

sqlplus / as sysdba
startup

十、替代方案(强烈推荐)

如果你只是想 用 Oracle,而不是“在 Debian 上装 Oracle”:

✅ 方案 1:Docker(最省事)

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

✅ 方案 2:Oracle Linux 虚拟机

  • 最稳定、最官方

十一、总结

方式 推荐度
Debian 原生安装 ⭐⭐(折腾)
Docker ⭐⭐⭐⭐⭐
Oracle Linux 虚拟机 ⭐⭐⭐⭐

如果你愿意,我可以:

  • 给你 完整一键脚本
  • 或针对 Debian 12 + Oracle 21c
  • 或 静默安装完整示例

你打算用在 学习 / 开发 / 生产?

0 踩