Below is the techinical issue that I am trying to see if there is a way out: (I simplified the issue as much as I could to give you overall idea. )

Platform:
Oracle Version: 11.2.0.4
OS: CentOS 6.4

There are two schemas named SCH01 and SCH02 on databases DB01 and DB02 respectively. The schemas are totally identical and their definition match. The data in the schemas differ though. SCH01 schema has a table named DATA01 with ~10GB data, 23 indexes and 40 check constraints. The requirement is to copy some data (filtered out by predicates) from DATA01 table in SCH01 to DATA01 table in SCH02 schema and update one column value in SCH02.

Only way that worked out so far is: (there are definitely other several ways like export/import etc but they have limitations in our case)
1) set constraints deferred
2) disable triggers on the target table
3) select from source table and insert into destination table
4) commit
5) enable

Observation: If the whole process takes 2hrs I can see it spending 1hr doing step 4 (i.e. commit). It is validating the constraints etc at this step.

Issue: The data from the source schema is already trusted and validated against all constraints. Is there a way to skip constraint check when copying (only for the copy transaction) the data to destination schema? We can't disable all constraints on the destination permanently or even for few hours as the destination is also a live database and data needs to be validated which comes via other sessions. Set constraints deferred will not work as well as it will still do the constraint validation during commit.

Any suggestions on how to skip constraint validation totally while doing commit (step 4 only from above)? Basically the question drills down to How to skip constraint check within a transaction?

Thanks for reading.