Linux中oracle 解决backspace和上下键使用出现乱码

简介:   I. yum方式安装CentOS系统默认的yum软件仓库中没有rlwrap这个包,需要通过第三方yum源安装。

  

I. yum方式安装

CentOS系统默认的yum软件仓库中没有rlwrap这个包,需要通过第三方yum源安装。

a. 安装第三方yum源

# rpm -ivh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6                          //导入key

默认会在/etc/yum.repos.d/下创建epel.repo和epel-testing.repo两个配置文件。

b. 安装rlwrap和readline

# yum install rlwrap readline readline-devel

II. 源码包安装

其他Linux发行版如果源里没有rlwrap和readline的(如SUSE企业版默认没有这两个包),要分别下载这两个源码包编译安装一下。

a. 安装readline

# wget ftp://ftp.gnu.org/gnu/readline/readline-6.2.tar.gz
# tar zxvf readline-6.2.tar.gz
# cd readline-6.2/
# ./configure
# make
# make install

b. 安装rlwrap

# wget http://utopia.knoware.nl/~hlub/rlwrap/rlwrap-0.37.tar.gz
# tar zxvf rlwrap-0.37.tar.gz
# cd rlwrap-0.37/
# ./configure
# make
# make install






在Windows操作系统上,当在DOS命令窗口中运行SQL*Plus的时候,可以使用向上,向下键来跳回之前已经执行过的SQL语句.你可以根据需要修改他们,然后按Enter键重新提交执行. 然而,当在Linux Shell中运行SQL*Plus的时候,并不提供浏览历史命令行的功能. 为了在Linux中达到同样的目的,你可以安装rlwrap,这个程式本身是个Shell,可以运行任何你提供给它的命令包括参数,并添加命令历史浏览功能.The rlwrap program is under the GPL license.


  一:安装readline 

  OS的安装光盘里提供了readline包(在安装包的centos/rpms目录下,有两个以readline开头的包). 

  [root@oracle11g ~]# rpm -Uvh readline* 

  error: Failed dependencies: libtermcap-devel is needed by readline-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 

         或者直接可以:yum install rlwrap readline readline-devel

  [root@oracle11g rlwrap-0.30]# vi /home/oracle/.bash_profile(该文件 在你所安装的oracle目录下可找到)

  alias sqlplus='rlwrap sqlplus' 

  alias rman='rlwrap rman' 

但用这样的注释,在每次logout 后,都要每次执行 source ./.bash_profile才会生效

最方便的是在.bashrc文件中添加

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

接着执行source ./bashrc这样即使注销也不会失效


  三:使用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> 

  Notes: 

  解决在sqlplus下输错命令后正常删除的方法 

  [oracle@oracle11g ~]$ vi /home/oracle/.bash_profile 

  添加stty erase ^h 
目录
相关文章
|
3月前
|
负载均衡 Oracle 关系型数据库
Linux启动多个Oracle实例
Linux启动多个Oracle实例
39 0
|
4月前
|
Oracle 关系型数据库 Linux
windows 11 hyper-v中oracle linux虚拟机中添加硬盘
在windows 11自带的hyper-v虚拟机中添加硬盘,并分区
65 6
|
3月前
|
SQL Oracle 关系型数据库
Linux环境下oracle切换用户并查询数据库命令
Linux环境下oracle切换用户并查询数据库命令
|
5月前
|
Linux
Linux中文显示乱码问题解决方法
Linux中文显示乱码问题解决方法
|
7月前
|
Linux
记录一个解决Arm Linux端U盘挂载时文件名显示乱码、Qt显示乱码的问题
记录一个解决Arm Linux端U盘挂载时文件名显示乱码、Qt显示乱码的问题
255 0
|
9月前
|
Linux
Linux 如何删除乱码的文件
你是否在终端 ls 过,发现很多乱码的文件?我搜索了挺多资料,没有一篇文章能真的解决问题(感觉都是抄来抄去的)。用 SFTP 工具、PHPStorm 全家桶,都删不了……你知道如何删除它们吗?
84 0
|
9月前
|
缓存 Linux 数据安全/隐私保护
aspose win/linux WORD转PDF(及其解决乱码方式)
aspose win/linux WORD转PDF(及其解决乱码方式)
694 0
|
10月前
|
Oracle 关系型数据库 MySQL
|
10月前
|
Oracle 关系型数据库 Linux
5分钟学会在Linux上安装Oracle和一条命令创建数据库
在Linux上安装Oracle软件的过程相当复杂,让很多初学者望而却步。但在Oracle 18c以后Oracle推出了使用rpm包安装Oracle数据库软件的安装方式
232 0
|
10月前
|
Oracle 关系型数据库 Linux
使用rpm包在Linux上安装Oracle软件和创建数据库
在Linux上安装Oracle软件的过程相当复杂,让很多初学者望而却步。但在Oracle 18c以后Oracle推出了使用rpm包安装Oracle数据库软件的安装方式,安装两个(预安装包和数据库安装包)rpm包即可完成整个Oracle数据库软件的安装。
263 0
使用rpm包在Linux上安装Oracle软件和创建数据库