sap系統(tǒng)監(jiān)控的簡(jiǎn)單介紹

SAP系統(tǒng)架構(gòu)是什么

SAP系統(tǒng)架構(gòu)是什么

超過(guò)10余年行業(yè)經(jīng)驗(yàn),技術(shù)領(lǐng)先,服務(wù)至上的經(jīng)營(yíng)模式,全靠網(wǎng)絡(luò)和口碑獲得客戶,為自己降低成本,也就是為客戶降低成本。到目前業(yè)務(wù)范圍包括了:網(wǎng)站制作、成都網(wǎng)站建設(shè),成都網(wǎng)站推廣,成都網(wǎng)站優(yōu)化,整體網(wǎng)絡(luò)托管,微信小程序,微信開(kāi)發(fā),app軟件開(kāi)發(fā),同時(shí)也可以讓客戶的網(wǎng)站和網(wǎng)絡(luò)營(yíng)銷和我們一樣獲得訂單和生意!

SAP是英文“Systems,Applications and Products in Data Processing”的縮寫(xiě),其開(kāi)發(fā)公司SAP公司是目前全球應(yīng)用最廣的企業(yè)管理和協(xié)同化商務(wù)解決方案供應(yīng)商。下面讓我們一起來(lái)看看什么是SAP系統(tǒng)架構(gòu)。

1 SAP系統(tǒng)的三層架構(gòu)

SAP是一個(gè)基于客戶/服務(wù)機(jī)結(jié)構(gòu)和開(kāi)放系統(tǒng)的、集成的企業(yè)資源計(jì)劃系統(tǒng)[3]。其功能覆蓋企業(yè)的財(cái)務(wù)、后勤(工程設(shè)計(jì)、采購(gòu)、庫(kù)存、生產(chǎn)銷售和質(zhì)量等)和人力資源管理、SAP業(yè)務(wù)工作流系統(tǒng)以及因特網(wǎng)應(yīng)用鏈接功能等各個(gè)方面。SAP系統(tǒng)的運(yùn)行環(huán)境是該系統(tǒng)的核心部分,其主體是由C及C++語(yǔ)言編寫(xiě),也有一部分有SAP自身開(kāi)發(fā)到程序語(yǔ)言ABAP編寫(xiě)。

SAP系統(tǒng)的核心執(zhí)行以下幾個(gè)任務(wù):

1)運(yùn)行SAP程序:所有的SAP程序都在一個(gè)軟件處理器(虛擬機(jī))中運(yùn)行。

2)提供數(shù)據(jù)庫(kù)讀寫(xiě)服務(wù):SAP程序并不直接對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作,而是通過(guò)自身的Database Interface,使用SAP Open SQL(Structured Query Language)對(duì)底層數(shù)據(jù)庫(kù)進(jìn)行讀寫(xiě)。

3)通訊服務(wù):SAP程序可與其他SAP程序進(jìn)行通信,同時(shí)也可與非SAP程序通過(guò)BAPI接口進(jìn)行通信。

4)系統(tǒng)監(jiān)控:用戶可對(duì)SAP程序的運(yùn)行進(jìn)行監(jiān)控及改變運(yùn)行環(huán)境參數(shù)。

SAP系統(tǒng)是一個(gè)典型的Three-Tier系統(tǒng)架構(gòu),由表現(xiàn)層,應(yīng)用層及數(shù)據(jù)庫(kù)構(gòu)成(圖1):

1)SAP系統(tǒng)架構(gòu)表現(xiàn)層(Presentation Layer):這是SAP用戶圖形界面(SAP GUI),是SAP用戶和SAP系統(tǒng)交流的接口,用戶登錄后對(duì)SAP系統(tǒng)進(jìn)行操作。通過(guò)這圖形界面用戶可對(duì)SAP發(fā)出指令或遞交數(shù)據(jù)給應(yīng)用層,應(yīng)用層接收到指令或數(shù)據(jù)后,會(huì)進(jìn)行相應(yīng)的計(jì)算操作,之后底層將處理后把數(shù)據(jù)返還給表現(xiàn)層。

2)SAP系統(tǒng)架構(gòu)應(yīng)用層(Application layer)這層包括一個(gè)或者多個(gè)應(yīng)用服務(wù)器(ABAP Programm)和一個(gè)消息服務(wù)器(ABAP Dispatcher)。每一個(gè)應(yīng)用服務(wù)器包括一系列服務(wù)以便運(yùn)行應(yīng)用程序。Dispatcher是系統(tǒng)應(yīng)用層的核心,所有從客戶端傳遞進(jìn)來(lái)的請(qǐng)求都將首先傳遞到消息服務(wù)器中,消息服務(wù)器首先按照First in First out的原則將所有請(qǐng)求排序,然后將用戶請(qǐng)求依次傳遞給空閑的工作進(jìn)程(Work Process)中,每個(gè)工作進(jìn)程在某一時(shí)刻只能處理一個(gè)用戶請(qǐng)求。工作進(jìn)程會(huì)根據(jù)具體的要求通過(guò)Open SQL到數(shù)據(jù)層中讀取對(duì)應(yīng)的數(shù)據(jù)。

3)SAP系統(tǒng)架構(gòu)數(shù)據(jù)庫(kù)層(Database layer):這里存放了所有SAP系統(tǒng)的數(shù)據(jù)。SAP系統(tǒng)通過(guò)自身的標(biāo)準(zhǔn)語(yǔ)言O(shè)pen SQL對(duì)數(shù)據(jù)庫(kù)進(jìn)行管理,同時(shí)實(shí)現(xiàn)了上層應(yīng)用于底層數(shù)據(jù)庫(kù)類型的不相關(guān)性。SAP支持很多數(shù)據(jù)庫(kù)系統(tǒng),包括:Microsoft SQL Server,ORACLE,INFORMIX,DB2等。

