Base de datos privada virtual de Oracle puede ser lo que buscas. Del manual:
Es posible que pueda obtener el proceso y consultar el texto de SYS_CONTEXT
. Por ejemplo, sys_context('userenv', 'current_sql')
y sys_context('userenv', 'module')
. Es posible que también deba usar GV$SESSION
para obtener más información.
Sin embargo, creo que deberías tratar de evitar el VPD si es posible. Es extremadamente confuso tener todas sus declaraciones SQL convertidas silenciosamente en segundo plano. Puede dificultar mucho el desarrollo y la resolución de problemas.
Actualizar
El marco de traducción de SQL característica en Oracle 12c probablemente sería la mejor solución para este problema.