下载rpm文件,安装orcacle sqlplus
rpm –ivh oracle-instantclient-basic-10.2.0.4-1.i386.rpm
rpm –ivh oracle-instantclient-sqlplus-10.2.0.4-1.i386.rpm
安装完成后需要设置环境变量
LD_LIBRARY_PATH=/usr/lib/oracle/10.2.0.1/client/lib:${LD_LIBRARY_PATH}
export LD_LIBRARY_PATH
SQLPATH=/usr/lib/oracle/10.2.0.1/client/lib:${SQLPATH}
export SQLPATH
利用shell脚本查询数据库示例:
#!/bin/bash
name=$1
passwd=$2
host=$3
port=$4
sid=$5
VALUE=`sqlplus -S $name/$passwd@$host:$port/$sid << !
set heading off
set feedback off
set pagesize 0
set verify off
set echo off
select id from table_name;
exit
!`
#cataloguuid
echo $VALUE
if [ -n "$VALUE" ]; then
echo "The rows is $VALUE"
exit 0
else
echo "There is no row"
fi
如果想要将查询结果重定向到外部文件查询语句为:
sqlplus -S $name/$passwd@$host:$port/$sid << ! > queryResult.out
set heading off
set feedback off
set pagesize 0
set verify off
set echo off
select id from table_name;
exit
!`
转自:http://blog.chinaunix.net/uid/9124312.html
[oracle@hb shell_test]$ cat echo_time
#!/bin/sh
一.最简单的调用sqlplus
sqlplus -S "sys/unimas as sysdba" << !
select to_char(sysdate,'yyyy-mm-dd') today from dual;
exit;
!
[oracle@hb shell_test]$ ./echo_time
TODAY
----------
2011-03-21
-S 是silent mode,不输出类似“SQL>”,连接数据库,关闭数据库之类的信息。
eof可以是任何字符串 比如"laldf"那么当你输入单独一行laldf时"shell认为输入结束,但是必须表示块开始必须使用<<;
开始和结束要匹配这个符号“<<”后面的内容
举例子:
[oracle@hb shell_test]$ sqlplus -s "sys/unimas as sysdba" << abc
> select to_char(sysdate,'yyyy-mm-dd') today from dual;
> exit;
> abc
TODAY
----------
2011-03-21
二.sqlplus的结果传递给shell的方法一
[oracle@hb shell_test]$ cat test2.sh
#!/bin/bash
VALUE=`sqlplus -S "test/unimas" << !
set heading off
set feedback off
set pagesize 0
set verify off
set echo off
select to_char(sysdate,'yyyy-mm-dd') today from dual;
exit
!`
echo $VALUE
if [ -n "$VALUE" ]; then
echo "The rows is $VALUE"
exit 0
else
echo "There is no row"
fi
三.sqlplus的结果传递给shell的方法二
[oracle@hb shell_test]$ cat test1.sh
#!/bin/bash
sqlplus -S "test/unimas" << !
set heading off
set feedback off
set pagesize 0
set verify off
set echo off
col coun new_value v_coun
select count(*) coun from lesson;
exit v_coun
!
VALUE="$?"
echo "show row:$VALUE"
col coun new_value v_coun v_coun为number类型。因为exit 只能返回数值类型。
四.把shell参数传递给sqlplus
#!/bin/bash
t_id="$1"
sqlplus -S "test/unimas" << !
set heading off
set feedback off
set pagesize 0
set verify off
set echo off
select teachername from teacher where id=$t_id;
exit
!
五.sqlplus的结果存储在文件中
#!/bin/sh
sqlplus -S "test/unimas"<<EOF
set heading off
set feedback off
set pagesize 0
set verify off
set echo off
spool spool_file
SELECT * from teacher;
spool off
exit;
EOF
分享到:
相关推荐
sqlplus 命令大全 oracle 数据库 命令查询,数据库学习,数据库查询命令。
详细介绍了 linux下安装sqlplus的过程,包括安装包下载,环境变量配合等
linux优化sqlplus方向键
Linux环境下安装SQLplus的必备rpm包,包含两个版本,Oracle 11g和Oracle 12cR2,还有详细安装教程,亲测好用,感谢您的下载!
Linux下sqlplus退格、上翻键乱码工具,包含安装说明
Sqlplus_登录数据库
本人亲自整理,经过验证,确保真实有效。win7环境下sqlplus远程连接oracle数据库的方法
linux 环境需要用 sqlplus 客户端去连接oracle 数据库,首先我们需要确认有没有安装:which sqlplus如果没有安装就需要先安装一下,安装步骤如下: 到oracle 官网下载,之后安装以下两个模块: rpm -ivh oracle-...
linux下sqlplus历史命令回调问题 linux下sqlplus历史命令回调问题 linux下sqlplus历史命令回调问题 linux下sqlplus历史命令回调问题 linux下sqlplus历史命令回调问题 linux下sqlplus历史命令回调问题
面试中Linux中SQLplus上下键不能显示历史命令的问题
oracle新建数据库,及创建用户,表空间,sqlplus导入导出数据库.docx
在sqlplus中,方向键输出的都是乱码,安装这个软件以后,就可以正常使用方向键了。
SQLplus&数据库对象,SQLplus&数据库对象,SQLplus&数据库对象
可以让linux环境下的sqlplus自由翻页的工具集合
安装步骤 rpm -ivh oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm rpm -ivh oracle-instantclient11.2-devel-11.2.0.4.0-1.x86_64.rpm rpm -ivh oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64...
sqlplus登录oracle的四种方法
Linux下面使用sqlplus热键冲突 解决方案包中包括:libtermcap-devel-2.0.8-46.1.i386.rpm rlwrap-0.42.tar.gz readline-devel-5.1-1.1.i386.rpm
Linux重启oracle数据库的命令和方法 在linux下重启oracle数据库及监听器: Linux重启oracle数据库方法1 用root以ssh登录到linux,打开终端输入以下命令: cd $ORACLE_HOME #进入到oracle的安装目录 dbstart #重启...
通过sqlplus可以连接数据库根据用户权限进行数据或者设定操作,这篇文章介绍一下常用的连接方式。 环境准备 使用Oracle的精简版创建docker方式的demo环境,详细可参看: https://www.jb51.net/article/153533.htm ...
下载完成后在Linux系统下解压、编译、安装。