2 SAP系統(tǒng)的數(shù)據(jù)庫(kù)接口

SAP系統(tǒng)支持多種數(shù)據(jù)庫(kù),SAP程序可通過(guò)SAP Open SQL對(duì)數(shù)據(jù)庫(kù)進(jìn)行讀寫(xiě),SAP Open SQL的編寫(xiě)不依賴于數(shù)據(jù)庫(kù)的類型。在圖2中所示的數(shù)據(jù)庫(kù)接口是SAP應(yīng)用層中一個(gè)重要的組成部分,它將Open SQL指令轉(zhuǎn)換成與數(shù)據(jù)庫(kù)類型相應(yīng)的SQL語(yǔ)句(Native SQL)。這樣使得在SAP開(kāi)發(fā)時(shí)無(wú)需考慮底層數(shù)據(jù)庫(kù)的類型。在數(shù)據(jù)庫(kù)接口對(duì)Open SQL進(jìn)行轉(zhuǎn)換時(shí)會(huì)先對(duì)驗(yàn)證其語(yǔ)法,并自動(dòng)最大限度使用本的'緩存來(lái)優(yōu)化數(shù)據(jù)庫(kù)的操作。人們也可在SAP程序中直接定義與數(shù)據(jù)庫(kù)類型相應(yīng)的SQL指令(Native SQL)來(lái)讀寫(xiě)數(shù)據(jù)庫(kù)中數(shù)據(jù)。

3 總結(jié)

任何ERP軟件都不可能覆蓋企業(yè)的多樣性和復(fù)雜性的所有方面,對(duì)于企業(yè)的特殊要求用戶可自行進(jìn)行必要的二次開(kāi)發(fā),并要求同其他應(yīng)用軟件也可方便地集成。這就要求供應(yīng)商提供的軟件都能具有很強(qiáng)的開(kāi)放性,而充分利用這種開(kāi)放性的前提就是必須熟知其系統(tǒng)的基本架構(gòu)。本文通過(guò)對(duì)SAP系統(tǒng)的三層結(jié)構(gòu)和數(shù)據(jù)庫(kù)接口的分析使大家更能深層次的了解SAP系統(tǒng)的系統(tǒng)框架,能夠更好的使用SAP系統(tǒng)。

;

如何在 SAP 系統(tǒng)中監(jiān)控和分析 DB2 UDB 性能

