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