Linux环境下使用定时器通过sqlldr向oracle数据库导入数据
来源:互联网 发布:济南网站怎么优化 编辑:程序博客网 时间:2024/05/29 18:40
背景:
文件服务器每天都会生成若干张表的数据文件,需要将这些文件里的数据导入到oracle数据库中,为了实现自动化导入,采用的是linux定时任务执行shell脚本通过sqlldr命令来导入。需要注意的是在shell脚本中需要设置好oracle的环境变量,要不然在cron定时任务调用脚本时sqlldr命令将无法执行。
用v_inst_users表举例:
数据库表v_inst_users:
CREATE TABLE V_INST_USERS( imsi VARCHAR2(60), telephone VARCHAR2(20), city_code VARCHAR2(20), log_date DATE )
shell脚本import.sh:
#!/bin/sh#设置必要的环境变量(使用定时器的时候必须设置环境变量)export NLS_LANG=AMERICAN_AMERICA.ZHS16GBKORACLE_HOME=/u01/app/oracle/product/102/db_1export ORACLE_HOMEdate=`date +%Y%m%d`mon=`date +%Y%m`#ctl文件目录ctldr=/home/oracle/data/ctl#导入日志目录cd /home/oracle/data/ctllogif [ ! -d "$mon" ]; then mkdir $mon echo "创建月目录$mon"ficd $monif [ ! -d "$date" ]; then mkdir $date echo "创建天目录$tt"fi#导入$ORACLE_HOME/bin/sqlldr userid/password@orcl control=$ctldr/imp_to_v_inst_users.ctl log=$logdr/log_v_inst_users_$date.log bad=$logdr/bad_v_inst_users_$date.log;控制文件imp_to_v_inst_users.ctl:
LOAD DATAINFILE 'V_INST_USERS.ITF'APPEND INTO TABLE v_inst_usersFIELDS TERMINATED BY ','TRAILING NULLCOLS( imsi, telephone, city_code, log_date DATE "YYYY-MM-DD HH24:MI:SS")
数据文件V_INST_USERS.ITF:
460030406111111,13311111111,4206,2016-05-18 21:57:29460110451222222,18022222222,4414,2016-05-18 21:57:32460036121333333,15333333333,3204,2016-05-18 22:10:04
定时任务配置:
执行命令:crontab -e 编辑定时任务
40 9 * * * /home/oracle/data/import.sh > /home/oracle/data/importlog/import_`date +"\%Y\%m\%d"`.log
0 0
- Linux环境下使用定时器通过sqlldr向oracle数据库导入数据
- 使用sqlldr命令向Oracle导入数据
- 用sqlldr向数据库导入数据
- Linux主机sqlldr工具批量文本数据导入oracle数据库
- oracle数据库使用sqlldr命令导入txt数据
- 使用sqlldr命令将文本数据导入oracle数据库
- oracle通过sqlldr导入文本数据
- 外部数据导入Oracle数据库命令----sqlldr
- oracle下的sqlldr命令使用方法(sqlldr工具的使用(批量导入数据))
- oracle下的sqlldr命令使用方法(sqlldr工具的使用(批量导入数据))
- oracle使用sqlldr(有sequence)导入数据
- Oracle sqlldr导入数据使用默认值日期
- 使用sqlldr导入文本数据到oracle
- 使用sqlldr导入数据到Oracle
- sqlldr导入oracle数据
- sqlldr导入oracle数据
- 使用SQLLDR导入数据
- 使用sqlldr向Oracle导入大的文本(txt)文件
- 百度地图中多边形覆盖物的面积计算
- Hibernate源码分析
- Bean配置形式:
- 微信企业号开发总结
- VS使用指南
- Linux环境下使用定时器通过sqlldr向oracle数据库导入数据
- 确定项目的目的和目标
- Problem C
- Android Eclipse上传svn时,不传的内容
- Android 底部菜单栏实现
- Java中utf-8 bom文件的输出,读入。utf-8的判断等sample source
- UVa 12356 - Army Buddies
- yii2.0 Activeform表单部分组件使用方法
- shiro 自定义logout路径