本主题说明如何使用PL / SQL从共享SQL区域(也称为游标缓存)中加载计划。
使用软件包的LOAD_PLANS_FROM_CURSOR_CACHE
功能加载计划DBMS_SPM
。下表描述了一些功能参数。
表28-6 LOAD_PLANS_FROM_CURSOR_CACHE参数
功能参数 | 描述 |
---|---|
| SQL语句标识符。标识共享SQL区域中的SQL语句。 |
| 默认 |
本节说明如何使用命令行加载计划。在Cloud Control中,转到SQL Plan Baseline子页面(如图28-1所示),然后单击Load从共享SQL区域加载计划基线。
本教程假定以下内容:
- 您已执行以下查询:
SELECT /*LOAD_CC*/ * FROM sh.sales WHERE quantity_sold > 40 ORDER BY prod_id;
复制 - 您希望加载的计划是不固定的。
要从共享SQL区域加载计划:
- 使用适当的特权将SQL * Plus连接到数据库,然后在共享SQL区域中确定相关语句的SQL ID。
例如,查询查询
V$SQL
的SQL IDsh.sales
(包括示例输出):SELECT SQL_ID, CHILD_NUMBER AS "Child Num", PLAN_HASH_VALUE AS "Plan Hash", OPTIMIZER_ENV_HASH_VALUE AS "Opt Env Hash" FROM V$SQL WHERE SQL_TEXT LIKE 'SELECT /*LOAD_CC*/%'; SQL_ID Child Num Plan Hash Opt Env Hash ------------- ---------- ---------- ------------ 27m0sdw9snw59 0 1421641795 3160571937
复制前面的输出显示该语句的SQL ID为
27m0sdw9snw59
。 - 将指定语句的计划加载到SQL计划基准中。
例如,
LOAD_PLANS_FROM_CURSOR_CACHE
在SQL * Plus中执行函数以使用SQL ID加载语句计划27m0sdw9snw59
:VARIABLE v_plan_cnt NUMBER EXECUTE :v_plan_cnt := DBMS_SPM.LOAD_PLANS_FROM_CURSOR_CACHE(sql_id => '27m0sdw9snw59');
复制在前面的示例中,变量
v_plan_cnt
包含已加载计划的数量。 - 查询数据字典以确保将计划加载到语句的基线中。
以下语句查询
DBA_SQL_PLAN_BASELINES
(包括示例输出):SELECT SQL_HANDLE, SQL_TEXT, PLAN_NAME, ORIGIN, ENABLED, ACCEPTED FROM DBA_SQL_PLAN_BASELINES; SQL_HANDLE SQL_TEXT PLAN_NAME ORIGIN ENA ACC --------------------- -------------------- --------------------- ------------------- --- --- SQL_a8632bd857a4a25e SELECT /*LOAD_CC*/ SQL_PLAN_gdkvzfhrgkda MANUAL-LOAD-FROM-CC YES YES * 71694fc6b FROM sh.sales WHERE quantity_sold > 40 ORDER BY prod_id
复制输出显示该计划已被接受,这意味着该报表处于该报表的计划基线中。同样,原点是
MANUAL-LOAD-FROM-CC
,这意味着该语句是从共享SQL区域手动加载的,而不是自动捕获的。
也可以看看:
- “ 固定计划 ”
- Oracle Database PL / SQL软件包和类型参考,以学习如何使用该
DBMS_SPM.LOAD_PLANS_FROM_CURSOR_CACHE
功能 - Oracle数据库参考以了解有关
DBA_SQL_PLAN_BASELINES
视图的 更多信息
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
Oracle Concepts(Oracle 19c):07 SQL
Ryan Bai
972次阅读
2025-04-09 10:57:11
Oracle DataGuard高可用性解决方案详解
孙莹
471次阅读
2025-03-26 23:27:33
Oracle RAC 一键安装翻车?手把手教你如何排错!
Lucifer三思而后行
456次阅读
2025-04-15 17:24:06
墨天轮个人数说知识点合集
JiekeXu
387次阅读
2025-04-01 15:56:03
XTTS跨版本迁移升级方案(11g to 19c RAC for Linux)
zwtian
380次阅读
2025-04-08 09:12:48
Oracle SQL 执行计划分析与优化指南
Digital Observer
357次阅读
2025-04-01 11:08:44
Oracle 19c RAC更换IP实战,运维必看!
szrsu
321次阅读
2025-04-08 23:57:08
3月“墨力原创作者计划”获奖名单公布
墨天轮编辑部
308次阅读
2025-04-15 14:48:05
风口浪尖!诚通证券扩容采购Oracle 793万...
Roger的数据库专栏
304次阅读
2025-03-24 09:42:53
oracle定时任务常用攻略
virvle
303次阅读
2025-03-25 16:05:19