在 Debian 下配置 Oracle 数据库并不是官方推荐场景(Oracle 官方主要支持 RHEL / OEL / SUSE),但在实际环境中(测试、学习、兼容老系统)是可以跑起来的。下面我按 Oracle 19c / 21c 单机版(非 RAC) 给你一个可落地的配置流程。
groupadd oinstall
groupadd dba
useradd -g oinstall -G dba oracle
passwd oracle
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
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
su - oracle
cd /u01/app/oracle
unzip LINUX.X64_193000_db_home.zip -d $ORACLE_HOME
.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
cd $ORACLE_HOME
./runInstaller
如果图形界面不行:
./runInstaller -silent \
-responseFile $ORACLE_HOME/install/response/db_install.rsp
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
ln -s $ORACLE_HOME/lib/libclntsh.so.19.1 $ORACLE_HOME/lib/libclntsh.so
✅ Debian 可以跑 Oracle
❌ 不官方支持
⚠ 仅适合测试 / 学习 / 兼容环境
如果你愿意,我可以:
你现在是 学习用还是项目兼容用?