频道栏目
读书频道 > 数据库 > Oracle > Oracle Database 11g性能优化攻略
攻略1-9 手工生成段顾问建议
2013-03-12 16:19:33     我来说两句
收藏   我要投稿
本书自始至终围绕性能调优这一主线,由浅入深地介绍常见的Oracle数据库性能问题。每节分析一个具体的性能问题,并全部采用问题描述—解决方案—工作原理这种独特的介绍风格,针对性强,方便读者理解和查阅。同时...  立即去当当网订购

问题描述

你有一张表需要进行大量数据的更新。你注意到对这张表的查询速度有所下降。你怀疑这张表性能较差的原因是行链接。因此需要手工来通过段顾问确认是否存在行链接。

解决方案可以手工运行段顾问,并且告诉它分析某个特定表空间中的所有段,或者查看某个特定的对象(例如某个表或索引)。可以使用DBMS_ADVISOR包执行下面这些步骤,手工生成某个特定段的建议。

(1)创建一个任务。

(2)为这个任务分配一个对象。

(3)设置任务参数。

(4)执行这个任务。

注意 数据库用户要想执行DBMS_ADVISOR,需要具有ADVISOR系统权限。这个权限是通过GRANT语句授予的。

下面的例子从PL/SQL的一个匿名块执行DBMS_ADVISOR包。所检验的表是F_REGS:

 

现在可以执行DBMS_SPACE包,并指示它取出手工执行段顾问所得的相关信息(通过输入参数,详见表1-6),来查看段顾问建议中与这张表相关的信息,例如:

 

下面是输出示例:

 

还可以通过查询数据字典视图来获取段顾问建议,例如:


 

工作原理

DBMS_ADVISOR包被用来手工指导段顾问生成针对某张特定表的建议。这个包包含几个进行某种操作(例如创建并执行一个任务)的过程。表1-6列出了与段顾问相关的过程。

表1-6 段顾问可应用的DBMS_ADVISOR过程


过程名称 描  述
CREATE_TASK 创建段顾问任务;指定CREATE_TASK的ADVISOR_NAME参数为“段顾问”。查询DBA_ADVISOR_DEFINITIONS来获得所有有效的顾问列表
CREATE_OBJECT 为段顾问确定目标对象。表1-7列出了有效的对象类型和参数
SET_TASK_PARAMETER 指定所需要返回的建议类型。表1-8列出了所有有效的参数和值
EXECUTE_TASK 执行段顾问任务
DELETE_TASK 删除一个任务
CANCEL_TASK 撤销一个当前正在运行的任务
 段顾问能够在不同粒度级别上被调用。例如,你可以为一个表空间中所有对象生成建议,也可以为特定的表、索引或分区生成建议。表1-7列出了通过DBMS-ADVISOR.CREATE-TASK过程可以获得段顾问建议的对象类型。
表1-7 DBMS_ADVISOR.CREATE_TASK过程的有效对象类型
对象类型 属 性1 属 性2 属 性3 属 性4
TABLESPACE 表空间名称 NULL NULL NULL
TABLE 用户名 表名 NULL NULL
INDEX 用户名 索引名 NULL NULL
TABLE PARTITION 用户名 表名 分区名 NULL
INDEX PARTITION 用户名 索引名 分区名 NULL
TABLE SUBPARTITION 用户名 表名 子分区名 NULL
INDEX SUBPARTITION 用户名 索引名 子分区名 NULL
LOB 用户名 段名 NULL NULL
LOB PARTITION 用户名 段名 分区名 NULL
LOB SUBPARTITION 用户名 段名 子分区名 NULL
 

你还可以指定段顾问运行的最大时间。这是由SET_TASK_PARAMETER过程来控制的。这个过程同时还控制生成建议的类型。表1-8描述了这个过程的有效输入。

表1-8 DBMS_ADVISOR.SET_TASK_PARAMETER过程的输入参数


参  数 描  述 有 效 值
TIME_LIMIT 顾问运行的时间限制(单位为秒) 具体的秒数值或无限制(UNLIMITED,默认值)
RECOMMEND_ALL 为所有类型的对象生成建议或者仅生成与空间相关的建议 值为TRUE(默认值)则为所有类型的对象生成建议,为FALSE则仅生成与空间相关的建议
 
您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力  
上一篇:攻略1-8 显示自动段顾问建议
下一篇:攻略1-10 自动发送段顾问输出电子邮件
相关文章
图文推荐
排行
热门
最新书评
特别推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站