Load data --加载数据
append into table TEST --数据表TEST
fields terminated by ':' --每行日志以“:”分隔
trailing nullcols
(----下面为表中属性
DNAME "nvl(:DNAME,'-')", --如果DNAME为null,则插入默认值“-”
MENO,
ID "SEQ_TEST.nextval" --调用序列
)
在这里需要注意:如果要使用序列,就不能加DIRECT=TRUE
执行命令:
sqlldr userid=帐号/密码@SID control=f:\test.ctl data=f:\test.log
参考链接:
http://hi.baidu.com/danghj/blog/item/393dca1baf79faddad6e75dd.html
http://topic.youkuaiyun.com/u/20090901/16/6f47eca3-169b-4ecc-9e6c-063055d9a392.html
http://wxy0327.itpub.net/post/16888/96826
http://chinapkw.iteye.com/blog/568948
========================================================20101119补充
如何定时使用shell导入数据
vi import_data.sh
内容:
. /home/oracle/.bash_profile
lastLogDate=`date -d "-1 minute" +%Y%m%d.%H.%M`
/data/oracle/10.2.0.1/bin/sqlldr userid=webtrace/webtrace@webtra

本文详细介绍了如何使用SQLLDR导入Oracle数据库的日志数据,强调了在使用序列时不能添加DIRECT=TRUE选项。同时,分享了如何创建定时任务通过shell脚本来执行导入,并提醒了权限设置和环境变量配置的重要性。在遇到数据导入异常,如字段长度超过默认限制时,需在CTL文件中指定字段长度。
最低0.47元/天 解锁文章
969

被折叠的 条评论
为什么被折叠?



