Назад | Перейти на главную страницу

Как вы используете инструменты Oracle из скриптов?

Большинство инструментов и скриптов Oracle требуют, чтобы вы передавали им пароль через командную строку, где все на одном компьютере могут их видеть. Пример:

exp <user>/<password> ...

Есть ли способ вызвать эти команды (например, sqlplus, imp, exp) из сценария без ущерба для безопасности?

Вы можете использовать «идентифицированный извне», чтобы аутентификация выполнялась на уровне операционной системы.

Видеть: Руководство администратора по расширенной безопасности

для подробностей.

Для imp и exp вы можете указать параметры в файле. Вы можете изменить права доступа к этому файлу в файловой системе, чтобы сделать его доступным для чтения только выбранным вами людям. Проверьте документацию на параметр командной строки PARFILE. Параметр, который вы хотите включить в ПАРАМЕТР, - это параметр USERID.

Для SQLPLUS вы можете указать параметр / nolog и указать команду подключения в качестве первой строки выполняемого сценария sql.

sqlplus /nolog @myscript.sql

А затем в myscript.sql:

connect user/pass@tnsname
...

Для SQLPlus я обычно рекомендую создать файл или использовать «здесь» документ, чтобы вы могли защитить имя пользователя / пароль от просмотра с помощью команды «ps -ef» в Unix / Linux. Если имя пользователя / пароль содержится в файле сценария или sql-файле, вы можете защитить его, используя соответствующие права доступа пользователя / группы на чтение. Затем вы можете сохранить пользователя / проход внутри файла, как это в сценарии оболочки:

sqlplus -s /nolog <<EOF 
connect user/pass 
select blah from blah; 
quit 
EOF