[转载]怎样去定位未知的对象
<p>信息来源:<font color="#cc0000">it168</font></p><p>前几天看见有人问怎么查找某个view引用了什么表,或者某个表被那些对象引用,偶当时没有注意,今天朋友问到了.<br /> 我想是有view表达这种依赖关系的,于是,偶打开 dba studio ,进入 方案---视图---sys,然后快速浏览 dba_* 这样的view,根据经验判断很多view不是所需要的,终于看到一个view : dba_dependencies,英文不大利索,猜测可能是。</p><p /><p /><div id="4">[quote]<span style="COLOR: #000000">SQL</span><span style="COLOR: #808080">></span><span style="COLOR: #000000"></span><span style="COLOR: #0000ff">desc</span><span style="COLOR: #000000"> dba_dependenciesName </span><span style="COLOR: #0000ff">Null</span><span style="COLOR: #000000">? Type</span><span style="COLOR: #008080">--</span><span style="COLOR: #008080">--------------------------------------- -------- ----------------------------</span><span style="COLOR: #008080"></span><span style="COLOR: #000000">OWNER </span><span style="COLOR: #808080">NOT</span><span style="COLOR: #000000"></span><span style="COLOR: #0000ff">NULL</span><span style="COLOR: #000000"></span><span style="FONT-WEIGHT: bold; COLOR: #000000">VARCHAR2</span><span style="COLOR: #000000">(</span><span style="FONT-WEIGHT: bold; COLOR: #800000">30</span><span style="COLOR: #000000">)NAME </span><span style="COLOR: #808080">NOT</span><span style="COLOR: #000000"></span><span style="COLOR: #0000ff">NULL</span><span style="COLOR: #000000"></span><span style="FONT-WEIGHT: bold; COLOR: #000000">VARCHAR2</span><span style="COLOR: #000000">(</span><span style="FONT-WEIGHT: bold; COLOR: #800000">30</span><span style="COLOR: #000000">)TYPE </span><span style="FONT-WEIGHT: bold; COLOR: #000000">VARCHAR2</span><span style="COLOR: #000000">(</span><span style="FONT-WEIGHT: bold; COLOR: #800000">17</span><span style="COLOR: #000000">)REFERENCED_OWNER </span><span style="FONT-WEIGHT: bold; COLOR: #000000">VARCHAR2</span><span style="COLOR: #000000">(</span><span style="FONT-WEIGHT: bold; COLOR: #800000">30</span><span style="COLOR: #000000">)REFERENCED_NAME </span><span style="FONT-WEIGHT: bold; COLOR: #000000">VARCHAR2</span><span style="COLOR: #000000">(</span><span style="FONT-WEIGHT: bold; COLOR: #800000">64</span><span style="COLOR: #000000">)REFERENCED_TYPE </span><span style="FONT-WEIGHT: bold; COLOR: #000000">VARCHAR2</span><span style="COLOR: #000000">(</span><span style="FONT-WEIGHT: bold; COLOR: #800000">17</span><span style="COLOR: #000000">)REFERENCED_LINK_NAME </span><span style="FONT-WEIGHT: bold; COLOR: #000000">VARCHAR2</span><span style="COLOR: #000000">(</span><span style="FONT-WEIGHT: bold; COLOR: #800000">128</span><span style="COLOR: #000000">)DEPENDENCY_TYPE </span><span style="FONT-WEIGHT: bold; COLOR: #000000">VARCHAR2</span><span style="COLOR: #000000">(</span><span style="FONT-WEIGHT: bold; COLOR: #800000">4</span><span style="COLOR: #000000">)</span><span style="COLOR: #0000ff">select</span><span style="COLOR: #000000"> u.name, o.name,decode(o.type#, </span><span style="FONT-WEIGHT: bold; COLOR: #800000">0</span><span style="COLOR: #000000">, </span><span style="COLOR: #ff0000">'</span><span style="COLOR: #ff0000">NEXT OBJECT</span><span style="COLOR: #ff0000">'</span><span style="COLOR: #000000">, </span><span style="FONT-WEIGHT: bold; COLOR: #800000">1</span><span style="COLOR: #000000">, </span><span style="COLOR: #ff0000">'</span><span style="COLOR: #ff0000">INDEX</span><span style="COLOR: #ff0000">'</span><span style="COLOR: #000000">, </span><span style="FONT-WEIGHT: bold; COLOR: #800000">2</span><span style="COLOR: #000000">, </span><span style="COLOR: #ff0000">'</span><span style="COLOR: #ff0000">TABLE</span><span style="COLOR: #ff0000">'</span><span style="COLOR: #000000">, </span><span style="FONT-WEIGHT: bold; COLOR: #800000">3</span><span style="COLOR: #000000">, </span><span style="COLOR: #ff0000">'</span><span style="COLOR: #ff0000">CLUSTER</span><span style="COLOR: #ff0000">'</span><span style="COLOR: #000000">,</span><span style="FONT-WEIGHT: bold; COLOR: #800000">4</span><span style="COLOR: #000000">, </span><span style="COLOR: #ff0000">'</span><span style="COLOR: #ff0000">VIEW</span><span style="COLOR: #ff0000">'</span><span style="COLOR: #000000">, </span><span style="FONT-WEIGHT: bold; COLOR: #800000">5</span><span style="COLOR: #000000">, </span><span style="COLOR: #ff0000">'</span><span style="COLOR: #ff0000">SYNONYM</span><span style="COLOR: #ff0000">'</span><span style="COLOR: #000000">, </span><span style="FONT-WEIGHT: bold; COLOR: #800000">6</span><span style="COLOR: #000000">, </span><span style="COLOR: #ff0000">'</span><span style="COLOR: #ff0000">SEQUENCE</span><span style="COLOR: #ff0000">'</span><span style="COLOR: #000000">, </span><span style="FONT-WEIGHT: bold; COLOR: #800000">7</span><span style="COLOR: #000000">, </span><span style="COLOR: #ff0000">'</span><span style="COLOR: #ff0000">PROCEDURE</span><span style="COLOR: #ff0000">'</span><span style="COLOR: #000000">,</span><span style="FONT-WEIGHT: bold; COLOR: #800000">8</span><span style="COLOR: #000000">, </span><span style="COLOR: #ff0000">'</span><span style="COLOR: #ff0000">FUNCTION</span><span style="COLOR: #ff0000">'</span><span style="COLOR: #000000">, </span><span style="FONT-WEIGHT: bold; COLOR: #800000">9</span><span style="COLOR: #000000">, </span><span style="COLOR: #ff0000">'</span><span style="COLOR: #ff0000">PACKAGE</span><span style="COLOR: #ff0000">'</span><span style="COLOR: #000000">, </span><span style="FONT-WEIGHT: bold; COLOR: #800000">10</span><span style="COLOR: #000000">, </span><span style="COLOR: #ff0000">'</span><span style="COLOR: #ff0000">NON-EXISTENT</span><span style="COLOR: #ff0000">'</span><span style="COLOR: #000000">,</span><span style="FONT-WEIGHT: bold; COLOR: #800000">11</span><span style="COLOR: #000000">, </span><span style="COLOR: #ff0000">'</span><span style="COLOR: #ff0000">PACKAGE BODY</span><span style="COLOR: #ff0000">'</span><span style="COLOR: #000000">, </span><span style="FONT-WEIGHT: bold; COLOR: #800000">12</span><span style="COLOR: #000000">, </span><span style="COLOR: #ff0000">'</span><span style="COLOR: #ff0000">TRIGGER</span><span style="COLOR: #ff0000">'</span><span style="COLOR: #000000">,</span><span style="FONT-WEIGHT: bold; COLOR: #800000">13</span><span style="COLOR: #000000">, </span><span style="COLOR: #ff0000">'</span><span style="COLOR: #ff0000">TYPE</span><span style="COLOR: #ff0000">'</span><span style="COLOR: #000000">, </span><span style="FONT-WEIGHT: bold; COLOR: #800000">14</span><span style="COLOR: #000000">, </span><span style="COLOR: #ff0000">'</span><span style="COLOR: #ff0000">TYPE BODY</span><span style="COLOR: #ff0000">'</span><span style="COLOR: #000000">,</span><span style="FONT-WEIGHT: bold; COLOR: #800000">28</span><span style="COLOR: #000000">, </span><span style="COLOR: #ff0000">'</span><span style="COLOR: #ff0000">JAVA SOURCE</span><span style="COLOR: #ff0000">'</span><span style="COLOR: #000000">, </span><span style="FONT-WEIGHT: bold; COLOR: #800000">29</span><span style="COLOR: #000000">, </span><span style="COLOR: #ff0000">'</span><span style="COLOR: #ff0000">JAVA CLASS</span><span style="COLOR: #ff0000">'</span><span style="COLOR: #000000">, </span><span style="FONT-WEIGHT: bold; COLOR: #800000">56</span><span style="COLOR: #000000">, </span><span style="COLOR: #ff0000">'</span><span style="COLOR: #ff0000">JAVA DATA</span><span style="COLOR: #ff0000">'</span><span style="COLOR: #000000">,</span><span style="COLOR: #ff0000">'</span><span style="COLOR: #ff0000">UNDEFINED</span><span style="COLOR: #ff0000">'</span><span style="COLOR: #000000">),decode(po.linkname, </span><span style="COLOR: #0000ff">null</span><span style="COLOR: #000000">, pu.name, po.remoteowner), po.name,decode(po.type#, </span><span style="FONT-WEIGHT: bold; COLOR: #800000">0</span><span style="COLOR: #000000">, </span><span style="COLOR: #ff0000">'</span><span style="COLOR: #ff0000">NEXT OBJECT</span><span style="COLOR: #ff0000">'</span><span style="COLOR: #000000">, </span><span style="FONT-WEIGHT: bold; COLOR: #800000">1</span><span style="COLOR: #000000">, </span><span style="COLOR: #ff0000">'</span><span style="COLOR: #ff0000">INDEX</span><span style="COLOR: #ff0000">'</span><span style="COLOR: #000000">, </span><span style="FONT-WEIGHT: bold; COLOR: #800000">2</span><span style="COLOR: #000000">, </span><span style="COLOR: #ff0000">'</span><span style="COLOR: #ff0000">TABLE</span><span style="COLOR: #ff0000">'</span><span style="COLOR: #000000">, </span><span style="FONT-WEIGHT: bold; COLOR: #800000">3</span><span style="COLOR: #000000">, </span><span style="COLOR: #ff0000">'</span><span style="COLOR: #ff0000">CLUSTER</span><span style="COLOR: #ff0000">'</span><span style="COLOR: #000000">,</span><span style="FONT-WEIGHT: bold; COLOR: #800000">4</span><span style="COLOR: #000000">, </span><span style="COLOR: #ff0000">'</span><span style="COLOR: #ff0000">VIEW</span><span style="COLOR: #ff0000">'</span><span style="COLOR: #000000">, </span><span style="FONT-WEIGHT: bold; COLOR: #800000">5</span><span style="COLOR: #000000">, </span><span style="COLOR: #ff0000">'</span><span style="COLOR: #ff0000">SYNONYM</span><span style="COLOR: #ff0000">'</span><span style="COLOR: #000000">, </span><span style="FONT-WEIGHT: bold; COLOR: #800000">6</span><span style="COLOR: #000000">, </span><span style="COLOR: #ff0000">'</span><span style="COLOR: #ff0000">SEQUENCE</span><span style="COLOR: #ff0000">'</span><span style="COLOR: #000000">, </span><span style="FONT-WEIGHT: bold; COLOR: #800000">7</span><span style="COLOR: #000000">, </span><span style="COLOR: #ff0000">'</span><span style="COLOR: #ff0000">PROCEDURE</span><span style="COLOR: #ff0000">'</span><span style="COLOR: #000000">,</span><span style="FONT-WEIGHT: bold; COLOR: #800000">8</span><span style="COLOR: #000000">, </span><span style="COLOR: #ff0000">'</span><span style="COLOR: #ff0000">FUNCTION</span><span style="COLOR: #ff0000">'</span><span style="COLOR: #000000">, </span><span style="FONT-WEIGHT: bold; COLOR: #800000">9</span><span style="COLOR: #000000">, </span><span style="COLOR: #ff0000">'</span><span style="COLOR: #ff0000">PACKAGE</span><span style="COLOR: #ff0000">'</span><span style="COLOR: #000000">, </span><span style="FONT-WEIGHT: bold; COLOR: #800000">10</span><span style="COLOR: #000000">, </span><span style="COLOR: #ff0000">'</span><span style="COLOR: #ff0000">NON-EXISTENT</span><span style="COLOR: #ff0000">'</span><span style="COLOR: #000000">,</span><span style="FONT-WEIGHT: bold; COLOR: #800000">11</span><span style="COLOR: #000000">, </span><span style="COLOR: #ff0000">'</span><span style="COLOR: #ff0000">PACKAGE BODY</span><span style="COLOR: #ff0000">'</span><span style="COLOR: #000000">, </span><span style="FONT-WEIGHT: bold; COLOR: #800000">12</span><span style="COLOR: #000000">, </span><span style="COLOR: #ff0000">'</span><span style="COLOR: #ff0000">TRIGGER</span><span style="COLOR: #ff0000">'</span><span style="COLOR: #000000">,</span><span style="FONT-WEIGHT: bold; COLOR: #800000">13</span><span style="COLOR: #000000">, </span><span style="COLOR: #ff0000">'</span><span style="COLOR: #ff0000">TYPE</span><span style="COLOR: #ff0000">'</span><span style="COLOR: #000000">, </span><span style="FONT-WEIGHT: bold; COLOR: #800000">14</span><span style="COLOR: #000000">, </span><span style="COLOR: #ff0000">'</span><span style="COLOR: #ff0000">TYPE BODY</span><span style="COLOR: #ff0000">'</span><span style="COLOR: #000000">,</span><span style="FONT-WEIGHT: bold; COLOR: #800000">28</span><span style="COLOR: #000000">, </span><span style="COLOR: #ff0000">'</span><span style="COLOR: #ff0000">JAVA SOURCE</span><span style="COLOR: #ff0000">'</span><span style="COLOR: #000000">, </span><span style="FONT-WEIGHT: bold; COLOR: #800000">29</span><span style="COLOR: #000000">, </span><span style="COLOR: #ff0000">'</span><span style="COLOR: #ff0000">JAVA CLASS</span><span style="COLOR: #ff0000">'</span><span style="COLOR: #000000">, </span><span style="FONT-WEIGHT: bold; COLOR: #800000">56</span><span style="COLOR: #000000">, </span><span style="COLOR: #ff0000">'</span><span style="COLOR: #ff0000">JAVA DATA</span><span style="COLOR: #ff0000">'</span><span style="COLOR: #000000">,</span><span style="COLOR: #ff0000">'</span><span style="COLOR: #ff0000">UNDEFINED</span><span style="COLOR: #ff0000">'</span><span style="COLOR: #000000">),po.linkname,decode(d.property, </span><span style="FONT-WEIGHT: bold; COLOR: #800000">2</span><span style="COLOR: #000000">, </span><span style="COLOR: #ff0000">'</span><span style="COLOR: #ff0000">REF</span><span style="COLOR: #ff0000">'</span><span style="COLOR: #000000">, </span><span style="COLOR: #ff0000">'</span><span style="COLOR: #ff0000">HARD</span><span style="COLOR: #ff0000">'</span><span style="COLOR: #000000">)</span><span style="COLOR: #0000ff">from</span><span style="COLOR: #000000"> sys.obj$ o, sys.disk_and_fixed_objects po, sys.dependency$ d, sys.</span><span style="COLOR: #ff00ff">user</span><span style="COLOR: #000000">$ u,sys.</span><span style="COLOR: #ff00ff">user</span><span style="COLOR: #000000">$ pu</span><span style="COLOR: #0000ff">where</span><span style="COLOR: #000000"> o.obj# </span><span style="COLOR: #808080">=</span><span style="COLOR: #000000"> d.d_obj#</span><span style="COLOR: #808080">and</span><span style="COLOR: #000000"> o.owner# </span><span style="COLOR: #808080">=</span><span style="COLOR: #000000"> u.</span><span style="COLOR: #ff00ff">user</span><span style="COLOR: #000000">#</span><span style="COLOR: #808080">and</span><span style="COLOR: #000000"> po.obj# </span><span style="COLOR: #808080">=</span><span style="COLOR: #000000"> d.p_obj#</span><span style="COLOR: #808080">and</span><span style="COLOR: #000000"> po.owner# </span><span style="COLOR: #808080">=</span><span style="COLOR: #000000"> pu.</span><span style="COLOR: #ff00ff">user</span><span style="COLOR: #000000">#</span>[/quote]</div><div> 到这里基本已经99% 确认是了,再测试,果然是这个view记录了相关的依赖关系。</div><p /><p /><div id="5"> 下面再说一个我常用的办法,那么多东西要记住很麻烦,我也记不了那么多,有时觉得打开 OEM /dba studio 也很麻烦于是,假如我要查有关 role 相关的东西,于是 </div><p /><p /><div id="7">[quote]<span style="COLOR: #000000">SQL</span><span style="COLOR: #808080">></span><span style="COLOR: #000000"></span><span style="COLOR: #0000ff">select</span><span style="COLOR: #000000"></span><span style="COLOR: #ff00ff">object_name</span><span style="COLOR: #000000"></span><span style="COLOR: #0000ff">from</span><span style="COLOR: #000000"> dba_objects </span><span style="COLOR: #0000ff">where</span><span style="COLOR: #000000"></span><span style="COLOR: #ff00ff">object_name</span><span style="COLOR: #000000"></span><span style="COLOR: #808080">like</span><span style="COLOR: #000000"></span><span style="COLOR: #ff0000">'</span><span style="COLOR: #ff0000">%ROLE%</span><span style="COLOR: #ff0000">'</span><span style="COLOR: #000000">;</span><span style="COLOR: #ff00ff">OBJECT_NAME</span><span style="COLOR: #000000"></span><span style="COLOR: #008080">--</span><span style="COLOR: #008080">------------------------------------------------------------------------------</span><span style="COLOR: #008080"></span><span style="COLOR: #000000">DBA_ROLESDBA_ROLE_PRIVSDEFROLE$I_DEFROLE1JIS$ROLE_TRIGGER$ROLE_ROLE_PRIVSROLE_SYS_PRIVSROLE_TAB_PRIVSSESSION_ROLESUSER_ROLE_PRIVSDBA_ROLES</span><span style="COLOR: #ff00ff">OBJECT_NAME</span><span style="COLOR: #000000"></span><span style="COLOR: #008080">--</span><span style="COLOR: #008080">------------------------------------------------------------------------------</span><span style="COLOR: #008080"></span><span style="COLOR: #000000">DBA_ROLE_PRIVSROLE_ROLE_PRIVSROLE_SYS_PRIVSROLE_TAB_PRIVSSESSION_ROLESUSER_ROLE_PRIVSVBZ$RG_ROLE_OIDXVBZ$ROLE_GRANTS</span><span style="FONT-WEIGHT: bold; COLOR: #800000">19</span><span style="COLOR: #000000"> rows selected.</span>[/quote]</div><div> 大家在这里结果里面一看,是不是就知道哪些视图记录了相关内容?最多,在 desc 看一下,或者再实验来检验一下,这时查文档也可以,很容易就定位了,这是个人在不熟悉view的时候长期使用的一种办法,说起来很简单,但是却很有效!<br /></div>页:
[1]
