温馨提示×

ubuntu oracle连接失败咋办

小樊
46
2026-10-13 16:20:03
栏目: 云计算

Ubuntu 下连接 Oracle 失败,原因很多,可以按下面步骤一步步排查。


一、先确认“连的是啥”

你是用哪种方式连 Oracle?

  • ✅ 命令行 sqlplus / sqlcl
  • ✅ 程序(Python / Java / PHP 等)
  • ✅ 图形工具(DBeaver / PL/SQL Developer)

不同方式,问题点不一样。


二、最常见原因 & 排查清单

1️⃣ Oracle 服务是否启动(服务端)

在 Oracle 服务器上执行:

lsnrctl status
  • 如果报错 command not found → 没装客户端/环境变量没配
  • 如果 listener 没启动:
lsnrctl start

数据库是否 open:

sqlplus / as sysdba
select status from v$instance;

2️⃣ Ubuntu 网络是否通

在 Ubuntu 客户端测试:

ping  Oracle服务器IP
telnet OracleIP 1521

或:

nc -zv OracleIP 1521

❌ 不通 → 防火墙 / 安全组 / 网络问题


3️⃣ Oracle 客户端是否安装

Ubuntu 上通常装:

  • oracle-instantclient
  • 或 sqlplus

检查:

which sqlplus

没有就装:

sudo apt install oracle-instantclient-basic

4️⃣ 环境变量是否正确

echo $ORACLE_HOME
echo $LD_LIBRARY_PATH
echo $TNS_ADMIN

常见配置:

export ORACLE_HOME=/usr/lib/oracle/21/client64
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export PATH=$ORACLE_HOME/bin:$PATH

5️⃣ tnsnames.ora 是否正确

示例:

ORCL =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.10)(PORT = 1521))
    (CONNECT_DATA =
      (SERVICE_NAME = orcl)
    )
  )

测试:

tnsping ORCL

6️⃣ 常见报错 & 对应原因

报错 原因
ORA-12170 超时,网络/防火墙
ORA-12541 listener 没启动
ORA-12514 service_name 错
ORA-01017 用户名/密码错
ORA-12545 HOST 错

三、快速自检命令(直接贴结果给我)

你可以把下面输出贴出来,我帮你精准判断:

lsnrctl status
tnsping 你的连接名
sqlplus 用户/密码@连接名

四、如果你愿意,我可以进一步帮你

你可以告诉我:

  1. Ubuntu 版本
  2. Oracle 版本
  3. 报错完整信息
  4. 本地连还是远程连

我可以直接给你一套可用的配置示例。

0 踩