性能問(wèn)題總是數(shù)據(jù)庫(kù)領(lǐng)域里面永恒的話題,使用 DB2 作為底層數(shù)據(jù)平臺(tái)的 SAP 系統(tǒng)為我們提供了許多方法監(jiān)控和檢測(cè)數(shù)據(jù)庫(kù)性能問(wèn)題。本文從數(shù)據(jù)庫(kù)性能問(wèn)題檢測(cè)的一般思路和方法論入手,介紹了如何通過(guò) SAP 系統(tǒng)對(duì) DB2 的性能進(jìn)行監(jiān)控和分析?;仨?yè)首數(shù)據(jù)庫(kù)性能問(wèn)題檢測(cè)的思路及方法論在數(shù)據(jù)庫(kù)運(yùn)維工作中遇到性能問(wèn)題時(shí),通常會(huì)讓數(shù)據(jù)庫(kù)管理員感到無(wú)從下手,不容易斷定問(wèn)題的根源所在。如果能有一種可操作的一般性的方法作為指導(dǎo),我們通常就能夠發(fā)現(xiàn)大部分?jǐn)?shù)據(jù)庫(kù)性能問(wèn)題的根源。那么,首先根據(jù)我們對(duì)數(shù)據(jù)庫(kù)性能監(jiān)控的一些實(shí)踐經(jīng)驗(yàn)來(lái)總結(jié)一下在遇到性能問(wèn)題時(shí)應(yīng)該進(jìn)行哪些檢查。我們不能保證通過(guò)文中介紹的方法就能找到所有性能瓶頸,性能問(wèn)題的原因很多,解決方法也多種多樣,我們?cè)谶@里只是提供一些普遍的,一般性的方法,具體的實(shí)施還需要根據(jù)系統(tǒng)的具體情況和不斷的實(shí)踐經(jīng)驗(yàn)積累。同時(shí),通過(guò)進(jìn)行這些監(jiān)控,也有利于為技術(shù)支持人員提供更詳細(xì)診斷信息,以便于快速定位性能問(wèn)題。當(dāng)遇到一個(gè)性能問(wèn)題,我們首先進(jìn)行以下排查: 性能問(wèn)題是在何時(shí)發(fā)生的; 性能問(wèn)題持續(xù)存在的還是間斷性的; 系統(tǒng)范疇的性能問(wèn)題還是數(shù)據(jù)庫(kù)本身的性能問(wèn)題; 性能問(wèn)題是否只存在于某一個(gè)應(yīng)用; 性能問(wèn)題是隨機(jī)出現(xiàn)的還是必然出現(xiàn)的。如果性能問(wèn)題存在于所有應(yīng)用,我們可以進(jìn)行以下排查: 如果發(fā)現(xiàn)系統(tǒng)存在大量的 I/O 操作: 檢查設(shè)備使用情況; 檢查排序情況和臨時(shí)表空間; 檢查查詢性能是否有效的得到優(yōu)化; 檢查緩沖池的使用狀況。 如果發(fā)現(xiàn) CPU 具有很高的負(fù)載: 檢查排序狀況; 檢查緩沖池的使用狀況。 如果發(fā)現(xiàn) CPU 和 I/O 操作的負(fù)荷都很大: 檢查用戶數(shù)量; 檢查排序狀況。 如果發(fā)現(xiàn) CPU 和 I/O 操作的負(fù)荷都很小而數(shù)據(jù)庫(kù)響應(yīng)仍然很慢: 檢查并發(fā)性和鎖的使用狀況; 檢查緩沖池的使用狀況。如果性能問(wèn)題可以被定位在一個(gè)應(yīng)用,我們可以進(jìn)行以下排查: 檢查排序情況。 檢查并發(fā)性和鎖的使用狀況。 檢查統(tǒng)計(jì)信息是否更新?;仨?yè)首通過(guò)SAP 系統(tǒng)的工具對(duì) DB2 UDB 進(jìn)行監(jiān)控通過(guò)前一部分的描述,我們了解到了在遇到性能問(wèn)題以后應(yīng)該用什么思路尋找性能的瓶頸,從而想辦法解決性能問(wèn)題。在對(duì)數(shù)據(jù)庫(kù)進(jìn)行檢查的過(guò)程中,我們通常會(huì)用到數(shù)據(jù)管理工具,命令行以及操作系統(tǒng)的工具,還要結(jié)合 SAP 的自身特點(diǎn)尋找性能問(wèn)題的根源,這將是一個(gè)比較繁瑣和費(fèi)事的工作。在使用 SAP 作為底層數(shù)據(jù)庫(kù)的 SAP 系統(tǒng)中,由于 SAP 實(shí)現(xiàn)了與 DB2 緊密的結(jié)合。SAP 的 DBA Cockpit 提供了許多功能來(lái)支持?jǐn)?shù)據(jù)庫(kù)的管理工作,使得數(shù)據(jù)庫(kù)性能監(jiān)控和分析變得更加簡(jiǎn)單。下面我們就來(lái)看看,SAP 為 DB2 性能監(jiān)控和分析提供了哪些支持。磁盤(pán)I/O 性能監(jiān)控概念對(duì)于數(shù)據(jù)庫(kù)來(lái)說(shuō),最消耗時(shí)間的操作實(shí)際上是從磁盤(pán)中檢索數(shù)據(jù)。這是由磁盤(pán)的物理特性決定的。盡管磁盤(pán)存儲(chǔ)技術(shù)已經(jīng)取得了極大的進(jìn)步,但磁盤(pán)的讀寫(xiě)速度與內(nèi)存的讀寫(xiě)速度仍然相差幾個(gè)數(shù)量級(jí)。從性能調(diào)整的角度來(lái)說(shuō),如果一個(gè)機(jī)器的磁盤(pán)出現(xiàn)問(wèn)題,那么其他的任何優(yōu)化工作都無(wú)法提供幫助。因此我們應(yīng)該保證運(yùn)行數(shù)據(jù)庫(kù)的磁盤(pán)系統(tǒng)是健康的。SAP 系統(tǒng)為我們提供了監(jiān)控磁盤(pán)讀寫(xiě)速度的功能,讓我們可以直接了解當(dāng)前磁盤(pán)的性能狀況。監(jiān)控我們首先進(jìn)入 SAP 的 DBA Cockpit ( 可以直接輸入 st04),然后在 Performance 的目錄下雙擊 Database, Buffer Pool 的標(biāo)簽內(nèi),可以看到當(dāng)前數(shù)據(jù)庫(kù)磁盤(pán)的讀寫(xiě)狀況。圖1. 磁盤(pán) I/O 信息從圖中我們可以看到磁盤(pán)物理平均讀速度為 3.25ms,寫(xiě)速度為 7.45ms。分析磁盤(pán)物理讀寫(xiě)速度反應(yīng)了磁盤(pán)子系統(tǒng)的性能。一般情況下,磁盤(pán)讀寫(xiě)速度應(yīng)該小于 5ms,讀速度一般要大于寫(xiě)速度,但在一些具有大量緩存的存儲(chǔ)系統(tǒng)中,寫(xiě)速度可能會(huì)快于讀速度。磁盤(pán)性能的優(yōu)化已經(jīng)超出了本文討論的范圍,這里只是提供一些基本的指導(dǎo)。緩沖池監(jiān)控概念緩沖池是數(shù)據(jù)庫(kù)單獨(dú)開(kāi)辟的一塊存儲(chǔ)區(qū)域,這片區(qū)域用來(lái)緩存從磁盤(pán)讀出的包含數(shù)據(jù)表和索引的數(shù)據(jù)頁(yè)。當(dāng)數(shù)據(jù)第一次被檢索出來(lái)以后便被暫時(shí)緩存在緩沖池中,當(dāng)數(shù)據(jù)下次被訪問(wèn)時(shí),數(shù)據(jù)庫(kù)將直接從緩沖池中讀取數(shù)據(jù),這樣減少了相對(duì)緩慢的磁盤(pán) I/O 操作。因此,緩沖池的配置對(duì)于數(shù)據(jù)庫(kù)性能十分重要。在緩沖池中,目前還不支持存儲(chǔ)大對(duì)象和長(zhǎng)數(shù)據(jù)記錄。反映緩沖池質(zhì)量的一個(gè)重要性能指標(biāo)是緩沖池命中率。緩沖池命中率指數(shù)據(jù)庫(kù)管理器不需從磁盤(pán)讀入頁(yè)就能處理頁(yè)請(qǐng)求的時(shí)間百分比。其計(jì)算方法為:緩沖池命中率 = (1 - (( 緩沖池?cái)?shù)據(jù)物理讀 + 緩沖池索引物理讀 ) / ( 緩沖池?cái)?shù)據(jù)邏輯讀 + 緩沖池索引邏輯讀 ) ) ) * 100%另外兩個(gè)重要性能指標(biāo)是索引命中率和數(shù)據(jù)命中率。索引命中率反映了可以在緩沖池中找到的頁(yè)面能夠滿足的對(duì)索引頁(yè)的所有讀請(qǐng)求所占的百分比。其計(jì)算方法為:索引命中率 = (1 - ( 緩沖池索引物理讀 / 緩沖池索引邏輯讀 ) ) ) * 100%數(shù)據(jù)命中率說(shuō)明了可以在緩沖池中找到的頁(yè)面能夠滿足的對(duì)數(shù)據(jù)頁(yè)的所有讀請(qǐng)求所占的百分比。其計(jì)算方法為:數(shù)據(jù)命中率 = (1 - ( 緩沖池?cái)?shù)據(jù)物理讀 / 緩沖池?cái)?shù)據(jù)邏輯讀 ) ) ) * 100%監(jiān)控我們可以從三個(gè)級(jí)別來(lái)看緩沖池的質(zhì)量,這三個(gè)層次分別是數(shù)據(jù)庫(kù)級(jí),緩沖池級(jí),表空間級(jí)。在 SAP 系統(tǒng)中我們可以使用 DBA Cockpit 來(lái)查看不同級(jí)別的緩沖池質(zhì)量。首先可以在數(shù)據(jù)庫(kù)級(jí)查看緩沖池的質(zhì)量,我們進(jìn)入 SAP 的 DBA Cockpit,然后在 Performance 的目錄下雙擊 Database, 在 Buffer Pool 的標(biāo)簽內(nèi),可以看到當(dāng)前數(shù)據(jù)庫(kù)總體的緩沖池質(zhì)量。圖2. 緩沖池總體狀況我們從圖中可以看出,數(shù)據(jù)庫(kù)緩沖池的總體命中率是 99.81%,數(shù)據(jù)命中率為 99.86%,索引命中率為 99.70%。如果在 st04 中選中 Performance - Buffer pools, 我們也可以在緩沖池級(jí)別看到命中率,如果一個(gè)數(shù)據(jù)庫(kù)只有一個(gè)緩沖池,那么這個(gè)命中率與我們?cè)跀?shù)據(jù)庫(kù)級(jí)別看到的命中率相同。圖3. 數(shù)據(jù)庫(kù)級(jí)別緩沖池信息如果在 st04 中選中 Performance - Tablespaces,我們就可以在表空間級(jí)別看到緩沖池的命中率。圖4. 表空間級(jí)別緩沖池信息分析緩沖池的理想命中率對(duì)于索引應(yīng)該大于 90%, 對(duì)于數(shù)據(jù)應(yīng)該大于 95%。要提高緩沖池的命中率,可以增加緩沖池的大小,也可以為不同類型數(shù)據(jù)分配不同緩沖池,可以為每個(gè)經(jīng)常訪問(wèn)的具有自己的表空間的大型表使用一個(gè)緩沖池,也可以為一組小型表使用一個(gè)緩沖池。緩存監(jiān)控概念數(shù)據(jù)庫(kù)的緩存主要有包緩存 (Package Cache) 和編目錄緩存 (Catalog Cache)。它們與數(shù)據(jù)庫(kù)的查詢性能息息相關(guān)。包緩存(Package Cache) :SQL 語(yǔ)句編譯通常消耗的資源比較大,為了提高系統(tǒng)性能,動(dòng)態(tài) SQL 語(yǔ)句在被編譯后一般存放于包緩存中。當(dāng)用戶下一次請(qǐng)求同一條 SQL 語(yǔ)句,就無(wú)需再次編譯 SQL 語(yǔ)句。包緩存的質(zhì)量一般通過(guò)包緩存命中率來(lái)衡量,它表明了包緩存的設(shè)置是否成功的避免了 SQL 語(yǔ)句的重新編譯。其計(jì)算方法為:包緩存命中率 = (1 - ( 在包緩存中的插入次數(shù) / 查詢包緩存的次數(shù) )) * 100編目錄緩存 (Catalog Cache):編目錄緩存用來(lái)緩存系統(tǒng)編目錄信息,如系統(tǒng)表,權(quán)限,系統(tǒng)存儲(chǔ)過(guò)程。系統(tǒng)編目錄的訪問(wèn)速度對(duì)于系統(tǒng)的性能有著十分重要的影響。在 DPF 環(huán)境下,系統(tǒng)編目錄的訪問(wèn)速度至關(guān)重要。通過(guò)使用編目錄緩存可以大大提高訪問(wèn)系統(tǒng)編目錄的速度。編目錄緩存質(zhì)量一般通過(guò)編目錄命中率來(lái)衡量,它表明了編目錄緩存是否成功的避免了從磁盤(pán)中讀取編目錄信息。其計(jì)算方法為:包緩存命中率 = (1 - ( 在編目錄緩存中的插入次數(shù) / 查詢編目錄緩存的次數(shù) )) * 100監(jiān)控我們進(jìn)入 SAP 的 DBA Cockpit,然后在 Performance 的目錄下雙擊 Database, 在 Cache 的標(biāo)簽內(nèi),可以看到當(dāng)前數(shù)據(jù)庫(kù)緩存的統(tǒng)計(jì)信息。圖5. 數(shù)據(jù)庫(kù)緩存信息從圖中我們可以看到編目錄緩存的質(zhì)量是 99.93%,在圖中的 quality 就是我們前面所說(shuō)的命中率。當(dāng)前數(shù)據(jù)庫(kù)編目錄緩存的大小為 10240KB,沒(méi)有緩存溢出。在左邊一欄,我們可以看到,包緩存的質(zhì)量是 97.64%,包緩存的大小為 62080KB,沒(méi)有緩存溢出。分析包緩存的理想命中率應(yīng)該大于 98%,用戶通常不用關(guān)注包緩存的大小,如果 PCKCACHESZ 被設(shè)置為 automatic,其大小由 DB2 自動(dòng)調(diào)節(jié)。編目錄緩存的理想命中率也應(yīng)該大于 98%,其大小應(yīng)該保證編目錄緩存不應(yīng)該發(fā)生任何溢出。我們可以調(diào)整數(shù)據(jù)庫(kù)配置參數(shù) CATALOGCACHE_SZ 來(lái)改變編目錄緩存大小,由于編目錄緩存是從數(shù)據(jù)庫(kù)堆中分配的,因此,在改變 CATALOGCACHE_SZ 變量的同時(shí),應(yīng)該注意到數(shù)據(jù)庫(kù)堆的大小也會(huì)相應(yīng)改變。排序監(jiān)控概念DB2 在運(yùn)行過(guò)程中時(shí)經(jīng)常要做排序操作。一般說(shuō)來(lái),在 OLTP 類型的數(shù)據(jù)庫(kù)中,排序操作通常少于 OLAP 類型的數(shù)據(jù)庫(kù)環(huán)境。排序操作通常會(huì)在三種情況下發(fā)生,第一種情況是數(shù)據(jù)的查詢處理,比如 order by, group, 哈希連接,索引操作,內(nèi)存的表操作等等。第二種是當(dāng)我們載入操作的對(duì)象是帶有索引的表時(shí),再載入操作過(guò)程中就會(huì)涉及到對(duì)索引鍵的列表和排序,這樣就會(huì)產(chǎn)生排序操作。第三種情況發(fā)生在創(chuàng)建索引的時(shí)候。排序的效率因而直接影響到數(shù)據(jù)庫(kù)的響應(yīng)時(shí)間,我們必須對(duì)排序進(jìn)行有效監(jiān)控。監(jiān)控我們進(jìn)入 SAP 的 DBA Cockpit,然后在 Performance 的目錄下雙擊 Database, 在 Sorts 的標(biāo)簽內(nèi),可以看到當(dāng)前數(shù)據(jù)庫(kù)的排序狀況。圖6. 數(shù)據(jù)庫(kù)排序狀況可以從圖中看出,共享排序堆的大小為 1676KB, 私有排序堆的大小為 1340KB。如果沒(méi)有索引滿足所取的行的要求順序,或者 DB2 查詢優(yōu)化器認(rèn)為排序的代價(jià)低于索引掃描,那么就需要在排序堆中進(jìn)行排序。DB2 的排序分為私有排序和共享排序。私有排序發(fā)生在代理的私有代理內(nèi)存中,而共享排序發(fā)生在數(shù)據(jù)庫(kù)的數(shù)據(jù)庫(kù)共享內(nèi)存中。我們還可以看出,排序堆溢出次數(shù) 1174 次,總的排序次數(shù)為 310642 次。分析如果數(shù)據(jù)庫(kù)分配的排序堆大小不夠大,就會(huì)出現(xiàn)排序溢出的情況,這樣就需要?jiǎng)佑门R時(shí)表空間來(lái)輔助排序的進(jìn)行,由于臨時(shí)表空間存在于磁盤(pán),這將大大影響排序的速度。理想情況下,排序溢出率 ((Sort overflows * 100) / Total sorts ) 不應(yīng)該超過(guò) 1%。如果這個(gè)溢出率過(guò)高,那么數(shù)據(jù)庫(kù)中很可能發(fā)生了大的排序,我們就需要調(diào)查出現(xiàn)過(guò)度排序的原因。在發(fā)現(xiàn)根源之前,一個(gè)簡(jiǎn)易的解決方案是增加 SORTHEAP 的大小。然而,這樣做通常是治標(biāo)不治本并且掩蓋了真實(shí)的性能問(wèn)題。比較徹底的解決方案應(yīng)該是確定引起排序的 SQL 并更改該語(yǔ)句,或通過(guò)增加索引來(lái)避免或減少排序開(kāi)銷。并發(fā)性和鎖的監(jiān)控概念數(shù)據(jù)庫(kù)的鎖是數(shù)據(jù)庫(kù)管理器用來(lái)控制應(yīng)用程序并發(fā)訪問(wèn)數(shù)據(jù)庫(kù)數(shù)據(jù)并且保證數(shù)據(jù)庫(kù)數(shù)據(jù)的一致性的重要機(jī)制,數(shù)據(jù)庫(kù)中行和表都可以上鎖。數(shù)據(jù)庫(kù)的鎖在保證了數(shù)據(jù)庫(kù)數(shù)據(jù)一致性同時(shí)也在一定程度上降低了數(shù)據(jù)庫(kù)的響應(yīng)速度。鎖等待和死鎖是影響數(shù)據(jù)庫(kù)相應(yīng)速度的重要因素,糟糕的應(yīng)用程序設(shè)計(jì)和不合理的 SQL 查詢計(jì)劃的生成都會(huì)導(dǎo)致鎖等待和死鎖。鎖升級(jí) (Lock Escalation):一個(gè)鎖通常作為一個(gè)記錄存儲(chǔ)在內(nèi)存鎖表中,鎖表的大小可以由數(shù)據(jù)庫(kù)自動(dòng)調(diào)節(jié)。鎖升級(jí)一般發(fā)生在鎖的數(shù)量超過(guò)了數(shù)據(jù)庫(kù)配置參數(shù) MAXLOCKS 所指定的大小,為了減少鎖的數(shù)量,數(shù)據(jù)庫(kù)會(huì)把若干行一級(jí)的鎖合并為表鎖。這樣數(shù)據(jù)庫(kù)的并發(fā)性就會(huì)受到影響。監(jiān)控我們進(jìn)入 SAP 的 DBA Cockpit,然后在 Performance 的目錄下雙擊 Database, 在 Locks and Deadlocks 的標(biāo)簽內(nèi),可以看到當(dāng)前數(shù)據(jù)庫(kù)的鎖的狀況。圖7. 數(shù)據(jù)庫(kù)鎖狀況從圖中可以看到,當(dāng)前鎖表的大小為 22144KB,已經(jīng)使用了 94KB。鎖等待的平均時(shí)間為 10.40ms,沒(méi)有鎖升級(jí)和死鎖被檢測(cè)到。分析影響數(shù)據(jù)性能的有關(guān)鎖的問(wèn)題主要集中在鎖等待,死鎖和鎖升級(jí)。這些問(wèn)題的根源很可能是數(shù)據(jù)庫(kù)應(yīng)用的設(shè)計(jì)問(wèn)題。因此,我們應(yīng)該仔細(xì)調(diào)查造成死鎖,鎖等待和鎖升級(jí)的應(yīng)用程序,以及其用到的 SQL 語(yǔ)句。同時(shí),在問(wèn)題定位之前,我們也可以通過(guò)下面方法來(lái)解決數(shù)據(jù)庫(kù)鎖造成的性能問(wèn)題。鎖等待和死鎖:如果要避免鎖等待和死鎖的問(wèn)題我們需要注意數(shù)據(jù)庫(kù)參數(shù)中的 DLCHKTIME 和 LOCKTIMEOUT 兩個(gè)參數(shù)的設(shè)置。其中 DLCHKTIME 單位是毫秒,是 DB2 檢查死鎖的間隔時(shí)間,如果該值為 10000ms,則表明每隔 10 秒鐘數(shù)據(jù)庫(kù)會(huì)檢查一下有無(wú)死鎖存在,如有死鎖,會(huì)選擇回滾其中的某一個(gè)事務(wù),讓另外一個(gè)事務(wù)完成交易。LOCKTIMEOUT 單位是秒,是鎖等待最長(zhǎng)時(shí)間,超過(guò)該時(shí)間仍未獲得鎖,則返回錯(cuò)誤。LOCKTIMEOUT 的默認(rèn)值為 -1,這意味著鎖等待時(shí)間無(wú)限大,一般不推薦這種設(shè)置。DLCHKTIME 時(shí)間通常要設(shè)得比 LOCKTIMEOUT 時(shí)間小一些,否則還未發(fā)現(xiàn)死鎖,就會(huì)返回鎖等待超時(shí)錯(cuò)誤 (SQL0911N 返回碼 68) 。鎖升級(jí):要避免鎖升級(jí),我們應(yīng)該正確設(shè)置數(shù)據(jù)庫(kù)參數(shù) LOCKLIST 和 MAXLOCKS。LOCKLIST 表明分配給鎖表的內(nèi)存大小。每個(gè)數(shù)據(jù)庫(kù)都有一個(gè)鎖表,鎖表包含了并發(fā)連接到該數(shù)據(jù)庫(kù)的所有應(yīng)用程序所持有的鎖。MAXLOCKS 定義了應(yīng)用程序可以占有鎖表空間的百分比,當(dāng)一個(gè)應(yīng)用程序所使用的鎖表百分比達(dá)到 MAXLOCKS 時(shí),數(shù)據(jù)庫(kù)管理器會(huì)升級(jí)這些鎖,用表鎖代替行鎖,從而減少列表中鎖的數(shù)量。我們一般可以通過(guò)增加鎖表大小的方法解決鎖升級(jí)問(wèn)題。日志性能監(jiān)控概念DB2 事務(wù)日志對(duì)于恢復(fù)來(lái)說(shuō)極其重要。它們記錄對(duì)數(shù)據(jù)庫(kù)對(duì)象和數(shù)據(jù)所做的更改。在 DB2 中數(shù)據(jù)和索引的改變都會(huì)先被寫(xiě)入日志緩沖區(qū),保證對(duì)數(shù)據(jù)所做的修改在記錄到數(shù)據(jù)庫(kù)之前,總是被具體化為日志文件。日志緩沖區(qū)的數(shù)據(jù)由日志處理器寫(xiě)入磁盤(pán)。在下列情況下,查詢處理必須等待日志數(shù)據(jù)寫(xiě)入磁盤(pán)后才能進(jìn)行: 事務(wù)提交時(shí)。 在將相應(yīng)數(shù)據(jù)頁(yè)寫(xiě)入磁盤(pán)之前,因?yàn)?DB2 使用預(yù)寫(xiě)日志記錄。預(yù)寫(xiě)日志記錄的好處是當(dāng)執(zhí)行 COMMIT 語(yǔ)句完成事務(wù)之后,并非所有更改的數(shù)據(jù)和索引頁(yè)都需要寫(xiě)入磁盤(pán)。 在元數(shù)據(jù)更改(一般通過(guò)執(zhí)行 DDL 語(yǔ)句產(chǎn)生的)之前。 日志緩沖區(qū)已滿。DB2 以這種方法管理向磁盤(pán)寫(xiě)入日志數(shù)據(jù)的目的是盡可能地縮短處理延遲時(shí)間。在存在許多較小的并發(fā)事務(wù)的環(huán)境中,許多處理延遲是由 COMMIT 造成的,因?yàn)樗仨毜却罩緮?shù)據(jù)寫(xiě)入磁盤(pán)后才能進(jìn)行。因此,日志處理器進(jìn)程頻繁地將少量日志數(shù)據(jù)寫(xiě)入磁盤(pán)會(huì)造成大量處理延遲,另外一些延遲是由日志 I/O 開(kāi)銷造成的。監(jiān)控我們進(jìn)入 SAP 的 DBA Cockpit,然后在 Performance 的目錄下雙擊 Database, 在 Logging 的標(biāo)簽內(nèi),可以看到當(dāng)前數(shù)據(jù)庫(kù)日志的狀況。圖8. 數(shù)據(jù)庫(kù)日志狀況我們?cè)趫D中可以看到日志文件以及日志緩沖區(qū)的情況。包括日志文件的數(shù)量,大小,數(shù)據(jù)庫(kù)使用的日志空間以及可用日志空間的大小。還可以看到日志緩沖區(qū)的情況,當(dāng)前日志緩沖區(qū)的命中率為 100%。分析由于數(shù)據(jù)庫(kù)中的處理必須等待日志數(shù)據(jù)寫(xiě)入磁盤(pán)才能進(jìn)行,日志文件的讀寫(xiě)速度對(duì)數(shù)據(jù)庫(kù)的響應(yīng)速度也會(huì)產(chǎn)生很大影響。因此,應(yīng)該把日志文件放到速度比較快的磁盤(pán)上,以減少磁盤(pán) I/O 開(kāi)銷。日志文件寫(xiě)入的性能可以通過(guò)平均寫(xiě)時(shí)間來(lái)觀察。另外,我們可以通過(guò)調(diào)整數(shù)據(jù)庫(kù)配置參數(shù) LOGBUFSZ 來(lái)指定日志緩沖區(qū)的大小。如果數(shù)據(jù)庫(kù)對(duì)于日志磁盤(pán)有相當(dāng)多的讀操作,或者希望有較高的磁盤(pán)利用率。一般來(lái)說(shuō),如果日志緩沖區(qū)的命中率小于 98%,那么可以增加這個(gè)緩沖區(qū)的大小以提高命中率。當(dāng)增加這個(gè)參數(shù)的值時(shí),也要考慮 DBHEAP 參數(shù),日志緩沖區(qū)使用的空間是 DBHEAP 參數(shù)所定義的內(nèi)存空間的一部分。數(shù)據(jù)庫(kù)統(tǒng)計(jì)信息監(jiān)控概念數(shù)據(jù)庫(kù)的統(tǒng)計(jì)信息反映了表及其相關(guān)索引的物理特點(diǎn)。統(tǒng)計(jì)信息主要包含: 表信息:表的行數(shù),使用的數(shù)據(jù)頁(yè),溢出的行數(shù),列的平均長(zhǎng)度,列的最大最小值等。 索引信息:索引條目的數(shù)量,索引所關(guān)聯(lián)列的不同值的數(shù)量,索引的層數(shù)等。這些信息被數(shù)據(jù)庫(kù)查詢優(yōu)化器用來(lái)生成查詢計(jì)劃。好的訪問(wèn)計(jì)劃對(duì)于 SQL 語(yǔ)句的快速執(zhí)行至關(guān)重要。我們需要想辦法保證統(tǒng)計(jì)信息準(zhǔn)確地反映了當(dāng)前數(shù)據(jù)庫(kù)的狀況。由于數(shù)據(jù)庫(kù)的表和索引總是隨著數(shù)據(jù)庫(kù)處理各種更新請(qǐng)求而不斷發(fā)生變化的,因此,總會(huì)出現(xiàn)統(tǒng)計(jì)信息過(guò)時(shí),而不能正確反映數(shù)據(jù)庫(kù)數(shù)據(jù)現(xiàn)狀的情況。這時(shí),數(shù)據(jù)庫(kù)查詢優(yōu)化器生成的查詢計(jì)劃可能不是最優(yōu)的,這將大大影響數(shù)據(jù)庫(kù)的查詢性能。我們應(yīng)該經(jīng)常檢查數(shù)據(jù)庫(kù)的統(tǒng)計(jì)信息是否為最新的,并及時(shí)更新統(tǒng)計(jì)信息。SAP 系統(tǒng)為我們提供了監(jiān)控和執(zhí)行統(tǒng)計(jì)信息收集的方法。監(jiān)控我們進(jìn)入 SAP 的 DBA Cockpit,然后在 Performance 的目錄下雙擊 Tables, 在 Table 列表中雙擊要監(jiān)控的表,在 Table 的標(biāo)簽中,我們可以看到當(dāng)前表的基本信息。這時(shí),如果我們點(diǎn)擊 Count 按鈕,就會(huì)看到統(tǒng)計(jì)信息的質(zhì)量。圖9. 表的統(tǒng)計(jì)信息狀況從圖中我們看到,表的當(dāng)前行數(shù)為 27,Deviation 為 8%。分析如果我們監(jiān)控到一個(gè)表的 Deviation 超過(guò)了 15%,我們就應(yīng)該重新收集這個(gè)表的統(tǒng)計(jì)信息。在 SAP 中我們可以選擇手動(dòng)收集統(tǒng)計(jì)信息。我們也可將系統(tǒng)配置成自動(dòng)收集統(tǒng)計(jì)信息,這樣大大減少了系統(tǒng)手動(dòng)維護(hù)的工作量。自動(dòng)統(tǒng)計(jì)信息收集通常每隔 2 個(gè)小時(shí)觸發(fā)一次,它會(huì)自動(dòng)選擇在 24 小時(shí)之內(nèi)沒(méi)有收集過(guò)統(tǒng)計(jì)信息的持久的基表。如果 SAP 系統(tǒng)進(jìn)行 Client Copy 或在 BI 表中加載大量數(shù)據(jù),由于這些操作在短時(shí)間就可以改變表的數(shù)據(jù)狀況及分布,因此會(huì)導(dǎo)致統(tǒng)計(jì)信息的過(guò)時(shí)。在 DB2 V9.5 中,為了解決這個(gè)問(wèn)題,提供了一種 RTS (Real Time Statistics) 的特性,該特性可以允許在查詢被處理并優(yōu)化前對(duì)表的統(tǒng)計(jì)信息進(jìn)行收集或采樣,如果優(yōu)化器認(rèn)為重新收集統(tǒng)計(jì)信息比用過(guò)時(shí)的統(tǒng)計(jì)信息進(jìn)行查詢的速度快,那么會(huì)在處理該查詢之前重新收集表的統(tǒng)計(jì)信息,從而達(dá)到實(shí)時(shí)收集統(tǒng)計(jì)信息的目的。我們一般需要將數(shù)據(jù)庫(kù)配置參數(shù) AUTO_STMT_STATS 設(shè)為 ON 來(lái)開(kāi)啟 RTS 特性,但在 SAP 系統(tǒng)中,RTS 已經(jīng)是默認(rèn)設(shè)置,我們無(wú)需進(jìn)行任何改變?;仨?yè)首結(jié)束語(yǔ)本文從數(shù)據(jù)庫(kù)問(wèn)題檢測(cè)的一般思路和方法論出發(fā),介紹了如何通過(guò) SAP 系統(tǒng)對(duì) DB2 的性能進(jìn)行監(jiān)控。

