I have tried all modes of cursor_sharing: exact, similar and force. I have also used bind variables and then re-executed the same SQL statement but I always find parse calls equal to executions. Could somebody please quote an example where parse calls is less than executions?
I'm assuming offending query is actually using bind variables.
Is it a Java application?
Most probably cursor is being closed and reopen each time which means you are seeing soft parsing, one per execution.
Disclaimer: Advice is provided to the best of my knowledge but no implicit or explicit warranties are provided. Since the advisor explicitly encourages testing any and all suggestions on a test non-production environment advisor should not held liable or responsible for any actions taken based on the given advice.
Yes, it is a JAVA application. But the strange thing is that I only read that bind variables cause parse calls to be less than executions when cursor_sharing is similar and there are no changes in execution plans, but I never tried to reproduce it. Even on standalone SQLPLUS prompt, I am able to reproduce that parse_calls are equal to executions with all modes of cursor_sharing tried. Is it something that is known?