SQL*Loader
SQL*Loader (SQLLDR) is an Oracle utility used in load service to load data from CSV files into the target tables of an Oracle database.
The next section lists commonly used SQL*Loader Options in Hyperscale jobs in addition to usage information.
For a complete list of SQL*Loader options, refer to this Oracle Database Utilities Guide.
SQLLDR options usage
Option | Usage | Hyperscale default | SQL*Loader default | Affects | Larger value benefits | Risks of too large |
---|---|---|---|---|---|---|
READSIZE |
Specifies the size (in bytes) of the read buffer used when reading data from the input file (control or data file). | None | 1048576 bytes or 1 MB | File read efficiency | Fewer disk reads | High memory usage |
STREAMSIZE | The size (in bytes) of the stream buffer used for communication between SQL*Loader and the Oracle server. | 256000 bytes | 256000 bytes or 256 KB | DB server communication | Fewer round-trips, faster loading | High PGA usage, swapping |
COLUMNARRAYROWS | The number of rows loaded before data is transferred to Oracle in array inserts (for both conventional and direct path loads). | 20000 rows | 5000 rows | Insert array size | Fewer insert operations, better throughput | Memory pressure per array |
In Hyperscale, you can define sqlldr_options
through the APIs listed below. When multiple values conflict, the following order of precedence applies:
-
Create DataSet API: values provided in
sqlldr_options
element inside target element. -
Create DataSet API: values provided in target element directly like
stream_size
orcolumn_array_rows
-
Create Job Config API: values provided inside
sqlldr_options
-
If none of the above elements (from 1 to 3) provide values, the default Hyperscale settings listed in the SQLLDR table are applied.