DB2-varmuuskopiointi epäonnistuu ja näyttöön tulee SQL2071N /usr/lib/libnsrdb2.so. Syykoodi: "2"
Summary: DB2 päivitetty versiosta 10.5 versioon 11.5 OpenSSL-versio 3 järjestelmässä (käyttöjärjestelmä) ja OpenSSL-versio 1 yhdessä NMDA:n kanssa Jos järjestelmässä on OpenSSL-versio 3. db2vend-prosessi perustuu vain OpenSSL-versioon 3, mutta libnsrdb2-prosessi lataa NMDA:ssa olevan OpenSSL-version ...
Symptoms
DB2-varmuuskopioinnit epäonnistuvat seuraavan virheen vuoksi, kun tietokanta on päivitetty versiosta 10.5 versioon 11.5
Error:
DB2 backup fails with SQL2071N "/usr/lib/libnsrdb2.so". Reason code: "2"
DB2DIAG lokeissa on seuraava virhe.
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
Jos järjestelmään on asennettu OpenSSL-versio 3.
db2vend-prosessi perustuu vain OpenSSL-versioon 3, mutta libnsrdb2-prosessi lataa NMDA:ssa olevan OpenSSL-version 1
OS OpenSSL -polku: /usr/lib64/
NMDA OpenSSL -polku: /usr/lib/nsr/apps/lib64/
Alla on katkelma toimimattomasta isännästä.
Kaksi db2vend-prosessia
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
Ensimmäinen db2vend PID 23876 lataa OpenSSL V3:n käyttöjärjestelmästä OpenSSL-polku
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
Toinen db2vend, jossa on PID 24856 lataa OpenSSL V1:n NMDA:n OpenSSL-polusta (/usr/lib/nsr/apps/lib64/libssl.so.1.1) &; OS OpenSSL-polku
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
Yllä oleva OpenSSL-version sekoitus on virheen syy.NMDA OpenSSL version 1 is compiled with "IDEA encryption algorithm for EVP" but OS OpenSSL Version 1 are not.
Resolution
- Ongelma on korjattu julkaisussa NMDA 19.12, NMDA toimitettu OpenSSL V3:n kanssa.
- OpenSSL-version 3 asennuksen poistaminen todennäköisesti auttaisi, koska db2vend joutuisi sitten lataamaan käyttöjärjestelmäkirjastot libssl.so.1.1 ja libcrypto.so.1.1, minkä seurauksena toimittajan käyttöliittymän alustuksen ei tarvitsisi ladata NMDA: n kanssa jaettuja kirjastoja
- Kiertotapa: DB2-ympäristömuuttuja, jota käytetään kiertotapana pakottaa
/usr/lib/nsr/apps/lib64/polku seuraavan IBM-asiakirjan avulla. DB2LIBPATH [ibm.com]