• Oracle Sqlplus中上下键出现^[[A乱码问题


    安装rlwrap 

    下载:http://utopia.knoware.nl/~hlub/uck/rlwrap/ 

    或者 百度云盘:http://pan.baidu.com/s/1ntM8YXr

    需要先安装readline,否则会报一下错误:You need the GNU readline library(ftp://ftp.gnu.org/gnu/readline/ ) to build this program!
    如下:


    [root@rtest ~]# cd /opt/
    [root@rtest opt]# ll
    total 256
    drwxr-xr-x 3 root root   4096 Apr 22 09:54 ORCLfmap
    -rw-r--r-- 1 root root 251438 May  6 10:12 rlwrap-0.37.tar.gz
    [root@rtest opt]# tar -zxvf rlwrap-0.37.tar.gz 
    [root@rtest opt]# cd rlwrap-0.37
    [root@rtest rlwrap-0.37]# ll
    total 408
    -rw-rw-r-- 1 oracle dba  35029 Apr 30  2010 aclocal.m4
    -rw-r--r-- 1 oracle dba    638 Aug 15  2006 AUTHORS
    -rw-r--r-- 1 oracle dba   4267 May  5  2010 BUGS
    -rw-r--r-- 1 oracle dba    105 Aug 10  2003 ChangeLog
    drwxrwxr-x 2 oracle dba   4096 May  5  2010 completions
    -rw-rw-r-- 1 oracle dba   7042 Apr 30  2010 config.h.in
    -rwxr-xr-x 1 oracle dba 222847 Apr 30  2010 configure
    -rw-r--r-- 1 oracle dba  11521 Apr 30  2010 configure.ac
    -rw-r--r-- 1 oracle dba  17992 Aug  8  2006 COPYING
    drwxrwxr-x 2 oracle dba   4096 May  5  2010 doc
    drwxrwxr-x 2 oracle dba   4096 May  5  2010 filters
    -rw-r--r-- 1 oracle dba   2019 Nov 23  2009 INSTALL
    -rw-r--r-- 1 oracle dba   1272 Jan 23  2010 Makefile.am
    -rw-rw-r-- 1 oracle dba  28316 Apr 30  2010 Makefile.in
    -rw-r--r-- 1 oracle dba  16788 Apr 30  2010 NEWS
    -rw-r--r-- 1 oracle dba   1394 Oct 24  2007 PLEA
    -rw-r--r-- 1 oracle dba   3070 Jan  8  2010 README
    drwxrwxr-x 2 oracle dba   4096 May  5  2010 src
    drwxrwxr-x 2 oracle dba   4096 May  5  2010 test
    -rw-r--r-- 1 oracle dba    310 Apr 16  2010 TODO
    drwxrwxr-x 2 oracle dba   4096 May  5  2010 tools
    [root@rtest rlwrap-0.37]# 
    [root@rtest rlwrap-0.37]# ./configure
    checking build system type... i686-pc-linux-gnu
    checking host system type... i686-pc-linux-gnu
    checking for a BSD-compatible install... /usr/bin/install -c
    checking whether build environment is sane... yes
    checking for a thread-safe mkdir -p... /bin/mkdir -p
    checking for gawk... gawk
    checking whether make sets $(MAKE)... yes
    checking whether make sets $(MAKE)... (cached) yes
    checking whether build environment is sane... yes
    checking for style of include used by make... GNU
    checking for gcc... gcc
    checking for C compiler default output file name... a.out
    checking whether the C compiler works... yes
    checking whether we are cross compiling... no
    checking for suffix of executables... 
    checking for suffix of object files... o
    checking whether we are using the GNU C compiler... yes
    checking whether gcc accepts -g... yes
    checking for gcc option to accept ISO C89... none needed
    checking dependency style of gcc... gcc3
    checking how to run the C preprocessor... gcc -E
    checking for grep that handles long lines and -e... /bin/grep
    checking for egrep... /bin/grep -E
    checking for ANSI C header files... yes
    checking for sys/types.h... yes
    checking for sys/stat.h... yes
    checking for stdlib.h... yes
    checking for string.h... yes
    checking for memory.h... yes
    checking for strings.h... yes
    checking for inttypes.h... yes
    checking for stdint.h... yes
    checking for unistd.h... yes
    checking minix/config.h usability... no
    checking minix/config.h presence... no
    checking for minix/config.h... no
    checking whether it is safe to define __EXTENSIONS__... yes
    checking for gcc... (cached) gcc
    checking whether we are using the GNU C compiler... (cached) yes
    checking whether gcc accepts -g... (cached) yes
    checking for gcc option to accept ISO C89... (cached) none needed
    checking dependency style of gcc... (cached) gcc3
    checking how to run the C preprocessor... gcc -E
    checking for perl... /usr/bin/perl
    checking for strip... strip
    checking for ANSI C header files... (cached) yes
    checking for sys/wait.h that is POSIX.1 compatible... yes
    checking errno.h usability... yes
    checking errno.h presence... yes
    checking for errno.h... yes
    checking fcntl.h usability... yes
    checking fcntl.h presence... yes
    checking for fcntl.h... yes
    checking libutil.h usability... no
    checking libutil.h presence... no
    checking for libutil.h... no
    checking for stdlib.h... (cached) yes
    checking for string.h... (cached) yes
    checking sched.h usability... yes
    checking sched.h presence... yes
    checking for sched.h... yes
    checking sys/ioctl.h usability... yes
    checking sys/ioctl.h presence... yes
    checking for sys/ioctl.h... yes
    checking for sys/wait.h... (cached) yes
    checking sys/resource.h usability... yes
    checking sys/resource.h presence... yes
    checking for sys/resource.h... yes
    checking stddef.h usability... yes
    checking stddef.h presence... yes
    checking for stddef.h... yes
    checking termios.h usability... yes
    checking termios.h presence... yes
    checking for termios.h... yes
    checking for unistd.h... (cached) yes
    checking for stdint.h... (cached) yes
    checking time.h usability... yes
    checking time.h presence... yes
    checking for time.h... yes
    checking getopt.h usability... yes
    checking getopt.h presence... yes
    checking for getopt.h... yes
    checking regex.h usability... yes
    checking regex.h presence... yes
    checking for regex.h... yes
    checking curses.h usability... no
    checking curses.h presence... no
    checking for curses.h... no
    checking termcap.h usability... no
    checking termcap.h presence... no
    checking for termcap.h... no
    checking for term.h... no
    checking for ncurses/term.h... no
    checking argument type of tputs putc function... char
    checking whether your getopt() correctly understands double colons in option string... yes
    checking for an ANSI C-conforming const... yes
    checking for pid_t... yes
    checking whether time.h and sys/time.h may both be included... yes
    checking whether gcc needs -traditional... no
    checking return type of signal handlers... void
    checking for getopt_long... yes
    checking for getopt_long... (cached) yes
    checking for isastream... yes
    checking for mkstemp... yes
    checking for pselect... yes
    checking for putenv... yes
    checking for readlink... yes
    checking for sched_yield... yes
    checking for setenv... yes
    checking for setitimer... yes
    checking for setsid... yes
    checking for setrlimit... yes
    checking for sigaction... yes
    checking for snprintf... yes
    checking for strlcpy... no
    checking for strlcat... no
    checking for strnlen... yes
    checking for system... yes
    checking for openpty in -lutil... yes
    checking for openpty... yes
    checking for getpty... no
    checking for grantpt... yes
    checking for unlockpt... yes
    checking for getpt... yes
    checking for pty/tty type... checking pty.h usability... yes
    checking pty.h presence... yes
    checking for pty.h... yes
    OPENPTY
    configure: checking for pty ranges...
    checking for tgetent... no
    checking for tgetent in -lcurses... no
    checking for tgetent in -lncurses... no
    checking for tgetent in -ltermcap... no
    configure: WARNING: No termcap nor curses library found
    checking for readline in -lreadline... no
    configure: error: 

    You need the GNU readline library(ftp://ftp.gnu.org/gnu/readline/ ) to build
    this program!


    [root@rtest rlwrap-0.37]# 

    ##############################################################################################################
    1.安装readline

    [root@rtest ~]# mount /dev/cdrom /media/
    mount: block device /dev/cdrom is write-protected, mounting read-only
    [root@rtest ~]# cd /media/Server/
    [root@rtest Server]# rpm -Uvh readline-
    readline-5.1-3.el5.i386.rpm        readline-devel-5.1-3.el5.i386.rpm  
    [root@rtest Server]# rpm -Uvh readline-5.1-3.el5.i386.rpm 
    warning: readline-5.1-3.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 1e5e0159
    Preparing...                ########################################### [100%]
            package readline-5.1-3.el5.i386 is already installed
    [root@rtest Server]# rpm -Uvh readline-devel-5.1-3.el5.i386.rpm 
    warning: readline-devel-5.1-3.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 1e5e0159
    error: Failed dependencies:
            libtermcap-devel is needed by readline-devel-5.1-3.el5.i386
    [root@rtest Server]# rpm -Uvh libtermcap-devel-2.0.8-46.1.i386.rpm 
    warning: libtermcap-devel-2.0.8-46.1.i386.rpm: Header V3 DSA signature: NOKEY, key ID 1e5e0159
    Preparing...                ########################################### [100%]
       1:libtermcap-devel       ########################################### [100%]
    [root@rtest Server]# rpm -Uvh readline-devel-5.1-3.el5.i386.rpm 
    warning: readline-devel-5.1-3.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 1e5e0159
    Preparing...                ########################################### [100%]
       1:readline-devel         ########################################### [100%]

    2.安装rlwrap

    [root@rtest Server]# cd /opt/rlwrap-0.37
    [root@rtest rlwrap-0.37]# ll
    total 480
    -rw-rw-r-- 1 oracle dba   35029 Apr 30  2010 aclocal.m4
    -rw-r--r-- 1 oracle dba     638 Aug 15  2006 AUTHORS
    -rw-r--r-- 1 oracle dba    4267 May  5  2010 BUGS
    -rw-r--r-- 1 oracle dba     105 Aug 10  2003 ChangeLog
    drwxrwxr-x 2 oracle dba    4096 May  5  2010 completions
    -rw-rw-r-- 1 oracle dba    7042 Apr 30  2010 config.h.in
    -rw-r--r-- 1 root   root  67255 May  6 10:16 config.log
    -rwxr-xr-x 1 oracle dba  222847 Apr 30  2010 configure
    -rw-r--r-- 1 oracle dba   11521 Apr 30  2010 configure.ac
    -rw-r--r-- 1 oracle dba   17992 Aug  8  2006 COPYING
    drwxrwxr-x 2 oracle dba    4096 May  5  2010 doc
    drwxrwxr-x 2 oracle dba    4096 May  5  2010 filters
    -rw-r--r-- 1 oracle dba    2019 Nov 23  2009 INSTALL
    -rw-r--r-- 1 oracle dba    1272 Jan 23  2010 Makefile.am
    -rw-rw-r-- 1 oracle dba   28316 Apr 30  2010 Makefile.in
    -rw-r--r-- 1 oracle dba   16788 Apr 30  2010 NEWS
    -rw-r--r-- 1 oracle dba    1394 Oct 24  2007 PLEA
    -rw-r--r-- 1 oracle dba    3070 Jan  8  2010 README
    drwxrwxr-x 2 oracle dba    4096 May  5  2010 src
    drwxrwxr-x 2 oracle dba    4096 May  5  2010 test
    -rw-r--r-- 1 oracle dba     310 Apr 16  2010 TODO
    drwxrwxr-x 2 oracle dba    4096 May  5  2010 tools

    [root@rtest rlwrap-0.37]# ./configure 
    checking build system type... i686-pc-linux-gnu
    checking host system type... i686-pc-linux-gnu
    checking for a BSD-compatible install... /usr/bin/install -c
    checking whether build environment is sane... yes
    checking for a thread-safe mkdir -p... /bin/mkdir -p
    checking for gawk... gawk
    checking whether make sets $(MAKE)... yes
    checking whether make sets $(MAKE)... (cached) yes
    checking whether build environment is sane... yes
    checking for style of include used by make... GNU
    checking for gcc... gcc
    checking for C compiler default output file name... a.out
    checking whether the C compiler works... yes
    checking whether we are cross compiling... no
    checking for suffix of executables... 
    checking for suffix of object files... o
    checking whether we are using the GNU C compiler... yes
    checking whether gcc accepts -g... yes
    checking for gcc option to accept ISO C89... none needed
    checking dependency style of gcc... gcc3
    checking how to run the C preprocessor... gcc -E
    checking for grep that handles long lines and -e... /bin/grep
    checking for egrep... /bin/grep -E
    checking for ANSI C header files... yes
    checking for sys/types.h... yes
    checking for sys/stat.h... yes
    checking for stdlib.h... yes
    checking for string.h... yes
    checking for memory.h... yes
    checking for strings.h... yes
    checking for inttypes.h... yes
    checking for stdint.h... yes
    checking for unistd.h... yes
    checking minix/config.h usability... no
    checking minix/config.h presence... no
    checking for minix/config.h... no
    checking whether it is safe to define __EXTENSIONS__... yes
    checking for gcc... (cached) gcc
    checking whether we are using the GNU C compiler... (cached) yes
    checking whether gcc accepts -g... (cached) yes
    checking for gcc option to accept ISO C89... (cached) none needed
    checking dependency style of gcc... (cached) gcc3
    checking how to run the C preprocessor... gcc -E
    checking for perl... /usr/bin/perl
    checking for strip... strip
    checking for ANSI C header files... (cached) yes
    checking for sys/wait.h that is POSIX.1 compatible... yes
    checking errno.h usability... yes
    checking errno.h presence... yes
    checking for errno.h... yes
    checking fcntl.h usability... yes
    checking fcntl.h presence... yes
    checking for fcntl.h... yes
    checking libutil.h usability... no
    checking libutil.h presence... no
    checking for libutil.h... no
    checking for stdlib.h... (cached) yes
    checking for string.h... (cached) yes
    checking sched.h usability... yes
    checking sched.h presence... yes
    checking for sched.h... yes
    checking sys/ioctl.h usability... yes
    checking sys/ioctl.h presence... yes
    checking for sys/ioctl.h... yes
    checking for sys/wait.h... (cached) yes
    checking sys/resource.h usability... yes
    checking sys/resource.h presence... yes
    checking for sys/resource.h... yes
    checking stddef.h usability... yes
    checking stddef.h presence... yes
    checking for stddef.h... yes
    checking termios.h usability... yes
    checking termios.h presence... yes
    checking for termios.h... yes
    checking for unistd.h... (cached) yes
    checking for stdint.h... (cached) yes
    checking time.h usability... yes
    checking time.h presence... yes
    checking for time.h... yes
    checking getopt.h usability... yes
    checking getopt.h presence... yes
    checking for getopt.h... yes
    checking regex.h usability... yes
    checking regex.h presence... yes
    checking for regex.h... yes
    checking curses.h usability... no
    checking curses.h presence... no
    checking for curses.h... no
    checking termcap.h usability... yes
    checking termcap.h presence... yes
    checking for termcap.h... yes
    checking for term.h... no
    checking for ncurses/term.h... no
    checking argument type of tputs putc function... int
    checking whether your getopt() correctly understands double colons in option string... yes
    checking for an ANSI C-conforming const... yes
    checking for pid_t... yes
    checking whether time.h and sys/time.h may both be included... yes
    checking whether gcc needs -traditional... no
    checking return type of signal handlers... void
    checking for getopt_long... yes
    checking for getopt_long... (cached) yes
    checking for isastream... yes
    checking for mkstemp... yes
    checking for pselect... yes
    checking for putenv... yes
    checking for readlink... yes
    checking for sched_yield... yes
    checking for setenv... yes
    checking for setitimer... yes
    checking for setsid... yes
    checking for setrlimit... yes
    checking for sigaction... yes
    checking for snprintf... yes
    checking for strlcpy... no
    checking for strlcat... no
    checking for strnlen... yes
    checking for system... yes
    checking for openpty in -lutil... yes
    checking for openpty... yes
    checking for getpty... no
    checking for grantpt... yes
    checking for unlockpt... yes
    checking for getpt... yes
    checking for pty/tty type... checking pty.h usability... yes
    checking pty.h presence... yes
    checking for pty.h... yes
    OPENPTY
    configure: checking for pty ranges...
    checking for tgetent... no
    checking for tgetent in -lcurses... no
    checking for tgetent in -lncurses... no
    checking for tgetent in -ltermcap... yes
    checking for readline in -lreadline... yes
    checking whether your readline headers know about rl_set_screen_size... yes
    checking whether your readline library knows about rl_set_screen_size... checking for rl_set_screen_size... yes
    checking whether your readline knows about rl_variable_value... yes
    checking whether your readline knows about rl_readline_version... yes
    Will rlwrap find command's working directory under /proc/<commands pid>/cwd? let's see...
    checking for /proc/8714/cwd/configure.ac... yes


    configure: creating ./config.status
    config.status: creating Makefile
    config.status: creating filters/Makefile
    config.status: creating doc/Makefile
    config.status: creating src/Makefile
    config.status: creating doc/rlwrap.man
    config.status: creating config.h
    config.status: executing depfiles commands

    Now do:
        make (or gmake)  to build rlwrap
        make check       for instructions how to test it
        make install     to install it

    [root@rtest rlwrap-0.37]# 


    [root@rtest rlwrap-0.37]# make
    make  all-recursive
    make[1]: Entering directory `/opt/rlwrap-0.37'
    Making all in doc
    make[2]: Entering directory `/opt/rlwrap-0.37/doc'
    sed -e 's#@DATADIR@#/usr/local/share#'  rlwrap.man > rlwrap.1
    make[2]: Leaving directory `/opt/rlwrap-0.37/doc'
    Making all in src
    make[2]: Entering directory `/opt/rlwrap-0.37/src'
    gcc -DHAVE_CONFIG_H -I. -I..    -DDATADIR="/usr/local/share"  -g -O2 -MT main.o -MD -MP -MF .deps/main.Tpo -c -o main.o main.c
    mv -f .deps/main.Tpo .deps/main.Po
    gcc -DHAVE_CONFIG_H -I. -I..    -DDATADIR="/usr/local/share"  -g -O2 -MT signals.o -MD -MP -MF .deps/signals.Tpo -c -o signals.o signals.c
    mv -f .deps/signals.Tpo .deps/signals.Po
    gcc -DHAVE_CONFIG_H -I. -I..    -DDATADIR="/usr/local/share"  -g -O2 -MT readline.o -MD -MP -MF .deps/readline.Tpo -c -o readline.o readline.c
    mv -f .deps/readline.Tpo .deps/readline.Po
    gcc -DHAVE_CONFIG_H -I. -I..    -DDATADIR="/usr/local/share"  -g -O2 -MT pty.o -MD -MP -MF .deps/pty.Tpo -c -o pty.o pty.c
    mv -f .deps/pty.Tpo .deps/pty.Po
    gcc -DHAVE_CONFIG_H -I. -I..    -DDATADIR="/usr/local/share"  -g -O2 -MT completion.o -MD -MP -MF .deps/completion.Tpo -c -o completion.o completion.c
    mv -f .deps/completion.Tpo .deps/completion.Po
    gcc -DHAVE_CONFIG_H -I. -I..    -DDATADIR="/usr/local/share"  -g -O2 -MT term.o -MD -MP -MF .deps/term.Tpo -c -o term.o term.c
    mv -f .deps/term.Tpo .deps/term.Po
    gcc -DHAVE_CONFIG_H -I. -I..    -DDATADIR="/usr/local/share"  -g -O2 -MT ptytty.o -MD -MP -MF .deps/ptytty.Tpo -c -o ptytty.o ptytty.c
    mv -f .deps/ptytty.Tpo .deps/ptytty.Po
    gcc -DHAVE_CONFIG_H -I. -I..    -DDATADIR="/usr/local/share"  -g -O2 -MT utils.o -MD -MP -MF .deps/utils.Tpo -c -o utils.o utils.c
    mv -f .deps/utils.Tpo .deps/utils.Po
    gcc -DHAVE_CONFIG_H -I. -I..    -DDATADIR="/usr/local/share"  -g -O2 -MT string_utils.o -MD -MP -MF .deps/string_utils.Tpo -c -o string_utils.o string_utils.c
    string_utils.c: In function 鈥榗olourless_strlen鈥

                                                       string_utils.c:626: warning: assignment discards qualifiers from pointer target type
    mv -f .deps/string_utils.Tpo .deps/string_utils.Po
    gcc -DHAVE_CONFIG_H -I. -I..    -DDATADIR="/usr/local/share"  -g -O2 -MT malloc_debug.o -MD -MP -MF .deps/malloc_debug.Tpo -c -o malloc_debug.o malloc_debug.c
    mv -f .deps/malloc_debug.Tpo .deps/malloc_debug.Po
    gcc -DHAVE_CONFIG_H -I. -I..    -DDATADIR="/usr/local/share"  -g -O2 -MT filter.o -MD -MP -MF .deps/filter.Tpo -c -o filter.o filter.c
    mv -f .deps/filter.Tpo .deps/filter.Po
    gcc -DDATADIR="/usr/local/share"  -g -O2   -o rlwrap main.o signals.o readline.o pty.o completion.o term.o ptytty.o utils.o string_utils.o malloc_debug.o filter.o  -lutil  -lreadline -ltermcap
    make[2]: Leaving directory `/opt/rlwrap-0.37/src'
    Making all in filters
    make[2]: Entering directory `/opt/rlwrap-0.37/filters'
    make[2]: Nothing to be done for `all'.
    make[2]: Leaving directory `/opt/rlwrap-0.37/filters'
    make[2]: Entering directory `/opt/rlwrap-0.37'
    make[2]: Nothing to be done for `all-am'.
    make[2]: Leaving directory `/opt/rlwrap-0.37'
    make[1]: Leaving directory `/opt/rlwrap-0.37'
    [root@rtest rlwrap-0.37]# 


    [root@rtest rlwrap-0.37]# make install
    Making install in doc
    make[1]: Entering directory `/opt/rlwrap-0.37/doc'
    make[2]: Entering directory `/opt/rlwrap-0.37/doc'
    make[2]: Nothing to be done for `install-exec-am'.
    test -z "/usr/local/share/man/man1" || /bin/mkdir -p "/usr/local/share/man/man1"
     /usr/bin/install -c -m 644 rlwrap.1 '/usr/local/share/man/man1'
    make[2]: Leaving directory `/opt/rlwrap-0.37/doc'
    make[1]: Leaving directory `/opt/rlwrap-0.37/doc'
    Making install in src
    make[1]: Entering directory `/opt/rlwrap-0.37/src'
    make[2]: Entering directory `/opt/rlwrap-0.37/src'
    test -z "/usr/local/bin" || /bin/mkdir -p "/usr/local/bin"
      /usr/bin/install -c rlwrap '/usr/local/bin'
    make[2]: Nothing to be done for `install-data-am'.
    make[2]: Leaving directory `/opt/rlwrap-0.37/src'
    make[1]: Leaving directory `/opt/rlwrap-0.37/src'
    Making install in filters
    make[1]: Entering directory `/opt/rlwrap-0.37/filters'
    make[2]: Entering directory `/opt/rlwrap-0.37/filters'
    make[2]: Nothing to be done for `install-exec-am'.
    test -z "/usr/local/share/man/man3" || /bin/mkdir -p "/usr/local/share/man/man3"
     /usr/bin/install -c -m 644 RlwrapFilter.3pm '/usr/local/share/man/man3'
    make[2]: Leaving directory `/opt/rlwrap-0.37/filters'
    make[1]: Leaving directory `/opt/rlwrap-0.37/filters'
    make[1]: Entering directory `/opt/rlwrap-0.37'
    make[2]: Entering directory `/opt/rlwrap-0.37'
    make[2]: Nothing to be done for `install-exec-am'.
    test -z "/usr/local/share/rlwrap" || /bin/mkdir -p "/usr/local/share/rlwrap"
    /bin/mkdir -p '/usr/local/share/rlwrap/filters'
     /usr/bin/install -c -m 644  filters/README filters/RlwrapFilter.pm filters/RlwrapFilter.3pm filters/count_in_prompt filters/pipeto filters/logger filters/null filters/unbackspace filters/pipeline filters/ftp_filter filters/history_format filters/simple_macro filters/template filters/scrub_prompt filters/paint_prompt filters/censor_passwords filters/listing '/usr/local/share/rlwrap/filters'
    /bin/mkdir -p '/usr/local/share/rlwrap/completions'
     /usr/bin/install -c -m 644  completions/testclient completions/coqtop '/usr/local/share/rlwrap/completions'
    make  install-data-hook
    make[3]: Entering directory `/opt/rlwrap-0.37'
    chmod a+x /usr/local/share/rlwrap/filters/* 
    make[3]: Leaving directory `/opt/rlwrap-0.37'
    make[2]: Leaving directory `/opt/rlwrap-0.37'
    make[1]: Leaving directory `/opt/rlwrap-0.37'
    [root@rtest rlwrap-0.37]# 


    [root@rtest rlwrap-0.37]# vi /home/oracle/.bash_profile
    # .bash_profile

    # Get the aliases and functions
    if [ -f ~/.bashrc ]; then
            . ~/.bashrc
    fi

    # User specific environment and startup programs

    export ORACLE_BASE=/u01/app/oracle
    export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
    export ORACLE_SID=TEST0422
    export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
    export PATH=$ORACLE_HOME/bin:$PATH

    PATH=$PATH:$HOME/bin

    export PATH

    stty erase ^H

    alias sqlplus='rlwrap sqlplus'
    alias rman='rlwrap rman'

    ~
    ~
    ~
    "/home/oracle/.bash_profile" 25L, 455C written

    保存退出,使文件立即生效。
    [root@rtest rlwrap-0.37]# su - oracle
    [oracle@rtest ~]$ . .bash_profile

    3.使用rlwrap
    [oracle@rtest ~]$ sqlplus "/as sysdba"

    SQL*Plus: Release 10.2.0.2.0 - Production on Tue May 6 10:31:02 2014

    Copyright (c) 1982, 2005, Oracle.  All Rights Reserved.


    Connected to:
    Oracle Database 10g Enterprise Edition Release 10.2.0.2.0 - Production
    With the Partitioning, OLAP and Data Mining options

    SYS@TEST0422>select * from scott.emp;

    即现在就可以使用上下键来调用命令了。
    #################################################################################################################

     
  • 相关阅读:
    模块化
    ES6中的let
    ES6中的块级作用域
    Mobile 移动端
    H5离线缓存
    nginx 配置步骤
    虚拟路径的配置
    Apache和php的相关配置
    TCP/IP协议
    PHP中的文件操作
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13315846.html
Copyright © 2020-2023  润新知