在8i和9i自动收集模式或数据库统计-举例_MySQL, Oracle及数据库讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  MySQL, Oracle及数据库讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 4544 | 回复: 0   主题: 在8i和9i自动收集模式或数据库统计-举例        下一篇 
yangshuang
注册用户
等级:下士
经验:169
发帖:16
精华:0
注册:2012-4-9
状态:离线
发送短消息息给yangshuang 加好友    发送短消息息给yangshuang 发消息
发表于: IP:您无权察看 2012-4-9 16:07:36 | [全部帖] [楼主帖] 楼主

在8i和9i自动收集模式或数据库统计-举例

适用于:

Oracle服务器-企业版-版本:8.1.5.0到9.2.0.8-版本:8.1.5到9.2

目的:

[31-12-2008]相关检查。

本文给出了不同的例子,可以用来收集在Oracle 8i和Oracle 9i里的架构和数据库系统。

这是一个简单的方法来收集和维护的最新统计数据,没有每次收集统计上的所有对象。

注意在Oracle 10g中涉及的子程序已被弃用,现在是非经营性的,因为Oracle会自动执行其职能。见:

PL/SQL包和类型参考

10g第1版(10.1)

零件编号B10802-01

第93使用DBMS_STATS

标题过时的子程序

范围和应用:

DBA和工程师

在8i和9i自动收集模式或数据库统计-举例

本文提供了如何架构或数据库统计信息自动收集的版本为9.2的例子。在Oracle 8i及以上统计可以自动收集已成为过时的,因为他们已经超出某个阈值而改变其统计对象。

对于在此看到更多的细节:

注:102334.1如何自动更改基于统计信息收集

注:228186.1使用gather stale还是gather auto之间的差异

收集统计对象的统计数据是陈旧的,与收集所有对象的统计相比,可以节省大量的资源,尤其是如果对象没有显著改变自以前的统计数据收集。

在下面的例子中,表有监控启用如下:

-in Oracle 8i:
SQL>alter table monitoring;
-In Oracle 9i:
SQL>exec dbms_stats.ALTER_SCHEMA_TAB_MONITORING(“,TRUE);
SQL>exec dbms_stats.ALTER_DATABASE_TAB_MONITORING(TRUE);


在Oracle 8i和Oracle 9i中的例子,我们的目标是相同的-自动收集统计数据有丢失或过时的统计数据的对象。

Oracle 9i的例子:

在Oracle 9i中,只有1条语句需要收集的对象,这是新的或失效(表和索引)统计。

Oracle 9i的-收集在一个模式中的对象统计:

exec dbms_stats.gather_schema_stats(-
ownname=>NULL,-
options=>’GATHER AUTO’-
);


Oracle 9i的-收集统计数据库中的对象:

exec dbms_stats.gather_schema_stats(-
options=>’GATHER AUTO’-
);


对于在使用DBMS_STATS包的更多细节,请参考:

Oracle 9i中提供的PL/SQL包和类型参考第2版(9.2)

零件编号A96612-01.

Oracle 8i中的例子:

在Oracle 9i上面的例子使用Oracle 8i中的“收集AUTO”选项不存在,因此,为了有类似的行为,必须使用2报表。

使用这两个语句一起收集统计上的所有对象,要么没有统计或陈旧的对象。只有符合这些标准的对象,为他们收集的统计数据。

Oracle 8i中-收集在一个模式中的对象统计:

SQL>exec dbms_stats.gather_schema_stats(-
ownname=>’ABC’,-
estimate_percent=>100,-
granularity=>’ALL’,-
method_opt=>’FOR ALL COLUMNS SIZE 50’,-(*)
degree=>NULL,-
options=>’GATHER EMPTY’,-(**)
cascade=>TRUE-
);
SQL>exec dbms_stats.gather_schema_stats(-
ownname=>’ABC’,-
estimate_percent=>100,-
granularity=>’ALL’,-
method_opt=>’FOR ALL COLUMNS SIZE 50’,-(*)
degree=>NULL,-
options=>’GATHER STALE’,-(**)
cascade=>TRUE-
);


Oracle 8i中-收集统计数据库中的对象:

SQL>exec dbms_stats.gather_schema_stats(-
estimate_percent=>100,-
method_opt=>’FOR ALL COLUMNS SIZE 50’,-(*)
degree=>NULL,-
granularity=>’ALL’,-
options=>’GATHER EMPTY’,-(**)
cascade=>TRUE-
);
SQL>exec dbms_stats.gather_schema_stats(-
estimate_percent=>100,-
method_opt=>’FOR ALL COLUMNS SIZE 50’,-(*)
degree=>NULL,-
granularity=>’ALL’,-
options=>’GATHER STALE’,-(**)
cascade=>TRUE-
);


(*)method_opt参数定义了列的统计信息收集

“所有列的大小50”的价值集列的统计信息。

50桶直方图聚集。见:

注:10.1826.6直方图:概述

另外,“尺寸1”为所有列的值集基本列上的所有列,没有直方图(1桶柱状图)统计(高和低价值)聚集。

(**)的选项参数指定自动化水平的选择

统计信息收集。详情如下:

     “GATHER”集所有对象的统计信息。

     “GATHER EMPTY”集目前没有统计对象的统计信息。

     “GATHER STALE”集寻找*_tab_modifications视图确定的陈旧对象的统计信息。




赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论