Если вы не можете прикоснуться к коду приложения, а само приложение не передает эту информацию в базу данных, вы зашли в тупик.Единственный способ сделать эту информацию доступной для внутреннего кода - это передать ее на средний уровень.
Oracle предоставляет приложениям несколько способов передачи информации от среднего уровня к внутреннему, ноприложение должно быть построено, чтобы воспользоваться ими.Например, в пакете DBMS_APPLICATION_INFO
есть процедура set_client_info
, которая позволяет среднему уровню передавать имя пользователя среднего уровня, которое может запросить ваш внутренний триггер.Вы также можете использовать контексты Oracle , если вам нужен более общий механизм.Однако любой из этих подходов реально требует написания Java-приложения для передачи этой информации бэкэнду, когда соединения извлекаются из пула соединений.