温馨提示×

Debian下Oracle如何启动

小樊
46
2026-10-14 06:19:02
栏目: 云计算

在 Debian 下启动 Oracle 数据库(通常指 Oracle Database 11g/12c/19c 等),一般步骤如下(以单机单实例为例):


一、前置说明

  • Oracle 官方并不支持 Debian,通常运行在 Oracle Linux / RHEL / CentOS
  • 在 Debian 上一般是 手动安装 或通过 兼容层运行
  • 以下操作需使用 oracle 用户(安装时创建)

二、切换到 oracle 用户

su - oracle

三、设置环境变量

通常 Oracle 环境在 .bash_profile 或 .bashrc 中:

export ORACLE_HOME=/u01/app/oracle/product/19.3.0/dbhome_1
export ORACLE_SID=orcl
export PATH=$ORACLE_HOME/bin:$PATH

根据你实际安装路径修改


四、启动 Oracle 监听(Listener)

lsnrctl start

检查状态:

lsnrctl status

五、启动数据库实例

方法 1:使用 SQL*Plus

sqlplus / as sysdba

进入后执行:

startup;

若正常,会看到:

ORACLE instance started.
Database mounted.
Database opened.

退出:

exit;

方法 2:直接用命令(不进交互)

sqlplus / as sysdba <<EOF
startup;
exit;
EOF

六、验证数据库状态

sqlplus / as sysdba
select status from v$instance;

应返回:

OPEN

七、设置开机自启(可选)

Debian 下 Oracle 不自动启动,可:

1️⃣ 手动脚本

/etc/init.d/oracle start

2️⃣ systemd(推荐)

示例 /etc/systemd/system/oracle.service:

[Unit]
Description=Oracle Database
After=network.target

[Service]
Type=forking
User=oracle
Environment="ORACLE_HOME=/u01/app/oracle/product/19.3.0/dbhome_1"
Environment="ORACLE_SID=orcl"
ExecStart=/u01/app/oracle/product/19.3.0/dbhome_1/bin/dbstart $ORACLE_HOME
ExecStop=/u01/app/oracle/product/19.3.0/dbhome_1/bin/dbshut $ORACLE_HOME

[Install]
WantedBy=multi-user.target

启用:

systemctl enable oracle

八、常见问题

❌ ORA-01034 / ORA-27101
→ 数据库未启动或 ORACLE_SID 错

❌ listener not started
→ 先 lsnrctl start

❌ Debian 缺少依赖库
→ 需要安装 libaio1, libstdc++5 等


如果你能告诉我:

  • Oracle 版本
  • 安装方式(手动 / Docker / 迁移)
  • 是否是 RAC / CDB / PDB

我可以给你更精确的启动命令。

0 踩