oracle存储过程ETL执行方法,shell执行oracle环境的sql语句

本文将分享oracle存储过程ETL执行方法,shell执行oracle环境的sql语句方法。
1、oracle存储过程ETL执行方法:使用sqlldr命令需要使用oracle数据库的连接串,即用户名、密码、域名,control文件、数据文件、bad文件、log文件等信息,格式为:sqlldr $username/$password@$域名/password control=$ctl_file data=$data_file bad=$bad_file

#!/bin/sh
#单个文件加载为例
username=vlog
DB_TNS=oldev19cl-scan.odbs.test.com:1421/test1234
password=test1234
crl_file=/home/vlog/aaa.ctl
data_file=/home/vlog/aaa.txt
bad_file=/home/vlog/aaa.bad
log_file=/home/vlog/aaa.log
#导数命令
sqlldr $username/$password@${DB_TNS} control=$ctl_file data=$data_file bad=$bad_file  log=$log_file readsize=200000000 bindsize=200000000

2、shell执行oracle环境的sql语句,需要注意的是,正常在linux系统中,oracle数据库资源池环境,执行sql脚本是需要借助sqlplus命令来完成的,具体如下:

#登陆数据库
sqlplus $username/$password@${DB_TNS}
#执行sql语句
@/home/vlog/sss.sql
exit

上述步骤只适合手动执行,执行完了还需要执行exit命令退出sqlplus命令。
使用如下方法可以在bash脚本中自动执行sql并自动退出sqlplus命令,继续执行后续的步骤。

#!/bin/bash
echo exit | sqlplus $username/$password@${DB_TNS} @/home/vlog/sss.sql >a.log

在sqlplus命令前面添加echo exit 后,就可以在执行该行sql语句后自动退出,并将执行的日志输出到a.log文件中。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xiaoEchoJava

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值