Oracle数据库11g:SQL计划管理(三)
2008-09-04 12:50:18 来源:WEB开发网本系列前面的文章探讨了Oracle数据库11g新的SQL计划管理(SPM)特色,它可以用于Oracle10g升级到Oracle11g时捕获和载入SQL计划基线,以便在数据库升级过程中消除SQL语句性能倒退,前面的文章也讲述了如何保证新应用程序代码在部署到生产环境之前,为SQL语句选择最有效的执行计划。
本文将讲述如何使用SPM:
◆当它们尝试利用Oracle11g新的优化器特色时,限制SQL语句性能不必要的倒退。
◆通过手工方法捕获特定SQL语句的SQL计划基线。
◆控制现有SQL计划基线的演变。
◆管理SQL计划管理基线(SMB)的内容,包括如何清除过时的或不希望有的SQL计划基线。
SPM情景#3:依靠前面的优化器版本使用SQL性能分析器(SPA)
在前面文章中的第一个情景讲述了如何使用SPM为SQL语句捕获SQL计划基线,该SQL语句的性能在实施Oracle10g升级到Oracle11g的过程中可能倒退。那个情景实际上涉及到在一个现有的Oracle10g数据库中执行该SQL语句组成的SQL工作负载。解决这个问题的一个可选的方法是在一个现有的Oracle11g数据库环境中通过控制初始化参数OPTIMIZER_FEATURES_ENABLE的值模拟一个Oracle10g环境。
模拟准备
要说明这个情景,我将利用前面文章中SPM情景#2中SQL调整集STS_SPM_200中捕获的相同的SQL语句,在我执行任何新的分析之前,我将从SQL管理库(SMB)中移除早先创建的所有SQL计划基线,我将使用函数DBMS_SPM.drop_SQL_PLAN_BASELINE移除那些标记有注释字符串“SPM_2”的语句(查看列表3.1),然后,我会准备一个新的名叫SPA_SPM_300的SQL性能分析器(SPA)任务,它将分析STS_SPM_200 SQL调整集中的SQL工作负载的性能(查看列表3.2)。
分析SQL工作负载
- ››oracle 恢复误删除的表和误更新的表
- ››SQL Server 2008 R2 下如何清理数据库日志文件
- ››Oracle分页查询排序数据重复问题
- ››Oracle创建dblink报错:ORA-01017、ORA-02063解决
- ››Oracle 提高SQL执行效率的方法
- ››Oracle 动态查询,EXECUTE IMMEDIATE select into...
- ››sqlite 存取中文的解决方法
- ››SQL2005、2008、2000 清空删除日志
- ››SQL Server 2005和SQL Server 2000数据的相互导入...
- ››sql server 2008 在安装了活动目录以后无法启动服...
- ››Oracle 11g必须开启的服务及服务详细介绍
- ››oracle性能34条优化技巧
更多精彩
赞助商链接