批量数据文件用sqlldr导数据到oracle中
发表于:2024-09-30 作者:千家信息网编辑
千家信息网最后更新 2024年09月30日,使用sqlload导文本数据到oracle中想必很多人多使用过,但是倘若有几百或者几千个数据文本,或者实时有文本数据产生。这种场景如何批量导入oracle呢,下面就来讲解下我处理的方式。1.shell
千家信息网最后更新 2024年09月30日批量数据文件用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安全错误
数据库的锁怎样保障安全
计算机等级网络技术三级
数据库系统工程师是干什么的
网络安全大学生见习
程序软件开发过程
工业控制网络技术的任务
服务器系统管理制度
投资香港互联网科技基金
c 获取服务器文件
东西湖区女神翻译服务器连接超时
梦幻西游手游七区第一个服务器
兼职软件开发人员
邹平生产管理软件开发公司
网络安全协议课件
网络安全涉及物理方面
佳都科技互联网发展
我的世界服务器怎么破坏其他东西
tp5 连不上数据库
服务器单双路
android数据库建库
access 数据库购买
java数据库添加
重庆违反网络安全法第一案
淄博化工软件开发公司
数据库关闭虚拟内存
手机服务器在哪里查询
在软件开发方面
图书馆采购电子数据库请示
网络安全机制包括访
丹东一达软件开发有限公司
labview与云数据库