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

DB2 常見問題解決方案集錦(二)

     編輯:DB2 教學

樞紐查詢替代方案

DB2 缺乏 SQL Server 的 PIVOT 關鍵字,實現交叉表需透過 CASE 搭配聚合函數。參考方案如下:

SELECT location,
       MAX(CASE WHEN metric = 'PH' THEN value END) AS PH,
       MAX(CASE WHEN metric = 'Hg' THEN value END) AS Hg,
       MAX(CASE WHEN metric = 'Fe' THEN value END) AS Fe,
       MAX(CASE WHEN metric = 'Mn' THEN value END) AS Mn
FROM data_view
GROUP BY location;

註:文中提及的其他兩種方法經測試或評估為「不好用」或「過於複雜」,不建議採用。

錯誤代碼 SQLCODE -954 解決方案

錯誤訊息:Error 500: DB2 SQL error: SQLCODE: -954, SQLSTATE: 57011

根因:應用程式堆疊區不足(APP Heap 不足)。

解決步驟:

  1. 執行指令調大堆疊大小:
    DB2 UPDATE DB CFG FOR DBNAME USING APPLHEAPSZ 1024
  2. 必須重啟 DB2 實例 使設定生效(DB2STOP / DB2START)。

資料庫還原操作指南

控制中心操作要點

  • 選擇備份路徑時,需定位至 xxx.0 目錄的上一層。
  • 時間戳記必須與備份時刻完全一致(可從備份路徑下的資料夾/檔名獲取,格式如 20081007165742)。

命令列還原語法

DB2 RESTORE DATABASE <dbname> INCREMENTAL FROM <imagepath> TAKEN AT <timestamp>

跨平台還原錯誤 SQL2570N 處理

錯誤範例:

SQL2570N 由於作業系統不相容或 RESTORE 指令不正確,
在目標作業系統 "NT-32" 上從來源作業系統 "AIX-32" 建立的備份進行還原失敗。
原因碼:"1"。

官方建議解決方案:

  • 若必須使用該特定備份映像檔,需在與建立備份時「還原相容」的作業系統上進行還原。
  • 跨作業系統平台遷移資料庫,必須使用 db2move 實用程式。
  • 詳細相容平台資訊請查閱 DB2 Information Center,搜尋關鍵字「跨平台備份和還原」或「使用不同作業系統」。

核心提醒:DB2 備份映像檔具有平台專屬性,跨平台直接還原不被支援,務必透過 db2move 或 db2look + 資料匯出入方式進行異構遷移。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved