Tool for diagnosing performance issues in oracle database

Is there any tool to diagnose performance issues in queries and stored procedures in oracle similar to sql profiler for sql server
Thanks

you can use oem oracle enterprise manager to diagnose and monitor database .
Chapter 10: Monitoring and Tuning the Database(refer the link , oracle obe series, step by step procedures with screenshot presentation)
This chapter introduces you to some of the monitoring and tuning operations as performed through Enterprise Manager.
http://www.oracle.com/technology/obe/2day_dba/monitoring/monitoring.htm
refer: Monitoring and Tuning the Database
http://download.oracle.com/docs/cd/B14117_01/server.101/b10742/montune.htm
hope, this will helps you.
Edited by: rajeysh on Jul 14, 2010 9:28 PM

Similar Messages

  • Performance Issues on Oracle Database Lite 10.3.0.3

    Hello,
    we have a big problem with one of our customers. He uses Oracle Database Lite in the standalone version. There are about 600 clients running a project with about 20 Publication Items. The customer works in the logistics field, so the Main time where nearly all clients want to sync and get their tours is from 02 AM to 05 AM, so that is the time with the most traffic.
    Everything went well before last week. Suddenly the compose cycle needs (at least between that hours) about ten times longer than before. Normally we had about 40 - 80 seconds, now we have about 300 - 500 average with max values from over 1200 seconds.
    Therefore we have a lot of conflicts and Disconnects on the clients. It is sometimes that bad, that nearly no client can sync successfully.
    We checked our Selects in the publication Items, all are very fast and look good in the explain plan, so that shouldnt be the problem.
    The installation is nearly in the Default state as oracle does when you install Oracle Lite. Are there any standard settings we can change? Does anyone had the same problem already?
    The Machine is a Windows Server 2003 with an Intel Xeon CPU E7-4820 and 4 GB of RAM.
    Of course our customer gets a lot of trouble because of that and we have to improve and fix that as fast as we can.
    Any recommendation or opinions are very welcome.
    If I have to give more Info about somewhat please feel free to ask, I will give it as fast as possible.
    Thanks in advance
    Holger

    Hey,
    many thanks for your proposals. The MGP runs every minute like the default settings are, because our application is a time sensitive. The data have to be very fast on the clients in the nights and thex are only a few minutes before available. I think the parameters are important in environemnts where the mgps runs only after a few minutes?
    Let me summarize the situation since my las post:
    We have days (nights) where everything goes quite well. Mainly that is thrusday and friday. But on the other hand, there are days where everything really is a mess.
    The mgp caycles increase and when you look to mobile manager you see 70 clients syncing very very slowly (about 300 - 600 seconds) for just a little bit of data. Then we get the disonnects and the messages in the err.log. 
    What do you think, is this somehow network related, or ist this a logical problem in the Mobile Server itself? 
    Like postes earlier, there are 500 clients syncing against a standalone mobile server.
    We just couldnt figure out, why the mgp times somehow and sometimes increase that much, that there are these problems.
    First we thought, that they sync newly over wireless (GPRS or Edge) and that syncing is that slowly, that everything goes down, but arent sure. Is this possible because of the architecture of the Mobile Server? That a very slow network can slow down the mgps and that does timeouts and all the other stuff?
    How many clients can a Standalone Mobile Server normally serve at same time without performance problems. What do you thin about the hardware I wrote? Is it powerful enough?

  • Report performance issue in oracle database 10g to 11g

    Hi All,
    We have one test instance for database 10g where the report is working fine below is the plan for report.
    SELECT STATEMENT
    VIEW APPS
    SORT UNIQUE
    UNION-ALL
    HASH JOIN
    TABLE ACCESS BY INDEX ROWID INV.MTL_SYSTEM_ITEMS_B
    NESTED LOOPS
    MERGE JOIN CARTESIAN
    TABLE ACCESS FULL INV.MTL_PARAMETERS
    BUFFER SORT
    TABLE ACCESS BY INDEX ROWID APPLSYS.FND_LOOKUP_VALUES
    INDEX RANGE SCAN APPLSYS.FND_LOOKUP_VALUES_U2
    INDEX RANGE SCAN INV.MTL_SYSTEM_ITEMS_B_XX1
    TABLE ACCESS FULL ONT.OE_ORDER_LINES_ALL
    NESTED LOOPS ANTI
    HASH JOIN
    TABLE ACCESS BY INDEX ROWID MRP.MRP_GROSS_REQUIREMENTS
    INDEX SKIP SCAN MRP.MRP_GROSS_REQUIREMENTS_N2
    TABLE ACCESS BY INDEX ROWID INV.MTL_SYSTEM_ITEMS_B
    NESTED LOOPS
    MERGE JOIN CARTESIAN
    TABLE ACCESS FULL INV.MTL_PARAMETERS
    BUFFER SORT
    TABLE ACCESS BY INDEX ROWID APPLSYS.FND_LOOKUP_VALUES
    INDEX RANGE SCAN APPLSYS.FND_LOOKUP_VALUES_U2
    INDEX RANGE SCAN INV.MTL_SYSTEM_ITEMS_B_XX1
    TABLE ACCESS BY INDEX ROWID ONT.OE_ORDER_LINES_ALL
    INDEX RANGE SCAN ONT.OE_ORDER_LINES_N3
    We have one more instance whose database is 11g and the same report is migrated but it is taking too long time to execute the report output. Please advise why it is happening even why the plan is difference.
    SELECT STATEMENT
    VIEW APPS
    SORT UNIQUE
    UNION-ALL
    NESTED LOOPS
    NESTED LOOPS
    NESTED LOOPS
    NESTED LOOPS
    NESTED LOOPS
    INDEX RANGE SCAN INV.MTL_ITEM_CATEGORIES_U1
    INDEX UNIQUE SCAN INV.MTL_CATEGORY_SETS_B_U1
    TABLE ACCESS BY INDEX ROWID INV.MTL_CATEGORIES_B
    INDEX UNIQUE SCAN INV.MTL_CATEGORIES_B_U1
    INDEX UNIQUE SCAN INV.MTL_CATEGORIES_TL_U1
    INDEX UNIQUE SCAN INV.MTL_CATEGORY_SETS_TL_U1
    TABLE ACCESS BY INDEX ROWID INV.MTL_CATEGORY_SETS_TL
    SORT AGGREGATE
    TABLE ACCESS BY INDEX ROWID BOM.BOM_STRUCTURES_B
    INDEX RANGE SCAN BOM.BOM_STRUCTURES_B_N2
    SORT AGGREGATE
    INDEX RANGE SCAN BOM.BOM_OPERATIONAL_ROUTINGS_U2
    SORT AGGREGATE
    TABLE ACCESS BY INDEX ROWID BOM.CST_ITEM_COSTS
    INDEX UNIQUE SCAN BOM.CST_ITEM_COSTS_U1
    SORT AGGREGATE
    TABLE ACCESS BY INDEX ROWID BOM.CST_ITEM_COSTS
    INDEX UNIQUE SCAN BOM.CST_ITEM_COSTS_U1
    SORT AGGREGATE
    FILTER
    NESTED LOOPS
    NESTED LOOPS
    MERGE JOIN CARTESIAN
    NESTED LOOPS
    NESTED LOOPS
    TABLE ACCESS BY INDEX ROWID QP.QP_LIST_HEADERS_TL
    INDEX RANGE SCAN QP.QP_LIST_HEADERS_TL_U1
    INDEX UNIQUE SCAN QP.QP_LIST_HEADERS_B_PK
    TABLE ACCESS BY INDEX ROWID QP.QP_LIST_HEADERS_B
    BUFFER SORT
    TABLE ACCESS BY INDEX ROWID QP.QP_PRICING_ATTRIBUTES
    INDEX SKIP SCAN QP.QP_PRICING_ATTRIBUTES_N11
    INDEX UNIQUE SCAN QP.QP_LIST_LINES_PK
    TABLE ACCESS BY INDEX ROWID QP.QP_LIST_LINES
    TABLE ACCESS BY INDEX ROWID QP.QP_PRICING_ATTRIBUTES
    INDEX RANGE SCAN QP.QP_PRICING_ATTRIBUTES_N3
    TABLE ACCESS BY INDEX ROWID QP.QP_PRICING_ATTRIBUTES
    INDEX RANGE SCAN QP.QP_PRICING_ATTRIBUTES_N3
    TABLE ACCESS BY INDEX ROWID QP.QP_PRICING_ATTRIBUTES
    INDEX RANGE SCAN QP.QP_PRICING_ATTRIBUTES_N3
    SORT AGGREGATE
    FILTER
    NESTED LOOPS
    NESTED LOOPS
    MERGE JOIN CARTESIAN
    NESTED LOOPS
    NESTED LOOPS
    TABLE ACCESS BY INDEX ROWID QP.QP_LIST_HEADERS_TL
    INDEX RANGE SCAN QP.QP_LIST_HEADERS_TL_U1
    INDEX UNIQUE SCAN QP.QP_LIST_HEADERS_B_PK
    TABLE ACCESS BY INDEX ROWID QP.QP_LIST_HEADERS_B
    BUFFER SORT
    TABLE ACCESS BY INDEX ROWID QP.QP_PRICING_ATTRIBUTES
    INDEX SKIP SCAN QP.QP_PRICING_ATTRIBUTES_N11
    INDEX UNIQUE SCAN QP.QP_LIST_LINES_PK
    TABLE ACCESS BY INDEX ROWID QP.QP_LIST_LINES
    TABLE ACCESS BY INDEX ROWID QP.QP_PRICING_ATTRIBUTES
    INDEX RANGE SCAN QP.QP_PRICING_ATTRIBUTES_N3
    TABLE ACCESS BY INDEX ROWID QP.QP_PRICING_ATTRIBUTES
    INDEX RANGE SCAN QP.QP_PRICING_ATTRIBUTES_N3
    TABLE ACCESS BY INDEX ROWID QP.QP_PRICING_ATTRIBUTES
    INDEX RANGE SCAN QP.QP_PRICING_ATTRIBUTES_N3
    SORT AGGREGATE
    NESTED LOOPS
    TABLE ACCESS BY INDEX ROWID MRP.MRP_ASSIGNMENT_SETS
    INDEX UNIQUE SCAN MRP.MRP_ASSIGNMENT_SETS_U2
    INDEX RANGE SCAN MRP.MRP_SR_ASSIGNMENTS_N3
    SORT AGGREGATE
    TABLE ACCESS BY INDEX ROWID PO.PO_APPROVED_SUPPLIER_LIST
    INDEX RANGE SCAN PO.PO_APPROVED_SUPPLIER_LIST_N1
    SORT AGGREGATE
    TABLE ACCESS BY INDEX ROWID INV.MTL_ONHAND_QUANTITIES_DETAIL
    INDEX RANGE SCAN INV.MTL_ONHAND_QUANTITIES_N6
    SORT AGGREGATE
    TABLE ACCESS BY INDEX ROWID INV.MTL_ONHAND_QUANTITIES_DETAIL
    INDEX RANGE SCAN INV.MTL_ONHAND_QUANTITIES_N6
    SORT AGGREGATE
    TABLE ACCESS BY INDEX ROWID ONT.OE_ORDER_LINES_ALL
    INDEX RANGE SCAN ONT.OE_ORDER_LINES_N3
    SORT AGGREGATE
    TABLE ACCESS BY INDEX ROWID ONT.OE_ORDER_LINES_ALL
    INDEX RANGE SCAN ONT.OE_ORDER_LINES_N3
    NESTED LOOPS
    NESTED LOOPS
    NESTED LOOPS
    INDEX RANGE SCAN INV.MTL_ITEM_CATEGORIES_U1
    TABLE ACCESS BY INDEX ROWID INV.MTL_CATEGORIES_B
    INDEX UNIQUE SCAN INV.MTL_CATEGORIES_B_U1
    INDEX UNIQUE SCAN INV.MTL_CATEGORY_SETS_TL_U1
    TABLE ACCESS BY INDEX ROWID INV.MTL_CATEGORY_SETS_TL
    HASH JOIN
    NESTED LOOPS
    NESTED LOOPS
    MERGE JOIN CARTESIAN
    TABLE ACCESS FULL INV.MTL_PARAMETERS
    BUFFER SORT
    TABLE ACCESS BY INDEX ROWID APPLSYS.FND_LOOKUP_VALUES
    INDEX RANGE SCAN APPLSYS.FND_LOOKUP_VALUES_U2
    INDEX RANGE SCAN INV.MTL_SYSTEM_ITEMS_B_XX1
    TABLE ACCESS BY INDEX ROWID INV.MTL_SYSTEM_ITEMS_B
    TABLE ACCESS FULL ONT.OE_ORDER_LINES_ALL
    NESTED LOOPS
    NESTED LOOPS
    NESTED LOOPS
    NESTED LOOPS
    NESTED LOOPS
    INDEX RANGE SCAN INV.MTL_ITEM_CATEGORIES_U1
    INDEX UNIQUE SCAN INV.MTL_CATEGORY_SETS_B_U1
    TABLE ACCESS BY INDEX ROWID INV.MTL_CATEGORIES_B
    INDEX UNIQUE SCAN INV.MTL_CATEGORIES_B_U1
    INDEX UNIQUE SCAN INV.MTL_CATEGORIES_TL_U1
    INDEX UNIQUE SCAN INV.MTL_CATEGORY_SETS_TL_U1
    TABLE ACCESS BY INDEX ROWID INV.MTL_CATEGORY_SETS_TL
    TABLE ACCESS BY INDEX ROWID BOM.BOM_STRUCTURES_B
    INDEX RANGE SCAN BOM.BOM_STRUCTURES_B_N2
    INDEX RANGE SCAN BOM.BOM_OPERATIONAL_ROUTINGS_U2
    TABLE ACCESS BY INDEX ROWID BOM.CST_ITEM_COSTS
    INDEX UNIQUE SCAN BOM.CST_ITEM_COSTS_U1
    TABLE ACCESS BY INDEX ROWID BOM.CST_ITEM_COSTS
    INDEX UNIQUE SCAN BOM.CST_ITEM_COSTS_U1
    FILTER
    NESTED LOOPS
    NESTED LOOPS
    MERGE JOIN CARTESIAN
    NESTED LOOPS
    NESTED LOOPS
    TABLE ACCESS BY INDEX ROWID QP.QP_LIST_HEADERS_TL
    INDEX RANGE SCAN QP.QP_LIST_HEADERS_TL_U1
    INDEX UNIQUE SCAN QP.QP_LIST_HEADERS_B_PK
    TABLE ACCESS BY INDEX ROWID QP.QP_LIST_HEADERS_B
    BUFFER SORT
    TABLE ACCESS BY INDEX ROWID QP.QP_PRICING_ATTRIBUTES
    INDEX SKIP SCAN QP.QP_PRICING_ATTRIBUTES_N11
    INDEX UNIQUE SCAN QP.QP_LIST_LINES_PK
    TABLE ACCESS BY INDEX ROWID QP.QP_LIST_LINES
    TABLE ACCESS BY INDEX ROWID QP.QP_PRICING_ATTRIBUTES
    INDEX RANGE SCAN QP.QP_PRICING_ATTRIBUTES_N3
    TABLE ACCESS BY INDEX ROWID QP.QP_PRICING_ATTRIBUTES
    INDEX RANGE SCAN QP.QP_PRICING_ATTRIBUTES_N3
    TABLE ACCESS BY INDEX ROWID QP.QP_PRICING_ATTRIBUTES
    INDEX RANGE SCAN QP.QP_PRICING_ATTRIBUTES_N3
    FILTER
    NESTED LOOPS
    NESTED LOOPS
    MERGE JOIN CARTESIAN
    NESTED LOOPS
    NESTED LOOPS
    TABLE ACCESS BY INDEX ROWID QP.QP_LIST_HEADERS_TL
    INDEX RANGE SCAN QP.QP_LIST_HEADERS_TL_U1
    INDEX UNIQUE SCAN QP.QP_LIST_HEADERS_B_PK
    TABLE ACCESS BY INDEX ROWID QP.QP_LIST_HEADERS_B
    BUFFER SORT
    TABLE ACCESS BY INDEX ROWID QP.QP_PRICING_ATTRIBUTES
    INDEX SKIP SCAN QP.QP_PRICING_ATTRIBUTES_N11
    INDEX UNIQUE SCAN QP.QP_LIST_LINES_PK
    TABLE ACCESS BY INDEX ROWID QP.QP_LIST_LINES
    TABLE ACCESS BY INDEX ROWID QP.QP_PRICING_ATTRIBUTES
    INDEX RANGE SCAN QP.QP_PRICING_ATTRIBUTES_N3
    TABLE ACCESS BY INDEX ROWID QP.QP_PRICING_ATTRIBUTES
    INDEX RANGE SCAN QP.QP_PRICING_ATTRIBUTES_N3
    TABLE ACCESS BY INDEX ROWID QP.QP_PRICING_ATTRIBUTES
    INDEX RANGE SCAN QP.QP_PRICING_ATTRIBUTES_N3
    SORT UNIQUE NOSORT
    NESTED LOOPS
    TABLE ACCESS BY INDEX ROWID MRP.MRP_ASSIGNMENT_SETS
    INDEX UNIQUE SCAN MRP.MRP_ASSIGNMENT_SETS_U2
    INDEX RANGE SCAN MRP.MRP_SR_ASSIGNMENTS_N3
    SORT UNIQUE NOSORT
    TABLE ACCESS BY INDEX ROWID PO.PO_APPROVED_SUPPLIER_LIST
    INDEX RANGE SCAN PO.PO_APPROVED_SUPPLIER_LIST_N1
    SORT AGGREGATE
    TABLE ACCESS BY INDEX ROWID INV.MTL_ONHAND_QUANTITIES_DETAIL
    INDEX RANGE SCAN INV.MTL_ONHAND_QUANTITIES_N6
    SORT AGGREGATE
    TABLE ACCESS BY INDEX ROWID INV.MTL_ONHAND_QUANTITIES_DETAIL
    INDEX RANGE SCAN INV.MTL_ONHAND_QUANTITIES_N6
    SORT AGGREGATE
    INDEX RANGE SCAN MRP.MRP_GROSS_REQUIREMENTS_N1
    SORT AGGREGATE
    INDEX RANGE SCAN MRP.MRP_GROSS_REQUIREMENTS_N1
    NESTED LOOPS
    NESTED LOOPS
    NESTED LOOPS
    INDEX RANGE SCAN INV.MTL_ITEM_CATEGORIES_U1
    TABLE ACCESS BY INDEX ROWID INV.MTL_CATEGORIES_B
    INDEX UNIQUE SCAN INV.MTL_CATEGORIES_B_U1
    INDEX UNIQUE SCAN INV.MTL_CATEGORY_SETS_TL_U1
    TABLE ACCESS BY INDEX ROWID INV.MTL_CATEGORY_SETS_TL
    NESTED LOOPS ANTI
    HASH JOIN
    TABLE ACCESS BY INDEX ROWID MRP.MRP_GROSS_REQUIREMENTS
    INDEX SKIP SCAN MRP.MRP_GROSS_REQUIREMENTS_N2
    NESTED LOOPS
    NESTED LOOPS
    MERGE JOIN CARTESIAN
    TABLE ACCESS FULL INV.MTL_PARAMETERS
    BUFFER SORT
    TABLE ACCESS BY INDEX ROWID APPLSYS.FND_LOOKUP_VALUES
    INDEX RANGE SCAN APPLSYS.FND_LOOKUP_VALUES_U2
    INDEX RANGE SCAN INV.MTL_SYSTEM_ITEMS_B_XX1
    TABLE ACCESS BY INDEX ROWID INV.MTL_SYSTEM_ITEMS_B
    TABLE ACCESS BY INDEX ROWID ONT.OE_ORDER_LINES_ALL
    INDEX RANGE SCAN ONT.OE_ORDER_LINES_N3
    }

    Hi All,
    We have one test instance for database 10g where the report is working fine below is the plan for report.
    SELECT STATEMENT
    VIEW APPS
    SORT UNIQUE
    UNION-ALL
    HASH JOIN
    TABLE ACCESS BY INDEX ROWID INV.MTL_SYSTEM_ITEMS_B
    NESTED LOOPS
    MERGE JOIN CARTESIAN
    TABLE ACCESS FULL INV.MTL_PARAMETERS
    BUFFER SORT
    TABLE ACCESS BY INDEX ROWID APPLSYS.FND_LOOKUP_VALUES
    INDEX RANGE SCAN APPLSYS.FND_LOOKUP_VALUES_U2
    INDEX RANGE SCAN INV.MTL_SYSTEM_ITEMS_B_XX1
    TABLE ACCESS FULL ONT.OE_ORDER_LINES_ALL
    NESTED LOOPS ANTI
    HASH JOIN
    TABLE ACCESS BY INDEX ROWID MRP.MRP_GROSS_REQUIREMENTS
    INDEX SKIP SCAN MRP.MRP_GROSS_REQUIREMENTS_N2
    TABLE ACCESS BY INDEX ROWID INV.MTL_SYSTEM_ITEMS_B
    NESTED LOOPS
    MERGE JOIN CARTESIAN
    TABLE ACCESS FULL INV.MTL_PARAMETERS
    BUFFER SORT
    TABLE ACCESS BY INDEX ROWID APPLSYS.FND_LOOKUP_VALUES
    INDEX RANGE SCAN APPLSYS.FND_LOOKUP_VALUES_U2
    INDEX RANGE SCAN INV.MTL_SYSTEM_ITEMS_B_XX1
    TABLE ACCESS BY INDEX ROWID ONT.OE_ORDER_LINES_ALL
    INDEX RANGE SCAN ONT.OE_ORDER_LINES_N3
    We have one more instance whose database is 11g and the same report is migrated but it is taking too long time to execute the report output. Please advise why it is happening even why the plan is difference.
    SELECT STATEMENT
    VIEW APPS
    SORT UNIQUE
    UNION-ALL
    NESTED LOOPS
    NESTED LOOPS
    NESTED LOOPS
    NESTED LOOPS
    NESTED LOOPS
    INDEX RANGE SCAN INV.MTL_ITEM_CATEGORIES_U1
    INDEX UNIQUE SCAN INV.MTL_CATEGORY_SETS_B_U1
    TABLE ACCESS BY INDEX ROWID INV.MTL_CATEGORIES_B
    INDEX UNIQUE SCAN INV.MTL_CATEGORIES_B_U1
    INDEX UNIQUE SCAN INV.MTL_CATEGORIES_TL_U1
    INDEX UNIQUE SCAN INV.MTL_CATEGORY_SETS_TL_U1
    TABLE ACCESS BY INDEX ROWID INV.MTL_CATEGORY_SETS_TL
    SORT AGGREGATE
    TABLE ACCESS BY INDEX ROWID BOM.BOM_STRUCTURES_B
    INDEX RANGE SCAN BOM.BOM_STRUCTURES_B_N2
    SORT AGGREGATE
    INDEX RANGE SCAN BOM.BOM_OPERATIONAL_ROUTINGS_U2
    SORT AGGREGATE
    TABLE ACCESS BY INDEX ROWID BOM.CST_ITEM_COSTS
    INDEX UNIQUE SCAN BOM.CST_ITEM_COSTS_U1
    SORT AGGREGATE
    TABLE ACCESS BY INDEX ROWID BOM.CST_ITEM_COSTS
    INDEX UNIQUE SCAN BOM.CST_ITEM_COSTS_U1
    SORT AGGREGATE
    FILTER
    NESTED LOOPS
    NESTED LOOPS
    MERGE JOIN CARTESIAN
    NESTED LOOPS
    NESTED LOOPS
    TABLE ACCESS BY INDEX ROWID QP.QP_LIST_HEADERS_TL
    INDEX RANGE SCAN QP.QP_LIST_HEADERS_TL_U1
    INDEX UNIQUE SCAN QP.QP_LIST_HEADERS_B_PK
    TABLE ACCESS BY INDEX ROWID QP.QP_LIST_HEADERS_B
    BUFFER SORT
    TABLE ACCESS BY INDEX ROWID QP.QP_PRICING_ATTRIBUTES
    INDEX SKIP SCAN QP.QP_PRICING_ATTRIBUTES_N11
    INDEX UNIQUE SCAN QP.QP_LIST_LINES_PK
    TABLE ACCESS BY INDEX ROWID QP.QP_LIST_LINES
    TABLE ACCESS BY INDEX ROWID QP.QP_PRICING_ATTRIBUTES
    INDEX RANGE SCAN QP.QP_PRICING_ATTRIBUTES_N3
    TABLE ACCESS BY INDEX ROWID QP.QP_PRICING_ATTRIBUTES
    INDEX RANGE SCAN QP.QP_PRICING_ATTRIBUTES_N3
    TABLE ACCESS BY INDEX ROWID QP.QP_PRICING_ATTRIBUTES
    INDEX RANGE SCAN QP.QP_PRICING_ATTRIBUTES_N3
    SORT AGGREGATE
    FILTER
    NESTED LOOPS
    NESTED LOOPS
    MERGE JOIN CARTESIAN
    NESTED LOOPS
    NESTED LOOPS
    TABLE ACCESS BY INDEX ROWID QP.QP_LIST_HEADERS_TL
    INDEX RANGE SCAN QP.QP_LIST_HEADERS_TL_U1
    INDEX UNIQUE SCAN QP.QP_LIST_HEADERS_B_PK
    TABLE ACCESS BY INDEX ROWID QP.QP_LIST_HEADERS_B
    BUFFER SORT
    TABLE ACCESS BY INDEX ROWID QP.QP_PRICING_ATTRIBUTES
    INDEX SKIP SCAN QP.QP_PRICING_ATTRIBUTES_N11
    INDEX UNIQUE SCAN QP.QP_LIST_LINES_PK
    TABLE ACCESS BY INDEX ROWID QP.QP_LIST_LINES
    TABLE ACCESS BY INDEX ROWID QP.QP_PRICING_ATTRIBUTES
    INDEX RANGE SCAN QP.QP_PRICING_ATTRIBUTES_N3
    TABLE ACCESS BY INDEX ROWID QP.QP_PRICING_ATTRIBUTES
    INDEX RANGE SCAN QP.QP_PRICING_ATTRIBUTES_N3
    TABLE ACCESS BY INDEX ROWID QP.QP_PRICING_ATTRIBUTES
    INDEX RANGE SCAN QP.QP_PRICING_ATTRIBUTES_N3
    SORT AGGREGATE
    NESTED LOOPS
    TABLE ACCESS BY INDEX ROWID MRP.MRP_ASSIGNMENT_SETS
    INDEX UNIQUE SCAN MRP.MRP_ASSIGNMENT_SETS_U2
    INDEX RANGE SCAN MRP.MRP_SR_ASSIGNMENTS_N3
    SORT AGGREGATE
    TABLE ACCESS BY INDEX ROWID PO.PO_APPROVED_SUPPLIER_LIST
    INDEX RANGE SCAN PO.PO_APPROVED_SUPPLIER_LIST_N1
    SORT AGGREGATE
    TABLE ACCESS BY INDEX ROWID INV.MTL_ONHAND_QUANTITIES_DETAIL
    INDEX RANGE SCAN INV.MTL_ONHAND_QUANTITIES_N6
    SORT AGGREGATE
    TABLE ACCESS BY INDEX ROWID INV.MTL_ONHAND_QUANTITIES_DETAIL
    INDEX RANGE SCAN INV.MTL_ONHAND_QUANTITIES_N6
    SORT AGGREGATE
    TABLE ACCESS BY INDEX ROWID ONT.OE_ORDER_LINES_ALL
    INDEX RANGE SCAN ONT.OE_ORDER_LINES_N3
    SORT AGGREGATE
    TABLE ACCESS BY INDEX ROWID ONT.OE_ORDER_LINES_ALL
    INDEX RANGE SCAN ONT.OE_ORDER_LINES_N3
    NESTED LOOPS
    NESTED LOOPS
    NESTED LOOPS
    INDEX RANGE SCAN INV.MTL_ITEM_CATEGORIES_U1
    TABLE ACCESS BY INDEX ROWID INV.MTL_CATEGORIES_B
    INDEX UNIQUE SCAN INV.MTL_CATEGORIES_B_U1
    INDEX UNIQUE SCAN INV.MTL_CATEGORY_SETS_TL_U1
    TABLE ACCESS BY INDEX ROWID INV.MTL_CATEGORY_SETS_TL
    HASH JOIN
    NESTED LOOPS
    NESTED LOOPS
    MERGE JOIN CARTESIAN
    TABLE ACCESS FULL INV.MTL_PARAMETERS
    BUFFER SORT
    TABLE ACCESS BY INDEX ROWID APPLSYS.FND_LOOKUP_VALUES
    INDEX RANGE SCAN APPLSYS.FND_LOOKUP_VALUES_U2
    INDEX RANGE SCAN INV.MTL_SYSTEM_ITEMS_B_XX1
    TABLE ACCESS BY INDEX ROWID INV.MTL_SYSTEM_ITEMS_B
    TABLE ACCESS FULL ONT.OE_ORDER_LINES_ALL
    NESTED LOOPS
    NESTED LOOPS
    NESTED LOOPS
    NESTED LOOPS
    NESTED LOOPS
    INDEX RANGE SCAN INV.MTL_ITEM_CATEGORIES_U1
    INDEX UNIQUE SCAN INV.MTL_CATEGORY_SETS_B_U1
    TABLE ACCESS BY INDEX ROWID INV.MTL_CATEGORIES_B
    INDEX UNIQUE SCAN INV.MTL_CATEGORIES_B_U1
    INDEX UNIQUE SCAN INV.MTL_CATEGORIES_TL_U1
    INDEX UNIQUE SCAN INV.MTL_CATEGORY_SETS_TL_U1
    TABLE ACCESS BY INDEX ROWID INV.MTL_CATEGORY_SETS_TL
    TABLE ACCESS BY INDEX ROWID BOM.BOM_STRUCTURES_B
    INDEX RANGE SCAN BOM.BOM_STRUCTURES_B_N2
    INDEX RANGE SCAN BOM.BOM_OPERATIONAL_ROUTINGS_U2
    TABLE ACCESS BY INDEX ROWID BOM.CST_ITEM_COSTS
    INDEX UNIQUE SCAN BOM.CST_ITEM_COSTS_U1
    TABLE ACCESS BY INDEX ROWID BOM.CST_ITEM_COSTS
    INDEX UNIQUE SCAN BOM.CST_ITEM_COSTS_U1
    FILTER
    NESTED LOOPS
    NESTED LOOPS
    MERGE JOIN CARTESIAN
    NESTED LOOPS
    NESTED LOOPS
    TABLE ACCESS BY INDEX ROWID QP.QP_LIST_HEADERS_TL
    INDEX RANGE SCAN QP.QP_LIST_HEADERS_TL_U1
    INDEX UNIQUE SCAN QP.QP_LIST_HEADERS_B_PK
    TABLE ACCESS BY INDEX ROWID QP.QP_LIST_HEADERS_B
    BUFFER SORT
    TABLE ACCESS BY INDEX ROWID QP.QP_PRICING_ATTRIBUTES
    INDEX SKIP SCAN QP.QP_PRICING_ATTRIBUTES_N11
    INDEX UNIQUE SCAN QP.QP_LIST_LINES_PK
    TABLE ACCESS BY INDEX ROWID QP.QP_LIST_LINES
    TABLE ACCESS BY INDEX ROWID QP.QP_PRICING_ATTRIBUTES
    INDEX RANGE SCAN QP.QP_PRICING_ATTRIBUTES_N3
    TABLE ACCESS BY INDEX ROWID QP.QP_PRICING_ATTRIBUTES
    INDEX RANGE SCAN QP.QP_PRICING_ATTRIBUTES_N3
    TABLE ACCESS BY INDEX ROWID QP.QP_PRICING_ATTRIBUTES
    INDEX RANGE SCAN QP.QP_PRICING_ATTRIBUTES_N3
    FILTER
    NESTED LOOPS
    NESTED LOOPS
    MERGE JOIN CARTESIAN
    NESTED LOOPS
    NESTED LOOPS
    TABLE ACCESS BY INDEX ROWID QP.QP_LIST_HEADERS_TL
    INDEX RANGE SCAN QP.QP_LIST_HEADERS_TL_U1
    INDEX UNIQUE SCAN QP.QP_LIST_HEADERS_B_PK
    TABLE ACCESS BY INDEX ROWID QP.QP_LIST_HEADERS_B
    BUFFER SORT
    TABLE ACCESS BY INDEX ROWID QP.QP_PRICING_ATTRIBUTES
    INDEX SKIP SCAN QP.QP_PRICING_ATTRIBUTES_N11
    INDEX UNIQUE SCAN QP.QP_LIST_LINES_PK
    TABLE ACCESS BY INDEX ROWID QP.QP_LIST_LINES
    TABLE ACCESS BY INDEX ROWID QP.QP_PRICING_ATTRIBUTES
    INDEX RANGE SCAN QP.QP_PRICING_ATTRIBUTES_N3
    TABLE ACCESS BY INDEX ROWID QP.QP_PRICING_ATTRIBUTES
    INDEX RANGE SCAN QP.QP_PRICING_ATTRIBUTES_N3
    TABLE ACCESS BY INDEX ROWID QP.QP_PRICING_ATTRIBUTES
    INDEX RANGE SCAN QP.QP_PRICING_ATTRIBUTES_N3
    SORT UNIQUE NOSORT
    NESTED LOOPS
    TABLE ACCESS BY INDEX ROWID MRP.MRP_ASSIGNMENT_SETS
    INDEX UNIQUE SCAN MRP.MRP_ASSIGNMENT_SETS_U2
    INDEX RANGE SCAN MRP.MRP_SR_ASSIGNMENTS_N3
    SORT UNIQUE NOSORT
    TABLE ACCESS BY INDEX ROWID PO.PO_APPROVED_SUPPLIER_LIST
    INDEX RANGE SCAN PO.PO_APPROVED_SUPPLIER_LIST_N1
    SORT AGGREGATE
    TABLE ACCESS BY INDEX ROWID INV.MTL_ONHAND_QUANTITIES_DETAIL
    INDEX RANGE SCAN INV.MTL_ONHAND_QUANTITIES_N6
    SORT AGGREGATE
    TABLE ACCESS BY INDEX ROWID INV.MTL_ONHAND_QUANTITIES_DETAIL
    INDEX RANGE SCAN INV.MTL_ONHAND_QUANTITIES_N6
    SORT AGGREGATE
    INDEX RANGE SCAN MRP.MRP_GROSS_REQUIREMENTS_N1
    SORT AGGREGATE
    INDEX RANGE SCAN MRP.MRP_GROSS_REQUIREMENTS_N1
    NESTED LOOPS
    NESTED LOOPS
    NESTED LOOPS
    INDEX RANGE SCAN INV.MTL_ITEM_CATEGORIES_U1
    TABLE ACCESS BY INDEX ROWID INV.MTL_CATEGORIES_B
    INDEX UNIQUE SCAN INV.MTL_CATEGORIES_B_U1
    INDEX UNIQUE SCAN INV.MTL_CATEGORY_SETS_TL_U1
    TABLE ACCESS BY INDEX ROWID INV.MTL_CATEGORY_SETS_TL
    NESTED LOOPS ANTI
    HASH JOIN
    TABLE ACCESS BY INDEX ROWID MRP.MRP_GROSS_REQUIREMENTS
    INDEX SKIP SCAN MRP.MRP_GROSS_REQUIREMENTS_N2
    NESTED LOOPS
    NESTED LOOPS
    MERGE JOIN CARTESIAN
    TABLE ACCESS FULL INV.MTL_PARAMETERS
    BUFFER SORT
    TABLE ACCESS BY INDEX ROWID APPLSYS.FND_LOOKUP_VALUES
    INDEX RANGE SCAN APPLSYS.FND_LOOKUP_VALUES_U2
    INDEX RANGE SCAN INV.MTL_SYSTEM_ITEMS_B_XX1
    TABLE ACCESS BY INDEX ROWID INV.MTL_SYSTEM_ITEMS_B
    TABLE ACCESS BY INDEX ROWID ONT.OE_ORDER_LINES_ALL
    INDEX RANGE SCAN ONT.OE_ORDER_LINES_N3
    }

  • Preference for diagnosing Performance issues

    What do DBA's like using more? StatsPack or ADDM/AWR?

    Depends on what you're looking for as well. Tracing may be of more interest than a higher level report such as what awrrpt provides. Do you like using a hammer or a mallet better? Doesn't that depend on what you're hitting? Same idea.

  • Performance tuning for siebel CRM application on oracle database

    Hi,
    Please send me the link for Performance tuning for siebel CRM application on oracle database. If there are any white papers please send me the link.
    Thanks,
    Rajesh

    Hi,
    This metalink document is very useful, if you have any other documents or links please inform me.
    Thanks once again
    Rajesh

  • Performance issues with Oracle EE 9.2.0.4 and RedHat 2.1

    Hello,
    I am having some serious performance issues with Oracle Enterprise Edition 9.2.0.4 and RedHat Linux 2.1. The processor goes berserk at 100% for long (some 5 min.) periods of time, and all the ram memory gets used.
    Some environment characteristics:
    Machine: Intel Pentium IV 2.0GHz with 1GB of RAM.
    OS: RedHat Linux 2.1 Enterprise.
    Oracle: Oracle Enterprise Edition 9.2.0.4
    Application: We have a small web-application with 10 users (for now) and very basic queries (all in stored procedures). Also we use the latest version of ODP.NET with default connection settings (some low pooling, etc).
    Does anyone know what could be going on?
    Is anybody else having this similar behavior?
    We change from SQL-Server so we are not the world expert on the matter. But we want a reliable system nonetheless.
    Please help us out, gives some tips, tricks, or guides…
    Thanks to all,
    Frank

    Thank you very much and sorry I couldn’t write sooner. It seems that the administrator doesn’t see the kswap going on so much, so I don’t really know what is going on.
    We are looking at some queries and some indexing but this is nuts, if I had some poor queries, which we don’t really, the server would show pick right?
    But he goes crazy and has two oracle processes taking all the resources. There seems to be little swapping going on.
    Son now what? They are all ready talking about MS-SQL please help me out here, this is crazy!!!
    We have, may be the most powerful combinations here. What is oracle doing?
    We even kill the Working Process of the IIS and have no one do anything with the database and still dose two processes going on.
    Can some one help me?
    Thanks,
    Frank

  • ABAP access key  & install step for  IDES ECC 5.0 oracle database

    Hallo
    if you have installation guide/steps for IDES ECC 5.0 (Oracle database) then please send me. also if you have ABAP access key for the IDES ECC 5.0 (SQL 2005 database) . My system details as
    SID=ERP
    instance no=00
    host=sapsrv
    database=SQL 2005
    Waiting for faveroable reply

    I really appreciate response for my question.
    I am trying to install a non-IDES version of ECC 5.0 (central, database, and dialog instances).
    Questoin : Do I need install Solution Manager 3.2 on the same server where I am installing ECC 5.0?

  • How to develope application for converting excel data into oracle database

    I am very new to the oracle world. I want to develop application for converting excel sheet into oracle database using oracle forms. I have basic knowldge of oracle but i am totally new to the forms. Can anybody tel me step by step procedure to do this task? Please help me out in this problem.
    Thanx in advance.

    Hello,
    just do a "Search" in this forum with words "excell to oracle"... and you could find lot of posts about that, i.e.:
    Re: How to load excel-csv file into oracle database
    Jose L

  • Performance issue with Oracle data source

    Hi all,
    I've a rather strange problem that I'm stuck on need some assistance on.
    I have a rules file which drags data in via an SQL data source thats an Oracle server. If I cut/paste the 3 sections of "select" "from" and "where" into SQL-Developer and run the query, it takes less than 1 second to complete. When I run the "load data" with this rule file or even use the "Retrieve" with the rules file edit, it takes up to an hour to complete/retrieve the data.
    The table in question being used has millions of rows and I'm using one of the indexed fields to retrieve the data. It's as if the Essbase/Rule file is ognoring the index, or I have a config issue with the ODBC settings on the server that is causing the problem.
    ODBC.INI file entry for the Oracle server as follows (changed any sensitive info to xxx or 999).
    [XXX]
    Driver=/opt/data01/hyperion/common/ODBC-64/Merant/5.2/lib/ARora22.so
    Description=DataDirect 5.2 Oracle Wire Protocol
    AlternateServers=
    ApplicationUsingThreads=1
    ArraySize=60000
    CachedCursorLimit=32
    CachedDescLimit=0
    CatalogIncludesSynonyms=1
    CatalogOptions=0
    ConnectionRetryCount=0
    ConnectionRetryDelay=3
    DefaultLongDataBuffLen=1024
    DescribeAtPrepare=0
    EnableDescribeParam=0
    EnableNcharSupport=0
    EnableScrollableCursors=1
    EnableStaticCursorsForLongData=0
    EnableTimestampWithTimeZone=0
    HostName=999.999.999.999
    LoadBalancing=0
    LocalTimeZoneOffset=
    LockTimeOut=-1
    LogonID=xxx
    Password=xxx
    PortNumber=1521
    ProcedureRetResults=0
    ReportCodePageConversionErrors=0
    ServiceType=0
    ServiceName=xxx
    SID=
    TimeEscapeMapping=0
    UseCurrentSchema=1
    Can anyone please advise on this lack of performance.
    Thanks in advance
    Bagpuss

    One other thing that I've seen is that if your Oracle data source and Essbase server are in different geographic locations, you can get some delay when it retrieves data over the WAN. I guess there is some handshaking going on when passing the data from Oracle to Essbase (either by record or groups of records) that is slowed WAY down over the WAN.
    Our solution to this was remove teh query out of the load rule, run it via SQL+ on a command line at the geographic location where the Oracle database is, then ftp the resulting file to where the Essbase server is.
    With upwards of 6 million records being retrieved, it took around 4 hours in the load rule, but running the query via command line took 10 minutes, then the ftp took less than 5.

  • Performance Issue in Oracle EBS

    Hi Group,
    I am working in a performance issue at customer site, let me explain the behaviour.
    There is one node for the database and other for the application.
    Application server is running all the services.
    EBS version is 12.1.3 and database version is: 11.1.0.7 with AIX both servers..
    Customer has added memory to both servers (database and application) initially they had 32 Gbytes, now they have 128 Gbytes.
    Today, I have increased memory parameters for the database and also I have increased JVM's proceesses from 1 to 2 for Forms and OAcore, both JVM's are 1024M.
    The behaviour is when users are navigating inside of the form, and they push the down button quickly the form gets thinking (reloading and waiting 1 or 2 minutes to response), it is no particular for a specific form, it is just happening in several forms.
    Gathering statistics job is scheduled every weekend, I am not sure what can be the problem, I have collected a trace of the form and uploaded it to Oracle Support with no success or advice.
    I have just send a ping command and the reponse time between servers is below to 5 ms.
    I have several activities in mind like:
    - OATM conversion.
    - ASM implementation.
    - Upgrade to 11.2.0.4.
    Has anybody had this behaviour?, any advice about this problem will be really appreciated.
    Thanks in advance.
    Kind regards,
    Francisco Mtz.

    Hi Bashar, thank you very much for your quick response.
    If both servers are on the same network then the ping should not exceed 2 ms.
    If I remember, I did a ping last Wednesday, and there were some peaks over 5 ms.
    Have you checked the network performance between the clients and the application server?
    Also, I did a ping from the PC to the application and database, and it was responding in less than 1 ms.
    What is the status of the CPU usage on both servers?
    There aren't overhead in the CPU side, I tested it (scrolling getting frozen) with no users in the application.
    Did this happen after you performed the hardware upgrade?
    Yes, it happened after changing some memory parameters in the JVM and the database.
    Oracle has suggested to apply the latest Forms patches according to this Note: Doc ID 437878.1
    Thanks in advance.
    Kind regards,
    Francisco Mtz.

  • Performance Issue Tracking In Database Level.

    Hi All,
    I am sorry, actually i dont know whether this is the right question to ask in this forum. Below is my question.
    We are working on Oracle 10g and are supposed to moved to 11G. My question is which text book will be best one for getting knowledge regarding database performance issue in broad level and monitoring and resolving the issues. Please suggest.
    Edited by: 930254 on Aug 22, 2012 7:56 AM

    Troubleshooting oracle performance ( Apres) is one book I found very useful along with the Oracle documentation (http://www.oracle.com/pls/db112/to_toc?pathname=server.112/e10822/toc.htm).
    btw, please mark the thread as 'answered', if you feel you got your question answered. This will save the time of others who search for open questions to answer.
    regards,
    CSM

  • Severe performance issues in production database

    Hi Experts,
    we have configured RMAN in our production database recently using some 3 party tool COMMVAULT.
    Problem is just 47 GB database taking around 6 hrs of time to complted the bakcup job. Please let me know what could be the reason.
    Further to this issues i found out some of few things, our application vendor commissioned this database server and it seems that they done some changes in TIMEZONE settings.
    when i query against some of few dictionary tables for example dba_schedular_jobs i am getting the following error.
    ORA-01882: timezone region %s not found
    when ever i connect the database , the connection itself is very slow and suffering severe performance issues in my production database.
    You help would be much appreciated.
    Regards,
    Salai

    Hi,
    also let us know if you use asm or local file system for datafiles.
    Your backup strategy will also be helpful:
    Do you make compressed backups?
    Full or incremental?
    To where do you backup the database? To the local filesystem, SAN Volume, Offsite Storage, Tape storage?
    Is there any other jobs running while the RMAN job is running?
    Please post the stats that you have gathered over the time period when the backup is running.
    Thanks.

  • Performance issue in oracle 11.1.0.7 version

    Hi ,
    In production environment we have some cronjobs are scheduled, they will run every Saturday. One of the cronjob is taking more time to finish the job.
    Previous oracle version is 10.2.0.4, that time it was taking 36hrs to complete it. After upgrading to 11gr1, now it's taking 47hrs some time 50hrs to finish.
    I have asked my production DBA take AWR report after finish the cronjob.
    Now he sent the AWR report, but i don't know how to read it. Can you please help me to read the AWR reports, and i need to give some recommendations to reduce the overall running time.
    I don't know how to attach the AWR report here.
    Please help me on this.
    Thanks
    Shravan Kumar

    Hi,
    Now he sent the AWR report, but i don't know how to read it. Can you please help me to read the AWR reports, and i need to give some recommendations to reduce the overall running time.An't you a DBA? Probably you should seek help of you DBA to read the AWR and mean while you should also have AWR of 10g where this job was running previously so that you can compare the things.
    Did you do a testing before upgrade? you SHOULD have done a thorough testing of your applications/reports before the upgrade and resolve the performance issues before the production upgrade.
    Mean while you do investigation, you can set optimizer_features_enable=10.2.0.4 for only cron job session to check whether you job returns to same 26 hours time
    alter session set optimizer_features_enable='10.2.0.4';Salman

  • Multibyte issue in Oracle Database Link

    Hi Gurus,
    Greetings!!!
    I need to transfer data from Microsoft SQL Server 2005 to Oracle DAtabase 10g. I achieved it using Heterogeneous Connectivity. I can now issue queries but unfortunately i got an issue in displaying multibyte characters. I thought of using another Tool that can display multibyte data but it did not help. I even tried setting the initialization parameter HS_LANGUAGE to different characterset but still not able to display. Kindly help and advise how to resolve the said issue.
    Many Thanks in Advance,
    Benjie

    Hi Kamkan,
    My oracle database is configured to support multi language character.
    PARAMETER     VALUE
    NLS_LANGUAGE     AMERICAN
    NLS_TERRITORY     AMERICA
    NLS_CURRENCY     $
    NLS_ISO_CURRENCY     AMERICA
    NLS_NUMERIC_CHARACTERS     .,
    NLS_CHARACTERSET     AL32UTF8
    NLS_CALENDAR     GREGORIAN
    NLS_DATE_FORMAT     DD-MON-RR
    NLS_DATE_LANGUAGE      AMERICAN
    NLS_SORT     BINARY
    NLS_TIME_FORMAT     HH.MI.SSXFF AM
    NLS_TIMESTAMP_FORMAT     DD-MON-RR HH.MI.SSXFF AM
    NLS_TIME_TZ_FORMAT     HH.MI.SSXFF AM TZR
    NLS_TIMESTAMP_TZ_FORMAT     DD-MON-RR HH.MI.SSXFF AM TZR
    NLS_DUAL_CURRENCY     $
    NLS_COMP     BINARY
    NLS_LENGTH_SEMANTICS     BYTE
    NLS_NCHAR_CONV_EXCP     FALSE
    NLS_NCHAR_CHARACTERSET     AL16UTF16
    NLS_RDBMS_VERSION     10.2.0.1.0

  • Performance issue with Oracle Text index

    Hi Experts,
    We are on Oracle 11.2..0.3 on Solaris 10. I have implemented Oracle Text in our environment and I am facing a strange performance issue that is happening in our environment.
    One sql having CONTAINS clause is taking forever - more than 20 minutes and still does not complete. This sql has a contains clause and an exists clause and a not exists clause.
    Now if I remove the exists clause and a not exists clause , it completes fast. but with those two clauses it is just taking forever. It is late night so i am not able to post the table and sql query details and will do so tomorrow but based on this general description, are there any pointers for me to review?
    sql query doing fine:
    SELECT
        U.CLNT_OID, U.USR_OID, S.MAILADDR
    FROM
        access_usr U
        INNER JOIN access_sia S
            ON S.USR_OID = U.USR_OID AND S.CLNT_OID = U.CLNT_OID
        WHERE U.CLNT_OID = 'ABCX32S'
        AND CONTAINS(LAST_NAME , 'TO%' ) >0
    --sql query that hangs forever:
    SELECT
        U.CLNT_OID, U.USR_OID, S.MAILADDR
    FROM
        access_usr U
        INNER JOIN access_sia S
            ON S.USR_OID = U.USR_OID AND S.CLNT_OID = U.CLNT_OID
        WHERE U.CLNT_OID = 'ABCX32S'
        AND CONTAINS(LAST_NAME , 'TO%' ) >0
    and exists (--one clause here wiht a few table joins)
    and not exists (--one clause here wiht a few table joins);
    --Now another strange thing I found is if instead of 'TO%' in this sql, if I were to use 'ZZ%' or 'L1%' it works fast but for 'TO%' it goes slow with those two exists not exists clauses!
    I will be most thankful for the inputs.
    OrauserN

    Hi Barbara,
    First of all, thanks a lot for reviewing the issue.
    Unluckily making the change to empty_stoplist did not work out. I am today copying the entire sql here that has this issue and will be most thankful for more insights/pointers on what can be done.
    Here is the entire sql:
    SELECT U.CLNT_OID,
           U.USR_OID,
           S.EMAILADDRESS,
           U.FIRST_NAME,
           U.LAST_NAME,
           S.JOBCODE,
           S.LOCATION,
           S.DEPARTMENT,
           S.ASSOCIATEID,
           S.ENTERPRISECOMPANYCODE,
           S.EMPLOYEEID,
           S.PAYGROUP,
           S.PRODUCTLOCALE
      FROM    ACCESS_USR U
           INNER JOIN
              ACCESS_SIA S
           ON S.USR_OID = U.USR_OID AND S.CLNT_OID = U.CLNT_OID
    WHERE     U.CLNT_OID = 'G39NY3D25942TXDA'
           AND EXISTS
                  (SELECT 1
                     FROM ACCESS_USR_GROUP_XREF UGX
                          INNER JOIN ACCESS_GROUP RELG
                             ON     RELG.CLNT_OID = UGX.CLNT_OID
                                AND RELG.GROUP_OID = UGX.GROUP_OID
                          INNER JOIN ACCESS_GROUP G
                             ON     G.CLNT_OID = RELG.CLNT_OID
                                AND G.GROUP_TYPE_OID = RELG.GROUP_TYPE_OID
                    WHERE     UGX.CLNT_OID = U.CLNT_OID
                          AND UGX.USR_OID = U.USR_OID
                          AND G.GROUP_OID = 920512943
                          AND UGX.INCLUDED = 1)
           AND NOT EXISTS
                      (SELECT 1
                         FROM    ACCESS_USR_GROUP_XREF UGX
                              INNER JOIN
                                 ACCESS_GROUP G
                              ON     G.CLNT_OID = UGX.CLNT_OID
                                 AND G.GROUP_OID = UGX.GROUP_OID
                        WHERE     UGX.CLNT_OID = U.CLNT_OID
                              AND UGX.USR_OID = U.USR_OID
                              AND G.GROUP_OID = 920512943
                              AND UGX.INCLUDED = 1)
           AND CONTAINS (U.LAST_NAME, 'Bon%') > 0;
    Like I said before if the EXISTS and NOT EXISTS clause are removed it works in sub-second. But with those EXISTS and NOT EXISTS CLAUSE IT TAKES ANY WHERE FROM 25 minutes to more than one hour.
    NOte also that it was not TO% but Bon% in the CONTAINS clause that is giving the issue - sorry that was wrong on my part.
    Also please see below the ORACLE TEXT index defined on the table ACCESS_USER:
    --definition of preferences used in the index:
    SET SERVEROUTPUT ON size unlimited
    WHENEVER SQLERROR EXIT SQL.SQLCODE
    DECLARE
       v_err       VARCHAR2 (1000);
       v_sqlcode   NUMBER;
       v_count     NUMBER;
    BEGIN
       ctxsys.ctx_ddl.create_preference ('cust_lexer', 'BASIC_LEXER');
       ctxsys.ctx_ddl.set_attribute ('cust_lexer', 'base_letter', 'YES'); -- removes diacritics
    EXCEPTION
       WHEN OTHERS
       THEN
          v_err := SQLERRM;
          v_sqlcode := SQLCODE;
          v_count := INSTR (v_err, 'DRG-10701');
          IF v_count > 0
          THEN
             DBMS_OUTPUT.put_line (
                'The required preference named CUST_LEXER with BASIC LEXER is already set up');
          ELSE
             RAISE;
          END IF;
    END;
    DECLARE
       v_err       VARCHAR2 (1000);
       v_sqlcode   NUMBER;
       v_count     NUMBER;
    BEGIN
       ctxsys.ctx_ddl.create_preference ('cust_wl', 'BASIC_WORDLIST');
       ctxsys.ctx_ddl.set_attribute ('cust_wl', 'SUBSTRING_INDEX', 'true'); -- to improve performance
    EXCEPTION
       WHEN OTHERS
       THEN
          v_err := SQLERRM;
          v_sqlcode := SQLCODE;
          v_count := INSTR (v_err, 'DRG-10701');
          IF v_count > 0
          THEN
             DBMS_OUTPUT.put_line (
                'The required preference named CUST_WL with BASIC WORDLIST is already set up');
          ELSE
             RAISE;
          END IF;
    END;
    --now below is the code of the index:
    CREATE INDEX ACCESS_USR_IDX3 ON ACCESS_USR
    (FIRST_NAME)
    INDEXTYPE IS CTXSYS.CONTEXT
    PARAMETERS('LEXER cust_lexer WORDLIST cust_wl SYNC (ON COMMIT)');
    CREATE INDEX ACCESS_USR_IDX4 ON ACCESS_USR
    (LAST_NAME)
    INDEXTYPE IS CTXSYS.CONTEXT
    PARAMETERS('LEXER cust_lexer WORDLIST cust_wl SYNC (ON COMMIT)');
    The strange thing is that, like I said, If I remove the exists clause the query returns very fast. Also if I modify the query to use only one NOT EXISTS clause and remove the other EXISTS clause it returns in less than one second.  Also if I remove the EXISTS clause and use only the NOT EXISTS  clause it returns in less than 4 seconds. But with both clauses it runs forever!
    When I tried to get dbms_xplan.display_cursor to get the query plan (for the case of both exists and not exists clause in the query), it said that previous statement's sql id was 0 or something like that so that I was not able to see the query plan. I will keep trying to get this plan (it takes 25 minutes to one hour each time but will get this info soon). Again any pointers are most helpful.
    Regards
    OrauserN

Maybe you are looking for