Re: (invalid) dependencies management

  • From: Dan Norris <dannorris@xxxxxxxxxxxxx>
  • To: cosmini@xxxxxxxxxxxxxxx, oracle-l@xxxxxxxxxxxxx
  • Date: Wed, 11 Jul 2007 11:36:45 -0700 (PDT)

Ioan,

I think that the *_DEPENDENCIES views may be what you're looking for. 

Also note that 11g changes some of this as it does something termed 
"fine-grained dependency checking" meaning that it won't just be object-level 
invalidation. It's supposed to be smarter than that and only invalidate the 
dependent objects if there's a need to do so. For example, adding a column to a 
table shouldn't invalidate dependent objects unless they did SELECT * FROM 
object;. 

I think you're on the right track with the CONNECT BY query, but I don't have 
the syntax handy. I'd definitely use the *_DEPENDENCIES view for that query.

Dan

----- Original Message ----
From: Cosmin Ioan <cosmini@xxxxxxxxxxxxxxx>
To: oracle-l@xxxxxxxxxxxxx
Sent: Wednesday, July 11, 2007 12:06:45 PM
Subject: (invalid) dependencies management

hi all, 
  I have a (two-fold) question about object dependencies when a particular 
object is recompiled:
   
  1.  a  query can be run pre and post object compilation to determine the 
objects that got invalidated by that specific object's compilation (or object 
ddl change) by looking at the (ALL_)OBJECTS STATUS column and taking 
appropriate data as such.
   
  2. another method would be to investigate the (ALL_)SOURCE   [where 
upper(text) like upper('%xxx') and name<>'xxx']  to determine first level 
dependencies.  I'd like to create a query that determines the entire dependency 
chain of objects that will get invalidated... probably something using CONNECT 
BY for recursive querying, keping in mind that, I believe, there needs to be an 
specific compilation order  ;-)    [unless there are other simpler query/tricks 
that I don't
 know of]
   
  Could someone help w/ the latter strategy?
  thx anticipatedly,
  Cos
   
   
   



Other related posts: