EBS R12都是利用fnd_stat 来进行系统统计信息收集及优化,而不是使用 dbms_stats , 很大的一个
原因就是因为EBS系统自身有一个表 FND_HISTOGRAM_COLS 存储了系统预设的需要收集直方图
的表和字段信息, 使用 fnd_stats 会自动搜查这个表而决定是否收集直方图, dbms_stats 则不能识别,
那么如果是一个EBS中客户化,也就是用户自己建立的表, 有些字段的确需要收集统计信息,那应该如
何写入这个识别表 FND_HISTOGRAM_COLS 呢, 可以使用如下的 pkg 及procedure .
据Oracle顾问提示EBS应用也可以在图形界面设置 , 具体是哪一个导航, 还需要摸索一下.
Custom histograms can be seeded in the table FND_HISTOGRAM_COLS by calling the API
begin
FND_STATS.LOAD_HISTOGRAM_COLS(
action=>'INSERT',
appl_id=>&custom_application_id,
tabname=>&table_name,
colname=>&column_name
);
FND_STATS.GATHER_TABLE_STATS(
wnname=>&owner_name,
tabname=>&table_name
);
end;
/
附: EBS R12 优化指南
http://www.norcaloaug.com/seminar_archive/2010_training_day_pres/6_08_alomari.pdf
的表和字段信息, 使用 fnd_stats 会自动搜查这个表而决定是否收集直方图, dbms_stats 则不能识别,
那么如果是一个EBS中客户化,也就是用户自己建立的表, 有些字段的确需要收集统计信息,那应该如
何写入这个识别表 FND_HISTOGRAM_COLS 呢, 可以使用如下的 pkg 及procedure .
据Oracle顾问提示EBS应用也可以在图形界面设置 , 具体是哪一个导航, 还需要摸索一下.
Custom histograms can be seeded in the table FND_HISTOGRAM_COLS by calling the API
begin
FND_STATS.LOAD_HISTOGRAM_COLS(
action=>'INSERT',
appl_id=>&custom_application_id,
tabname=>&table_name,
colname=>&column_name
);
FND_STATS.GATHER_TABLE_STATS(
wnname=>&owner_name,
tabname=>&table_name
);
end;
/
附: EBS R12 优化指南
http://www.norcaloaug.com/seminar_archive/2010_training_day_pres/6_08_alomari.pdf
本文转自ITPUB博客tolywang的博客,原文链接:客户化表字段如何写入 FND_HISTOGRAM_COLS,如需转载请自行联系原博主。