【OCP学习1z0-053记录50】DBMS_SPM.LOAD_PLANS_FROM_CURSOR_CACHE

226.Examine the following PL/SQL block:
DECLARE
my_plans pls_integer;
BEGIN
my_plans := DBMS_SPM.LOAD_PLANS_FROM_CURSOR_CACHE (sql_id => ?9twu5t2dn5xd?;
END;
Which statement is true about the plan being loaded into the SQL plan baseline by the above command?
A. It is loaded with the FIXED status.
B. It is loaded with the ACCEPTED status.
C. It is not loaded with the ENABLED status.
D. It is not loaded with the ACCEPTED status.
Answer: B 
答案解析:
参考:http://docs.oracle.com/cd/E11882_01/appdev.112/e40758/d_spm.htm#ARPLS68158
LOAD_PLANS_FROM_CURSOR_CACHE Functions
为SQL语句加载游标缓存中出现的一个或多个计划
LOAD_PLANS_FROM_CURSOR_CACHE Functions
此函数加载SQL语句或一组SQL语句在游标缓存中出现的一个或多个计划。它有四个重载:使用SQL语句文本、使用SQL句柄、使用SQL ID或使用attribute_name和attribute_value对。
 

Syntax
DBMS_SPM.LOAD_PLANS_FROM_CURSOR_CACHE (
   sql_id            IN  VARCHAR2,
   plan_hash_value   IN  NUMBER   := NULL,
   sql_text          IN  CLOB,
   fixed             IN  VARCHAR2 := 'NO',
   enabled           IN  VARCHAR2 := 'YES')
RETURN PLS_INTEGER;


DBMS_SPM.LOAD_PLANS_FROM_CURSOR_CACHE (
   sql_id            IN  VARCHAR2,
   plan_hash_value   IN  NUMBER   := NULL,
   sql_handle        IN  VARCHAR2,
   fixed             IN  VARCHAR2 := 'NO',
   enabled           IN  VARCHAR2 := 'YES')
RETURN PLS_INTEGER;


DBMS_SPM.LOAD_PLANS_FROM_CURSOR_CACHE (
   sql_id            IN  VARCHAR2,
   plan_hash_value   IN  NUMBER   := NULL,
   fixed             IN  VARCHAR2 := 'NO',
   enabled           IN  VARCHAR2 := 'YES')
RETURN PLS_INTEGER;


DBMS_SPM.LOAD_PLANS_FROM_CURSOR_CACHE (
   attribute_name   IN VARCHAR2,
   attribute_value  IN VARCHAR2,
   fixed            IN VARCHAR2 := 'NO',
   enabled          IN VARCHAR2 := 'YES')
  RETURN PLS_INTEGER;


 

Parameters

Table 136-10 LOAD_PLANS_FROM_CURSOR_CACHE Function Parameters

Parameter Description

sql_id

SQL语句标识符。标识游标缓存中的SQL语句。注意:在第三个重载中,从游标缓存中提取标识的SQL语句的文本,并用于标识装载计划的SQL计划基线。如果SQL计划基线不存在,则创建它。

plan_hash_value

计划标识符。默认NULL表示为SQL_ID标识的SQL语句捕获游标缓存中出现的所有计划

sql_text

用于标识装载计划的SQL计划基线的SQL文本。如果SQL计划基线不存在,则创建它。当用户通过向文本中添加提示来调优SQL语句,然后希望将生成的计划加载到原始SQL语句的SQL计划基线中时,文本的使用是至关重要的。

sql_handle

用于标识装载计划的SQL计划基线的SQL句柄。sql_handle必须表示现有的SQL计划基线。当用户通过向文本添加提示来调优SQL语句,然后希望将生成的计划加载到原始SQL语句的SQL计划基线中时,句柄的使用非常关键。

fixed

默认“否”表示加载的计划用作非固定计划。值“YES”表示加载的计划用作固定计划,SQL计划基线不会随着时间的推移而变化。

attribute_name

One of possible attribute names:

  • SQL_TEXT''

  • 'PARSING_SCHEMA_NAME'

  • 'MODULE'

  • 'ACTION'

attribute_value

如果属性名称为“SQL_TEXT”,则属性值用作LIKE谓词的搜索模式。否则,它将用作相等搜索值。(例如,要指定attribute_name => 'SQL_TEXT',而attribute_value => '% hr - 123% ',则意味着要应用像'% hr - 123% '这样的SQL_TEXT作为选择过滤器。类似地,指定attribute_name => 'MODULE', attribute_value=> 'HR'意味着应用'MODULE = 'HR'作为计划选择过滤器)。属性值是大写的,除非用双引号括起来,或者属性名是'SQL_TEXT'。

enabled

默认的“YES”表示已加载的计划已被优化器启用

Return Values

已载入图则数目

Usage Notes

调用此子程序需要具有managesql管理对象特权。

猜你喜欢

转载自blog.csdn.net/viviliving/article/details/90517294