您的位置:首页 > 电脑网络 > 软件 > SAP 技术升级方案

SAP 技术升级方案

luyued 发布于 2011-03-02 06:26   浏览 N 次  
概览联合可口可乐瓶装公司(Coca-ColaBottlingCo.Consolidated,CCBCC)生产并销售饮料,大部分是可口可乐公司(Coca-ColaCompany)的产品。CCBCC是美国第二大可口可乐产品瓶装厂,营运点集中在东南部七个州。创立于1902年,总部设在北卡罗来纳州夏洛特市,营业收入净额高达14亿美元以上。

为了达到商业目标,CCBCC需将SAPR/3Enterprise系统升级到SAPERP6.0。若要完成此升级任务,公司同志电影必须升级现有的Oracle数据库,并购买其他Oracle许可证,或者是改用不同的数据库平台。

CCBCC团队决定借此机会提高关键业务应用SAP的性能,同时降低软硬件成本。代替升级Oracle,团队决定采用IBMDB2。若要升级SAP项目,就必须将CCBCC的SAPR/3系统转换为Unicode。

数据库迁移与SAPUnicode转换的结合为公司节省了大笔的经费和时间。初步结果显示,DB2可节省大约40%的储存需求,制造时间也缩短65%以上。迁移作业不仅没有超出预算,还提早完成了。通过避免购买额外的Oracle许可证,公司已经降低了许可证及维护的成本,预计未来五年还可节省750,000美元左右。

.成功案例背景、起点和目标

联合可口可乐瓶装公司(Coca-ColaBottlingCo.Consolidated,CCBCC)生产并销售饮料,大部分是可口可乐公司(Coca-ColaCompany)的产品。CCBCC是美国第二大可口可乐产品瓶装厂,营运点集中在东南部七个州。创立于1902年,总部设在北卡罗来纳州夏洛特市,营业收入净额高达14亿美元以上。

善用综效:SAPUnicode转换和DB2迁移

在进行SAP环境的技术升级之前,CCBCC决定执行Unicode转换,并从现有Oracle数据库平台迁移到具备DeepCompr伟哥的价格ession(深度压缩)功能的IBMDB2。由于此策略不需要购买新的Oracle许可证,所以可降低总拥有成本(TCO)。

迁移期间,使用DB2DeepCompression功能,公司可降低40%以上的数据库容量,还可缩短后续SAP软体升级的备份时间和执行时间。

同时,在SAP升级之前,CCBCC能够从高度自动化的DB2数据库管理中受益,从而降低运营成本。DB29版的功能包括自行管理存储器、自动化的内存管理(STMM)、自动重组、自动化的运行启动,以及通过集成的FlashCopy功能进行实时的统计和备份。

所有的数据库管理和监控任务都可以通过SAPDatabaseAdministrator(DBA)CockpitforDB2完成。此简单易用的管理环境已经被集成到了SAP应用环境中。

部署Unicode是保障未来运作的解决方案

CCBCC之所以要部署Unicode,是因为以后所有新的SAP产品版本(从SAPNetWeaver7.0开始)都会以Unicode为标准。CCBCC希望能够为SAPNetWeaverProcessIntegration(SAPNWPI)等新的SAP应用做准备,因为这些新SAP应用已是未来实施计划中的一部分。

以技术观点而言,Unicode转换与数据库迁移非常相似。因为在这两种情况下,客户都必须使用SAP程序R3load来导入和导出数据库。

Unicode转换是在迁移计划的导出阶段执行的。因此,无需宕机,就可以将数据库轻松地导入到一个新的目标系统。迁移到IBMDB2与SAP软件升级和/或Unicode转换的好处是,不仅可以避免执行重复的项目(如备份及测试),还可以有效地控制迁移成本。

迁移流程:异构系统复制

CCBCC使用标准的SAP方法来实施迁移,此方法又称为“异构系统复制”(或“OS/DB迁移)方法。CCBCC可在事先安排好的维护窗口中执行迁移和转换,而无需利用新改进的SAP迁移工具或服务,如ZeroDowntime。

整个SAPR/3Enterprise环境迁移项目的完成共用了8周,其中包括1TB生产数据库的两次迭代测试。SAP自身系统的迁移只需一个周末的时间(从周六晚上开始到周一凌晨)就可以完成。在整个迁移过程中,仅需宕机26小时。

为了缩短宕机时间,该公司使用了一系列SAP专用迁移工具:

1.UnsortedExport,适用于透明表格

2.PackageSplitter,适用于最大表格(“大表格“组)

3.TableSplitter,适用于三大群集表格

4.MigrationMonitor,可以对多个实例执行分布式并行导入和导出流程

