Pull to refresh

Comments 11

небезопасно очень сильно… пользователь БД сможет выполнить любой скрипт на сервере — не есть гуд, а если учитывать то что, пользователь OS, под которым запущена Oracle, часто может зайти как sysdba без пароля — то вообще трындец.
если только зашивать нужные скрипты в либу, то да и то постоянно рекомпилить необходимости невесело. у java варианта в этом случае большое преимущество — выдается грант пользователю именно на нужный скрипт.
как еще один из вариантов подобного — habrahabr.ru/post/136423/ только вот я не в курсе, так оно с ХЕ уживется.
Java — круто, но мне было не судьба
что-то с буквами, извиняюсь за орфографию — пунктуацию.
Да даже если с безопасностью доступа все будет ок, то проблема сама в постановке задачи: 1) в безопасности выполнения самого триггера и 2) производительности. Я бы предложил решить выносить любые такие вызовы в AQ или job/scheduler.
Хорошая статья, спасибо, но вы слегка изобрели велосипед, есть пакет os_command на джаве от Oracle, который вместе с тремя другими способами вызова команд операционной системы описан еще в 2008 году вот тут:

www.oracle.com/technetwork/database/enterprise-edition/calling-shell-commands-from-plsql-1-1-129519.pdf
В документе, который вы приводите написано следующее:
Software requirement
1.…
2. Java in database installed and enabled
3.…

К сожалению в редакции XE невозможно использовать Java в процедурах, иначе бы эта статья не появилась
В listener.ora для listener'а, который будет обрабатывать внешние процедуры, надо бы добавить настройку:
(ENVS=«EXTPROC_DLLS=путь»)
, где «путь» — это каталог (или несколько каталогов, разделенные двоеточием), в который будет помещаться библиотека. Это даст возможность, во-первых, поместить библиотеку в каталог, отличный от $ORACLE_HOME/bin; во-вторых, усилит безопасность, т.к. все внешние библиотеки должны будут располагаться по перечисленным в этом параметре путям.
Товарищь vallkor уже писал решение через Java предложенное самим Oracle
решение для 10-ки и выше
будет полезно тем у кого 9-ка
Sign up to leave a comment.

Articles