This discussion is archived
11 Replies Latest reply: Jun 27, 2013 5:56 AM by user10458939 RSS

update of a query hangs, until the hanged table is not analyzed.

user10458939 Newbie
Currently Being Moderated
Hi Experts,

We are facing an issue since last 2 weeks, one of the update query in application hangs the entire BOD process.
Previously it was working fine and after 2-3 days of holiday when came back, issue started occurring.
Application proceeds only when the table is analyzed.

We were faced same issue 6 months ago, there we just excluded the (culprit) table from index rebuild as table was getting truncated in every-day's BOD process, issue got resolved.

We have scheduled schema analyze for everyday early morning and index rebuilding every Sunday.

During the BOD process
1. Existing rows from culprit table are transferred to history table
2. Same Table gets truncated
3. Fresh sets of records gets inserted, number of rows inserted may vary day to day basis.
4. After insert particular column gets updated which takes time and need manual intervention (i.e. need to Analyze table). <---- This the update statement which is causing problem).
5. After analyzing the table application responses within 5 minute, otherwise takes 45 minutes or more to complete. Ideally takes 5 minutes to complete the same.

Kindly help help us in the issue, as business hours are delayed everyday because of issue.

Forgot to mentioned the setup is 10.2.0.4 and 2-node RAC.

Thanks in Advance.

