温馨提示×

centos中oracle怎么连

小樊
40
2026-10-17 12:31:31
栏目: 云计算

在 CentOS 中连接 Oracle 数据库,通常有以下几种常见方式,取决于你是本地连接还是远程连接,以及使用什么工具。


一、使用 Oracle 自带客户端(sqlplus)

1️⃣ 本地已安装 Oracle(如 CentOS 上装了 Oracle DB)

su - oracle
sqlplus / as sysdba

或指定用户:

sqlplus 用户名/密码

2️⃣ 远程连接 Oracle(CentOS 作为客户端)

(1)安装 Oracle 客户端

推荐安装 Oracle Instant Client

# 下载 rpm 包(示例)
rpm -ivh oracle-instantclient-basic-*.rpm
rpm -ivh oracle-instantclient-sqlplus-*.rpm

(2)配置环境变量

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

(3)连接远程数据库

sqlplus 用户名/密码@ip:端口/服务名

示例:

sqlplus scott/tiger@192.168.1.100:1521/orcl

二、使用 TNS 连接(推荐生产环境)

1️⃣ 配置 tnsnames.ora

路径示例:

$ORACLE_HOME/network/admin/tnsnames.ora

内容:

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

2️⃣ 连接

sqlplus 用户名/密码@ORCL

三、使用其他工具连接

✅ JDBC(Java 程序)

jdbc:oracle:thin:@192.168.1.100:1521:orcl

✅ Python(cx_Oracle)

pip install cx_Oracle
import cx_Oracle
conn = cx_Oracle.connect("user/password@192.168.1.100:1521/orcl")

✅ 图形工具

  • DBeaver
  • PL/SQL Developer(Windows)
  • Navicat

四、常见问题排查

❌ ORA-12170 连接超时

  • 防火墙未放行 1521
firewall-cmd --add-port=1521/tcp --permanent
firewall-cmd --reload

❌ TNS 无法解析

  • 检查 tnsnames.ora
  • 检查 ORACLE_HOME

❌ 缺少 libclntsh.so

  • 安装 instant client basic

如果你能告诉我:

  • ✅ CentOS 版本
  • ✅ Oracle 版本
  • ✅ 本地还是远程
  • ✅ 用命令行还是程序

我可以给你更精准的步骤。

0 踩