首页主机资讯Debian如何定制sqlplus个性化功能

Debian如何定制sqlplus个性化功能

时间2026-01-19 14:39:03发布访客分类主机资讯浏览1067
导读: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
Linux XRender与硬件加速关系探讨 Linux XRender如何优化视频播放体验

游客 回复需填写必要信息