Debian如何定制sqlplus个性化功能
导读:Debian 上定制 SQL*Plus 的实用做法 一 基础准备与常用环境 安装依赖与客户端:Debian 上常用 Oracle Instant Client。若只有 RPM 包,可用 alien 转换为 DEB 后安装;同时安装 lib...
Debian 上定制 SQL*Plus 的实用做法
一 基础准备与常用环境
- 安装依赖与客户端:Debian 上常用 Oracle Instant Client。若只有 RPM 包,可用 alien 转换为 DEB 后安装;同时安装 libaio1 等依赖。示例:
- sudo apt-get install -y alien libaio1
- 转换并安装:alien -i oracle-instantclient*.rpm & & sudo dpkg -i oracle-instantclient*.deb
- 若提示找不到共享库(如 libsqlplus.so 或 libaio.so.1),将 Instant Client 库目录(如 /usr/lib/oracle/12.1/client64/lib/)加入 /etc/ld.so.conf.d/oracle.conf 并执行 sudo ldconfig。
- 设置环境变量(示例,按实际版本调整路径):
- export ORACLE_HOME=/usr/lib/oracle/12.1/client64
- export TNS_ADMIN=$ORACLE_HOME/network/admin
- export PATH=$ORACLE_HOME/bin:$PATH
- export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
- 可选:配置 tnsnames.ora 以使用易记别名连接数据库。
二 登录即生效的全局配置 glogin.sql
- 作用范围:每次启动 sqlplus 都会自动执行,适合放置全局开关与通用设置。
- 典型内容示例(按需增删):
- – 编辑器 DEFINE _EDITOR = vi
- – 常用输出与格式 SET SERVEROUTPUT ON SIZE UNLIMITED SET LINESIZE 300 SET PAGESIZE 1000 SET TRIMSPOOL ON SET TRIMOUT ON SET FEEDBACK ON SET VERIFY OFF COLUMN object_name FORMAT A30 COLUMN owner FORMAT A20
- – 其它习惯 SET SQLPROMPT '& _USER@& _CONNECT_IDENTIFIER> ’
- 放置位置:Instant Client 一般为 $ORACLE_HOME/sqlplus/admin/glogin.sql;若该目录不存在,可创建并放入上述配置,下次登录即生效。
三 用户级登录脚本 login.sql 与工作便捷
- 作用范围:仅对当前用户的每次登录执行,适合个人化与项目脚本入口。
- 放置位置:放在你的工作目录或 $HOME 下,SQL*Plus 启动时会自动搜索并执行名为 login.sql 的文件(与 glogin.sql 不冲突,二者可叠加)。
- 实用用法示例:
- 统一执行个人环境:将常用 SET/COLUMN 等放入 ~/login.sql,登录即加载。
- 一键带入常用脚本:在 login.sql 中写入如 @~/sql/startup.sql,实现登录即跑初始化脚本。
- 保存与复用个人偏好:在 SQL*Plus 内执行 STORE SET ~/mylogin.sql,将当前会话变量持久化,之后可用 @~/mylogin.sql 快速恢复。
四 交互体验增强与命令别名
- 行编辑与历史:SQL*Plus 原生不支持方向键与历史,建议用 rlwrap 包装:
- 安装:sudo apt-get install -y rlwrap
- 临时使用:rlwrap sqlplus user/pass@//host:1521/service
- 永久别名:在 ~/.bashrc 或 ~/.zshrc 中加入 alias sqlplus=‘rlwrap sqlplus’,之后直接输入 sqlplus 即可享受 readline 能力(历史、光标移动、Ctrl+R 搜索等)。
- 其它便捷设置:
- 默认编辑器:除了在 glogin.sql 中 DEFINE _EDITOR=vi,也可在 shell 配置中 export EDITOR=vi,二者配合更稳妥。
- 脚本搜索路径:设置环境变量 ORACLE_PATH,便于使用 @脚本名 时无需写全路径(SQL*Plus 会在 ORACLE_PATH 所列目录中查找)。
五 常用个性化配置速查表
| 目标 | 配置方式 | 示例与要点 |
|---|---|---|
| 默认编辑器 | glogin.sql 或环境变量 | DEFINE _EDITOR=vi;或 export EDITOR=vi |
| 登录即执行脚本 | 用户目录 login.sql | 放入常用 SET/COLUMN/@启动脚本;SQL*Plus 会自动执行 |
| 保存/复用偏好 | STORE SET | STORE SET ~/mylogin.sql;之后 @~/mylogin.sql |
| 行编辑与历史 | rlwrap 包装 | alias sqlplus=‘rlwrap sqlplus’ |
| 便捷脚本调用 | ORACLE_PATH | export ORACLE_PATH=/path/sql;@demo 即可 |
| 统一连接别名 | tnsnames.ora | TEST=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=…)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=…))) |
| 字符集 | NLS_LANG | export NLS_LANG=AMERICAN_AMERICA.AL32UTF8 |
以上做法在 Debian 搭配 Oracle Instant Client 场景下长期稳定可用;若你使用不同版本或安装路径,请将示例中的路径与版本号替换为你的实际环境。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Debian如何定制sqlplus个性化功能
本文地址: https://pptw.com/jishu/785829.html
