UNIX主机文件导入数据库方法以及sqlldr在AIX主机使用方法

前端之家收集整理的这篇文章主要介绍了UNIX主机文件导入数据库方法以及sqlldr在AIX主机使用方法前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

sqlldr使用方法

DATABASE=admin/password@INSTANCE_NAME

sqlldr $DATABASE data=TEMP.txt control=temp.ctl skip=1 load=200000 errors=100 rows=1000 bindsize=33554432


参数说明:
$DATABASE //数据库连接
data //原数据文件
control //sqlldr控制文件位置
skip=1 //表示跳过第一行,从第二行开始导入
load=200000 //表示并不导入所有的数据,只导入跳过skip参数后的200000条数据
rows=1000 //表示一次加载的行数,默认值为64,此处设置为1000
errors=100 //表示出错100次后,停止加载
bindsize=33554432 //表示每次提交记录缓冲区的大小,默认256k




temp.ctl 内容 数据用换行分割
load data
append
INTO TABLE testtable
trailing nullcols
(
testdate terminated by '\r\n'
)


test.txt 文件数据
------------------head---------------
000001
000002
000003
000004


文件导入例子

DATABASE=admin/password@INSTANCE_NAME for FILENAME in `ls test.txt` do awk -F. '{print $0}' $FILENAME>TEMP_$FILENAME.txt echo "\n读取数据" #获取文件行数 num=`cat $FILENAME|wc -l` #一般文件都有首行说明不需要入库可以删除统计实际行数 recnum=`expr $num-1` sqlldr $DATABASE data=TEMP_$FILENAME.txt control=temp.ctl skip=1 load=$recnum rm TEMP_$FILENAME.txt echo "读取数据结束" done sqlplus -s $DATABASE << EOF set heading off Feedback off pagesize 0 verify off echo off exit; EOF

猜你在找的Bash相关文章