my $dbh = DBI->connect("dbi:Oracle:$dbname", $user, $passwd,
{
AutoCommit => 0,
RaiseError => 1,
RowCacheSize => 10000,
ora_array_chunk_size => 100000,
#ora_check_sql => 0,
#ora_verbose => 0xff,
#ora_oci_success_warn => 1,
}
);
To my understanding, AutoCommit => 0;
doesn't mean much. The default action will be to
"commit" each insert operation no matter what this says, if you do not start a transaction explicitly.
You need to start a transaction explicitly, insert huge amount of rows and then end the transaction explicitly. As I have suggested before, about 128K rows per commit will work fine.
|