DB2 Zos淺談 - DB2 LUWVS DB2 Zos
我們提供的服務(wù)有:成都網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì)、微信公眾號(hào)開(kāi)發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、湖州ssl等。為上1000+企事業(yè)單位解決了網(wǎng)站和推廣的問(wèn)題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的湖州網(wǎng)站制作公司
概述:
各位可能對(duì)DB2 LUW了解得比較多,但對(duì)DB2 Zos(大機(jī)操作系統(tǒng))知之甚少,因?yàn)镮BM的內(nèi)部資料一向是比較封閉的,特別是我們?cè)谑袌?chǎng)上很少看到的產(chǎn)品,比如Zos操作系統(tǒng),一般來(lái)說(shuō)都是銀行內(nèi)部供職的人員還有IBM的員工才會(huì)接觸到,圈子比較小。
本次分享主要對(duì)比DB2 LUW 與DB2 for Zos,幫助我們快速理解大機(jī)DB2的架構(gòu)。
DB2 Zos簡(jiǎn)介:
在Z/os操作系統(tǒng)下可同時(shí)運(yùn)行多個(gè)DB2子系統(tǒng), 每個(gè)子系統(tǒng)對(duì)應(yīng)一組DB2的地址空間(Address Space):ssnmMSTR、ssnmDBM1、ssnmDIST、ssnmSPAS、ssnmWLM、ssnmIRLM, 其中的ssnm為SUBSYSTEM NAME。
一個(gè)DB2子系統(tǒng)主要由以下三個(gè)地址空間組成
DBM1(DATABASE ADDRESS SPACE):
提供數(shù)據(jù)庫(kù)服務(wù)的地址空間,主要包括SQL Process、Buffer manage,Bind。
MSTR(SYSTEM SERVICE ADDRESS SPACE):
提供系統(tǒng)服務(wù)的地址空間,執(zhí)行各種系統(tǒng)相關(guān)功能,
主要有Thread management、Log management、Checkpoint、Trace。
IRLM(INTERNAL RESOURCE LOCK MANAGER):
提供內(nèi)部資源鎖定管理的地址空間,即Lock Management。
用DB2命令” START DB2”可啟動(dòng)這些地址空間。
例如:在生產(chǎn)的SD.DA中可以看到:BB1AIRLM、BB1AMSTR、BB1ADBM1
DB2 LUW與 DB2 Zos對(duì)比:
下圖為DB2 LUW的架構(gòu),可以看到服務(wù)端的整個(gè)NODE(網(wǎng)絡(luò)里的一臺(tái)計(jì)算機(jī))含兩個(gè)實(shí)例 INST1 和 INST2,每個(gè)實(shí)例里各含兩個(gè)數(shù)據(jù)庫(kù)(DB001,DB002)(DB003,DB004),每個(gè)數(shù)據(jù)庫(kù)里含三個(gè)表空間(catalog, tempspace1, userspace1)。每個(gè)數(shù)據(jù)庫(kù)里有數(shù)據(jù)庫(kù)級(jí)的配置文件和日志文件(DB Config, LOGS)。整個(gè)實(shí)例還有實(shí)例級(jí)的配置文件,客戶端可以連接到服務(wù)端。
下圖為DB2 for Zos的架構(gòu)圖,服務(wù)端整個(gè)LPAR(主機(jī)虛擬的計(jì)算機(jī))含兩個(gè)子系統(tǒng)(DB7G, DB8G,相當(dāng)于分布式平臺(tái)里的實(shí)例),每個(gè)子系統(tǒng)里含四個(gè)系統(tǒng)數(shù)據(jù)庫(kù)(DSNDB*),一個(gè)用戶數(shù)據(jù)庫(kù)(DB001),用戶數(shù)據(jù)庫(kù)里含一個(gè)用戶表空間。整個(gè)子系統(tǒng)級(jí)別有日志文件和BSDS文件。整個(gè)子系統(tǒng)有子系統(tǒng)級(jí)的配置文件。客戶端通過(guò)DB2 CONNECT 和 DDF (Distributed Data Facility)可以連接到服務(wù)端。
下圖通過(guò)對(duì)ZOS 和 LUW的DB2的不同進(jìn)行對(duì)比,可以看出有部分在LUW中為表空間屬性的,在ZOS用數(shù)據(jù)庫(kù)的屬性來(lái)代替。
下面我們簡(jiǎn)單介紹一下ZOS中幾個(gè)重要的數(shù)據(jù)庫(kù):
DIRECTORY DATABASE(DSNDB01)由一系列的Tablespace組成,它包含DB2正常操作所需的Control Block和狀態(tài)信息,不能使用SQL語(yǔ)句來(lái)訪問(wèn)DIRECTORY。
它包括的Tablespace有:
DBD01DATABASE DESCRIPTOR TABLESPACE,存放定義在DB2系統(tǒng)中的所有Database的內(nèi)部描述符,即DBD,它是所有DB2中的對(duì)象的內(nèi)部描述。
SCT02SKELETON CURSOR TABLESPACE,包括DBRM的存取路徑的信息,應(yīng)用程序的SQL語(yǔ)句的內(nèi)部形式等。每當(dāng)Bind一個(gè)PLAN,DB2就會(huì)在SCT02中創(chuàng)建一個(gè)Skeleton Cusor Table。
SPT01SKELETON PACKAGE TABLESPACE,包括PACKAGE的存取路徑的信息,應(yīng)用程序的SQL語(yǔ)句的內(nèi)部形式等。每當(dāng)Bind一個(gè)PACKAGE,DB2就會(huì)在SPT01中創(chuàng)建一個(gè)SKELETON PACKAGE TABLE。
SYSUTILXSYSTEM UTILITIES TABLESPACE,在DB2中運(yùn)行的每一個(gè)Utility,在SYSUTILIX中都有一條記錄來(lái)描述該Utility的狀態(tài)信息,在Utility正常結(jié)束或終止之后這條記錄就被刪除了,但是對(duì)于異常停止的Utility是不刪除的,當(dāng)重新啟動(dòng)異常停止的UTILTIY時(shí)會(huì)用到這條記錄。
SYSLGRNXLOG RANGE TABLESPACE,記錄Tablespace,
Indexspace和Partition在Open和Close時(shí)的Log RBA值。
DB2的CATALOG DATABASE(DSNDB06)由一系列的Table組成,記錄了定義在DB2中的所有Object的相關(guān)信息,可以使用SQL語(yǔ)句對(duì)其進(jìn)行操作。這些系統(tǒng)表名為‘SYSIBM.SYS*’。
DSNDB06中主要包含以下內(nèi)容:
通過(guò)Data Definition Language(DDL)定義的所有
的Object
Application Package
Application Plan
所有授權(quán)用戶及其權(quán)限范圍
Image Copy Dataset的名字和所在的卷
DSNDB04在安裝DB2子系統(tǒng)時(shí)定義的。如果用戶創(chuàng)建Table或Tablespace時(shí)沒(méi)有指定Database,系統(tǒng)將自動(dòng)指定缺省的Database—DSNDB04,其缺省的Buffer Pool為BP0,缺省的Storage Group為SYSDEFLT.
另外,我們需要對(duì)DB2I有所了解。熟練使用DB2I, 基本就能解決簡(jiǎn)單的zos運(yùn)維了。
DB2I 是 9000系統(tǒng)上 DB2系統(tǒng)為用戶提供的一個(gè)交互式的應(yīng)用工具,在 DB2I 里,用戶可以執(zhí)行任意 SQL語(yǔ)句、自動(dòng)生成數(shù)據(jù)庫(kù)表結(jié)構(gòu)定義、準(zhǔn)備用戶程序、預(yù)編譯用戶程序、BI ND計(jì)劃或包、執(zhí)行用戶程序、執(zhí)行 DB2 命令、運(yùn)行 DB2 工具程序。DB2I 是 DB2 開(kāi)發(fā)人員經(jīng)常會(huì)使用到的工具,這里我們就經(jīng)常用到的一些功能作簡(jiǎn)要介紹。
下面是 DB2I 的初始畫面:
各選項(xiàng)的功能是:
1 SPUFI 用來(lái)編寫 SQL語(yǔ)句,并運(yùn)行產(chǎn)生結(jié)果
2 DCLGEN 自動(dòng)生成不同語(yǔ)言的表結(jié)構(gòu)和宿主語(yǔ)言的定義
3 PROGRAM PREPARATI ON 通過(guò)多層畫面輸入準(zhǔn)備程序所需要的各種參數(shù),來(lái)完成程
序的預(yù)編譯、編譯、預(yù)連接、連接和執(zhí)行各個(gè)步驟
4 PRECOMPI LE 通過(guò)畫面輸入必要的參數(shù)來(lái)對(duì)源程序進(jìn)行預(yù)編譯
5 BI ND/ REBI ND/ FREE 綁定、重綁定或釋放計(jì)劃或包
6 RUN 執(zhí)行 SQL程序
7 DB2 COMMANDS 執(zhí)行 DB2命令
8 UTI LI TI ES 執(zhí)行其他 DB2工具程序
D DB2I DEFAULTS 設(shè)置全局參數(shù)
X EXI T 退出