我们在sql loader中遇到了问题。我们试图在使用Sql Loader的某些条件的基础上,将大约46亿行(接近340 GB)的数据文件加载到2个oracle表中。但是在加载了42亿条记录之后,SQL加载程序进程即使在仍然要加载其余记录时也没有出现任何错误。
也没有任何记录或不良记录。 SQL Loader可以加载的记录数是否有限制?在任何地方都找不到任何这样的东西。 如果有人对这个问题有任何线索,请告诉我。
谢谢!
答案 0 :(得分:4)
2³²的值为4294967295,接近42亿。
所以从你的问题的描述我只能说可能 sqlldr的LOAD
的默认值实际上是2³² - 1,这个值存储在32位。
答案 1 :(得分:1)
我已经测试了Benoit关于内部LOAD整数对于+ 4.2bil行来说太小的假设。这是真的。当我将源文件切割成-4.2bil行的文件,并使用append插入它们时,插入工作完美。
因此,这不是数据库限制,如下所示: https://forums.oracle.com/message/11201322 (还在那里发布了我的结论)
此外,还有一个关于Oracle论坛的BluShadow尝试使用外部表的建议。还没测试过。