Linux中Oracle的sqlplus下退格和Del键无效的问题解决_oracle

PS:近来因工作需要业余在学习oracle,发现通过SecureCRT或putty等SSH客户端远程登录Linux下oracle的sqplus时,输错字符后按Backspace键或Del键删除时,会出现^H或其他乱七八糟的的字符,感觉非常别扭不习惯,虽然可以通过Ctrl+Backspace组合键实现删除功能,但是严重影响使用效率。google了一番,终于完美解决此问题。总结记录如下,本文是此问题最完整的总结:

乱七八糟的字符如图:

一、SecureCRT终端里的解决方法:(不完美)

在SecureCRT终端里,如果要在sqlplus下使用Backspace来删除字符,有两种临时方法。

第一种是使用stty命令重新定义^H,可以在使用sqlplus之前执行stty erase ^H,也可以把这一句放到oracle用户的.bash_profile文件里。

stty命令简介:
Unix或者Linux中有个stty命令,它的作用是打印或更改terminal(终端)的设置。
常用参数:
-a --all 用人类可读表格,打印出所有现有设置
-g --save 用stty可读表格,打印出所有现有设置
--help 帮助
--version 版本

查看当前stty现有设置,如图:

第二种是使用SecureCRT的设置,在会话属性的Terminal->Emulation->Mapped Keys中,选中Backspace sends delete或Delete sends backspace中的其中一个,并确保另一个不被选中。

