温馨提示×

ubuntu oracle启动不了咋办

小樊
33
2026-10-22 08:08:39
栏目: 云计算

在 Ubuntu 上 Oracle 起不来,常见原因和排查思路如下,按从快到细的顺序来:


一、先看错误现象(最重要)

先确认是哪一种“启动不了”:

# 用 oracle 用户
su - oracle
sqlplus / as sysdba
startup

把报错内容记下来,例如:

  • ORA-01078
  • ORA-27101
  • ORA-00845
  • Linux-x86_64 Error: 13: Permission denied
  • listener not started

二、最常见原因 & 解决办法

1️⃣ 监听没起(很常见)

lsnrctl status
lsnrctl start

如果报错:

  • TNS-12541: TNS:no listener
  • TNS-12555: TNS:permission denied

→ 一般是 oracle 用户没权限 或 ORACLE_HOME 配错


2️⃣ 环境变量不对

确认 oracle 用户下:

echo $ORACLE_HOME
echo $ORACLE_SID
echo $PATH

典型应该类似:

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

没配就加到:

~/.bash_profile

然后:

source ~/.bash_profile

3️⃣ /dev/shm 太小(ORA-00845)

df -h /dev/shm

如果太小(比如 < 1G):

临时:

mount -o remount,size=2G /dev/shm

永久(/etc/fstab):

tmpfs /dev/shm tmpfs defaults,size=2G 0 0

4️⃣ 数据库没挂载 / 参数文件丢失

sqlplus / as sysdba
startup nomount

报错如:

  • ORA-01078: failure in processing system parameters
  • SPFILE or PFILE not found

检查:

ls $ORACLE_HOME/dbs/

应该有:

  • spfile<SID>.ora
  • 或 init<SID>.ora

5️⃣ 权限问题(Permission denied)

id oracle

确认在 dba 组:

groups oracle

数据文件权限:

ls -l $ORACLE_HOME/dbs

6️⃣ 服务没开机自启(手动启动)

Ubuntu 默认不会自动起 Oracle

手动:

su - oracle
lsnrctl start
sqlplus / as sysdba
startup

三、看日志(最准)

# 告警日志
$ORACLE_BASE/diag/rdbms/*/$ORACLE_SID/trace/alert_$ORACLE_SID.log

# 监听日志
$ORACLE_HOME/network/log/listener.log

四、你可以直接告诉我

如果你愿意,可以把下面信息发我,我直接帮你定位:

  1. Oracle 版本(11g / 12c / 19c?)
  2. Ubuntu 版本
  3. startup 或 lsnrctl start 的完整报错
  4. 是 监听起不来 还是 数据库起不来

我可以一步一步带你修 ✅

0 踩