И, наконец, экзотично, если пароль содержит какие-либо символы, кроме буквенно-цифровых символов и знаков препинания. Поскольку 10g не чувствителен к регистру, пароль в нижнем регистре преобразуется в верхний регистр, что может вызвать странные эффекты с такими вещами, как символы с ударением

я есть скрипт bash, который подключается к базе данных Oracle 10g.

На первом этапе он берет некоторые переменные из файла «config» с помощью следующей команды

. /path/to/my/configfile.ini

В конфигурационном файле есть несколько переменных:

export USRID=myUser
export USRID_PASS=myPassword
export USR_PASS="$USRID/$USRID_PASS@myDatabase"

Затем он подключается через sqlplus с помощью команды:

sqlplus -s $usr_pass

Ужасные проблемы с безопасностью и дизайном в стороне (этот скрипт существует уже 5 лет). Это фактически делает свою работу на одном из наших серверов UNIX, но не на другом.

Когда я запускаю скрипт сbash -xЯ вижу, что команда расширилась до:

sqlplus -s myUser/myPassword@myDatabase

... что должно хорошо (и на самом деле работает на одном сервере), но ответ на сбой сервера:

ОШИБКА: ORA-01017: неверное имя пользователя / пароль; вход запрещен

SP2-0306: Неверный параметр. Использование: CONN [ECT] [вход] [AS {SYSDBA | SYSOPER}] где :: = [/] [@] | SP2-0306: Неверный параметр.

Я предполагаю, что это больше связано с bash, чем с oracle, но я не эксперт по bash. Есть ли какая-то конфигурация или детали, которые мне не хватает?

РЕДАКТИРОВАТЬ:

Пытаясь уточнить проблему, я запускаю две версии скрипта на третьем сервере разработки, и в разных тестах вход в систему работает, если я делаю это с:

sqlplus -s $usrid/$usrid_pass@myDatabase

но не тогда, когда я пытаюсь:

sqlplus -s $usr_pass

Так что это немного раздражает.

Кроме того, мне нужно проверить процесс синхронизации файла конфигурации ... Я дам вам знать, когда я доберусь до чего-то нового. Спасибо всем.

Ответы на вопрос(3)

Ваш ответ на вопрос