PLAN of EXPLAIN used
Helloon 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:
My Plan to explain: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;
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
You will need to speak with sales of Adobe for the same thing.
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 -
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:
Then in Schema2, createCREATE 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;
SCHEMA1:create synonym TNAME1 FOR SCHEMA1.TNAME1
Now to SCHEMA2, if we try:GRant All on TNAME1 to SCHEMA2
WE GET-> ORA-00942: table or view does not existExplain 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);
While this works:
- 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.Explain Plan for SELECT xmltype.getclobval (XML_MESSAGE) FROM TNAME1 t
Also
Output is as:SELECT * from DBA_XML_TAB_COLS WHERE TABLE_NAME like 'TNAME1';
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:
So, first question, why I get this error? Object should be available to everyone, right?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
To work around this I connect as sysdba and get the second issue: the following extremely detailed output
Thanks in advance.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>
JasonWelcome 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
Query 2 with explain planSQL> 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
Here I am confused explain query plan 1 seems better but performace wise query 2 is better. Please, help me choose the best query.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
Thanks and greetings
Saurabh SharmaEgovcoe_In wrote:
Thanks BluShadowI 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
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
-
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