暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Oracle 19C 创建和使用SQL Access Advisor任务模板

原创 Asher.HU 2021-02-04
606


一个任务模板是一个保存的配置上对未来基地的任务和工作量。

模板使您可以设置任意数量的任务或工作负载,这些任务或工作负载可以用作将来创建任务的起点或模板。通过设置模板,可以节省执行优化分析时的时间。这种方法还使您能够定制调整分析以适合业务运营。

在物理上,任务和模板之间没有区别。但是,无法执行模板。要从模板创建任务,请指定创建新任务时要使用的模板。那时,SQL Access Advisor将数据和参数设置从模板复制到新创建的任务中。您还可以通过在创建任务时设置模板属性或以后使用该UPDATE_TASK_ATTRIBUTE过程将现有任务设置为模板

下表描述了可用于管理任务模板的过程。

表25-3任务模板的DBMS_ADVISOR过程

程序描述

CREATE_TASK

template参数是现有任务或任务模板的可选任务名称。要指定内置的SQL Access Advisor模板,请使用表25-6中所述的模板名称is_template是一个可选参数,使您可以将新创建的任务设置为模板。有效值为truefalse

SET_TASK_PARAMETER

INDEX_NAME_TEMPLATE参数指定形成新索引名称的方法。MVIEW_NAME_TEMPLATE参数指定形成新的实例化视图名称的方法。PARTITION_NAME_TEMPLATE参数指定形成新分区名称的方法。

UPDATE_TASK_ATTRIBUTES

is_template将任务标记为模板。从物理上讲,任务和模板之间没有区别;但是,无法执行模板。可能的值为:truefalse如果值为NULL或包含ADVISOR_UNUSED,则设置不会更改。

假设条件

本教程假定以下内容:

  • 您要创建一个名为的模板MY_TEMPLATE
  • 您想要为基于的任务推荐的索引和实例化视图设置命名约定MY_TEMPLATE
  • 您要NEWTASK基于创建任务MY_TEMPLATE

要创建模板并将任务基于此模板,请执行以下操作:

  1. 以用户身份将SQL * Plus连接到数据库sh,然后创建一个任务作为模板。

    例如,创建一个名称MY_TEMPLATE如下的模板

    VARIABLE template_id NUMBER;
    VARIABLE template_name VARCHAR2(255);
    EXECUTE :template_name := 'MY_TEMPLATE';
    BEGIN 
      DBMS_ADVISOR.CREATE_TASK (
        'SQL Access Advisor'
    ,   :template_id
    ,   :template_name
    ,   is_template => 'true'
    );
    END;
    
    复制
  2. 设置模板参数。

    例如,以下语句为建议的索引和实例化视图设置命名约定:

    -- set naming conventions for recommended indexes/mvs
    BEGIN 
      DBMS_ADVISOR.SET_TASK_PARAMETER ( 
        :template_name
    ,   'INDEX_NAME_TEMPLATE'
    ,   'SH_IDX$$_<SEQ>'
    );
    END;
    
    BEGIN 
      DBMS_ADVISOR.SET_TASK_PARAMETER (
        :template_name
    ,   'MVIEW_NAME_TEMPLATE'
    ,   'SH_MV$$_<SEQ>'
    );
    END;
    
    复制
  3. 创建基于现有模板的任务。

    例如,输入以下命令以NEWTASK基于创建MY_TEMPLATE

    VARIABLE task_id NUMBER;
    VARIABLE task_name VARCHAR2(255);
    EXECUTE :task_name := 'NEWTASK';
    BEGIN 
      DBMS_ADVISOR.CREATE_TASK (
        'SQL Access Advisor'
    ,   :task_id
    ,   :task_name
    ,   template=>'MY_TEMPLATE'
    );
    END;
    复制

也可以看看:

Oracle Database PL / SQL软件包和类型参考以了解CREATE_TASKSET_TASK_PARAMETER过程

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论