怎样用sqlplus调用shell脚本

如题所述

参考如下:
#Oracle Connection
export ORACLECONNECTSTRING='dps/password@frld world'

sqlplus -silent $ORACLECONNECTSTRING @$SQLDIR/ipb_dps_get_status.sql

ipb_dps_get_status.sql 是放在SQLDIR文件夹下的.sql file,把sql语句写在里面就可以了

或者后面还可以加上log等。
温馨提示:内容为网友见解,仅供参考
第1个回答  2016-01-13

sqlplus调用系统命令:

    host

    如:

    SQL > host date

    !

    如:

    SQL > !date

本回答被提问者采纳

如何在shell中调SQLPLUS 执行SQL语句
sqlplus命令本身可以卸载shell脚本中,只要环境变量配置了相关的命令路径就可以。然后编写sql脚本,然后利用sqlplus 用户名\/密码@XXX @sql命令文件.sql就可以了。如果害怕两个@有冲突,那么就设置一个参数=用户名\/密码@XXX 然后调用参数,就可以了。如果还有其他需求,那么就利用sqlplus的set参数,来达到某些...

如何在shell中调SQLPLUS 执行SQL语句
echo -e "drop table test_BAK purge;"|sqlplus -s 'user\/123499'3、执行sql文件实例 !\/bin\/bash . ~\/.bash_profile sqlplus -s 'user\/234256' @~\/remove_old_data.sql

怎么在shell脚本里面获得sqlplus执行的结果
请参考下面这个方法:备注:getDbUserByTableName $TableName是获取表在哪个数据库的。你可以直接把$DbUSER换成tns串或者别名即可。sqlplus连接数据库的方法#需要传入两个参数,第一个是表名,一个是需要执行的sql语句,一条语句作为一行sqlBossDb(){TableName=$1SqlStr=$2getDbUserByTableName $Table...

linux下shell脚本中sqlplus调用shell变量的问题
1、登陆用户 su - oracle -c sqlplus crm_uat\/crm_uat << EOF ...EOF 或者在oracle用户下运行 sqlplus crm_uat\/crm_uat << EOF ...EOF 2、用sysdate代替${DATE}试试。3、你的日期包含空格,变量应该加引号

shellsqlplus执行sql文件,报错failedin
2、SQL文件内容问题:检查SQL文件内容是否合法且没有语法错误。确认SQL语句和语法是否正确,并与数据库兼容。3、数据库连接问题:确认您使用的数据库用户名、密码和连接字符串是否正确,并具有足够的权限来执行所需的SQL语句。4、权限问题:确保您在Shell中执行sqlplus命令的用户具有足够的权限来执行SQL文件...

如何把SQL的运行结果赋值给SHELL脚本中的变量。
CNT=$(sqlplus -S 用户名\/密码@实例名<<!set heading off select count(*) from tab;!) 这里是以oracle数据库为例。

shell 与sqlplus传参数报错
这个变量是不会继承下来的,$cpu1只存在于执行su - oracle 的用户下。为了避免这中情况,你需要先进入oracle ,再执行cpu1赋值,即:su - oracle cpu1=`head -n 10 first.txt| tail -n 1 | cut -c 1-10`echo $cpu1 或者,把脚本放到oracle 用下执行,不用每次su - oralce 了。

写个shell脚本连接oracle数据库查询某表数据导出为txt文件,再发送到...
1、简单的单列 !\/bin\/sh sqlplus 'user001\/12345678'<< EOF set define off set hea off spool vip1.txt select username from ACCOUNT where LEVEL=7;spool off quit;EOF sed -i 's\/[ ]*\/\/g' ~\/vip1.txt sed -i '\/^$\/d' ~\/vip1.txt sed -i '1d' ~\/vip1.txt sed -i '...

如何让sql语句在oracle后台运行,怎么查看后台运行的程序,谢谢?_百度知...
(在数据库本地执行的时候可以不带连接串,直接用sqlplus username\/password <<! 即可)编写完脚本后在操作系统下执行:nohup .\/mysql.sh & 或者 .\/mysql.sh & (这里暂定你的shell脚本名是mysql.sh可以自己改)使用jobs命令就可查看你后台运行的程序。或者使用 ps -ef|grep mysql.sh 也能看到。...

使用shell脚本通过客户端连接实现Oracle和DB2数据库多表对比
在数据管理领域,Shell脚本因其简洁易学的特性在DBA日常工作中占据重要地位,特别是在表对比这类任务上。本文将指导如何使用Shell脚本通过数据库客户端,如DB2的db2命令和Oracle的sqlplus,执行表对比操作。脚本compareTab.sh的核心是通过getopts处理参数,它旨在对比Oracle和DB2数据库的表数量和列定义。脚本首先...

相似回答