Purge Obsolete Workflow Runtime Data
2013-06-18 11:06:51
Purge Obsolete Workflow Runtime Data
清除过时的工作流运行时数据 到底清除了什么?
EBS系统中,随着审批工作流的运行,工作流表(WF_XXXX)中积累的"运行时"数据会越来越多,这里说运行时数据,其实是指运行过程中的中间数据。为了提高审批以及数据库性能,Oracle建议我们定期运行[清除过时的工作流运行时数据]来清除这些数据。那么这个请求到底删除了那些表的数据呢?
这个请求执行的是WF_PURGE.TotalConcurrent.
清除的步骤:
作文150字1.Before attempting to purge items we will abort any error process向着太阳出发
2.items
WF_NOTIFICATION_ATTRIBUTES
WF_COMMENTS
WF_NOTIFICATIONS
WF_ITEM_ACTIVITY_STATUSES_H
风热和风寒WF_ITEM_ACTIVITY_STATUSES
WF_ITEM_ATTRIBUTE_VALUES
WF_ITEMS什么是团结
3.activities
WF_ACTIVITY_ATTR_VALUES
WF_ACTIVITY_TRANSITIONS
WF_PROCESS_ACTIVITIES
WF_ACTIVITY_ATTRIBUTES_TL
WF_ACTIVITY_ATTRIBUTES
WF_ACTIVITIES_TL
WF_ACTIVITIES
4.Directory Information
WF_LOCAL_USER_ROLES
WF_USER_ROLE_ASSIGNMENTS
WF_LOCAL_ROLES
5.Clear engine runtime cache for convenience
6.Purge orphan notifications only if runtimeonly is fal
四季阳光WF_COMMENTS
治愈心灵的句子WF_NOTIFICATIONS
这个请求有些参数大家可能比较迷惑
*持续时间类型(Persistence Type to be purged: 'TEMP' or 'PERM')
The Persistence Type controls how long a status audit trail is maintained for each instance of the Item Type. The three types of persistence are Permanent, Temporary, and Synchronous. Synchronous, when run with no auditing, does not have any history information. The history information for workflows marked as Permanent can only be removed by WF_PURGE.TOTALPERM; the history information for workflows marked as Temporary is removed by WF_PURGE.TOTAL. For best performance, run WF_PURGE.TOTAL frequently, and WF_PURGE.TOTALPERM periodically, but be aware of your site’s policy on status history retention.
也就是说,这个是和工作流定义的时候相关联的,满足审计要求的。不过还是强烈不建议客户化的时候关联WF_开头的表作为审批记录呀那些要任何时间都可以查看的功能使用。
如下图所示:
*仅限于核心工作流(If 'Y' then purge runtime data alone)
这个的含义其实就是要不要执行第3,4,6步。
*提交频率,这个就是数据库的commit频率,删除多少条数据的时提交。这个根据自己的服务器性能等综合考虑。
*已签名通知(Do not delete digitally signed notifications if not t to Y)
这个没搞懂,我猜测是那些有电子签名的通知要不要清除,这个好像是特别保密的行业会用到,一般很少用,我记得曾经有个印象是工厂里面如果更改药方配置的通知,比较重要,有要求电子签名的通知审批,这样做一个是审计上的需要,一个是安全上的需要。
可以用以下几个表来判断清除的效果。
lect item_type,activity_status,count(*) from apps.wf_item_activity_status group by item_type,activity_status;
lect item_type,count(*) from apps.wf_item_attribute_values group by item_type;
lect count(*) from apps.wf_items;
lect count(*) from apps.WF_ITEM_ATTRIBUTE_VALUES;
lect count(*) from apps.WF_ITEM_ACTIVITY_STATUSES;
lect count(*) from apps.WF_NOTIFICATION_ATTRIBUTES;
如果跑完这个请求,workflow表里面还有很多过期数据,那么请参照MOS文章:Doc ID 458886.1
一般,如果是升级或者涉及到大量的数据清理,运行完这个请求,建议运行[统计数据收集模式](Gather Schema Statistics).
同时$FND_TOP/sql下面也有好多wf开头的sql文件,仔细研究,有助于理解。
-EOF-