长枪不倒 发表于 2015-11-8 15:08:28

OCP-1Z0-053-V12.02-40题

40.Evaluate the following code:
SQL>VARIABLE task_name VARCHAR2(255);
SQL>VARIABLE sql_stmt VARCHAR2(4000);
SQL>BEGIN :sql_stmt := 'SELECT COUNT(*) FROM customers WHERE cust_state_province =''CA''';
:task_name := 'MY_QUICKTUNE_TASK';
DBMS_ADVISOR.QUICK_TUNE(DBMS_ADVISOR.SQLACCESS_ADVISOR,
:task_name, :sql_stmt);
END;
What is the outcome of this block of code?
A. It creates a task and workload, and executes the task.
B. It creates a task and workload but does not execute the task.
C. It produces an error because a template has not been created.
D. It produces an error because the SQL Tuning Set has not been created.
Answer: A
答案解析:
参考:http://docs.oracle.com/cd/E11882_01/server.112/e41573/advisor.htm#PFGRF94911



Performing a Quick Tune
  
  
  To tune a single SQL statement, the QUICK_TUNE procedure accepts as its input a task_name and a SQL statement. The procedure creates a task and workload and executesthis task. There is no difference in the results from using QUICK_TUNE. They are exactly the same as those from using EXECUTE_TASK,but this approach is easier to use when there is only a single SQL statement to be tuned. The syntax is as follows:
DBMS_ADVISOR.QUICK_TUNE (   advisor_name         IN VARCHAR2,   task_name            IN VARCHAR2,   attr1                  IN CLOB,   attr2                  IN VARCHAR2 := NULL,   attr3                  IN NUMBER := NULL,   task_or_template       IN VARCHAR2 := NULL);The following example shows how to quick tune a single SQL statement:
VARIABLE task_name VARCHAR2(255);VARIABLE sql_stmt VARCHAR2(4000);EXECUTE :sql_stmt := 'SELECT COUNT(*) FROM customers                      WHERE cust_state_province =''CA''';EXECUTE :task_name:= 'MY_QUICKTUNE_TASK';EXECUTE DBMS_ADVISOR.QUICK_TUNE(DBMS_ADVISOR.SQLACCESS_ADVISOR,            :task_name, :sql_stmt);
         版权声明:本文为博主原创文章,未经博主允许不得转载。
页: [1]
查看完整版本: OCP-1Z0-053-V12.02-40题