oracle存储过程ETL执行方法,shell执行oracle环境的sql语句 |
您所在的位置:网站首页 › shell调用oracle存储过程抓取日志 › 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=2000000002、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文件中。 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |