RE: Link procedure to sql statement in v$sqlarea

  • From: "Koppelaars, Toon" <T.Koppelaars@xxxxxxxxxxxxxxxxxxxx>
  • To: <Ajay_Thotangare@xxxxxx>, <oracle-l@xxxxxxxxxxxxx>
  • Date: Tue, 2 Oct 2007 22:13:26 +0200

V$sqlarea holds a PARSING_SCHEMA_ID column.
This holds the user-id under which the SQL was parsed.
If from stored procedure, it holds the user-id from the owner of the stored 
procedure (assuming auth_id current user was not used for the procedure).
If from somebody else (not using procedure), it holds somebody-elses user-id.
 
Hope this helps
 
Toon

-----Oorspronkelijk bericht-----
Van: oracle-l-bounce@xxxxxxxxxxxxx [mailto:oracle-l-bounce@xxxxxxxxxxxxx]Namens 
Thotangare, Ajay (GTI)
Verzonden: dinsdag 2 oktober 2007 21:35
Aan: oracle-l@xxxxxxxxxxxxx
Onderwerp: Link procedure to sql statement in v$sqlarea



Hi, 

I have a question about v$sqlarea. Appreciate your help/inputs on this. 
Background 
----------------- 
I have a procedure named 'XYZ' and inside this procedure I have select 
statement. When I execute this procedure I can see a entry for procedure 'XYZ' 
and also a entry for select statement (which is actually inside procedure). How 
do I know if this select statement has come from this procedure or somebody 
else fired this statement as standalone (not using procedure)

 e.g. 
create or replace procedure PQR as 
begin    
execute immediate 'select object_name AS INSIDE_PQR_PRC from user_objects';    
end; 
/ 
Procedure created. 

SQL> exec PQR; 
  
PL/SQL procedure successfully completed. 

SQL> select rownum,sql_text,executions from v$sqlarea where sql_text like 
'%PQR%'; 
  
ROWNUM SQL_TEXT                                                          
EXECUTIONS 
------ ----------------------------------------------------------------- 
---------- 
     1 select rownum,sql_text,executions from v$sqlarea where sql_text l        
  3 
       ike '%PQR%' 
  
     2 BEGIN PQR; END;                                                          
  1 
     3 select object_name AS INSIDE_PQR_PRC from user_objects                   
  1 
  
3 rows selected. 


How do I know that statement "select object_name AS INSIDE_PQR_PRC from 
user_objects" is actually fired from procedure and not from outside.

Appreciate your help. 

regards, 
Ajay Thotangare 
212-647-4312 

  _____  

This message w/attachments (message) may be privileged, confidential or 
proprietary, and if you are not an intended recipient, please notify the 
sender, do not use or share it and delete it. Unless specifically indicated, 
this message is not an offer to sell or a solicitation of any investment 
products or other financial product or service, an official confirmation of any 
transaction, or an official statement of Merrill Lynch. Subject to applicable 
law, Merrill Lynch may monitor, review and retain e-communications (EC) 
traveling through its networks/systems. The laws of the country of each 
sender/recipient may impact the handling of EC, and EC may be archived, 
supervised and produced in countries other than the country in which you are 
located. This message cannot be guaranteed to be secure or error-free. This 
message is subject to terms available at the following link: 
http://www.ml.com/e-communications_terms/. By messaging with Merrill Lynch you 
consent to the foregoing.
  _____  

 

Other related posts: