oracle - SqlLoader 中的提交点​​,使用的行不起作用

标签 oracle sql-loader

我正在使用 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/

相关文章:

oracle - PLS-00302 : component 'SLEEP' must be declared

oracle - 在 SQL Loader 上禁用 BAD/丢弃文件日志

java - 在 Linux 机器上以 Java 代码运行 .sh 文件

sql - 获取最高价格商品的 ID

sql-server - 如何使用 OracleBulkCopy 格式化 SQL Server DateTimeOffset 并移动到 Oracle

oracle - 使用 DIRECT = TRUE 运行 sqlldr 时,您能看到加载进度吗?

database - 在 bash 脚本中使用通配符

sql - 如何调试ORA-01775 : looping chain of synonyms?

mysql - 违反了完整性约束 - 即使父表中存在行也找不到父键