在 Linux 环境下远程连接 Oracle 数据库,通常有以下几种常见方式。下面按“从哪连、连什么、怎么配”来说明。
适合服务器运维、脚本方式。
轻量级客户端,最常用。
lsnrctl status
应能看到监听器在运行。
telnet ip 1521
# 或
nc -zv ip 1521
# firewalld
firewall-cmd --add-port=1521/tcp --permanent
firewall-cmd --reload
yum install -y oracle-instantclient-basic oracle-instantclient-sqlplus
export ORACLE_HOME=/usr/lib/oracle/21/client64
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
sqlplus 用户名/密码@//IP:1521/服务名
示例:
sqlplus scott/tiger@//192.168.1.10:1521/orcl
vi $ORACLE_HOME/network/admin/tnsnames.ora
示例:
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.10)(PORT = 1521))
(CONNECT_DATA =
(SERVICE_NAME = orcl)
)
)
sqlplus scott/tiger@ORCL
pip install oracledb
import oracledb
conn = oracledb.connect(
user="scott",
password="tiger",
host="192.168.1.10",
port=1521,
service_name="orcl"
)
cur = conn.cursor()
cur.execute("SELECT sysdate FROM dual")
print(cur.fetchone())
| 场景 | 推荐方式 |
|---|---|
| 服务器运维 | SQL*Plus |
| 开发调试 | DBeaver / SQL Developer |
| 程序连接 | Instant Client / oracledb |
如果你愿意,可以告诉我:
我可以直接帮你一步一步配好。