DB2 備份失敗,並顯示SQL2071N「/usr/lib/libnsrdb2.so」。原因碼:"2"
Summary: DB2 從 v10.5 升級到 11.5 系統 (作業系統) 上有 OpenSSL 3 版,NMDA 隨附 OpenSSL 版本 1 如果系統上有 OpenSSL 版本 3。 db2vend 程序僅取決於 OpenSSL 版本 3,但是 libnsrdb2 程式會載入 NMDA 中的 OpenSSL 版本
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
將資料庫從 V10.5 升級到 V11.5 後,DB2 備份失敗,並出現以下錯誤
Error:
DB2 backup fails with SQL2071N "/usr/lib/libnsrdb2.so". Reason code: "2"
DB2DIAG記錄有下列錯誤。
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
若系統已安裝 OpenSSL 第 3 版。
db2vend 程序僅取決於 OpenSSL 版本 3,但是 libnsrdb2 程式會載入 NMDA 中的 OpenSSL 版本 1
作業系統 OpenSSL 路徑: /usr/lib64/
NMDA OpenSSL 路徑: /usr/lib/nsr/apps/lib64/
以下是非工作主機的代碼片段。
二 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
第一個具有 PID 23876 的 db2vend 從作業系統 OpenSSL 路徑載入 OpenSSL V3
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
第二個 db2vend PID 24856 從 NMDA OpenSSL 路徑 (/usr/lib/nsr/apps/lib64/libssl.so.1.1) 載入 OpenSSL V1 > 作業系統 OpenSSL 路徑
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
以上混淆 OpenSSL 版本是造成錯誤的原因。NMDA OpenSSL version 1 is compiled with "IDEA encryption algorithm for EVP" but OS OpenSSL Version 1 are not.
Resolution
- 此問題已在 NMDA 19.12 中解決,NMDA 隨附 OpenSSL V3。
- 卸載 OpenSSL 版本 3 很可能會有所説明,因為 db2vend 隨後將強制載入作業系統庫 libssl.so.1.1 和 libcrypto.so.1.1,因此,供應商介面的初始化不需要載入與 NMDA 一起分發的庫
- 因應措施:用作解決方法的 DB2 環境變數強制
/usr/lib/nsr/apps/lib64/路徑,使用以下 IBM 文件。 DB2LIBPATH [ibm.com]
Products
NetWorker Family, NetWorkerArticle 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.