解决linux中sqlplus上下键显示历史sql语句
Wednesday, July 28th, 2010 Posted in Linux, oracle | No Comments »来源:http://www.boobooke.com/bbs/thread-18020-1-1.html 总而言之,SQL*PLUS在Linux没有命令上下翻滚功能,甚至也不能使用左右键进行当前命令的修改,这个实在是不爽。。。 上面的文章介绍的工具真的很强大,简单的来说,就是利用rlwrap这个工具来驱动sqlplus来实现上下翻滚以及左右键进行命令修改的功能。 如果你使用的是ubuntu,那么可以直接用apt-get来进行安装,如果你用的是redhat或者centos,那么就要进行编绎了。 rlwrap依赖于libtermcap-devel跟readline-devel,在进行安装之前,你还需要安装这两个包: yum install -y readline-devel libtermcap-devel 然后,你就要下载rlwrap并进行编绎了: wget "http://utopia.knoware.nl/~hlub/rlwrap/rlwrap-0.37.tar.gz" tar -xvf rlwrap-0.37.tar.gz cd rlwrap-0.37 ./configure && make && make check && make install 之后,你运行:rlwrap sqlplus /nolog就会发现已经可以进行命令上下翻滚与回退修改了。 当然,为了方便,你也可以把sqlplus alias成 rlwrap,这样子你就不用每次都加rlwrap了
直接在linux中使用sqlplus客户端
Sunday, July 25th, 2010 Posted in Linux, oracle | No Comments »首先到oracle的官方网站下载两个包: oracle-instantclient-basic-.i386.zip oracle-instantclient-sqlplus-.i386.zip 这两个其中release部分根据你的服务器端的release所决定,只跟服务器端相同或者比服务器端高,不能低于服务器端版本。 PS:下载地址: http://www.oracle.com/technology/software/tech/oci/instantclient/htdocs/linuxsoft.html 然后,先不要急着解压。我们先建立一个目录,假设为/opt/oracle,然后我们在这里面建立一些子目录 mkdir /opt/oracle/bin mkdir /opt/oracle/lib mkdir /opt/oracle/tns mkdir -p /opt/oracle/sqlplus/admin mkdir -p /opt/oracle/sqlplus/mesg 然后,我们解压开始下载的两个包: unzip oracle-instantclient-basic-.i386.zip unzip oracle-instantclient-sqlplus-.i386.zip 解压之后,会得到一个目录,应该是instantclient_release,进入之后,对文件做如下的文件 mv sqlplus /opt/oracle/bin mv glogin.sql /opt/oracle/sqlplus/admin mv * /opt/oracle/lib 然后,执行如下命令(最好是写入/etc/profile或者~/.profile) export ORACLE_HOME=/opt/oracle export PATH=$PATH:$ORACLE_HOME/bin export TNS_ADMIN=$ORACLE_HOME/tns export LD_LIBRARY_PATH=$ORACLE_HOME/lib 这个时候,你再执行sqlplus /nolog就会发现SQL*PLUS还是不能工作,会报如下这个错误: Error 6 initializing SQL*Plus Message file sp1.msb not found SP2-0750: You may need to set ORACLE_HOME to your Oracle software directory 目前这个错误我没有找到真正的原因,但是也有一个临时解决方法:只要从ORACLE服务器端把sp1.msb与sp2.msb之类的的文件拷贝过来放在/opt/oracle/sqlplus/mesg中就可以了。如果你不能连接到你的ORACLE服务器去直接拷贝文件,也可以下载我的,用unzip解压,然后移动到/opt/oracle/sqlplus/mesg就可以了。 点击下载msb文件 之后,你就发现$ sqlplus ...
“Error in invoking target ‘client_sharedlib’ of makefile ‘/home/oracle/oracle/product/10.2.0/db_1/network/lib/ins_net_client.mk’
Thursday, June 10th, 2010 Posted in Linux, oracle | No Comments »今天同事在安装oracle的时候总是报这个错误: "Error in invoking target 'client_sharedlib' of makefile '/home/oracle/oracle/product/10.2.0/db_1/network/lib/ins_net_client.mk'. 我帮忙查了好久,一直都没发现是什么问题,最后不得不放狗,得到提示,查看ORACLE_HOME下面的install/make.log,在的最后,发现了这样的信息: /usr/bin/make -f ins_net_client.mk client_sharedlib ORACLE_HOME=/home/oracle/oracle/product/10.2.0/db_1//home/oracle/oracle/product/10.2.0/db_1/bin/genclntsh /home/oracle/oracle/product/10.2.0/db_1/rdbms/lib/kpudfo.o: file not recognized: File format not recognized collect2: ld returned 1 exit status genclntsh: Failed to link libclntsh.so.10.1 make: *** [client_sharedlib] Error 然后在这里找到有人提出可能的原因:把32位的oracle装64位的操作系统,或者是把64位oracle装32位的系统。 最后问清楚,这个家伙果然是把64位的oracle想装在32位的系统上了。。。 换回32位系统,一切正常
CentOS 5.1下安装oracle11g
Monday, May 12th, 2008 Posted in Linux, oracle, 安装配置 | 2 Comments »同事不知道为什么,最近对oracle产生了兴趣,非得要我帮他装一个。 我以前也没有装过那东西,所以正好试试。 呵呵,反正打算以后也转到oracle,也好提前试下。 在传说当中,oracle 的安装是非常麻烦的。 还好他有官方文档,按照官方文档一步一步来。 操作系统:CentOS 5.1 内核版本:2.6.18-53.1.13.el5 oracle版本: 11g Release 1 (11.1) for Linux X86-64 参考文档:Database Quick Installation Guide 一,硬件要求: 内存:至少1G的物理内存。官方的建议是如果低于1G内存,则须要添加内存。 SWAP分区: 物理内存 swap大小 1024MB-2048MB 物理内存的1.5倍 2049MB-8192MB 与物理内存相等 大于8192MB 物理内存的0.75倍