SQL Tuning questions

Hello

I feel, the hash join subsequently cause performance problem. Please take a look and suggest me that my interpretation is fair or not:
SELECT COUNT(*),d.file_id,d.PRINT_LOCATION,m.corporate_id,m.file_uploaded_on,r.PROCESS_DATE as AuthorizeDate,r.AUTHORIZATION_STATUS,r.AUTHORIZATION_LEVEL as AuthorizationLevel 
FROM CHQPRINT.T_DATA_MASTER_FIELD_DETAILS d,CHQPRINT.T_DATA_CORP_AUTHORIZATION r,CHQPRINT.t_data_file_details m,CHQPRINT.T_DATA_RECORD_DETAILS N 
WHERE d.file_id=r.FILE_ID 
and d.RECORD_REFERENCE_NO=r.RECORD_REFERENCE_NO 
and r.file_id=m.file_id AND N.FILE_ID=R.FILE_ID 
AND N.RECORD_REFERENCE_NO=R.RECORD_REFERENCE_NO 
and d.file_id=m.file_id 
and N.CORPORATE_AUTHORIZATION_DONE='Y' 
AND TO_DATE(m.FILE_UPLOADED_ON) between ('01-OCT-2010') and ('28-OCT-2010') AND(N.PRINTING_STATUS<>'C'  OR N.PRINTING_STATUS IS NULL)
GROUP BY d.file_id,d.PRINT_LOCATION,m.corporate_id,m.file_uploaded_on,r.PROCESS_DATE,r.AUTHORIZATION_STATUS,r.AUTHORIZATION_LEVEL


Plan hash value: 904523798

--------------------------------------------------------------------------------------------------------------------
| Id  | Operation                      | Name                      | Rows  | Bytes |TempSpc| Cost (%CPU)| Time     |
--------------------------------------------------------------------------------------------------------------------
|   0 | SELECT STATEMENT               |                           |     1 |    80 |       |  5464   (1)| 00:01:06 |
|   1 |  HASH GROUP BY                 |                           |     1 |    80 |       |  5464   (1)| 00:01:06 |
|   2 |   NESTED LOOPS                 |                           |     1 |    80 |       |  5463   (1)| 00:01:06 |
|*  3 |    HASH JOIN                   |                           |    36 |  2340 |  6376K|  5401   (1)| 00:01:05 |
|   4 |     TABLE ACCESS BY INDEX ROWID| T_DATA_CORP_AUTHORIZATION |   408 |  9792 |       |    75   (0)| 00:00:01 |
|   5 |      NESTED LOOPS              |                           |   116K|  5003K|       |  2535   (1)| 00:00:31 |
|*  6 |       TABLE ACCESS FULL        | T_DATA_FILE_DETAILS       |   286 |  5720 |       |   202   (4)| 00:00:03 |
|*  7 |       INDEX RANGE SCAN         | PK_DATA_CORPAUTHORIZATION |   408 |       |       |     6   (0)| 00:00:01 |
|   8 |     INDEX FAST FULL SCAN       | IDX_FILE_REF_PLOC         |   911K|    18M|       |  1120   (1)| 00:00:14 |
|*  9 |    TABLE ACCESS BY INDEX ROWID | T_DATA_RECORD_DETAILS     |     1 |    15 |       |     2   (0)| 00:00:01 |
|* 10 |     INDEX UNIQUE SCAN          | PK_DATA_RECORD_DETAILS    |     1 |       |       |     1   (0)| 00:00:01 |
--------------------------------------------------------------------------------------------------------------------

