`
gaojingsong
  • 浏览: 1202946 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

【Linux控制台中Oracle的SQL语句不能退格删除】

阅读更多

一、现象描述:
当SQL语句输入错误,想按BackSpace删除键,退格删除,可是偏偏出现令人讨厌的^H符号,
怎么删除也搞不掉,即【SQL> selectt^H^H^H^H^H^H^H】
[root@node1 ~]# su - oracle
[oracle@node1 ~]$ sqlplus / as sysdba

SQL*Plus: Release 10.2.0.1.0 - Production on Wed Jan 27 13:29:52 2016
Copyright (c) 1982, 2005, Oracle.  All rights reserved.
Connected to an idle instance.
SQL> desc v$database;
ERROR:
ORA-01034: ORACLE not available

SQL> conn sys/oracle
ERROR:
ORA-01034: ORACLE not available
ORA-27101: shared memory realm does not exist
Linux-x86_64 Error: 2: No such file or directory

Warning: You are no longer connected to ORACLE.
SQL> conn sys/oracle as sysdba
Connected to an idle instance.
SQL> startup
ORACLE instance started.

Total System Global Area  167772160 bytes
Fixed Size                  2019320 bytes
Variable Size              75497480 bytes
Database Buffers           88080384 bytes
Redo Buffers                2174976 bytes
Database mounted.
Database opened.
SQL> desc v$database
 Name                                      Null?    Type
 ----------------------------------------- -------- ----------------------------
 DBID                                               NUMBER
 NAME                                               VARCHAR2(9)
 CREATED                                            DATE

SQL> ^[[A                  " - rest of line ignored.
SQL> 042: unknown command "

SQL> select * from v$databases;
select * from v$databases
              *
ERROR at line 1:
ORA-00942: table or view does not exist

SQL> selectt^H^H^H^H^H^H^H

 

二、解决方案

安装配置readline 和rlwrap包
[root@node1 ~]# cd /home/oracle/
[root@node1 oracle]# ls
database  oraInventory  readline-6.2.tar.gz  rlwrap-0.37.tar.gz

1、安装readline依赖包
[root@node1 oracle]# tar -zxvf readline-6.2.tar.gz
[root@node1 oracle]# cd readline-6.2
[root@node1 readline-6.2]# ./configure
configure: creating ./config.status
config.status: creating Makefile
config.status: creating doc/Makefile
config.status: creating examples/Makefile
config.status: creating shlib/Makefile
config.status: creating config.h
config.status: executing default commands
[root@node1 readline-6.2]# make
[root@node1 readline-6.2]# make install
install: you may need to run ldconfig
make[1]: Leaving directory `/home/oracle/readline-6.2/shlib'
[root@node1 readline-6.2]# ldconfig

 

