ORA-28040: после обновления базы данных до 12c с 11g - PullRequest
0 голосов
/ 25 января 2019

Постановка проблемы:
Мы выполняем миграцию, в которой мы перенесли DATABASE из ORACLE 11g в ORACLE 12c.После обновления одно из наших приложений, которое использует jdk 6 с ojdbc6.jar (драйвер JDBC), не может подключиться к базе данных 12c.Ниже приведена ошибка: java.sql.SQLException: ORA-28040: Нет соответствующего протокола аутентификации »После обновления базы данных до 12c

Текущая конфигурация:
JDK Version-1.6
Драйвер JDBC - ojdbc6.jar
Версия базы данных: Oracle 12c

SQLNET.ALLOWED_LOGON_VERSION_SERVER = 11 SQLNET.ALLOWED_LOGON_VERSION_CLIENT = 11

Пробное решение:
1017) Мы попытались запустить простое приложение jdbc с jdk1.6 и ojdbc6.jar, оно оказалось успешным.Также это соответствует матрице совместимости Oracle.
2) Мы попросили обновить параметр SQLNET.ALLOWED_LOGON_VERSION_SERVER = 8, но команда безопасности не может сделать это, поскольку это не соответствует стандартам безопасности.

Пожалуйста, предложите, как мыследует продолжить, чтобы решить эту проблему.

Заранее спасибо.

1 Ответ

0 голосов
/ 29 января 2019

Тогда проблема была в weblogic.jar, и из пути к классам weblogic.jar направлялся файл ojdbc14.jar.Мы проверили библиотеку WL_HOME \ server \ lib и обнаружили, что там находится файл ojdbc14.jar.Мы просто оставили его там, но скопировали ojdbc6.jar в какой-то внешний каталог и загрузили его в CLASSPATH перед всеми jar-файлами.Ниже приведены документы oracle-

. Этот драйвер устанавливается в папку WL_HOME \ server \ lib (где WL_HOME - это папка, в которой установлен WebLogic Server) вместе с weblogic.jar.Манифест в weblogic.jar перечисляет этот файл так, что он загружается при загрузке weblogic.jar (при запуске сервера).Следовательно, вам не нужно добавлять этот драйвер JDBC в CLASSPATH.Если вы планируете использовать сторонний драйвер JDBC, который не установлен вместе с WebLogic Server, вы должны установить драйверы, которые включают обновление CLASSPATH путем указания пути к файлам драйвера и могут включать обновление PATH путем указания пути к клиенту базы данных.файлы.См. «Поддерживаемые конфигурации баз данных» на странице «Поддерживаемые системные конфигурации Oracle Fusion Middleware» в новом окне http://www.oracle.com/technology/software/products/ias/files/fusion_certification.htmlOpens.

Если вы планируете использовать другую версию любого из драйверов, установленных с WebLogic Server,Вы можете заменить файл драйвера в WL_HOME \ server \ lib обновленной версией файла или добавить новый файл в начало CLASSPATH.

Так что, если вы столкнулись с той же проблемой, я хотел бы предложить-
1) Проверьте драйвер Oracle (ojdbc) - как и большинство постов в StackOverflow, предлагают то же самое. Вы можете проверить совместимость драйвера ojdbc здесь
2) Если вы не можете немедленно изменить драйвер, то изменение в sqlnet.ora

SQLNET.ALLOWED_LOGON_VERSION_SERVER=8
SQLNET.ALLOWED_LOGON_VERSION_CLIENT=8

(SQLNET.ALLOWED_LOGON_VERSION устарело в 12c. Такжеобратите внимание, что в 12c значение по умолчанию для параметра SQLNET.ALLOWED_LOGON_VERSION_SERVER было обновлено до «11.» Это означает, что клиенты баз данных, использующие тонкие драйверы JDBC до 11g, не могут аутентифицироваться на серверах баз данных 12.1, если для параметра не установлено значениестарое значение по умолчанию «8») Для справки, пожалуйста, проверьте-
https://docs.oracle.com/database/121/UPGRD/deprecated.htm#UPGRD60010
https://docs.oracle.com/database/121/UPGRD/afterup.htm#UPGRD60157

Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...