centos上sqlplus网络配置
导读:CentOS 上 SQL*Plus 网络配置全流程 一 安装 Oracle Instant Client 与 sqlplus 确认系统为 x86_64,安装基础依赖(以 CentOS 7 为例): 命令:yum install -y l...
CentOS 上 SQL*Plus 网络配置全流程
一 安装 Oracle Instant Client 与 sqlplus
- 确认系统为 x86_64,安装基础依赖(以 CentOS 7 为例):
- 命令:
yum install -y libaio libnsl
- 命令:
- 下载并安装 Instant Client 与 sqlplus(示例为 21.x,可按需选择 19.x/12.2/11.2):
- 下载地址(示例):https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient21/x86_64/
- 安装命令:
rpm -ivh oracle-instantclient-basic-21.1.0.0.0-1.x86_64.rpmrpm -ivh oracle-instantclient-sqlplus-21.1.0.0.0-1.x86_64.rpm
- 默认安装路径为:/usr/lib/oracle/21/client64(不同版本目录名会随版本变化)。
二 配置环境变量与网络文件
- 设置环境变量(建议写入 /etc/profile.d/oracle.sh,便于统一维护):
- 命令:
sudo vim /etc/profile.d/oracle.sh - 内容示例:
export ORACLE_HOME=/usr/lib/oracle/21/client64export PATH=$ORACLE_HOME/bin:$PATHexport LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATHexport TNS_ADMIN=$ORACLE_HOME/network/adminexport NLS_LANG=AMERICAN_AMERICA.AL32UTF8
- 使配置生效:
source /etc/profile.d/oracle.sh
- 命令:
- 创建网络配置目录与 tnsnames.ora:
- 命令:
mkdir -p $TNS_ADMIN - 编辑:
vim $TNS_ADMIN/tnsnames.ora - 示例内容(按需替换 HOST/PORT/SERVICE_NAME):
ORCL = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = dbserver.example.com)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl.example.com) ) )
- 命令:
- 可选:配置 sqlnet.ora(如需加密或日志等):
- 路径:
$TNS_ADMIN/sqlnet.ora - 示例(开启加密校验):
SQLNET.ENCRYPTION_SERVER = required SQLNET.ENCRYPTION_TYPES_SERVER = (AES256) SQLNET.CRYPTO_CHECKSUM_SERVER = required
- 路径:
- 权限建议(提高安全性):
chmod 750 $ORACLE_HOMEchmod 600 $TNS_ADMIN/*
- 说明:Instant Client 默认没有 tnsnames.ora/sqlnet.ora,需手动创建;TNS_ADMIN 未显式设置时,客户端会按约定在 $ORACLE_HOME/network/admin 查找。
三 连接测试与常见网络故障排查
- 直连方式(无需 tnsnames.ora):
- 命令:
sqlplus user/password@//dbserver.example.com:1521/orcl.example.com
- 命令:
- TNS 别名方式:
- 命令:
sqlplus user/password@ORCL
- 命令:
- 基础连通性检查:
- 端口可达:
telnet dbserver.example.com 1521或nc -vz dbserver.example.com 1521 - 解析与监听:
tnsping ORCL
- 端口可达:
- 常见错误与处理要点:
- ORA-12154:检查 tnsnames.ora 路径(由 TNS_ADMIN 指定)、别名拼写、文件权限。
- ORA-12541:目标主机 1521 端口未监听或防火墙阻断,确认监听已启动并放通端口。
- ORA-01017:用户名/密码错误,若含特殊字符,建议用双引号包裹(如
"P@ssw0rd")。 - 库文件未找到:确认 LD_LIBRARY_PATH 包含 $ORACLE_HOME/lib,必要时执行
ldconfig $ORACLE_HOME/lib。
- 若你是数据库服务器本机排查监听,可用:
lsnrctl status(查看监听状态)lsnrctl start(启动监听)- 动态注册服务:
alter system register;(在 sqlplus / as sysdba 下执行)。
四 字符集与常用优化
- 字符集设置(避免中文乱码):
- 建议:
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8 - 中文环境可选:
export NLS_LANG="SIMPLIFIED CHINESE_CHINA.AL32UTF8"
- 建议:
- sqlplus 显示优化(在
$ORACLE_HOME/sqlplus/admin/glogin.sql或用户登录脚本中设置):SET PAGESIZE 10000SET LINESIZE 200SET NUMFORMAT 999999999999.99
- 客户端侧网络与稳定性(可选):
- 适当增大 TCP 缓冲区(示例):
echo "net.core.rmem_max=4194304" > > /etc/sysctl.confecho "net.core.wmem_max=4194304" > > /etc/sysctl.confsysctl -p。
- 适当增大 TCP 缓冲区(示例):
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: centos上sqlplus网络配置
本文地址: https://pptw.com/jishu/787954.html
