Om SQL profiles te kunnen managen moet een user de volgende privileges hebben:
CONN sys/password AS SYSDBA GRANT CREATE ANY SQL PROFILE TO scott; GRANT DROP ANY SQL PROFILE TO scott; GRANT ALTER ANY SQL PROFILE TO scott; Als de SQL tuning advisor het advies geeft om een voorgesteld profile toe te voegen kan je dit accepteren met de ACCEPT_SQL_PROFILE procedure: CONN scott/tiger SET SERVEROUTPUT ON DECLARE l_sql_tune_task_id VARCHAR2(20); BEGIN l_sql_tune_task_id := DBMS_SQLTUNE.accept_sql_profile ( task_name => 'emp_dept_tuning_task', name => 'emp_dept_profile'); DBMS_OUTPUT.put_line('l_sql_tune_task_id: ' || l_sql_tune_task_id); END; / De NAME parameter word gebruikt om een naam aan een profile te geven. Als deze niet gespecificeerd wordt zal een systeem gegenereerde naam gebruikt worden.
De STATUS, NAME, DESCRIPTION, en CATEGORY attributen van een SQL profile kunnen gewijzigd worden met de ALTER_SQL_PROFILE procedure: BEGIN DBMS_SQLTUNE.alter_sql_profile ( name => 'emp_dept_profile', attribute_name => 'STATUS', value => 'DISABLED'); END; / Bestaande SQL profiles kunnen weggegooid worden met de DROP_SQL_PROFILE procedure: BEGIN DBMS_SQLTUNE.drop_sql_profile ( name => 'emp_dept_profile', ignore => TRUE); END; / De IGNORE parameter voorkomt dat foutmeldingen geproduceerd worden als een gespecificeerde profile niet bestaat. |