PLAN of EXPLAIN used

Hello
on 9i
How can we find explain the plan already used for a query?
Thank you.

Yes, in 9i there is no sql_id. SQL_ID did not appear in the dictionary of data up to 10g.

Try with:

SELECT DECODE (id, 0, ",)
LPAD (' ', 2 *(level-1)). level: '. ' || position) | » '|| operation |
DECODE (id, 0, ",' Option: '). options of |
DECODE (id, 0, ", the name of the object: '). DECODE (id, 0, ", NVL (object_name, 'None')) |
DECODE (id, 0, ",' item number: '). Decode (ID, 0, ", NVL (to_char(Object#), 'None')) |
DECODE (id, 0,' cost = ' | position)
SQL_Query_plan
V $ sql_plan
CONNECT BY prior id = parent_id
AND address = upper('&&SQLADDRESS')
START WITH id = 0 AND address = upper('&&SQLADDRESS');

Currently, I have not all 9i db, so I can't tell you exactly, but I think you're going to tell me something like above, i.e. of the same my previous link. In the above query simply paste the address sql you want to know az7r9swp (without the quotes) as you do.

Concerning
Girish Sharma

Tags: Database

Similar Questions

  • How to make a Plan to explain on PL - SQL?

    Hey guys, it's Xev, I'm back with a whole new positive attitude . I am very happy now that I got my cluster (11.2) 2-node RAC 11 GR 2 installed and working properly

    I'm doing a plan to explain some pl - sql, I wrote, but I'm having a hard time trying to figure out how to make it work.

    The catplan.sql has been performed and I a plan_table ready and waiting for me.

    Here's the full code as well as the two tables table that I use, just as I'm supposed to display.

    This is the first table

    and Yes, I only want a single folder in there...

    CREATE TABLE FILLER

    ("DATA_PACKED" VARCHAR2 (75 BYTE)

    )

    Insert in FILLING (DATA_PACKED) values ('KICKKKKKKKKK');

    commit;

    Then at the top on the list is the table of the HAMMER, I will insert all the data once the pl/sql program runs...

    This table is supposed to be empty...

    CREATE TABLE HAMMER

    ('H1' VARCHAR2 (100 BYTE),

    "H2" VARCHAR2 (100 BYTE)

    )

    and now, the CODE... Now, it is a very small version of my load of GR 11, 2 test scripts that I wrote, but I need to see execution plan behind this logic.

    I can even make a plan to explain on this code, or do I have to use something else?

    ---------------------------------------------------------------------------------------------------------

    declare

    Table type is table of the varchar2 (30) index directory.

    Table Z_STUFF.

    Start

    Select * BULK COLLECT into Z_STUFF of filling;

    because me in 1... 100

    loop

    for zoo in 1... Z_STUFF. Count

    loop

    Insert into HAMMER (H1, H2)

    values (Z_STUFF (zoo), Z_STUFF (zoo));

    end loop;

    end loop;

    end;

    /

    ----------------------------------------------------------------------------------------------------

    All comments are welcome, I just need to see what makes this logic behind the scenes...

    Thank you

    Xev.

    A query plan refers to an SQL statement.  A PL/SQL block can have 0 or more SQL statements.  It is, therefore, unnecessary to speak to generate a query plan for a PL/SQL block.  Your PL/SQL block happens to contain two different SQL statements.  You might get two different query plans, one for each statement.  Given how trivial statements are, however, I'm not sure that query plans would give you a lot of information.

    What is the problem you're trying to solve?  If you try to set the PL/SQL, you probably want to look into various profilers of PL/SQL.  For example, the DBMS_PROFILER package or the package DBMS_HPROF.

    Justin

  • How keep the formatting of a plan to explain in the forum.

    Hi all

    I would like to know how to keep the formatting of a plan to explain in the new forum. I used to use {} code in the old forum, but it no longer works. I used '-' in the new forum, but apparently not worked either.

    An example would be greatly appreciated!

    Thank you very much.

    You can try to use the font "Courier New" for the explain plan command part. That would make it readable.

    HTH,

    Joy

  • filter (NULL IS NOT NULL) plan to explain?

    Hi all

    Can someone please explain what this explain plan statement means? I see a (NULL IS NOT NULL) filter as first statement - could not understand why it came so Googling.

    My query is used:
    EXPLAIN PLAN FOR
    MERGE INTO summary_bysrccd
    USING
    (SELECT LAST_DAY(TRUNC(to_timestamp(os.requestdatetime, 'yyyymmddhh24:mi:ss.ff4'))) AS SUMMARY_DATE,
    os.acctnum,
    ol.sourcecode AS sourcecode,
    ol.sourcename AS sourcename,
    count(1) cnt_articleview
    FROM article_views os , master_sourcecode ol
    where os.sourcecode = ol.sourcecode
    AND os.acctnum IS NOT NULL
    AND ol.sourcecode IS NOT NULL
    AND os.requestdatetime IS NOT NULL
    AND UPPER(os.success_ind) = 'S'
         AND (
              ('INCR'  = 'FULL'
              AND  (get_date_timestamp(os.requestdatetime) BETWEEN TO_DATE('23-AUG-2011 00:00:00','DD-MON-YYYY HH24:MI:SS') AND TO_DATE('27-AUG-2011 23:59:59','DD-MON-YYYY HH24:MI:SS')
              AND   os.entry_CreatedDate BETWEEN TO_DATE('22-AUG-2011 00:00:00','DD-MON-YYYY HH24:MI:SS') AND TO_DATE('28-AUG-2011 00:00:00','DD-MON-YYYY HH24:MI:SS')
              ))
              OR ('INCR' = 'FULL'
              AND os.entry_createddate BETWEEN TO_DATE('23-AUG-2011 00:00:00','DD-MON-YYYY HH24:MI:SS') AND TO_DATE('27-AUG-2011 23:59:59','DD-MON-YYYY HH24:MI:SS') )
         )
    group by LAST_DAY(TRUNC(to_timestamp(os.requestdatetime, 'yyyymmddhh24:mi:ss.ff4'))),
    os.acctnum,ol.sourcecode,ol.sourcename) mrg_query
    ON (ods_av_summary_bysrccd.acctnum = mrg_query.acctnum AND
    ods_av_summary_bysrccd.summary_date=mrg_query.summary_date AND
    ods_av_summary_bysrccd.sourcecode=mrg_query.sourcecode)
    WHEN NOT MATCHED THEN
    INSERT (SUMMARY_date,ACCTNUM,SOURCECODE,SOURCENAME,CNT_ARTICLEVIEW,ENTRY_LASTUPDATEDDATE)
    VALUES(mrg_query.summary_date,mrg_query.acctnum,mrg_query.sourcecode,mrg_query.sourcename,
    mrg_query.cnt_articleview,sysdate)
    WHEN MATCHED THEN
    UPDATE SET ods_av_summary_bysrccd.cnt_articleview=
    CASE WHEN NVL('INCR','INCR') = 'FULL' THEN mrg_query.cnt_articleview
    ELSE ods_av_summary_bysrccd.cnt_articleview+mrg_query.cnt_articleview
    END,
    ods_av_summary_bysrccd.entry_lastupdateddate=sysdate;
    My Plan to explain:
    SQL> select * from table(dbms_xplan.display);
    
    PLAN_TABLE_OUTPUT
    ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    Plan hash value: 268591246
    
    -----------------------------------------------------------------------------------------------------------------------------------------------
    | Id  | Operation                                 | Name                      | Rows  | Bytes |TempSpc| Cost (%CPU)| Time     | Pstart| Pstop |
    -----------------------------------------------------------------------------------------------------------------------------------------------
    |   0 | MERGE STATEMENT                           |                           |     1 |   456 |       |     3   (0)| 00:00:01 |       |       |
    |   1 |  MERGE                                    | ODS_AV_SUMMARY_BYSRCCD    |       |       |       |            |          |       |       |
    |   2 |   VIEW                                    |                           |       |       |       |            |          |       |       |
    |   3 |    NESTED LOOPS OUTER                     |                           |     1 |   417 |       |     3   (0)| 00:00:01 |       |       |
    |   4 |     VIEW                                  |                           |     1 |   360 |       |     5 (100)| 00:00:01 |       |       |
    |   5 |      SORT GROUP BY                        |                           |     1 |    73 |   595M|            |          |       |       |
    
    PLAN_TABLE_OUTPUT
    ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    |*  6 |       FILTER                              |                           |       |       |       |            |          |       |       |
    |*  7 |        HASH JOIN                          |                           |  6975K|   485M|  3944K| 17594   (1)| 00:03:32 |       |       |
    |   8 |         TABLE ACCESS FULL                 | ODS_MASTER_SOURCECODE     | 84021 |  2953K|       |   273   (1)| 00:00:04 |       |       |
    |*  9 |         TABLE ACCESS BY GLOBAL INDEX ROWID| ODS_ARTICLE_VIEWS         |  7007K|   247M|       |   826   (0)| 00:00:10 |    33 |    33 |
    |* 10 |          INDEX FULL SCAN                  | IDX_AV_ACCTNUM            |    25M|       |       |    26   (0)| 00:00:01 |       |       |
    |  11 |     TABLE ACCESS BY GLOBAL INDEX ROWID    | ODS_AV_SUMMARY_BYSRCCD    |     1 |    57 |       |     3   (0)| 00:00:01 | ROWID | ROWID |
    |* 12 |      INDEX UNIQUE SCAN                    | ODS_AV_SUMMARY_BYSRCCD_PK |     1 |       |       |     2   (0)| 00:00:01 |       |       |
    -----------------------------------------------------------------------------------------------------------------------------------------------
    
    Predicate Information (identified by operation id):
    ---------------------------------------------------
    
    PLAN_TABLE_OUTPUT
    ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    
       6 - filter(NULL IS NOT NULL)
       7 - access("OS"."SOURCECODE"="OL"."SOURCECODE")
       9 - filter("OS"."REQUESTDATETIME" IS NOT NULL AND "OS"."ENTRY_CREATEDDATE">=TO_DATE(' 2011-08-23 00:00:00', 'syyyy-mm-dd
                  hh24:mi:ss') AND "OS"."ENTRY_CREATEDDATE"<=TO_DATE(' 2011-08-27 23:59:59', 'syyyy-mm-dd hh24:mi:ss') AND UPPER("OS"."SUCCESS_IND")='S')
      10 - filter("OS"."ACCTNUM" IS NOT NULL)
      12 - access("ODS_AV_SUMMARY_BYSRCCD"."SUMMARY_DATE"(+)=INTERNAL_FUNCTION("MRG_QUERY"."SUMMARY_DATE") AND
                  "ODS_AV_SUMMARY_BYSRCCD"."ACCTNUM"(+)="MRG_QUERY"."ACCTNUM" AND "ODS_AV_SUMMARY_BYSRCCD"."SOURCECODE"(+)="MRG_QUERY"."SOURCECODE")
    
    Note
    -----
    
    PLAN_TABLE_OUTPUT
    ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
       - dynamic sampling used for this statement

    This filter appears usually when the CBO has found a conflict between your predicates WHERE clause and declarative constraints on the tables involved.

    For example, suppose that the EMP table had this constraint:

    CHECK(empno > 0)
    

    And you were to interrogate the EMP with this query:

    select *
    from emp
    where empno <  0
    

    You will find that the NULL value is NOT NULL filter in the execution plan.

  • Hello!  I want to take advantage of the Black Friday for student agreement. However, I already have a plan that ends in a few months. Can I cancel this plan and then use the agreement of Black Friday? Thank you!

    Hello!  I want to take advantage of the Black Friday for student agreement. However, I already have a plan that ends in a few months. Can I cancel this plan and then use the agreement of Black Friday? Thank you!

    Hello

    You will need to speak with sales of Adobe for the same thing.

    Contact us | Adobe

    Kind regards

    Sheena

  • What execution plan has been used?

    Hello

    I'm looking for what execution plan has been used for a SQL when it was run as part of batch in the night? 10gr 2 on ASM, 5.8 RHEL 64 bit.

    Best regards

    You use the Enterprise edition?  Are you a license to use the AWR?  If so, assuming that the query ran long enough to be captured in a snapshot of the CWA (which seems likely, if you are asked this question), DBA_HIST_SQL_PLAN will be the information in the plan and DBA_HIST_SQLSTAT will tell you the plan_hash_value (or values) that have been used for a particular SQL_ID in a particular SNAP_ID.  DBA_HIST_SNAPSHOT will tell you what SNAP_ID (or a set of snap_id) matches any time period you are interested in.

    Justin

  • plan_table is necessary so that a plan to explain?

    Hi, I noticed that a plan to explain to a query can be obtained by defining autotrace on. However, when I get a result of the autotrace, it shows no record in the plan_table table. I just want to check with others to ensure that it is clear that a plan_table table is not necessary to obtain a plan for a query to explain. I also noticed that when I hit the button explain plan in sql developer, there is no record in the plan_table table.

    arizona9952 wrote:
    Hi, I noticed that a plan to explain to a query can be obtained by defining autotrace on. However, when I get a result of the autotrace, it shows no record in the plan_table table. I just want to check with others to ensure that it is clear that a plan_table table is not necessary to obtain a plan for a query to explain. I also noticed that when I hit the button explain plan in sql developer, there is no record in the plan_table table.

    What is your version of sql developer? If it's 3.0 cancellations, then the developer sql lines after extraction of the plan for the display. If you must rely on the result Autotrace or Plan to explain tabs.

    Similar description below thread:
    Choose specific SQL Developer 2 plan_table +?

    Concerning
    Girish Sharma

  • Problem to create Plan to explain and use XML indexes. Please follow scenario...

    Hello

    Oracle - Oracle Database 11 g Enterprise Edition Release 11.2.0.2.0 - 64 bit Version

    I was able to reproduce the error like below:

    Run the following code to Schema1:
    CREATE TABLE TNAME1
    (
       DB_ID            VARCHAR2 (10 BYTE),
       DATA_ID          VARCHAR2 (10 BYTE),
       DATA_ID2         VARCHAR2 (10 BYTE),
       IDENTIFIER1      NUMBER (19) NOT NULL,
       ID1              NUMBER (10) NOT NULL,
       STATUS1          NUMBER (10) NOT NULL,
       TIME_STAMP       NUMBER (19) NOT NULL,
       OBJECT_ID        VARCHAR2 (40 BYTE) NOT NULL,
       OBJECT_NAME      VARCHAR2 (80 BYTE) NOT NULL,
       UNIQUE_ID        VARCHAR2 (255 BYTE),
       DATA_LIVE        CHAR (1 BYTE) NOT NULL,
       XML_MESSAGE      SYS.XMLTYPE,
       ID2              VARCHAR2 (255 BYTE) NOT NULL,
       FLAG1            CHAR (1 BYTE) NOT NULL,
       KEY1             VARCHAR2 (255 BYTE),
       HEADER1          VARCHAR2 (2000 BYTE) NOT NULL,
       VERSION2         VARCHAR2 (255 BYTE) NOT NULL,
       TYPE1            VARCHAR2 (15 BYTE),
       TIMESTAMP1   TIMESTAMP (6),
       SOURCE_NUMBER    NUMBER
    )
    XMLTYPE XML_MESSAGE STORE AS BINARY XML 
    PARTITION BY RANGE (TIMESTAMP1)
       (PARTITION MAX
           VALUES LESS THAN (MAXVALUE)
           )
    NOCOMPRESS
    NOCACHE
    ENABLE ROW MOVEMENT
    /
    
    
    
    begin
    app_utils.drop_parameter('TNAME1_PAR');
    end;
    
    
    
    BEGIN
    DBMS_XMLINDEX.REGISTERPARAMETER(
    'TNAME1_PAR',
    'PATH TABLE     TNAME1_RP_PT
                              PATHS (INCLUDE (            /abc:Msg/product/productType
                                                                    /abc:Msg/Products/Owner
      ) 
                                     NAMESPACE MAPPING (     xmlns:abc="Abc:Set"
                                                       ))
    ');
    END;
    /
    
    
    
    CREATE INDEX Indx_XPATH_TNAME1
       ON "TNAME1" (XML_MESSAGE)
       INDEXTYPE IS XDB.XMLINDEX PARAMETERS ( 'PARAM TNAME1_PAR' )
    local;
    Then in Schema2, create
    create synonym TNAME1 FOR SCHEMA1.TNAME1
    SCHEMA1:
    GRant All on TNAME1 to SCHEMA2
    Now to SCHEMA2, if we try:
    Explain Plan for 
    SELECT xmltype.getclobval (XML_MESSAGE)
    FROM TNAME1 t
    WHERE XMLEXISTS (
    'declare namespace abc="Abc:Set";  /abc:Msg/product/productType= ("1", "2") '
    PASSING XML_MESSAGE);
    WE GET-> ORA-00942: table or view does not exist
    While this works:
    Explain Plan for 
    SELECT xmltype.getclobval (XML_MESSAGE)
    FROM TNAME1 t
    - Please tell me, what is the reason behind this and how can I overcome it. Originally all is my point of view based on this condition to fail in another schema, and not not to pick up the XMLIndexes.

    Also
     SELECT * from DBA_XML_TAB_COLS WHERE TABLE_NAME like 'TNAME1';
    Output is as:
    OWNER | TABLE_NAME | COLUMN_NAME | XMLSCHEMA. SCHEMA_OWNER | ELEMENT_NAME | STORAGE_TYPE | ANYSCHEMA | RUN
    SCHEMA1 | TNAME1 |     XML_MESSAGE |          ||          || BINARY | DON'T | YES |
    SCHEMA1 | TNAME1 |     SYS_NC00025$ |          ||          || CLOB |     ||

    -Can I change AnySchema to YES to NO for - column_name = XML_MESSAGE? Maybe that will solve my problem.
    -SYS_NC00025$ is the XML Index, why not get all the values for ANYSCHEMA, RUN on it. What is causing the problem.


    Please suggest... Thank you...

    The problem sounds familiar. Please create a SR on http://support.oracle.com for this one.

  • File for a plan to explain html formatting.

    Hello

    I would like to create an html file formatting of an explain plan.
    Oracle 11.2.0.3 on Linux.

    I can't use DBMS_XPLAN. DISPLAY_PLAN because I get memory pointer information and and I can't put the statement_id.

    How can I do?

    user10931224 wrote:

    Hello

    I would like to create an html file formatting of an explain plan.
    Oracle 11.2.0.3 on Linux.

    I can't use DBMS_XPLAN. DISPLAY_PLAN because I get memory pointer information and and I can't put the statement_id.

    How can I do?

    SQL_ID lies within the AWR repository?

  • PLAN to EXPLAIN verbose output when you ask explain simple plan on SQL

    Hello. In short, I have two questions: first, inability to run EXPLAIN PLAN via SET AUTOTRACE ON EXPLAIN and second, extremely detailed output when I connect as SYSDBA to bypass the first issue.

    Thus, question number one:
    I am trying to obtain an EXPLAIN PLAN via SET AUTOTRACE ON EXPLAIN to a simple SQL query:
      1   select decode(rownum,1,'JAN', 2,'FEB',3,'MAR',4,'APR',5,'MAY',6,'JUN',7,'JUL',8,'AUG',9,'SEP',10,'OCT',11,'NOV',12,'DEC')
      2* from all_objects where rownum<13
    HR@XE> /
    
    DEC
    ---
    JAN
    FEB
    MAR
    APR
    MAY
    JUN
    JUL
    AUG
    SEP
    OCT
    NOV
    DEC
    
    12 rows selected.
    
    HR@XE> set autotrace on explain
    HR@XE> /
    
    DEC
    ---
    JAN
    FEB
    MAR
    APR
    MAY
    JUN
    JUL
    AUG
    SEP
    OCT
    NOV
    DEC
    
    12 rows selected.
    
    
    Execution Plan
    ----------------------------------------------------------
    ERROR:
    ORA-01039: insufficient privileges on underlying objects of the view
    So, first question, why I get this error? Object should be available to everyone, right?

    To work around this I connect as sysdba and get the second issue: the following extremely detailed output
    HR@XE> connect / as sysdba
    Connected.
    SYS@XE>  select decode(rownum,1,'JAN', 2,'FEB',3,'MAR',4,'APR',5,'MAY',6,'JUN',7,'JUL',8,'AUG',9,'SEP',10,'OCT',11,'NOV',12,'DEC')
      2  from all_objects where rownum<13;
    
    DEC
    ---
    JAN
    FEB
    MAR
    APR
    MAY
    JUN
    JUL
    AUG
    SEP
    OCT
    NOV
    DEC
    
    12 rows selected.
    
    SYS@XE> set autotrace on explain
    SYS@XE> /
    
    DEC
    ---
    JAN
    FEB
    MAR
    APR
    MAY
    JUN
    JUL
    AUG
    SEP
    OCT
    NOV
    DEC
    
    12 rows selected.
    
    
    Execution Plan
    ----------------------------------------------------------
    Plan hash value: 1291336664
    
    --------------------------------------------------------------------------------------------------------------
    | Id  | Operation                          | Name                    | Rows  | Bytes | Cost (%CPU)| Time     |
    --------------------------------------------------------------------------------------------------------------
    |   0 | SELECT STATEMENT                   |                         |    12 |  3240 |     5  (20)| 00:00:01 |
    |*  1 |  COUNT STOPKEY                     |                         |       |       |            |       |
    |*  2 |   FILTER                           |                         |       |       |            |       |
    |*  3 |    HASH JOIN                       |                         |    32 |  8640 |     5  (20)| 00:00:01 |
    |   4 |     INDEX FULL SCAN                | I_USER2                 |    49 |  1078 |     1   (0)| 00:00:01 |
    |*  5 |     HASH JOIN                      |                         |    32 |  5248 |     4  (25)| 00:00:01 |
    |   6 |      INDEX FULL SCAN               | I_USER2                 |    49 |   196 |     1   (0)| 00:00:01 |
    |*  7 |      TABLE ACCESS FULL             | OBJ$                    |    33 |  2640 |     2   (0)| 00:00:01 |
    |*  8 |    TABLE ACCESS BY INDEX ROWID     | IND$                    |     1 |     8 |     2   (0)| 00:00:01 |
    |*  9 |     INDEX UNIQUE SCAN              | I_IND1                  |     1 |       |     1   (0)| 00:00:01 |
    |* 10 |    HASH JOIN                       |                         |     1 |    24 |     3  (34)| 00:00:01 |
    |* 11 |     INDEX RANGE SCAN               | I_OBJAUTH1              |     1 |    11 |     2   (0)| 00:00:01 |
    |  12 |     FIXED TABLE FULL               | X$KZSRO                 |   100 |  1300 |     0   (0)| 00:00:01 |
    |* 13 |    FIXED TABLE FULL                | X$KZSPR                 |     1 |    26 |     0   (0)| 00:00:01 |
    |* 14 |    FIXED TABLE FULL                | X$KZSPR                 |     1 |    26 |     0   (0)| 00:00:01 |
    |  15 |    NESTED LOOPS                    |                         |       |       |            |       |
    |  16 |     NESTED LOOPS                   |                         |     1 |    73 |     6   (0)| 00:00:01 |
    |  17 |      NESTED LOOPS                  |                         |     1 |    63 |     4   (0)| 00:00:01 |
    |  18 |       NESTED LOOPS                 |                         |     1 |    52 |     3   (0)| 00:00:01 |
    |  19 |        MERGE JOIN CARTESIAN        |                         |     1 |    48 |     2   (0)| 00:00:01 |
    |* 20 |         INDEX RANGE SCAN           | I_OBJ5                  |     1 |    35 |     2   (0)| 00:00:01 |
    |  21 |         BUFFER SORT                |                         |   100 |  1300 |     0   (0)| 00:00:01 |
    |  22 |          FIXED TABLE FULL          | X$KZSRO                 |   100 |  1300 |     0   (0)| 00:00:01 |
    |* 23 |        INDEX RANGE SCAN            | I_USER2                 |     1 |     4 |     1   (0)| 00:00:01 |
    |* 24 |       INDEX RANGE SCAN             | I_OBJAUTH1              |     1 |    11 |     1   (0)| 00:00:01 |
    |* 25 |      INDEX RANGE SCAN              | I_DEPENDENCY1           |     4 |       |     1   (0)| 00:00:01 |
    |* 26 |     TABLE ACCESS BY INDEX ROWID    | DEPENDENCY$             |     1 |    10 |     2   (0)| 00:00:01 |
    |* 27 |    FIXED TABLE FULL                | X$KZSPR                 |     1 |    26 |     0   (0)| 00:00:01 |
    |* 28 |    HASH JOIN                       |                         |     1 |    24 |     3  (34)| 00:00:01 |
    |* 29 |     INDEX RANGE SCAN               | I_OBJAUTH1              |     1 |    11 |     2   (0)| 00:00:01 |
    |  30 |     FIXED TABLE FULL               | X$KZSRO                 |   100 |  1300 |     0   (0)| 00:00:01 |
    |* 31 |    FIXED TABLE FULL                | X$KZSPR                 |     1 |    26 |     0   (0)| 00:00:01 |
    |  32 |    NESTED LOOPS                    |                         |     2 |    48 |     2   (0)| 00:00:01 |
    |* 33 |     INDEX RANGE SCAN               | I_OBJAUTH1              |     1 |    11 |     2   (0)| 00:00:01 |
    |* 34 |     FIXED TABLE FULL               | X$KZSRO                 |     2 |    26 |     0   (0)| 00:00:01 |
    |  35 |    NESTED LOOPS                    |                         |     1 |    38 |     2   (0)| 00:00:01 |
    |  36 |     NESTED LOOPS                   |                         |     1 |    25 |     2   (0)| 00:00:01 |
    |* 37 |      TABLE ACCESS BY INDEX ROWID   | TRIGGER$                |     1 |    14 |     1   (0)| 00:00:01 |
    |* 38 |       INDEX UNIQUE SCAN            | I_TRIGGER2              |     1 |       |     0   (0)| 00:00:01 |
    |* 39 |      INDEX RANGE SCAN              | I_OBJAUTH1              |     1 |    11 |     1   (0)| 00:00:01 |
    |* 40 |     FIXED TABLE FULL               | X$KZSRO                 |     1 |    13 |     0   (0)| 00:00:01 |
    |* 41 |    FIXED TABLE FULL                | X$KZSPR                 |     1 |    26 |     0   (0)| 00:00:01 |
    |  42 |    NESTED LOOPS                    |                         |       |       |            |       |
    |  43 |     NESTED LOOPS                   |                         |     1 |    73 |     6   (0)| 00:00:01 |
    |  44 |      NESTED LOOPS                  |                         |     1 |    63 |     4   (0)| 00:00:01 |
    |  45 |       NESTED LOOPS                 |                         |     1 |    52 |     3   (0)| 00:00:01 |
    |  46 |        MERGE JOIN CARTESIAN        |                         |     1 |    48 |     2   (0)| 00:00:01 |
    |* 47 |         INDEX RANGE SCAN           | I_OBJ5                  |     1 |    35 |     2   (0)| 00:00:01 |
    |  48 |         BUFFER SORT                |                         |   100 |  1300 |     0   (0)| 00:00:01 |
    |  49 |          FIXED TABLE FULL          | X$KZSRO                 |   100 |  1300 |     0   (0)| 00:00:01 |
    |* 50 |        INDEX RANGE SCAN            | I_USER2                 |     1 |     4 |     1   (0)| 00:00:01 |
    |* 51 |       INDEX RANGE SCAN             | I_OBJAUTH1              |     1 |    11 |     1   (0)| 00:00:01 |
    |* 52 |      INDEX RANGE SCAN              | I_DEPENDENCY1           |     4 |       |     1   (0)| 00:00:01 |
    |* 53 |     TABLE ACCESS BY INDEX ROWID    | DEPENDENCY$             |     1 |    10 |     2   (0)| 00:00:01 |
    |* 54 |    FIXED TABLE FULL                | X$KZSPR                 |     1 |    26 |     0   (0)| 00:00:01 |
    |* 55 |    FIXED TABLE FULL                | X$KZSPR                 |     1 |    26 |     0   (0)| 00:00:01 |
    |* 56 |    FIXED TABLE FULL                | X$KZSPR                 |     1 |    26 |     0   (0)| 00:00:01 |
    |  57 |    NESTED LOOPS                    |                         |     2 |    68 |     2   (0)| 00:00:01 |
    |  58 |     NESTED LOOPS                   |                         |     1 |    21 |     2   (0)| 00:00:01 |
    |  59 |      TABLE ACCESS BY INDEX ROWID   | TABPART$                |     1 |    10 |     1   (0)| 00:00:01 |
    |* 60 |       INDEX UNIQUE SCAN            | I_TABPART_OBJ$          |     1 |       |     0   (0)| 00:00:01 |
    |* 61 |      INDEX RANGE SCAN              | I_OBJAUTH1              |     1 |    11 |     1   (0)| 00:00:01 |
    |* 62 |     FIXED TABLE FULL               | X$KZSRO                 |     2 |    26 |     0   (0)| 00:00:01 |
    |* 63 |    FIXED TABLE FULL                | X$KZSPR                 |     1 |    26 |     0   (0)| 00:00:01 |
    |* 64 |    FIXED TABLE FULL                | X$KZSPR                 |     1 |    26 |     0   (0)| 00:00:01 |
    |* 65 |    FIXED TABLE FULL                | X$KZSPR                 |     1 |    26 |     0   (0)| 00:00:01 |
    |* 66 |    FIXED TABLE FULL                | X$KZSPR                 |     1 |    26 |     0   (0)| 00:00:01 |
    |* 67 |    FIXED TABLE FULL                | X$KZSPR                 |     1 |    26 |     0   (0)| 00:00:01 |
    |* 68 |    FIXED TABLE FULL                | X$KZSPR                 |     1 |    26 |     0   (0)| 00:00:01 |
    |* 69 |    FIXED TABLE FULL                | X$KZSPR                 |     1 |    26 |     0   (0)| 00:00:01 |
    |* 70 |    FIXED TABLE FULL                | X$KZSPR                 |     1 |    26 |     0   (0)| 00:00:01 |
    |* 71 |    FIXED TABLE FULL                | X$KZSPR                 |     1 |    26 |     0   (0)| 00:00:01 |
    |* 72 |    FIXED TABLE FULL                | X$KZSPR                 |     1 |    26 |     0   (0)| 00:00:01 |
    |* 73 |    FIXED TABLE FULL                | X$KZSPR                 |     1 |    26 |     0   (0)| 00:00:01 |
    |* 74 |    FIXED TABLE FULL                | X$KZSPR                 |     1 |    26 |     0   (0)| 00:00:01 |
    |  75 |    VIEW                            |                         |     1 |    13 |     2   (0)| 00:00:01 |
    |  76 |     FAST DUAL                      |                         |     1 |       |     2   (0)| 00:00:01 |
    |* 77 |    FIXED TABLE FULL                | X$KZSPR                 |     1 |    26 |     0   (0)| 00:00:01 |
    |* 78 |    FIXED TABLE FULL                | X$KZSPR                 |     1 |    26 |     0   (0)| 00:00:01 |
    |* 79 |    FIXED TABLE FULL                | X$KZSPR                 |     1 |    26 |     0   (0)| 00:00:01 |
    |* 80 |    FIXED TABLE FULL                | X$KZSPR                 |     1 |    26 |     0   (0)| 00:00:01 |
    |* 81 |    FIXED TABLE FULL                | X$KZSPR                 |     1 |    26 |     0   (0)| 00:00:01 |
    |* 82 |    FIXED TABLE FULL                | X$KZSPR                 |     1 |    26 |     0   (0)| 00:00:01 |
    |  83 |    NESTED LOOPS                    |                         |     2 |    42 |     2   (0)| 00:00:01 |
    |* 84 |     INDEX RANGE SCAN               | I_OBJAUTH1              |     1 |     8 |     2   (0)| 00:00:01 |
    |* 85 |     FIXED TABLE FULL               | X$KZSRO                 |     2 |    26 |     0   (0)| 00:00:01 |
    |* 86 |    FIXED TABLE FULL                | X$KZSPR                 |     1 |    26 |     0   (0)| 00:00:01 |
    |  87 |    NESTED LOOPS                    |                         |     2 |    42 |     2   (0)| 00:00:01 |
    |* 88 |     INDEX RANGE SCAN               | I_OBJAUTH1              |     1 |     8 |     2   (0)| 00:00:01 |
    |* 89 |     FIXED TABLE FULL               | X$KZSRO                 |     2 |    26 |     0   (0)| 00:00:01 |
    |* 90 |      FIXED TABLE FULL              | X$KZSPR                 |     1 |    26 |     0   (0)| 00:00:01 |
    |  91 |    VIEW                            |                         |     1 |    16 |     1   (0)| 00:00:01 |
    |  92 |     SORT GROUP BY                  |                         |     1 |    86 |     1   (0)| 00:00:01 |
    |  93 |      NESTED LOOPS                  |                         |     1 |    86 |     1   (0)| 00:00:01 |
    |  94 |       MERGE JOIN CARTESIAN         |                         |     1 |    78 |     0   (0)| 00:00:01 |
    |  95 |        NESTED LOOPS                |                         |     1 |    65 |     0   (0)| 00:00:01 |
    |* 96 |         INDEX UNIQUE SCAN          | I_OLAP_CUBES$           |     1 |    13 |     0   (0)| 00:00:01 |
    |* 97 |         TABLE ACCESS BY INDEX ROWID| OLAP_DIMENSIONALITY$    |     1 |    52 |     0   (0)| 00:00:01 |
    |* 98 |          INDEX RANGE SCAN          | I_OLAP_DIMENSIONALITY$  |     1 |       |     0   (0)| 00:00:01 |
    |  99 |        BUFFER SORT                 |                         |     1 |    13 |     0   (0)| 00:00:01 |
    | 100 |         INDEX FULL SCAN            | I_OLAP_CUBE_DIMENSIONS$ |     1 |    13 |     0   (0)| 00:00:01 |
    |*101 |       INDEX RANGE SCAN             | I_OBJ1                  |     1 |     8 |     1   (0)| 00:00:01 |
    | 102 |    NESTED LOOPS                    |                         |     1 |    30 |     2   (0)| 00:00:01 |
    |*103 |     INDEX SKIP SCAN                | I_USER2                 |     1 |    20 |     1   (0)| 00:00:01 |
    |*104 |     INDEX RANGE SCAN               | I_OBJ4                  |     1 |    10 |     1   (0)| 00:00:01 |
    --------------------------------------------------------------------------------------------------------------
    
    Predicate Information (identified by operation id):
    ---------------------------------------------------
    
       1 - filter(ROWNUM<13)
       2 - filter(("O"."TYPE#"<>1 AND "O"."TYPE#"<>10 OR "O"."TYPE#"=1 AND  (SELECT 1 FROM "SYS"."IND$"
                  "I" WHERE "I"."OBJ#"=:B1 AND ("I"."TYPE#"=1 OR "I"."TYPE#"=2 OR "I"."TYPE#"=3 OR "I"."TYPE#"=4 OR
                  "I"."TYPE#"=6 OR "I"."TYPE#"=7 OR "I"."TYPE#"=9))=1) AND (("O"."SPARE3"=USERENV('SCHEMAID') OR
                  "O"."SPARE3"=1) OR "O"."TYPE#"=13 AND ( EXISTS (SELECT 0 FROM "SYS"."OBJAUTH$" "OA",SYS."X$KZSRO"
                  "X$KZSRO" WHERE "OA"."GRANTEE#"="KZSROROL" AND "OA"."OBJ#"=:B2 AND ("OA"."PRIVILEGE#"=12 OR
                  "OA"."PRIVILEGE#"=26)) OR  EXISTS (SELECT 0 FROM SYS."X$KZSPR" "X$KZSPR" WHERE
                  "INST_ID"=USERENV('INSTANCE') AND ((-"KZSPRPRV")=(-184) OR (-"KZSPRPRV")=(-181) OR
                  (-"KZSPRPRV")=(-241)))) OR ("O"."TYPE#"=1 OR "O"."TYPE#"=2 OR "O"."TYPE#"=3 OR "O"."TYPE#"=4 OR
                  "O"."TYPE#"=5 OR "O"."TYPE#"=19 OR "O"."TYPE#"=20 OR "O"."TYPE#"=34 OR "O"."TYPE#"=35) AND  EXISTS
                  (SELECT 0 FROM SYS."X$KZSPR" "X$KZSPR" WHERE "INST_ID"=USERENV('INSTANCE') AND ((-"KZSPRPRV")=(-45)
                  OR (-"KZSPRPRV")=(-47) OR (-"KZSPRPRV")=(-48) OR (-"KZSPRPRV")=(-49) OR (-"KZSPRPRV")=(-50))) OR
                  "O"."TYPE#"=11 AND ( EXISTS (SELECT 0 FROM "SYS"."OBJAUTH$" "OA","SYS"."DEPENDENCY$"
                  "DEP",SYS."USER$" "U",SYS."OBJ$" "O",SYS."X$KZSRO" "X$KZSRO" WHERE "O"."NAME"=:B3 AND
                  "O"."SPARE3"=:B4 AND "O"."TYPE#"=9 AND "O"."TYPE#"<>88 AND "O"."OWNER#"="U"."USER#" AND
                  "DEP"."D_OBJ#"=:B5 AND "DEP"."P_OBJ#"="O"."OBJ#" AND "OA"."OBJ#"="O"."OBJ#" AND "OA"."PRIVILEGE#"=26
                  AND "OA"."GRANTEE#"="KZSROROL") OR  EXISTS (SELECT 0 FROM SYS."X$KZSPR" "X$KZSPR" WHERE
                  ((-"KZSPRPRV")=(-141) OR (-"KZSPRPRV")=(-241)) AND "INST_ID"=USERENV('INSTANCE'))) OR ("O"."TYPE#"=7
                  OR "O"."TYPE#"=8 OR "O"."TYPE#"=9 OR "O"."TYPE#"=28 OR "O"."TYPE#"=29 OR "O"."TYPE#"=30 OR
                  "O"."TYPE#"=56) AND ( EXISTS (SELECT 0 FROM "SYS"."OBJAUTH$" "OA",SYS."X$KZSRO" "X$KZSRO" WHERE
                  "OA"."GRANTEE#"="KZSROROL" AND "OA"."OBJ#"=:B6 AND ("OA"."PRIVILEGE#"=12 OR "OA"."PRIVILEGE#"=26)) OR
                   EXISTS (SELECT 0 FROM SYS."X$KZSPR" "X$KZSPR" WHERE "INST_ID"=USERENV('INSTANCE') AND
                  ((-"KZSPRPRV")=(-144) OR (-"KZSPRPRV")=(-141) OR (-"KZSPRPRV")=(-241)))) OR "O"."TYPE#"<>14 AND
                  "O"."TYPE#"<>28 AND "O"."TYPE#"<>29 AND "O"."TYPE#"<>30 AND "O"."TYPE#"<>56 AND "O"."TYPE#"<>93 AND
                  "O"."TYPE#"<>7 AND "O"."TYPE#"<>8 AND "O"."TYPE#"<>9 AND "O"."TYPE#"<>11 AND "O"."TYPE#"<>12 AND
                  "O"."TYPE#"<>13 AND  EXISTS (SELECT 0 FROM "SYS"."OBJAUTH$" "OBJAUTH$",SYS."X$KZSRO" "X$KZSRO" WHERE
                  "GRANTEE#"="KZSROROL" AND "OBJ#"=:B7 AND ("PRIVILEGE#"=3 OR "PRIVILEGE#"=6 OR "PRIVILEGE#"=7 OR
                  "PRIVILEGE#"=9 OR "PRIVILEGE#"=10 OR "PRIVILEGE#"=11 OR "PRIVILEGE#"=12 OR "PRIVILEGE#"=16 OR
                  "PRIVILEGE#"=17 OR "PRIVILEGE#"=18)) OR "O"."TYPE#"=12 AND ( EXISTS (SELECT 0 FROM "SYS"."OBJAUTH$"
                  "OA","SYS"."TRIGGER$" "T",SYS."X$KZSRO" "X$KZSRO" WHERE "OA"."GRANTEE#"="KZSROROL" AND "T"."OBJ#"=:B8
                  AND BITAND("T"."PROPERTY",24)=0 AND "OA"."OBJ#"="T"."BASEOBJECT" AND "OA"."PRIVILEGE#"=26) OR  EXISTS
                  (SELECT 0 FROM SYS."X$KZSPR" "X$KZSPR" WHERE ((-"KZSPRPRV")=(-152) OR (-"KZSPRPRV")=(-241)) AND
                  "INST_ID"=USERENV('INSTANCE'))) OR "O"."TYPE#"=14 AND ( EXISTS (SELECT 0 FROM "SYS"."OBJAUTH$"
                  "OA","SYS"."DEPENDENCY$" "DEP",SYS."USER$" "U",SYS."OBJ$" "O",SYS."X$KZSRO" "X$KZSRO" WHERE
                  "O"."NAME"=:B9 AND "O"."SPARE3"=:B10 AND "O"."TYPE#"=13 AND "O"."TYPE#"<>88 AND
                  "O"."OWNER#"="U"."USER#" AND "DEP"."D_OBJ#"=:B11 AND "DEP"."P_OBJ#"="O"."OBJ#" AND
                  "OA"."OBJ#"="O"."OBJ#" AND "OA"."PRIVILEGE#"=26 AND "OA"."GRANTEE#"="KZSROROL") OR  EXISTS (SELECT 0
                  FROM SYS."X$KZSPR" "X$KZSPR" WHERE ((-"KZSPRPRV")=(-181) OR (-"KZSPRPRV")=(-241)) AND
                  "INST_ID"=USERENV('INSTANCE'))) OR ("O"."TYPE#"=66 OR "O"."TYPE#"=100) AND  EXISTS (SELECT 0 FROM
                  SYS."X$KZSPR" "X$KZSPR" WHERE (-"KZSPRPRV")=(-265) AND "INST_ID"=USERENV('INSTANCE')) OR
                  ("O"."TYPE#"=67 OR "O"."TYPE#"=79) AND  EXISTS (SELECT 0 FROM SYS."X$KZSPR" "X$KZSPR" WHERE
                  ((-"KZSPRPRV")=(-265) OR (-"KZSPRPRV")=(-266)) AND "INST_ID"=USERENV('INSTANCE')) OR "O"."TYPE#"=19
                  AND  EXISTS (SELECT 0 FROM SYS."TABPART$" "TABPART$","SYS"."OBJAUTH$" "OBJAUTH$",SYS."X$KZSRO"
                  "X$KZSRO" WHERE "GRANTEE#"="KZSROROL" AND "BO#"="OBJ#" A)
       3 - access("O"."OWNER#"="U"."USER#")
       5 - access("O"."SPARE3"="U"."USER#")
       7 - filter("O"."NAME"<>'_NEXT_OBJECT' AND "O"."NAME"<>'_default_auditing_options_' AND
                  BITAND("O"."FLAGS",128)=0 AND "O"."LINKNAME" IS NULL)
       8 - filter("I"."TYPE#"=1 OR "I"."TYPE#"=2 OR "I"."TYPE#"=3 OR "I"."TYPE#"=4 OR "I"."TYPE#"=6 OR
                  "I"."TYPE#"=7 OR "I"."TYPE#"=9)
       9 - access("I"."OBJ#"=:B1)
      10 - access("OA"."GRANTEE#"="KZSROROL")
      11 - access("OA"."OBJ#"=:B1)
           filter("OA"."PRIVILEGE#"=12 OR "OA"."PRIVILEGE#"=26)
      13 - filter("INST_ID"=USERENV('INSTANCE') AND ((-"KZSPRPRV")=(-184) OR (-"KZSPRPRV")=(-181) OR
                  (-"KZSPRPRV")=(-241)))
      14 - filter("INST_ID"=USERENV('INSTANCE') AND ((-"KZSPRPRV")=(-45) OR (-"KZSPRPRV")=(-47) OR
                  (-"KZSPRPRV")=(-48) OR (-"KZSPRPRV")=(-49) OR (-"KZSPRPRV")=(-50)))
      20 - access("O"."SPARE3"=:B1 AND "O"."NAME"=:B2 AND "O"."TYPE#"=9)
           filter("O"."TYPE#"=9 AND "O"."TYPE#"<>88)
      23 - access("O"."OWNER#"="U"."USER#")
      24 - access("OA"."OBJ#"="O"."OBJ#" AND "OA"."GRANTEE#"="KZSROROL" AND "OA"."PRIVILEGE#"=26)
           filter("OA"."PRIVILEGE#"=26 AND "OA"."GRANTEE#"="KZSROROL")
      25 - access("DEP"."D_OBJ#"=:B1)
      26 - filter("DEP"."P_OBJ#"="O"."OBJ#")
      27 - filter(((-"KZSPRPRV")=(-141) OR (-"KZSPRPRV")=(-241)) AND "INST_ID"=USERENV('INSTANCE'))
      28 - access("OA"."GRANTEE#"="KZSROROL")
      29 - access("OA"."OBJ#"=:B1)
           filter("OA"."PRIVILEGE#"=12 OR "OA"."PRIVILEGE#"=26)
      31 - filter("INST_ID"=USERENV('INSTANCE') AND ((-"KZSPRPRV")=(-144) OR (-"KZSPRPRV")=(-141) OR
                  (-"KZSPRPRV")=(-241)))
      33 - access("OBJ#"=:B1)
           filter("PRIVILEGE#"=3 OR "PRIVILEGE#"=6 OR "PRIVILEGE#"=7 OR "PRIVILEGE#"=9 OR "PRIVILEGE#"=10
                  OR "PRIVILEGE#"=11 OR "PRIVILEGE#"=12 OR "PRIVILEGE#"=16 OR "PRIVILEGE#"=17 OR "PRIVILEGE#"=18)
      34 - filter("GRANTEE#"="KZSROROL")
      37 - filter(BITAND("T"."PROPERTY",24)=0)
      38 - access("T"."OBJ#"=:B1)
      39 - access("OA"."OBJ#"="T"."BASEOBJECT" AND "OA"."PRIVILEGE#"=26)
           filter("OA"."PRIVILEGE#"=26)
      40 - filter("OA"."GRANTEE#"="KZSROROL")
      41 - filter(((-"KZSPRPRV")=(-152) OR (-"KZSPRPRV")=(-241)) AND "INST_ID"=USERENV('INSTANCE'))
      47 - access("O"."SPARE3"=:B1 AND "O"."NAME"=:B2 AND "O"."TYPE#"=13)
           filter("O"."TYPE#"=13 AND "O"."TYPE#"<>88)
      50 - access("O"."OWNER#"="U"."USER#")
      51 - access("OA"."OBJ#"="O"."OBJ#" AND "OA"."GRANTEE#"="KZSROROL" AND "OA"."PRIVILEGE#"=26)
           filter("OA"."PRIVILEGE#"=26 AND "OA"."GRANTEE#"="KZSROROL")
      52 - access("DEP"."D_OBJ#"=:B1)
      53 - filter("DEP"."P_OBJ#"="O"."OBJ#")
      54 - filter(((-"KZSPRPRV")=(-181) OR (-"KZSPRPRV")=(-241)) AND "INST_ID"=USERENV('INSTANCE'))
      55 - filter((-"KZSPRPRV")=(-265) AND "INST_ID"=USERENV('INSTANCE'))
      56 - filter(((-"KZSPRPRV")=(-265) OR (-"KZSPRPRV")=(-266)) AND "INST_ID"=USERENV('INSTANCE'))
      60 - access("OBJ#"=:B1)
      61 - access("BO#"="OBJ#" AND "PRIVILEGE#"=9)
           filter("PRIVILEGE#"=9)
      62 - filter("GRANTEE#"="KZSROROL")
      63 - filter("INST_ID"=USERENV('INSTANCE') AND ((-"KZSPRPRV")=(-189) OR (-"KZSPRPRV")=(-190) OR
                  (-"KZSPRPRV")=(-191) OR (-"KZSPRPRV")=(-192)))
      64 - filter((-"KZSPRPRV")=(-109) AND "INST_ID"=USERENV('INSTANCE'))
      65 - filter(((-"KZSPRPRV")=(-177) OR (-"KZSPRPRV")=(-178)) AND "INST_ID"=USERENV('INSTANCE'))
      66 - filter("INST_ID"=USERENV('INSTANCE') AND ((-"KZSPRPRV")=(-45) OR (-"KZSPRPRV")=(-47) OR
                  (-"KZSPRPRV")=(-48) OR (-"KZSPRPRV")=(-49) OR (-"KZSPRPRV")=(-50)))
      67 - filter("INST_ID"=USERENV('INSTANCE') AND ((-"KZSPRPRV")=(-205) OR (-"KZSPRPRV")=(-206) OR
                  (-"KZSPRPRV")=(-207) OR (-"KZSPRPRV")=(-208)))
      68 - filter("INST_ID"=USERENV('INSTANCE') AND ((-"KZSPRPRV")=(-200) OR (-"KZSPRPRV")=(-201) OR
                  (-"KZSPRPRV")=(-202) OR (-"KZSPRPRV")=(-203) OR (-"KZSPRPRV")=(-204)))
      69 - filter(((-"KZSPRPRV")=(-222) OR (-"KZSPRPRV")=(-223)) AND "INST_ID"=USERENV('INSTANCE'))
      70 - filter((-"KZSPRPRV")=12 AND "INST_ID"=USERENV('INSTANCE'))
      71 - filter("INST_ID"=USERENV('INSTANCE') AND ((-"KZSPRPRV")=(-251) OR (-"KZSPRPRV")=(-252) OR
                  (-"KZSPRPRV")=(-253) OR (-"KZSPRPRV")=(-254)))
      72 - filter("INST_ID"=USERENV('INSTANCE') AND ((-"KZSPRPRV")=(-258) OR (-"KZSPRPRV")=(-259) OR
                  (-"KZSPRPRV")=(-260) OR (-"KZSPRPRV")=(-261)))
      73 - filter("INST_ID"=USERENV('INSTANCE') AND ((-"KZSPRPRV")=(-246) OR (-"KZSPRPRV")=(-247) OR
                  (-"KZSPRPRV")=(-248) OR (-"KZSPRPRV")=(-249)))
      74 - filter(((-"KZSPRPRV")=(-268) OR (-"KZSPRPRV")=(-267)) AND "INST_ID"=USERENV('INSTANCE'))
      77 - filter(((-"KZSPRPRV")=(-277) OR (-"KZSPRPRV")=(-278)) AND "INST_ID"=USERENV('INSTANCE'))
      78 - filter("INST_ID"=USERENV('INSTANCE') AND ((-"KZSPRPRV")=(-292) OR (-"KZSPRPRV")=(-293) OR
                  (-"KZSPRPRV")=(-294)))
      79 - filter("INST_ID"=USERENV('INSTANCE') AND ((-"KZSPRPRV")=(-282) OR (-"KZSPRPRV")=(-283) OR
                  (-"KZSPRPRV")=(-284) OR (-"KZSPRPRV")=(-285)))
      80 - filter("INST_ID"=USERENV('INSTANCE') AND ((-"KZSPRPRV")=(-302) OR (-"KZSPRPRV")=(-303) OR
                  (-"KZSPRPRV")=(-304) OR (-"KZSPRPRV")=(-305) OR (-"KZSPRPRV")=(-306) OR (-"KZSPRPRV")=(-307)))
      81 - filter("INST_ID"=USERENV('INSTANCE') AND ((-"KZSPRPRV")=(-315) OR (-"KZSPRPRV")=(-316) OR
                  (-"KZSPRPRV")=(-317) OR (-"KZSPRPRV")=(-318)))
      82 - filter("INST_ID"=USERENV('INSTANCE') AND ((-"KZSPRPRV")=(-320) OR (-"KZSPRPRV")=(-321) OR
                  (-"KZSPRPRV")=(-322)))
      84 - access("OBJ#"=:B1)
      85 - filter("GRANTEE#"="KZSROROL")
      86 - filter("INST_ID"=USERENV('INSTANCE') AND ((-"KZSPRPRV")=(-309) OR (-"KZSPRPRV")=(-310) OR
                  (-"KZSPRPRV")=(-311) OR (-"KZSPRPRV")=(-312) OR (-"KZSPRPRV")=(-313)))
      88 - access("OBJ#"=:B1)
      89 - filter("GRANTEE#"="KZSROROL")
      90 - filter("INST_ID"=USERENV('INSTANCE') AND ((-"KZSPRPRV")=(-302) OR (-"KZSPRPRV")=(-303) OR
                  (-"KZSPRPRV")=(-304) OR (-"KZSPRPRV")=(-305) OR (-"KZSPRPRV")=(-306) OR (-"KZSPRPRV")=(-307)))
      96 - access("C"."OBJ#"=:B1)
      97 - filter("DIML"."DIMENSION_TYPE"=11)
      98 - access("DIML"."DIMENSIONED_OBJECT_ID"=:B1 AND "DIML"."DIMENSIONED_OBJECT_TYPE"=1)
     101 - access("DIML"."DIMENSION_ID"="DO"."OBJ#")
           filter("DO"."OBJ#"="DIM"."OBJ#")
     103 - access("U2"."TYPE#"=2 AND "U2"."SPARE2"=TO_NUMBER(SYS_CONTEXT('userenv','current_edition_id')))
           filter("U2"."TYPE#"=2 AND "U2"."SPARE2"=TO_NUMBER(SYS_CONTEXT('userenv','current_edition_id')))
     104 - access("O2"."DATAOBJ#"=:B1 AND "O2"."TYPE#"=88 AND "O2"."OWNER#"="U2"."USER#")
    
    SYS@XE>
    Thanks in advance.
    Jason

    Welcome to the forum!

    Every time you post please provide your Oracle Version 4-digit (result of SELECT * FROM V$ VERSION).
    >
    So, first question, why I get this error? Object should be available to everyone, right?
    >
    Your username may have access to object. But you must have dba privileges to access the objects of database views.

    The "ORA-01039: insufficient privileges on the underlying objects of the view" message tells you that the user has privileges to access the BASIC OBJECTS used to generate the view. Access to these basic objects is necessary to generate the plan you want to see. To work around this, I connect as sysdba and get the second question: the following extremely verbose output
    >
    And that's because sysdba has access to objects in the view database. You asked for a plan, and you guessed it. This verbose output IS the plan and all those that oddly named tables are presented in order to satisfy your request are included in the plan.

    Make your query using DUAL citizenship or SCOTT. Table EMP and you will not get the error.

  • difference between the execution plan and explain the plan?

    What is the difference between the execution plan & explain the plan?

    an execution plan is the actual steps that oracle will pass by when it executes a query.

    explain plan is a tool that is used to generate the steps of an execution plan for a query.

  • I have the following plan to explain, but I don't know how interperent it

    Hello all;

    I have the explain plan following below obtained pl/sql developer, but I don't know how to interperent or use it for my performance problem
    PLAN_TABLE_OUTPUT          
               
    ----------------------------------------------------------------------------------------          
    | Id  | Operation                       |  Name                | Rows  | Bytes | Cost  |          
    ----------------------------------------------------------------------------------------          
    |   0 | SELECT STATEMENT                |                      |     1 |   108 |   932 |          
    |   1 |  SORT GROUP BY                  |                      |     1 |   108 |   932 |          
    |*  2 |   TABLE ACCESS BY INDEX ROWID   | OPERATION            |     1 |    34 |    12 |          
    |   3 |    NESTED LOOPS                 |                      |     1 |   108 |   929 |          
    |   4 |     NESTED LOOPS                |                      |     1 |    74 |   917 |          
    |*  5 |      HASH JOIN                  |                      |     1 |    60 |   916 |          
    |*  6 |       TABLE ACCESS FULL         | WORK_ORDER           |  1302 | 46872 |   787 |          
    |*  7 |       TABLE ACCESS FULL         | SERIALIZATION_TRACE  |   129K|  3044K|   123 |          
    |*  8 |      TABLE ACCESS BY INDEX ROWID| PART                 |     1 |    14 |     1 |          
    |*  9 |       INDEX UNIQUE SCAN         | SYS_C004302          |     1 |       |       |          
    |* 10 |     INDEX RANGE SCAN            | RCLX_OPERATION_3     |     1 |       |    11 |          
    ----------------------------------------------------------------------------------------          
               
    Predicate Information (identified by operation id):          
    ---------------------------------------------------          
               
       2 - filter("O"."RESOURCE_ID" LIKE 'TEST%')          
       5 - access("W"."BASE_ID"="PT"."WORKORDER_BASE_ID" AND           
                  "W"."LOT_ID"="PT"."WORKORDER_LOT_ID" AND "W"."SPLIT_ID"="PT"."WORKORDER_SPLIT_ID" AND 
                  "W"."SUB_ID"="PT"."WORKORDER_SUB_ID")          
       6 - filter("W"."TYPE"='W' AND "W"."PART_ID" IS NOT NULL AND "W"."PART_ID"<>'RMA' AND           
                  "W"."PART_ID"<>'REWORK' AND "W"."CLOSE_DATE">=TO_DATE('2010-01-01 00:00:00',           
                  'yyyy-mm-dd hh24:mi:ss') AND "W"."CLOSE_DATE"<=TO_DATE('2010-12-31 00:00:00',           
                  'yyyy-mm-dd hh24:mi:ss'))          
       7 - filter("PT"."SERIAL_NUMBER"<>'N/A')          
       8 - filter("P"."PLANNER_USER_ID"='CCA')          
       9 - access("W"."PART_ID"="P"."ID")          
           filter("P"."ID"<>'RMA' AND "P"."ID"<>'REWORK')          
      10 - access("W"."SUB_ID"="O"."WORKORDER_SUB_ID" AND           
                  "W"."BASE_ID"="O"."WORKORDER_BASE_ID" AND "W"."LOT_ID"="O"."WORKORDER_LOT_ID" AND 
                  "W"."SPLIT_ID"="O"."WORKORDER_SPLIT_ID")          
           filter("W"."BASE_ID"="O"."WORKORDER_BASE_ID" AND           
                  "W"."LOT_ID"="O"."WORKORDER_LOT_ID" AND "W"."SPLIT_ID"="O"."WORKORDER_SPLIT_ID")     
               
    Note: cpu costing is off          
              

    Here are a few slides that I use when I present to you how to read explain plans:
    http://www.morganslibrary.org/Pres/lad/cloug_1_xplan.PDF

    |*  6 |        TABLE ACCESS FULL         | WORK_ORDER           |  1302 | 46872 |   787 |
    |*  7 |       TABLE ACCESS FULL         | SERIALIZATION_TRACE  |   129K|  3044K|   123 |
    

    Essentially, your question is here. you read a lot of lines to return alone. Do you need them all? To get them you do full table scan on the two tables? An index would help?

    and yes I am voluntarily is not giving you the answers but rather to point you in the right direction to find it yourself.

    On the one hand, I don't know your version, your SQL, or what indexes exist.

  • What Plan to explain is better?

    Dear Experts

    I have a query which is almost similar to the query on the other but Query1 takes 530 milliseconds and 2 the query takes 370 milliseconds

    Query with the explain plan command 1
    SQL> select count(*) from (SELECT DISTINCT txitem1.account_id, txitem2.account_id, party.external_code,
      2                  mes.MESSAGE, txitem1.transfer_value, txheader.transfer_status,
      3                  txheader.service_type, txheader.transfer_date,
      4                  bank.embossing_name, txitem1.attr_1_value, txitem1.attr_2_value,
      5                  bank.created_on, mes.message_code
      6             FROM mtx_transaction_items txItem1, mtx_transaction_items txItem2,mbk_bank bank, mtx_transaction_header txHeader, mtx_party party,sys_messages mes,mtx_payment_methods pm
      7            WHERE txitem1.user_type = 'PAYEE'
      8              AND txitem2.user_type = 'PAYER'
      9              AND txheader.transfer_id = txitem1.transfer_id
     10              AND txitem1.transfer_id = txitem2.transfer_id
     11              AND txheader.service_type = 'FTOWN'
     12              AND TO_DATE(TO_CHAR(txHeader.transfer_Date,'DD/MM/YYYY'),'DD/MM/YYYY') BETWEEN TO_DATE ('01/01/2007', 'DD/MM/YYYY')
     13                                AND TO_DATE ('01/04/2009', 'DD/MM/YYYY')
     14              AND txitem1.party_id = party.user_id
     15              AND txitem1.account_id = bank.account_no
     16              AND mes.message_code = NVL (txheader.error_code, '200')
     17              AND mes.language_code = '01'
     18              AND pm.party_user_id = txitem1.party_id
     19              AND bank.account_no = pm.payment_method_number
     20               ORDER BY bank.created_on DESC);
    
      COUNT(*)
    ----------
         10382
    
    Elapsed: 00:00:00.53
    
    Execution Plan
    ----------------------------------------------------------
    Plan hash value: 3804521013
    
    ----------------------------------------------------------------------------------------------------------------------------------------
    | Id  | Operation                                     | Name                   | Rows  | Bytes | Cost (%CPU)| Time     | Pstart| Pstop |
    ----------------------------------------------------------------------------------------------------------------------------------------
    |   0 | SELECT STATEMENT                              |                        |     1 |     2 |   123   (2)| 00:00:02 |       |       |
    |   1 |  SORT AGGREGATE                               |                        |     1 |     2 |            |          |       |       |
    |   2 |   VIEW                                        |                        |     1 |     2 |   123   (2)| 00:00:02 |       |       |
    |   3 |    HASH UNIQUE                                |                        |     1 |   836 |   123   (2)| 00:00:02 |       |       |
    |   4 |     TABLE ACCESS BY INDEX ROWID               | MTX_TRANSACTION_ITEMS  |     9 |   459 |     2   (0)| 00:00:01 |       |       |
    |   5 |      NESTED LOOPS                             |                        |     1 |   836 |   122   (1)| 00:00:02 |       |       |
    |   6 |       NESTED LOOPS                            |                        |     1 |   785 |   120   (1)| 00:00:02 |       |       |
    |   7 |        NESTED LOOPS                           |                        |     1 |   764 |   119   (1)| 00:00:02 |       |       |
    |*  8 |         HASH JOIN                             |                        |     1 |   482 |   118   (1)| 00:00:02 |       |       |
    |*  9 |          HASH JOIN                            |                        |    45 | 19710 |   113   (1)| 00:00:02 |       |       |
    |  10 |           TABLE ACCESS BY INDEX ROWID         | MTX_TRANSACTION_ITEMS  |     6 |  2004 |     2   (0)| 00:00:01 |       |       |
    |  11 |            NESTED LOOPS                       |                        |    38 | 14288 |   104   (0)| 00:00:02 |       |       |
    |* 12 |             TABLE ACCESS BY GLOBAL INDEX ROWID| MTX_TRANSACTION_HEADER |     6 |   252 |    97   (0)| 00:00:02 | ROWID | ROWID |
    |* 13 |              INDEX RANGE SCAN                 | IDX_MTH_SERVICE_TYPE   |  2500 |       |    19   (0)| 00:00:01 |       |       |
    |* 14 |             INDEX RANGE SCAN                  | SYS_C00162170          |     1 |       |     1   (0)| 00:00:01 |       |       |
    |  15 |           TABLE ACCESS FULL                   | MBK_BANK               |   734 | 45508 |     8   (0)| 00:00:01 |       |       |
    |  16 |          TABLE ACCESS FULL                    | MTX_PAYMENT_METHODS    |   734 | 32296 |     5   (0)| 00:00:01 |       |       |
    |  17 |         TABLE ACCESS BY INDEX ROWID           | SYS_MESSAGES           |     1 |   282 |     1   (0)| 00:00:01 |       |       |
    |* 18 |          INDEX UNIQUE SCAN                    | SYS_C00163912          |     1 |       |     0   (0)| 00:00:01 |       |       |
    |  19 |        TABLE ACCESS BY INDEX ROWID            | MTX_PARTY              |     1 |    21 |     1   (0)| 00:00:01 |       |       |
    |* 20 |         INDEX UNIQUE SCAN                     | SYS_C00161984          |     1 |       |     0   (0)| 00:00:01 |       |       |
    |* 21 |       INDEX RANGE SCAN                        | SYS_C00162170          |     1 |       |     1   (0)| 00:00:01 |       |       |
    ----------------------------------------------------------------------------------------------------------------------------------------
    
    Predicate Information (identified by operation id):
    ---------------------------------------------------
    
       8 - access("PM"."PARTY_USER_ID"="TXITEM1"."PARTY_ID" AND "BANK"."ACCOUNT_NO"="PM"."PAYMENT_METHOD_NUMBER")
       9 - access("TXITEM1"."ACCOUNT_ID"="BANK"."ACCOUNT_NO")
      12 - filter(TO_DATE(TO_CHAR(INTERNAL_FUNCTION("TXHEADER"."TRANSFER_DATE"),'DD/MM/YYYY'),'DD/MM/YYYY')>=TO_DATE('2007-01-01
                  00:00:00', 'yyyy-mm-dd hh24:mi:ss') AND TO_DATE(TO_CHAR(INTERNAL_FUNCTION("TXHEADER"."TRANSFER_DATE"),'DD/MM/YYYY'),'DD/MM/YYYY'
                  )<=TO_DATE('2009-04-01 00:00:00', 'yyyy-mm-dd hh24:mi:ss'))
      13 - access("TXHEADER"."SERVICE_TYPE"='FTOWN')
      14 - access("TXHEADER"."TRANSFER_ID"="TXITEM1"."TRANSFER_ID" AND "TXITEM1"."USER_TYPE"='PAYEE')
           filter("TXITEM1"."USER_TYPE"='PAYEE')
      18 - access("MES"."MESSAGE_CODE"=NVL("TXHEADER"."ERROR_CODE",'200') AND "MES"."LANGUAGE_CODE"=1)
      20 - access("TXITEM1"."PARTY_ID"="PARTY"."USER_ID")
      21 - access("TXITEM1"."TRANSFER_ID"="TXITEM2"."TRANSFER_ID" AND "TXITEM2"."USER_TYPE"='PAYER')
           filter("TXITEM2"."USER_TYPE"='PAYER')
    
    Note
    -----
       - dynamic sampling used for this statement
    
    
    Statistics
    ----------------------------------------------------------
              0  recursive calls
              0  db block gets
          44092  consistent gets
              0  physical reads
              0  redo size
            413  bytes sent via SQL*Net to client
            385  bytes received via SQL*Net from client
              2  SQL*Net roundtrips to/from client
              0  sorts (memory)
              0  sorts (disk)
              1  rows processed
    Query 2 with explain plan
    SQL> select count(*) from (SELECT DISTINCT txitem1.account_id, txitem2.account_id, party.external_code,
      2                  mes.MESSAGE, txitem1.transfer_value, txheader.transfer_status,
      3                  txheader.service_type, txheader.transfer_date,
      4                  bank.embossing_name, txitem1.attr_1_value, txitem1.attr_2_value,
      5                  bank.created_on, mes.message_code
      6             FROM sys_messages mes,mbk_bank bank,mtx_party party,mtx_payment_methods pm,mtx_transaction_header txheader,mtx_transaction_items txitem1,
      7                  mtx_transaction_items txitem2
      8            WHERE  Trunc(txHeader.transfer_Date)  BETWEEN TO_DATE ('01/01/2007', 'DD/MM/YYYY')
      9              AND TO_DATE ('01/04/2009', 'DD/MM/YYYY')
     10         and txitem1.user_type = 'PAYEE'
     11              AND txitem2.user_type = 'PAYER'
     12              AND mes.language_code = '01'
     13              AND txheader.service_type = 'FTOWN'
     14         and txheader.transfer_id = txitem1.transfer_id
     15         AND txitem1.transfer_id = txitem2.transfer_id
     16              AND txitem1.party_id = party.user_id
     17              AND txitem1.account_id = bank.account_no
     18         AND bank.account_no = pm.payment_method_number
     19              AND mes.message_code = NVL (txheader.error_code, '200')
     20              AND pm.party_user_id = txitem1.party_id
     21              ORDER BY bank.created_on DESC);
    
      COUNT(*)
    ----------
         10382
    
    Elapsed: 00:00:00.37
    
    Execution Plan
    ----------------------------------------------------------
    Plan hash value: 2305733494
    
    --------------------------------------------------------------------------------------------------------------------------------------------
    | Id  | Operation                                 | Name                   | Rows  | Bytes |TempSpc| Cost (%CPU)| Time     | Pstart| Pstop |
    --------------------------------------------------------------------------------------------------------------------------------------------
    |   0 | SELECT STATEMENT                          |                        |     1 |     2 |       |   344   (3)| 00:00:05 |   |        |
    |   1 |  SORT AGGREGATE                           |                        |     1 |     2 |       |            |          |   |        |
    |   2 |   VIEW                                    |                        |   251 |   502 |       |   344   (3)| 00:00:05 |   |        |
    |   3 |    HASH UNIQUE                            |                        |   251 |   204K|   456K|   344   (3)| 00:00:05 |   |        |
    |   4 |     TABLE ACCESS BY INDEX ROWID           | MTX_TRANSACTION_ITEMS  |     9 |   459 |       |     2   (0)| 00:00:01 |   |        |
    |   5 |      NESTED LOOPS                         |                        |   251 |   204K|       |   296   (3)| 00:00:04 |   |        |
    |*  6 |       HASH JOIN                           |                        |    29 | 22765 |       |   238   (3)| 00:00:03 |   |        |
    |   7 |        NESTED LOOPS                       |                        |    29 | 14587 |       |   232   (3)| 00:00:03 |   |        |
    |*  8 |         HASH JOIN                         |                        |    29 | 13369 |       |   203   (3)| 00:00:03 |   |        |
    |*  9 |          HASH JOIN                        |                        |    29 | 12760 |       |   198   (3)| 00:00:03 |   |        |
    |* 10 |           HASH JOIN                       |                        |   886 | 93916 |       |    14   (8)| 00:00:01 |   |        |
    |  11 |            TABLE ACCESS FULL              | MTX_PAYMENT_METHODS    |   734 | 32296 |       |     5   (0)| 00:00:01 |   |        |
    |  12 |            TABLE ACCESS FULL              | MBK_BANK               |   734 | 45508 |       |     8   (0)| 00:00:01 |   |        |
    |* 13 |           TABLE ACCESS FULL               | MTX_TRANSACTION_ITEMS  | 14429 |  4706K|       |   183   (2)| 00:00:03 |   |        |
    |  14 |          TABLE ACCESS FULL                | MTX_PARTY              |   468 |  9828 |       |     5   (0)| 00:00:01 |   |        |
    |* 15 |         TABLE ACCESS BY GLOBAL INDEX ROWID| MTX_TRANSACTION_HEADER |     1 |    42 |       |     1   (0)| 00:00:01 | ROWID | ROWID |
    |* 16 |          INDEX UNIQUE SCAN                | SYS_C00166115          |     1 |       |       |     0   (0)| 00:00:01 |   |        |
    |* 17 |        TABLE ACCESS FULL                  | SYS_MESSAGES           |   253 | 71346 |       |     5   (0)| 00:00:01 |   |        |
    |* 18 |       INDEX RANGE SCAN                    | SYS_C00162170          |     1 |       |       |     1   (0)| 00:00:01 |   |        |
    --------------------------------------------------------------------------------------------------------------------------------------------
    
    Predicate Information (identified by operation id):
    ---------------------------------------------------
    
       6 - access("MES"."MESSAGE_CODE"=NVL("TXHEADER"."ERROR_CODE",'200'))
       8 - access("TXITEM1"."PARTY_ID"="PARTY"."USER_ID")
       9 - access("TXITEM1"."ACCOUNT_ID"="BANK"."ACCOUNT_NO" AND "PM"."PARTY_USER_ID"="TXITEM1"."PARTY_ID")
      10 - access("BANK"."ACCOUNT_NO"="PM"."PAYMENT_METHOD_NUMBER")
      13 - filter("TXITEM1"."USER_TYPE"='PAYEE')
      15 - filter("TXHEADER"."SERVICE_TYPE"='FTOWN' AND TRUNC(INTERNAL_FUNCTION("TXHEADER"."TRANSFER_DATE"))>=TO_DATE('2007-01-01
                  00:00:00', 'yyyy-mm-dd hh24:mi:ss') AND TRUNC(INTERNAL_FUNCTION("TXHEADER"."TRANSFER_DATE"))<=TO_DATE('2009-04-01 00:00:00',
                  'yyyy-mm-dd hh24:mi:ss'))
      16 - access("TXHEADER"."TRANSFER_ID"="TXITEM1"."TRANSFER_ID")
      17 - filter("MES"."LANGUAGE_CODE"=1)
      18 - access("TXITEM1"."TRANSFER_ID"="TXITEM2"."TRANSFER_ID" AND "TXITEM2"."USER_TYPE"='PAYER')
           filter("TXITEM2"."USER_TYPE"='PAYER')
    
    Note
    -----
       - dynamic sampling used for this statement
    
    
    Statistics
    ----------------------------------------------------------
              0  recursive calls
              0  db block gets
          48293  consistent gets
              0  physical reads
              0  redo size
            413  bytes sent via SQL*Net to client
            385  bytes received via SQL*Net from client
              2  SQL*Net roundtrips to/from client
              0  sorts (memory)
              0  sorts (disk)
              1  rows processed
    Here I am confused explain query plan 1 seems better but performace wise query 2 is better. Please, help me choose the best query.

    Thanks and greetings
    Saurabh Sharma

    Egovcoe_In wrote:
    Thanks BluShadow

    I executed the following command and I got the same execution plan for both queries, but again time required differs

    exec DBMS_Stats.Gather_Schema_Stats('BROWSER_UAT', estimate_percent => 10, degree=> 6,cascade => true);
    

    If you gathered stats. Large.
    What to clear the memory cache and also given that Randolf said above.

    The reason why I m worried about MS is I want to write a query to listen for in the circumstances. I read a lot of material on query tuning n somewhere it is written order of the tables in the clause and order of conditions in where would adopt when we use the CBO but somewhere it is written that it affects.

    The order of tables and where clauses are unlikely to have any impact on performance (unless you write really bad SQL with a lot of subqueries, nested etc) as the CBO will optimize the query to join the tables and filter records in the best conditions, according to the statistics that he knows the tables. So no matter if you join A before B from B to C in your syntax or C to B, then B to A. It will 99% of the time has come out with the same execution plan.

    A matter of milliseconds is nothing and can easily vary from a running query to another, even if the query does not change. Things that can affect the duration of this small amount are things like the disk IO and network traffic and the speed with which the application of the 'front end' can retrieve and display information (which could be slowed by other applications).

    WHERE CAN I FIND INFORMATION OF PERFECT WRITING SQL QUERY?

    If there is information written for the perfect SQL queries then it would be have been developed in the SQL engine and the optimizer so that any query could be rewritten automatically, or the SQL engine could report to you what changes you must make to improve your query.

    A perfect SQL query is simply one that returns the correct data in a period, accounting for a reasonable future data growth.

  • Unable to understand the Plan to explain

    Hi gurus

    I'm trying to understand some basics of explain plan and get a hard time, I was reading the book tuning performance and incapable of understanding explain plan for the following query:

    Example query

    EXPLAIN PLAN FOR

    SELECT *.

    WCP

    WHERE THERE IS NOT (SELECT 0

    OF THE Department

    WHERE dept.dname = 'SALES' AND dept.deptno = emp.deptno)

    AND NOT EXISTS (SELECT 0

    Bonus OF

    WHERE bonus.ename = emp.ename);

    -------------------

    Select * from table (dbms_xplan.display);

    ---------------

    Output

    Hash value of plan: 734347697

    -----------------------------------------------------------------------------

    | ID | Operation | Name | Lines | Bytes | Cost (% CPU). Time |

    -----------------------------------------------------------------------------

    |   0 | SELECT STATEMENT |       |     5.   290.     7 (15) | 00:00:01 |

    |*  1 |  HASH ANTI JOIN |       |     5.   290.     7 (15) | 00:00:01 |

    |*  2 |   HASH ANTI JOIN |       |     5.   255.     5 (20) | 00:00:01 |

    |   3.    TABLE ACCESS FULL | EMP |    14.   532.     2 (0) | 00:00:01 |

    |*  4 |    TABLE ACCESS FULL | DEPT |     1.    13.     2 (0) | 00:00:01 |

    |   5.   TABLE ACCESS FULL | BONUS |     1.     7.     2 (0) | 00:00:01 |

    -----------------------------------------------------------------------------

    Information of predicates (identified by the operation identity card):

    ---------------------------------------------------

    1 - access("BONUS".") ENAME "=" EMP ". ("' ENAME ')

    2 - access("DEPT".") DEPTNO "=" EMP ". ("' DEPTNO ')

    4 - filter("DEPT".") DNAME "= 'SALES')

    -------------------------

    Grateful if someone help out me. Thank you

    In addition, I really appreciate if someone proposes a simple tutorial to explain plan. Thanks again

    Concerning

    Shu

    Hi Shuumail,

    Here is the tutorial http://allthingsoracle.com/execution-plans-part-1-finding-plans/

  • I have the photo cloud creative plan, can I use it for work related issues?

    I plan creative cloud including photoshop and lightroom.

    I just pay for it private.

    Now, I need to use photoshop to work. It is not hard work, just stuff for a presentation.

    I was wondering if it is allowed to use my creative for this plan or if I need to have another license, since I'm not paid to do.

    Are there limitations to this?

    As far as I know, the license allows 2 activations without saying WHERE

    Licensing and terms of use | Adobe

Maybe you are looking for

  • How can I make audio recordings using my Apple iPhone 5s?

    How can I use my Apple iPhone 5 s for audio recording?

  • How can I find a lost iPod serial number?

    Just lost my iPod classic.  How can I find my serial number other than the original box... It has been synchronized my iMac just now.  Is there a memory of the serial number on my mac?

  • Z3 double screen negative color

    Hi all Z3 double carefully used for 7 days only. Now the screen is negative... white... Restart and reset tried.still even. Help, please

  • Clean install Windows 7 Ultimate x 64 on dv9502tx driver problem...

    Hello I have a laptop dv9502tx which main drive had failed and I have no recovery disks available.  Instead I opted to install the new clean copy of windows 7 ultimate x 64 on the new hard drive that pretty well installed successfully without a hitch

  • VPN site to Site in 1841

    Hello VPN site to site how can establish ourselves in router cisco 1841. When we start to 1841, we get the message that VPN Module 1. What is the meaning of it, this means that we can establish that a VPN. How about you, the limitation of Tunnel VPN