Cursor Sharing

  • Upload
    mandel

  • View
    27

  • Download
    0

Embed Size (px)

DESCRIPTION

Cursor Sharing. Bug: 2138662. Bug 2138662: cursor_sharing=force causes ORA-7445 and core dumps. related bugs 2195595: production instance crashed with a ORA-07445 [11] 1358871: cursor_sharing = force causes ORA-7445 (ttcclr) in proc program - PowerPoint PPT Presentation

Citation preview

  • Cursor SharingBug: 2138662

  • Bug 2138662: cursor_sharing=force causes ORA-7445 and core dumpsrelated bugs2195595: production instance crashed with a ORA-07445 [11]1358871: cursor_sharing = force causes ORA-7445 (ttcclr) in proc program2118514: ora-3113 and ORA-7445 [rworirw2()+704] while running a query having order by 1951929: recieving many ORA-7445 [kqrgcu()+244] errorsintroduced in Oracle 8.1.7.2, some fixed in Oracle 8.1.7.4

  • What is Cursor Sharing?Cursor sharing determines what statements are considered to be identical, and can therefore share the same cursor or cache entry.The statement is rewritten bind variables replacing literals Can be enabled as session levelIn a badly written application this can avoid excessive parse times.

  • What goes wrong?Heap corruption caused by rewritten statementAssociated with ORDER BY clause

  • Workaroundscursor_sharing = exactcursor_space_for_time = truebut sometimes causes ORA-4031in which case flush shared_pool frequently

  • SummaryThe bugs may be different aspects of the same problemcursor_sharing can cause a heap corruption in the shared pool

    I would suggest that it is not safe to use this feature to deal with poor performance caused by high parse times.

  • David KurtzGo-Faster Consultancy [email protected]