在 Ubuntu 上“连接 Oracle”通常有三层含义,下面我按最常见场景给你讲,你可以对号入座。
sqlplus(Oracle 官方命令行)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
echo '
export ORACLE_HOME=/opt/instantclient_21_9
export PATH=$ORACLE_HOME:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME
' >> ~/.bashrc
source ~/.bashrc
sqlplus 用户名/密码@//IP:端口/服务名
示例:
sqlplus scott/tiger@//192.168.1.100:1521/orcl
pip install oracledb
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 模式)
⚠️ 不推荐生产环境,Oracle 官方对 Linux 支持最好的是 Oracle Linux / RHEL
如果你只是学习:
docker run -d \
-p 1521:1521 \
-e ORACLE_PASSWORD=oracle \
container-registry.oracle.com/database/free:23.4.0-free
sudo apt install libaio1
sudo ufw allow 1521
| 需求 | 推荐方式 |
|---|---|
| 只是连数据库 | sqlplus / Python |
| 开发测试 | Docker Oracle |
| 学习 Oracle | Oracle XE |
| 生产部署 | Oracle Linux |
如果你能告诉我:
我可以给你更精确的教程。