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

DB2 UDB V8.1 管理學習筆記(三):實例遷移、監控、索引策略與 Linux 環境問題

     編輯:DB2 綜合知識

實例強制移除與遷移

  • 強制斷開連線並刪除實例:db2idrop -f instance_name
  • UNIX 實例遷移:db2imigr instance_name
  • 更新實例(獲取新產品選項/修訂包):db2iupdt instance_name
  • 查看當前實例:db2 get instance

參數生效時機

更新實例/資料庫參數後,部分立即生效,部分需重啟實例。可顯式指定:

  • IMMEDIATE:立即生效
  • DEFERRED:重啟實例後生效

客戶端配置匯入/匯出

大量客戶機連線配置時,可用配置助手匯出伺服器設定檔,再於各客戶機匯入。若僅安裝 Runtime Client,可用指令匯入:

db2cfimp access_profile_name

連線管理

  • 列出所有連線:db2 list applications
  • 強制中斷指定連線(事務回滾):db2 force application (2),多個句柄用逗號分隔或用 all

建庫指定排序規則

COLLATE USING IDENTITY

系統目錄結構

  • SYSIBM:基礎系統目錄,不建議直接存取
  • SYSCAT:PUBLIC 有 SELECT 權限,推薦用於查詢目錄資訊
  • SYSSTAT:可更新目錄視圖,影響優化器
  • SYSFUN:使用者定義函數

約束與 CHECK PENDING 狀態

現有資料不滿足約束時無法定義約束。可關閉約束檢查加速大量載入,但表會進入 CHECK PENDING 狀態。

建表指定表空間與索引規劃

CREATE TABLE TEST (...) IN tablespace_name INDEX IN index_tablespace_name

關鍵點:建表後無法將索引移至不同表空間,必須提前規劃!

索引進階特性

  • UNIQUE:強制值唯一
  • ALLOW REVERSE SCANS:在索引加入反向指標,支援正向/反向掃描
  • INCLUDE 欄位:將非索引欄位存入索引頁,滿足覆蓋查詢(索引必須為 UNIQUE)
    例:CREATE UNIQUE INDEX ON EMPLOYEE (EMPNO) INCLUDE (LASTNAME, FIRSTNAME)
  • 叢集索引:CREATE INDEX DEPTS-IX ON EMPLOYEE(WORKDEPT) CLUSTER

索引數量經驗法則

  • OLTP 環境:1~2 個索引
  • 混合查詢/OLTP:2~5 個
  • 唯讀查詢環境:5 個以上

工具啟動與資料移動

  • 控制中心:Windows 下命令列或類 Unix 下執行 db2cc
  • db2move 批量移動資料:db2move dbname action(action: export/import/load),-l 指定 LOB 儲存資料夾

備份策略設定

  • 增量備份需啟用:TRACKMOD YES
  • 線上備份需啟用:LOGRETAIN YES,語法:db2 backup db dbname online to path

DAS 服務與 Linux 環境問題

  • 刪除 DAS 用戶 home 目錄前未 drop DAS 服務,導致 dasdrop 失敗(db2admin 指令遺失),解法:清理 home 目錄後重啟伺服器
  • 升級指令:dasupdt dasName、db2iupdt instName、db2licd end 停止授權守護程式
  • Linux 安裝 DB2 V8.1 後 db2fmcd 會自動啟動,即使未啟動實例與 DAS
  • 中文 Linux 環境以 GBK codepage 建庫,若後續變更 OS 語系為英文,db2 connect 會報代碼頁無法轉換錯誤
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved