SQL访问顾问SAA(SQL Access Advisor)理论部分三: 工作量对象

工作量对象
        因为工作量作为单独的工作量对象被存储,它可以很容易的在多个指导任务之间被共享。一旦一个工 作量对象被一个指导任务所引用,那么直到所有指导任务删除它们所依赖的数据之前,工作量是不能 被删除或修改的。当父指导任务被删除或者当工作量引用被手动从指导任务中被删除时,工作量引用 将会被删除。

        当工作量可以使用时,SQL Access Advisor会执行的最好。SQL Access Workload档案库能够存储多 个工作量,因此真实世界数据仓库或事务处理环境中的不同用户可以在很长一段时间内查看并且可以 踊跃数据库的重启。

        在工作量的真实SQL语句被定义之前,工作量必须使用dbms_advisor.create_sqlwkld过程来进行创建
然后,使用合适的import_sqlwkld过程来加载工作量
。一个特定的工作量可以通过调用 dbms_advisor.delete_sqlwkld过程来进行删除。为了删除当前用户的所有工作量,可以在调用 dbms_advisor.delete_sqlwkld过程时传递一个常量advisor_all或%。

        使用工作量
        dbms_advisor.create_sqlwkld过程用来创建工作量并且它必须在执行任何其它工作量操作之前存在 ,比如导入或更新SQL语句。通过工作量名来识别工作量,因此应该定义一个唯一名称来标识操作。

语法如下:

dbms_advisor.create_sqlwkld (
workload_name in out varchar2,
description in varchar2 := null,
template in varchar2 := null,
is_template in varchar2 := 'false');

创建工作量

SQL> variable workload_name varchar2(255);
SQL> execute :workload_name := 'myworkload';

PL/SQL procedure successfully completed
workload_name
---------
myworkload
SQL> execute dbms_advisor.create_sqlwkld(:workload_name,'this is my first workload');

PL/SQL procedure successfully completed
workload_name
---------
myworkload

猜你喜欢

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