下面按最常见的使用场景给你讲 Linux 下 Oracle 数据库的连接配置方式,从“客户端连接 Oracle”和“服务端基本配置”两个角度说明。
常见客户端:
查看是否安装:
which sqlplus
若没有,可安装 Instant Client:
yum install -y oracle-instantclient-basic oracle-instantclient-sqlplus
编辑 ~/.bash_profile 或 /etc/profile:
export ORACLE_HOME=/usr/lib/oracle/21/client64
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
export PATH=$ORACLE_HOME/bin:$PATH
export TNS_ADMIN=$ORACLE_HOME/network/admin
生效:
source ~/.bash_profile
路径示例:
$ORACLE_HOME/network/admin/tnsnames.ora
示例:
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.100)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
连接:
sqlplus user/password@ORCL
sqlplus user/password@//192.168.1.100:1521/orcl
路径:
$ORACLE_HOME/network/admin/listener.ora
示例:
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 0.0.0.0)(PORT = 1521))
)
)
启动监听:
lsnrctl start
查看状态:
lsnrctl status
SELECT name FROM v$database;
SELECT value FROM v$parameter WHERE name='service_names';
firewall-cmd --add-port=1521/tcp --permanent
firewall-cmd --reload
✅ ORA-12170 连接超时
✅ ORA-12514 监听找不到服务
✅ sqlplus: command not found
Linux 连接 Oracle = 装客户端 + 配环境变量 + 配 tnsnames 或 IP:端口/服务名 + 监听正常 + 防火墙放行
如果你能告诉我:
我可以直接给你精确命令配置。