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.