Hello,
My system has had a lot of wait time showing up recently and after some research, it looked like the culprit was running a lot of similar but not identical queries without any bind parameters. It looked like turning on forced cursor sharing might be a solution to this problem. So I did the following to the system:
ALTER SYSTEM SET CURSOR_SHARING = FORCE;
The system was not under load at the time but the next day when the users came back and started working, I started getting internal errors in the alert log like this:
Errors in file /orasys/app/oracle/diag/rdbms/XXXXX/XXXXX/trace/XXXXX_ora_10245.trc (incident=139422):
ORA-00600: internal error code, arguments: [kghstack_free1], [kkqvtSyncOptBinds: srcbindpp], [], [], [], [], [], [], [], [], [], []
Use ADRCI or Support Workbench to package the incident.
See Note 411.1 at My Oracle Support for error and packaging details.
Mon Aug 07 13:09:34 2017
Sweep [inc][139422]: completed
Then the trace file has this:
ORA-00600: internal error code, arguments: [kghstack_free1], [kkqvtSyncOptBinds: srcbindpp], [], [], [], [], [], [], [], [], [], []
Corruption might have been caused by writing
past the end of previous header (comment=kkqvtSyncOptBinds: srcbindpp addr=9fffffffbf10ffb8)
Corrupted stack chunk header at location 9fffffffbf10ffd8
followed by a huge hex dump.
The good news is that the system performance did improve and the waiting went away. The bad news is of course this error.
Some other pertinent details:
Oracle Enterprise Edition 12c
Version: 12.1.0.2.0
OS: HP/UX 11.31 Itanium
Memory: 64G
Data Size: ~900GB
Single Instance
One hint that I found suggested that there might be issues with partitioned tables of which we have many.
Any thoughts?