温馨提示×

ubuntu oracle服务怎么启

小樊
46
2026-09-28 23:18:19
栏目: 云计算

在 Ubuntu 上“Oracle 服务”通常有两种理解:Oracle Database(Oracle 数据库) 或 Oracle(如 Oracle JDK / 其他 Oracle 软件)。最常见的是 Oracle Database。下面我分情况说明。


一、启动 Oracle Database(最常见)

1️⃣ 切换到 oracle 用户

sudo su - oracle

2️⃣ 启动监听(Listener)

lsnrctl start

查看监听状态:

lsnrctl status

3️⃣ 启动数据库实例

方法一:使用 SQL*Plus

sqlplus / as sysdba

进入后执行:

startup;

退出:

exit;

方法二:一条命令启动

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

二、设置开机自动启动(可选)

1️⃣ 修改 /etc/oratab

找到类似:

orcl:/u01/app/oracle/product/19.3.0/dbhome_1:N

改成:

orcl:/u01/app/oracle/product/19.3.0/dbhome_1:Y

2️⃣ 使用 systemd(推荐)

创建服务文件:

sudo vim /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

启用:

sudo systemctl enable oracle
sudo systemctl start oracle

三、如果你说的是 Oracle 其他服务

✅ Oracle JDK

Ubuntu 上不需要“启动”,直接运行 Java 程序即可。

✅ Oracle WebLogic / Oracle Instant Client

请告诉我具体产品,我可以给对应启动方式。


四、常见问题排查

  • ORA-01081: 数据库已在运行
  • listener not started: 先 lsnrctl start
  • 权限问题: 必须用 oracle 用户

如果你能告诉我:

  • Oracle 版本(11g / 12c / 19c / 21c)
  • 是否是容器数据库(CDB/PDB)
  • Ubuntu 版本

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

0 踩