Debian 上安装 Oracle 的可执行步骤
一 环境准备与兼容性说明
- 建议准备:内存至少1GB、Swap 至少1GB、磁盘可用空间≥5GB;如条件允许,安装GNOME/KDE等图形界面便于安装与排错。网络需可访问外网以下载安装介质与依赖。注意:Debian 12等版本通常不在 Oracle 官方支持矩阵中,生产环境请优先选择受支持的 RHEL/OEL;在 Debian 上安装属于社区/自担风险方案。若仅为客户端访问,优先考虑安装 Oracle Instant Client 而非完整数据库。
二 手动安装步骤(通用,适用于 11g/19c 等)
- 安装依赖
- 执行:sudo apt-get update
- 执行:sudo apt-get install -y gcc make binutils libmotif3 libaio1 libdb3 awk libc6-dev libc6
- 创建用户与组
- 执行:sudo groupadd oinstall
- 执行:sudo groupadd dba
- 执行:sudo useradd -g oinstall -G dba -m oracle
- 执行:sudo passwd oracle
- 创建目录与授权
- 执行:sudo mkdir -p /u01/app/oracle
- 执行:sudo chown -R oracle:oinstall /u01/app/oracle
- 执行:sudo chmod -R 755 /u01/app/oracle
- 内核参数(/etc/sysctl.conf)
- 建议值:
- kernel.shmall = 2097152
- kernel.shmmax = 536870912
- kernel.shmmni = 4096
- kernel.sem = 250 32000 100 128
- fs.file-max = 65536
- net.ipv4.ip_local_port_range = 1024 65000
- net.core.rmem_default = 262144
- net.core.rmem_max = 4194304
- net.core.wmem_default = 262144
- net.core.wmem_max = 1048576
- fs.aio-max-nr = 1048576
- 使生效:sudo sysctl -p
- 资源限制(/etc/security/limits.conf)
- 建议值:
- oracle soft nproc 2047
- oracle hard nproc 16384
- oracle soft nofile 1024
- oracle hard nofile 65536
- oracle soft memlock 33554432
- oracle hard memlock 33554432
- 确保 PAM 加载 limits:在 /etc/pam.d/login 中加入 session required pam_limits.so
- Oracle 用户环境变量(/home/oracle/.bashrc)
- 示例(按实际版本调整 ORACLE_HOME 与 SID):
- export ORACLE_BASE=/u01/app/oracle
- export ORACLE_HOME=/u01/app/oracle/product/19.3.0.0/dbhome_1
- export ORACLE_SID=orcl
- export PATH=$ORACLE_HOME/bin:$PATH
- export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib:/usr/local/lib
- export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
- export NLS_DATE_FORMAT=‘YYYY-MM-DD HH24:MI:SS’
- 执行:source /home/oracle/.bashrc
- 安装 Oracle 软件
- 将安装介质解压至目标目录(如 /opt/oracle),以 oracle 用户进入安装目录,执行:./runInstaller(图形界面)或使用静默响应文件安装(需提前准备 db_install.rsp 等)。
- 创建监听与数据库
- 监听:netca(或直接编辑 $ORACLE_HOME/network/admin/listener.ora)
- 实例:dbca(或使用建库脚本),完成后用 sqlplus 验证。
三 一键安装脚本方式(示例 oracleshellinstall)
- 适用场景:快速在 Debian 12 上部署 11gR2 单机版,脚本会自动完成依赖、内核参数、用户/目录、监听与实例创建等。
- 准备:上传安装包与脚本(如 p13390677_112040_linux-x86-64_1of7.zip、p13390677_112040_linux-x86-64_2of7.zip、rlwrap-0.44.tar.gz、oracleshellinstall),进入 /soft 目录。
- 执行示例(按实际网卡名、目录与 SID 调整):
- ./oracleshellinstall -lf ens33 -n debian12 -o oracle -p /u01 -d /oradata -s lucifer -b /soft -r AL32UTF8 -c AL16UTF16 -n 100 -o Y
- 过程与日志:安装中若提示操作系统不在官方支持列表,输入 Y 继续;实时查看日志:tail -2000f /soft/print_shell_install_*.log
- 验证:sqlplus / as sysdba 能进入 SQL> 提示符即表示数据库可用。
四 安装后验证与常见问题
- 验证
- 登录数据库:sqlplus / as sysdba(能进入 SQL> 即成功)
- 检查监听:lsnrctl status(应能看到监听端口与服务)
- 简单查询:select name, open_mode from v$database;
- 常见问题与处理
- 依赖缺失:按第二节补装 gcc、make、libaio1、libmotif3 等后重试
- 内核参数/资源限制未生效:sysctl -p 重载;确认 /etc/security/limits.conf 与 /etc/pam.d/login 配置正确,必要时重启会话
- 字符集/语言:通过环境变量 NLS_LANG 设置(如 AMERICAN_AMERICA.ZHS16GBK),或建库时指定
- 旧版兼容(如 10g):可能需要额外符号链接(/bin/awk、/bin/rpm 等)与旧版库(如 libstdc++.so.5),不建议用于生产。