Oracle数据库11g:SQL计划管理(二)
2008-09-04 12:50:24 来源:WEB开发网捕获SQL计划基线
在列表2.6中我说明了对这个新应用程序捕获一个模拟的SQL工作负载的步骤:
◆为了在测试环境中模拟捕获一个简单的工作负载测试,在执行SPM_2_2.sql中的代码之前,首先我会保证当前的Oracle 11g数据库库缓存和数据库缓存是清空的,有六个查询 -- 所有查询都被用(SPM_2_2)加以注释以便识别 -- 展示了几个不同的用途,用户可能决定在区域、地区和领域层联合新应用程序SFA方案中关于我的销售人员和销售历史方案(SH)中的销售历史信息,注意我在这些查询中也使用了大量的绑定变量,因此我有机会在将来的示例中评估其他的执行计划。
◆一旦工作负载被生成,这六个查询也被解析到Oracle 11g数据库的库缓存中,通过函数DBMS_SPM.LOAD_PLANS_FROM_CURSOR_CACHE捕获它们的SQL计划基线进入SMB中就相对简单了,这个函数的过滤功能允许我只捕获那些有SPM_2_2注释信息的SQL语句。
从测试环境中导出SQL计划基线象列表2.7展示的那样,我将才我的模拟测试环境中导出捕获的SQL计划基线:
◆首先,我将使用存储过程DBMS_SPM.create_STGTAB_BASELINE创建一个SQL计划管理临时表
◆然后我会使用函数DBMS_SPM.PACK_STGTAB_BASELINE用SYS用户创建的SQL语句填充那个临时表
◆最后,我将调用数据泵导出工具导出临时表的元数据和内容
导入SQL计划基线到一个生产环境
为了结束这个情景,我将模拟部署SQL计划基线到一个生产环境(查看列表2.8):
◆首先,我将导入SQL计划基线临时表到我的目标生产环境
◆因为我正使用相同的Oracle 11g数据库模拟测试和生产环境,我将再次使用存储过程DBMS_SPM.drop_SQL_PLAN_BASELINE清除所有具有SPM_2_2注释信息的SQL计划基线
- ››sql server自动生成批量执行SQL脚本的批处理
- ››sql server 2008亿万数据性能优化
- ››SQL Server 2008清空数据库日志方法
- ››oracle 中 UPDATE nowait 的使用方法
- ››Oracle ORA-12560解决方法
- ››Oracle 10g RAC 常用维护命令
- ››Oracle如何在ASM中定位文件的分布
- ››sqlserver安装和简单的使用
- ››SQL Sever 2008 R2 数据库管理
- ››SQL SERVER无法安装成功,sqlstp.log文件提示[未发...
- ››Oracle的DBMS_RANDOM.STRING 的用法
- ››oracle 外部表导入时间日期类型数据,多字段导入
更多精彩
赞助商链接