Tworzenie kopii zapasowej DB2 kończy się niepowodzeniem z SQL2071N "/usr/lib/libnsrdb2.so". Kod przyczyny: "2"

Summary: DB2 uaktualniono z wersji 10.5 do 11.5 Obecność oprogramowania OpenSSL w wersji 3 w systemie (systemie operacyjnym) i OpenSSL w wersji 1 w pakiecie z NMDA Jeśli w systemie jest zainstalowany OpenSSL w wersji 3. Proces db2vend opiera się tylko na OpenSSL w wersji 3, jednak proces libnsrdb2 załaduje wersję OpenSSL obecną w NMDA ...

This article applies to This article does not apply to This article is not tied to any specific product. Not all product versions are identified in this article.

Symptoms

Tworzenie kopii zapasowych DB2 kończy się niepowodzeniem z następującym błędem po aktualizacji bazy danych z wersji 10.5 do wersji 11.5

Error:

DB2 backup fails with SQL2071N "/usr/lib/libnsrdb2.so". Reason code: "2"

DB2DIAG dziennikach występuje następujący błąd.

2025-01-13-20.16.25.864739+060 E79273449E571         LEVEL: Error (OS)
PID     : 29019                TID : 139807381163456 PROC : db2vend (db2logmgr.meth1 - 267 (
INSTANCE: db2prd               NODE : 000
HOSTNAME: labhostPRD-00
FUNCTION: DB2 UDB, oper system services, sqloLoadModule, probe:191
CALLED  : OS, -, dlopen
DATA #1 : Library name or path, 21 bytes
/usr/lib/libnsrdb2.so
DATA #2 : shared library load flags, PD_TYPE_LOAD_FLAGS, 4 bytes
0
DATA #3 : String, 92 bytes
/usr/lib/nsr/apps/lib64/libssl.so.1.1: undefined symbol: EVP_idea_cbc, version OPENSSL_1_1_0
 
2025-01-13-20.16.25.864904+060 I79274021E462         LEVEL: Error
PID     : 29019                TID : 139807381163456 PROC : db2vend (db2logmgr.meth1 - 267 (
INSTANCE: db2prd               NODE : 000
HOSTNAME: labhostPRD-00
FUNCTION: DB2 UDB, database utilities, sqluFencedVendorProcessCB::loadLibrary, probe:104
MESSAGE : ZRC=0x870F009B=-2029059941=SQLO_MOD_LOAD_FAILED
          "Dynamic library load failed."
DATA #1 : String, 21 bytes
/usr/lib/libnsrdb2.so

 

Cause

Jeśli w systemie zainstalowano OpenSSL w wersji 3.
Proces db2vend opiera się tylko na OpenSSL w wersji 3, jednak proces libnsrdb2 załaduje OpenSSL w wersji 1 obecny w NMDA

Ścieżka OpenSSL systemu operacyjnego: /usr/lib64/
Ścieżka NMDA OpenSSL: /usr/lib/nsr/apps/lib64/

Poniżej znajduje się fragment kodu niedziałającego hosta.

Dwa procesy db2vend

labhostPRD-00:(/root)(root)#ps -ef | grep db2vend | grep -v grep
db2prd   23876 23452  0 Feb05 ?        00:00:00 db2vend (PD Vendor Process - 1) 0
db2prd   24856 23452  0 Feb11 ?        00:00:04 db2vend (db2logmgr.meth1 - 27 (PRD)) 0

Najpierw db2vend z PID 23876 ładuje OpenSSL V3 ze ścieżki OpenSSL systemu operacyjnego

labhostPRD-00:(/root)(root)#lsof -p 23876 | grep -E "lib(ssl|crypto)"
db2vend 23876 db2prd DEL    REG    8,4           51527190 /usr/lib64/libcrypto.so.3.1.4
db2vend 23876 db2prd DEL    REG    8,4           51527189 /usr/lib64/libcrypto.so.1.1
db2vend 23876 db2prd DEL    REG    8,4           51784225 /usr/lib64/libssl.so.3.1.4

Drugi db2vend z PID 24856 ładuje OpenSSL V1 ze ścieżki NMDA OpenSSL (/usr/lib/nsr/apps/lib64/libssl.so.1.1) i ścieżki OpenSSL systemu operacyjnego

labhostPRD-00:(/root)(root)#lsof -p 24856 | grep -E "lib(ssl|crypto)"
db2vend 24856 db2prd mem    REG    8,4    721456 50354171 /usr/lib/nsr/apps/lib64/libssl.so.1.1
db2vend 24856 db2prd mem    REG    8,4   5715664 50354411 /usr/lib64/libcrypto.so.3.1.4
db2vend 24856 db2prd mem    REG    8,4   3924472 50360290 /usr/lib64/libcrypto.so.1.1
db2vend 24856 db2prd mem    REG    8,4    743784 50354413 /usr/lib64/libssl.so.3.1.4

Powyższe pomieszanie wersji OpenSSL jest przyczyną błędu.
NMDA OpenSSL version 1 is compiled with "IDEA encryption algorithm for EVP" but OS OpenSSL Version 1 are not.

Resolution

  1. Ten problem został rozwiązany w NMDA 19.12, NMDA dostarczone z OpenSSL V3.
  2. Odinstalowanie OpenSSL w wersji 3 najprawdopodobniej pomogłoby, ponieważ db2vend byłby wtedy zmuszony do załadowania bibliotek systemu operacyjnego libssl.so.1.1 i libcrypto.so.1.1, w wyniku czego inicjalizacja interfejsu dostawcy nie musiałaby ładować bibliotek dystrybuowanych z NMDA
  3. Obejście problemu: Zmienna środowiskowa DB2 używana jako obejście w celu wymuszenia /usr/lib/nsr/apps/lib64/ za pomocą poniższego dokumentu IBM.  DB2LIBPATH [ibm.com]Kliknięcie tego hiperłącza powoduje wyświetlenie strony spoza witryny Dell Technologies.

 

Products

NetWorker Family, NetWorker
Article Properties
Article Number: 000297010
Article Type: Solution
Last Modified: 20 Mar 2025
Version:  2
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.