In an Oracle Streams setup, any transaction done e.g. insert/update/delete will stream across to the other database. There are some situations where you would need to bypass this.
This can be done by switching streams off in the current session (by setting a specific tag in all the redo entries generated by the session) and then doing the bulk DML and then disconnecting from session.
Following is a worked example -
--Switch Streams off the current SQL session
SQL> exec DBMS_STREAMS.SET_TAG(tag => HEXTORAW('1D'));
***** Do you bulk DML here *****
--When done disconnect from session
SQL> exit;
That way we bypass Oracle Streams for a specific transaction.
Note that this is under assumption that we have is_null_tag set to 'Y' in capture rules. |