5.R3load,它具有DeepCompression功能,在迁移阶段可以对数据库进行压缩。

本文下面部分将说明CCBCC使用这些工具的方式、选择这些工具的原因,以及重点说明其好处。

架构概述:CCBCC的迁移方案

CCBCC将IBMPowerSystems服务器(型号p5-560)分成四个逻辑分区(LPAR)进行迁移。三个LPAR用于负责从源系统导出数据库,一个LPAR负责将数据库导入目标系统。导出分区是由CentralInstance/Database分区及其他两个分区组成的;CentralInstance/Database(CI/DB)有16个1.50GHz的CPU和64GB的内存,其他两个分区各自拥有4个1.50GHz的CPU和12GB的内存。导入分区(或新的CI/DB分区)有16个1.50GHz的CPU和64GB内存。

测试期间,将系统设定为处理迁移工作负荷的最佳迁移环境。

为了达到目标的宕机时间,导出包的工作负荷分布在CI/DB服务器及其他两个服务器(主机A和B),这三个服务器运行在前三个LPAR中。CI/DB服务器通过TableSplitter处理3大群集表格。主机A处理较小的表格。主机B处理“大表格”组(包含>1千万、>2百万及>20万的记录);这些数据会通过PackageSplitter分成较小的压缩包。这三个主机都使用本地存储器,将数据导出到磁盘上。各个导出流程都由MigrationMonitor(MigMon)实例进行控管。

导入端只有一个服务器:主机C(新的CI/DB服务器)。CI/DB、主机A和主机B的导出磁盘是通过主机C上的NFS(用于读)安装的。导入作业由多个MigMon实例控管。

然后,使用“sortedunload”选项,从主机B上的“大表格”组中导出子集,此功能的完成需要额外的CPU资源。因此,导出阶段要指定一个额外的服务器。在导入阶段,载入程序期间会压缩“大表格”组中的表格。

数据库导出?使用的迁移工具

CCBCC卸载Oracle数据库中的数据采用了“Sortedexport”和“Unsortedexport”的导出方式。UnsortedExport通常比SortedExport快。但由于CCBCC也要执行Unicode转换,迁移团队只好采用“SortedExport”方式导出SAP群集表格(如CDCLS、RFGLG、EDI40)及SAP存储库表格类。对数据进行排序需要额外的CPU功耗,因此,在数据导出阶段,CCBCC使用了三个服务器。

1.SortedExport:PoolTable、ClusterTable、报表、Dynpro及Nametabs。

2.UnsortedExport:大部分透明表格

若使用“SortedExport”方式,就会按照主键的顺序来读取表格页面。如果群集比例不佳,则不会持续读取数据页面。此外,数据库排序作业可能会延长执行时间。

如使用“UnsortedExport”方式,会顺序读取数据,然后直接写入文件,而无需对数据进行排序。

群集表格的Unicode转换注意事项

执行Unicode转换后,记录的内容及长度可能有所改变。即使是逻辑记录,它的物理记录数目也可能会不同。因为逻辑记录是由物理记录组成的,必须以排序方式读取数据,才能找到属于该逻辑记录的所有物理记录。因此,无法使用未排序的卸载(Unsortedunload)方式。

数据库限制

DB2支持“UnsortedExport”,但有些数据库只支持“SortedExport”。换言之,这些数据库在进行迁移时会面临重大挑战,而且会限制日常运作。例如,使用“SortedExport”方式设定测试及QA系统会比较困难,尤其是庞大的数据库。若被迫执行“SortedExport”,就会大大延长宕机时间,而且几乎不可能更改数据库,甚至无法在合理时间内完成Unicode转换。

套件及表格分割

在过去,将近1TB的数据库大小及超大表格曾是导致服务中断的主因。因此,CCBCC决定使用PackageSplitter和TableSplitter,并行导出数据库,以提高整个迁移流程的速度。

PackageSplitter可将来源数据库表格分割成一个个的套件,然后导出。每个套件都由专用R3load程序进行处理。这些程序可同时进行,因此能够有效利用CPU资源。TableSplitterR3ta可针对表格产生多个WHERE条件,通过多个同时执行的R3load程序导出表格数据。各个R3load程序需要设置WHERE条件,来选择表格中的数据子集。

1.262个大型表格(“大表格”群组)是通过PackageSplitter对自己进行打包,以提高其并行处理能力及确保套件的精度,在迁移过程中有效利用资源。

2.12个超大表格是使用TableSplitter分割成多个套件,以便多个R3load程序进行表格的并行导出及导入。

3.其他表格则使用PackageSplitter纳入联合套件。将内容分割成多个R3load程序(20并行程序)之后,即可并行导出及导入资料,节省许多时间。