倉(cāng)庫(kù)管理和SAP系統(tǒng)如何使用?

倉(cāng)庫(kù)管理SAP系統(tǒng)使用:

1、簡(jiǎn)單來(lái)講SAP系統(tǒng)提供的倉(cāng)庫(kù)管理功能有:收、發(fā)、轉(zhuǎn)、盤(pán)點(diǎn)四大項(xiàng)。其中,收就是收貨入庫(kù),除系統(tǒng)標(biāo)準(zhǔn)的收貨、退貨外,還可以依實(shí)際需要增設(shè)超交收貨、折補(bǔ)收貨、免費(fèi)收貨等;

2、發(fā)就是發(fā)料,主要有對(duì)訂單的投料(進(jìn)訂單成本)、對(duì)成本中心的投料(費(fèi)用性消耗);

3、轉(zhuǎn)就是轉(zhuǎn)儲(chǔ),轉(zhuǎn)儲(chǔ)含車間之間轉(zhuǎn)儲(chǔ)、工廠之間轉(zhuǎn)儲(chǔ)、跨公司轉(zhuǎn)儲(chǔ)、跟單與不跟單轉(zhuǎn)儲(chǔ)等;

4、盤(pán)點(diǎn)在SAP中只提供了盤(pán)盈虧的賬務(wù)處理功能,如果需要打印盤(pán)點(diǎn)表、盤(pán)點(diǎn)卡等,需要另外開(kāi)發(fā)處理。

