forked from abdulirfan3/Oracle_SQL_Scripts
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdba_dependencies.sql
More file actions
72 lines (65 loc) · 2.33 KB
/
dba_dependencies.sql
File metadata and controls
72 lines (65 loc) · 2.33 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
prompt Dependencies for Owner?:
col cowner noprint new_value uowner
set term off feed off
select upper('&1') cowner from dual;
set term on feed on
prompt Dependencies for Object?:
col cobject noprint new_value uobject
set term off feed off
select upper('&2') cobject from dual;
set term on feed on
--set line 142 pages 60
column display_parent format a58
column display_child format a58
column referenced_owner noprint
column referenced_object noprint
column referenced_type noprint
column owner noprint
column object noprint
column type noprint
column last_ddl_time format a22 head 'CHILD DDL TIME'
undef 1 2
with dependencies as (
-- top down through the heirarchy
select /*+ no_merge */
referenced_type || ' "' || referenced_owner || '"."' ||
referenced_name || '"' as parent,
type || ' "' || owner || '"."' || name || '"' as child,
level hlevel,
referenced_owner, referenced_name, referenced_type,
owner, name, type
from dba_dependencies
start with
referenced_owner = '&&uowner'
and referenced_name = '&&uobject'
connect by
referenced_owner = prior owner
and referenced_name = prior name
and referenced_type = prior type
union
-- bottom up through the heirarchy
select /*+ no_merge */
referenced_type || ' "' || referenced_owner || '"."' ||
referenced_name || '"' as parent,
type || ' "' || owner || '"."' || name || '"' as child,
level hlevel,
referenced_owner, referenced_name, referenced_type,
owner, name, type
from dba_dependencies
start with
owner = '&&uowner'
and name = '&&uobject'
connect by
owner = prior referenced_owner
and name = prior referenced_name
and type = prior referenced_type
order by 1, 2
)
select lpad(' ',2*d.hlevel,' ') || d.parent display_parent, d.child
display_child, o.last_ddl_time
from dependencies d, dba_objects o
where o.owner = d.owner
and o.object_type = d.type
and d.name = o.object_name
order by parent, child
/