CentOS 上 SQL*Plus 的配置文件与生效机制
在 CentOS 环境中,SQLPlus 的行为由三类配置共同决定:系统级环境设置、网络与服务解析配置、SQLPlus 启动脚本。下面按“文件/变量—位置—作用—示例”的结构进行详解,便于快速定位与定制。
一 系统级环境与库路径配置
source 使其生效。export ORACLE_HOME=/opt/oracle/instantclient_19_8
export LD_LIBRARY_PATH=$ORACLE_HOME:$LD_LIBRARY_PATH
export PATH=$ORACLE_HOME:$PATH
# 可选:若使用 tnsnames.ora
export TNS_ADMIN=$ORACLE_HOME/network/admin
source /etc/profile.d/oracle.shexport ORACLE_HOME=/usr/lib/oracle/12.2/client64
export TNS_ADMIN=$ORACLE_HOME/network/admin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
export PATH=$PATH:$ORACLE_HOME/bin
# 可选:NLS 字符集
# export NLS_LANG=AMERICAN_CHINA.ZHS16GBK
source ~/.bashrcldconfig 刷新缓存。sudo yum install libaio libaio-devel二 网络与服务解析配置
MYDB =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = db.example.com)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = myservice)
)
)
sqlplus username/password@MYDBsqlplus username/password@//db.example.com:1521/myservice三 SQL*Plus 启动脚本配置
-- 设置默认编辑器
define _editor=vim
-- 输出与格式
set serveroutput on size unlimited
set trimspool on
set long 5000
set linesize 120
set pagesize 9999
column plan_plus_exp format a100
-- 自定义提示符(显示 用户@连接标识)
set sqlprompt '&_user.@&_connect_identifier.>'
export SQLPATH=$ORACLE_HOME/sqlplus/admin:$HOME/sqlplus四 快速排错与验证
sqlplus -vsqlplus /nolog,确认命令可用后再连接。ldconfig 刷新;RPM 安装建议确认 /etc/ld.so.conf 已包含客户端 lib 目录。sqlplus user/pass@//host:1521/servicelsnrctl statusfirewall-cmd --zone=public --add-port=1521/tcp --permanent && firewall-cmd --reload