WEB开发网
开发学院数据库Oracle Oracle数据库11g:SQL计划管理(三) 阅读

Oracle数据库11g:SQL计划管理(三)

 2008-09-04 12:50:18 来源:WEB开发网   
核心提示: ◆AUTOPURG:设置这个属性的值为NO告诉Oracle 11g无限期保留它,从而不用担心SMB的自动清除机制列表3.10中的代码展示了我如何设置捕获这些SQL语句以及如何修改这些SQL计划基线的属性,Oracle数据库11g:SQL计划管理(三)(5),Oracle 11g实际上提供了

◆AUTOPURG:设置这个属性的值为NO告诉Oracle 11g无限期保留它,从而不用担心SMB的自动清除机制

列表3.10中的代码展示了我如何设置捕获这些SQL语句以及如何修改这些SQL计划基线的属性。Oracle 11g实际上提供了四个超负荷的方法执行这个功能,我谈到的方法可能非常复杂,因为它接受一个可以过滤的SPM属性,其他三个方法接受一组:

◆一个SQL ID,一个SQL计划基线hash值和一个简单的过滤SQL文本的过滤器

◆一个SQL ID,一个SQL句柄和一个SQL计划基线hash值

◆一个SQL ID,一个SQL计划基线hash值

控制自动SMB管理特性

Oracle 11g也提供了两个自动管理特性,在严格控制下它可以帮助保持SMB的相对大小和内容。

SMB空间管理

Oracle每周会检查SMB的大小是否超过了它的空间预算限制(默认值:SYSAUX表空间的10%),如果超过了限制,会在数据库的警报日志中记录一条警告信息,除非满足下面的条件空间警告信息将一直持续:

◆为SYSAUX表空间分配更多的空间;或者

◆加大空间限制的默认值;或者

◆从SMB中清除SQL计划基线或SQL配置文件

SMB自动清除

每周,有一个自动任务运行用于清除SMB中所有在未用计划保留周期内的SQL计划,这个周期默认是53周,但可以调整为5--523周之间的一个值(如:大约10年)

这些限制可以通过存储过程DBMS_SPM.CONFIGURE来设置,它们当前的值可以通过查询数据字典视图DBA_SQL_MANAGEMENT_CONFIG获取,我在列表3.11中说明了如何修改SMB空间管理的默认设置以及自动清除SMB。

用企业管理器管理SQL计划基线

本文主要集中精力讲述基于脚本的管理SQL计划基线的方法,但是,如果我不叙述Oracle 11g企业管理器数据库控制台也提供了一个非常优秀的接口用于复审和管理SMB的内容,那将对不起读者,图3.1展示了在“服务器”(Server)页面上选择SQL计划控制链接的结果:

上一页  1 2 3 4 5 6  下一页

Tags:Oracle 数据库 SQL

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接