• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    Linux中Oracle的sqlplus下退格和Del键无效的问题解决

    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的方式
    • Oracle基础:通过sqlplus执行sql语句后的结果进行判断
    • 使用sqlplus命令行工具为oracle创建用户和表空间
    • oracle11g管理员密码忘记怎么办 sqlplus解决忘记密码问题
    • Linux下Oracle中SqlPlus时上下左右键乱码问题的解决办法
    • oracle 中 sqlplus命令大全
    • Python调用SQLPlus来操作和解析Oracle数据库的方法
    • oracle 安装与SQLPLUS简单用法
    • oracle sqlplus 常用命令大全
    • Oracle通过sqlplus连接数据库的方式
    上一篇:详解Oracle dg 三种模式切换
    下一篇:Oracle表空间数据文件移动的方法
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

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