温馨提示×

Debian下Oracle如何配置

小樊
52
2026-10-08 09:04:38
栏目: 云计算

在 Debian 下配置 Oracle 数据库并不是官方推荐场景(Oracle 官方主要支持 RHEL / OEL / SUSE),但在实际环境中(测试、学习、兼容老系统)是可以跑起来的。下面我按 Oracle 19c / 21c 单机版(非 RAC) 给你一个可落地的配置流程。


一、前置说明(很重要)

  • ✅ 推荐版本:Oracle 19c(19.3)
  • ✅ Debian 版本:Debian 11(Bullseye)或 12(Bookworm)
  • ❌ Oracle 不官方支持 Debian,需要“伪装成 RHEL”
  • ❌ 不建议生产环境,仅适合测试 / 学习

二、系统准备

1. 创建用户和组

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

2. 创建目录

mkdir -p /u01/app/oracle
mkdir -p /u01/app/oraInventory
chown -R oracle:oinstall /u01
chmod -R 775 /u01

三、安装依赖包

Debian 没有 yum,用 apt:

apt update
apt install -y \
  alien \
  autoconf \
  bc \
  binutils \
  gcc \
  libaio1 \
  libelf1 \
  libstdc++5 \
  libstdc++6 \
  libpthread-stubs0-dev \
  make \
  sysstat \
  unzip \
  x11-utils \
  rlwrap

如果是 Debian 12,注意 libaio1 可能叫 libaio1t64


四、伪装成 RHEL(关键)

Oracle 安装程序会检查系统版本:

cat > /etc/redhat-release <<EOF
Red Hat Enterprise Linux release 7.9 (Maipo)
EOF

五、内核参数配置

编辑 /etc/sysctl.conf:

fs.file-max = 6815744
kernel.sem = 250 32000 100 128
kernel.shmmax = 4294967295
kernel.shmall = 1048576
kernel.shmmni = 4096
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

执行:

sysctl -p

六、用户资源限制

编辑 /etc/security/limits.conf:

oracle soft nofile 1024
oracle hard nofile 65536
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft stack 10240
oracle hard stack 32768

七、安装 Oracle 软件

1. 上传并解压安装包

su - oracle
cd /u01/app/oracle
unzip LINUX.X64_193000_db_home.zip -d $ORACLE_HOME

2. 设置环境变量

.bash_profile:

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

3. 运行安装

cd $ORACLE_HOME
./runInstaller

如果图形界面不行:

./runInstaller -silent \
  -responseFile $ORACLE_HOME/install/response/db_install.rsp

八、创建数据库

使用 DBCA(推荐)

dbca

或静默:

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

九、启动与关闭

# 启动监听
lsnrctl start

# 启动数据库
sqlplus / as sysdba
SQL> startup

十、常见问题

1. 缺少 libclntsh.so

ln -s $ORACLE_HOME/lib/libclntsh.so.19.1 $ORACLE_HOME/lib/libclntsh.so

2. Debian 12 启动失败

  • 使用 Oracle 19.21+ 补丁
  • 或降级到 Debian 11

十一、总结

✅ Debian 可以跑 Oracle
❌ 不官方支持
⚠ 仅适合测试 / 学习 / 兼容环境


如果你愿意,我可以:

  • 给你 一键安装脚本
  • 教你 Docker 跑 Oracle(更推荐)
  • 帮你 排错具体报错

你现在是 学习用还是项目兼容用?

0 踩