DB2 9存儲(chǔ)過(guò)程的規(guī)劃操作技巧詳細(xì)描述
此文章主要向大家描述的是DB2 9存儲(chǔ)過(guò)程的規(guī)劃與實(shí)施的操作技巧的描述,此篇文章主要是幫助用戶(hù)正確的了解主機(jī) DB2 上的存儲(chǔ)過(guò)程的基本特點(diǎn),及其在實(shí)際操作中如何進(jìn)行分類(lèi)實(shí)施。
隨著主機(jī) DB2 技術(shù)的發(fā)展,DB2 產(chǎn)品的功能越來(lái)越豐富,以及 DB2 產(chǎn)品增強(qiáng)了對(duì)其分布式訪問(wèn)功能,所以正確配置 DB2 產(chǎn)品提供的存儲(chǔ)過(guò)程,就越來(lái)越重要。對(duì)現(xiàn)在的主機(jī)數(shù)據(jù)庫(kù)用戶(hù)來(lái)說(shuō),DB2 9 for z/OS 下的存儲(chǔ)過(guò)程已經(jīng)從一個(gè)可選項(xiàng)逐漸演變成了在數(shù)據(jù)庫(kù)應(yīng)用開(kāi)發(fā)考慮的重要因素。
在主機(jī)數(shù)據(jù)庫(kù)存儲(chǔ)過(guò)程的應(yīng)用方面,除了用戶(hù)可以根據(jù)需要開(kāi)發(fā)存儲(chǔ)過(guò)程外。主機(jī)數(shù)據(jù)庫(kù)產(chǎn)品也提供了功能豐富的各類(lèi)存儲(chǔ)過(guò)程供用戶(hù)使用。本篇就是為了幫助主機(jī)系統(tǒng)和開(kāi)發(fā)人員更好的規(guī)劃和實(shí)施基于主機(jī)數(shù)據(jù)庫(kù)(DB2 for z/OS)的存儲(chǔ)過(guò)程。
DB2 版本 9 以后,主機(jī)上所有的存儲(chǔ)過(guò)程都統(tǒng)一由 z/OS 的一個(gè)子系統(tǒng) WLM 來(lái)統(tǒng)一管理,WLM 是通過(guò)應(yīng)用環(huán)境(Application Environment)來(lái)管理存儲(chǔ)過(guò)程的,當(dāng)存儲(chǔ)過(guò)程被調(diào)用時(shí),WLM 會(huì)自動(dòng)啟動(dòng)和應(yīng)用環(huán)境相應(yīng)的啟動(dòng)作業(yè)來(lái)管理和實(shí)現(xiàn)所需要的存儲(chǔ)過(guò)程功能。
我們可以把數(shù)據(jù)庫(kù)DB2 9存儲(chǔ)過(guò)程分為 DB2 系統(tǒng)產(chǎn)品數(shù)據(jù)庫(kù)存儲(chǔ)過(guò)程和用戶(hù)開(kāi)發(fā)的存儲(chǔ)過(guò)程。關(guān)于 DB2 數(shù)據(jù)庫(kù)系統(tǒng)產(chǎn)品的存儲(chǔ)過(guò)程,按照存儲(chǔ)過(guò)程的功能,開(kāi)發(fā)語(yǔ)言,性能要求等,我們會(huì)設(shè)置不同的數(shù)據(jù)庫(kù)存儲(chǔ)過(guò)程運(yùn)行環(huán)境。下面的篇幅會(huì)面較詳細(xì)的介紹這方面的情況。
對(duì)于用戶(hù)編寫(xiě)的存儲(chǔ)過(guò)程,存儲(chǔ)過(guò)程配置基本原則是一樣,都需要根據(jù)實(shí)際應(yīng)用開(kāi)發(fā)功能和性能的要求進(jìn)行規(guī)劃實(shí)施,都需要根據(jù)具體要求進(jìn)行具體分析,這里不再做主要描述。
存儲(chǔ)過(guò)程的客戶(hù)化規(guī)劃和實(shí)施
在實(shí)施主機(jī)提供的 DB2 存儲(chǔ)過(guò)程的時(shí)候,就象上文提到的,需要考慮到存儲(chǔ)過(guò)程調(diào)用時(shí)的執(zhí)行要求,這些要求包括存儲(chǔ)過(guò)程執(zhí)行的功能是怎么樣的,調(diào)用時(shí)限定條件以及存儲(chǔ)過(guò)程有無(wú)特殊性能要求等。正確配置 DB2 存儲(chǔ)過(guò)程,以下幾個(gè)方面是比較重要而應(yīng)該被重點(diǎn)關(guān)注的:
同存儲(chǔ)過(guò)程相關(guān)的 DB2 子系統(tǒng)配置
由于 DB2 9 產(chǎn)品發(fā)布后,包括針對(duì)DB2 9存儲(chǔ)過(guò)程在內(nèi)一些新的功能增強(qiáng),DB2 系統(tǒng)都是通過(guò)實(shí)施 PTF 或 APAR 的方式來(lái)實(shí)現(xiàn)的,所以需要確認(rèn)相關(guān)的數(shù)據(jù)庫(kù)產(chǎn)品的 PTF 或 APAR 是否已經(jīng)正確實(shí)施。具體需要實(shí)施的 PTF 或 APAR 可以參考相關(guān)的資料。
在 DB2 9 的安裝流程里,安裝界面 Panel DSNTIPX 是來(lái)配置和存儲(chǔ)過(guò)程相關(guān)的參數(shù)的,是用來(lái)生成安裝所需要的 Sample 作業(yè)。
清單 1. DB2 9 安裝界面 DSNTIPX
- DSNTIPX INSTALL DB2 - ROUTINE PARAMETERS
- ===>
- Scrolling backward may change fields marked with asterisks
- Enter data below:
- * 1 WLM PROC NAME ===> DSN1WLM WLM-established stored procedure JCL PROC
- 2 NUMBER OF TCBS ===> 8 Number of concurrent TCBs (1-100)
- 3 MAX ABEND COUNT ===> 0 Allowable ABENDs for a procedure (0-255)
- 4 TIMEOUT VALUE ===> 180 Seconds to wait before SQL CALL or
- function invocation fails (5-1800,NOLIMIT)
- 5 WLM ENVIRONMENT ===> Default WLM env name
- 6 MAX OPEN CURSORS ===> 500 Maximum open cursors per thread
- 7 MAX STORED PROCS ===> 2000 Maximum active stored procs per thread
其中,對(duì)于 DSNTIPX 所涉及到的參數(shù),下面做一個(gè)簡(jiǎn)要的描述:
WLM PROC NAME
用來(lái)指定在安裝過(guò)程中生成 Sample 中作業(yè)的缺省DB2 9存儲(chǔ)過(guò)程的名字。
NUMBER OF TCBS
用來(lái)指定在 WLM 啟動(dòng)的一個(gè)地址空間里,可以并發(fā)調(diào)用多少個(gè)存儲(chǔ)過(guò)程。這個(gè)值也受到 USS 下的 MAXPROCUSER(每一個(gè)用戶(hù)在主機(jī) USS 環(huán)境下***可以有多少個(gè) processes)參數(shù)的限制。
MAX ABEND COUNT
在 DSNZPARM 里對(duì)應(yīng)的參數(shù)是 STORMXAB,用來(lái)指定存儲(chǔ)過(guò)程可以有多少次調(diào)用失敗后,整個(gè)調(diào)用結(jié)束。缺省值為 0,意味著在存儲(chǔ)過(guò)程***次執(zhí)行不正常結(jié)束時(shí),存儲(chǔ)過(guò)程調(diào)用結(jié)束。
TIMEOUT VALUE
對(duì)應(yīng)的 DSNZPARM 參數(shù)是 STORTIME。用來(lái)指定在DB2 9存儲(chǔ)過(guò)程地址空間里,DB2 容許等待存儲(chǔ)過(guò)程分配 TCB 的時(shí)間,單位為秒。如果在這個(gè)時(shí)間段內(nèi)沒(méi)有被分配一個(gè) TCB 來(lái)執(zhí)行,存儲(chǔ)過(guò)程調(diào)用失敗。推薦不要設(shè)為 NOLIMIT,因?yàn)槿绻O(shè)為 NOLIMIT,當(dāng)出現(xiàn)異常例如存儲(chǔ)過(guò)程地址空間被關(guān)掉,存儲(chǔ)過(guò)程調(diào)用請(qǐng)求會(huì)一直等待分配 TCB,直到條件滿(mǎn)足或者 thread 被取消。
WLM ENVIRONMENT
對(duì)應(yīng)的 DSNZPARM 參數(shù)為 WLMENV,用來(lái)指定在定義存儲(chǔ)過(guò)程時(shí),如果沒(méi)有指定 WLM_ENVIRONMENT 的值時(shí),系統(tǒng)會(huì)自動(dòng)分配的 WLM 應(yīng)用環(huán)境的名字。
MAX OPEN CURSORS
對(duì)應(yīng)的 DSNZPARM 參數(shù)是 MAX_NUM_CUR,用來(lái)指定每一個(gè) DB2 應(yīng)用 thread ***可以打開(kāi)的 cursors 數(shù)量
MAX STORED PROCS
對(duì)應(yīng)的 DSNZPARM 參數(shù)是 MAX_ST_PROC。用來(lái)設(shè)定 DB2 應(yīng)用 thread 可以調(diào)用的***DB2 9存儲(chǔ)過(guò)程數(shù)量。在每一次 COMMIT 后,重新開(kāi)始記數(shù)。
以上的相關(guān)內(nèi)容就是對(duì)DB2 9存儲(chǔ)過(guò)程的規(guī)劃和實(shí)施技巧的部分內(nèi)容的具體介紹,望你能有所收獲。
【編輯推薦】