In Oracle-Funktionen und -Triggern hole ich mir den aktuellen Benutzer meistens über folgende Logik:
coalesce( sys_context('apex$session', 'app_user') , sys_context('userenv', 'os_user') , sys_context('userenv', 'session_user') );
Der Vorteil davon ist, dass das ganze sowohl mit APEX als auch unabhängig davon funktioniert.