Ola Pessoal .....Belezinha..Hoje irei dar uma dica rapida sobre o Assitente de Ajuste Sql ( SQL Tunning Advisor)Ele e utilizado para ajudar os DBA`s a otimizar , e realizar ajustes nas querys do banco de dados e surgiu com a versao 10g do Oracle.Lembre-se sempre pesquizem o material da Oracle para Mais informacoes.Eu utilizei o Oracle 11g como ambiente de teste.Referencias:http://www.oracle-base.com/articles/10g/AutomaticSQLTuning10g.phpMaos a Obra ....1-Executar o script para Criacao da tabela de Planos.SQL> @?/RDBMS\ADMIN\utlxplan.sql;SQL> desc plan_table2-Executar explain de determinada declaracao:SQL> SET TIMING ON -- Para verificarmos o tempo de execucaoSQL>explain plan SET STATEMENT_ID=ID for Select * From scott.emp ; SQL> SET TIMING OFF3-Visualize as saida da tabela de planos com a o pacote dbms_xplan:select * from TABLE(dbms_xplan.display);4-Conceder privilegio para que um usuario possa utilizar o Advisor de Auste SQLCONN sys/password AS SYSDBAGRANT ADVISOR TO scott;CONN scott/tiger5-Criar uma tarefa para executar o AdvisorSQL> DECLARE l_sql VARCHAR2(500); l_sql_tune_task_id VARCHAR2(100); BEGIN l_sql := 'SELECT * FROM emp'; l_sql_tune_task_id := DBMS_SQLTUNE.create_tuning_task ( sql_text=> l_sql,user_name => 'SCOTT',SCOPE => DBMS_SQLTUNE.scope_comprehensive, time_limit => 60,task_name => 'emp_tuning_task'); DBMS_OUTPUT.put_line('l_sql_tune_task_id: ' || l_sql_tune_task_id); END ; /PL/SQL procedure successfully completed.6-Com a tarefa de ajuste definida o proximo passo e executa-lo usando o procedimento EXECUTE_TUNING_TASK:SQL> EXEC DBMS_SQLTUNE.execute_tuning_task(task_name =>'emp_tuning_task');PL/SQL procedure successfully completed.Quick Tip:Durante a fase de execucao voce pode querer fazer uma pausa e reiniciar a tarefa, cancelar ou reiniciar a tarefa de permitir que ele seja re-executadoa-Interromper e retomar uma tarefa de afinacaoEXEC DBMS_SQLTUNE.interrupt_tuning_task (task_name => 'emp_tuning_task');EXEC DBMS_SQLTUNE.resume_tuning_task (task_name => 'emp_tuning_task');b-Cancelar uma tarefaEXEC DBMS_SQLTUNE.cancel_tuning_task (task_name => 'emp_tuning_task');c-Redefinir uma tarefa de ajuste que permite que ele seja re-executada.EXEC DBMS_SQLTUNE.reset_tuning_task (task_name => 'emp_dept_tuning_task');7-O status da tarefa de ajuste pode ser monitorado usando a visao DBA_ADVISOR_LOG:SELECT task_name, status FROM dba_advisor_log WHERE owner ='SCOTT';8-Depois que a tarefa de ajuste foi executado com exito as recomendacoes podem ser exibidas usando a funcao REPORT_TUNING_TASK:SET LONG 10000;SET PAGESIZE 1000SET LINESIZE 200SELECT DBMS_SQLTUNE.report_tuning_task('emp_tuning_task') AS recommendations FROM dual;SET PAGESIZE 24SQL> SELECT DBMS_SQLTUNE.report_tuning_task('emp_tuning_task') AS recommendations 2 FROM DUAL;9-Apos a sessao de ajuste a tarefa de ajuste pode ser eliminada utilizando o procedimento DROP_TUNING_TASK:BEGINDBMS_SQLTUNE.drop_tuning_task (task_name => 'emp_tuning_task');END;/Bom Valeu ......Fiquem com Deus . No Post Anterior nos relembramos como habilitar e desabilitar a tecnologia de FlashBack..As proximas dicas rapidas irao mostrar como fazer uma recuperacao com do Flshaback do banco de dados habilitado..Sigam os passos abaixo e divirtam-se com moderacao, utilizem sempre ambientes de testes...... I-FLASBACK DATABSE PARA UM TEMPO ESPECIFICO UTILIZANDO COMANDOS SQL1- feche o Banco de Dados e abra-o em Modo MountSQL>shutdown immediate ;SQL> startup mount exclusive ;2-Eu utilizei o seguinte comando para voltar o banco de dados ao dia anterior :SQL> FLASHBACK DATABASE to timestamp to_timestamp('24-mar-11 08:00:00','dd-mm-yy hh24-mi-ss') ;3-Abra o Banco de dados com a Opcao RESETLOGS:SQL>alter database open RESETLOGS ;Verifique se tudo esta correto como era antesII-FLASHBACK DATABASE USANDO UM SCN 1-Verifique o SCN para o qual iremos recuperar a instancia:SQL> select current_scn from v$database ;2- feche o Banco de Dados e abra-o em Modo Mount :SQL>shutdown immediate ;SQL> startup mount exclusive ;3-Eu utilizei o comando abaixo para voltar o banco de dados:SQL>flashback database to scn 1777333 ;4-Abra o banco de dados com a Opcao RESETLOGS:SQL> Alter database open RESETLOGS ;Verifique se esta