使用以下DBMS_ADVISOR.CREATE_TASK过程创建SQL Access Advisor任务。
在SQL Access Advisor任务中,您定义顾问程序必须分析的内容以及结果的位置。您可以创建多个任务,每个任务都有自己的专长。所有这些都基于相同的Advisor任务模型并共享相同的存储库。
配置任务涉及以下步骤:
- 定义任务参数
在生成建议时,您可以将过滤器应用于工作负载以限制所分析的内容。此限制使您能够根据不同的工作负载方案生成不同的建议集。
SQL Access Advisor参数控制推荐过程和工作负载的自定义。这些参数控制过程的各个方面,例如所需推荐的类型和所推荐内容的命名约定。
如果未定义参数,则数据库使用默认值。您可以使用以下
DBMS_ADVISOR.SET_TASK_PARAMETER步骤设置任务参数。参数是持久的,因为它们在任务的生命周期内保持设置状态。使用设置参数值后SET_TASK_PARAMETER,除非再次调用此过程,否则它不会更改。 - 将任务链接到工作负载
由于工作负载是独立的,因此必须使用该
DBMS_ADVISOR.ADD_STS_REF过程将其链接到任务。建立此链接后,您将无法删除或修改工作负载,除非所有顾问程序任务都删除了它们对工作负载的依赖性。当用户删除父顾问程序任务或使用该DBMS_ADVISOR.DELETE_STS_REF过程从任务中手动删除工作负载参考时,将删除工作负载参考。
先决条件
创建任务的用户必须已被授予ADVISOR特权。
假设条件
本教程假定以下内容:
- 您要创建一个名为的任务
MYTASK。 - 您想使用此任务来分析在“ 用用户定义的工作量填充SQL调优集 ”中定义的工作量。
- 如果要花费超过30分钟的时间来执行,则要终止该任务。
- 您想让SQL Access Advisor仅考虑索引。
要创建和配置SQL Access Advisor任务,请执行以下操作:
- 以用户身份将SQL * Plus连接到数据库
sh,然后创建任务。例如,输入以下命令:
EXECUTE :task_name := 'MYTASK'; EXECUTE DBMS_ADVISOR.CREATE_TASK('SQL Access Advisor', :task_id, :task_name); - 设置任务参数。
例如,执行以下语句:
EXECUTE DBMS_ADVISOR.SET_TASK_PARAMETER(:task_name, 'TIME_LIMIT', 30); EXECUTE DBMS_ADVISOR.SET_TASK_PARAMETER(:task_name, 'ANALYSIS_SCOPE', 'ALL'); - 将任务链接到工作负载。
例如,执行以下语句:
EXECUTE DBMS_ADVISOR.ADD_STS_REF(:task_name, 'SH', :workload_name);
也可以看看:
- “ SQL Access Advisor任务参数的类别 ”
- “ 删除SQL Access Advisor任务 ”
- Oracle数据库PL / SQL包和类型参考,了解
DBMS_ADVISOR.CREATE_TASK,DBMS_ADVISOR.SET_TASK_PARAMETER以及DBMS_ADVISOR.ADD_STS_REF程序
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




