zoukankan      html  css  js  c++  java
  • Script:List OBJECT DEPENDENT

    以下脚本用以列出数据库中对象的依赖性:
    REM OBJECT DEPENDENT 
    
    select D_OBJ#,
           do.object_name,
           do.object_type dtyp,
           do.status      dsta,
           D_TIMESTAMP,
           ORDER#,
           P_OBJ#,
           po.object_name,
           po.object_type ptyp,
           po.status      psta,
           P_TIMESTAMP
      from dependency$ d, DBA_OBJECTS do, DBA_OBJECTS po
     where D_OBJ# = do.object_ID
       and P_OBJ# = po.object_ID
       and do.object_ID in
           (select object_id from dba_objects where OBJECT_NAME = '&OBJNAME')
    /
    
    
    Select object_id, referenced_object_id, level
     from public_dependency
    start with object_id = (Select object_id
    from sys.DBA_OBJECTS
    WHERE owner        = upper('&owner')
    AND   object_name  = upper('&name')
    AND   object_type  = upper('&type'))
    connect by prior referenced_object_id = object_id
    /
    
    Select to_char(object_id) object_id, to_char(referenced_object_id) referenced_object_id, to_char(level) "LEVEL"
     from public_dependency
    connect by prior object_id = referenced_object_id
    start with referenced_object_id = (
       Select object_id from sys.DBA_OBJECTS
    WHERE owner        = upper('&owner')
    AND   object_name  = upper('&name')
    AND   object_type  = upper('&type'))
    /
    
    set feedback off
    set ver off
    set pages 10000
    column Owner format "A10"
    column Obj#  format "9999999999"
    column Object format "A35"
    rem
    ACCEPT OWN   CHAR PROMPT "Enter OWNER pattern: "
    ACCEPT NAM   CHAR PROMPT "Enter OBJECT NAME pattern: "
    prompt
    prompt Objects matching &&OWN..&&NAM
    prompt ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    select o.obj# "Obj#",
           decode(o.linkname, null, u.name||'.'||o.name,
            o.remoteowner||'.'||o.name||'@'||o.linkname) "Object",
           decode(o.type#, 0, 'NEXT OBJECT', 1, 'INDEX', 2, 'TABLE', 3, 'CLUSTER',
                           4, 'VIEW', 5, 'SYNONYM', 6, 'SEQUENCE',
                           7, 'PROCEDURE', 8, 'FUNCTION', 9, 'PACKAGE',
                          10, '*Not Exist*',
                          11, 'PKG BODY', 12, 'TRIGGER',
                          13, 'TYPE', 14, 'TYPE BODY',
                          19, 'TABLE PARTITION', 20, 'INDEX PARTITION', 21, 'LOB',
                          22, 'LIBRARY', 23, 'DIRECTORY', 24, 'QUEUE',
                          28, 'JAVA SOURCE', 29, 'JAVA CLASS', 30, 'JAVA RESOURCE',
                          32, 'INDEXTYPE', 33, 'OPERATOR',
                          34, 'TABLE SUBPARTITION', 35, 'INDEX SUBPARTITION',
                          40, 'LOB PARTITION', 41, 'LOB SUBPARTITION',
                          42, 'MATERIALIZED VIEW',
                          43, 'DIMENSION',
                          44, 'CONTEXT', 46, 'RULE SET', 47, 'RESOURCE PLAN',
                          48, 'CONSUMER GROUP',
                          51, 'SUBSCRIPTION', 52, 'LOCATION',
                          55, 'XML SCHEMA', 56, 'JAVA DATA',
                          57, 'SECURITY PROFILE', 59, 'RULE',
                          62, 'EVALUATION CONTEXT', 66, 'JOB', 67, 'PROGRAM',
                          68, 'JOB CLASS', 69, 'WINDOW', 72, 'WINDOW GROUP',
                          74, 'SCHEDULE', 'UNDEFINED') "Type",
           decode(o.status,0,'N/A',1,'VALID', 'INVALID') "Status"
      from sys.obj$ o, sys.user$ u
     where owner#=user#
       and u.name like upper('&&OWN') and o.name like upper('&&NAM') ;
    prompt
    ACCEPT OBJID CHAR PROMPT "Enter Object ID required: "
    prompt
    prompt
    prompt Object &&OBJID is:
    prompt ~~~~~~~~~~~~~~~~~~~
    select o.obj# "Obj#",
           decode(o.linkname, null, u.name||'.'||o.name,
            o.remoteowner||'.'||o.name||'@'||o.linkname) "Object",
           decode(o.type#, 0, 'NEXT OBJECT', 1, 'INDEX', 2, 'TABLE', 3, 'CLUSTER',
                           4, 'VIEW', 5, 'SYNONYM', 6, 'SEQUENCE',
                           7, 'PROCEDURE', 8, 'FUNCTION', 9, 'PACKAGE',
                          10, '*Not Exist*',
                          11, 'PKG BODY', 12, 'TRIGGER',
                          13, 'TYPE', 14, 'TYPE BODY',
                          19, 'TABLE PARTITION', 20, 'INDEX PARTITION', 21, 'LOB',
                          22, 'LIBRARY', 23, 'DIRECTORY', 24, 'QUEUE',
                          28, 'JAVA SOURCE', 29, 'JAVA CLASS', 30, 'JAVA RESOURCE',
                          32, 'INDEXTYPE', 33, 'OPERATOR',
                          34, 'TABLE SUBPARTITION', 35, 'INDEX SUBPARTITION',
                          40, 'LOB PARTITION', 41, 'LOB SUBPARTITION',
                          42, 'MATERIALIZED VIEW',
                          43, 'DIMENSION',
                          44, 'CONTEXT', 46, 'RULE SET', 47, 'RESOURCE PLAN',
                          48, 'CONSUMER GROUP',
                          51, 'SUBSCRIPTION', 52, 'LOCATION',
                          55, 'XML SCHEMA', 56, 'JAVA DATA',
                          57, 'SECURITY PROFILE', 59, 'RULE',
                          62, 'EVALUATION CONTEXT', 66, 'JOB', 67, 'PROGRAM',
                          68, 'JOB CLASS', 69, 'WINDOW', 72, 'WINDOW GROUP',
                          74, 'SCHEDULE', 'UNDEFINED') "Type",
           decode(o.status,0,'N/A',1,'VALID', 'INVALID') "Status",
           substr(to_char(stime,'DD-MON-YYYY HH24:MI:SS'),1,20) "S-Time"
      from sys.obj$ o, sys.user$ u
     where owner#=user# and o.obj#='&&OBJID' ;
    prompt
    prompt Depends on:
    prompt ~~~~~~~~~~~~
    select o.obj# "Obj#",
           decode(o.linkname, null,
            nvl(u.name,'Unknown')||'.'||nvl(o.name,'Dropped?'),
            o.remoteowner||'.'||nvl(o.name,'Dropped?')||'@'||o.linkname) "Object",
           decode(o.type#, 0, 'NEXT OBJECT', 1, 'INDEX', 2, 'TABLE', 3, 'CLUSTER',
                           4, 'VIEW', 5, 'SYNONYM', 6, 'SEQUENCE',
                           7, 'PROCEDURE', 8, 'FUNCTION', 9, 'PACKAGE',
                          10, '*Not Exist*',
                          11, 'PKG BODY', 12, 'TRIGGER',
                          13, 'TYPE', 14, 'TYPE BODY',
                          19, 'TABLE PARTITION', 20, 'INDEX PARTITION', 21, 'LOB',
                          22, 'LIBRARY', 23, 'DIRECTORY', 24, 'QUEUE',
                          28, 'JAVA SOURCE', 29, 'JAVA CLASS', 30, 'JAVA RESOURCE',
                          32, 'INDEXTYPE', 33, 'OPERATOR',
                          34, 'TABLE SUBPARTITION', 35, 'INDEX SUBPARTITION',
                          40, 'LOB PARTITION', 41, 'LOB SUBPARTITION',
                          42, 'MATERIALIZED VIEW',
                          43, 'DIMENSION',
                          44, 'CONTEXT', 46, 'RULE SET', 47, 'RESOURCE PLAN',
                          48, 'CONSUMER GROUP',
                          51, 'SUBSCRIPTION', 52, 'LOCATION',
                          55, 'XML SCHEMA', 56, 'JAVA DATA',
                          57, 'SECURITY PROFILE', 59, 'RULE',
                          62, 'EVALUATION CONTEXT', 66, 'JOB', 67, 'PROGRAM',
                          68, 'JOB CLASS', 69, 'WINDOW', 72, 'WINDOW GROUP',
                          74, 'SCHEDULE', 'UNDEFINED') "Type",
            decode(sign(stime-P_TIMESTAMP),
                      1,'*NEWER*',-1,'*?OLDER?*',null,'-','-SAME-')
    "TimeStamp",
    decode(o.status,0,'N/A',1,'VALID','INVALID') "Status"
      from sys.dependency$ d,  sys.obj$ o, sys.user$ u
     where P_OBJ#=obj#(+) and o.owner#=u.user#(+) and D_OBJ#='&&OBJID' ;
  • 相关阅读:
    时间戳(1532249295.179) 转日期格式(2018/07/22 16:48:15 179)
    iscroll.js右侧可滑动的菜单,点击每个菜单都会出现本菜单的详情
    canvas绘制的文字如何换行
    移动端H5页面禁止长按复制和去掉点击时高亮
    一列宽度不缩放,一列宽度弹性缩放,且超出后显示省略号
    js钩子机制(hook)
    mCustomScrollbar.js 漂亮的滚动条插件 适应内容自动更新
    axios.js 实例 -----$.ajax的替代方案
    用 async/await 来处理异步实例
    C#入门经典第18章-WEB编程
  • 原文地址:https://www.cnblogs.com/macleanoracle/p/2967275.html
Copyright © 2011-2022 走看看