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

IBM DB2 日常維護匯總 (四) - 快速清表、套件/SP查詢、實例與授權管理

     編輯:DB2 教學

46. 快速清除大量資料表

-- 方法 1: ACTIVATE NOT LOGGED INITIALLY WITH EMPTY TABLE (最快,不寫日誌)
ALTER TABLE TBL ACTIVATE NOT LOGGED INITIALLY WITH EMPTY TABLE;
COMMIT;

-- 方法 2: 分批 DELETE 配合 NOT LOGGED INITIALLY
COMMIT;
ALTER TABLE AB ACTIVATE NOT LOGGED INITIALLY;
DELETE FROM AB WHERE ID > 1000;
COMMIT;

-- 建表時指定不記錄日誌
CREATE TABLE AB (ID INT) NOT LOGGED INITIALLY;
  • 注意:NOT LOGGED INITIALLY 僅對啟用後的第一個單位工作 (UOW) 有效,之後自動恢復記錄日誌。
  • 大量刪除建議分批 Commit,避免日誌爆滿與鎖升級。

47-50. 目錄查詢:套件、SP、約束

查詢SQL
資料庫套件SELECT * FROM SYSCAT.PACKAGES
儲存程序SELECT * FROM SYSCAT.PROCEDURES
表 CHECK 約束SELECT * FROM SYSCAT.CHECKS WHERE TABNAME='AAAA'
表參考完整性 (FK)SELECT * FROM SYSCAT.REFERENCES WHERE TABNAME='AAAA'

51-52. 預設實例與帳號

53. 實例類型

  • CLIENT (用戶端)
  • STANDALONE (獨立)
  • SATELLITE (衛星)
  • EEDB2 / EEE (企業擴充/平行版)

54-58. 實例生命週期管理

DB2ICRT INSTANCE_NAME        -- 建立
DB2ILIST                     -- 列出所有實例
GET INSTANCE                 -- 目前實例
DB2IUPDT INSTANCE_NAME       -- 更新實例 (套用修正包)
DB2IDROP INSTANCE_NAME       -- 刪除實例

-- 刪除實例完整步驟:
1. FORCE APPLICATION ALL
2. 所有 CLP 執行 DB2 TERMINATE
3. DB2STOP
4. 備份 DB2INSTPROF 指向的實例目錄
5. 登出實例所有使用者
6. DB2IDROP INSTANCE_NAME

59-63. 授權管理 (DB2LICM)

平台預設實例預設帳號
Windows/OS/2DB2DB2ADMIN
Linux/UNIXDB2INST1DB2AS
操作指令
列出已授權產品DB2LICM -L
新增授權檔DB2LICM -A FILENAME
移除產品授權DB2LICM -R PRODUCT_PASSWORD
更新購買授權數DB2LICM -U
強制執行硬性授權 (超量拒絕連線)DB2LICM -E HARD

64-67. 授權策略與處理器數

DB2LICM -P REGISTERED|CONCURRENT   -- 設定授權模式
DB2LICM -N NUM_CPUS                -- 更新處理器數量
DB2LICM -V                         -- 查詢授權檔版本資訊
DB2LICM -H                         -- 說明

68-69. 表空間基礎

  • 資料庫至少包含:1 個目錄表空間 + 1+ 個使用者表空間 + 1+ 個暫存表空間。
  • 管理模式:SMS (系統管理) / DMS (資料庫管理)。

70-78. 資料庫生命週期指令

操作指令
列出系統資料庫目錄LIST DATABASE DIRECTORY
建立資料庫 (系統命令,非 SQL)CREATE DATABASE ...
查看資料庫配置GET DATABASE CONFIGURATION FOR ABC
重設資料庫配置為預設值RESET DATABASE CONFIGURATION FOR ABC
修改資料庫配置UPDATE DATABASE CONFIGURATION FOR ABC USING PARM VALUE
重新啟動資料庫 (異常恢復)RESTART DATABASE DB_NAME
啟用資料庫 (預先載入記憶體)ACTIVATE DATABASE DB_NAME
停用資料庫DEACTIVATE DATABASE DB_NAME
刪除資料庫DROP DATABASE DB_NAME

79-90. Schema、表、Sequence、時間

CREATE SCHEMA SCHEMA_NAME
SET SCHEMA = SCHEMA_NAME

-- 表類型: 基本表/結果表/概要表/類型表/子表/宣告暫存表/系統暫存表

CREATE SEQUENCE ORDER_SEQ START WITH 1 INCREMENT BY 1 NO MAXVALUE NO CYCLE CACHE 24

SET INTEGRITY TABLE_NAME OFF                    -- 檢查暫掛
LOCK TABLE TABLE_NAME IN EXCLUSIVE MODE         -- 排他鎖
SET INTEGRITY FOR TABLE_NAME ALL IMMEDIATE UNCHECKED  -- 解除檢查暫掛
COMMIT                                          -- 釋放鎖
ALTER TABLE TABLE_NAME ACTIVATE NOT LOGGED INITIALLY  -- 關閉日誌 (單次 UOW)
DROP TABLE SCHEMA.TABLE_NAME
RENAME TABLE OLD TO NEW
SELECT CURRENT TIMESTAMP FROM SYSIBM.SYSDUMMY1
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved