Check dependent objects in oracle database
select name , owner
, type
, referenced_name
, referenced_type
from all_dependencies
where referenced_name in ( select distinct object_name from dba_hist_sql_plan where sql_id='&&sql_id' and object_type='TABLE' ) ;
select name , owner
, type
, referenced_name
, referenced_type
from all_dependencies
where name in ( select distinct object_name from dba_hist_sql_plan where sql_id='&&sql_id' and object_type='TABLE' ) ;
-- For Table
exec dbms_utility.get_dependency('TABLE','HR','EMPLOYEES');
Check Tables Accessed by Pocedure :
select pname, tab, type, text from (
select ui.name pname, ud.table_name tab, us.type,
ui.st, ui.en, us.line, us.text,
max(line) over (partition by us.name, us.type) mx_line
from user_source us
join user_tables ud
on upper(us.text) like '%' || table_name || '%'
join (select name, object_type, object_name,
line st, lead(line) over (partition by object_type order by line)-1 en
from user_identifiers
where type in ('FUNCTION', 'PROCEDURE')
and usage in ('DECLARATION', 'DEFINITION')
and object_type like 'PACKAGE%') ui
on ui.object_name = us.name
and ui.object_type = us.type
where us.name = 'PKG'
)
where line between st and nvl(en, mx_line);
WITH TESTING AS
(
select
DISTINCT
name,
type,
decode(usage,'DECLARATION', 'body only', 'DEFINITION', 'spec and body', usage) defined_on,
line body_line,
object_name
from user_identifiers ui
where type = 'PROCEDURE'
and usage_context_id = (select usage_id
from user_identifiers
where object_name = ui.object_name
and object_type = ui.object_type
and usage_context_id = 0)
and object_name = 'MY_PACKAGE_NAME'
and object_type = 'PACKAGE BODY'
order by line
)
Comments
Post a Comment