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

来源:互联网 发布:手机接单软件 编辑:程序博客网 时间:2024/06/05 08:27

主要问题,没有安装rlwrap
下载:http://utopia.knoware.nl/~hlub/uck/rlwrap/
百度网盘:https://pan.baidu.com/s/1kVn1krX

安装rlwrap前要先安装readline,注意readline-devel也安装,不然会报错
我这边已经安装了,就不演示了

[root@linux6 rlwrap-0.37]# yum list | grep readlinereadline.x86_64                         6.0-3.el6                   @anaconda-RedHatEnterpriseLinux-201111171049.x86_64/6.2readline-devel.x86_64                   6.0-3.el6                   @rhel-sourcecompat-readline5.i686                   5.2-17.1.el6                rhel-source compat-readline5.x86_64                 5.2-17.1.el6                rhel-source readline.i686                           6.0-3.el6                   rhel-source readline-devel.i686                     6.0-3.el6                   rhel-source 

安装rlwrap

[root@linux6 ~]# tar -zxvf rlwrap-0.37.tar.gz[root@linux6 ~]# cd rlwrap-0.37Complete![root@linux6 rlwrap-0.37]# ./configure checking build system type... x86_64-unknown-linux-gnuchecking host system type... x86_64-unknown-linux-gnuchecking for a BSD-compatible install... /usr/bin/install -cchecking whether build environment is sane... yeschecking for a thread-safe mkdir -p... /bin/mkdir -pchecking for gawk... gawkchecking whether make sets $(MAKE)... yeschecking whether make sets $(MAKE)... (cached) yeschecking whether build environment is sane... yeschecking for style of include used by make... GNUchecking for gcc... gccchecking for C compiler default output file name... a.outchecking whether the C compiler works... yeschecking whether we are cross compiling... nochecking for suffix of executables... checking for suffix of object files... ochecking whether we are using the GNU C compiler... yeschecking whether gcc accepts -g... yeschecking for gcc option to accept ISO C89... none neededchecking dependency style of gcc... gcc3checking how to run the C preprocessor... gcc -Echecking for grep that handles long lines and -e... /bin/grepchecking for egrep... /bin/grep -Echecking for ANSI C header files... yeschecking for sys/types.h... yeschecking for sys/stat.h... yeschecking for stdlib.h... yeschecking for string.h... yeschecking for memory.h... yeschecking for strings.h... yeschecking for inttypes.h... yeschecking for stdint.h... yeschecking for unistd.h... yeschecking minix/config.h usability... nochecking minix/config.h presence... nochecking for minix/config.h... nochecking whether it is safe to define __EXTENSIONS__... yeschecking for gcc... (cached) gccchecking whether we are using the GNU C compiler... (cached) yeschecking whether gcc accepts -g... (cached) yeschecking for gcc option to accept ISO C89... (cached) none neededchecking dependency style of gcc... (cached) gcc3checking how to run the C preprocessor... gcc -Echecking for perl... /usr/bin/perlchecking for strip... stripchecking for ANSI C header files... (cached) yeschecking for sys/wait.h that is POSIX.1 compatible... yeschecking errno.h usability... yeschecking errno.h presence... yeschecking for errno.h... yeschecking fcntl.h usability... yeschecking fcntl.h presence... yeschecking for fcntl.h... yeschecking libutil.h usability... nochecking libutil.h presence... nochecking for libutil.h... nochecking for stdlib.h... (cached) yeschecking for string.h... (cached) yeschecking sched.h usability... yeschecking sched.h presence... yeschecking for sched.h... yeschecking sys/ioctl.h usability... yeschecking sys/ioctl.h presence... yeschecking for sys/ioctl.h... yeschecking for sys/wait.h... (cached) yeschecking sys/resource.h usability... yeschecking sys/resource.h presence... yeschecking for sys/resource.h... yeschecking stddef.h usability... yeschecking stddef.h presence... yeschecking for stddef.h... yeschecking termios.h usability... yeschecking termios.h presence... yeschecking for termios.h... yeschecking for unistd.h... (cached) yeschecking for stdint.h... (cached) yeschecking time.h usability... yeschecking time.h presence... yeschecking for time.h... yeschecking getopt.h usability... yeschecking getopt.h presence... yeschecking for getopt.h... yeschecking regex.h usability... yeschecking regex.h presence... yeschecking for regex.h... yeschecking curses.h usability... yeschecking curses.h presence... yeschecking for curses.h... yeschecking termcap.h usability... yeschecking termcap.h presence... yeschecking for termcap.h... yeschecking for term.h... yeschecking for ncurses/term.h... yeschecking argument type of tputs putc function... intchecking whether your getopt() correctly understands double colons in option string... yeschecking for an ANSI C-conforming const... yeschecking for pid_t... yeschecking whether time.h and sys/time.h may both be included... yeschecking whether gcc needs -traditional... nochecking return type of signal handlers... voidchecking for getopt_long... yeschecking for getopt_long... (cached) yeschecking for isastream... yeschecking for mkstemp... yeschecking for pselect... yeschecking for putenv... yeschecking for readlink... yeschecking for sched_yield... yeschecking for setenv... yeschecking for setitimer... yeschecking for setsid... yeschecking for setrlimit... yeschecking for sigaction... yeschecking for snprintf... yeschecking for strlcpy... nochecking for strlcat... nochecking for strnlen... yeschecking for system... yeschecking for openpty in -lutil... yeschecking for openpty... yeschecking for getpty... nochecking for grantpt... yeschecking for unlockpt... yeschecking for getpt... yeschecking for pty/tty type... checking pty.h usability... yeschecking pty.h presence... yeschecking for pty.h... yesOPENPTYconfigure: checking for pty ranges...checking for tgetent... nochecking for tgetent in -lcurses... yeschecking for readline in -lreadline... yeschecking whether your readline headers know about rl_set_screen_size... yeschecking whether your readline library knows about rl_set_screen_size... checking for rl_set_screen_size... yeschecking whether your readline knows about rl_variable_value... yeschecking whether your readline knows about rl_readline_version... yesWill rlwrap find command's working directory under /proc/<commands pid>/cwd? let's see...checking for /proc/5067/cwd/configure.ac... yesconfigure: creating ./config.statusconfig.status: creating Makefileconfig.status: creating filters/Makefileconfig.status: creating doc/Makefileconfig.status: creating src/Makefileconfig.status: creating doc/rlwrap.manconfig.status: creating config.hconfig.status: executing depfiles commandsNow do:    make (or gmake)  to build rlwrap    make check       for instructions how to test it    make install     to install it    Will rlwrap find command's working directory under /proc/<commands pid>/cwd? let's see...checking for /proc/5067/cwd/configure.ac... yesconfigure: creating ./config.statusconfig.status: creating Makefileconfig.status: creating filters/Makefileconfig.status: creating doc/Makefileconfig.status: creating src/Makefileconfig.status: creating doc/rlwrap.manconfig.status: creating config.hconfig.status: executing depfiles commandsNow do:    make (or gmake)  to build rlwrap    make check       for instructions how to test it    make install     to install it[root@linux6 rlwrap-0.37]# makemake  all-recursivemake[1]: Entering directory `/root/rlwrap-0.37'Making all in docmake[2]: Entering directory `/root/rlwrap-0.37/doc'sed -e 's#@DATADIR@#/usr/local/share#'  rlwrap.man > rlwrap.1make[2]: Leaving directory `/root/rlwrap-0.37/doc'Making all in srcmake[2]: Entering directory `/root/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.cmv -f .deps/main.Tpo .deps/main.Pogcc -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.cmv -f .deps/signals.Tpo .deps/signals.Pogcc -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.cmv -f .deps/readline.Tpo .deps/readline.Pogcc -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.cmv -f .deps/pty.Tpo .deps/pty.Pogcc -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.cmv -f .deps/completion.Tpo .deps/completion.Pogcc -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.cmv -f .deps/term.Tpo .deps/term.Pogcc -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.cmv -f .deps/ptytty.Tpo .deps/ptytty.Pogcc -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.cmv -f .deps/utils.Tpo .deps/utils.Pogcc -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.cstring_utils.c: In function ‘colourless_strlen’:string_utils.c:626: warning: assignment discards qualifiers from pointer target typemv -f .deps/string_utils.Tpo .deps/string_utils.Pogcc -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.cmv -f .deps/malloc_debug.Tpo .deps/malloc_debug.Pogcc -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.cmv -f .deps/filter.Tpo .deps/filter.Pogcc -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 -lcursesmake[2]: Leaving directory `/root/rlwrap-0.37/src'Making all in filtersmake[2]: Entering directory `/root/rlwrap-0.37/filters'make[2]: Nothing to be done for `all'.make[2]: Leaving directory `/root/rlwrap-0.37/filters'make[2]: Entering directory `/root/rlwrap-0.37'make[2]: Leaving directory `/root/rlwrap-0.37'make[1]: Leaving directory `/root/rlwrap-0.37'[root@linux6 rlwrap-0.37]# make installMaking install in docmake[1]: Entering directory `/root/rlwrap-0.37/doc'make[2]: Entering directory `/root/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 `/root/rlwrap-0.37/doc'make[1]: Leaving directory `/root/rlwrap-0.37/doc'Making install in srcmake[1]: Entering directory `/root/rlwrap-0.37/src'make[2]: Entering directory `/root/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 `/root/rlwrap-0.37/src'make[1]: Leaving directory `/root/rlwrap-0.37/src'Making install in filtersmake[1]: Entering directory `/root/rlwrap-0.37/filters'make[2]: Entering directory `/root/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 `/root/rlwrap-0.37/filters'make[1]: Leaving directory `/root/rlwrap-0.37/filters'make[1]: Entering directory `/root/rlwrap-0.37'make[2]: Entering directory `/root/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-hookmake[3]: Entering directory `/root/rlwrap-0.37'chmod a+x /usr/local/share/rlwrap/filters/* make[3]: Leaving directory `/root/rlwrap-0.37'make[2]: Leaving directory `/root/rlwrap-0.37'make[1]: Leaving directory `/root/rlwrap-0.37'

编辑oracle用户的参数文件
添加如下两列,使每次使用sqlplus与rman命令时,都通过rlwrap打开
alias sqlplus=’rlwrap sqlplus’
alias rman=’rlwrap rman’

[root@linux6 rlwrap-0.37]# vi /home/oracle/.bash_profile# .bash_profile# Get the aliases and functionsif [ -f ~/.bashrc ]; then        . ~/.bashrcfi# User specific environment and startup programsPATH=$PATH:$HOME/binexport ORACLE_BASE=/u01/app/oracleexport ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1export ORACLE_SID=orclexport PATH=$ORACLE_HOME/bin:$PATHexport PATHalias sqlplus='rlwrap sqlplus'alias rman='rlwrap rman'~                                                                                                                            ~                              

保存退出,重新登录sqlplus,上下键已可以使用!

0 0
原创粉丝点击