Uit de handleiding op:http://docs.oracle.com/cd/E11882_01/server.112/e26088/functions184.htm#SQLRF51825
CURRENT_USER
De naam van de databasegebruiker wiens bevoegdheden momenteel actief zijn. Dit kan tijdens de duur van een sessie veranderen om de eigenaar van een actief rechtenobject van de definitie weer te geven. Als er geen rechtenobject van de definitie actief is, retourneert CURRENT_USER dezelfde waarde als SESSION_USER. Wanneer dit rechtstreeks in de hoofdtekst van een weergavedefinitie wordt gebruikt, wordt de gebruiker geretourneerd die de cursor uitvoert die de weergave gebruikt; het respecteert de weergaven die in de cursor worden gebruikt niet als zijnde rechten van de definitie.
SESSION_USER
De naam van de databasegebruiker bij aanmelding. Retourneert het schema voor zakelijke gebruikers. Retourneert voor andere gebruikers de gebruikersnaam van de database. Deze waarde blijft gedurende de hele sessie hetzelfde.
Dus er is is een verschil tussen SESSION_USER en CURRENT_USER, vooral wanneer CURRENT_USER wordt gebruikt in een opgeslagen procedure of functie.
Ik moet echter toegeven dat ik niet weet wat de term 'zakelijke gebruiker' betekent.
Trouwens:er is nog een derde:
SESSION_USERID
De identifier van de databasegebruiker bij het inloggen.