您好,登錄后才能下訂單哦!
DB2 Zos 淺談 - DB2 LUW VS DB2 Zos
概述:
各位可能對DB2 LUW了解得比較多,但對DB2 Zos(大機操作系統)知之甚少,因為IBM的內部資料一向是比較封閉的,特別是我們在市場上很少看到的產品,比如Zos操作系統,一般來說都是銀行內部供職的人員還有IBM的員工才會接觸到,圈子比較小。
本次分享主要對比DB2 LUW 與DB2 for Zos,幫助我們快速理解大機DB2的架構。
DB2 Zos簡介:
在Z/os操作系統下可同時運行多個DB2子系統, 每個子系統對應一組DB2的地址空間(Address Space):ssnmMSTR、ssnmDBM1、ssnmDIST、ssnmSPAS、ssnmWLM、ssnmIRLM, 其中的ssnm為SUBSYSTEM NAME。
一個DB2子系統主要由以下三個地址空間組成
DBM1(DATABASE ADDRESS SPACE):
提供數據庫服務的地址空間,主要包括SQL Process、Buffer manage,Bind。
MSTR(SYSTEM SERVICE ADDRESS SPACE):
提供系統服務的地址空間,執行各種系統相關功能,
主要有Thread management、Log management、Checkpoint、Trace。
IRLM(INTERNAL RESOURCE LOCK MANAGER):
提供內部資源鎖定管理的地址空間,即Lock Management。
用DB2命令” START DB2”可啟動這些地址空間。
例如:在生產的SD.DA中可以看到:BB1AIRLM、BB1AMSTR、BB1ADBM1
DB2 LUW 與 DB2 Zos 對比:
下圖為DB2 LUW的架構,可以看到服務端的整個NODE(網絡里的一臺計算機)含兩個實例 INST1 和 INST2,每個實例里各含兩個數據庫(DB001,DB002)(DB003,DB004),每個數據庫里含三個表空間(catalog, tempspace1, userspace1)。每個數據庫里有數據庫級的配置文件和日志文件(DB Config, LOGS)。整個實例還有實例級的配置文件,客戶端可以連接到服務端。
下圖為DB2 for Zos的架構圖,服務端整個LPAR(主機虛擬的計算機)含兩個子系統(DB7G, DB8G,相當于分布式平臺里的實例),每個子系統里含四個系統數據庫(DSNDB*),一個用戶數據庫(DB001),用戶數據庫里含一個用戶表空間。整個子系統級別有日志文件和BSDS文件。整個子系統有子系統級的配置文件。客戶端通過DB2 CONNECT 和 DDF (Distributed Data Facility)可以連接到服務端。
下圖通過對ZOS 和 LUW的DB2的不同進行對比,可以看出有部分在LUW中為表空間屬性的,在ZOS用數據庫的屬性來代替。
下面我們簡單介紹一下ZOS中幾個重要的數據庫:
DIRECTORY DATABASE(DSNDB01)由一系列的Tablespace組成,它包含DB2正常操作所需的Control Block和狀態信息,不能使用SQL語句來訪問DIRECTORY。
它包括的Tablespace有:
DBD01 DATABASE DESCRIPTOR TABLESPACE,存放定義在DB2系統中的所有Database的內部描述符,即DBD,它是所有DB2中的對象的內部描述。
SCT02 SKELETON CURSOR TABLESPACE,包括DBRM的存取路徑的信息,應用程序的SQL語句的內部形式等。每當Bind一個PLAN,DB2就會在SCT02中創建一個Skeleton Cusor Table。
SPT01 SKELETON PACKAGE TABLESPACE,包括PACKAGE的存取路徑的信息,應用程序的SQL語句的內部形式等。每當Bind一個PACKAGE,DB2就會在SPT01中創建一個SKELETON PACKAGE TABLE。
SYSUTILX SYSTEM UTILITIES TABLESPACE,在DB2中運行的每一個Utility,在SYSUTILIX中都有一條記錄來描述該Utility的狀態信息,在Utility正常結束或終止之后這條記錄就被刪除了,但是對于異常停止的Utility是不刪除的,當重新啟動異常停止的UTILTIY時會用到這條記錄。
SYSLGRNX LOG RANGE TABLESPACE,記錄Tablespace,
Indexspace和Partition在Open和Close時的Log RBA值。
DB2的CATALOG DATABASE(DSNDB06)由一系列的Table組成,記錄了定義在DB2中的所有Object的相關信息,可以使用SQL語句對其進行操作。這些系統表名為‘SYSIBM.SYS*’。
DSNDB06中主要包含以下內容:
通過Data Definition Language(DDL)定義的所有
的Object
Application Package
Application Plan
所有授權用戶及其權限范圍
Image Copy Dataset的名字和所在的卷
DSNDB04在安裝DB2子系統時定義的。如果用戶創建Table或Tablespace時沒有指定Database,系統將自動指定缺省的Database—DSNDB04,其缺省的Buffer Pool為BP0,缺省的Storage Group為SYSDEFLT.
另外,我們需要對DB2I有所了解。熟練使用DB2I, 基本就能解決簡單的zos運維了。
DB2I 是 9000系統上 DB2系統為用戶提供的一個交互式的應用工具,在 DB2I 里,用戶可以執行任意 SQL語句、自動生成數據庫表結構定義、準備用戶程序、預編譯用戶程序、BI ND計劃或包、執行用戶程序、執行 DB2 命令、運行 DB2 工具程序。DB2I 是 DB2 開發人員經常會使用到的工具,這里我們就經常用到的一些功能作簡要介紹。
下面是 DB2I 的初始畫面:
各選項的功能是:
1 SPUFI 用來編寫 SQL語句,并運行產生結果
2 DCLGEN 自動生成不同語言的表結構和宿主語言的定義
3 PROGRAM PREPARATI ON 通過多層畫面輸入準備程序所需要的各種參數,來完成程
序的預編譯、編譯、預連接、連接和執行各個步驟
4 PRECOMPI LE 通過畫面輸入必要的參數來對源程序進行預編譯
5 BI ND/ REBI ND/ FREE 綁定、重綁定或釋放計劃或包
6 RUN 執行 SQL程序
7 DB2 COMMANDS 執行 DB2命令
8 UTI LI TI ES 執行其他 DB2工具程序
D DB2I DEFAULTS 設置全局參數
X EXI T 退出
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。