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 executes this 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);

 

你可能感兴趣的:(OCP-1Z0-053-V12.02-40题)