另一个问题是bash shell下的sqlplus中使用上下箭头无法显示上下命令,而只是显示^[[A,这个问题可以安装rlwrap这个工具解决!

二、利用rlwrap工具解决方法:(完美)

1、安装rlwrap和readline库

CentOS下可以用EPEL的yum源直接安装,步骤如下:

(1)RHEL/CentOS/SL Linux 6.x 下安装 EPEL6 yum源:

32位系统选择:

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

64位系统选择:

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

导入key:

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

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

(2)安装rlwrap和readline:

# yum install rlwrap readline readline-devel

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

# 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

# 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

(3)设置sqlplus的系统别名:

# vim /home/oracle/.bash_profile

在头部或尾部添加:

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

退出oracle用户再重新登录就ok。现在sqlplus用起来就很爽很习惯了!

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索oracle
, sqlplus
删除
谷歌浏览器退格键无效、qt 退格键无效、oracle 退格、sqlplus 退格、sqlplus 退格键,以便于您获取更多的相关知识。

时间: 2025-01-31 01:46:55

Linux中Oracle的sqlplus下退格和Del键无效的问题解决_oracle的相关文章

如何解决Linux中sqlplus退格和上翻键乱码问题

在Linux下使用sqlplus你会发现:退格键无法正常使用(乱码),上翻键也无法正常显示历史功能, 非常讨厌! 为了让退格键和上翻键在sqlplus里正常发挥它的作用,我们必须安装一个软件 - rlwrap 1. 首先,从http://utopia.knoware.nl/~hlub/uck/rlwrap/下载安装包,上传到linux服务器上 2. 以root用户解压缩安装 tar -zxvf rlwrap-0.37.tar.gz cd rlwrap-0.37 ./configure make

解决Linux下sqlplus退格、上翻键乱码问题

  在Linux下使用sqlplus你会发现:退格键无法正常使用(乱码),上翻键也无法正常显示历史功能,非常讨厌! 为了让退格键和上翻键在sqlplus里正常发挥它的作用,我们必须安装一个软件 - rlwrap 1. 首先,从http://utopia.knoware.nl/~hlub/uck/rlwrap/下载安装包,上传到linux服务器上 2. 以root用户解压缩安装 1 2 3 4 5 tar -zxvf rlwrap-0.37.tar.gz   cd rlwrap-0.37  ./c

Linux中如何在终端下抓屏?

Linux中如何在终端下抓屏? 我们可以通过cat命令来实现, 用法:cat [选项]... [文件]...将[文件]或标准输入组合输出到标准输出. &http://www.aliyun.com/zixun/aggregation/37954.html">nbsp; -A, --show-all           等于-vET  -b, --number-nonblank    对非空输出行编号  -e                       等于-vE  -E, --sho

linux中在文件夹下新建文档属于写操作(w)还是执行(x)操作

问题描述 linux中在文件夹下新建文档属于写操作(w)还是执行(x)操作 众所周知,linux下文档和文件夹都有rwx操作,读鸟哥的私房菜中说不能在没有x权限的文件夹下执行一些命令,比如man,ll等,那在文件夹中新建文档是属于写操作还是执行操作? 解决方案 这要看你是怎样新建的这个文件,比如用 touch 来创建的文件,正常情况下就不会有x权限. 但如果你有执行gcc的权限,那么你用gcc编译一个自己写的c文件得到一个可执行执行程序时通常就有x权限了. 还有一些脚本文件,一般新建时用vi或e

Linux中如何在字符下控制音量?

今天我们要实现Linux中如何在字符下进行音量的控制?我们可以借助aumix,来设置各项音效装置的信号强度以及指定播放与录音的装置. aumix 2.9在GTK++的界面 简体中文的截图 简体中文的截图 简体中文的帮助信息 aumixhttp://www.aliyun.com/zixun/aggregation/11307.html">官方网站:http://jpj.net/~trevor/aumix.html 目前最新的版本为aumix 2.9.1,下载地址如下: http://jpj.

Linux中Oracle服务启动和停止脚本与开机自启动_Linux

在CentOS 6.3下安装完Oracle 10g R2,重开机之后,你会发现Oracle没有自行启动,这是正常的,因为在Linux下安装Oracle的确不会自行启动,必须要自行设定相关参数,首先先介绍一般而言如何启动oracle. 一.在Linux下启动Oracle 登录到CentOS,切换到oracle用户权限 # su – oracle 接着输入: $ sqlplus "/as sysdba" 原本的画面会变为 SQL> 接着请输入 SQL> startup 就可以正

在Windows XP下使用Ctrl+Alt+Del键锁定计算机

  在Windows XP下,同样可以像Win2000下一样使用Ctrl+Alt+Del键锁定计算机,但必须先进行以下设置:打开控制面板→用户账户→更改用户登陆或注销的方式→不选择"使用欢迎屏幕"项(该项默认的是选择的).确定后使用Ctrl+Alt+Del 键,选择锁定计算机,就可以将计算机锁定了(或者使用WINKEY+L快捷键直接锁定计算机). 另外如果不更改该项设置,直接使用WINKEY+L会进入Windows欢迎屏幕,此时计算机也处于锁定状态,只有用户输入密码才能进入系统界面.

Linux中Oracle数据库备份_oracle

先来介绍一些不使用脚本我们直接使用命令备份与还原oracle数据库Oracle数据备份:步骤 1 备份用户数据.1.使用linux系统下的数据库管理员账号连接linux终端.2. 执行以下语句,创建"bak_dir"文件夹. 复制代码 代码如下:  mkdir bak_dir  3. 执行以下语句,为"bak_dir"文件夹赋予读.写和执行权限. 复制代码 代码如下:  chmod 777 bak_dir  4. 执行以下语句,以sysdba用户登录oracle数据

Linux中Oracle数据库备份方法

先来介绍一些不使用脚本我们直接使用命令备份与还原oracle数据库 Oracle数据备份: 步骤 1 备份用户数据. 1.使用linux系统下的数据库管理员账号连接linux终端. 2. 执行以下语句,创建"bak_dir"文件夹.  代码如下 复制代码  mkdir bak_dir 3. 执行以下语句,为"bak_dir"文件夹赋予读.写和执行权限.  代码如下 复制代码  chmod 777 bak_dir 4. 执行以下语句,以sysdba用户登录oracle