2、安装rlwrap依赖包
[root@node1 oracle]# tar -zxvf rlwrap-0.37.tar.gz
[root@node1 rlwrap-0.37]# ls
aclocal.m4  ChangeLog    configure     doc      Makefile.am  PLEA    test
AUTHORS     completions  configure.ac  filters  Makefile.in  README  TODO
BUGS        config.h.in  COPYING       INSTALL  NEWS         src     tools
[root@node1 rlwrap-0.37]# ./configure
checking for readline in -lreadline... no
configure: error:
You need the GNU readline library(ftp://ftp.gnu.org/gnu/readline/ ) to build
this program!
解决方案:
[root@node1 rlwrap-0.37]# yum install readline*
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.cqu.edu.cn
 * updates: mirror.bit.edu.cn
 * addons: mirror.bit.edu.cn
 * extras: mirror.bit.edu.cn
Setting up Install Process
Parsing package install arguments
Package readline-5.1-3.el5.x86_64 already installed and latest version
Package readline-5.1-3.el5.i386 already installed and latest version
Package readline-devel-5.1-3.el5.x86_64 already installed and latest version
Package readline-devel-5.1-3.el5.i386 already installed and latest version
Nothing to do
[root@node1 rlwrap-0.37]# yum install readline-devel
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.cqu.edu.cn
 * updates: mirror.bit.edu.cn
 * addons: mirror.bit.edu.cn
 * extras: mirror.bit.edu.cn
Setting up Install Process
Parsing package install arguments
Package readline-devel-5.1-3.el5.x86_64 already installed and latest version
Package readline-devel-5.1-3.el5.i386 already installed and latest version
Nothing to do
[root@node1 rlwrap-0.37]# yum install libtermcap-devel
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.cqu.edu.cn
 * updates: mirror.bit.edu.cn
 * addons: mirror.bit.edu.cn
 * extras: mirror.bit.edu.cn
Setting up Install Process
Parsing package install arguments
Package libtermcap-devel-2.0.8-46.1.i386 already installed and latest version
Resolving Dependencies
--> Running transaction check
---> Package libtermcap-devel.x86_64 0:2.0.8-46.1 set to be updated
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
 Package                  Arch           Version             Repository    Size
================================================================================
Installing:
 libtermcap-devel         x86_64         2.0.8-46.1          base          56 k

Transaction Summary
================================================================================
Install      1 Package(s)        
Update       0 Package(s)        
Remove       0 Package(s)        

Total download size: 56 k
Is this ok [y/N]: y
Downloading Packages:
libtermcap-devel-2.0.8-46.1.x86_64.rpm                   |  56 kB     00:00    
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing     : libtermcap-devel                                  [1/1]

Installed: libtermcap-devel.x86_64 0:2.0.8-46.1
Complete!


再次执行,问题解决
[root@node1 rlwrap-0.37]# ./configure
configure: creating ./config.status
config.status: creating Makefile
config.status: creating filters/Makefile
config.status: creating doc/Makefile
config.status: creating src/Makefile
config.status: creating doc/rlwrap.man
config.status: creating config.h
config.status: executing depfiles commands

Now do:
    make (or gmake)  to build rlwrap
    make check       for instructions how to test it
    make install     to install it

[root@node1 rlwrap-0.37]# make && make install
make  install-data-hook
make[3]: Entering directory `/home/oracle/rlwrap-0.37'
chmod a+x /usr/local/share/rlwrap/filters/*
make[3]: Leaving directory `/home/oracle/rlwrap-0.37'
make[2]: Leaving directory `/home/oracle/rlwrap-0.37'
make[1]: Leaving directory `/home/oracle/rlwrap-0.37'

 3、配置环境变量,增加如下内容
[root@node1 rlwrap-0.37]# vi /home/oracle/.bash_profile

# .bash_profile

#add by gaojingsong 20160127
alias sqlplus='rlwrap sqlplus'
alias rman='rlwrap rman'

 

三、验证
退出sqlplus控制台,然后重新进入,发现可以退格删除了,还可以上下键翻找以前的命令,至此问题得到圆满解决。
SQL> selectt^H^H^H^H^H^H^H
SQL>
SQL>
SQL> exit
Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit Production
With the Partitioning, OLAP and Data Mining options
[oracle@node1 ~]$ su - oracle
Password:
[oracle@node1 ~]$ sqlplus / as sysdba

SQL*Plus: Release 10.2.0.1.0 - Production on Wed Jan 27 13:48:55 2016

Copyright (c) 1982, 2005, Oracle.  All rights reserved.


Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit Production
With the Partitioning, OLAP and Data Mining options

SQL> select * from dual;

D
-
X

SQL> select * from duaaassss

 

 

  • 大小: 66.9 KB
0
1
分享到:
评论

相关推荐

    Linux Oracle下sqlplus无法使用命令退格删除和历史记录的解决方法(使用rlwrap)

    在Linux环境下,Oracle数据库的管理工具sqlplus在交互式模式下使用时,可能存在无法使用键盘的退格键进行字符删除,以及无法查看和利用历史查询命令的问题。这给数据库管理员在执行SQL语句时带来了不便。然而,通过...

    SQL Server 2005 格式化sql语句

    在SQL Server 2005中,格式化SQL语句是一项重要的任务,它能帮助数据库管理员和开发人员更好地理解和维护复杂的查询。一个清晰、整洁的SQL语句不仅可以提高代码的可读性,也有助于减少错误和提高工作效率。本文将...

    解决linux下sqlplus 退格,回车乱码

    在Linux环境中,SQL*Plus是Oracle数据库系统的命令行接口,用于执行SQL语句和PL/SQL块。然而,用户在使用SQL*Plus时可能会遇到一些输入问题,比如退格键和回车键导致的乱码现象。这通常是因为终端不支持某些高级的...

    oracle11g sqlplus解决退格方向键输入乱码问题

    包含termcap-1.3.1.tar.gz,readline-6.2.tar.gz,rlwrap-0.37.tar.gz包 libtermcap-2.0.8-47.i386.rpm readline-devel-5.2-13.fc9.i386.rpm...按照里面说明文档操作即可,可以解决sqlplus下面退格,方向键输入乱码问题

    解决Linux内核移植后退格键失效的问题

    在 Linux 移植过程中,经常会遇到退格键失效的问题,这使得用户在输入命令时无法使用退格键删除错误的输入字符。本文将详细阐述如何解决这个问题。 问题现象:在 minicom 终端下,用户可以输入许多命令,查看各个...

    sql语句符号问题总结

    SQL 语句符号问题是数据库管理系统中一个非常重要的方面。了解 SQL 语句符号的使用规则和限制非常重要,以避免语句错误和混淆。 标识符和关键字是 SQL 语句中两个非常重要的概念。标识符是指表、字段、或者其他...

    Linux下sqlplus退格、上翻键乱码工具

    在Linux环境中,SQL*Plus是Oracle数据库管理系统提供的一个命令行工具,用于交互式地执行SQL语句和PL/SQL块。然而,在某些情况下,用户可能会遇到一些输入问题,比如退格键不起作用或者上翻历史记录时显示乱码。这个...

    Linux中使用Oracle的rlwrap工具

    在Linux环境中,数据库管理员经常需要使用SQL*Plus与Oracle数据库进行交互。然而,SQL*Plus的命令行体验并不理想,因为它缺乏某些现代终端用户期待的功能,如自动补全、历史记录和多行编辑。这就是rlwrap工具发挥...

    在Linux下安装完Oracle后,上方向键和退格键修改

    在Linux环境下,Oracle数据库的管理工具SQL*Plus在默认配置下可能会出现一些用户交互体验上的不便,例如上方向键和退格键无法正常工作。这会导致用户无法方便地调用历史命令或者修正输入错误,降低了操作效率。为了...

    liunx+oracle下解决不能用backspace删除只能用del删除和上下键使用出现乱码

    在Linux系统中,当使用Oracle数据库工具如`sqlplus`等时,有时会遇到Backspace键不起作用的问题,即无法像在其他应用中那样用于删除字符。此外,在使用方向键时也可能会出现乱码情况,这主要是由于系统的默认设置与...

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

    在Linux环境中,Oracle数据库的管理工具sqlplus可能会遇到一些操作上的困扰,比如退格键(Backspace)和删除键(Del)在输入SQL语句时失效,反而显示出类似`^H`的乱码字符,这极大地降低了工作效率。此外,有时在...

    完美解决linux下sqlplus无法使用退格及方向键

    在Linux环境下,SQL*Plus是Oracle数据库管理员和开发人员常用的一款命令行工具,用于执行SQL语句和PL/SQL块。然而,在某些情况下,用户可能会遇到一个常见的问题:在SQL*Plus中使用退格键(Backspace)或方向键时,...

    解决Python命令行下退格,删除,方向键乱码(亲测有效)

    以上这篇解决Python命令行下退格、删除、方向键乱码(亲测有效)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持软件开发网。 您可能感兴趣的文章:解决PyCharm控制台输出乱码的问题详解...

    阿里云轻量应用服务器Linux-Centos7下Oracle19c的安装

    下载Oracle19c的安装包第三步:下载Oracle19c的预安装包第四步:上传到Linux第五步:开始安装第六步:配置环境第七步:使用数据库第八步:一些小问题的解决1.Oracle退格键失效,无法正常删除2.Oracle上下键不能调出...

    SQL tool 3.0

    能自动提供单表的创建,查询,更新,删除,建表语句,整表全部数据插入语句,单表对应Pojo类和单表的Hibernate映射文件等常用文字的生成。 4. 能执行Sql语句并显示执行结果。 5. 提供语法高亮功能以助于Sql语句的...

    解决oracle退格键乱码问题

    解决oracle退格键乱码问题

    word解决退格键不能删除问题.txt

    ### Word解决退格键不能删除问题 在使用Word进行文档编辑的过程中,可能会遇到退格键(Backspace)无法正常工作的问题。这种情况不仅会影响工作效率,还会让人感到非常困扰。本文将详细探讨这一问题的原因以及如何...

    rlwrap工具支持Oracle sqlplus支持退格键方向键等编辑功能

    rlwrap工具支持Oracle sqlplus支持退格键方向键等编辑功能

    SqlToolBox 1.8.2

    提供Redo/Undo,Shift整体退格进格,大小写转化,将Sql语句用StringBuilder包容以及将Sql语句中关键字大写表示等常用文字编辑功能。这些都能帮助程序员在程序中书写Sql语句。 8. 能保存和记忆数据库信息,以便下次...

Global site tag (gtag.js) - Google Analytics