批量数据文件用sqlldr导数据到oracle中
发表于:2025-02-02 作者:千家信息网编辑
千家信息网最后更新 2025年02月02日,使用sqlload导文本数据到oracle中想必很多人多使用过,但是倘若有几百或者几千个数据文本,或者实时有文本数据产生。这种场景如何批量导入oracle呢,下面就来讲解下我处理的方式。1.shell
千家信息网最后更新 2025年02月02日批量数据文件用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安全错误
数据库的锁怎样保障安全
达梦数据库上次修改密码
谷歌网络安全倡议
java快速写数据库模块
图形数据库软件中文版
河南微创网络技术有限公司
电子信息网络技术的核心
光域服务器崩了吗
iis 服务器安全
网页不用服务器能打开吗
计算机网络安全的书
我的世界如何当服务器
服务器连接失败电脑
注塑机服务器与处理器
伊对服务器错误怎么办
知道域名怎么查服务器所在地
apex怎么进隐藏服务器
长沙国家网络安全产业园俯视图
2021年轻少年网络安全知识
南阳软件开发培训
两个局域网同时访问共享服务器
问卡对讲服务器正在初始化怎么办
服务器密码错误是什么原因
文明上网的网络安全手抄报
服务器sata盘支持热插拔吗
校园服务器怎么接
我的世界服务器价格
珠海卫星软件开发报价表
微盟高级软件开发工程师
论文数据库系统更新
盈致mes系统软件开发