pkg_libc.system не устанавливает среду PATH при вызове из хранимой процедуры - PullRequest
0 голосов
/ 23 октября 2018

У нас есть база данных Oralce 11.2.0.4.Триггер имеет код, который использует библиотеки pkg_libc.system для вызова основных команд os, таких как ls, rm и т. Д.

В нашей производственной среде (REDHAT 7.2) триггер работает как положено.

В нашей среде pre-prot (AWS, EC-2, REDHAT 7.2) проблемы триггера возникают при вызове команд ОС pkg_libc.system, если в коде не используется полный путь.

Например,

select  pkg_libc.system('ls') from dual;

PKG_LIBC.SYSTEM('LS')
---------------------
                32512

select  pkg_libc.system('/bin/ls') from dual;

PKG_LIBC.SYSTEM('/BIN/LS')
--------------------------
                         0

Мы испробовали все приведенные ниже решения, но ничего не работает, как

1) Мы устанавливаем переменные среды PATH в bash_profile, bashrc и т. Д., Но всякий раз, когдаpkg_libc выполняется. Переменная окружения PATH поставляется пустой.2) Мы изменили с bash sheel на korne, но та же ошибка.3) Экспортировать только определенные переменные среды, но это не удается.

Наша конечная цель - заставить команды ОС, такие как ls, chown, rm и т. Д., Работать без использования полного пути.

Если кто-то может помочь, пожалуйста, здесь.

С уважением, Lancerique.

...