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

DB2 UDB V8.1 管理學習筆記(二):表空間、編碼、備份還原與實例操作

     編輯:DB2 綜合知識

表空間類型:SMS vs DMS

  • SMS (System Managed Space):由作業系統管理,使用方便,無需手動建立維護容器檔案
  • DMS (Database Managed Space):由資料庫管理,需手動指定容器與檔案名稱,並確保磁碟空間足夠

臨時表空間

每個資料庫至少有一個 4K page size 的系統臨時表空間,可額外建立更大 page size 的使用者臨時表空間,系統會自動選用。

資料類型變更限制

無法用 ALTER 陳述式變更欄位資料型別,僅部分欄位可調整長度,較 Oracle 限制較多。

替代 Oracle DUAL 表

可使用:

SELECT 表達式 FROM sysibm.sysdummy1;

等同於:

VALUES 表達式;

UPDATE 中觸發預設值

若未顯式賦值,含預設值欄位不會重新執行預設運算式。若需重新執行:

CREATE TABLE t1 (c1 VARCHAR(32), lastupdatetime WITH DEFAULT CURRENT TIMESTAMP);
UPDATE t1 SET c1 = 'new string', lastupdatetime = DEFAULT;

Codepage 設定與自動轉換

  • 建庫時指定 codepage,建立後不可修改
  • 應用程式連線時 DB2 會比對 codepage,不一致則自動轉換,增加開銷
  • 建議應用程式與資料庫使用相同 codepage

設定 CLP codepage(例:Windows 中文 GBK):

db2set DB2CODEPAGE=1386

遠端資料庫編目步驟

  1. 編目遠端節點:db2 CATALOG TCPIP NODE local_node_name REMOTE hostname|ip SERVER service_name
  2. 編目資料庫別名:db2 CATALOG DATABASE db_name AS local_alias AT local_node_name USER username USING password
  3. 連線測試:db2 CONNECT TO local_alias USER username USING password

常用管理指令

  • 查看詳細配置:db2 GET CONFIGURATION SHOW DETAIL
  • 查詢錯誤代碼說明:db2 ? sql10008
  • 備份:db2 BACKUP DATABASE db_name USER user_name USING password TO backup_dir
  • 還原:db2 RESTORE DATABASE source_db_name USER user_name USING password FROM backup_dir TAKEN AT timestamp TO drive_letter INTO new_db_name

實例操作

  • 設定預設實例:db2 SET DB2INSTANCE=inst_name
  • 啟動/停止:db2start / db2stop [force]
  • 連接實例:db2 ATTACH TO INSTANCE inst_name
  • 查看實例配置:db2 GET DBM CFG SHOW DETAIL
  • 匯出資料庫定義腳本:db2look -d sample -a -e -l -x -m -f -o samplesql.out

其他重要筆記

  • LOAD 導致表空間進入 Backup Pending (0x0020) 狀態時,對該表空間執行一次備份即可恢復正常 (0x0)
  • 自增欄位兩種模式:GENERATED BY DEFAULT AS IDENTITY(允許手動指定值)與 GENERATED ALWAYS AS IDENTITY(完全由資料庫分配)
  • SQL 轉義字元用法:SELECT * FROM t1 WHERE a LIKE '%abc\%def' ESCAPE '\'
  • 建庫 SQL1043C 錯誤常見原因:磁碟空間不足、FILE 容器長度參數錯誤(如 25600 代表 256MB,不可寫 256)
  • WAS 連接 DB2 失敗 UnsatisfiedLinkError: SQLConnect:需為 WAS 服務用戶設定 LIBPATH、DB2INSTANCE 等環境變數(定義於 $INSTHOME/sqllib/db2profile)
  • 任務中心對應 Oracle Job,需先建立編目工具結構:CREATE TOOLS CATALOG schema_name CREATE NEW DATABASE db_name(預設 ISO8859-1,不可指定 codeset)
  • Quest Center for DB2 提供效能診斷、動態監控記憶體、磁碟 I/O、表空間、負載等
  • DB2 客戶端分類:Runtime Client、Administration Client、Application Development Client、Thin Client、Relational Connect(聯邦資料庫)
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved