分类: 服务器与存储
2012-06-17 10:38:30
2011-06-16 10:13:04| 分类: sap basis | 标签: |字号大中小
由于数据库越来越大,对于管理和使用都是一个大的问题,我们归档的目的就是为了是数据库进可能的小,加快用户响应时间,并且对于用户对于数据库的查询来说,进可能加载多的表到内存中。
归档就是上面两个要求的平衡点,首先把不需要经常使用的商务对象数据从数据库中提取出来写到一个归档文件中,然后把相关对象从数据库删除,这就减小数据库大小。并且这些归档数据同样还是可以被用户读取和查询的。
注意商业对象可能在数据库中跨多个表存储,归档对象是把这些表中这个商业对象全部归结到这个对象来的。
然后才会在所有这些表中删除关于这个商业对象的相关数据。
数据归档运行的大概过程如下:
1 创建归档文件:在第一步过程中,写程序创建一个或者多个归档文件。然后从数据库读取将要被归档的数据并且写到这些归档文件中 。
2 存储归档文件:在写程序完成对我们所创建的归档文件之后,这些被归档文件被存储起来。
3 删除数据:删除程序首先读取归档文件中的数据,然后输出数据中对应记录。
另外:归档数据要考虑安全存放问题。
对于归档文件存放也有几个方法:
。HSM(tcode FILE)
。光盘
。磁带。
归档对象
数据归档的核心元素就是归档对象---可以被进行归档并且从数据库中删除的最小单元,并且描述必须被存取数据库对象,以及如何完整的归档一个商业对象。
归档对象包括三个组件
。数据描述组件---一个应用对象(商业对象)所有相关的数据库对象的说明都是通过这个组件实现
。自定义设定-----为了归档运行对于指定对象对象所做的自定义设定
。程序-----------包含其他一些内容:一个写程序(把数据对象写入到归档对象)
一个删除程序(从数据库中删除从归档对象中成功读取的所有数据对象)
一个显示程序(允许读取归档对象中的数据)
提示:DB15显示归档对象与数据库具体边之间的信息。
自定义的设定
在自定义归档过程中,你需要设定一些影响归档执行的参数。
。通常自定义定义(基本自定义)
----定义逻辑路径和文件名称
。跨归档对象自定义
----定义归档执行的服务器群组
。指定归档对象的自定义。
-----归档文件的大小
-----删除程序的设定
通过TCODE的customizing按钮来调用自定义设定。
在通常自定义(基本自定义,TCODE FILE)过程中,如果不存在的话,你首先定义一个逻辑文件路径作为归档的全局路径,并且指定一个物理路径给这个逻辑路径。在归档运行的时候逻辑路径仅仅是物理路径一个占位符。
你对于应用程序数据的归档文件的命名也可以通过这里维护一个逻辑文件名,并且在归档运行时候指定给一个具体文件使用作为他的文件名字。
在跨归档对象自定义,你可以执行是否需要监视归档执行在CCMS中(RZ20)被激活,或者选择那些服务器群组进行归档后台处理作业(这个社顶是SAP WEB APPLICATION SERVER 6。10新加的)
在指定归档对象的自定义,你可以为了指定的归档对象来维护一个逻辑文件名,并且对于删除程序做设定。你可以设定是否删除程序自动执行再归档文件创建完成后。在这个地方, 你可以为了测试来创建一个一个变式。也可以为了生产系统运行来创建一个变式。指定一个归档文件的最大大小。
归档的运行
实际我们运用归档都是把它做为一个后台定期执行的任务。首先,它从数据库中选择将要被归档的数据对象,在做这个的时候,构成一个商业数据对象的所有条件都应考虑到。系统会检查是是否每一个数据对象都会被归档。如果可以的话,这些数据对象会被写入归档对象中。如果自定义设定指定删除程序自动运行,那么问这个归档文件关闭的时候相关删除程序就自动运行。
提示:如果删除程序被同样安排为定义执行后台任务和归档任务并行执行的话,只要应该有两个后台进程被系统配置。
删除程序一定要作为独立的后台定期执行任务。如果在指定归档对象自定义过程中删除程序不自动执行。当我们独立安排的时候,一定要选择归档文件从当前删除程序运行中我们取得将要删除商业对象的归档对象中,然后把这些从归档对象中读出的商业数据对象从数据库中删除。
归档程序的定义安排通过TCODE SARA中的write按钮。它为分为了四步骤:
1创建一个归档变式
2指定执行用户
3指定开始时间
4定义假脱机参数
对于具体某一个归档对象对于那些实际商业数据对象被归档到这里来,是通过归档变式这里指定的。理论上来说。当相关归档任务被是删除后,这些归档变式才可以被重用。变式的定义必须执行是否他是为了测试目的还是生产目的。
对于可以运行这个归档程序的用户需要一个合适的权限---只要具有权限对象(S_ARCHIVE),这个对象是数据归档需要的主要权限,通过它可以限制哪些归档对象可以被使用。并且对于需要被归档的数据对象的应用程序的事物也需要适当的权限。就象归档程序在后台运行,用户需要具有可以执行后台程序的权限(权限对象S_BTCH_JOB).
用于归档任务日志可以变的很大,建议设定脱机参数以便日志不会立即输出到输出设备上。
数据归档的监视
有很多系统工具可以对归档运行进行监视
。后台处理工具
----任务日志
----假脱机列表(如果被创建的话)
。系统监视工具
----数据归档监视器(在CCMS监视集中)
一个归档运行过程中一个日志被创建。如果应用创建了一个指定的日志,它就被使用;否则,会使用标准日志。标准日志含有归档数据对象的号码,他所联系对应的表,一些被处理的那些表的行的编号和文件的大小。在指定的应用日志情况下,归档的内容可以被存储到文件层次。
注意:归档日志会被日常的假脱机清理任务删除。你必须考虑这些日志的用途目标等,例如,可以存储这些日志到外部存储系统。
通过使用SM37中的事务simple job selection的后台进程监视功能来对归档运行进行跟踪。通过选择job overview,你可以直接从SARA的初始品目直接跳转到SM37。在你通过SARA初始屏幕成功维护一个归档对象后,你可以选择management来显示一个关于来自于SARA的归档运行的简短的日志文件。
另外,还有一个专门的数据归档监视器(CCMS中,TCODE RZ20),它是被系统管理员用来监视归档运行的。你也可以通过这个工具来获得一个归档对象的概览。你能通过跨归档对象自定义来激活或者取消激活它。
存取归档文件中的数据
对于要被归档的数据是有一个明显的前提的这个数据一定属于一个完整商业流程或者商业区间,并且不被当前商业流程所需要。然后这些数据别归档后,从归档中再次读取他们也是很必要的。例如一个工厂要进行评估或者审记等。
归档开发用具以一种任何时间都具有读权限的方式来存储数据的。这个方式的前提是对于相关归档对象读取程序程序的存在和是否可以获取。这个读程序被用来读取被归档到归档对象中的数据以一定选择标准,并且对最终用户以一定的格式输出。通常,两个存取类型或者显示方法被使用:
。顺序存取
。直接存取
顺序存取(读)是对于归档数据的最简单的一种获去方式。通过这个方式,读程序首先打开顺序归档文件,然后读取所有对象的内容,并且列出符合标准的数据。例如 你可以用这个方法来列出一个特殊帐期的所有数据对象或者一个特殊的文档号码组。
直接存取:对于私有的被归档的数据对象的直接存取,例如一个定单或者帐单凭证仅仅可以通过一个索引表来被归档。将要被选择数据对象首先要通过搜索选择来在索引表中被选中。如果归档成功,则含有这些数据对象内容归档文件被本地化,并且通过索引表被打开。读程序直接读取并且显示这些你想所有的数据对象。这个方法系统开销大,这个方法仅仅对很小数量的对象提供,例如FI_DOCUMENT.
注意:一个简单的选项对于系统管理员来获取归档对象的读权限就是在SARA初始屏幕输入相关的归档对象名字然后选择Read。
SAP归档信息系统
SAP归档信息系统提供了更广泛更简单的使用功能对于被归档数据对象的快速直接存取。
SAP Archive Information System(Archive Information Ssytem,SAP AS),是一个可以搜索归档对象的工具,并且被集成到了归档环境中了。它支持对于已经到归档到归档对象中的数据对象的所有,以及对符合要求数据对象的显示功能。
这个工具是一个很通用工具,对于所有归档对象都适用。
对于被归档后的数据的检索都是基于归档信息结构的。从归档对象中数据会提供一些透明数据库表。对于归档对象中的被归档的数据的检索,要求必须至少具有一个这个归档对象的信息结构。这种类型的信息结构经常会包含结构自身,相应的数据库透明表,和相应的评估程序。
在一个归档信息结构被创建前,这些构成这个结构的数据都是来自于归档对象中的数据的,他必须要被激活的。系统会产生一个透明数据库表和一个评估程序在后台。在删除程序开始运行的时候,所有被激活的归档信息结构对于这个归档对象,都会被填充。
转载:http://blog.csdn.net/zfjay/archive/2009/10/22/4713300.aspx