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

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

 2008-09-04 12:50:24 来源:WEB开发网   
核心提示: 捕获SQL计划基线在列表2.6中我说明了对这个新应用程序捕获一个模拟的SQL工作负载的步骤:◆为了在测试环境中模拟捕获一个简单的工作负载测试,在执行SPM_2_2.sql中的代码之前,Oracle数据库11g:SQL计划管理(二)(6),首先我会保证当前的Oracle 11g数据库库缓存和

捕获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计划基线

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

Tags:Oracle 数据库 SQL

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