• I suggest one of two options:

    A. Use out of the box SQL to Oracle replication

    OR

    B. Log the changes locally and send them over in batch:

    1. Create a log table on the SQL Server

    2. Your trigger should write to this log table (not to Oracle). This means you won't run the risk of an DML failing in your SQL Server database due to an unreliable trigger failure

    3. Create a job which periodically identifies the changed records in the log in the SQL Server and writes them accross to Oracle.

    This job might call a SSIS package, or it might call a stored procedure that inserts into an Oracle linked server.

    Niether of these are simple, but they will be more reliable than useing a trigger to write directly Oracle over a linked server.

    The problem is that if your insert over a linked server on Oracle fails (which it might for many reasons), then the INSERT on the SQL Server will also fail.