SQL Loader导入数据速度不稳定的原因

Firing_Sky 2011-12-29 10:11:10
利用SQL Loader进行大量数据的导入,发现数据导入的效率不甚稳定,甚至差别很大,想问问有没有人知道可能影响到导入效率的原因?

随便贴几个日志SQL Loader的日志:

跳过的逻辑记录总数: 0
读取的逻辑记录总数: 88692
拒绝的逻辑记录总数: 0
废弃的逻辑记录总数: 0

从 星期五 12月 23 15:02:32 2011 开始运行
在 星期五 12月 23 15:11:46 2011 处运行结束

经过时间为: 00: 09: 14.50
CPU 时间为: 00: 00: 01.39
这个典型的慢的不正常。

跳过的逻辑记录总数: 0
读取的逻辑记录总数: 937100
拒绝的逻辑记录总数: 0
废弃的逻辑记录总数: 0

从 星期五 12月 23 16:15:38 2011 开始运行
在 星期五 12月 23 16:26:49 2011 处运行结束

经过时间为: 00: 11: 11.80
CPU 时间为: 00: 00: 18.32
这个马马虎虎还过得去

跳过的逻辑记录总数: 0
读取的逻辑记录总数: 4927
拒绝的逻辑记录总数: 0
废弃的逻辑记录总数: 0

从 星期五 12月 23 15:15:06 2011 开始运行
在 星期五 12月 23 15:21:18 2011 处运行结束

经过时间为: 00: 06: 11.88
CPU 时间为: 00: 00: 00.16
这个慢的有点过分了

跳过的逻辑记录总数: 0
读取的逻辑记录总数: 6798
拒绝的逻辑记录总数: 0
废弃的逻辑记录总数: 0

从 星期五 12月 23 15:11:46 2011 开始运行
在 星期五 12月 23 15:11:55 2011 处运行结束

经过时间为: 00: 00: 08.78
CPU 时间为: 00: 00: 00.09
这样才算正常嘛
...全文
286 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
Firing_Sky 2012-01-03
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 specialname8 的回复:]

想了其他一些相关因素
1.网速稳定
2.磁盘IO稳定
3.数据库文件足够大,不需要在插入过程中自动扩大文件
[/Quote]

这几个都不是问题,数据库文件在插入过程中是不允许自动扩大容量的。
另外说明的一点是:数据库里面的数据确实已经很大大,大概在几十亿条,单表大概在几千万条的级别。
数据库表有索引。
sqlload采用的是parallel方式导入。
SpecialName8 2011-12-30
  • 打赏
  • 举报
回复
想了其他一些相关因素
1.网速稳定
2.磁盘IO稳定
3.数据库文件足够大,不需要在插入过程中自动扩大文件
Firing_Sky 2011-12-30
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 zyuc_wangxw 的回复:]

有其它的作业占用了大量的CPU时间吧
[/Quote]

CPU基本上完全空闲,8个核只有一个核有负载
Firing_Sky 2011-12-29
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 java3344520 的回复:]

导入的表上除了导入外,是否有其它的应用往里读取和写入数据?
一般来说资源抢占问题造成的,当然还可以看看出现了锁和等待
[/Quote]

不排除有别的应用读取数据,但是SQL Loader使用的并行方式导入的。另外就是数据库查询我觉得基本上是平均分布的,肯定没有别的应用对这些表进行锁定。正常应用的访问对导入效率的影响有这么大吗?
如果真的是这个的影响,那么怎样才能评估对导入效率的影响到底能达到什么样的级别?
如果把导入文件的大包拆成小包,是不是有可能能减少这个影响呢

顺便再贴个夸张的:

跳过的逻辑记录总数: 0
读取的逻辑记录总数: 1024647
拒绝的逻辑记录总数: 0
废弃的逻辑记录总数: 0

从 星期四 12月 15 12:08:10 2011 开始运行
在 星期四 12月 15 12:11:11 2011 处运行结束

经过时间为: 00: 03: 01.41
CPU 时间为: 00: 00: 16.72
iqlife 2011-12-29
  • 打赏
  • 举报
回复
导入的表上除了导入外,是否有其它的应用往里读取和写入数据?
一般来说资源抢占问题造成的,当然还可以看看出现了锁和等待
qinglang1987 2011-12-29
  • 打赏
  • 举报
回复
有其它的作业占用了大量的CPU时间吧
Firing_Sky 2011-12-29
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 luiseradl 的回复:]

很明显,CPU时间与经过时间相差很大,有其它的作业占用了大量的CPU时间。
[/Quote]

这是我困扰的地方,系统服务器总共8个内核,除了一个内核有作业以外,其他核的CPU使用率基本上都是0
我心飞翔 2011-12-29
  • 打赏
  • 举报
回复
很明显,CPU时间与经过时间相差很大,有其它的作业占用了大量的CPU时间。

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