In a large text (more than 1.5 GB), when there are both carriage return line breaks and carriage return end characters, if the size of the end line is greater than sqlldr's default buffer of 1048576, an error is reported.
In a large text (more than 1.5 GB), when there are both carriage return line breaks and carriage return end characters, if the size of the end line is greater than sqlldr's default buffer of 1048576, an error is reported.
In a large text (more than 1.5 GB), when there are both carriage return line breaks and carriage return end characters, if the size of the line feed end is greater than sqlldr's default buffer of 1048576, an error is reported.
SQL * Loader-510: the maximum number of physical records in the data file (XXX.txt) is exceeded (1048576)
SQL * Loader-2026: the load is terminated because the SQL Loader cannot continue.
Search online for a long time, Solution
Modify readsize-the read buffer size (1048576 by default) to 20971520
However, an error is reported.
SQL * Loader-510: the maximum number of physical records in the data file (XXX.txt) is exceeded (20971520)
SQL * Loader-2026: the load is terminated because the SQL Loader cannot continue.
Here is a simple analysis of the cause. When sqlldr is loaded to my txt text, the first line ends with a carriage return line break, and all lines end with a carriage return line break by default, when loading to the text area ending with a line break, an error is reported because the number of lines ending with a line break is too large and the buffer cannot be loaded.
Solution:
INFILE "xxx.txt" str X '0a '"
0A represents a line break, which is loaded together. It is equivalent to defining the end symbol of a new line.
,