# 设置AWK程序输出时各列的分隔符
OFS = "|";
srand();
COUNT = 10000000;
for (i=1; i print random_int(10, 100), random_float(3, 2), random_string("x", 10), random_time("2009 06 01 12 30 30", "2011 07 15 23 59 59", "%Y-%m-%d %H:%M:%S");
}
}
3. 执行命令:(产生1000万数据,并将数据保存在T_1_DATA.txt文件中)
awk -f random_function.awk -f T_1.awk > T_1_DATA.txt
4. 编写SQL*Loader工具控制文件T_1_CONTROL.ctl,内容如下:
LOAD DATA
INFILE 'T_1_DATA.txt' -- 数据文件名
append INTO TABLE T_1
FIELDS TERMINATED BY '|'
(
COL_1,
COL_2,
COL_3,
COL_4 "to_date(:COL_4,'''yyyy-mm-dd hh24:mi:ss''')" -- 将指定格式的字符串数据转换成日期
)
5. 执行SQL*Loader命令,将数据加载到表中:
sqlldr userid=用户名/密码@SID control=T_1_CONTROL.ctl
注:如果使用上面命令觉得慢,可以使用direct path load方式加载,命令如下:
sqlldr userid=用户名/密码@SID control=T_1_CONTROL.ctl direct=true