Oracle快速导入数据工具

  sqlldr是oracle自带的快速导入批量数据的工具,常用于性能测试。考虑手工构造控制文件较为繁琐,因此使用脚本完成批量数据的自动导入。

基本知识

sqlldr命令语法

sqlldr dbname/dbpassword@oracle_sid control=control.ctl log=sqlldr.log bad=sqlldr.bad

选项介绍

1、control 控制文件:包含导入数据和表的信息
2、log 日志文件:导入过程中的日志记录
3、bad 失败文件:导入失败的数据记录
4、rows 每次提交记录数
5、bindsize 每次提交记录的缓冲区大小
6、direct 使用直接路径导入,默认为false
7、parallel 并行导入

控制文件格式

load data infile 'datafile' append into table tablename fields terminated by '|'
(
 col1,
 col2
)

设计思路

  核心是创建sqlldr导入使用的控制文件

  1、从USER_TAB_COLUMNS表中获取输入的欲导入数据标的表结构属性(列名和类型);

  2、对DATE和TIMESTAMP类型进行转换,完成sqlldr要求的控制文件格式。

  3、调用sqlldr命令执行自动导入数据。

脚本使用

  1、下载代码:loadOradata.sh,上传到oracle用户任意目录下。

  2、登录oracle用户,执行chmod +x loadOradata.sh赋可执行权限。

  3、执行./loadOradata.sh 数据库名/数据库密码 待导入的表名 构造生成的数据文件

  说明:建议在导入数据前先备份并清理待导入的表。原因是sqlldr命令的direct=True,,可能会由于存在重复数据导致索引失效。

转载于:https://www.cnblogs.com/linyfeng/p/7565429.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值