如何将数百万条记录从平面文件导入到 Oracle table
How to import millions of records from flat file to oracle table
我需要将大量数据(大约 3000 万行)从转储文件加载到 oracle。如果我使用 oracle 数据导入实用程序,则需要 @5 小时。将这些行加载到 oracle table(我只是将行插入到 table,无需任何额外检查)。有什么办法可以优化导入过程吗?
我推测你提到的 "data import utility" 实际上是 SQL*Loader。是吗?如果不是,应该是:)
您可以做几件事,例如:
- 如果在目标 table 上有索引 and/or 约束,drop/disable 它们(然后反转操作)
- 如果您没有指定不同,则使用常规路径 - 切换到直接路径(使用"direct=true") - 它可能会带来巨大的不同
- 另外,并行加载数据(指定"parallel=true");它仅适用于直接路径,并且允许多个加载会话同时工作
可能还有一些其他选择,但是 - 如果您尝试其中任何一个,您应该已经看到一些改进。
我需要将大量数据(大约 3000 万行)从转储文件加载到 oracle。如果我使用 oracle 数据导入实用程序,则需要 @5 小时。将这些行加载到 oracle table(我只是将行插入到 table,无需任何额外检查)。有什么办法可以优化导入过程吗?
我推测你提到的 "data import utility" 实际上是 SQL*Loader。是吗?如果不是,应该是:)
您可以做几件事,例如:
- 如果在目标 table 上有索引 and/or 约束,drop/disable 它们(然后反转操作)
- 如果您没有指定不同,则使用常规路径 - 切换到直接路径(使用"direct=true") - 它可能会带来巨大的不同
- 另外,并行加载数据(指定"parallel=true");它仅适用于直接路径,并且允许多个加载会话同时工作
可能还有一些其他选择,但是 - 如果您尝试其中任何一个,您应该已经看到一些改进。