Hi all,
I am new to this community. Hope to have a great learning experience here.
The error I am receiving while loading a huge file is:
SQL*Loader-510: Physical record in data file is longer than the maximum(1048576)
Actually the csv file I am loading from is huge, has 9lac+ records. Increasing the readsize doesnt help... Let me write down the full command I am issuing:
C:>sqlldr "test/test@conf" control='E:control_location.ctl',log='E:log_location.log',data='E:data_location.txt',errors=0,direct=true,commit_discontinued=true,readsize=3000000;
returns an error...
LRM-00104: '3000000;' is not a legal integer for 'readsize'
Please suggest me a way out. Thank you all in advance,
Avishek.
Hi,
When I am trying the command with the normal read buffer size, then it gave the error:
SQL*Loader-510: Physical record in data file is longer than the maximum(1048576)
That is why I tried it with a higher buffer value. Trying with a lesser value gives the above error msg.
The error means just what it says, in this case; one or more of your records is too long for the loader to handle. You'll need to investigate the use of one of SQL*Loader's workaround methods; Concatenate or ContinueIf.
SQL*Loader-510: physical record in datafile is longer than the maximum
Cause: The datafile has a physical record that is too long.
Action: Use CONCATENATE or CONTINUEIF. Break up the physical records.
If you don't have the documentation for SQL*Loader, or access to Oracle's site, you can find the relevant section here: http://tbw.verbundstudium.de/faecher/datenbanken/loader/loader_ref.pdf
Free Guide: Managing storage for virtual environments
Complete a brief survey to get a complimentary 70-page whitepaper featuring the best methods and solutions for your virtual environment, as well as hypervisor-specific management advice from TechTarget experts. Don’t miss out on this exclusive content!
Discuss This Question: 4  Replies