拓展資料

SAP系統(tǒng):

系統(tǒng)配置:

所謂系統(tǒng)配置命令,通常包含系統(tǒng)操作配置、系統(tǒng)傳輸配置、系統(tǒng)自定義內(nèi)容配置等相關(guān)命令。系統(tǒng)配置的范圍很廣,這里介紹的系統(tǒng)配置不包括模塊配置內(nèi)容,主要是系統(tǒng)層面的相關(guān)配置命令。常用的操作命令主要包含以下幾種。

(1)系統(tǒng)傳輸配置命令:SE09/SE10、STMS

(2)系統(tǒng)后臺(tái)參數(shù)配置命令:SPRO

(3)系統(tǒng)信息發(fā)布命令:SM02

(4)目標(biāo)集團(tuán)參數(shù)配置命令:SCC4

后臺(tái)維護(hù):

在SAP系統(tǒng)中,普通用戶常常因?yàn)闄?quán)限不夠?qū)е潞芏嗍马?xiàng)無(wú)法處理,需要通過(guò)管理員在后臺(tái)對(duì)相應(yīng)的主數(shù)據(jù)及參數(shù)進(jìn)行修改設(shè)置。這里主要介紹以下幾個(gè)常用的后臺(tái)維護(hù)命令。

(1)批處理命令:SCAT

