首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> DB2 資料庫 >> DB2 教學

DB2 打補丁忘執行 db2iupdt 導致啟動失敗的教訓

     編輯:DB2 教學

事件回顧

環境:DB2 UDB V8.2 for AIX 4.3.3 32-bit。中午套用 FixPak 10,安裝過程顯示成功。隨後執行 db2start 卻報錯:

Could not load program /dwhome/db2inst2/sqllib/adm/db2star2:
Symbol resolution failed for db2star2 because:
  Symbol sqloReadLatchMapConfig (number 106) is not exported from dependent
  module /usr/opt/db2_08_01/lib/libdb2e.a(shr.o).

同時 db2set 也失效:

Symbol sqloValidateLargePageMemString (number 52) is not exported from dependent
module /dwhome/db2inst2/sqllib/lib/libdb2.a(shr.o).

根本原因

未執行 db2iupdt 更新實例。FixPak 安裝僅更新產品程式碼(/usr/opt/db2_08_01),實例目錄(/home/db2inst2/sqllib)仍為舊版本程式庫,導致符號解析失敗。

解決方式

db2iupdt db2inst2

執行後實例程式庫同步更新,db2start 與 db2set 即恢復正常。

經驗總結

  • 任何 FixPak/修補程式安裝後,必須對每個實例執行 db2iupdt(或 db2iupgrade 視版本而定)。
  • 仔細閱讀 Release Notes / 安裝指南,切勿為求快跳過步驟。
  • 錯誤訊息 Symbol ... is not exported from dependent module 典型指向實例程式庫版本不匹配。
「粗心大意,給自己和別人帶來不必要的麻煩。以後要注意了!!」
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved