这篇文章阐述了如何管理oracle ERP的interface表

这篇文章阐述了如何管理oracle ERP的interface表

这篇文章阐述了如何管理oracle ERP的interface表

http://blog.oraclecontractors.com/?p=212

There are a number of tables used by Oracle Applications that should have no rows in them when all is running well, and if any, only a few rows that are in error. Open Interface tables are an example of such tables; they are populated with data to be interfaced in to the system, and an interface specific concurrent program is then used to validate the data and import it in to the main system tables. Once the row has been imported it is removed from the interface table, leaving only invalid rows behind.

Assuming that the system is correctly configured and these interfaces are working correctly, the table is left empty.

Often, when these tables are accessed it is to process all the rows in the table, which involves a full table scan. However over time, depending on data volumes, these tables can have a large number of blocks allocated to them that no longer contain data.

A table segment is divided in to used blocks (i.e. blocks that at some time contained data) and free blocks (i.e. blocks that have never contained data) and the point of separation between the 2 groups is called the high water mark. Whenever Oracle performs a full table scan, it scans all the used blocks up to the high watermark.

I have found that when I am working with interface tables, they often seem to take a long time to return data; this is down to there being a huge number of used blocks that no longer contain data. Certainly if open interface tables are used during the go live for data migration, then the high watermark will be very high.

Examples of such tables are:
MTL_TRANSACTIONS_INTERFACE
OE_HEADERS_IFACE_ALL
RA_INTERFACE_LINES_ALL

SQL> set timing on
SQL> select count(*)
2 from MTL_TRANSACTIONS_INTERFACE
3 /

COUNT(*)
———
20

real: 2750

Nearly 3 seconds to count 20 rows!

As these tables are interface tables used by concurrent background processes, any poor performance can often be hidden from view. However a very visible effect can be seen when the table FND_FILE_TEMP has a high watermark. This table is used to hold the details of the file that needs to be read when you click on the Output or Log button on the Concurrent Request form. It is only used temporarily and the entry is deleted once used, but with a busy live system this can push the high watermark for the table.

Truncating these tables when they are empty, or if there are only a small number of rows using the ALTER TABLE… MOVE command to rebuild the table, remembering to ALTER INDEX .. REBUILD any indexes, can significantly improve the performance of Open Interfaces and the opening of concurrent request output and log files.

I don’t need to remind you that the DBA should do this out of hours on a production system, but you probably would be ok to do it on your development box yourself
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值