Insert statements using function are slow in 10.2.0.3

I am migrating our data warehouse server to newer more powerful hardware, both server and disk are far superior. As part of the migration the oracle rdbms version is also changing from 10.1.0.3 to 10.2.0.3 on RHEL4.
We have some jobs that run and populate some fact tables and when the insert runs on the new server it is at least 6 times slower that on the older hardware. The job that does the inserts uses some funtions to populate some fileds and seems to be the culprit quite possibly?
I can insert many rows quickly in the same table space with all of the same storage parameters and this goes really fast but when we call the functions it really slows down to a crawl?
Is is possible this could be a bug in the 10.2.0.3 rdbms version?

You have not provided substantial amounts of information required to help you.
Here is a partial list.
1. Has anyone collected system statistics on the new system?
http://www.morganslibrary.org/reference/system_stats.html
2. Has anyone produced Explain Plan reports with DBMS_XPLAN to see if the plans are different?
http://www.morganslibrary.org/reference/explain_plan.html
3. Has anyone run StatsPacks to compare the systems?
http://tahiti.oracle.com
We can't help you without knowing what is different.

Similar Messages

  • Financial Statement Structure(Functional Area)

    Dear All,
    Can anyone explain the usage of Functional Area when we Config the Financial Statement.
    Regards,
    Kris

    Hello
    Please check this out and assign points if useful
    Definition
    Account assignment characteristic that sorts operating expenses according to functions, for example:
    Production
    Administration
    Sales
    Research and development
    Use
    If you want to use cost of sales accounting, you have to use functional areas to sort your operating expenses.
    You define your functional areas in Customizing under Financial Accounting ® Financial Accounting Global Settings ® Company code® Cost of Sales Accounting ® Define Functional Area.
    Use
    You can enter the functional area in the master data of the following objects:
    G/L account
    Cost element
    Cost center
    Orders
    Order type
    Internal orders
    Sales order for make-to-order production and requirements class
    Maintenance, service, and QM order
    Production order, product cost controller, and cost object hierarchy
    WBS elements
    Project profile and project definition
    WBS element
    Networks
    Network type
    Network header
    Network activity
    During posting, the system derives the functional area from the master data of the assigned objects. For more information, see  Derivation of the Functional Area.
    Prerequisites
    In order to be able to enter the functional area in the master data of the specified objects, the Functional area field in master data has to be ready for input. For this to be the case, cost of sales accounting for your company codes must either be active for preparation or active.
    You make the settings in Customizing under Financial Accounting ® Financial Accounting Global Settings ® Company Code ® Cost of Sales Accounting ® Activate Cost of Sales Accounting for Preparation or Activate Cost of Sales Accounting.
    The master data of some objects is not company code dependent, rather it is assigned to higher-level organizational units. In such cases, the functional area field is ready for input in all company codes of a client, provided that cost of sales accounting is active for preparation or active for at least one company code of the client.
    In the following cases, the master data of an object is not company code-dependent:
    Object
    Assigned organizational unit
    G/L account
    Chart of accounts
    Cost element
    Chart of accounts
    Cost center category
    Client
    Order type
    Client
    Features
    You have the following options for entry of functional area in the master data of the specified objects:
    Entry of functional area
    You can enter the functional area provided that no postings exist for this object.
    Change functional area
    You can change a functional area that has already been entered as long as no postings exist.
    Where postings already exist, it is no longer possible to change the functional area.
    Postings that have already been made cannot be changed automatically. The functional area is derived only in the case of new postings.
    Where it is absolutely necessary to change the functional area for existing postings, you can find instructions on how to perform the change in Note 115840.

  • Financial statement with Functional Area

    Dear Experts,
    We recently implemented SAP in our company.
    One problem we have is that our Financial statements are just on GL, our Management wants to see the Financial statement break up by departments (Cost centers) & Projects.
    I beleive that this is possible through Functional areas concept, but I don't know completely on how to configure & maintain Functional areas in order to get the Financial statements with Functional area.
    Please guide me a complete configuration step.
    Many Thanks.
    Sunil.

    Thanks Alice, but I partially disagree with your input.
    What is the benefit of maintaining Functional area in the Cost center master data then.
    I have seen some slides of Financial statements with Functional are break up by Cost center categories.
    Please give more idea on this.
    Thanks
    Sunil

  • Generate insert statement using columns from all_tab_cols view

    i am trying to generate a dynamic insert statement using the columns for a table from the all_tab_cols view. if i do a select, i get the output as rows. How do i convert the row out to columns so that i get something like this : INSERT INTO TABLE_NAME (COL1, COL2, COL3,COL4.....) .
    Any help will be appreciated!

    SQL> select * from my_test;
    no rows selected
    SQL> desc my_Test;
    Name                                      Null?    Type
    COL1                                               NUMBER
    COL2                                               NUMBER
    COL3                                               NUMBER
    SQL> declare
      2  cursor c1 is select column_name from all_tab_cols where table_name = 'MY_TEST';
      3  v_sql VARCHAR2(10000) := NULL;
      4  v_cnt NUMBER := 0;
      5  BEGIN
      6  FOR I in C1 LOOP
      7  v_cnt := v_cnt + 1;
      8  v_sql := 'INSERT INTO my_test('||I.column_name||') values('||v_cnt||')';
      9  EXECUTE IMMEDIATE v_sql;
    10  END LOOP;
    11  COMMIT;
    12  end;
    13  /
    PL/SQL procedure successfully completed.
    SQL> select * from my_Test;
          COL1       COL2       COL3
             1
                        2
                                   3
    SQL>

  • Financial statement  version:functional area

    Hi,
    I created a financial statement  version with functional area and run it(S_PL0_86000032 ) , most items are correct, however, the item which assigned function area always 0, this means that system can not get any data via function area. would anyone help me?
    Rgds,
    Wubin

    Hello
    If you want to define a financial statement version with functional areas, these functions are limited. You cannot use the following functions:
            Balance-Dependent Display
    You cannot display functional areas dependent on the balance, that is, assign them to a different item dependent on the balance.
    ·        Debit/Credit Shift
    You cannot define items to which you have assigned functional areas as debit/credit shift items.
    ·        Check for Completeness
    You cannot use the check for completeness for financial statement versions with functional areas.
    You also have to carry out the following additional activities:
           1.      When you enter the general data, set the Functional area permitted indicator.
    You then have the option of assigning either accounts or functional areas to an item in your financial statement version.
           2.      Assign the required functional areas or functional area intervals to your P&L items
    Before setting the indicator please go through this help link
    http://help.sap.com/saphelp_erp2005vp/helpdata/en/b5/688b8ea30d11d39759006094b969cf/frameset.htm
    regards

  • KSU5 Assessment can't use Functional Area as a sender?

    I have created a assessment cycle using cost center ,functional area and cost element as sender.
    When I entry the functional area as sender in KSU1 and then execute KSU5 will has the message u201Cno valid receiveru201D
    Anyone has the same issue?

    Dear Christian:
    if I let the function area empty in sender,it won't have the message and get the receiver.
    ex. I entry CTR 1000,function area "admin" and cost element "400000"as the senter and receiver CTR "1100" and "1200"
    It  will have the error message "no valid receiver" when I execute KSU5.
    But if I remove the functional area as the sender.the cycle can get the receiver CTR "1100" and "1200".
    The problem is I need to use the Functional area as the sender too .

  • Problem With Insert statement using field symbols with unicode enabled

    I was writng a function module for dyanamic operations on the table. We are using the field symbols, function module is unicode enabled.
    Assign statements are working fine, with which we created work are <fs_wa_header> and internal table <fs_tb_item> dynamically based on the table name (IM_TB_HENAME) which we get as import parameter.
    we have query which is giving us dump.
    INSERT  (IM_TB_HENAME)  FROM <FS_WA_HEADER>.

    Hi
    INSERT (IM_TB_HENAME) FROM <FS_WA_HEADER> is good for inserting a line in the database, so IM_TB_HENAME has to have the name of dictionary table.
    U should write:
    INSERT  <FS_WA_HEADER> INTO (IM_TB_HENAME).
    But I believe you can't use the variable IM_TB_HENAME, you should use another field-symbols:
    ASSIGN (IM_TB_HNAME) TO <FS_TB_ITEM>.
    INSERT  <FS_WA_HEADER> INTO <FS_TB_ITEM>.
    Max

  • Generate SQL Insert Statement using EXPORTED dmp file

    Dear DBAs,
    Kindly inform me that is it possible to generate SQL script file using the exported file dmp,
    I am looking for some option in import utility that generates script without import any rows in the database
    Secondly is there any other way to check the validity of exported dmp file data validity without importing it back into the database.
    Regards,
    Asif

    Hi Satish,
    Yes you are correct the insert into statements won't be avaliable using either the indexfile or the show parameter.I had given these two options as per his 1st post requirement where he had mentioned
    >
    it possible to generate SQL script file using the exported file dmp,I am looking for some option in import utility that generates script without import any rows in the database
    >
    So, i thought he needed to see whats all objects are in the .dmp
    Apologies for my 2nd post.
    Anand

  • Update statement using function

    Environment: Win7 and SQL server 2008 R2
    Tools: SQL management tool 2008 R2
    Problem: I have been trying to update id numbers in the staging table. T-SQL statement updates all id number in the staging table, but what if the we have multiple records for the same person who we are assigning the ID to his/her record. It should generate
    one pn_id per ssn regadless if there are several records for the same individual. for example, my code assigns the following id: 
    Student table (ID, ssn, name, subject, grade, year)
    (288258466,192160792 , Sally Johnson, Math, A, 2014 )
    (176268917, 192160792, Sally Johnson, Spanish, B+, 2014 )
    (900303787, 770616858, Jessica Simpson, Spanish, B, 2014 )
    (704099635, 770616858, Jessica Simpson, IT, A, 2014 )
    (704099640, 444718562, Douglas Mike, IT, A, 2014 )
    (288258450, 31883459, Susan Jesson, IT, A, 2014 )
    (176268960, 260518681, Veronica Floris, IT, A, 2014 )
    The expected results should be as the following in the staging table
    Student table (ID, ssn, name, subject, grade, year)
    (288258466,192160792 , Sally Johnson, Math, A, 2014 )
    (288258466, 192160792, Sally Johnson, Spanish, B+, 2014 )
    (900303787, 770616858, Jessica Simpson, Spanish, B, 2014 )
    (900303787, 770616858, Jessica Simpson, IT, A, 2014 )
    (704099640, 444718562, Douglas Mike, IT, A, 2014 )
    (288258450, 31883459, Susan Jesson, IT, A, 2014 )
    (176268960, 260518681, Veronica Floris, IT, A, 2014 )
    My code:
    UPDATE a
    SET pn_id = (Select dbo.gen_id())
    from [dbo].[Staging_Table] a
    where SSN in (Select SSN from [dbo].[staging_Table]
    group by SSN having count(SSN) > 1)
    GO
    I also tried the following code but no success
    ;with cte
    As
    Select * , ROW_NUMBER() Over(Partition BY ssn Order by ssn) As MyCount
    from dbo.Staging_Table
    Select * into #a from cte where MyCount=1
    UPDATE a
    SET pn_id = (Select dbo.fn_gen_id())
    from staging_table a
    Full join #a b on a.ssn = b.ssn
    Drop table #a
    please help.

    I ran some tests and Sandra is correct, you don't always get the same value for all occurrences of the same SSN.
    After thinking about this, I think I understand why this happens.
    With functions, SQL is allowed to assume that multiple calls to a function in a single command with the same parameter values always return the same result.  That's why functions cannot use side-effecting functions and is not allowed to make changes
    to any table except table variables declared in the function.
    And SQL is allowed to rearrange the processing of a command in any manner it believes is most efficient as long as it returns the same result.  So even though the query I gave says first get a set of distinct SSN's and then calls the function only once
    for each SSN, it is valid for SQL to instead call the function once for each row in the original table since this function has no parameters and is therefore should return the same value on each call.  But since the function being called apparently (we've
    not seen the code of the function) returns different values on different calls, the same SSN could be assigned different values, but SQL would still be working correctly.
    Note that it would also be valid for SQL to notice that this function has no parameters and therefore should return the same value every time it is called within the same command and so just call the function once per execution of the command.  This
    would mean that every SSN would get the same ID.  As far as I can determine currently SQL does not do that but a different version in the future with a different optimizer might.
    Tom

  • SQL statement with Function returns slow in Interactive Report

    I have an Interactive Report that returns well but when I add in a function call in the where clause that does nothing but return a hard coded string of primary keys and is compared to a table's primary key with a like operator the performance tanks. Here is the example:
    get_school2_section(Y.pk_id,M.pk_id,I.section,:P577_SECTION_SHUTTLE) LIKE '%:' || I.pk_id || ':%'
    I have the values hard coded in the return of the function. There are no cursors run in the function, there is no processing done in the function. It only declares a variable. Sets the variable, and returns that variable back to the SQL statement.
    I can hard code the where clause value to look like this:
    ':90D8D830A877CCFFE040010A347D1A50:8ED0BBFDEAACC629E040010A347D6471:9800B8FDBD22B761E040010A347D0D9A:' LIKE '%:' || I.pk_id || ':%'
    This returns fast. When I add in the function call which returns the same hard coded values, the page goes from returning in 1 to 2 seconds to 45 or more seconds.
    Why does adding a simple function call into the where clause cause such a deterioration in performance.
    Edited by: alamantia on Aug 17, 2011 7:39 AM
    Edited by: alamantia on Aug 17, 2011 7:40 AM

    So you are telling me that the where clause with a function call will NOT run the function on every row? Please explain that to me further?
    if you have code that is the following:
    select a,b,c from a_table where a > 2 and b < 3 and function_call(c) > 0You are telling me that Oracle will NOT call that function on EVERY row it tries to process in the select?
    Thank you,
    Tony Miller
    Webster, TX
    I cried because I did not have an office with a door until I met a man who had no cubicle.
    -Dilbert
    If this question is answered, please mark the thread as closed and assign points where earned..

  • Use NEXTVAL in an insert statement Part II

    db - 10g
    I am asking this question out of curiosity.
    I posted a question and recieved a successful answer at the following address on this forum;
    Use NEXTVAL in an insert statement
    The following insert statement uses a sequence to create an arbitrary number for each null record. The problem is, the sequence is firing regardless of the condition being true or false (but it is working in that it only inserts values when the condition is true). The result is the sequence appears to increment each time it loops through the cursor and so the first arbitrary number to be inserted is not 1001 but some other higher number.
    INSERT INTO psp_trees
    ( plot_id
    , tree_name
    , species_code)
    VALUES
    ( get_plot_id
    , c1.treenum          
    , c1.species
    ) RETURNING tree_id INTO get_tree_id;   I have gotten around the issue by removing the sequence from the insert statement and placing it outside the cursor loop as an update statement.
          UPDATE psp_trees
             SET tree_name = to_char(tree_arbitrary_name_seq.nextval)
           WHERE tree_name IS NULL;Is there anyway to get the sequence to only fire in the insert statement when the condition is true.
    This is the complete anonymous block for your reference;
    DECLARE p_access_num NUMBER;
    col_access_var VARCHAR2(30);
    type number_ptb IS table OF VARCHAR2(4000);
    p_access_nam number_ptb;
    get_plot_measurement_id NUMBER;
    update_plot_measurements VARCHAR2(4000);
    get_tree_id NUMBER;
    get_plot_id NUMBER;
    BEGIN
        p_access_num := 6;
        p_access_nam := number_ptb();
        p_access_nam.extend(7);
        p_access_nam(1) := 535;
        p_access_nam(2) := 548;
        p_access_nam(3) := 898;
        p_access_nam(4) := 544;
        p_access_nam(5) := 551;
        p_access_nam(6) := 724;
        FOR loop_int IN 1 .. p_access_num
        LOOP
          col_access_var := p_access_nam(loop_int);
          -- 1. Initiate insert process by getting PK from psp_plots.
          SELECT plot_id INTO get_plot_id FROM psp_plots WHERE plot_name = col_access_var;    
          -- 2. Insert records into psp_plot_measurements and keep relationship with psp_plots with variable get_plot_id.
          --    and get primary key value of psp_plot_measurements to insert into psp_tree_measurements during loop process.
          INSERT INTO psp_plot_measurements (plot_id) VALUES (get_plot_id) RETURNING plot_measurement_id INTO get_plot_measurement_id;   
          -- 3. Update record created at point 2.
          UPDATE psp_plot_measurements
             SET measurement_date    = (SELECT DISTINCT date_ FROM pspdata)
               , codominant_height   = (SELECT DISTINCT height_codom FROM pspdata)
               , assessor            = (SELECT DISTINCT assessor FROM pspdata)
           WHERE plot_measurement_id = col_access_var
          -- 4. Open cursor to insert rows one at a time and maintain relationships between related tables.
          FOR c1 IN (SELECT treenum
                          , dbhob
                          , treecomments
                          , species
                       FROM pspdata
                      WHERE plotnumber = col_access_var
                        AND date_ IS NOT NULL)     
              LOOP   
                -- 5. Insert record into psp_trees
                --    and get primary key value of psp_trees to insert into psp_tree_measurements.
                INSERT INTO psp_trees
                ( plot_id
                , tree_name
                , species_code)
                VALUES
                ( get_plot_id
                , c1.treenum
                --, NVL(c1.treenum , to_char(tree_arbitrary_name_seq.nextval))
                --, (CASE WHEN c1.treenum IS NULL THEN to_char(tree_arbitrary_name_seq.nextval) ELSE c1.treenum END)
                , c1.species
                ) RETURNING tree_id INTO get_tree_id;   
                -- 6. Insert records into psp_tree_measurements and keep relationship with psp_trees with variable get_tree_id.
                INSERT INTO psp_tree_measurements
                ( plot_measurement_id
                , tree_id
                , dbhob          
                , comments
                VALUES
                ( get_plot_measurement_id
                , get_tree_id
                , c1.dbhob
                , c1.comment
              END LOOP;         
      END LOOP; 
          -- 7. Update null columns with arbitrary number.
          UPDATE psp_trees
             SET tree_name = to_char(tree_arbitrary_name_seq.nextval)
           WHERE tree_name IS NULL;
    END;
    /Edited by: benton on Sep 6, 2011 1:53 PM

    Or use a function (I'll use dbms_xml.getxml):
    SQL> create sequence s_seq nocache
    Sequence created.
    SQL> select case when mod (level, 2) = 0
                then extractvalue(dbms_xmlgen.getxmltype('select s_seq.nextval from dual'), '//text()')
                else '0' end col1
              from dual connect by level < 20
    COL1                                                                           
    0                                                                              
    1                                                                              
    0                                                                              
    2                                                                              
    0                                                                              
    3                                                                              
    0                                                                              
    4                                                                              
    0                                                                              
    5                                                                              
    0                                                                              
    6                                                                              
    0                                                                              
    7                                                                              
    0                                                                              
    8                                                                              
    0                                                                              
    9                                                                              
    0                                                                              
    19 rows selected.
    SQL> select sequence_name, last_number from user_sequences where sequence_name = 'S_SEQ'
    SEQUENCE_NAME                  LAST_NUMBER
    S_SEQ                                   10
    1 row selected.

  • Functional Area Reporting using Report Painter/Report Writer

    Hi,
    Could anyone let me know how we can draw up report for a company with functional areas using Report Painter/Report Writer?
    Our client wants to draw Financial Statements on the basis of Functional Area.
    Thanks & Regards,
    Sajan  C P

    <a href="http://help.sap.com/saphelp_47x200/helpdata/en/5f/b77625a0f811d39755006094b969cf/content.htm">Creating a Profit and Loss Statement with Cost of Sales Accounting</a>
    FSI4 for creating forms and FSI1 for creating assocaited reports.
    Standard report 0SAPPRALO-01 Annual Profit and Loss Statement by functional area, can be checked, under FSI3 Type 005.

  • Use Multiple Insert Statements in Prepared Statements

    Hi Friends
    i am stuck in a problem for which i need your help.i will brief you about the issue below.
    I am having Multiple Insert Statements which i need to execute to put the data in the database.i have a doubt about the use of the executeUpdate() function in the statement interface. sample code is as below.
    stmt = conn.prepareStatement("INSERT INTO Client ( clientPk, provincePk, countryPk, statusPk, branchPk, salutation, ) VALUES(PID, 2, '123123123', '123', '66', 1, 1 );");
    int n =stmt.executeUpdate();
    Now the problem is how do i insert multiple Insert statements using the conn.prepareStatement().should i do like
    stmt = conn.prepareStatement("")
    int n =stmt.executeUpdate();
    stmt = conn.prepareStatement("")
    int n =stmt.executeUpdate();
    stmt = conn.prepareStatement("")
    int n =stmt.executeUpdate(); ..................................
    should i use the same steps to execute each individual query and then use executeUpdate().
    Please let me know the correct procedure to be followed to execute these tasks.waiting for a positive reply from your side.
    Thanks & Regards
    Vikram K

    Hi
    Thanks a lot once agin for the reply.
    I think i have figured out the solution. I am using SQL statements in the Prepared statements(""). But now i have dropped the idea of using the prepared statement and decided to use the simple Statement instead.
    what i have done is as below.
    conn = ConnectionFactory.getInstance().getConnection();
    stmt = conn.createStatement();
    stmt.executeUpdate("INSERT INTO Client ( clientPk, provincePk, countryPk, statusPk, branchPk, salutation, heightMeasurementType, weightMeasurementType ) VALUES(PID, '1', '1', '0', '1', 'Mr', CONCAT('Jason ', PID), 'R', 'Mawdsley', '123', '66', 1, 1 );");
    stmt.executeUpdate("INSERT into Cp () Values ()");
    stmt.executeUpdate("INSERT into gp () Values ()");
    stmt.executeUpdate("INSERT into jk () Values ()");
    I think this makes sense to use the Statement and execute all the queries in one shot rather than using PS.
    thanks a lot for your help.
    Regards
    Vikram K

  • Use of Functional Area in FI

    Hi,
    I like to use Functional Area in FI to get some Functional Report from SAP.
    Can anybody let me know whether I can config and use Functional Area with SAP 6.00.
    If it is not obsolete then how the Functional can be activated for FI Posting.
    Regards
    Rahkes

    Hi,
    The functional area derivation under NewGL environment is carried out in the following priority:
    1) Manual entry
    2) Assignment from the G/L account
    3) Assignment from CO object (i.e. cost center, order etc..)
    4) Call-point 6 Substitution
    regards
    Waman

  • How to tune the Insert statement?

    Hi ,
    I am using 10.2.0.4.0 version of oracle.
         i am having one insert statement , which comes almost all the time in the TOP of my AWR elapsed time section.
         And its somewhat similar to as below.
    Query:
    INSERT INTO a (InvoicePK, CheckPK)
    SELECT DISTINCT ih.InvoicePK, cd.CheckPK
    FROM at,
    cd,
    ih,
    rd
    WHERE at.AttachmentPK = :1
    AND cd.CheckPK = at.CheckPK
    AND at.AttachmentPK = rd.AttachPK
    AND ih.PAYPK = cd.PAYEEPAYPK
    AND ih.PayerNS = cd.PayerNS
    AND ih.PayerPayId = cd.PayerPayId
    AND ih.UpperInvoiceNum = rd.UPPERINVNUM
    AND ih.InvoiceStatusCD NOT IN ('REJ', 'DNY');
    Below is the plan for the 'Select ' statement i.e. used in the insert statement.
    Execution Plan:
    Plan hash value: 2232002808
    | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | Pstart| Pstop |
    | 0 | SELECT STATEMENT | | 1 | 193 | 9 (23)| 00:00:01 | | |
    | 1 | HASH UNIQUE | | 1 | 193 | 9 (23)| 00:00:01 | | |
    |* 2 | HASH JOIN | | 1 | 193 | 8 (13)| 00:00:01 | | |
    | 3 | NESTED LOOPS | | 10 | 1740 | 4 (0)| 00:00:01 | | |
    | 4 | NESTED LOOPS | | 1 | 85 | 3 (0)| 00:00:01 | | |
    | 5 | TABLE ACCESS BY INDEX ROWID | at | 1 | 16 | 2 (0)| 00:00:01 | | |
    |* 6 | INDEX UNIQUE SCAN | atpk1 | 1 | | 1 (0)| 00:00:01 | | |
    | 7 | TABLE ACCESS BY INDEX ROWID | cd | 7359K| 484M| 1 (0)| 00:00:01 | | |
    |* 8 | INDEX UNIQUE SCAN | cdpk1 | 1 | | 1 (0)| 00:00:01 | | |
    |* 9 | TABLE ACCESS BY GLOBAL INDEX ROWID| ih | 10 | 890 | 2 (0)| 00:00:01 | ROWID | ROWID |
    |* 10 | INDEX RANGE SCAN | IH_PAYPK_PAYERNS_PAYID | 5 | | 1 (0)| 00:00:01 | | |
    | 11 | TABLE ACCESS BY INDEX ROWID | rd | 9 | 171 | 3 (0)| 00:00:01 | | |
    |* 12 | INDEX RANGE SCAN | IDX_rd | 9 | | 2 (0)| 00:00:01 | | |
    Predicate Information (identified by operation id):
    2 - access("IH"."UPPERINVOICENUM"="RD"."UPPERINVNUM")
    6 - access("AT"."ATTACHMENTPK"=7794833983)
    8 - access("CD"."CHECKPK"="AT"."CHECKPK")
    9 - filter("IH"."INVOICESTATUSCD"<>'REJ' AND "IH"."INVOICESTATUSCD"<>'DNY')
    10 - access("IH"."PAYPK"="CD"."PAYEEPAYPK" AND "IH"."PAYERNS"="CD"."PAYERNS" AND "IH"."PAYERPAYID"="CD"."PAYERPAYID")
    12 - access("RD"."ATTACHPK"=7794833983)
    Statistics
    1 recursive calls
    0 db block gets
    71 consistent gets
    0 physical reads
    0 redo size
    316 bytes sent via SQL*Net to client
    240 bytes received via SQL*Net from client
    2 SQL*Net roundtrips to/from client
    0 sorts (memory)
    0 sorts (disk)
    3 rows processed
    The 'select' Statement executes with in seconds resulting 3 distinct records, but the insert statement takes ~20sec(Elaps time per execution
    as shown in AWR report) for one time execution, so what must be the reason , and how should i proceed to resolve this performance issue?

    You can do as follows:
    - Enable trace
    - execute the insert statement
    - use tkprof (and put the results here) to see where's its taking long
    Also, while insert is being executed, what are the wait events you see ?
    I dont think there is problem with plan.

Maybe you are looking for

  • Remote access vpn ESP problem

    I have remote access vpn configured on cisco 2901 router. Everything works good exept ipad 2 3g. When i am connecting with ipad from 3g network it connects but  it is unable to access corporate resources. I talked to my telephone provaider and they t

  • Video doesn't work on certain sites like CNN, Crackle, ESPN, CBS, and others. It still works on YT.

    On CNN there's just a white space where the headline video normally is, and there's just a black space in the videos section. In Crackle there's just a black space when I click to watch a video. On CBS the little eye logo keeps processing over white

  • Windows live authentication required

    please please help when  got my nokia c3 i set it up on windows live to log on to my emails, this worked well, but i reset my password on laptop and put new password on phone now its asking for authentication reqired, how do i do this ive been on to

  • In ALV fix 3 rows of staring of alv.

    Hello all I am stuck up in one problem . In ALV  I want to fix 3 no of rows. i.e. 3 these 3 lines should be display in all pages Thanks in advance Nitin

  • [Solved] Two Finger Right Click not working properly

    When I use two fingers to perform a right click for example in chrome, then the context menu appears only for a blink of an eye and disappears directly again. (The issue appears independently from the application - I checked that) Here is my synclien