在CentOS上解决SQL*Plus连接超时问题,可按以下步骤排查处理:
检查网络连通性
ping命令测试与数据库服务器的网络连通性,确保网络稳定。telnet或nc命令检查Oracle监听端口(默认1521)是否可达,例如:telnet <数据库IP> 1521。验证数据库服务与监听状态
lsnrctl status确认监听器已启动,若未启动则执行lsnrctl start。ps -ef | grep pmon,未运行则通过sqlplus / as sysdba启动。确认TNS配置正确
tnsnames.ora文件(路径通常为$ORACLE_HOME/network/admin/)中的服务名、主机名、端口是否正确。tnsping <服务名>测试TNS解析是否正常。排查防火墙与安全策略
firewalld或iptables)是否放行1521端口,可通过以下命令开放端口:sudo firewall-cmd --add-port=1521/tcp --permanent  
sudo firewall-cmd --reload  
setenforce 0)测试是否影响连接。优化客户端配置
ORACLE_HOME和PATH环境变量正确指向客户端安装路径。sqlnet.ora中SQLNET.EXPIRE_TIME和SQLNET.RECV_TIMEOUT参数,适当增大超时阈值(单位:分钟)。使用工具辅助诊断
strace -T -t -o sqlplus.log sqlplus <连接命令>定位连接耗时环节,查看是否有DNS解析或网络延迟问题。$ORACLE_HOME/log目录)获取详细错误信息。示例命令:
# 检查监听状态  
lsnrctl status  
# 测试TNS解析  
tnsping ORCL  
# 开放防火墙端口  
sudo firewall-cmd --add-port=1521/tcp --permanent && sudo firewall-cmd --reload  
若以上步骤仍无法解决,建议联系数据库管理员或参考Oracle官方文档进一步排查。