温馨提示×

ubuntu oracle报错怎么办

小樊
39
2026-09-16 23:56:24
栏目: 云计算

在 Ubuntu 上遇到 Oracle 报错,原因很多,处理方式取决于具体报错信息和使用方式(是 Oracle 数据库本身、还是客户端/驱动连接)。下面我先给你一个通用排查思路,你再看是哪一类。


一、先确认你是哪种情况

  1. Ubuntu 上安装/运行 Oracle 数据库报错
  2. Ubuntu 连接 Oracle(如 SQL*Plus / Python / Java)报错
  3. Oracle 安装过程报错(如依赖、GUI、权限)

二、最常见 Oracle 报错与解决办法(Ubuntu)

1️⃣ 缺少依赖库(非常常见)

报错示例:

error while loading shared libraries: libclntsh.so

解决:

sudo apt update
sudo apt install libaio1 libaio-dev

如果是 22.04+:

sudo apt install libaio1

2️⃣ ORACLE_HOME / PATH 没配置

报错:

ORACLE_HOME is not set
sqlplus: command not found

解决(示例):

export ORACLE_HOME=/opt/oracle/instantclient_21_1
export PATH=$ORACLE_HOME:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME

可写入:

~/.bashrc

3️⃣ 监听器没启动(Listener)

报错:

ORA-12541: TNS:no listener

解决:

lsnrctl start

查看状态:

lsnrctl status

4️⃣ 数据库没启动

报错:

ORA-01034: ORACLE not available

解决:

sqlplus / as sysdba
startup

5️⃣ 字符集 / 编码问题

报错:

ORA-12705: Cannot access NLS data files

解决:

export NLS_LANG=AMERICAN_AMERICA.AL32UTF8

6️⃣ Ubuntu 版本不支持(重点)

⚠️ Oracle 官方数据库不支持 Ubuntu

  • 官方只支持 RHEL / Oracle Linux
  • Ubuntu 安装常各种怪问题

✅ 推荐方案:

  • 用 Docker 版 Oracle
docker run -d -p 1521:1521 gvenzl/oracle-xe

或

  • 用 Oracle Instant Client(只连库,不装库)

三、你可以这样给我信息,我直接帮你定位

请把下面信息发我:

  1. Ubuntu 版本(lsb_release -a)
  2. Oracle 版本(11g / 12c / 19c / 21c)
  3. 完整报错原文
  4. 你是在做什么时报错(安装 / 启动 / 连接)

我可以直接给你一步一步的命令解法。

0 踩