Oracle的Sqlplus如果觉得默认的设置不满意,是完全可以定制化Sqlplus的。你完全可以量身定制把它打造成一个自己顺手的
工具。列举了些方法.
方法一:
对默认的单调的"SQL>"不满意,可只需在glogin.sql中加上合适的设置就可定制化成自己想要的。
例子:
vi $ORACLE_HOME/sqlplus/admin/glogin.sql
在这个全局配置文件尾部加一行:
set sqlprompt "_user'@'_connect_identifier>"
这个设置会显示当前登录的用户和连接服务名。
方法二:
如果相要更个性化,更满足需求的Sqlplus,可使用下面的方式。
1. 新建一个SQL文件
define _editor=vi
set serveroutput on size 1000000
set trimspool on
set long 5000
set linesize 100
set pagesize 9999 column plan_plus_exp format a80
column global_name new_value gname
set termout off
select lower(user)||'@'||global_name from global_name;
set sqlprompt '&gname>'
set termount on
--connect.sql
set termout off
connect &1
@login
set termout on
2. 将环境变量
SQLPATH指向它,或者在Sqlplus中运行 "@文件名 " 即能得到想要的设置
脚本部份说明:
--默认编辑器
--define _editor=vi
--启用dbms_output,并把缓存大小设置得尽可能的大
set serveroutput on size 1000000
--假脱机操作文本时,保证文本行将没有空格,而不是固定宽度
set trimspool on
--选择long和clob列进显示的字节默认数
set long 5000
--显示行宽设置100个字符
set linesize 100
--column plan_plus_exp format a80 指explain plan输出的默认宽度
这种方式参考自<<export one-on-one Oracle>>,SQL文件的这种方式能完成更灵活的定制.
方法三:
在SSH连接服务器时,Sqlplus 退格、上翻和下翻都会出乱码, rlwrap能轻松搞定这个问题,让Sqlplus的操作更强大.
rlwrap的方式与前面两种方法并不冲突,可以同时存在。
1. 安装rlwrap
下载地址:http://utopia.knoware.nl/%7Ehlub/uck/rlwrap/
# tar zxvf rlwrap-0.37.tar.gz
# cd rlwrap-0.37/
# ./configure
# make
# make install
通常安装在 /usr/local/bin目录下。
2. 使用前需检查是否已安装readline
rpm -qa readline readline-devel
如果没有安装 ,使用yum安装
yum install -y readline readline-devel
安装完成后就可以使用rlwrap了.
3. 切换到oracle用户下使用rlwrap sqlplus / as sysdba,
登录后就可以使用上翻 下翻等功能了 .
如果觉得rlwrap sqlplus不习惯,建个别名:
Linux: vi /home/oracle/.bash_profile
Solaris: vi .profile
PATH=$PATH:/usr/local/bin
export PATH
alias sqlplus='rlwrap sqlplus’
alias rman='rlwrap rman'
这样就能直接使用sqlplus,而不必每次都输两个单词了。
MAIL: xcl_168@aliyun.com
BLOG: http://blog.csdn.net/xcl168