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

IBM DB2 日常維護匯總(三):系統目錄查詢、表結構、表空間、緩衝池

     編輯:DB2 綜合知識

DB2 系統目錄與物件管理查詢速查

掌握 SYSIBM/SYSCAT 系統目錄視圖,快速取得版本、表、視圖、觸發器、序列、表空間、序列、綱要、索引、欄位、資料類型、緩衝池、套件、預存程序、約束等中繼資料。

常用系統目錄查詢

查詢目標SQL 範例
用戶擁有表數SELECT * FROM SYSIBM.SYSTABLES WHERE CREATOR='USER'
用戶函數SELECT * FROM SYSIBM.SYSFUNCTIONS
用戶視圖SELECT * FROM SYSIBM.SYSVIEWS WHERE CREATOR='USER'
DB2 版本SELECT * FROM SYSIBM.SYSVERSIONS
觸發器SELECT * FROM SYSIBM.SYSTRIGGERS WHERE SCHEMA='USER'
表空間狀態SELECT * FROM SYSIBM.SYSTABLESPACES
序列狀態SELECT * FROM SYSIBM.SYSSEQUENCES
綱要狀態SELECT * FROM SYSIBM.SYSSCHEMATA
索引狀態SELECT * FROM SYSIBM.SYSINDEXES
表欄位定義SELECT * FROM SYSIBM.SYSCOLUMNS WHERE TBNAME='AAAA'
資料類型SELECT * FROM SYSIBM.SYSDATATYPES
緩衝池SELECT * FROM SYSIBM.SYSBUFFERPOOLS

表欄位修改限制

僅能修改 VARCHAR 型別,且只能增加長度,不能縮減。

檢視表結構

DESCRIBE TABLE TABLE_NAME
-- 或
DESCRIBE SELECT * FROM SCHEMA.TABLE_NAME

快速清空大表 (不記錄日誌)

ALTER TABLE TABLE_NAME ACTIVATE NOT LOGGED INITIALLY WITH EMPTY TABLE
COMMIT
-- 後續 DELETE 亦不記日誌
ALTER TABLE AB ACTIVATE NOT LOGGED INITIALLY
DELETE FROM AB WHERE ID > 1000
COMMIT
-- 建表時指定不記日誌
CREATE TABLE AB (ID INT) NOT LOGGED INITIALLY

套件、預存程序、約束查詢

目標查詢
套件SELECT * FROM SYSCAT.PACKAGES
預存程序SELECT * FROM SYSCAT.PROCEDURES
檢查約束SELECT * FROM SYSCAT.CHECKS WHERE TABNAME='AAAA'
參考完整性約束SELECT * FROM SYSCAT.REFERENCES WHERE TABNAME='AAAA'

實例與授權管理

  • 預設實例名:Windows/OS2 DB2,Linux/UNIX DB2INST1
  • 預設管理帳戶:Windows/OS2 DB2ADMIN,Linux/UNIX DB2AS
  • 實例類型:CLIENT, STANDALONE, SATELLITE, EEDB2, EEE
  • 建立實例:db2icrt INSTNAME
  • 列出實例:db2ilist
  • 查看當前實例:GET INSTANCE
  • 更新實例:db2iupdt
  • 刪除實例完整步驟:停止應用 → db2terminate → db2stop → 備份實例目錄 → 登出所有使用者 → db2idrop INSTANCE_NAME

授權指令 (db2licm)

操作指令
列出授權產品db2licm -l
新增授權db2licm -a FILENAME
移除授權db2licm -r PRODUCT_PASSWORD
更新購買數量db2licm -u
強制使用已購數量db2licm -e HARD
更新授權政策db2licm -p REGISTERED|CONCURRENT
更新處理器數db2licm -n
查詢授權版本db2licm -v
說明db2licm -h
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved