工作流之大表分区

Posted on December 12, 2008

如果打过了Patch 348000 (ORACLE APPLICATIONS RELEASE 11.5.10.2 MAINTENANCE PACK),那么工作流管理员指南(115wfag.pdf)里的对于关键表分区的介绍就过时了。进去看wfupartb.sql,你可以看到它提示已经被新的程序所取代。

新的文件是wfpart.sql,在 $FND_TOP/patch/115/sql 路径下。参考SQL文件头的使用说明执行,会在utl_file_dir目录(需要手工指定一个目录)下生成wfpart.sql,这才是具体的分区创建语句。不过需要留意的是,默认生成的wfpart.sql有个BUG(参见Note:329738.1),创建WF_ITEM_ACTIVITY_STATUSES_N4这个索引时会报错并自动终止退出,因此需要先手工修改wfpart.sql,加上以下Index创建语句:

create index WF_ITEM_ACTIVITY_STATUSES_N4
 on WF_ITEM_ACTIVITY_STATUSES (ASSIGNED_USER,ITEM_TYPE)
 pctfree 10
 initrans 10
 tablespace [your_table_space]
 storage (initial 40K next 1048576
 freelists 32 freelist groups 4
 pctincrease 0 )
 logging;

注意:需要注释掉原来的Alter语句:

alter index WFN_WF_ITEM_ACTIVITY_STATUSES_ rename to WF_ITEM_ACTIVITY_STATUSES_N4

由于执行的都是DDL语句,因此一旦出错将无法自动回滚,在执行前需要备份关键表,分别为:

  1. WF_ITEM_ACTIVITY_STATUSES
  2. WF_ITEM_ACTIVITY_STATUSES_H
  3. WF_ITEM_ATTRIBUTE_VALUES
  4. WF_ITEMS

如果是在等到感觉到性能问题了再来进行分区,等待的过程将相当漫长……如果想要撤销分区,则以同样方式执行wfunpart.sql。

Related Posts

No related posts.

» Filed Under Workflow Print This Post Print This Post

Comments

Leave a Reply