Can not get the user(built-in function) value in a trigger fired by Streams apply process.
Usually, we are using the "user" or "uid" built-in function in a trigger to know which one touch the rows in a table. But now, the "user" value is null and "uid" value is 0 while the trigger is fired by the Streams apply process. Of course below command has been executed to let the trigger fired for the apply process:
exec DBMS_DDL.SET_TRIGGER_FIRING_PROPERTY('DMS', 'TR_TABLE_AAA', false);
Is this because the apply process is an Oracle background process? If it is true, how can we find out which apply process touch the row while there are more than one apply processes related with same table. For example, multiple source databases might replicate a table to the same database.