我正在使用 SqlLoader
加载大文件,为此我需要更改提交点。
我使用了 rows=1000 但它在执行时没有反射(reflect)。我已尝试使用以下命令执行此操作:
>sqlldr user/pass@db control=myctl.ctl log=mylog.log rows=1000
上面的命令并没有改变我的提交点。是否需要修改oracle环境文件来改变提交点?
最佳答案
还有绑定(bind)大小需要考虑。提高它以确保您获得所需的行值。例如
C:\temp>sqlldr control=emp.ctl userid=/@db18_pdb1
SQL*Loader: Release 18.0.0.0.0 - Production on Mon Oct 7 16:00:54 2019
Version 18.6.0.0.0
Copyright (c) 1982, 2019, Oracle and/or its affiliates. All rights reserved.
Path used: Conventional
Commit point reached - logical record count 250
Commit point reached - logical record count 500
Commit point reached - logical record count 750
Commit point reached - logical record count 1000
....
C:\temp>sqlldr control=emp.ctl userid=/@db18_pdb1 rows=1000 bindsize=8000000
SQL*Loader: Release 18.0.0.0.0 - Production on Mon Oct 7 16:01:19 2019
Version 18.6.0.0.0
Copyright (c) 1982, 2019, Oracle and/or its affiliates. All rights reserved.
Path used: Conventional
specified value for readsize(1048576) less than bindsize(8000000)
Commit point reached - logical record count 1000
Commit point reached - logical record count 2000
Commit point reached - logical record count 3000
Commit point reached - logical record count 4000
关于oracle - SqlLoader 中的提交点,使用的行不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58265124/