Echec de la connexion à la base de données en raison d'une erreur SSL ou TSL
Lors d'une mise à niveau depuis Maximo® Manage 8.5.x vers 8.6.x ou versions ultérieures, avec une base de données Db2® , le processus s'arrête au point d'activation de l'espace de travail. Une erreur SSL (Security Socket Layer) ou TSL (Transport Layer Security) est la cause et la solution consiste à spécifier explicitement la version SSL dans la chaîne de connexion JDBC .
Arrière-plan
Le message d'erreur du pod de bundle de serveur peut ressembler à ce qui suit.
25 Apr 2023 04:24:59:367 [ERROR] [sql] BMXAA6421E - The system could not connect to the JDBC source: jdbc:db2://c-db2wh-1640014734526263-db2u-engn-svc.mas-cpd.svc:50001/BLUDB:sslConnection=true;Unsupported protocolSSL_TLSv2
25 Apr 2023 04:24:59:368 [ERROR] [maximo] BMXAA6538E - Failed to initialize MAXIMO business object services.
psdi.util.MXSystemException: access#DBConnectFail
Caused by: java.lang.IllegalArgumentException: Unsupported protocolSSL_TLSv2
at sun.security.ssl.ProtocolVersion.namesOf(ProtocolVersion.java:292) ~[?:?]
at sun.security.ssl.SSLSocketImpl.setEnabledProtocols(SSLSocketImpl.java:362) ~[?:?]
at com.ibm.db2.jcc.t4.w.run(w.java:123) ~[db2jcc.jar:?]
at java.security.AccessController.doPrivileged(AccessController.java:747) ~[?:?]
at com.ibm.db2.jcc.t4.a0.a(a0.java:435) ~[db2jcc.jar:?]
at com.ibm.db2.jcc.t4.a0.<init>(a0.java:97) ~[db2jcc.jar:?]
at com.ibm.db2.jcc.t4.a.b(a.java:367) ~[db2jcc.jar:?]Le journal de l'opérateur affiche un message indiquant l'erreur TLS, comme illustré dans l'exemple suivant.
[0;31mfatal: [localhost]: FAILED! => {"changed": true, "rc": 1, "return_code": 1, "stderr": "", "stderr_lines": [], "stdout": "Calling isValidDBConnection ...\nValidating DB connection from script /opt/IBM/SMP/maximo/is-updatedb-needed.sh using the querycount utility to check for the maxvars table.\nDB Connection return code = 255\nNote: A return code of 0 (table found) or 1 (table not found) indicates a successful query via a valid DB connection and that an exception has not occurred. Otherwise, there's a problem connecting to the database.\nisvalidconn.log\n==================\nDEBUG***:queryType=table\nException\njava.lang.IllegalArgumentException: Unsupported protocolSSL_TLSv2\n\tat java.base/sun.security.ssl.ProtocolVersion.namesOf(ProtocolVersion.java:292)\n\tat java.base/sun.security.ssl.SSLSocketImpl.setEnabledProtocols(SSLSocketImpl.java:362)\n\tat com.ibm.db2.jcc.t4.w.run(w.java:123)\n\tat java.base/java.security.AccessController.doPrivileged(AccessController)Informations nécessaires pour le support IBM
Collectez des données MustGather pour Maximo Application Suite à l'aide de l'outil MustGather . Pour plus d'informations, consultez la section À lire en premier : Collecte MustGather de données à IBM®Maximo Application Suite l'aide de MustGather l'outil.
Résolution
- Dans l'interface utilisateur de Maximo Application Suite, mettez à jour l' URL la base de données de l'une des manières suivantes.
- Accédez à Espaces de travail dans le menu et sélectionnez la vignette Gérer . Cliquez sur Connexion à la base de données dans la section Intégration et dépendances .
- Vous pouvez également accéder à Configurations dans le menu et cliquer sur Connexion à la base de données dans la sectionStockage .Remarque : la modification de l' URL de la base de données concerne toutes les applications de Maximo Application Suite, et pas seulement Maximo Manage
- Cliquez sur l'icône Modifier et assurez-vous que la propriété
sslVersion=TLSv1.2est incluse dans l' URL la base de données. L' URL suivante n'est qu'un exemple.jdbc:db2://HOSTNAME:50001/BLUDB:sslConnection=true;sslVersion=TLSv1.2;