(2)定義后臺(tái)作業(yè)命令:SM36

(3)查看后臺(tái)作業(yè)命令:SM37

程序:

程序編輯屬于SAP系統(tǒng)開(kāi)發(fā)的一個(gè)重要組成部分,SAP系統(tǒng)本身帶有ABAP語(yǔ)言編輯器,可以提供強(qiáng)大的自開(kāi)發(fā)程序功能。這里介紹程序編輯通常使用的相關(guān)命令。一般來(lái)說(shuō),程序編輯常用到的命令有以下3各。

(1)程序編輯器命令:SE38

(2)函數(shù)編輯器命令:SE37

(3)對(duì)象瀏覽器命令:SE80

表間維護(hù):

(1)SAP系統(tǒng)中的數(shù)據(jù)都是存儲(chǔ)在不同的表空間中。對(duì)于這些表的查詢、修改及數(shù)據(jù)整理,SAP提供有相應(yīng)的操作命令。常用的表間維護(hù)命令主要包括以下幾種。

(1)ABAP數(shù)據(jù)字典命令:SE11

(2)維護(hù)表視圖命令:SM30

用戶權(quán)限:

在SAP系統(tǒng)中對(duì)于用戶及權(quán)限的控制是非常嚴(yán)格的,權(quán)限參數(shù)、權(quán)限、用戶的管理,均有一套專有的體系。這里介紹用戶及權(quán)限控制常用的命令,包括以下幾種。

