批量数据文件用sqlldr导数据到oracle中
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,使用sqlload导文本数据到oracle中想必很多人多使用过,但是倘若有几百或者几千个数据文本,或者实时有文本数据产生。这种场景如何批量导入oracle呢,下面就来讲解下我处理的方式。1.shell
千家信息网最后更新 2026年11月03日批量数据文件用sqlldr导数据到oracle中
使用sqlload导文本数据到oracle中想必很多人多使用过,但是倘若有几百或者几千个数据文本,或者实时有文本数据产生。这种场景如何批量导入oracle呢,下面就来讲解下我处理的方式。
1.shell脚本LoadData.sh如下
#!/bin/bashdata_dir=/home/bea/datasource/warn-log/dayflow # 文本数据目录data_dir_bak=/home/bea/datasource/warn-log/dayflow_bakshell_dir=/home/bea/scriptwhile [ 1 ]docd $data_dirif [ `pwd` == $data_dir ]then filelist=`ls -rt | grep dayflow.log_.` #数据文本文件名匹配fi#echo $filelistcd $shell_dirif [ `pwd` == $shell_dir ]then for file in $filelist do date=`date "+%Y%m%d %H:%M:%S"` export LoadFileName=$data_dir"/"$file #这个地方很重要,要加载变量到环境中 echo "Time is $date ,开始导$LoadFileName数据" sqlldr user_1/123456@213_db control=dayflow.log.ctl BAD=dayflow.log.bad echo "Time is $date ,$LoadFileName数据导入完毕" echo "开始备份文件$file" mv $LoadFileName $data_dir_bak echo "$file备份完毕" donefidone
这个地方最应该要注意的是
export LoadFileName=$data_dir"/"$file
这里将LoadFileName (导入oracle 的文本,绝对路径)这个变量 export到linux环境中,这样sqlload的控制文件就可以读到这个变量并进行导入
2.sqlldr控制文本dayflow.log.ctl
load dataCHARACTERSET AL32UTF8infile '$LoadFileName'APPEND into table user_1.BIL_FLUX_HIGH_CURfields terminated by '|'trailing nullcols(ACCS_NBR "TRIM(:ACCS_NBR)",DATE_ID "TRIM(:DATE_ID)",TOTAL_FLUX "TRIM(:TOTAL_FLUX)",sys_date "sysdate")
请注意 infile '$LoadFileName',这里就是shell中 刚才export的变量,通过这种方式就可以以变量的形式传入文件名,那么批量导入也就是一个循环的操作。
数据
文本
变量
文件
地方
备份
文件名
方式
环境
控制
重要
也就是
场景
实时
就是
形式
目录
脚本
路径
人多
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
厦门中拓互联网络科技有限公司
喔噻互联网科技
北京互联网络科技有限公司
电子科技大学互联网
互联网科技公司介绍
开启互联网科技时代小说
青岛中康互联网医疗科技有限公司
栖莱科技互联网股份有限公司
互联网科技和信息
如何创新互联网科技
世界互联网领先科技成果获奖
长沙互联网科技
华中科技大学互联网的牛人
众安科技工业互联网合作
21世纪互联网科技成就
工业互联网科技创业
郑州欣桑互联网科技有限公司
国产互联网科技公司
互联网的科技体现在哪里
东风日产互联网科技公司叫什么
手磨咖啡
博彦科技互联网金融
广州互联网科技公司
碳银互联网科技
迪茉互联网科技
互联网科技寓意
互联网企业和科技型企业
互联网金融中的现代科技
搜狐科技互联网
平安好医生打造互联网科技医疗