首页 | 资讯动态 | linux基础 | 系统管理 | 网络管理 | 编程开发 | linux数据库 | 服务器技术 | linux相关 | linux认证 | 嵌入式 | 下载中心 | 专题 | linux招聘 | 镜像站
OKLinux中文技术站
·设为首页
·加入收藏
·联系我们
系统管理: 中文环境 系统管理 桌面应用 内核技术 | Linux基础: 基础入门 安装配置 常用命令 经验技巧 软件应用 | Linux数据库: Mysql Postgre Oracle DB2 Sybase other
网络管理: 网络安全 网络应用 Linux服务器 环境配置 黑客安全 | 编程开发: PHP CC++ Python Perl Shell 嵌入式开发 java jsp | PHP技术: PHP基础 PHP技巧 PHP应用 PHP文摘
搜索中心 Linux招聘 Linux专题 Apache | Linux相关: 硬件相关 Linux解决方案 Linux认证 企业应用 其它Unix | 相关下载: 资料下载 参考手册 开发工具 服务器类 软路由 其它
 技术搜索:
会员中心 注册会员 高级搜索  
  → 当前位置:首页>linux数据库>oracle>正文

解决Linux下SQL*Plus命令行历史回调功能

http://www.oklinux.cn  2008-07-29  赛迪网 茶晶  会员收藏  游客收藏  【 】 
您查看的文章来源于http://www.oklinux.cn

利用Uniread解决Linux下SQL*Plus命令行历史回调功能:

该工具叫做 uniread - http://sourceforge.net/projects/uniread/ ) ,熟悉Linux下变成的朋友可能看到这个名字已经想起了一些东西:readline . 不错,该工具就是利用GNU的readline库来完成我们的需求的.

我们先看一下对该工具的介绍:

uniread - universal readline

- adds full readline support (command editing, history, etc.) to any existing interactive command-line program. Common examples are Oracle's sqlplus or jython. uniread will work on any POSIX platform with Perl.

可以看出,该工具可以对任何既有的交互命令行程序都可提供完备的readline支持.

从该站点下载源程序.目前的稳定版本是1.01.

在安装该工具之前系统必须安装好Perl, 此外还必须要三个工具包:

GNU readline

http://cnswww.cns.cwru.edu/php/chet/readline/rltop.html

Term::ReadLine::Gnu

http://search.cpan.org/dist/Term-ReadLine-Gnu/

IO::Tty

http://search.cpan.org/dist/IO-Tty/

其中GNU readline 上面的网页在我的机器上打不开(不可访问?),如果你也是同样情况,可以到 http://www.gnu.org/directory/readline.html 这个页面下载.

下载后,首先解压缩:

# tar -xzvf readline-4.3.tar.gz

进入进入到该目录中编译并安装:

# ./configure

# make

# make install

后面两个的安装: tar -zxvf ...... 进入到该目录中: (最好先装IO-Tty-1.07.tar.gz,我是这样装的)

# perl Makefile.pl

# make

# make install

都安装完了之后,进行 uniread 的安装:

#tar -xzvf uniread-1.01.tar.gz

#cd uniread-1.01

#./configure

#make

#make install

注: 以上的命令行操作所在绝对路径为了方便而省略,你的环境肯定会和我的不同,此外,建议使用普通用户编译,然后用 root 进行 make install .

都安装完了之后切换到Oracle用户下:

$ uniread sqlplus /nolog

输出类似如下:

[uniread] Loaded history (12 lines) //我的已经运行一次了,uniread 缓冲了12行history

SQL*Plus: Release 10.1.0.2.0 - Production on Sat Mar 6 00:23:05 2004

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

SQL>

查看uniread的Manual:

$man uniread

你可以做个sqlplus 的别名 ,uniread的使用是透明的,是不是很方便了? 不要忘了:这个工具是有通用性的,不止是 SQL*Plus 可以这样用,其他类似的命令行程序也能如此的.

FAQ

如果要删除命令行历史,可以简单的用如下操作即可:

[oracle@FOO oracle]$ echo ''>.uniread/sqlplus

[oracle@FOO oracle]$

[oracle@FOO oracle]$ ls -ltr .uniread/

total 4

-rw------- 1 oracle oracle 1 Oct 31 15:57 sqlplus

[oracle@FOO oracle]$

[oracle@FOO oracle]$ uniread sqlplus

[uniread] Loaded history (1 lines)

SQL*Plus: Release 9.2.0.4.0 - Production on Sun Oct 31 15:58:29 2004

......


上一篇:教你通过sql语句获取数据库的基本信息   下一篇:Launchy 推出 Linux 版

收藏于收藏夹】 【评论】 【推荐】 【打印】 【关闭
相关文档
·教你通过sql语句获取数据库的基本信息
·Oracle数据库SQLPLUS中几个常用set语句
·讲解SQL Server定时作业job的设置方法
·在Oracle中选取有父子或树状关系的数据记录
·用一个示例讲解自治事务和非自治事务的区别
·Oracle数据库10g环境下修改VIP地址的方法
·Oracle10g R2 EMCA常用命令及实例步骤
·当数据积累到一定时间后执行会越来越慢
·在RedHat AS3上快速安装Oracle数据库10g
·Oracle数据库环境下数据文件丢失的恢复
·在Oracle 11g数据库中实现自我调整功能
·初学者必读:sqlplus的autotrace的设置
·让Oracle数据表不显示中文而变成问号的方法
·带你深入了解Oracle跟踪事件:set events
·Oracle TNSListener服务启动后自动停止问题
·讲解Oracle数据库冷备份恢复的具体步骤
发表评论
密码: 匿名评论
评论内容:

(不超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规)
 
  最新文档
·教你通过sql语句获取数据库的基本信息
·Oracle数据库SQLPLUS中几个常用set语句
·讲解SQL Server定时作业job的设置方法
·在Oracle中选取有父子或树状关系的数据
·用一个示例讲解自治事务和非自治事务的
·Oracle数据库10g环境下修改VIP地址的方
·Oracle10g R2 EMCA常用命令及实例步骤
·当数据积累到一定时间后执行会越来越慢
·在RedHat AS3上快速安装Oracle数据库10
·Oracle数据库环境下数据文件丢失的恢复
·在Oracle 11g数据库中实现自我调整功能
·初学者必读:sqlplus的autotrace的设置
  阅读排行
·详解远程SHELL下安装配置RedHat ES 5的
·如何修改遗失的MySQL的ROOT用户密码
·教你如何将MySQL数据库的密码恢复
·在 Oracle Enterprise Linux 上升级到
·教你在MySQL从口令恢复设置的密码
·Oracle Instant client介绍
·oracle9i installation on fedora core
·Oracle高级复制(同步复制)配置步骤详细
·用Oracle归档日志进行恢复的方法
·Oracle HA 在Unix上双机环境的安装指南
·Oracle 数据库存储结构简介
·Linux下的Oracle数据库编程详解
·Oracle中压缩数据节省空间和提高速度
·如何更改rac的vip地址和集群互联地址
·Ubuntu上安装Oracle 10G及相关配置
网摘收藏: