【问题标题】:How to import millions of records from flat file to oracle table如何将数百万条记录从平面文件导入到 oracle 表
【发布时间】:2018-11-17 00:38:57
【问题描述】:

我需要将大量数据(大约 3000 万行)从转储文件加载到 oracle。如果我使用 oracle 数据导入实用程序,则需要 @5 小时。将这些行加载到 oracle 表中(我显然是在没有任何额外检查的情况下将行插入到表中)。有没有办法优化导入过程?

【问题讨论】:

  • 您到底在使用什么以及如何使用?
  • 嗨,克里斯,我正在使用 Toad,通过其模式浏览器,我正在选择一个表并使用数据 - 导入实用程序。在导入向导中,我选择转储文件并将数据映射到表列并继续进行数据导入。

标签: oracle bulkinsert


【解决方案1】:

我推测您提到的“数据导入实用程序”实际上是 SQL*Loader。是吗?如果没有,应该是:)

您可以做几件事,例如:

  • 如果目标表上存在索引和/或约束,则删除/禁用它们(然后撤消操作)
  • 如果您没有指定不同,则使用 常规 路径 - 切换到 直接路径(使用“direct=true”) - 它可能会产生巨大的差异
  • 另外,在并行中加载数据(指定“parallel=true”);它仅适用于直接路径,并且允许多个加载会话同时工作

可能还有其他一些选项,但是 - 如果您尝试其中任何一个,您应该已经看到一些改进。

【讨论】:

  • 您好 Littlefoot,感谢您的意见,我按照您的建议尝试了 SQL Loader 选项(direct=true,parallel=true),结果令人印象深刻。它现在可以在 4-5 分钟内导入我的数据。非常感谢您的帮助:)
猜你喜欢
  • 2013-05-02
  • 2015-05-13
  • 1970-01-01
  • 2010-09-13
  • 1970-01-01
  • 2016-04-20
  • 2010-09-11
  • 2012-06-14
  • 2013-05-02
相关资源
最近更新 更多