Predicate Information (identified by operation id):
---------------------------------------------------

   3 - access("D"."FILE_ID"="R"."FILE_ID" AND "D"."RECORD_REFERENCE_NO"="R"."RECORD_REFERENCE_NO" AND
              "D"."FILE_ID"="M"."FILE_ID")
   6 - filter(TO_DATE(INTERNAL_FUNCTION("M"."FILE_UPLOADED_ON"))>=TO_DATE('2010-10-01 00:00:00',
              'yyyy-mm-dd hh24:mi:ss') AND TO_DATE(INTERNAL_FUNCTION("M"."FILE_UPLOADED_ON"))<=TO_DATE('2010-10-28
              00:00:00', 'yyyy-mm-dd hh24:mi:ss'))
   7 - access("R"."FILE_ID"="M"."FILE_ID")
   9 - filter(("N"."PRINTING_STATUS" IS NULL OR "N"."PRINTING_STATUS"<>'C') AND
              "N"."CORPORATE_AUTHORIZATION_DONE"='Y')
  10 - access("N"."FILE_ID"="R"."FILE_ID" AND "N"."RECORD_REFERENCE_NO"="R"."RECORD_REFERENCE_NO")

Elapsed: 00:00:08.49

Statistics
----------------------------------------------------------
         22  recursive calls
          0  db block gets
    1149987  consistent gets
        383  physical reads
       1560  redo size
      14528  bytes sent via SQL*Net to client
        679  bytes received via SQL*Net from client
         19  SQL*Net roundtrips to/from client
          0  sorts (memory)
          0  sorts (disk)
        268  rows processed
Database version: 10.2.0.3

Kind regards

Santi says:
Hi Charles,

I made the change in the query according to your suggestion. Here's the amended plan:
(snip)

Even when the cost into account in the new plan is higher than the previous plan of 2000, but I see a big gain to comply:

Elapsed: 00:00:00.64

Statistics
----------------------------------------------------------
22  recursive calls
0  db block gets
27392  consistent gets
0  physical reads
0  redo size
2441  bytes sent via SQL*Net to client
503  bytes received via SQL*Net from client
3  SQL*Net roundtrips to/from client
1  sorts (memory)
0  sorts (disk)
29  rows processed

Kind regards

What you have done is to give Oracle optimizer increases much better estimates of the actual number of rows that will be returned by operations in the execution plan by eliminating the m.FILE_UPLOADED_ON encapsulated TO_DATE function, so the calculated costs are expected to increase when the cardinality estimates. Note that now the T_DATA_FILE_DETAILS table is more should return 286 lines, but instead 1900 lines - 3993 rows being returned. The estimate of cardinaliy is still 2.1 times less than real, but it's better that be 13.96 times weaker than real with a Cartesian join is passed as a nested loops join. The T_DATA_CORP_AUTHORIZATION table is probably the biggest contributor to the execution time in the new execution plan (this may or may not be a performance issue). During the first run he required 10 156 physical block reads (all physical block reads for this run, check that the DB_FILE_MULTIBLOCK_READ_COUNT parameter is disabled to help potentially diluvium read performance in the future). During the second run that no physical reads has been made, then the execution time decreased slightly. 13 309 of the 27 392 makes more sense are a direct consequence of this table T_DATA_CORP_AUTHORIZATION access - we could see the number of becomes compatible drop using an index to access this table, but performance might be harmful if physical block reads are required.

There is a small chance that you could see slightly better performance by using clues more and less full table scan, but I suspect that the performance may not improve much more. You could, of course, test by temporarily adding index indicators to the SQL statement (where the indicator GATHER_PLAN_STATISTICS is currently positioned) to see how changing the performance. Once you are satisfied with the performance of the SQL statement, make sure you remove the indication of the GATHER_PLAN_STATISTICS of the SQL statement.

Charles Hooper
Co-author of "Expert Oracle practices: Oracle Database Administration of the Oak Table.
http://hoopercharles.WordPress.com/
IT Manager/Oracle DBA
K & M-making Machine, Inc.

Tags: Database

Similar Questions

  • access SQL vs tuning question Advisor

    I am trying to understand a question which is:

    Which of the following identifies and creates an index to reduce the time of the DB for a given SQL statement?

    (a) SQL Tuning Advisor
    (b) SQL Access Advisor

    I think the right answer is a) tuning advisor, because it is for a given SQL statement and it can also be configured to automatically create an index when it runs over the extensible standard maintenance task. However, the marked answer is b) Access Advisor. That which is correct and why?

    Thank you!

    Waldrfm,

    I guess this question of OCP is also asking if STA or SAA make recommendations in terms of DB Time (%) or the cost of the workload (%).

    When you look at the details of STA recommendation, it is show recommendations by times of DB (which includes the DB service time + queue DB time) *, in particular for each SQL statement.

    However, when you look at the details of recommendation of SAA, is show the recommendations by improving Total cost (which is the cost of CBO, SUM (IO + CPU)). * instead of DB self time

    SQL statement.

    For example,.

    When you tune in 10 identified SQL statements using the STA, it tunes indivdual SQL statement acting time of each SQL DB.

    SAA tunes instructions SQL 10 identified as a workload making recommendations based on improving Total cost of the entire workload.

  • SQL Tuning Advisor on a select Question

    Hi all.
    10.2.0.4 RAC
    I have a select sequential reading of file db high. I used sql tuning advisor on OEM, and the Adviser show me these recommendations:
    RECOMMENDATIONS
    ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    GENERAL INFORMATION SECTION
    -------------------------------------------------------------------------------
    Tuning Task Name                  : SQL_TUNING_1266335308111
    Tuning Task Owner                 : SYSTEM
    Scope                             : COMPREHENSIVE
    Time Limit(seconds)               : 1800
    Completion Status                 : COMPLETED
    Started at                        : 02/16/2010 16:48:44
    Completed at                      : 02/16/2010 16:50:06
    Number of SQL Profile Findings    : 1
    
    -------------------------------------------------------------------------------
    Schema Name: CRM
    SQL ID     : b7cd8jntqpcgu
    SQL Text   : select * from ( select this_.ENVIO_ID as ENVIO1_33_0_,
                 this_.NOMCLIENTE as NOMCLIENTE33_0_, this_.NOMCONTACTO as
                 NOMCONTA3_33_0_, this_.APLICACION_ID as APLICACION4_33_0_,
                 this_.PRIORIDAD as PRIORIDAD33_0_, this_.MEDIO as MEDIO33_0_,
                 this_.MEDIO_VALOR as MEDIO7_33_0_, this_.ESTADO as ESTADO33_0_,
                 this_.ESTADO_DESC as ESTADO9_33_0_, this_.FEC_PREVISTA as
                 FEC10_33_0_, this_.FECHA_ENVIO as FECHA11_33_0_,
                 this_.REC_CLIENTE as REC12_33_0_, this_.FECHACREA as
                 FECHACREA33_0_, this_.FECHAMODIF as FECHAMODIF33_0_,
                 this_.FLAGBLOQUEO as FLAGBLO15_33_0_, this_.FLAGBORRADO as
                 FLAGBOR16_33_0_, this_.COMENTARIOS as COMENTA17_33_0_,
                 this_.HORAENVIO as HORAENVIO33_0_, this_.EMISOR as EMISOR33_0_,
                 this_.IDENTIFICADOR as IDENTIF20_33_0_, this_.MEDIO_VALOR_DESC
                 as MEDIO21_33_0_, this_.DEBUG_TRACE as DEBUG22_33_0_,
                 this_.FORMULARIO_ID as FORMULARIO23_33_0_, this_.CAMPANYA_ID as
                 CAMPANYA24_33_0_, this_.CONTACTO_ID as CONTACTO25_33_0_,
                 this_.USUARIOCREA as USUARIO26_33_0_, this_.USUARIOMODIF as
                 USUARIO27_33_0_, this_.CLIENTE_ID as CLIENTE28_33_0_,
                 this_.CAMPPOS_ID as CAMPPOS29_33_0_, this_.ACTIVIDAD_ID as
                 ACTIVIDAD30_33_0_, this_.TAGCLICONEXT_ID as TAGCLIC31_33_0_ from
                 CRM.CRM_ENVIOS this_ where this_.MEDIO=:1 and this_.ESTADO=:2
                 and this_.FECHA_ENVIO<=:3 order by this_.ENVIO_ID asc ) where
                 rownum <= :4
    
    -------------------------------------------------------------------------------
    FINDINGS SECTION (1 finding)
    -------------------------------------------------------------------------------
    
    1- SQL Profile Finding (see explain plans section below)
    --------------------------------------------------------
      A potentially better execution plan was found for this statement.
    
      Recommendation (estimated benefit: 99.43%)
      ------------------------------------------
      - Consider accepting the recommended SQL profile.
        execute dbms_sqltune.accept_sql_profile(task_name =>
                'SQL_TUNING_1266335308111', replace => TRUE);
    
    -------------------------------------------------------------------------------
    ADDITIONAL INFORMATION SECTION
    -------------------------------------------------------------------------------
    - The optimizer could not merge the view at line ID 2 of the execution plan.
      The optimizer cannot merge a view that contains an "ORDER BY" clause unless
      the statement is a "DELETE" or an "UPDATE" and the parent query is the top
      most query in the statement.
    
    -------------------------------------------------------------------------------
    EXPLAIN PLANS SECTION
    -------------------------------------------------------------------------------
    
    1- Original With Adjusted Cost
    ------------------------------
    Plan hash value: 3505713201
    
    ----------------------------------------------------------------------------------------------
    | Id  | Operation                     | Name         | Rows  | Bytes | Cost (%CPU)| Time     |
    ----------------------------------------------------------------------------------------------
    |   0 | SELECT STATEMENT              |              |     1 |  4416 |   604K  (1)| 02:00:53 |
    |*  1 |  COUNT STOPKEY                |              |       |       |            |          |
    |   2 |   VIEW                        |              |     1 |  4416 |   604K  (1)| 02:00:53 |
    |*  3 |    TABLE ACCESS BY INDEX ROWID| CRM_ENVIOS   |     1 |   352 |   604K  (1)| 02:00:53 |
    |   4 |     INDEX FULL SCAN           | SYS_C0020438 |  2718K|       |  8153   (1)| 00:01:38 |
    ----------------------------------------------------------------------------------------------
    
    Predicate Information (identified by operation id):
    ---------------------------------------------------
    
       1 - filter(ROWNUM<=:4)
       3 - filter("THIS_"."MEDIO"=:1 AND "THIS_"."ESTADO"=:2 AND
                  "THIS_"."FECHA_ENVIO"<=:3)
    
    2- Using SQL Profile
    --------------------
    Plan hash value: 3391889105
    
    ------------------------------------------------------------------------------------------------------
    | Id  | Operation                      | Name                | Rows  | Bytes | Cost (%CPU)| Time     |
    ------------------------------------------------------------------------------------------------------
    |   0 | SELECT STATEMENT               |                     |     1 |  4416 |  3431   (1)| 00:00:42 |
    |*  1 |  COUNT STOPKEY                 |                     |       |       |            |          |
    |   2 |   VIEW                         |                     |     1 |  4416 |  3431   (1)| 00:00:42 |
    |*  3 |    SORT ORDER BY STOPKEY       |                     |     1 |   352 |  3431   (1)| 00:00:42 |
    |*  4 |     TABLE ACCESS BY INDEX ROWID| CRM_ENVIOS          |     1 |   352 |  3430   (1)| 00:00:42 |
    |*  5 |      INDEX SKIP SCAN           | APLICACIONENVIO_IDX |     1 |       |  3429   (1)| 00:00:42 |
    ------------------------------------------------------------------------------------------------------
    
    Predicate Information (identified by operation id):
    ---------------------------------------------------
    
       1 - filter(ROWNUM<=:4)
       3 - filter(ROWNUM<=:4)
       4 - filter("THIS_"."MEDIO"=:1 AND "THIS_"."FECHA_ENVIO"<=:3)
       5 - access("THIS_"."ESTADO"=:2)
           filter("THIS_"."ESTADO"=:2)
    
    -------------------------------------------------------------------------------
    I think the main problem is the order, but when I run autotrace traceonly without order by the plan of the explain command is diferent to advise:
    SELECT *
      2    FROM (SELECT this_.envio_id AS envio1_33_0_,
      3                 this_.nomcliente AS nomcliente33_0_,
      4                 this_.nomcontacto AS nomconta3_33_0_,
      5                 this_.aplicacion_id AS aplicacion4_33_0_,
      6                 this_.prioridad AS prioridad33_0_, this_.medio AS medio33_0_,
      7                 this_.medio_valor AS medio7_33_0_, this_.estado AS estado33_0_,
      8                 this_.estado_desc AS estado9_33_0_,
      9                 this_.fec_prevista AS fec10_33_0_,
     10                 this_.fecha_envio AS fecha11_33_0_,
     11                 this_.rec_cliente AS rec12_33_0_,
     12                 this_.fechacrea AS fechacrea33_0_,
     13                 this_.fechamodif AS fechamodif33_0_,
     14                 this_.flagbloqueo AS flagblo15_33_0_,
     15                 this_.flagborrado AS flagbor16_33_0_,
     16                 this_.comentarios AS comenta17_33_0_,
     17                 this_.horaenvio AS horaenvio33_0_, this_.emisor AS emisor33_0_,
     18                 this_.identificador AS identif20_33_0_,
     19                 this_.medio_valor_desc AS medio21_33_0_,
     20                 this_.debug_trace AS debug22_33_0_,
     21                 this_.formulario_id AS formulario23_33_0_,
     22                 this_.campanya_id AS campanya24_33_0_,
     23                 this_.contacto_id AS contacto25_33_0_,
     24                 this_.usuariocrea AS usuario26_33_0_,
     25                 this_.usuariomodif AS usuario27_33_0_,
     26                 this_.cliente_id AS cliente28_33_0_,
     27                 this_.camppos_id AS camppos29_33_0_,
     28                 this_.actividad_id AS actividad30_33_0_,
     29                 this_.tagcliconext_id AS tagclic31_33_0_
     30            FROM crm.crm_envios this_
     31               where this_.estado = 'Enviado'
     32           and this_.medio = 3482 AND this_.fecha_envio <= '02/04/10 00:00:00')
     33   WHERE ROWNUM <= 500;
    
    no rows selected
    
    
    Execution Plan
    ----------------------------------------------------------
    Plan hash value: 1577868436
    
    ------------------------------------------------------------------------------------------------
    | Id  | Operation                    | Name            | Rows  | Bytes | Cost (%CPU)| Time     |
    ------------------------------------------------------------------------------------------------
    |   0 | SELECT STATEMENT             |                 |   500 |   171K|  2425   (1)| 00:00:30 |
    |*  1 |  COUNT STOPKEY               |                 |       |       |            |          |
    |*  2 |   TABLE ACCESS BY INDEX ROWID| CRM_ENVIOS      |   500 |   171K|  2425   (1)| 00:00:30 |
    |*  3 |    INDEX RANGE SCAN          | ESTADOENVIO_IDX |       |       |   104   (0)| 00:00:02 |
    ------------------------------------------------------------------------------------------------
    
    Predicate Information (identified by operation id):
    ---------------------------------------------------
    
       1 - filter(ROWNUM<=500)
       2 - filter(TO_NUMBER("THIS_"."MEDIO")=3482 AND "THIS_"."FECHA_ENVIO"<='02/04/10
                  00:00:00')
       3 - access("THIS_"."ESTADO"='Enviado')
    
    
    Statistics
    ----------------------------------------------------------
              1  recursive calls
              0  db block gets
         138277  consistent gets
          45240  physical reads
              0  redo size
           2629  bytes sent via SQL*Net to client
            488  bytes received via SQL*Net from client
              2  SQL*Net roundtrips to/from client
              0  sorts (memory)
              0  sorts (disk)
              0  rows processed
    I was looking for a way to see who wear's Advisor using his plan, but didn't see a way of knowing on docs, or at least I have not found it.
    Can someone show me that some light on what changes made Advisor to select to reach that way, or how can I watch this that select uses?
    Any help will be appreciate
    Thank you

    The Adviser does not create a new SQL statement - what it has done is create a SQL profile - to accept SQL profile for the task of tuning above:

        execute dbms_sqltune.accept_sql_profile(task_name =>
                'SQL_TUNING_1266335308111', replace => TRUE);
    

    as mentioned in the above report...

    A sql profile applys tips for change (correct) the cost of certain operations - and, to change the execution path chosen by the optiimizer.

  • Need to learn the code of PL/SQL tuning

    Hi all

    I already asked this question earlier, but the link provided was too difficult to understand, I really grateful if someone suggest me the good and simple link or presentation for mentioned topic question.

    In addition, I just want to learn some basic for this. Appreciate your response. Thank you

    Concerning

    Muzz

    I already asked this question earlier, but the link provided was too difficult to understand, I really grateful if someone suggest me the good and simple link or presentation for mentioned topic question.

    Why PL/SQL tuning?

    The best advice re PL/SQL is to AVOID at all costs. Whenever possible, use SQL.

    It is usually the SQL to be tuned so that sql is autonomous or in code.

    As the major part of PL/SQL uses SQL to get the job done, you will be not successful tuning PL/SQL, unless you set the SQL contained in it.

    Start with the Oracle documentation:

    http://docs.Oracle.com/CD/B28359_01/server.111/b28274/sql_overview.htm

    This chapter deals with the objectives for the development, explains how to identify the high resource SQL statements, which must be collected, offers suggestions of setting and explains how to create SQL test scenarios to solve problems in SQL.

    This chapter contains the following sections:

    Then, learn how to use and interpret what the Wizard Setup of Sql from Oracle can make and provide:

    Update Auto SQL - 11 g Release 2 (11.2)

    17 automatic SQL Tuning

    This chapter examines the SQL Auto setting of the Oracle database features. Automatic tuning of SQL automates the manual process, which is complex, time consuming and repetitive.

    This chapter contains the following sections:

    A lot of questions of PL/SQL, you encounter will be due to one of these things:

    1 poorly written SQL (see SQL tuning above)

    2. use of slow-by-slow (line by line) treatment in a loop

    3. poor use of collections and in bulk of treatment

    4. use of the dynamic sql

    All those who will take you to the SQL itself. The SQL is not set correctly if it is not possible for the PL/SQL to be tuned.

  • There will be a review of certification SQL Tuning 12 c?

    Hello

    I hope soon the SQL Tuning oracle 11g certification exam.

    Certification exam SQL Tuning oracle 12 c comes?

    Thank you


    Sorry - end of the day - my right jumped brain beyond the portion "SQL" to your question.  I seriously doubt that there will be an update to the review of SQL Tuning (1Z0-117) 11 g just for Oracle 12 c.  There is not a lot of change in the way that SQL should be given between 11 billion and 12 c, so a separate trial would be pretty useless.

  • That means 1z0-117 oracle 11g sql tuning now say it includes v12 addition v11

    Hello

    I did the 1z0-117 sql tuning review once.

    Not too far away.

    I studied under and turned off for a while.

    I anticipate taking in 1 month.

    However, I just noticed that the oracle site says 1z0-117 also said that v12 is also included for consideration:

    Oracle 11g sql tuning.

    It makes no sense at all.

    Roger

    However, I just noticed that the oracle site says 1z0-117 also said that v12 is also included for consideration:

    Oracle 11g sql tuning.

    Unless you are looking for something I'm not, what actually is the 1Z0-117 page says: "validated against: review has been validated against Oracle Database 11g Release 2 version 11.2.0.1.0 and database Oracle 12 c 12.1.0.1.0"

    What they actually mean by it is that someone went through all the issues and and asked the question "is still a relevant issue for the release of 12 c to Oracle?'." "  If they find issues that are not valid because of an update/change, then the question will be removed from review (or changed) so that someone who has used 12 c but not 11 g will not at a disadvantage.

    This is * No * means that Oracle has added questions to the review of the capabilities that were introduced in version 12 c.

  • Need your help for sql tuning


    Hi gurus

    I really want to learn a few basics against SQL tuning, can you please guide me how will I achieve my goal? Thanks in advance.

    Concerning

    Shu

    I am professional tuner and this for 20 years. Firstly, I think that the best way is always a course with instructor. In other words, you can't ask for books. You have no need to read tuning guide in this case, the instructor he will tell you. If the time and the budget does not allow you a course, you can go online or material and DVD tutorial. As a next steop I would recommend Cary Milsap's "Optimizing Oracle Perforamance". I'll be your right mind game. Jonathan and Chris books you must have if you do practical work. You don't need to read all the chapters in detail from the beginning, but you should check out them if you have any questions when you work on a tuning tasks. If you want to go more advanced subjects discover Wolfgang Breitlings presentation on http://www.centrexcc.com/. Very valuable are also Throw away method of Martin Berg and the SQL Diagraming of Daniel Tow technique.

  • 1Z0-117: Oracle Certified Expert, Oracle Database 11 g Release 2 SQL Tuning

    Hello

    I failed the exam 1Z0-047 Oracle database SQL Expert"x 3 and will pass the exam in January 2012. I'm sure I'll spend this time :-) to 95%

    Now my question: what's next 1Z0-047? I only know how to leave 1Z0-047. I am SQL scripts to my work, but no DBA work and not of PL/SQL. So I guess that the "Oracle Certified Expert, Oracle Database 11 g Release 2 SQL Tuning" would be the next logical step?

    Is 'Oracle Certified Expert, Oracle Database 11g Release 2 SQL Tuning' too complicated for me (only have knowledge of the exam 1Z0-047). Because I don't have experience with the topics listed in the objectives, for the most part never heard talk about.

    What study guide?

    So I guess that the "Oracle Certified Expert, Oracle Database 11 g Release 2 SQL Tuning" would be the next logical step?

    I agree with you.

    The Oracle 11 g Release 2 database: review SQL Tuning is still in beta at least until November 24, 2012. Beta versions have been known to be extended. Even if this isn't the case, the examination of the production is not available before mid-January 2013 about. I had one experience with a beta. I hated and will never be another. There is little reason to do so, and most importantly (reduced cost) is not important to me because my company reimburses the cost of my essay, so I don't really care about the savings. They take several times longer to complete and I was a mess at the time that I finished that I did with a headache roaring through a large part of the review.

    That said - answering your question:

    1Z0-047 is a really complicated test. The questions and answers are designed to mislead. There is a reason for that. SQL, by its very nature, is a fairly simple language. Part of its appeal, is that it is easy to understand and write. If the people who wrote the essay was not gone to their best to make the deliberately convoluted SQL code, then it would not have required skills 'experts' to pass. It is much more difficult to read and diagnose poorly written SQL as well written SQL.

    I also took the test Application Express Expert: 1Z0-450. The questions that it were not written in a deliberately confusing manner. However, they had need intimate knowledge of the interface of the Apex. Because it was possible to write questions 'hard' without having to make them deliberately more obscure, the questions were simpler. I did not review SQL Tuning (as I said... no more betas for me), but I suspect that it will be similar to 1Z0-450 has enough information "at the level of experts" to write questions on that test will not attempt to write "hard" questions

    Is 'Oracle Certified Expert, Oracle Database 11g Release 2 SQL Tuning' too complicated for me.
    Because I don't have experience with the topics listed in the objectives, for the most part never heard talk about.

    Not sure what is in the test. This is excellent news. Student for the test will teach you a lot of new things about writing and tuning SQL. In my posts, a concept is repeated again and again. The value of certification is not make a piece of paper to stick in a workbook. The value comes to what new skills you gain in is about to pass the test. If you do not know the information and that you are not studying for the test, Yes, you will not pass. If you prepare for the test until you do understand the objectives, then you should be able to pass the test.

    What study guide?

    None does not yet exist. There is no doubt that I will write a review study guide. It won't be until some time after the test is in production. I do not publish guides for which I hold the certification. Do not wait for good. You can use the same exact source, I will use in his creation - the Oracle documentation. I guarantee you that all topics on the unique OE page and every single question that is under review are answered somewhere in the documentation.

  • SQL Tuning sets and SQL Tuning Advisor.

    Hello

    We run oracle11g r2 where under win server 2008 R2.

    How can I find out when Tuning SQL and SQL Tuning games advisors are enabled in my database.

    Is Oracle11g has default setting YES for this tuning packs

    Thank you

    It seems you found somone activated of sets and the setting of advisers.  as others have said, theyre part of the D & T and theyre always there but only, you become eligible for a permit after that you use.   This will tell you the first time they have been used if at all, the key here for you field be FIRST_USAGE_DATE that must be completed only if detected_usages > 0

    fixed lines 180

    Col name format a30

    SELECT name, version, detected_usages, FIRST_USAGE_DATE, last_usage_date

    of DBA_FEATURE_USAGE_STATISTICS

    where upper (NAME) like '% % TUNING '.

  • Wonder if I do 1z0-064 12 c perf and tuning instead of 11 g sql tuning?

    Hello

    Wonder if I do 1z0-064 12 c perf and tuning instead of 11 g sql tuning?

    I spent so much time studying from 11 g sql tuning.

    Basically, I used the book of oracle for it certification preparation.

    I don't have the funds that I used to.

    All thoughts.

    I guess there is a lot of overlap between 1z0 - 117 and 1z0 - 064.

    I wonder if Oracle will never provide 20% discount for 12 c perf and tuning.

    Did anyone will ever write a certification for this book.

    Thank you Roger

    user6862024 wrote:

    Wonder if I do 1z0-064 12 c perf and tuning instead of 11 g sql tuning?

    I wonder if Oracle will never provide 20% discount for 12 c perf and tuning.

    Oracle gives RARELY given to reviews.  They can provide a discount on a package bundled (say buy a certification exam voucher and they will dismiss a practical review of 1 of 2 certified vendors: Self Kaplan or transcend.).

    user6862024 wrote:

    Did anyone will ever write a certification for this book.

    Well, the main author who is not written of Oracle Press books, is Matthew Morris who wrote study guides specifically for the Oracle Certification exams.

    His site is here--> Prep of Oracle Certification

    And there you will see that a link for any study of his guide at the top right.

    And it also provides links to study materials to review you're looking for.  --> Oracle Certification Prep: details of the examination and resources in preparation for 1Z0 - 064

    Currently, it is NOT a guide for exam 1Z0-064, but it may be trying to write a.  I don't know that Matthew will respond as it usually check this subforum.

  • additional licenses set forth for the use of Sql Tuning Advisor in SQL Developer 4.0.3

    Hello

    We have the Oracle 11 g Enterprise Edition Release 11.2.0.3.0 database. Do we need to acquire an oracle license extra for using SQL Tuning Advisor Option in SQL Developer 4.0.3

    No, they are installed by default.

    They must be licensed.

    Consult your contract or talk to your account manager Oracle for clarification.

  • Exception ORA when accepting SQL Tuning Set

    Hello

    RDBMS version: 11.2.0.1.0 & 11.2.0.4.0

    OS: OEL 5 (64-bit)

    I am creating a SQL tuning set and get both to do exception below. Tried to search on the forums also with the exception of the ORA, but unable to get any resolution for this exception ORA.

    The following awards were made: -.

    GRANT CREATE ANY SQL PROFILE TO SCOTT;
    GRANT DROP ANY SQL PROFILE TO SCOTT;
    GRANT ALTER ANY SQL PROFILE TO SCOTT;
    GRANT ADVISOR TO SCOTT;
    GRANT ADMINISTER SQL MANAGEMENT OBJECT TO SCOTT;
    grant execute on dbms_spm to SCOTT;
    grant administer sql management object to SCOTT;
    
    

    DECLARE
      my_task_name VARCHAR2(30);
      my_sqltext CLOB;
      my_sqlprofile_name VARCHAR2(4000);
    BEGIN
      my_sqltext   := 'SELECT * FROM emp';
      my_task_name := DBMS_SQLTUNE.CREATE_TUNING_TASK(sql_text => my_sqltext, user_name => 'SCOTT', scope => 'COMPREHENSIVE', time_limit => 60, task_name => 'my_sql_tuning_task3', description => 'Demo Task to tune a query');
      DBMS_SQLTUNE.EXECUTE_TUNING_TASK( task_name => 'my_sql_tuning_task3');
      my_sqlprofile_name := DBMS_SQLTUNE.ACCEPT_SQL_PROFILE (task_name =>'my_sql_tuning_task3', name => 'my_sql_profile');   -- Culprit for the exception
      --dbms_output.put_line(my_sqlprofile_name);
    END;
    /
    
    Error report -
    ORA-13786: missing SQL text of statement object "1" for tuning task "my_sql_tuning_task3"
    ORA-06512: at "SYS.DBMS_SYS_ERROR", line 95
    ORA-06512: at "SYS.DBMS_SQLTUNE_INTERNAL", line 16255
    ORA-06512: at "SYS.PRVT_SQLPROF_INFRA", line 31
    ORA-06512: at "SYS.DBMS_SQLTUNE", line 7133
    ORA-06512: at line 4
    13786. 00000 -  "missing SQL text of statement object \"%s\" for tuning task \"%s\""
    *Cause:    The user attempted to accept SQL profile for an object
               that has not a SQL text associated to it.
    *Action:   Check the identifier of the object and retry the operation.
    
    
    

    Would be really grateful if someone could point me in the right direction here.

    TIA...

    Personally, I wouldn't bother with a task of setting.

    If you are lucky who will recommend a sql profile based on adjustments of cardinality which may or may not be effective.

    I would just use either the COE_XFR_SQL_PROFILE. SQL script SQLT ( doc-id 1487302.1Support) or use SQL Plan baseline to apply the previous execution plan. The latter has the advantage of being able to make an evolution controlled all plans potentially better which would otherwise be generated.

    You can choose the older, better plan AWR in the same database or a different database, and then transport it.

  • List of the SQL tuning sets without OEM

    Hello.

    I want to know what table is used to store the SQL tuning games/SQL tuning set names. I know that I can easily find the SQL tuning set OEM list, but I want to know about table/dynamic views.

    I Googled it but not able to find the table that stores the sql tuning set of tables.

    Thank you.

    B. Dave

    Try different words in google, I used and had to be included... in google...

    the value SQL tuning oracle dictionary tables

    Auto Tuning SQL

    • Information Advisor views, such as DBA_ADVISOR_TASKS , DBA_ADVISOR_EXECUTIONS , DBA_ADVISOR_FINDINGS , DBA_ADVISOR_RECOMMENDATIONS , and DBA_ADVISOR_RATIONALE views.
    • SQL tuning views of information, such as DBA_SQLTUNE_STATISTICS , DBA_SQLTUNE_BINDS , and DBA_SQLTUNE_PLANS views.
    • SQL Tuning Set views, such as DBA_SQLSET , DBA_SQLSET_BINDS , DBA_SQLSET_STATEMENTS , and DBA_SQLSET_REFERENCES views.
    • Information about captured execution plans for statements in SQL Tuning sets are displayed in the DBA_SQLSET_PLANS and USER_SQLSET_PLANS views.
    • SQL profile information is displayed in the DBA_SQL_PROFILES view. The TYPE parameter indicates if the SQL profile has been created manually by the SQL Setup Assistant (if TYPE = MANUAL ) or automatically by the auto tuning SQL (if TYPE = AUTO ).
    • Progress of enforcement Advisor information are displayed in the V$ADVISOR_PROGRESS view.
  • License required for "Automatic SQL Tuning Advisor"?

    I noticed a lot of databases in my company show using a component called "Automatic SQL Tuning Advisor" or "Automatic maintenance - Setup SQL" in DBA_FEATURE_USAGE_STATISTICS.

    Do we know if this component requires a License Pack Tuning or it could be one of the internal out-of-box/system uses that do not require a license?

    Thank you!

    I need a License Pack - Tuning

    Options and Packs

    MOS Doc ID 276103.1

    Best to check with your sales representative

  • SQL * Net questions - which forum?

    Does anyone know what forum manages SQL * Net questions?

    THX

    For general issues, it's probably as good a place to ask as any.

    If you have SQL * Net questions that are specific to a particular technology (i.e. how various options of TNS interact with different configurations of CARS), you probably want to ask in the forums dedicated to these products.

    Justin

Maybe you are looking for