MigrationMonitor(MigMon)

在Unicode转换阶段中,系统复制会在导出时产生庞大的CPU负载。多数CPU资源会被用于转换资料,尤其是处理群集表格时。回春宝r>
为了避免CPU瓶项,CCBCC将导出和导入作业分散到4个LPAR上,以便有效地并行处理这些程序。如此一来,CCBCC便能利用额外的处理器资源来处理数据库的导入/导出作业。MigrationMonitor在系统复制期间协助执行及控管卸载和载入程序,同时让20个导出和导入程序得以同时执行。

数据库导入:使用DB2DeepCompression功能

DB29的存储优化功能

DB29存储优化功能又称为DeepCompression,可使用类似于字典的方式,使用短符号(shortsymbol)取代重复的型样。字典会储存最常出现的型样,以相关符号检索这些型样,然后取代之。由于会取代表格中的所有型样(不只是单页的型样),所以可达到可观的压缩率(每个表格高达90%)。

R3load具备DB2DeepCompression功能:

CCBCC希望利用DB2存储优化功能,所以决定在迁移过程中使用DeepCompression。尽管知道R3load6.40版的压缩率并不是最好的,但CCBCC还是决定这么做,因为这能达到40%的压缩率,并且有效的提高性能(虽然只压缩了169个较大表格)。

若在资料库迁移及/或Unicode转换期间使用DB2DeepCompression功能,将可顺利在载入资料库时压缩资料。R3load工具可在资料载入表格时,提供多种部署DB2DeepCompression的方法。不同的R3load版本(即6.40版、7.00或更新版)所提供的压缩选项也不尽相同,如新版R3load7.00的SAMPLED选项。

此功能可提供最佳数据压缩,而且不需要耗时进行表格重新整理。CCBCC使用的版本是R3load6.40版,所以本文着重介绍其压缩功能。

R3load6.40具有压缩功能

为了生成压缩字典,R3load首先将已经定义好的行载入表格,但不进行压缩。通过离线重新整理,R3load基于这些行创建压缩字典。

CCBCC定义了环境变量DB6LOAD_COMPRESSION_THRESHOLD的值,此变量定义了最初载入的用于创建字典的行数。此临界值默认为10,000条记录,但此值对较大的表格压缩示例来说太低。

通过提取10%-80%的记录作为样本(根据表格行数而定),CCBCC能够设置最佳临界值,并达到非常理想的压缩效果。最大的两个表格(COEP、BSIS)超过了1亿3千万条记录,还有几个表格的记录数在1千万至7千万之间。

CCBCC使用下列行数临界值来为可压缩的透明表格分组:

1.记录条数超过3百万的20个表格一组;临界值=3百万

2.记录条数超过200,000的47个表格一组;临界值=200,000

3.记录条数超过60,000的102个表格一组;临界值=60,000

请注意,并不是所有符合临界值的表格都会被附上压缩标志并被分到某个组。只有那些在测试阶段压缩效果表现良好的表格才会被选龋

初步导入并创建字典之后,R3load会将剩余的行导入表格,DB2根据字典来压缩数据。

若要在载入阶段进行压缩,该表格必须设置压缩属性设置。CCBCC的某些表格需要压缩,某些不需要,所以对于MigrationMonitor,要使用不同的模板文件。

CCBCC通过多个MigrationMonitor实例执行导入,而对于各个实例,DB6LOAD_COMPRESSION_THRESHOLD使用不同的值。

CCBCC已经从Unicode升级和数据库迁移中受益,具体表现在该公司在整个移转过程中充分利用合成效果,消除了备份和测试等重复程序。从开始到完成,整个ERP迁移项目只用了8周,包括Unicode转换。

还有一点很重要,从Oracle到DB2,数据库管理技术的转换很简单,因为DB2很友好,易于使用。CCBCC的数据库管理员具有很强的Oracle技能,他们只需花费几周的时间就可以就可以充分掌握DB2的技术。这说明对于经验丰富的DBA来说,不管其以前掌握的是什么技术,转到DB2都十分轻松。

CCBCC可马上从DB2中受益:

1.较低的TCO

2.资料库大小降低了40%

3.提高了性能:制造缩短了65%以上

4.将数据库更好地集成到了SAP工具中(SAPDBAcockpitforDB2)

5.降低DBA管理DB2的工作量

正确地使用DB2为CCBCC即将升级到SAPERP6.0做了很好的准备。SAP目前的执行比以前更加顺畅,更加快速。因为数据库的大小减少了40%,所以SAP软件升级的备份及运行时期也会跟着缩短。
广告赞助商