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

Oracle 19C 终止SQL Access Advisor任务执行

原创 Asher.HU 2021-02-04
795


SQL Access Advisor使您可以中断建议过程或使其完成。

出现中断信号通知SQL Access Advisor停止处理并将任务标记为INTERRUPTED此时,您可以更新推荐属性并生成脚本。

中间结果表示到该时间点为止的工作负载内容的建议。如果建议必须对整个工作量敏感,那么Oracle建议您让任务完成。此外,顾问在建议过程的早期提出的建议不包含基表分区建议。分区分析需要很大一部分工作量才能确定分区是否有益。因此,如果SQL Access Advisor检测到好处,则仅以后的中间结果包含基表分区建议。

本节描述了两种终止SQL Access Advisor任务执行的方式:

 

25.4.4.1中断SQL Access Advisor任务

DBMS_ADVISOR.INTERRUPT_TASK过程使SQL Access Advisor任务执行终止,就好像它已达到正常结束一样。

因此,您可以看到直到中断点为止已经形成的所有建议。中断的任务无法重新启动。语法如下:

DBMS_ADVISOR.INTERRUPT_TASK (task_name IN VARCHAR2);
复制

假设条件

本教程假定以下内容:

  • MYTASK当前正在执行长时间运行的任务
  • 您要中断此任务,然后查看建议。

要中断当前正在执行的任务:

  1. 以方式将SQL * Plus连接到数据库sh,然后中断任务。

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

    EXECUTE DBMS_ADVISOR.INTERRUPT_TASK ('MYTASK');
    复制

也可以看看:

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

 

25.4.4.2取消SQL Access Advisor任务

您可以通过调用DBMS_ADVISOR.CANCEL_TASK过程并传递此推荐过程的任务名称来停止任务执行

SQL Access Advisor可能需要几秒钟来响应此请求。因为所有顾问程序任务过程都是同步的,所以要取消操作,必须使用单独的数据库会话。如果使用CANCEL_TASK,则SQL Access Advisor不提供任何建议。

取消命令有效地将任务恢复到开始取消操作之前的状态。因此,已取消的任务或数据对象无法重新启动。但是,您可以使用重置任务DBMS_ADVISOR.RESET_TASK,然后再次执行它。CANCEL_TASK语法如下:

DBMS_ADVISOR.CANCEL_TASK (task_name   IN  VARCHAR2);
复制

RESET_TASK过程将任务重置为其初始起点,这具有从任务中删除所有建议和中间数据的作用。任务状态设置为INITIAL语法如下:

DBMS_ADVISOR.RESET_TASK (task_name     IN VARCHAR2);
复制

假设条件

本教程假定以下内容:

  • MYTASK当前正在执行长时间运行的任务设置此任务是为了提出分区建议。
  • 您要取消此任务,然后将其重置,以便该任务仅提出索引建议。

要取消当前正在执行的任务:

  1. 以用户身份将SQL * Plus连接到数据库sh,然后取消任务。

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

    EXECUTE DBMS_ADVISOR.CANCEL_TASK ('MYTASK');
    
    复制
  2. 重置任务。

    例如,执行以下RESET_TASK过程:

    EXECUTE DBMS_ADVISOR.RESET_TASK('MYTASK');
    
    复制
  3. 设置任务参数。

    例如,将分析范围更改INDEX为如下:

    EXECUTE DBMS_ADVISOR.SET_TASK_PARAMETER(:task_name, 'ANALYSIS_SCOPE', 'INDEX');
    
    复制
  4. 执行任务。

    例如,执行MYTASK如下:

    EXECUTE DBMS_ADVISOR.EXECUTE_TASK ('MYTASK');
    复制

也可以看看:

Oracle数据库PL / SQL包和类型参考更多地了解RESET_TASKCANCEL_TASK

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

评论