centos中sqlplus网络配置
导读:CentOS中SQL*Plus网络配置指南 一、基础环境准备 1. 安装Oracle Instant Client(若未安装完整Oracle数据库) 若仅需通过SQL*Plus客户端连接远程数据库,可安装轻量化的Oracle Instant...
CentOS中SQL*Plus网络配置指南
一、基础环境准备
1. 安装Oracle Instant Client(若未安装完整Oracle数据库)
若仅需通过SQL*Plus客户端连接远程数据库,可安装轻量化的Oracle Instant Client:
- 下载对应版本的Instant Client Basic包及SQL*Plus包(如
oracle-instantclient19.8-basic-19.8.0.0.0-1.x86_64.rpm
、oracle-instantclient19.8-sqlplus-19.8.0.0.0-1.x86_64.rpm
); - 使用
rpm
命令安装:rpm -ivh oracle-instantclient19.8-basic-*.rpm rpm -ivh oracle-instantclient19.8-sqlplus-*.rpm
- 设置环境变量:编辑
~/.bashrc
,添加以下内容:
执行export ORACLE_HOME=/usr/lib/oracle/19.8/client64 # 根据实际安装路径调整 export PATH=$ORACLE_HOME/bin:$PATH export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
source ~/.bashrc
使变量生效。
2. 确认Oracle数据库服务状态(若为本地数据库)
若需连接本地数据库,确保Oracle数据库服务已启动:
systemctl status oracle-xe # 若为Oracle XE版本
# 或通过SQL*Plus以sysdba身份登录检查
sqlplus / as sysdba
SQL>
SELECT status FROM v$instance;
若状态为OPEN
则表示数据库运行正常。
二、配置监听器(Listener)
监听器负责接收客户端连接请求,需确保其配置正确并运行。
1. 编辑listener.ora
文件
文件路径通常为$ORACLE_HOME/network/admin/listener.ora
,内容示例如下:
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = your_server_ip)(PORT = 1521)) # 替换为服务器实际IP
)
)
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = your_sid) # 替换为数据库SID(可通过`lsnrctl status`查看)
(ORACLE_HOME = $ORACLE_HOME)
)
)
注意:HOST
需设置为服务器IP(若为远程连接),而非localhost
;SID
需与数据库实例一致。
2. 启动并验证监听器
lsnrctl start # 启动监听器
lsnrctl status # 查看监听状态(确认"Listening Endpoints"中包含配置的IP和端口)
若监听未启动,需检查listener.ora
文件语法是否正确。
三、配置TNS连接文件(可选但推荐)
tnsnames.ora
文件用于定义数据库连接的别名,简化SQL*Plus连接命令。
1. 创建或编辑tnsnames.ora
文件
文件路径为$ORACLE_HOME/network/admin/tnsnames.ora
,内容示例如下:
YOUR_DB_ALIAS =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = your_server_ip)(PORT = 1521)) # 替换为服务器IP
(CONNECT_DATA =
(SERVICE_NAME = your_service_name) # 替换为数据库服务名(可通过`lsnrctl status`或`show parameter service_name`查看)
)
)
说明:SERVICE_NAME
可通过以下命令获取:
sqlplus / as sysdba
SQL>
SHOW PARAMETER SERVICE_NAME;
2. 使用TNS别名连接
配置完成后,可通过别名快速连接:
sqlplus username/password@YOUR_DB_ALIAS
四、防火墙设置
确保CentOS防火墙允许Oracle默认端口(1521)的流量:
firewall-cmd --permanent --zone=public --add-port=1521/tcp # 开放端口
firewall-cmd --reload # 重新加载防火墙规则
若使用iptables
,需添加类似规则:
iptables -A INPUT -p tcp --dport 1521 -j ACCEPT
service iptables save
五、测试连接
1. 使用TNS别名测试
sqlplus username/password@YOUR_DB_ALIAS
2. 使用Easy Connect方式测试(无需配置tnsnames.ora
)
sqlplus username/password@your_server_ip:1521/your_service_name
提示:若连接成功,将进入SQL*Plus命令行界面;若失败,可通过tnsping YOUR_DB_ALIAS
测试TNS解析是否正常。
六、常见问题排查
- ORA-12170:连接超时:检查网络连通性(
ping your_server_ip
)、防火墙设置及监听器状态(lsnrctl status
)。 - ORA-12541:无监听程序:确认监听器已启动(
lsnrctl start
),且listener.ora
中的HOST
和PORT
配置正确。 - ORA-12514:监听程序无法解析服务名:检查
tnsnames.ora
中的SERVICE_NAME
是否与数据库一致,或使用Easy Connect方式绕过tnsnames.ora
。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: centos中sqlplus网络配置
本文地址: https://pptw.com/jishu/724476.html