Query not in code, but has vaguely known WHERE condition

  • From: Martin Klier <martin.klier@xxxxxxxxxxxxxxxxx>
  • To: Oracle-L Freelists <oracle-l@xxxxxxxxxxxxx>
  • Date: Mon, 26 Jan 2015 13:53:53 +0100 (CET)

Hi listers, 

I found a strange SQL in our database, causing Library Cache and Cursor Sharing 
fun of all kinds, but no need to elaborate on that. The database is a jungle of 
dynamic SQL and parsing storms, so we had to enable CURSOR_SHARING=SIMILAR to 
work at all. No value in ranting on that. 

What I need to do is, to find where it comes from, to start investigating the 
case. 

The SQL text is like that: 



SELECT :"SYS_B_0" 
FROM DUAL 
WHERE a.div_id = b.div_id 
AND a.entity_id = b.entity_id 
AND a.attribute_id = :"SYS_B_1" 
AND a.other_id = :"SYS_B_2" 

We can see it being a top consumer or waiter in currently running / active 
sessions and ASH, but it never shows up in AWR. 
For sure, that's not one of ours, even when ignoring the fact that it does not 
make much sense for itself. All I recognise is the WHERE condition - it may 
match some of our MERGE ON clauses. 

So my questions: 

1) How does the DB come to creating this kind of SQL text? 
2) What's the use of it, the mechanism behind? 
3) How can I find out where it is triggered? 

Thank you all in advance! 
-- 
Freundliche Grüße / Best regards 

Martin Klier 
Performing Databases GmbH 
Oracle ACE 

Other related posts: