sqlplus批量导入sql文件

sqlPlus批量运行sql文件

1、创建一个总的SQL文件,当你存在多个文件需要进行通过sqlplus进行sql导入的时候,可以先创建一个list.sql

  • 例:当存在a.sql b.sql 可以在list.sql文件中写@/路径/sql文件名
  • 之后通过sqlplus运行list.sql
  • @/路径/文件名

2、sqlplus批量导入sql文件 shell脚本

#!/bin/bash
targetDir='/program/nwom/Inspur/apps/new_tomcat/湖南sql/sql/*.sql'
filelist=`ls ${targetDir}`
files=""

for file in ${filelist}
do
 files=${files}"prompt start insert file:${file}\n"@${file}"\n"
done
files=`echo -e ${files}`

sqlplus nwom/nwom_0ssd@nwom <<EOF
set colsep' ';
set echo off;
set feedback off;
set heading off;
set pagesize 0;
set termout off;
set trimout on;
set trimspool on;
$files 
commit; 
exit; 
EOF

3、自动输出list.sql的shell脚本

#!/bin/bash
targetDir='/program/nwom/Inspur/apps/new_tomcat/湖南sql/sql/*.sql'
filelist=`ls ${targetDir}`
files=""
for file in ${filelist}
do
 files=${files}"prompt start insert file:${file}\n"@${file}"\n"
 echo ${files} > new .sql
done
files=`echo -e ${files}`
sqlplus nwom/nwom_0ssd@nwom <<EOF
set feed off
set heading off;
set feedback off;
set verify off;
@/program/nwom/Inspur/apps/new_tomcat/湖南sql/new4.sql;
commit; 
exit; 
EOF

4、当我们所需要插入的数据太长的时候,我们可以采用dmp文件的形式进行上传。

在linux文件中进行运行dmp文件

imp nwom/nwom_0ssd@10.154.14.84:1521/nwom file=/program/nwom/Inspur/apps/new_tomcat/湖南sql/dmp/ods_cfg_district.dmp fromuser=YN_SCHEDULE touser= YN_SCHEDULE buffer=20480000 commit=y log=/program/nwom/Inspur/apps/new_tomcat/湖南sql/dmp/test.log  ignore=y

注:当在linux系统中文件的文件名是以括号或者是特殊字符结尾的时候,我们需要用/来进行隔断,保证系统的识别,或者是对文件进行重命名

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值