温馨提示×

ubuntu如何连接oracle

小樊
43
2026-09-13 23:27:57
栏目: 云计算

在 Ubuntu 上“连接 Oracle”通常有三层含义,下面我按最常见场景给你讲,你可以对号入座。


一、Ubuntu 作为客户端,连接远程 Oracle 数据库(最常见)

方式 1:使用 sqlplus(Oracle 官方命令行)

1️⃣ 安装 Oracle Instant Client

sudo apt update
sudo apt install -y libaio1 unzip wget

下载 Instant Client(Basic + SQL*Plus):

cd /opt
sudo wget https://download.oracle.com/otn_software/linux/instantclient/219000/instantclient-basic-linux.x64-21.9.0.0.0.zip
sudo wget https://download.oracle.com/otn_software/linux/instantclient/219000/instantclient-sqlplus-linux.x64-21.9.0.0.0.zip
sudo unzip instantclient-basic-linux.x64-21.9.0.0.0.zip
sudo unzip instantclient-sqlplus-linux.x64-21.9.0.0.0.0.zip

2️⃣ 配置环境变量

echo '
export ORACLE_HOME=/opt/instantclient_21_9
export PATH=$ORACLE_HOME:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME
' >> ~/.bashrc
source ~/.bashrc

3️⃣ 连接 Oracle

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

示例:

sqlplus scott/tiger@//192.168.1.100:1521/orcl

方式 2:使用 Python 连接 Oracle(开发常用)

安装依赖

pip install oracledb

Python 示例

import oracledb

conn = oracledb.connect(
    user="scott",
    password="tiger",
    host="192.168.1.100",
    port=1521,
    service_name="orcl"
)

cursor = conn.cursor()
cursor.execute("SELECT SYSDATE FROM dual")
print(cursor.fetchone())
conn.close()

✅ 不需要安装 Oracle 客户端(oracledb 支持 Thin 模式)


二、Ubuntu 上安装 Oracle 数据库(服务端)

⚠️ 不推荐生产环境,Oracle 官方对 Linux 支持最好的是 Oracle Linux / RHEL

如果你只是学习:

  • 推荐使用 Docker
docker run -d \
  -p 1521:1521 \
  -e ORACLE_PASSWORD=oracle \
  container-registry.oracle.com/database/free:23.4.0-free

三、常见问题排查

1️⃣ ORA-12541 TNS 无监听

  • 检查 Oracle 是否启动
  • 端口是否正确(默认 1521)

2️⃣ 缺少 libaio

sudo apt install libaio1

3️⃣ 防火墙

sudo ufw allow 1521

四、总结选择建议

需求 推荐方式
只是连数据库 sqlplus / Python
开发测试 Docker Oracle
学习 Oracle Oracle XE
生产部署 Oracle Linux

如果你能告诉我:

  • 是 连接已有 Oracle
  • 还是 在 Ubuntu 上安装 Oracle
  • 使用 哪种语言(Python / Java / shell)

我可以给你更精确的教程。

0 踩