Open topic with navigation
DMExpress uses two methods to load data into an Oracle database target table:
DMExpress dynamically selects either the fast load or regular load method to load the data into an Oracle target database table. DMExpress uses fast load whenever possible to get optimal performance. In cases where DMExpress cannot use fast load, DMExpress continues with regular load and issues a warning message that provides information on why fast load cannot be used.
The following warning message is issued when fast load cannot be used:
(DOPRFNOP) performance of writing to target database "<text>" table "<text>" was not optimal
This message is followed by one of the following warning messages, which explain why fast load cannot be used:
(INDXNOFL) there are unique index(es) on the table
(NOUNQIDX) information about unique index(es) on the table could not be retrieved
(TRIGGERS) there are triggers on the table
(CONSTRTS) there are referential or check constraints on the table
(CMTORARE) you have specified a number of records for the commit interval
In cases where DMExpress cannot use fast load, DMExpress continues with regular load. Provided the integrity of the database is not compromised, consider the following actions to ensure that DMExpress uses fast load.
If the target table has unique indexes and the new data is unique for the columns with indexes, do the following:
If the target table has triggers, do the following:
If the target table has primary key, unique key, referential, or check constraints and the new data does not violate the constraints, do the following:
The target table must be a non-clustered table. If possible, port the data to a non-clustered table.
The target table must be unique in a DMExpress task. If the DMExpress task accesses the same target table multiple times, the task uses regular load to load the data into the table.
The Oracle Direct Path Load API requires an exclusive lock on the target table, which can only be attained when no other DMExpress task or external process is writing to the target table at the same time.
Ensure that no other DMExpress task or external process is attempting to access the target table at the same time as the current DMExpress task.
If another DMExpress task or external process attempts to access the target table at the same time as the current task, the task waits for the exclusive lock to be released and uses regular load to load the data into the table.
The Commit Interval of the target table must be set to "End of Task" or must not be set at all. Do not set the Commit Interval to "Number of records."
For additional details on the DMExpress warning messages when fast load cannot be used, refer to the DMExpress Help.
For more information on direct path load and conventional path load, refer to Oracle's documentation.
Copyright © 2016 Syncsort All rights reserved.