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

DB2 文件系統滿錯誤 (SQL0968C) 根因分析與 AIX 用戶限額調整實戰

     編輯:DB2 教學

錯誤現場還原

AIX 環境創建 20GB 表空間:

CREATE REGULAR TABLESPACE HTDC_DATA PAGESIZE 8 K MANAGED BY DATABASE
USING (FILE '/db2_tag/TABLE_SPACES/HTDC_DATA/HTDC_DATA.dat' 20G)
EXTENTSIZE 16 OVERHEAD 10.67 PREFETCHSIZE 16 TRANSFERRATE 0.04
BUFFERPOOL BPHTDC DROPPED TABLE RECOVERY OFF;

報錯:SQL0968C File System is full。實際文件系統剩餘空間充足,根因:**實例用戶 db2admin 文件大小软限制 (fsize) 默認 2GB,無法創建 20GB 文件**。

解決方案:調整用戶資源限額

  1. Telnet 登錄 AIX,root 登入
  2. 切換至實例用戶環境:su - db2admin
  3. 修改 fsize 為 100GB(單位 512-byte 塊):chuser fsize=209715100 db2admin
    計算:100GB × 1024³ ÷ 512 = 209,715,200 ≈ 209715100
  4. 重啟主機生效:shutdown -Fr
  5. 驗證:su - db2admin; ulimit -f 應顯示 unlimited 或超大數值
  6. 重啟 DB2 並重新執行建表空間 SQL,成功。

關鍵知識點延伸

最佳實踐建議

  • 部署腳本化:在 /etc/security/limits 或用戶 /.profile 設置 ulimit -f unlimited,重啟後永久生效。
  • 監控告警:腳本定期檢查 lsuser -a fsize db2admin,防止誤改。
  • 容器規劃:大表空間拆分多容器(每容器 <16GB),單文件不超限額,並提升並行 I/O。
  • 自動存儲:優先使用 MANAGED BY AUTOMATIC STORAGE,由 DB2 自動管理容器大小與位置。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved
限額類型AIX 命令DB2 影響
fsize (文件大小)chuser fsize=... user表空間容器、日志文件、備份映像創建上限
data (數據段)chuser data=... user共享內存段、排序堆、包緩存分配
rss (常駐集)chuser rss=... user實例進程物理內存佔用上限
nofiles (文件描述符)chuser nofiles=... user並發打開表、索引、日志文件數