 |
|
Monitoring SQL*Loader Inserts
Oracle Database Tips by Donald Burleson |
Question: How
do I monitor database stress when using SQL*Loader?
Answer: This
depends if you are using the "direct" option for direct path loads. Non
direct path loads (conventional) generate SQL, according to the documentation,
and they should be visible in v$sql and STATSPACK.
"During a conventional path load, data fields in the datafile are
converted into columns in the database (direct path loads are conceptually
similar, but the implementation is different). There are two conversion
steps:
1 - SQL*Loader uses the field specifications in the control file to
interpret the format of the datafile, parse the input data, and populate the
bind arrays that correspond to a SQL INSERT statement using that data.
2 - The Oracle database accepts the data and executes the INSERT statement
to store the data in the database."
On the other hand sqlldr with the "direct" option bypasses conventional
processing and stuffs the rows directly into the data blocks. The docs
note:
"A direct path load parses the input records according to the field
specifications, converts the input field data to the column datatype, and
builds a column array. The column array is passed to a block formatter,
which creates data blocks in Oracle database block format.
The newly formatted database blocks are written directly to the database,
bypassing much of the data processing that normally takes place. Direct path
load is much faster than conventional path load, but entails several
restrictions."
Monitoring Resources for SQL*Loader:
|
|
|
Get the Complete
Oracle Utility Information
The landmark book
"Advanced Oracle
Utilities The Definitive Reference" contains over 600 pages of
filled with valuable information on Oracle's secret utilities.
This book includes scripts and tools to hypercharge Oracle 11g
performance and you can
buy it
for 30% off directly from the publisher.
|
|
|