Oracle数据库数据恢复、性能优化

找回密码
注册
搜索
热搜: 活动 交友 discuz
发新帖

0

积分

1

好友

3

主题
1#
发表于 2015-2-7 00:59:44 | 查看: 3734| 回复: 3
主机:HPUX 11
ORACLE VERSION:11203
问题:给大的分区表搜集统计信息,dbms_xplan.gather_table_stats的用法

在一次案例中,我使用了dbms_xplan.gather_table_stats这个包给分区表搜集统计信息,具体命令为:
  exec dbms_statS.gather_table_stats(ownname => 'xx',tabname  =>'xx',partname=>'xx_14',estimate_percent=>DBMS_STATS.AUTO_SAMPLE_SIZE,GRANULARITY => 'AUTO',cascade=>true,degree=>16);

该分区表的构成是以月为单位做成分区表,一个分区有100G,大约有14个分区,大小均在70G~100G之间
我对于该表开启了增量统计信息的备份:
exec DBMS_STATS.SET_TABLE_PREFS ('xx', 'xx','INCREMENTAL', 'TRUE');    ----- 会消耗sysaux
exec DBMS_STATS.SET_TABLE_PREFS ('xx', 'xx','PUBLISH', 'TRUE');

在收完xx_14之后,我发现xx_01~xx_13的分区表的统计信息也搜集


请问MACLEAN,这是因为打开了增量统计信息 还是GRANULARITY => 'AUTO'等参数导致的,还是说跟partition的类型有关
谢谢!!

因为我们还有一个大的3个分区的表,每个分区有大概700G,所以如果采取上述办法搜集一个分区的时候自动连带着另外两个分区的话,时间太长,对系统压力太大
请MACLEAN看下!
十分感谢
2#
发表于 2015-2-7 17:07:15
Anybody there?

回复 只看该作者 道具 举报

3#
发表于 2015-2-8 13:13:09
FYI

How does dbms_stats default granularity AUTO Work?
http://www.askmaclean.com/archiv ... rity-auto-work.html

回复 只看该作者 道具 举报

4#
发表于 2015-2-9 11:12:58
Granularity 用于定义采集粒度,具体值的含义如下。
1、all :采集global ,partition,subpartiiton等粒度统计信息。
2、auto: 根据分区类型,由Oracle确定 统计信息采集粒度。
3、Partition:只采集partition粒度统计信息
4、Subpartition:只采集subpartition粒度统计信息

回复 只看该作者 道具 举报

您需要登录后才可以回帖 登录 | 注册

QQ|手机版|Archiver|Oracle数据库数据恢复、性能优化

GMT+8, 2024-5-20 13:26 , Processed in 0.048231 second(s), 20 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部
TEL/電話+86 13764045638
Email service@parnassusdata.com
QQ 47079569