(1)權(quán)限創(chuàng)建及修改命令:PFCG

(2)用戶創(chuàng)建及配置命令:SU01

(3)用戶批量處理命令:SU10

(4)用戶組創(chuàng)建維護(hù)命令:SUGR

6、系統(tǒng)監(jiān)控常用命令:

SAP系統(tǒng)作為企業(yè)管理的核心工作平臺(tái),系統(tǒng)管理員需要隨時(shí)監(jiān)控日常的系統(tǒng)運(yùn)行情況,尤其是對(duì)系統(tǒng)日志、進(jìn)程管理、用戶使用、操作系統(tǒng)、數(shù)據(jù)庫(kù)等運(yùn)行的情況要重點(diǎn)關(guān)注。這里簡(jiǎn)單介紹幾個(gè)常用的系統(tǒng)監(jiān)控命令。

(1)系統(tǒng)日志分析命令:SM21

(2)系統(tǒng)進(jìn)程監(jiān)控命令:SM50

(3)用戶狀態(tài)監(jiān)控命令:SM04

參考資料來(lái)源百度百科-sap系統(tǒng)

標(biāo)題名稱:sap系統(tǒng)監(jiān)控的簡(jiǎn)單介紹
新聞來(lái)源:http://www.muchs.cn/article16/ddipddg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供用戶體驗(yàn)做網(wǎng)站、Google網(wǎng)站收錄、品牌網(wǎng)站建設(shè)網(wǎng)頁(yè)設(shè)計(jì)公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站網(wǎng)頁(yè)設(shè)計(jì)