扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
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大小,前期当连接用户较多的情况下经常出现这个问题,通过多次长期的反复调整才比较好地处理了这个问题。
原文出处:http://d.wanfangdata.com.cn/Periodical_wlyxx201108005.aspx
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者