我正在家里通过 vpn 上的 Oracle SQL Loader 加载大文件,它们需要很多时间。当我从工作中加载它们时,它们的加载速度要快得多。我正在加载的文件已经在我的工作服务器上。
所以我的想法是减速是因为为每一行打印的“达到提交点 - 逻辑记录数”。由于它们必须通过网络发送,因此必须很慢。我用谷歌搜索但找不到任何方法来减少它们的打印量。尝试添加 rows=5000 作为参数,但我仍然得到每一行的打印。
如何打印更少的“已达到的提交点 - 逻辑记录计数”计数?
谢谢
最佳答案
您可以使用options clause 中提供的关键字silent
.您可以设置following things保持沉默:
- HEADER - Suppresses the SQL*Loader header messages that normally appear on the screen. Header messages still appear in the log file.
- FEEDBACK - Suppresses the "commit point reached" feedback messages that normally appear on the screen.
- ERRORS - Suppresses the data error messages in the log file that occur when a record generates an Oracle error that causes it to be
written to the bad file. A count of rejected records still appears.- DISCARDS - Suppresses the messages in the log file for each record written to the discard file.
- PARTITIONS - Disables writing the per-partition statistics to the log file during a direct load of a partitioned table.
- ALL - Implements all of the suppression values: HEADER, FEEDBACK, ERRORS, DISCARDS, and PARTITIONS.
你会想要抑制 feedback
。
您可以在命令行上使用,例如:
sqlldr schema/pw@db silent=(feedback, header)
或者在控制文件的options子句中,例如:
options (bindsize=100000, silent=(feedback, errors) )
关于sql - Oracle SQL Loader - 如何不显示 "Commit point reached - logical record count"计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11902476/