如何查找在Oracle中不被Package/Procedure/Function/Type/Trigger所引用的表

From them we can easily find what are the depending  tables and views of EVM Owned Package/Procedure/Function/Type/Trigger.

At the same time, can find these tables/views not directly used by EVM PLSQL Code.

 

 

Note:

Tables/Views are showedin evm_tables_not_used_in_plsqldo not mean they are useless.

For example,

They may be used only inDynamic SQL, in Java File.

 

 该视图用来查找在指定用户下被其它Package/Procedure/Function/Type/Trigger所引用的表:

CREATE OR REPLACE VIEW  evm_plsql_depending_tables AS 
SELECT *
  FROM dba_dependencies
WHERE owner IN ('OPS$APP', 'OPS$UTIL', 'OPS$DATA', 'OPS$CONFIG')
   AND TYPE IN ('PACKAGE', 'PACKAGE BODY', 'TRIGGER', 'PROCEDURE', 'FUNCTION',
        'TYPE', 'TYPE BODY')
   AND referenced_owner IN ('OPS$APP', 'OPS$UTIL', 'OPS$DATA', 'OPS$CONFIG')
   AND referenced_name IN
       (SELECT table_name
          FROM all_tables
         WHERE owner IN ('OPS$APP', 'OPS$UTIL', 'OPS$DATA', 'OPS$CONFIG'))
   AND referenced_type <> 'NON-EXISTENT';


该视图用来查找在指定用户下,没有被任何PACKAGE, TYPE, TRIGGER, PROCEDUREAND FUNCTION 所使用的表

 --all these tables do not be used within any PACKAGE, TYPE, TRIGGER, PROCEDUREAND FUNCTION

CREATE OR REPLACE VIEW  evm_tables_not_used_in_plsql AS 
 SELECT *
   FROM all_tables
  WHERE owner IN ('OPS$APP', 'OPS$UTIL', 'OPS$DATA', 'OPS$CONFIG')
    AND table_name NOT IN
        (SELECT referenced_name FROM evm_plsql_depending_tables);



Notes: 需要注意的是,在Java或者非Oracle自有程序或类型所使用的表在这两个视图中无法统计出来。也就是说,从这两个视图中查出来的无用表可能在程序中被用到,并不一定是无用的


因此,我们还是可以用查找工具再来确认一次:

find .-name '*.pkb' | xargs grep -is 'enumlist'
find .-name '*.pkg' | xargs grep -is 'enumlist'
 
Under JAVAdirectory:
find .-name '*.java' | xargs grep -is 'enumlist'



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值