Я обновил клиент ProxyServer Oracle с 11.1.0.7 до 12.1.0.1 с помощью пакета rpm.
Операция установки прошла нормально.
Но, подключившись к Oracle через этот ProxyServer, я получил следующую ошибку в журнале dbiproxy.
install_driver(Oracle) failed:
Can't load '/usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi/auto/DBD/Oracle/Oracle.so' for module DBD::Oracle:
libocci.so.11.1:
cannot open shared object file:
No such file or directory at /usr/lib/perl5/5.8.8/i386-linux-thread-multi/DynaLoader.pm line 230.
at (eval 7) line 3
Compilation failed in require at (eval 7) line 3.
Perhaps a required shared library or dll isn't installed where expected at /usr/bin/dbiproxy line 26
(разрывы строк добавлены для удобства чтения).
Затем я попытался исправить это следующим шагом, но ничего не стало лучше.
- пользователем Oracle, который является владельцем процесса ProxyServer, измените $ ORACLE_HOME с /usr/lib/oracle/11.1/client на /usr/lib/oracle/12.1/client
- пользователем Oracle, добавьте /usr/lib/oracle/12.1/client/lib к вершине $ LD_LIBRARY_PATH
- добавьте новый путь к библиотеке /usr/lib/oracle/12.1/client/lib в / и т.д. / ld.so.conf.d / oracle .conf. затем запустил команду / sbin / ldconfig.
Наконец, я нашел обходной путь.
Я создал символическую c ссылку в /usr/lib/oracle/11.1/client/lib, как показано ниже.
libclntsh.so.11.1 -> /usr/lib/oracle/12.1/client/lib/libclntsh.so.12.1
libocci.so.11.1 -> /usr/lib/oracle/12.1/client/lib/libocci.so.12.1
затем, Соединение Oracle работает нормально.
Oracle 'V $ SESSION_CONNECT_INFO показывает версию клиента '12 .1.0.2.0'.
Я предполагаю, что dbiproxy работает пока правильно.
Мой вопрос.
- Это правильный способ обновления библиотеки Oracle dbiproxy?
- Можно ли сохранить старую версию (11.1.0.7) cl inet, на всякий случай
- Как я могу переключить клиентские версии dbiproxy 11.1.0.7 и 12.1.0.1 без удаления / установки с помощью пакета rpm?
Спасибо.