1 前言
ERP(企業(yè)資源計(jì)劃)是一個(gè)現(xiàn)代企業(yè)必備的信息化管理工具之一,是集成了生產(chǎn)制造、供應(yīng)、銷售、財(cái)務(wù)等幾大部分的、面向供應(yīng)鏈管理的綜合信息系統(tǒng)。企業(yè)ERP數(shù)據(jù)庫系統(tǒng)的穩(wěn)定、安全、可靠運(yùn)行則是企業(yè)ERP系統(tǒng)正常運(yùn)行的基礎(chǔ)和根本保障。株冶集團(tuán)ERP系統(tǒng)自上線以來連續(xù)運(yùn)行已有八年時(shí)間,目前仍然保持比較良好的狀態(tài)運(yùn)行.這與ERP數(shù)據(jù)庫完善、良好的日常維護(hù)與優(yōu)化工作是分不開的。株冶集團(tuán)ERP數(shù)據(jù)庫采用IBM DB2數(shù)據(jù)庫系統(tǒng),DB2數(shù)據(jù)庫作為目前兩個(gè)最大的大型商業(yè)數(shù)據(jù)庫系統(tǒng)之一一直在技術(shù)上和市場上占有領(lǐng)先位置,全球財(cái)富500強(qiáng)企業(yè)中80%都選用了DB2家族的產(chǎn)品。株冶ERP系統(tǒng)的舊M DB2數(shù)據(jù)庫硬件平臺采用的是兩臺舊Mp660小型機(jī)做HA集群系統(tǒng),兩臺小型機(jī)通過IBM的DS4700磁盤陣列建立互為備份的高可用(HA)系統(tǒng)以保證系統(tǒng)的高可靠性和高可用性。采用磁帶機(jī)做數(shù)據(jù)備份。
2 數(shù)據(jù)維護(hù)與優(yōu)化
2.1后期維護(hù)原則
在長期的ERP系統(tǒng)的后期維護(hù)當(dāng)中,我們根據(jù)自己的經(jīng)驗(yàn),結(jié)合企業(yè)的實(shí)際情況,確立了幾個(gè)比較重要的維護(hù)原則:“以數(shù)據(jù)為中心,實(shí)現(xiàn)數(shù)據(jù)標(biāo)準(zhǔn)化。完善數(shù)據(jù)最優(yōu)化”,具體來講就是:
(1)以數(shù)據(jù)為中心,ERP中原始數(shù)據(jù)的采集、加工、整理過程中。要保證基礎(chǔ)數(shù)據(jù)的完整性、正確性和一致性,保證指標(biāo)體系含義的唯一。確定性,保證系統(tǒng)主要業(yè)務(wù)流程的正確性和可變性。使ERP系統(tǒng)的內(nèi)部機(jī)制運(yùn)行更高效、更靈活。
(2)數(shù)據(jù)標(biāo)準(zhǔn)化,它包含編碼標(biāo)準(zhǔn)化、數(shù)據(jù)標(biāo)準(zhǔn)化和維護(hù)數(shù)據(jù)標(biāo)準(zhǔn)化三方面。由于這屬于開發(fā)階段的工作,所以這里就不展開討論了。
(3)數(shù)據(jù)最優(yōu)化,ERP系統(tǒng)中數(shù)據(jù)可分為靜態(tài)數(shù)據(jù)和動(dòng)態(tài)數(shù)據(jù)兩大類。靜態(tài)數(shù)據(jù)反映企業(yè)資源的基本屬性,動(dòng)態(tài)數(shù)據(jù)反映企業(yè)資源變化和運(yùn)動(dòng)過程。靜態(tài)數(shù)據(jù)管理對象的管理是全生命周期管理,對靜態(tài)數(shù)據(jù)的優(yōu)化就是最精簡的數(shù)據(jù)維護(hù)達(dá)到最充足的數(shù)據(jù)體現(xiàn)。動(dòng)態(tài)管理對象主要有三種:物流、資金流和信息流;動(dòng)態(tài)管理對象的管理是全流程管理。因此,對動(dòng)態(tài)數(shù)據(jù)的優(yōu)化也包括對業(yè)務(wù)流程的優(yōu)化。對于流動(dòng)的管理對象做到全流程的管理,本身也體現(xiàn)出管理的完整性、統(tǒng)一性、準(zhǔn)確性。
2.2 ERP數(shù)據(jù)庫的日常維護(hù)
(1)大型數(shù)據(jù)庫系統(tǒng)中存儲數(shù)據(jù)的物理分布形式
對應(yīng)用系統(tǒng)的性能有著顯著影響。這種影響體現(xiàn)在數(shù)據(jù)的更新、插入和刪除操作中。對各種長度的表字段進(jìn)行更新可能導(dǎo)致新的宇段值不適合在同一個(gè)數(shù)據(jù)頁面里存放。在表里產(chǎn)生內(nèi)部空隙或未使用空間,即數(shù)據(jù)保存的不連續(xù)性,導(dǎo)致數(shù)據(jù)庫需要花更多的時(shí)間來讀取更多的物理頁面來獲取應(yīng)用程序所需的數(shù)據(jù)。因此,在日常工作中要定期對數(shù)據(jù)庫進(jìn)行物理分布形式方面的優(yōu)化。
為此,我們可以使用DB2提供的數(shù)據(jù)維護(hù)命令定期進(jìn)行維護(hù)和優(yōu)化存儲數(shù)據(jù)的物理分布形式。Reorgchk:用于分析系統(tǒng)編目表,并且收集有關(guān)用戶表和索引的物理組織信息,顯示空間分配特性。Reorg:數(shù)據(jù)表重組,就是刪除所有未使用的空間。把表和索引寫入連續(xù)的頁面。Runstats:生成統(tǒng)計(jì)信息,生成的統(tǒng)計(jì)信息內(nèi)容包括表中的行數(shù)量、表和索引的使用空間情況、字段信息等等,這些都是DB2運(yùn)行優(yōu)化所需要的信息。對于頻繁更新、刪除、插入的表要經(jīng)常進(jìn)行這樣的檢查,以保證該表最新的統(tǒng)計(jì)信息,再運(yùn)行Rebind來重新綁定。一般建議在重組一個(gè)表之后就使用runstats工具收集該表的統(tǒng)計(jì)信息。
日常工作中還要根據(jù)需要來對各個(gè)表空間、緩;中池、容器等進(jìn)行必要的調(diào)整:合理的緩沖池的配置可以有效地降低過多磁盤讀寫造成的延遲,過大則造成系統(tǒng)其他內(nèi)存不足,過小則導(dǎo)致磁盤讀寫次數(shù)頻繁,系統(tǒng)延遲變長。合理的表空間和容器的分配可以有效地平衡IO負(fù)載和節(jié)省存儲設(shè)備的開支,定期檢查各個(gè)表空間以防止表空間過滿而影響性能。
(2)數(shù)據(jù)庫系統(tǒng)參數(shù)的配置與優(yōu)化
DB2數(shù)據(jù)庫系統(tǒng)可以調(diào)配的參數(shù)非常多而且復(fù)雜,參數(shù)之間存在復(fù)雜的相互影響的關(guān)系。當(dāng)然,一般情況下根據(jù)推薦的配置可以正常運(yùn)行,但是要保持比較良好、高效率的運(yùn)行狀態(tài),特別是在前期機(jī)器配置較低的情況下(前期小型機(jī)只有1 GB的物理內(nèi)存)則必須根據(jù)長期運(yùn)行的實(shí)際情況來不斷調(diào)整優(yōu)化數(shù)據(jù)庫參數(shù)的配置,以合理分配系統(tǒng)資源,達(dá)到整個(gè)系統(tǒng)性能的最優(yōu)化。
數(shù)據(jù)庫優(yōu)化的依據(jù)一般是通過監(jiān)控?cái)?shù)據(jù)庫運(yùn)行來獲得的,可以使用Snapshot monitor和Event monitor來獲得大部分信息.也可以使用其他輔助工具來進(jìn)行。監(jiān)控不但能獲得資源分配情況,而且還可以實(shí)時(shí)監(jiān)控到ERP進(jìn)程執(zhí)行狀況,可以看到是哪個(gè)ERP進(jìn)程占用資源,在執(zhí)行的具體的SQL語句情況等等,通過這些情況的觀察和了解。也可以給開發(fā)人員提供修改和優(yōu)化應(yīng)用程序的建議。例如由于前期株冶ERP的小型機(jī)配置較低,負(fù)載較高。因此,我們建議開發(fā)人員將不是非常必要的觸發(fā)器和存儲過程等去掉,通過監(jiān)測到的SQL事務(wù)執(zhí)行情況給開發(fā)人員提供應(yīng)用程序優(yōu)化的建議,以減輕服務(wù)器端的負(fù)擔(dān)。
對于DB2數(shù)據(jù)庫優(yōu)化,其本身提供了系統(tǒng)優(yōu)化工具——“系統(tǒng)優(yōu)化向?qū)А薄5捎谥暌盓RP系統(tǒng)開發(fā)設(shè)計(jì)時(shí)間較早,加上當(dāng)時(shí)的認(rèn)識和技術(shù)上的局限及開發(fā)設(shè)計(jì)人員的實(shí)際應(yīng)用經(jīng)驗(yàn)等等因素的局限,這個(gè)工具并不能很好地適應(yīng)實(shí)際的應(yīng)用情況。因此,我們在工作中通常是根據(jù)長期運(yùn)行的實(shí)際情況來調(diào)整配置參數(shù)。優(yōu)化不能只優(yōu)化一個(gè)參數(shù),應(yīng)該要考慮整個(gè)硬件和軟件系統(tǒng)的配置和終端應(yīng)用情況,但是一次修改最好只修改一個(gè)參數(shù)以能夠監(jiān)控到優(yōu)化的效果。一般主要要修改的參數(shù)是影響性能比較重要的參數(shù),如應(yīng)用程序堆大小、排序堆大小、語句堆大小、查詢堆大小等。這些參數(shù)的修改要經(jīng)過長期摸索實(shí)踐才能得到,特別是機(jī)器物理內(nèi)存不夠而嚴(yán)重影響性能的時(shí)候,經(jīng)過優(yōu)化之后可以明顯地提升系統(tǒng)性能和響應(yīng)時(shí)間。
還有就是涉及到操作系統(tǒng)級別的優(yōu)化,例如文件系統(tǒng)、物理與邏輯卷組的劃分、換頁空間(Paging space)大小等等,特別是換頁空間的大小比較嚴(yán)重地影響系統(tǒng)整體性能,一般情況下是物理內(nèi)存的兩倍比較合適,但是在內(nèi)存不足的情況下則必須做到系統(tǒng)性能和使用大小的平衡。在后期物理內(nèi)存擴(kuò)充到8GB的情況下則可以適當(dāng)縮小換頁空間,以提高系統(tǒng)響應(yīng)速度。
當(dāng)然,系統(tǒng)優(yōu)化并不是可以無限制地提高性能,只是當(dāng)系統(tǒng)遇到性能瓶頸的時(shí)候才可能發(fā)揮作用,大部分情況下難以察覺到性能優(yōu)化的效果。
(3)系統(tǒng)安全性維護(hù)
ERP系統(tǒng)由于數(shù)據(jù)的重要性,所以ERP本身就必須有嚴(yán)格完善的權(quán)限管理功能,根據(jù)不同的用戶崗位來進(jìn)行授權(quán);及時(shí)刪除或停用已經(jīng)調(diào)離崗位和離職的職員信息和權(quán)限。數(shù)據(jù)庫本身的管理員賬戶和密碼必須根據(jù)要求進(jìn)行嚴(yán)格管理,不得任意授予和進(jìn)行后臺操作。
2.3 數(shù)據(jù)庫備份與恢復(fù)
企業(yè)ERP系統(tǒng)最重要的就是數(shù)據(jù),在日常維護(hù)當(dāng)中.必須保證數(shù)據(jù)安全、可靠和完整,所以。建立完整的備份恢復(fù)計(jì)劃是非常重要的。我們根據(jù)企業(yè)應(yīng)用的實(shí)際情況和現(xiàn)有設(shè)備,制定了相應(yīng)的備份和恢復(fù)計(jì)劃。
IBM DB2數(shù)據(jù)庫的備份恢復(fù)管理非常復(fù)雜,一般有脫機(jī)備份和聯(lián)機(jī)備份的區(qū)分,可以備份到本地硬盤、磁帶機(jī)、其他遠(yuǎn)程機(jī)器的硬盤,以及通過IBM 的TSM管理軟件進(jìn)行備份等等。同時(shí)也可以采取增量備份和完整備份,或者只備份某個(gè)表空間等方式。不同的備份方式對日志文件的管理要求不一樣,不同的日志類型可以恢復(fù)的數(shù)據(jù)庫也不一樣。DB2數(shù)據(jù)庫的El志分為兩個(gè)類型:循環(huán)日志和歸檔日志。循環(huán)日志不能進(jìn)行前滾恢復(fù)。只能進(jìn)行故障恢復(fù)和版本恢復(fù)。歸檔日志則可以支持前滾恢復(fù),但是大量的歸檔日志文件要占用大量的磁盤空間。因此,我們指定備份恢復(fù)計(jì)劃的時(shí)候,具體分析株冶ERP的數(shù)據(jù)量和業(yè)務(wù)應(yīng)用情況,在操作系統(tǒng)級別下建立了采用完整脫機(jī)備份的計(jì)劃任務(wù)。備份設(shè)備采用磁帶機(jī)和硬盤相結(jié)合。這樣方便故障恢復(fù)和版本恢復(fù)。同時(shí)。對于株冶集團(tuán)的ERP系統(tǒng)這種運(yùn)行比較成熟穩(wěn)定的業(yè)務(wù)系統(tǒng)來說,可以不用考慮前滾恢復(fù)方式,因此,日志類型也采用循環(huán)日志的形式,以節(jié)省寶貴的磁盤陣列的硬盤空間。對于備份的保存一般采用復(fù)制異地計(jì)算機(jī)硬盤再刻錄成DVD光盤進(jìn)行異地保存。同時(shí)根據(jù)需要不定期進(jìn)行備份的恢復(fù)測試實(shí)驗(yàn),以保證備份的可用性。
3 總結(jié)
通過對株冶集團(tuán)的ERP數(shù)據(jù)庫近八年時(shí)問的維護(hù)與優(yōu)化工作,我們摸索出了一套比較切合株冶實(shí)際情況的維護(hù)方面的經(jīng)驗(yàn)和方法。總結(jié)了影響性能最重的要素:一是緩沖池大小影響緩沖命中率。但是緩沖池太大則其他內(nèi)存不夠分配。二是SQL語句:差的SQL語句嚴(yán)重影響性能,由于不能修改業(yè)務(wù)SQL,所以只能從索引方面人手優(yōu)化。三是與鎖相關(guān)的參數(shù)。例如maxlocks和Iocktimeout。四是排序堆SORTHEAP大小,前期當(dāng)連接用戶較多的情況下經(jīng)常出現(xiàn)這個(gè)問題,通過多次長期的反復(fù)調(diào)整才比較好地處理了這個(gè)問題。
轉(zhuǎn)載請注明出處:拓步ERP資訊網(wǎng)http://www.ezxoed.cn/
本文標(biāo)題:淺談企業(yè)ERP數(shù)據(jù)庫的維護(hù)與優(yōu)化