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

DB2 UDB V8.1 於 Linux 使用 Raw 裝置完整實作

     編輯:DB2 教學

Raw 裝置繞過檔案系統直接由 DB2 管理磁碟 I/O,可顯著提升資料庫效能。本文記錄在 IBM xSeries 345 + RHEL 3.0 + DB2 V8.1 + EMP300 磁碟陣列(5 顆 146GB RAID5 + 1 熱備)環境下的完整配置流程。

磁碟分區規劃

使用 fdisk /dev/sdb 建立分區:

  • sdb1/sdb2/sdb3:各 20GB 主分區 → 系統目錄/系統暫存/32KB 暫存表空間
  • sdb4:擴展分區(剩餘 ~527GB)
  • sdb5/sdb6:各 160GB 邏輯分區 → 使用者表空間(儲存表)
  • sdb7:20GB 邏輯分區 → 索引專用表空間
  • sdb8/sdb9:80GB/93GB → 格式化為 ext3,掛載存放日誌與備份

關鍵:sdb1-sdb7 不格式化,保留供 DB2 直接管理。

建立 Raw 裝置映射

raw /dev/raw/raw1 /dev/sdb1  # 系統目錄 4KB
raw /dev/raw/raw2 /dev/sdb2  # 系統暫存 4KB
raw /dev/raw/raw3 /dev/sdb3  # 系統暫存 32KB
raw /dev/raw/raw5 /dev/sdb5  # 使用者表空間 32KB (表)
raw /dev/raw/raw6 /dev/sdb6  # 使用者表空間 32KB (表)
raw /dev/raw/raw7 /dev/sdb7  # 使用者表空間 32KB (索引)

驗證:raw -a 顯示綁定狀態。寫入 /etc/rc.d/sysinit 確保開機自動重建。權限調整:chown db2:db2 /dev/raw/raw[1-7]。

建立資料庫與表空間

執行 SQL 腳本 newdb.sql(db2 -td\";\" -f newdb.sql):

  • 建立 newdb,含 4KB 系統目錄/暫存表空間
  • 建立 8KB/16KB/32KB 緩衝池
  • 移除 4KB 使用者表空間,新增 2 個 32KB 表空間(表)、1 個 32KB 表空間(索引)、1 個 32KB 系統暫存表空間

日誌與備份儲存配置

mkfs.ext3 /dev/sdb8; mkfs.ext3 /dev/sdb9
mkdir /db2/db2log /db2/db2backup
mount /dev/sdb8 /db2/db2log; mount /dev/sdb9 /db2/db2backup
db2 update db cfg for newdb using NEWLOGPATH '/db2/db2log'
db2 quiesce db defer; db2 unquiesce db

容器標記清除

若 Raw 裝置殘留容器標記導致 The container is already in use 錯誤,勿重新分區/格式化,改用:

db2untag /dev/raw/raw1

參考資源

  • 建立資料庫 SQL 腳本下載
  • IBM DB2 開發者園地 / 資訊中心 / dbforums 論壇
  • 《DB2 UDB v8.1 for Linux, UNIX, Windows 資料庫管理》
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved