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 
目录
相关文章
|
2月前
|
Ubuntu Linux Python
Tkinter错误笔记(一):tkinter.Button在linux下出现乱码
在Linux系统中,使用Tkinter库时可能会遇到中文显示乱码的问题,这通常是由于字体支持问题导致的,可以通过更换支持中文的字体来解决。
176 0
Tkinter错误笔记(一):tkinter.Button在linux下出现乱码
|
1月前
|
Oracle Cloud Native 关系型数据库
Oracle Linux 9.5 正式版发布 - Oracle 提供支持 RHEL 兼容发行版
Oracle Linux 9.5 正式版发布 - Oracle 提供支持 RHEL 兼容发行版
68 10
Oracle Linux 9.5 正式版发布 - Oracle 提供支持 RHEL 兼容发行版
|
1月前
|
监控 Oracle 关系型数据库
Linux平台Oracle开机自启动设置
【11月更文挑战第8天】在 Linux 平台设置 Oracle 开机自启动有多种方法,本文以 CentOS 为例,介绍了两种常见方法:使用 `rc.local` 文件(较简单但不推荐用于生产环境)和使用 `systemd` 服务(推荐)。具体步骤包括编写启动脚本、赋予执行权限、配置 `rc.local` 或创建 `systemd` 服务单元文件,并设置开机自启动。通过 `systemd` 方式可以更好地与系统启动过程集成,更规范和可靠。
120 2
|
1月前
|
Oracle Ubuntu 关系型数据库
Linux平台Oracle开机自启动设置
【11月更文挑战第7天】本文介绍了 Linux 系统中服务管理机制,并详细说明了如何在使用 systemd 和 System V 的系统上设置 Oracle 数据库的开机自启动。包括创建服务单元文件、编辑启动脚本、设置开机自启动和启动服务的具体步骤。最后建议重启系统验证设置是否成功。
|
2月前
|
存储 Oracle 关系型数据库
|
4月前
|
Linux
linux 删除乱码文件名的文件
【8月更文挑战第26天】当遇到文件名显示为乱码,导致无法正常通过键盘输入文件名进行删除操作时,可以利用鼠标的复制功能配合`rm`命令实现删除。对于文件夹的删除,可使用`rm -rf 目录名`。然而,有时这种方式仍无法删除某些特殊乱码文件,这时可以通过获取文件的i节点号(使用`ls -i`或`ll -i`命令查看)并执行`find -inum [节点号] -delete`来进行删除。这种方法特别适用于处理那些因文件名问题而难以删除的情况。
185 2
|
5月前
|
Oracle 关系型数据库 Linux
讲解linux下的Qt如何编译oracle的驱动库libqsqloci.so
通过这一连串的步骤,可以专业且有效地在Linux下为Qt编译Oracle驱动库 `libqsqloci.so`,使得Qt应用能够通过OCI与Oracle数据库进行交互。这些步骤适用于具备一定Linux和Qt经验的开发者,并且能够为需要使用Qt开发数据库应用的专业人士提供指导。
184 1
讲解linux下的Qt如何编译oracle的驱动库libqsqloci.so
|
6月前
|
SQL Oracle 关系型数据库
探索 Linux 命令 `db_archive`:Oracle 数据库归档日志的工具
探索 Linux 中的 `db_archive`,实际与 Oracle 数据库归档日志管理相关。在 Oracle 中,归档日志用于恢复,当在线重做日志满时自动归档。管理员可使用 SQL*Plus 查看归档模式,通过 `RMAN` 进行备份和恢复操作。管理归档日志需谨慎,避免数据丢失。了解归档管理对 Oracle 管理员至关重要,确保故障时能快速恢复数据库。
|
5月前
|
Linux Windows
Linux文件名称乱码,无法删除
解决文件名称乱码无法选中,删除、复制等问题。
155 0
|
6月前
|
Oracle 关系型数据库 Linux
解决oracle数据库乱码
解决oracle数据库乱码