SecureCRT和Xmanager解决向上、向下跳回已经执行过得sql

来源:互联网 发布:java服务器类型 编辑:程序博客网 时间:2024/06/05 04:10

本文章来自:  http://www.itpub.net/thread-1766650-1-1.html


Windows操作系统上,当使用SecureCRT和Xmanager访问远程oracle,运行SQL*Plus的时候,往往不可以使用向上,向下键来跳回之前已经执行过的SQL语句.你可以根据需要修改他们,然后按Enter键重新提交执行.

为了在Linux中达到同样的目的,你可以安装rlwrap,这个程式本身是个Shell,可以运行任何你提供给它的命令包括参数,并添加命令历史浏览功能.The rlwrap program isunder the GPL license.
:安装readline
OS
的安装光盘里提供了readline.
[root@oracle11g ~]# rpm -Uvh readline*
error: Failed dependencies: libtermcap-devel is needed byreadline-devel-5.1-1.1.i386.rpm
[root@oracle11g ~]# rpm -Uvh libtermcap-devel-2.0.8-46.1.i386.rpm
[root@oracle11g ~]# rpm -Uvh readline*
package readline-5.1-1.1 is already installed
[root@oracle11g ~]# rpm -Uvh readline-devel-5.1-1.1.i386.rpm
:安装rlwrap
Download

http://utopia.knoware.nl/~hlub/uck/rlwrap/
[root@oracle11g ~]# tar -zxvf rlwrap-0.30.tar.gz
[root@oracle11g ~]# cd rlwrap-0.30
[root@oracle11g rlwrap-0.30]# ./configure
[root@oracle11g rlwrap-0.30]# make
[root@oracle11g rlwrap-0.30]# make install
[root@oracle11g rlwrap-0.30]# rlwrap
Usage: rlwrap [options] command ...
Options:
  -a[password:]             --always-readline[=password:]
  -A                        --ansi-colour-aware
  -b                 --break-chars=
  -c                        --complete-filenames
  -C                --command-name=
  -D                 --history-no-dupes=
  -f        --file=
  -F          --history-format=
  -h                        --help
  -H                  --history-filename=
  -i                        --case-insensitive
  -l                  --logfile=
  -n                        --no-warnings
  -p[ANSI colour spec]      --prompt-colour[=ANSI colour spec]
  -P                 --pre-given=
  -q                 --quote-characters=
  -m[newline substitute]    --multi-line[=newline substitute]
  -r                        --remember
  -v                        --version
  -s                     --histsize= (negative: readonly)
  -t                  --set-term-name=
bug reports, suggestions, updates:
http://utopia.knoware.nl/~hlub/uck/rlwrap/
[root@oracle11g rlwrap-0.30]# vi /home/oracle/.bash_profile
添加
alias sqlplus='rlwrap sqlplus'
alias rman='rlwrap rman'
:使用rlwrap
[oracle@oracle11g ~]$ sqlplus / as sysdba
SQL*Plus: Release 11.1.0.6.0 - Production on Tue Jul 29 21:28:30 2008
Copyright (c) 1982, 2007, Oracle.  All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> select * from v$sga;
NAME                     VALUE
-------------------- ----------
Fixed Size             1299116
Variable Size         155192660
Database Buffers       79691776
Redo Buffers            2347008
使用向上键调回最后执行的命令,Enter键重新执行或修改后按Enter键执行.
SQL> select * from v$sga;
NAME                     VALUE
-------------------- ----------
Fixed Size             1299116
Variable Size         155192660
Database Buffers       79691776
Redo Buffers            2347008
SQL>
Note:
解决在sqlplus下输错命令后正常删除的方法
[oracle@oracle11g ~]$ vi /home/oracle/.bash_profile
添加
stty erase ^h