1 / 7

Cursor Sharing

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

mandel
Télécharger la présentation

Cursor Sharing

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Cursor Sharing Bug: 2138662

  2. 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 • 2118514: ora-3113 and ORA-7445 [rworirw2()+704] while running a query having order by • 1951929: recieving many ORA-7445 [kqrgcu()+244] errors • introduced in Oracle 8.1.7.2, some fixed in Oracle 8.1.7.4

  3. 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 level • In a badly written application this can avoid excessive parse times.

  4. What goes wrong? • Heap corruption caused by rewritten statement • Associated with ORDER BY clause

  5. Workarounds • cursor_sharing = exact • cursor_space_for_time = true • but sometimes causes ORA-4031 • in which case flush shared_pool frequently

  6. Summary • The bugs may be different aspects of the same problem • cursor_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.

  7. David Kurtz Go-Faster Consultancy Ltd. david.kurtz@go-faster.co.uk www.go-faster.co.uk

More Related