Edited by: user10458939 on Nov 28, 2012 11:44 PM
  • 1. Re: update of a query hangs, until the hanged table is not analyzed.
    JohnWatson Guru
    Currently Being Moderated
    If I understand you correctly, your BOD process runs fine if you analyze the table as step 3.5, after the insert and before the update. Well, is there any problem with doing just that?
    Incidentally, you might want to reconsider your policy on rebuilding indexes. But that is a whole different discussion.
  • 2. Re: update of a query hangs, until the hanged table is not analyzed.
    onedbguru Pro
    Currently Being Moderated
    After truncating the table, is there an analyze job that analyzes the "empty" table before continuing the BOD process per chance?

    Change your process just a bit to:

    analyze and SAVE known/good results ONE time.

    process data
    truncate table
    copy "SAVEd" stats to this table
    continue processing...

    There are docs that explain how to copy/restore the known/good stats.
  • 3. Re: update of a query hangs, until the hanged table is not analyzed.
    user10458939 Newbie
    Currently Being Moderated
    Hi ,

    First let me thank you all this is my first post on OTN.

    If I understand you correctly, your BOD process runs fine if you analyze the table as step 3.5, after the insert and before the update. Well, is there any problem with doing just that?

    Ans : Yes. before update everything works fine. Then it starts updating and users call us after waiting for 20-25 minutes, saying session got hang. When we check at the back-end, there is lock on the table (obviously this lock lock is for update going on the table).
    Here it gets hanged then I have to analyze the table and process goes through.

    Want to share that this info just got it yesterday --- When I checked the update query's sql_id there were two plans for the same query.
    I think d/b is taking the plan which takes more time.

    =====================================================================================================
    SQL> select sql_id, hash_value, child_number, sorts, SQL_PROFILE, CPU_TIME, PARSE_CALLs from v$sql where sql_id='4j2svg43f24cn';

    SQL_ID HASH_VALUE CHILD_NUMBER SORTS SQL_PROFILE CPU_TIME PARSE_CALLS
    ------------- ---------- ------------ ---------- ---------------------------------------------------------------- ---------- -----------
    4j2svg43f24cn 115413396 0 0 43765 274
    4j2svg43f24cn 115413396 1 0 135404007 67391
    =====================================================================================================

    Is it the 2nd row is the plan which is causing this issue?

    Thanks.
  • 4. Re: update of a query hangs, until the hanged table is not analyzed.
    user10458939 Newbie
    Currently Being Moderated
    Thanks for reply,

    I think what you are saying is nearer to the issue I am facing.

    Because I see to different plans for the sql_id, out of which one takes more cpu_time and parse_calls than other one.

    I am just posting the output of both xplain plans here.


    When I don't use table analyze at the time this plan is used.


    SQL> select * from table(dbms_xplan.display_cursor('4j2svg43f24cn'));

    PLAN_TABLE_OUTPUT
    --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    SQL_ID 4j2svg43f24cn, child number 0
    -------------------------------------
    UPDATE T_DEUSCHE_HOLDING_TODAY SET UNIT_COST = :p1 WHERE ((PORTFOLIO_DATE = :p2) AND
    (CLIENT_CODE = :p3) AND (PRODUCT_CODE = :p4) AND ((:p5 = 1 AND ASSET_GROUP IS NULL) OR
    (ASSET_GROUP = :p6)) AND ((:p7 = 1 AND ASSET_SUB_CLASS_CODE IS NULL) OR (ASSET_SUB_CLASS_CODE =
    :p8)) AND (INSTRUMENT_CODE = :p9) AND ((:p10 = 1 AND QTY IS NULL) OR (QTY = :p11)) AND ((:p12 =
    1 AND MKT_PRICE IS NULL) OR (MKT_PRICE = :p13)) AND ((:p14 = 1 AND SALEABLE IS NULL) OR
    (SALEABLE = :p15)) AND ((:p16 = 1 AND UNIT_COST IS NULL) OR (UNIT_COST = :p17)) AND ((:p18 = 1
    AND MARGIN_PAYABLE IS NULL) OR (MARGIN_PAYABLE = :p19)))

    Plan hash value: 1592606752

    PLAN_TABLE_OUTPUT
    --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    --------------------------------------------------------------------------------------------------------
    | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
    --------------------------------------------------------------------------------------------------------
    | 0 | UPDATE STATEMENT | | | | 2 (100)| |
    | 1 | UPDATE | T_DEUSCHE_HOLDING_TODAY | | | | |
    |* 2 | TABLE ACCESS BY INDEX ROWID| T_DEUSCHE_HOLDING_TODAY | 1 | 52 | 2 (0)| 00:00:01 |
    |* 3 | INDEX UNIQUE SCAN | PK_HOLDING_TODAY | 1 | | 1 (0)| 00:00:01 |
    --------------------------------------------------------------------------------------------------------

    Predicate Information (identified by operation id):

    PLAN_TABLE_OUTPUT
    --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    ---------------------------------------------------

    2 - filter((("QTY"=:P11 OR ("QTY" IS NULL AND :P10=1)) AND ("UNIT_COST"=:P17 OR ("UNIT_COST"
    IS NULL AND :P16=1)) AND ("SALEABLE"=:P15 OR ("SALEABLE" IS NULL AND :P14=1)) AND
    ("MKT_PRICE"=:P13 OR ("MKT_PRICE" IS NULL AND :P12=1)) AND ("MARGIN_PAYABLE"=:P19 OR (:P18=1
    AND "MARGIN_PAYABLE" IS NULL)) AND ("ASSET_SUB_CLASS_CODE"=:P8 OR ("ASSET_SUB_CLASS_CODE" IS
    NULL AND :P7=1)) AND ("ASSET_GROUP"=:P6 OR ("ASSET_GROUP" IS NULL AND :P5=1))))
    3 - access("PORTFOLIO_DATE"=:P2 AND "PRODUCT_CODE"=:P4 AND "CLIENT_CODE"=:P3 AND
    "INSTRUMENT_CODE"=:P9)


    32 rows selected.

    SQL> spool off;


    When I analyze table this is the explain plan used.


    PLAN_TABLE_OUTPUT
    --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    SQL_ID 4j2svg43f24cn, child number 0
    -------------------------------------
    UPDATE T_DEUSCHE_HOLDING_TODAY SET UNIT_COST = :p1 WHERE ((PORTFOLIO_DATE = :p2) AND
    (CLIENT_CODE = :p3) AND (PRODUCT_CODE = :p4) AND ((:p5 = 1 AND ASSET_GROUP IS NULL) OR
    (ASSET_GROUP = :p6)) AND ((:p7 = 1 AND ASSET_SUB_CLASS_CODE IS NULL) OR (ASSET_SUB_CLASS_CODE =
    :p8)) AND (INSTRUMENT_CODE = :p9) AND ((:p10 = 1 AND QTY IS NULL) OR (QTY = :p11)) AND ((:p12 =
    1 AND MKT_PRICE IS NULL) OR (MKT_PRICE = :p13)) AND ((:p14 = 1 AND SALEABLE IS NULL) OR
    (SALEABLE = :p15)) AND ((:p16 = 1 AND UNIT_COST IS NULL) OR (UNIT_COST = :p17)) AND ((:p18 = 1
    AND MARGIN_PAYABLE IS NULL) OR (MARGIN_PAYABLE = :p19)))

    Plan hash value: 2851778998

    PLAN_TABLE_OUTPUT
    --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    --------------------------------------------------------------------------------------------------------
    | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
    --------------------------------------------------------------------------------------------------------
    | 0 | UPDATE STATEMENT | | | | 2 (100)| |
    | 1 | UPDATE | T_DEUSCHE_HOLDING_TODAY | | | | |
    |* 2 | TABLE ACCESS BY INDEX ROWID| T_DEUSCHE_HOLDING_TODAY | 1 | 56 | 2 (0)| 00:00:01 |
    |* 3 | INDEX RANGE SCAN | MJ_CLIENT_CODE | 34 | | 1 (0)| 00:00:01 |
    --------------------------------------------------------------------------------------------------------

    Predicate Information (identified by operation id):

    PLAN_TABLE_OUTPUT
    --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    ---------------------------------------------------

    2 - filter(("INSTRUMENT_CODE"=:P9 AND "PRODUCT_CODE"=:P4 AND ("QTY"=:P11 OR ("QTY" IS NULL
    AND :P10=1)) AND ("SALEABLE"=:P15 OR ("SALEABLE" IS NULL AND :P14=1)) AND ("MKT_PRICE"=:P13 OR
    ("MKT_PRICE" IS NULL AND :P12=1)) AND (("UNIT_COST" IS NULL AND :P16=1) OR "UNIT_COST"=:P17)
    AND ("ASSET_SUB_CLASS_CODE"=:P8 OR ("ASSET_SUB_CLASS_CODE" IS NULL AND :P7=1)) AND
    ("ASSET_GROUP"=:P6 OR ("ASSET_GROUP" IS NULL AND :P5=1)) AND "PORTFOLIO_DATE"=:P2 AND
    ("MARGIN_PAYABLE"=:P19 OR (:P18=1 AND "MARGIN_PAYABLE" IS NULL))))
    3 - access("CLIENT_CODE"=:P3)


    32 rows selected.

    SQL> spool off;


    Just trying to guess that, need to something which will take second explain plan to update the table without manual intervention.

    BTW, how can I send attachments, I have taken TKprof during the time of issue. If required I will post it.

    Thanks.
  • 5. Re: update of a query hangs, until the hanged table is not analyzed.
    user10458939 Newbie
    Currently Being Moderated
    Hi,
    Today agian I got some time to check the issue. Posting what exactly happes, before and after table analuze....

    SQL> set line 200
    SQL> select * from table(dbms_xplan.display_cursor('4j2svg43f24cn'));

    PLAN_TABLE_OUTPUT
    --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    SQL_ID 4j2svg43f24cn, child number 0
    -------------------------------------
    UPDATE T_DEUSCHE_HOLDING_TODAY SET UNIT_COST = :p1 WHERE ((PORTFOLIO_DATE = :p2) AND
    (CLIENT_CODE = :p3) AND (PRODUCT_CODE = :p4) AND ((:p5 = 1 AND ASSET_GROUP IS NULL) OR
    (ASSET_GROUP = :p6)) AND ((:p7 = 1 AND ASSET_SUB_CLASS_CODE IS NULL) OR (ASSET_SUB_CLASS_CODE =
    :p8)) AND (INSTRUMENT_CODE = :p9) AND ((:p10 = 1 AND QTY IS NULL) OR (QTY = :p11)) AND ((:p12 =
    1 AND MKT_PRICE IS NULL) OR (MKT_PRICE = :p13)) AND ((:p14 = 1 AND SALEABLE IS NULL) OR
    (SALEABLE = :p15)) AND ((:p16 = 1 AND UNIT_COST IS NULL) OR (UNIT_COST = :p17)) AND ((:p18 = 1
    AND MARGIN_PAYABLE IS NULL) OR (MARGIN_PAYABLE = :p19)))

    Plan hash value: 1592606752

    PLAN_TABLE_OUTPUT
    --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    --------------------------------------------------------------------------------------------------------
    | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
    --------------------------------------------------------------------------------------------------------
    | 0 | UPDATE STATEMENT | | | | 2 (100)| |
    | 1 | UPDATE | T_DEUSCHE_HOLDING_TODAY | | | | |
    |* 2 | TABLE ACCESS BY INDEX ROWID| T_DEUSCHE_HOLDING_TODAY | 1 | 52 | 2 (0)| 00:00:01 |
    |* 3 | INDEX UNIQUE SCAN | PK_HOLDING_TODAY | 1 | | 1 (0)| 00:00:01 |
    --------------------------------------------------------------------------------------------------------

    Predicate Information (identified by operation id):

    PLAN_TABLE_OUTPUT
    --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    ---------------------------------------------------

    2 - filter((("QTY"=:P11 OR ("QTY" IS NULL AND :P10=1)) AND ("UNIT_COST"=:P17 OR ("UNIT_COST"
    IS NULL AND :P16=1)) AND ("SALEABLE"=:P15 OR ("SALEABLE" IS NULL AND :P14=1)) AND
    ("MKT_PRICE"=:P13 OR ("MKT_PRICE" IS NULL AND :P12=1)) AND ("MARGIN_PAYABLE"=:P19 OR (:P18=1
    AND "MARGIN_PAYABLE" IS NULL)) AND ("ASSET_SUB_CLASS_CODE"=:P8 OR ("ASSET_SUB_CLASS_CODE" IS
    NULL AND :P7=1)) AND ("ASSET_GROUP"=:P6 OR ("ASSET_GROUP" IS NULL AND :P5=1))))
    3 - access("PORTFOLIO_DATE"=:P2 AND "PRODUCT_CODE"=:P4 AND "CLIENT_CODE"=:P3 AND
    "INSTRUMENT_CODE"=:P9)


    32 rows selected.

    SQL> -- AFTER TABLE ANALYZING

    SQL> analyze table PMSMGR.T_DEUSCHE_HOLDING_TODAY compute statistics;

    Table analyzed.

    SQL> select * from table(dbms_xplan.display_cursor('4j2svg43f24cn'));

    PLAN_TABLE_OUTPUT
    --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    SQL_ID 4j2svg43f24cn, child number 0
    -------------------------------------
    UPDATE T_DEUSCHE_HOLDING_TODAY SET UNIT_COST = :p1 WHERE ((PORTFOLIO_DATE = :p2) AND
    (CLIENT_CODE = :p3) AND (PRODUCT_CODE = :p4) AND ((:p5 = 1 AND ASSET_GROUP IS NULL) OR
    (ASSET_GROUP = :p6)) AND ((:p7 = 1 AND ASSET_SUB_CLASS_CODE IS NULL) OR (ASSET_SUB_CLASS_CODE =
    :p8)) AND (INSTRUMENT_CODE = :p9) AND ((:p10 = 1 AND QTY IS NULL) OR (QTY = :p11)) AND ((:p12 =
    1 AND MKT_PRICE IS NULL) OR (MKT_PRICE = :p13)) AND ((:p14 = 1 AND SALEABLE IS NULL) OR
    (SALEABLE = :p15)) AND ((:p16 = 1 AND UNIT_COST IS NULL) OR (UNIT_COST = :p17)) AND ((:p18 = 1
    AND MARGIN_PAYABLE IS NULL) OR (MARGIN_PAYABLE = :p19)))

    Plan hash value: 2851778998

    PLAN_TABLE_OUTPUT
    --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    --------------------------------------------------------------------------------------------------------
    | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
    --------------------------------------------------------------------------------------------------------
    | 0 | UPDATE STATEMENT | | | | 2 (100)| |
    | 1 | UPDATE | T_DEUSCHE_HOLDING_TODAY | | | | |
    |* 2 | TABLE ACCESS BY INDEX ROWID| T_DEUSCHE_HOLDING_TODAY | 1 | 52 | 2 (0)| 00:00:01 |
    |* 3 | INDEX RANGE SCAN | MJ_CLIENT_CODE | 34 | | 1 (0)| 00:00:01 |
    --------------------------------------------------------------------------------------------------------

    Predicate Information (identified by operation id):

    PLAN_TABLE_OUTPUT
    --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    ---------------------------------------------------

    2 - filter(("INSTRUMENT_CODE"=:P9 AND "PRODUCT_CODE"=:P4 AND ("QTY"=:P11 OR ("QTY" IS NULL
    AND :P10=1)) AND ("SALEABLE"=:P15 OR ("SALEABLE" IS NULL AND :P14=1)) AND ("MKT_PRICE"=:P13 OR
    ("MKT_PRICE" IS NULL AND :P12=1)) AND ("ASSET_SUB_CLASS_CODE"=:P8 OR ("ASSET_SUB_CLASS_CODE" IS
    NULL AND :P7=1)) AND ((:P16=1 AND "UNIT_COST" IS NULL) OR "UNIT_COST"=:P17) AND
    ("ASSET_GROUP"=:P6 OR ("ASSET_GROUP" IS NULL AND :P5=1)) AND "PORTFOLIO_DATE"=:P2 AND
    ("MARGIN_PAYABLE"=:P19 OR (:P18=1 AND "MARGIN_PAYABLE" IS NULL))))
    3 - access("CLIENT_CODE"=:P3)


    32 rows selected.

    SQL> -- AGAIN TABLE ANALYZED AFTER COMPLETION OF BOD

    SQL> /

    PLAN_TABLE_OUTPUT
    --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    SQL_ID 4j2svg43f24cn, child number 0
    -------------------------------------
    UPDATE T_DEUSCHE_HOLDING_TODAY SET UNIT_COST = :p1 WHERE ((PORTFOLIO_DATE = :p2) AND (CLIENT_CODE =
    :p3) AND (PRODUCT_CODE = :p4) AND ((:p5 = 1 AND ASSET_GROUP IS NULL) OR (ASSET_GROUP = :p6)) AND
    ((:p7 = 1 AND ASSET_SUB_CLASS_CODE IS NULL) OR (ASSET_SUB_CLASS_CODE = :p8)) AND (INSTRUMENT_CODE =
    :p9) AND ((:p10 = 1 AND QTY IS NULL) OR (QTY = :p11)) AND ((:p12 = 1 AND MKT_PRICE IS NULL) OR
    (MKT_PRICE = :p13)) AND ((:p14 = 1 AND SALEABLE IS NULL) OR (SALEABLE = :p15)) AND ((:p16 = 1 AND
    UNIT_COST IS NULL) OR (UNIT_COST = :p17)) AND ((:p18 = 1 AND MARGIN_PAYABLE IS NULL) OR
    (MARGIN_PAYABLE = :p19)))

    Plan hash value: 671656571

    PLAN_TABLE_OUTPUT
    --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    ------------------------------------------------------------------------------------------------------------
    | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
    ------------------------------------------------------------------------------------------------------------
    | 0 | UPDATE STATEMENT | | | | 2 (100)| |
    | 1 | UPDATE | T_DEUSCHE_HOLDING_TODAY | | | | |
    |* 2 | TABLE ACCESS BY INDEX ROWID| T_DEUSCHE_HOLDING_TODAY | 1 | 49 | 2 (0)| 00:00:01 |
    |* 3 | INDEX RANGE SCAN | T_DEUSCHE_HOLDING_TODAY_IDX | 2 | | 1 (0)| 00:00:01 |
    ------------------------------------------------------------------------------------------------------------

    Predicate Information (identified by operation id):

    PLAN_TABLE_OUTPUT
    --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    ---------------------------------------------------

    2 - filter(("PORTFOLIO_DATE"=:P2 AND "PRODUCT_CODE"=:P4 AND "CLIENT_CODE"=:P3 AND ("QTY"=:P11 OR
    ("QTY" IS NULL AND :P10=1)) AND ("SALEABLE"=:P15 OR ("SALEABLE" IS NULL AND :P14=1)) AND
    ("MKT_PRICE"=:P13 OR ("MKT_PRICE" IS NULL AND :P12=1)) AND ("UNIT_COST"=:P17 OR ("UNIT_COST" IS
    NULL AND :P16=1)) AND ("MARGIN_PAYABLE"=:P19 OR (:P18=1 AND "MARGIN_PAYABLE" IS NULL)) AND
    ("ASSET_SUB_CLASS_CODE"=:P8 OR ("ASSET_SUB_CLASS_CODE" IS NULL AND :P7=1)) AND ("ASSET_GROUP"=:P6
    OR ("ASSET_GROUP" IS NULL AND :P5=1))))
    3 - access("INSTRUMENT_CODE"=:P9)


    32 rows selected.

    SQL> spool off;

    I think the plan before analyzed is the one who is creating a problem.

    Is it so...?


    Thanks.
  • 6. Re: update of a query hangs, until the hanged table is not analyzed.
    user12288492 Newbie
    Currently Being Moderated
    You can use sql plan management.
    If every time you want optimizer to use the same plan, mark the plan as fixed.
    else
    you can enable capturing of baselines and evolve the plans.
  • 7. Re: update of a query hangs, until the hanged table is not analyzed.
    user10458939 Newbie
    Currently Being Moderated
    Hi,

    Can you suggest Oracle DocID. I am getting the doncuments for 11g only when I try to google.

    Thanks in advance.
  • 8. Re: update of a query hangs, until the hanged table is not analyzed.
    user12288492 Newbie
    Currently Being Moderated
    Pls visit the following links :

    http://koenigocm.blogspot.in/search/label/SQL%20PLAN%20MANAGEMENT%E2%80%93%20ORACLE%20%2011g%20%3A%20Part-1

    http://koenigocm.blogspot.in/search/label/SQL%20PLAN%20MANAGEMENT%20%E2%80%93%20ORACLE%2011g%20%3A%20Part-2
  • 9. Re: update of a query hangs, until the hanged table is not analyzed.
    Dom Brooks Guru
    Currently Being Moderated
    See COE_XFR_SQL_PROFILE.SQL in Oracle Support doc id 215187.1.
    This can be used to lock in a previous execution plan from cursor cache or awr.
    If your analysis is correct, then you need the sql id of the statement concerned and the plan hash of the "good" plan.
    The script uses Outline-style hints via the SQL Profile mechanism to enforce the specified plan.
  • 10. Re: update of a query hangs, until the hanged table is not analyzed.
    user10458939 Newbie
    Currently Being Moderated
    Sorry, for late reply.

    Issue has got resolved by changing the stats gather job parameters.

    Prevoiusly it was as follows -->

    execute sys.dbms_stats.gather_schema_stats(ownname=>'XXXXXX',estimate_percent =>32,degree=>3,cascade=>true);

    After changing it to -->

    execute sys.dbms_stats.gather_schema_stats(ownname=>'XXXXXX',estimate_percent =>DBMS_STATS.AUTO_SAMPLE_SIZE,degree=>3,cascade=>true);

    Made changes in to scripts -- 1) everyday's stats gather job 2) Weekend's index rebuild job where stats where gathered after every index rebuild.
    Now that portion which gets stuck is getting completed in 4-5 minutes, which used to take 45mins to 1 hr to complete.

    Currently busy in migrations, but I will definately work on the solutions provided by you.

    But I think this issue will occur again someday, said so from my past experience :(

    Thanks all for your support!!
  • 11. Re: update of a query hangs, until the hanged table is not analyzed.
    user10458939 Newbie
    Currently Being Moderated

    This issue can be closed.

     

    After discussion with developers -

     

    He has decided to add a script in his code to "execute imediate analyze table compute statistics".

     

    This has solved the issue.. Not occurred since last 3-4 months.

     

    This thread can be closed.

     

    Thanks for all your support.

Legend

  • Correct Answers - 10 points
  • Helpful Answers - 5 points