我申请这个blog是为了督促自己,把自己平时的一些想法和思考结果保留下来。 本博客所有内容均为原创,如有转载请注明作者和出处

OBJECT_ID的重用(二)

上一篇 / 下一篇  2008-03-23 21:06:19 / 个人分类:ORACLE

Oracle对于过程会重用OBJECT_ID。这里的过程是指过程、函数、包和对象的总称。

这里通过TRACE来研究一下,Oracle内部是如何实现的。

OBJECT_ID的重用:http://yangtingkun.itpub.net/post/468/457962

 

 

前一篇文章通过一些测试的结果推测了Oracle关于OBJECT_ID重用的实现,这里通过TRACE功能来简单分析一下Oracle到底是如何工作的。

重启数据库后,首先删除P_TEST,然后对建立过程的操作进行TRACE

SQL> ALTER SESSION SET EVENTS = '10046 TRACE NAME CONTEXT FOREVER, LEVEL 12';

会话已更改。

SQL> CREATE PROCEDURE P_TEST AS
)y(Fw;KAP.zMB9s0  2  BEGINITPUB个人空间1rc2TDv)S|D(b5l
  3  NULL;ITPUB个人空间b v"q(x/W`
  4  END;
q:L.A&I"};n4wQ@a:~0  5  /

过程已创建。

SQL> ALTER SESSION SET EVENTS = '10046 TRACE NAME CONTEXT OFF';

会话已更改。

然后再次删除P_TEST过程,对建立P_TEST过程的操作进行TRACE

SQL> DROP PROCEDURE P_TEST;

过程已删除。

SQL> ALTER SESSION SET EVENTS = '10046 TRACE NAME CONTEXT FOREVER, LEVEL 12';

会话已更改。

SQL> CREATE PROCEDURE P_TEST ASITPUB个人空间EU?2XF(W7z
  2  BEGINITPUB个人空间4o%}KYGE t(j[
  3  NULL;ITPUB个人空间2E+F?-@|;L!A:F
  4  END;
:w*D'v!@X+} m0  5  /

过程已创建。

SQL> ALTER SESSION SET EVENTS = '10046 TRACE NAME CONTEXT OFF';

会话已更改。

最后跟踪删除过程的操作:

SQL> ALTER SESSION SET EVENTS = '10046 TRACE NAME CONTEXT FOREVER, LEVEL 12';

会话已更改。

SQL> DROP PROCEDURE P_TEST;

过程已删除。

SQL> ALTER SESSION SET EVENTS = '10046 TRACE NAME CONTEXT OFF';

会话已更改。

为了描述方便,将这三个TRACE操作对应的TRACE文件分别命名为TRACE1TRACE2TRACE3TRACE1对应的创建过程由于是在刚重启数据库后,因此没有重用OBJECT_ID,重新分配了一个OBJECT_IDTRACE2对应的创建过程,重用了以前存在的OBJECT_ID。而TRACE3记录了删除过程中,Oracle如何进行操作。

由于TRACE中的内容众多,而且绝大部分与当前的主题无关,这里只列出部分与OBJ$表有关的操作。

首先看TRACE1中如何处理:

BINDS #3:ITPUB个人空间^*q%jb[-D!_#h
kkscoacdITPUB个人空间}zq c!xe.A
 Bind#0ITPUB个人空间(h6BJWw0U7M1Y[]
  acdty=02 mxl=22(22) mxlc=00 mal=00 scl=00 pre=00ITPUB个人空间xCQ4H7o6j^
  acflg=08 fl2=0001 frm=00 csi=00 siz=24 ff=0
;IoeF an:m0  kxsbbbfp=07edcf7c  bln=22  avl=02  flg=05ITPUB个人空间2}0rj]$L E
  value=61
z Hv9e;REv0 Bind#1
*irp#mo/w2[+\0  acdty=01 mxl=32(06) mxlc=00 mal=00 scl=00 pre=00
fN\| j?wGn0  acflg=18 fl2=0001 frm=01 csi=852 siz=32 ff=0ITPUB个人空间2o3fz{;v0T^
  kxsbbbfp=07edcf50  bln=32  avl=06  flg=05
f7T9S*y"DA0  value="P_TEST"ITPUB个人空间~J*sV*j
 Bind#2
URJ(~L({*w0  acdty=02 mxl=22(22) mxlc=00 mal=00 scl=00 pre=00ITPUB个人空间w:o$H6K|!yXzu h,~"A
  acflg=08 fl2=0001 frm=00 csi=00 siz=24 ff=0
!g4R9sW]'go*q0  kxsbbbfp=07edcf2c  bln=24  avl=02  flg=05
N Z2E&jwW7f0  value=1
"Fv9_3u1GE4Ox z Y0=====================ITPUB个人空间Nu&E"ZZ4tc[%Fx
PARSING IN CURSOR #3 len=198 dep=1 uid=0 ct=3 lid=0 tim=9453664822 hv=4125641360 ad='336db760'ITPUB个人空间0qH$a\jICN Q:c){E9i
select obj#,type#,ctime,mtime,stime,status,dataobj#,flags,oid$, spare1, spare2 from obj$ where owner#=:1 and name=:2 and namespace=:3 and remoteowner is null and linkname is null and subname is nullITPUB个人空间yO*p#n$y3C'j0K go,b
END OF STMT
Zs lG|Rm2y'KeU0EXEC #3:c=0,e=166,p=0,cr=0,cu=0,mis=0,r=0,dep=1,og=4,tim=9453664816
O*z"r B&| S0FETCH #3:c=0,e=31,p=0,cr=2,cu=0,mis=0,r=0,dep=1,og=4,tim=9453664902ITPUB个人空间:E[6j6j B'T n&y5x
BINDS #4:
djo Tr3]0kkscoacd
Y6nj N fCK\X0 Bind#0ITPUB个人空间^A[d+dy o+r-f
  acdty=02 mxl=22(22) mxlc=00 mal=00 scl=00 pre=00ITPUB个人空间5p(vd{ |
  acflg=08 fl2=0001 frm=00 csi=00 siz=24 ff=0
C0X2f q1jC4GH5F0  kxsbbbfp=07edcf7c  bln=22  avl=02  flg=05ITPUB个人空间s#v7z)k]'C:l'?z
  value=1ITPUB个人空间#D%W+k5ke-]
 Bind#1ITPUB个人空间%Y C_qY0nE[ b
  acdty=01 mxl=32(06) mxlc=00 mal=00 scl=00 pre=00ITPUB个人空间R B|,rC"b q-Lt5d
  acflg=18 fl2=0001 frm=01 csi=852 siz=32 ff=0
Z }p/r~m*Qz0  kxsbbbfp=07edcf50  bln=32  avl=06  flg=05ITPUB个人空间!Hr&PN6L
  value="P_TEST"ITPUB个人空间-z!d(k?7{P%\.Q H
 Bind#2ITPUB个人空间]J:g MW
  acdty=02 mxl=22(22) mxlc=00 mal=00 scl=00 pre=00ITPUB个人空间5A*Iy"yP"F@5oR
  acflg=08 fl2=0001 frm=00 csi=00 siz=24 ff=0
/m8Lk1e'g0p W0  kxsbbbfp=07edcf2c  bln=24  avl=02  flg=05
2zz5TI4]0  value=1ITPUB个人空间8O2c#Q#n)N7V
=====================
Kdohby!y0PARSING IN CURSOR #4 len=198 dep=1 uid=0 ct=3 lid=0 tim=9453665238 hv=4125641360 ad='336db760'
(A9Zxx4T4o0select obj#,type#,ctime,mtime,stime,status,dataobj#,flags,oid$, spare1, spare2 from obj$ where owner#=:1 and name=:2 and namespace=:3 and remoteowner is null and linkname is null and subname is null
/r(`3}*A0O;L0END OF STMTITPUB个人空间*l#x V ngC{
EXEC #4:c=0,e=169,p=0,cr=0,cu=0,mis=0,r=0,dep=1,og=4,tim=9453665233ITPUB个人空间9M)x.KaQty/Ln6Y
FETCH #4:c=0,e=28,p=0,cr=2,cu=0,mis=0,r=0,dep=1,og=4,tim=9453665318

Oracle分别在当前用户下和PUBLIC用户下查找同名的对象,都没有找到。

PARSING IN CURSOR #6 len=205 dep=1 uid=0 ct=2 lid=0 tim=9454380157 hv=3861105107 ad='27dc35dc'
]5{.wWA?z,B3x0insert into obj$(owner#,name,namespace,obj#,type#,ctime,mtime,stime,status,remoteowner,linkname,subname,dataobj#,flags,oid$,spare1,spare2)values(:1,:2,:3,:4,:5,:6,:7,:8,:9,:10,:11,:12,:13,:14,:15,:16, :17)
*OK!NDM y]"d%k0END OF STMTITPUB个人空间/L]7H(^Y@pq}f
PARSE #6:c=0,e=753,p=0,cr=0,cu=0,mis=1,r=0,dep=1,og=4,tim=9454380151
%XS jWI,SE0BINDS #6:ITPUB个人空间?~RH(@}vt
kkscoacdITPUB个人空间"N!L1G?2jm$D#\)w
 Bind#0
oo \-A b0  acdty=02 mxl=22(22) mxlc=00 mal=00 scl=00 pre=00ITPUB个人空间K1r N^+b(P dI3W
  acflg=08 fl2=0001 frm=00 csi=00 siz=24 ff=0
? W];p,A0  kxsbbbfp=07ecfbdc  bln=22  avl=02  flg=05ITPUB个人空间Cl'i,|.cg6[2rL5w
  value=61
U] M1w1l_g)`{0 Bind#1
zhFg3f8m h+k0  acdty=01 mxl=32(06) mxlc=00 mal=00 scl=00 pre=00
w7C2A[(j4r#W0  acflg=18 fl2=0001 frm=01 csi=852 siz=32 ff=0
K$BB D0a0  kxsbbbfp=27dd1b36  bln=32  avl=06  flg=09
;KgW ]-_ f0  value="P_TEST"ITPUB个人空间 E d8oz&d5~O4f-x
 Bind#2
#r4y4A"n\L3Ww&\0  acdty=02 mxl=22(22) mxlc=00 mal=00 scl=00 pre=00
`(|B#C}0x0  acflg=08 fl2=0001 frm=00 csi=00 siz=24 ff=0
Ry,l9x\7DWLW0  kxsbbbfp=07ecfbb8  bln=24  avl=02  flg=05
Y#dK9V4Fk0  value=1ITPUB个人空间&u+u Eg?pd
 Bind#3ITPUB个人空间 bvt{$P3vo ov
  acdty=02 mxl=22(22) mxlc=00 mal=00 scl=00 pre=00
OBK7L&F9I N!TX8XCV0  acflg=08 fl2=0001 frm=00 csi=00 siz=24 ff=0
$yC:i;@#]!U0  kxsbbbfp=07ecfb94  bln=24  avl=04  flg=05ITPUB个人空间 p#r7T U7Y ?IJdw
  value=55506ITPUB个人空间W{*J;`Pa/jy
 Bind#4ITPUB个人空间7\9C:xLi{
  acdty=02 mxl=22(22) mxlc=00 mal=00 scl=00 pre=00ITPUB个人空间 ? @S3aK2nfPb v-RaS
  acflg=08 fl2=0001 frm=00 csi=00 siz=24 ff=0
,V0\c.D U&_s r|!n:u0  kxsbbbfp=07ecfb70  bln=24  avl=02  flg=05ITPUB个人空间@0hO(\'Jn
  value=7
&V g9SO-M C0 Bind#5
C@0|5R9~n4qu4w:b([ i0  acdty=12 mxl=07(07) mxlc=00 mal=00 scl=00 pre=00ITPUB个人空间r{+n*@ ZXyG+@
  acflg=18 fl2=0001 frm=00 csi=00 siz=8 ff=0
W.RNn`G4{qX0  kxsbbbfp=27dd1c29  bln=08  avl=07  flg=09ITPUB个人空间v2aG)I5|3m
  value="3/23/2008 11:21:45"
*\dX.f:?'? Ei/]}y0 Bind#6
o%m2tvx"CH0  acdty=12 mxl=07(07) mxlc=00 mal=00 scl=00 pre=00ITPUB个人空间A)fs+C ie
  acflg=18 fl2=0001 frm=00 csi=00 siz=8 ff=0
%L?f Q3wq(lq]9zU-\4a0  kxsbbbfp=27dd1c30  bln=08  avl=07  flg=09ITPUB个人空间2c xxX*f*h.TX
  value="3/23/2008 11:21:45"ITPUB个人空间-Mv#y{D
 Bind#7
#]r4UX)k D:okG0  acdty=12 mxl=07(07) mxlc=00 mal=00 scl=00 pre=00
E `9o8p%yJ0  acflg=18 fl2=0001 frm=00 csi=00 siz=8 ff=0
2RN1N]j[G&J!g4S#t0  kxsbbbfp=27dd1c37  bln=08  avl=07  flg=09ITPUB个人空间"E5S(w+A/O
  value="3/23/2008 11:21:45"ITPUB个人空间;nS f.n;i)[-x
 Bind#8ITPUB个人空间L|O.A D$H{ zp(?
  acdty=02 mxl=22(22) mxlc=00 mal=00 scl=00 pre=00
rx-R)X!G!\ O0  acflg=08 fl2=0001 frm=00 csi=00 siz=24 ff=0ITPUB个人空间4w&S!\9~6{VL6v#\
  kxsbbbfp=07ecfb4c  bln=24  avl=02  flg=05
W@#y @(J'G V0  value=1
,vJ7Lqv0 Bind#9
#?,Ec@@h|5o0  acdty=01 mxl=32(00) mxlc=00 mal=00 scl=00 pre=00ITPUB个人空间.~z5I3c w5Q
  acflg=18 fl2=0001 frm=01 csi=852 siz=32 ff=0
3dN?u0M[sg0  kxsbbbfp=00000000  bln=32  avl=00  flg=09
3~)]X@7ki9vF0 Bind#10ITPUB个人空间+zZb6L&^'Z'`#NL
  acdty=01 mxl=32(00) mxlc=00 mal=00 scl=00 pre=00
)HU.Rb_$otA ef0  acflg=18 fl2=0001 frm=01 csi=852 siz=32 ff=0
D`S'GFmK*g&V0KA/e0  kxsbbbfp=00000000  bln=32  avl=00  flg=09ITPUB个人空间Ss`q0sT Yp
 Bind#11ITPUB个人空间.n;{aT"TjKO
  acdty=01 mxl=32(00) mxlc=00 mal=00 scl=00 pre=00
0vc7[1H+V!Rlp.?0  acflg=18 fl2=0001 frm=01 csi=852 siz=32 ff=0ITPUB个人空间 k:i k7]~:K3H?
  kxsbbbfp=00000000  bln=32  avl=00  flg=09ITPUB个人空间y#IF3m0I^u:H'o
 Bind#12ITPUB个人空间}F$X)@ U4o9v C
  acdty=02 mxl=22(00) mxlc=00 mal=00 scl=00 pre=00ITPUB个人空间Svg\ OFN2k?SV
  acflg=08 fl2=0001 frm=00 csi=00 siz=24 ff=0
/j%QJ*EJ;t/L/Ry0  kxsbbbfp=07ecfb28  bln=24  avl=00  flg=05ITPUB个人空间ZS`SL{-Mh@
 Bind#13
)g,f#V1rV1o/G5}0  acdty=02 mxl=22(22) mxlc=00 mal=00 scl=00 pre=00ITPUB个人空间Af$Y3bQQb
  acflg=08 fl2=0001 frm=00 csi=00 siz=24 ff=0
M@'md#B7G"MN0  kxsbbbfp=07ecfb04  bln=24  avl=01  flg=05
q9n"p`)X-jD/Hx0  value=0ITPUB个人空间7v[#R'T&rx#D#E Xi
 Bind#14
9|:bb^-C0  acdty=23 mxl=32(00) mxlc=00 mal=00 scl=00 pre=00
;F;Td%_U.`0  acflg=18 fl2=0001 frm=00 csi=00 siz=32 ff=0ITPUB个人空间+\p.VwL3T b:gK
  kxsbbbfp=00000000  bln=32  avl=00  flg=09
g?C(J)`)j(S)D0 Bind#15ITPUB个人空间Y l~UZlR
  acdty=02 mxl=22(22) mxlc=00 mal=00 scl=00 pre=00ITPUB个人空间qnb8b*J/iFy
  acflg=08 fl2=0001 frm=00 csi=00 siz=24 ff=0
0g"}o g!uB0C0  kxsbbbfp=07ecfad0  bln=24  avl=02  flg=05
bx$ygf P*U,qN1Htt&K0  value=6
}Ct.sl0 Bind#16
gF8~J&?\:au0  acdty=02 mxl=22(22) mxlc=00 mal=00 scl=00 pre=00ITPUB个人空间 j'?*IE$A!A O-Su,P
  acflg=08 fl2=0001 frm=00 csi=00 siz=24 ff=0ITPUB个人空间umZ`U\0H v Y
  kxsbbbfp=07ecfaac  bln=24  avl=04  flg=05ITPUB个人空间 g DH,l-}a?ef
  value=65535ITPUB个人空间{,pDB#@-F.l4Z8f
EXEC #6:c=0,e=1338,p=0,cr=1,cu=5,mis=1,r=1,dep=1,og=4,tim=9454381597
#F!_%M6WP2k^@c0EXEC #5:c=203125,e=905455,p=36,cr=708,cu=75,mis=0,r=0,dep=0,og=1,tim=9454381744ITPUB个人空间!smJ$q.c#o(Sn
WAIT #5: nam='log file sync' ela= 12370 buffer#=2753 p2=0 p3=0 obj#=3 tim=9454394158ITPUB个人空间sX;K!d Vm%b*j
WAIT #5: nam='SQL*Net message to client' ela= 3 driver id=1413697536 #bytes=1 p3=0 obj#=3 tim=9454394241
L\x1H$|T U X0WAIT #5: nam='SQL*Net message from client' ela= 1771 driver id=1413697536 #bytes=1 p3=0 obj#=3 tim=9454396054
s?s wk#s!u0WAIT #0: nam='SQL*Net message to client' ela= 3 driver id=1413697536 #bytes=1 p3=0 obj#=3 tim=9454396129ITPUB个人空间1lhx-`SL%@?_
WAIT #0: nam='SQL*Net message from client' ela= 6537942 driver id=1413697536 #bytes=1 p3=0 obj#=3 tim=9460934099

最后OracleOBJ$表中插入新记录。

看看TRACE2的情况:

PARSING IN CURSOR #4 len=95 dep=1 uid=0 ct=3 lid=0 tim=9683841885 hv=3482111077 ad='27e06d24'
1p)vtds)S0select o.obj#,o.type#,o.status from dependency$ d, obj$ o where d.p_obj#=:1 and d.d_obj#=o.obj#
T5HQ\1XR0END OF STMT
_ m*D#]Hs0PARSE #4:c=0,e=472,p=0,cr=0,cu=0,mis=1,r=0,dep=1,og=4,tim=9683841879
3yz^} l+Mu0BINDS #4:
{\0r'loC"R0kkscoacdITPUB个人空间 O8pA[!n["h5H g,|
 Bind#0ITPUB个人空间t$T \}^q,^
  acdty=02 mxl=22(22) mxlc=00 mal=00 scl=00 pre=00
#dUL2kn\I|n4l0  acflg=00 fl2=0001 frm=00 csi=00 siz=24 ff=0
w1F'R]2OD0  kxsbbbfp=07c00cf8  bln=22  avl=04  flg=05
"C(V%Z8h |;QQ$R0  value=55506
Y+q4O4wO'o'ce0EXEC #4:c=0,e=1766,p=0,cr=0,cu=0,mis=1,r=0,dep=1,og=4,tim=9683844176ITPUB个人空间2It~v$I2oi
FETCH #4:c=0,e=80,p=0,cr=4,cu=0,mis=0,r=0,dep=1,og=4,tim=9683844377
4f,aW$u0fED_0STAT #4 id=1 cnt=0 pid=0 pos=1 bj=0 p='NESTED LOOPS  (cr=4 pr=0 pw=0 time=110 us)'
+xM|!Qc-u3S0STAT #4 id=2 cnt=0 pid=1 pos=1 bj=92 p='TABLE ACCESS BY INDEX ROWID DEPENDENCY$ (cr=4 pr=0 pw=0 time=96 us)'
wT {6J"V7vts`4k:T`0STAT #4 id=3 cnt=0 pid=2 pos=1 bj=123 p='INDEX RANGE SCAN I_DEPENDENCY2 (cr=4 pr=0 pw=0 time=48 us)'
1Ci9Q|Pd0STAT #4 id=4 cnt=0 pid=1 pos=2 bj=18 p='TABLE ACCESS BY INDEX ROWID OBJ$ (cr=0 pr=0 pw=0 time=0 us)'ITPUB个人空间3J%E'x&k$F!A
STAT #4 id=5 cnt=0 pid=4 pos=1 bj=36 p='INDEX UNIQUE SCAN I_OBJ1 (cr=0 pr=0 pw=0 time=0 us)'

Oracle一上来第一个查询就使用OBJECT_ID55506。这说明这个对应的关系应该已经在内存中晚上了,不是通过SQL方式实现的。

最后,Oracle通过UPDATE操作来更新OBJ$表:

PARSING IN CURSOR #4 len=331 dep=1 uid=0 ct=6 lid=0 tim=9683870303 hv=2997034431 ad='33512f2c'
t{7TK A!Q0update obj$ set obj#=:6,type#=:7,ctime=:8,mtime=:9,stime=:10,status=:11,dataobj#=:13,flags=:14,oid$=:15,spare1=:16, spare2=:17 where owner#=:1 and name=:2 and namespace=:3 and(remoteowner=:4 or remoteowner is null and :4 is null)and(linkname=:5 or linkname is null and :5 is null)and(subname=:12 or subname is null and :12 is null)
? w/uc;^VV0END OF STMTITPUB个人空间]3Q3Y.Q Q
PARSE #4:c=0,e=38,p=0,cr=0,cu=0,mis=0,r=0,dep=1,og=4,tim=9683870297ITPUB个人空间(o'\6E&t\g \s%N
BINDS #4:ITPUB个人空间!Lh d$ZXA'P o
kkscoacd
(S:T-F8UL4hx/kw0 Bind#0ITPUB个人空间$NX` [st Ra
  acdty=02 mxl=22(22) mxlc=00 mal=00 scl=00 pre=00ITPUB个人空间k H2R(EAh}
  acflg=08 fl2=0001 frm=00 csi=00 siz=24 ff=0
1N eIRS I5o4c9a0  kxsbbbfp=07c03bc8  bln=24  avl=04  flg=05
$G z-`:bW.AB#T0  value=55506ITPUB个人空间T5@#GF-Jw"C6Gb?
 Bind#1ITPUB个人空间/q]k:?l/v`
  acdty=02 mxl=22(22) mxlc=00 mal=00 scl=00 pre=00ITPUB个人空间k)U-SM8W
  acflg=08 fl2=0001 frm=00 csi=00 siz=24 ff=0
y']MU.HZp4N$n0  kxsbbbfp=07c03ba4  bln=24  avl=02  flg=05
}r-Y-f$\p}0  value=7
R)W-ei]%gh0 Bind#2ITPUB个人空间O[~KSW+_!I
  acdty=12 mxl=07(07) mxlc=00 mal=00 scl=00 pre=00ITPUB个人空间1gR!s |q4IiM
  acflg=18 fl2=0001 frm=00 csi=00 siz=8 ff=0
9z3Z5c0T:Wgi!d7y0  kxsbbbfp=27dd1c29  bln=08  avl=07  flg=09
4^;j7p(fR*a x0  value="3/23/2008 11:25:35"
T!c&['{$}!|8q} K._&E0 Bind#3ITPUB个人空间!OaB(Fs,?5q }
  acdty=12 mxl=07(07) mxlc=00 mal=00 scl=00 pre=00ITPUB个人空间^ j&Y*q2tw9Ku-a%{%w
  acflg=18 fl2=0001 frm=00 csi=00 siz=8 ff=0
~,G!@`qvk0  kxsbbbfp=27dd1c30  bln=08  avl=07  flg=09ITPUB个人空间*zrN oX7uVl
  value="3/23/2008 11:25:35"
]G6n+E#}2n$chh&L0 Bind#4
/oo!?g-Y7L0  acdty=12 mxl=07(07) mxlc=00 mal=00 scl=00 pre=00
i)x8n;VY Yf#M0  acflg=18 fl2=0001 frm=00 csi=00 siz=8 ff=0
#R#D` ht0  kxsbbbfp=27dd1c37  bln=08  avl=07  flg=09
m;N*v q ~0X0  value="3/23/2008 11:25:35"
)h0tvQZ0 Bind#5ITPUB个人空间L l#G,|5h"[:}Zv
  acdty=02 mxl=22(22) mxlc=00 mal=00 scl=00 pre=00
H$^|!zL`7J z0  acflg=08 fl2=0001 frm=00 csi=00 siz=24 ff=0ITPUB个人空间A*l@:~#m8p!U T|o
  kxsbbbfp=07c03b80  bln=24  avl=02  flg=05ITPUB个人空间 YthYQ(bs$j
  value=1ITPUB个人空间1x oo!NLm8~
 Bind#6ITPUB个人空间Q_$X i ?0B6j
  acdty=02 mxl=22(00) mxlc=00 mal=00 scl=00 pre=00
Yz)@P]8Q,z*F$b!H0  acflg=08 fl2=0001 frm=00 csi=00 siz=24 ff=0
~[ lx-\/Brz0  kxsbbbfp=07c03b5c  bln=24  avl=00  flg=05ITPUB个人空间`%q"}#HzG A's
 Bind#7ITPUB个人空间rk;|"vH(h:b T
  acdty=02 mxl=22(22) mxlc=00 mal=00 scl=00 pre=00
8B Vo+sc3x:}P0  acflg=08 fl2=0001 frm=00 csi=00 siz=24 ff=0
.Z4Pm^k0  kxsbbbfp=07c03b38  bln=24  avl=01  flg=05ITPUB个人空间Riir&P/t$nl
  value=0
Ii~u dQ.IcG(u0 Bind#8ITPUB个人空间w7zNQON
  acdty=23 mxl=32(00) mxlc=00 mal=00 scl=00 pre=00ITPUB个人空间7S|M4Q7e2y
  acflg=18 fl2=0001 frm=00 csi=00 siz=32 ff=0
?j\p.`5B1^%d0  kxsbbbfp=00000000  bln=32  avl=00  flg=09
4u[ X wg n0 Bind#9
!l\LzX[0  acdty=02 mxl=22(22) mxlc=00 mal=00 scl=00 pre=00ITPUB个人空间a&Z+W5P3Q\4cb9bo
  acflg=08 fl2=0001 frm=00 csi=00 siz=24 ff=0ITPUB个人空间kl HM:w*Y%_.A
  kxsbbbfp=07c03b14  bln=24  avl=02  flg=05ITPUB个人空间.nL4oM{#S9Sfs A
  value=6
:^k$j@)Gp#P0 Bind#10ITPUB个人空间 h4p!W'{*tv\}]
  acdty=02 mxl=22(22) mxlc=00 mal=00 scl=00 pre=00
g+zJ%l;I+o0  acflg=08 fl2=0001 frm=00 csi=00 siz=24 ff=0ITPUB个人空间 O BScj3V ?M
  kxsbbbfp=07c03af0  bln=24  avl=04  flg=05ITPUB个人空间&UG+@:t}{+i
  value=65535ITPUB个人空间m?V2e-l-h&F
 Bind#11
&Xhb ar)vR-[0  acdty=02 mxl=22(22) mxlc=00 mal=00 scl=00 pre=00
'j d5n2N.v0  acflg=08 fl2=0001 frm=00 csi=00 siz=24 ff=0ITPUB个人空间{6`6o!F$D'z(LM
  kxsbbbfp=07c03c10  bln=22  avl=02  flg=05ITPUB个人空间HjE1cF$S`8S4u
  value=61
y&?.jm8g;E1E0 Bind#12
1D d'yAI(A0  acdty=01 mxl=32(06) mxlc=00 mal=00 scl=00 pre=00ITPUB个人空间'wt$D3@7xgX
  acflg=18 fl2=0001 frm=01 csi=852 siz=32 ff=0ITPUB个人空间| s7mcPl0C b
  kxsbbbfp=27dd1b36  bln=32  avl=06  flg=09
$UC)J+k3V9G0  value="P_TEST"
F3\%O7Z"Y]0 Bind#13
)r?-~2L l,S7u0  acdty=02 mxl=22(22) mxlc=00 mal=00 scl=00 pre=00
r c \3H!l*M]&u0  acflg=08 fl2=0001 frm=00 csi=00 siz=24 ff=0
O/Xp}@Bbf3y0  kxsbbbfp=07c03bec  bln=24  avl=02  flg=05
j+hd!L.h0]0  value=1
v6~$X-aM0 Bind#14ITPUB个人空间U;O{i.x sV:R r
  acdty=01 mxl=32(00) mxlc=00 mal=00 scl=00 pre=00ITPUB个人空间)U2A#}Qa2e9yD
  acflg=18 fl2=0001 frm=01 csi=852 siz=32 ff=0
p&qV%[&HG,FQ([0  kxsbbbfp=00000000  bln=32  avl=00  flg=09ITPUB个人空间#r'wR;jwaG
 Bind#15
%p YP/d7G C,}0  No oacdef for this bind.ITPUB个人空间g9xy W^)yP
 Bind#16
'f{?@0Qm0  acdty=01 mxl=32(00) mxlc=00 mal=00 scl=00 pre=00
?AG-I"C5q3I0  acflg=18 fl2=0001 frm=01 csi=852 siz=32 ff=0ITPUB个人空间 _ j,QD g0| B
  kxsbbbfp=00000000  bln=32  avl=00  flg=09
)UOP%fD[BKk-o,x0 Bind#17ITPUB个人空间 _6R!]-Fi~ J"c
  No oacdef for this bind.
U4oeI6B&@V'~1F0 Bind#18
Swih]"`]A4P0  acdty=01 mxl=32(00) mxlc=00 mal=00 scl=00 pre=00ITPUB个人空间DQ{U)o)Hy c
  acflg=18 fl2=0001 frm=01 csi=852 siz=32 ff=0
R`~6XP0  kxsbbbfp=00000000  bln=32  avl=00  flg=09ITPUB个人空间5a/NJ QP0u:bU\
 Bind#19ITPUB个人空间d9}A^3Q;L|:d f
  No oacdef for this bind.ITPUB个人空间k t&M_ {b1p!l \|a&X
EXEC #4:c=0,e=779,p=0,cr=2,cu=1,mis=0,r=1,dep=1,og=4,tim=9683871174
x/L@ ~5Tc?0STAT #4 id=1 cnt=0 pid=0 pos=1 bj=0 p='UPDATE  OBJ$ (cr=2 pr=0 pw=0 time=112 us)'
z JE.g8~E%Sqm g0STAT #4 id=2 cnt=1 pid=1 pos=1 bj=37 p='INDEX RANGE SCAN I_OBJ2 (cr=2 pr=0 pw=0 time=36 us)'
]4xI#~'Bn1MD0EXEC #7:c=31250,e=30138,p=0,cr=26,cu=68,mis=0,r=0,dep=0,og=1,tim=9683871327ITPUB个人空间oGP zhB-Q0] s(b5k
WAIT #7: nam='log file sync' ela= 569 buffer#=3774 p2=0 p3=0 obj#=-1 tim=9683871936ITPUB个人空间{$ZN"Gh9RdDV
WAIT #7: nam='SQL*Net message to client' ela= 6 driver id=1413697536 #bytes=1 p3=0 obj#=-1 tim=9683872010
7b,p.u\8n-L0WAIT #7: nam='SQL*Net message from client' ela= 29351 driver id=1413697536 #bytes=1 p3=0 obj#=-1 tim=9683901399ITPUB个人空间#c5YR Aa ~ e-G4C
WAIT #0: nam='SQL*Net message to client' ela= 2 driver id=1413697536 #bytes=1 p3=0 obj#=-1 tim=9683901486ITPUB个人空间|{1q!M.z0U-T A
*** 2008-03-23 11:25:40.625
6x)_*[N9J ^0WAIT #0: nam='SQL*Net message from client' ela= 4696512 driver id=1413697536 #bytes=1 p3=0 obj#=-1 tim=9688598032

最后看看执行删除是Oracle做了什么就一目了然了:

PARSING IN CURSOR #15 len=331 dep=1 uid=0 ct=6 lid=0 tim=10682519187 hv=2997034431 ad='33512f2c'ITPUB个人空间+t2ES.yO
update obj$ set obj#=:6,type#=:7,ctime=:8,mtime=:9,stime=:10,status=:11,dataobj#=:13,flags=:14,oid$=:15,spare1=:16, spare2=:17 where owner#=:1 and name=:2 and namespace=:3 and(remoteowner=:4 or remoteowner is null and :4 is null)and(linkname=:5 or linkname is null and :5 is null)and(subname=:12 or subname is null and :12 is null)ITPUB个人空间M(k]ax
END OF STMT
6M3b4@_ d9Z0PARSE #15:c=0,e=33,p=0,cr=0,cu=0,mis=0,r=0,dep=1,og=4,tim=10682519180
.Fx]ajj0BINDS #15:ITPUB个人空间+B;@2nN9F8C6T8a[
kkscoacdITPUB个人空间x fJ!C1F
 Bind#0
XFQY c0  acdty=02 mxl=22(22) mxlc=00 mal=00 scl=00 pre=00ITPUB个人空间-[ i}w:?
  acflg=08 fl2=0001 frm=00 csi=00 siz=24 ff=0
Me(f]MA.Z0  kxsbbbfp=080e1ec4  bln=24  avl=04  flg=05ITPUB个人空间7_A L0{Ns)PV
  value=55506ITPUB个人空间 l"A.XpdD*F+] RZ
 Bind#1ITPUB个人空间P4hx#d/p^/V
  acdty=02 mxl=22(22) mxlc=00 mal=00 scl=00 pre=00
2]6t TJ!c%i:wwg PM&U#S0  acflg=08 fl2=0001 frm=00 csi=00 siz=24 ff=0
N-^jG-`!y5k0  kxsbbbfp=080e1ea0  bln=24  avl=02  flg=05ITPUB个人空间 FsOMB
  value=10
{3q P0n9K:i4S%i0 Bind#2ITPUB个人空间k[6f#P!n f1`$i
  acdty=12 mxl=07(07) mxlc=00 mal=00 scl=00 pre=00
,V8W1X1K:z!n'u0n0  acflg=18 fl2=0001 frm=00 csi=00 siz=8 ff=0
a:J2R'c9q0  kxsbbbfp=27dd1c29  bln=08  avl=07  flg=09
{&X-~hFU0  value="3/23/2008 11:25:35"ITPUB个人空间.m)?*IU \\6c"y.T
 Bind#3ITPUB个人空间e[%Fu:`(S
  acdty=12 mxl=07(07) mxlc=00 mal=00 scl=00 pre=00ITPUB个人空间 wa8s Q [2@y
  acflg=18 fl2=0001 frm=00 csi=00 siz=8 ff=0
(RE8Ez3m0  kxsbbbfp=27dd1c30  bln=08  avl=07  flg=09ITPUB个人空间;z0en`$]&j
  value="3/23/2008 11:42:14"ITPUB个人空间OX7u%@0]\
 Bind#4
_4SqW,V6@(h$B0g0  acdty=12 mxl=07(07) mxlc=00 mal=00 scl=00 pre=00
6L$v*O&HE^#~I$[0  acflg=18 fl2=0001 frm=00 csi=00 siz=8 ff=0
iy3L$X@U1b$?0  kxsbbbfp=27dd1c37  bln=08  avl=07  flg=09ITPUB个人空间3CUdO4T#bvM
  value="12/31/4712 23:59:59"ITPUB个人空间2CUU'x$M4N2E
 Bind#5
9]w2{fwG }iPX p-{0  acdty=02 mxl=22(22) mxlc=00 mal=00 scl=00 pre=00ITPUB个人空间 K!`@p7p,H{ h%|
  acflg=08 fl2=0001 frm=00 csi=00 siz=24 ff=0ITPUB个人空间.LK8r%j'W['i p
  kxsbbbfp=080e1e7c  bln=24  avl=02  flg=05ITPUB个人空间5h[^d,m.?
  value=1
"w)XhZi j-F#S0 Bind#6ITPUB个人空间0R(LQc"d2L,gl [
  acdty=02 mxl=22(00) mxlc=00 mal=00 scl=00 pre=00ITPUB个人空间(KEO_+{5do
  acflg=08 fl2=0001 frm=00 csi=00 siz=24 ff=0
]k;f/]E3u zP2S%R0  kxsbbbfp=080e1e58  bln=24  avl=00  flg=05ITPUB个人空间3u&PN D&Bm
 Bind#7ITPUB个人空间.\7@R#wWkB
  acdty=02 mxl=22(22) mxlc=00 mal=00 scl=00 pre=00
yUF_w n-q~w B0  acflg=08 fl2=0001 frm=00 csi=00 siz=24 ff=0
B~j-ytg"o,`;~0  kxsbbbfp=080e1e34  bln=24  avl=01  flg=05ITPUB个人空间0E#Cv7o?Iz
  value=0
8w,R`o"tb@0 Bind#8ITPUB个人空间9f*C:^Vmg ]6E:U]
  acdty=23 mxl=32(00) mxlc=00 mal=00 scl=00 pre=00ITPUB个人空间LP"?9||J"tZN
  acflg=18 fl2=0001 frm=00 csi=00 siz=32 ff=0ITPUB个人空间']Mprj%M+s
  kxsbbbfp=00000000  bln=32  avl=00  flg=09
v~'aA5U3kW0 Bind#9
4EUJtZ&r0  acdty=02 mxl=22(22) mxlc=00 mal=00 scl=00 pre=00ITPUB个人空间'C7Cw@![T
  acflg=08 fl2=0001 frm=00 csi=00 siz=24 ff=0ITPUB个人空间7n:q O:Y(B o'DIF"N\
  kxsbbbfp=080e1e10  bln=24  avl=02  flg=05ITPUB个人空间"]Bp{#TZi
  value=6
w$M(FYW g0 Bind#10
x#W\k VO!P0  acdty=02 mxl=22(22) mxlc=00 mal=00 scl=00 pre=00ITPUB个人空间:Qx!ML+a&W,zE6j
  acflg=08 fl2=0001 frm=00 csi=00 siz=24 ff=0
8C0dG ZN q#a'\)z0  kxsbbbfp=080e1dec  bln=24  avl=04  flg=05ITPUB个人空间0{_$U d`7R"u2{n.v|
  value=65535
ZhKB\7bIg3}0 Bind#11ITPUB个人空间5o e}+I-T6S5N/Z
  acdty=02 mxl=22(22) mxlc=00 mal=00 scl=00 pre=00
]|1S nMc-vv$O0  acflg=08 fl2=0001 frm=00 csi=00 siz=24 ff=0ITPUB个人空间N'`SA7n2D8x.{"NN
  kxsbbbfp=080e1f0c  bln=22  avl=02  flg=05ITPUB个人空间#Be%y}x0tb
  value=61
VL+|}"}+F!t0Pg/P"t%^0 Bind#12ITPUB个人空间M%e&n+|*g1w V5m3\{
  acdty=01 mxl=32(06) mxlc=00 mal=00 scl=00 pre=00
q1\KWwp0  acflg=18 fl2=0001 frm=01 csi=852 siz=32 ff=0
q1{)Nh g^"d$wO#gB;S0  kxsbbbfp=27dd1b36  bln=32  avl=06  flg=09
,MK9M+\2b}3~z#v0  value="P_TEST"ITPUB个人空间{+j"t1i+f.vyzE5\2k'z
 Bind#13
9nFn8bt1s0  acdty=02 mxl=22(22) mxlc=00 mal=00 scl=00 pre=00
0FJ Mj!f9I$b2e0  acflg=08 fl2=0001 frm=00 csi=00 siz=24 ff=0
q9yr t uMYp0  kxsbbbfp=080e1ee8  bln=24  avl=02  flg=05
eYDns[ Y"FM0  value=1
j~KkK2rL-~/d0 Bind#14ITPUB个人空间 Xj:k b7u%~O
  acdty=01 mxl=32(00) mxlc=00 mal=00 scl=00 pre=00ITPUB个人空间@s5N}R!gHWl vD
  acflg=18 fl2=0001 frm=01 csi=852 siz=32 ff=0ITPUB个人空间&gS9X4Um
  kxsbbbfp=00000000  bln=32  avl=00  flg=09ITPUB个人空间_4h%Us qy1L2ar
 Bind#15ITPUB个人空间gvhoW{*zT5L
  No oacdef for this bind.ITPUB个人空间 N t-HJG8ie
 Bind#16
]*[5bv2[:h0  acdty=01 mxl=32(00) mxlc=00 mal=00 scl=00 pre=00ITPUB个人空间7^H;au"BEH~
  acflg=18 fl2=0001 frm=01 csi=852 siz=32 ff=0ITPUB个人空间IQrsD)K-Eq
  kxsbbbfp=00000000  bln=32  avl=00  flg=09ITPUB个人空间I aL(un"W
 Bind#17
d x g;Wi s4S0  No oacdef for this bind.ITPUB个人空间g$@6UhKDBz
 Bind#18
C v0oBy s S6KU0  acdty=01 mxl=32(00) mxlc=00 mal=00 scl=00 pre=00
`~I!W ajO0  acflg=18 fl2=0001 frm=01 csi=852 siz=32 ff=0
"y yG8l.P woc0  kxsbbbfp=00000000  bln=32  avl=00  flg=09ITPUB个人空间 d!h}!L Xc
 Bind#19
5X:Q Q3CTZ'j0  No oacdef for this bind.ITPUB个人空间A:_ Lhm _^"sC&c%S
EXEC #15:c=0,e=827,p=0,cr=2,cu=3,mis=0,r=1,dep=1,og=4,tim=10682520115ITPUB个人空间 p[eJn7uO3g
STAT #15 id=1 cnt=0 pid=0 pos=1 bj=0 p='UPDATE  OBJ$ (cr=2 pr=0 pw=0 time=145 us)'ITPUB个人空间vGQ#v!_ C4l8@
STAT #15 id=2 cnt=1 pid=1 pos=1 bj=37 p='INDEX RANGE SCAN I_OBJ2 (cr=2 pr=0 pw=0 time=36 us)'
Jz2X;T;o:C^0EXEC #17:c=62500,e=63127,p=0,cr=201,cu=70,mis=0,r=0,dep=0,og=1,tim=10682520408
.i'U2U Y,m D*U~6{&JA0WAIT #17: nam='log file sync' ela= 448 buffer#=2307 p2=0 p3=0 obj#=-1 tim=10682520894
,}*j*Z%}{Mcm0WAIT #17: nam='SQL*Net message to client' ela= 6 driver id=1413697536 #bytes=1 p3=0 obj#=-1 tim=10682520971
Z#vEb|(c5cK(g0WAIT #17: nam='SQL*Net message from client' ela= 943 driver id=1413697536 #bytes=1 p3=0 obj#=-1 tim=10682521978ITPUB个人空间_oneQ:e!N1pQ
WAIT #0: nam='SQL*Net message to client' ela= 2 driver id=1413697536 #bytes=1 p3=0 obj#=-1 tim=10682522052
c4JW4g+O5N*w0*** 2008-03-23 11:42:20.031ITPUB个人空间Gp.hBu2S
WAIT #0: nam='SQL*Net message from client' ela= 5491197 driver id=1413697536 #bytes=1 p3=0 obj#=-1 tim=10688013280

可以看到,Oracle在删除过程的时候,并不是想我们想象中的从OBJ$中将对象DELETE掉,而是通过UPDATE语句,将对象的状态置于10

DBA_OBJECTS的定义可以看到,TYPE#10被认为是不存在的对象:

SQL> SELECT TEXT FROM DBA_VIEWS WHERE VIEW_NAME = 'DBA_OBJECTS';

TEXT
#SxaFMp0------------------------------------------------------------------------------
uGb6}1TW2cf?Be0select u.name, o.name, o.subname, o.obj#, o.dataobj#,
"b\&[C?6q Q0       decode(o.type#, 0, 'NEXT OBJECT', 1, 'INDEX', 2, 'TABLE', 3, 'CLUSTER',ITPUB个人空间'N[ Ve }d+hQ
                      4, 'VIEW', 5, 'SYNONYM', 6, 'SEQUENCE',
}ziZb)E;p-v B#g0                      7, 'PROCEDURE', 8, 'FUNCTION', 9, 'PACKAGE',
&m#Z1o-a-qn#p-h0                      11, 'PACKAGE BODY', 12, 'TRIGGER',ITPUB个人空间F YB1G An:t
                      13, 'TYPE', 14, 'TYPE BODY',
0T6mcf\J0                      19, 'TABLE PARTITION', 20, 'INDEX PARTITION', 21, 'LOB',
1{2BxCNx0                      22, 'LIBRARY', 23, 'DIRECTORY', 24, 'QUEUE',ITPUB个人空间%A1Wy7j|
                      28, 'JAVA SOURCE', 29, 'JAVA CLASS', 30, 'JAVA RESOURCE',
rz5W I'jKw0                      32, 'INDEXTYPE', 33, 'OPERATOR',ITPUB个人空间 wHK%rZ7RW j3i0d i
                      34, 'TABLE SUBPARTITION', 35, 'INDEX SUBPARTITION',
f0J(PB)v3t!E,n0                      40, 'LOB PARTITION', 41, 'LOB SUBPARTITION',ITPUB个人空间0[C#o0g+K;V
                      42, NVL((SELECT distinct 'REWRITE EQUIVALENCE'
/T"DI9~/G%}$z$C0                               FROM sum$ s
n%tZ J-x0                               WHERE s.obj#=o.obj#ITPUB个人空间1J`GSL ]"yF1g
                                     and bitand(s.xpflags, 8388608) = 8388608),
+|#} m1a f4b0                              'MATERIALIZED VIEW'),
]5um"j)mvE'O0                      43, 'DIMENSION',ITPUB个人空间1_V!q#mr&j c gs
                      44, 'CONTEXT', 46, 'RULE SET', 47, 'RESOURCE PLAN',
wlyP%MX5jN7o0                      48, 'CONSUMER GROUP',ITPUB个人空间,H9e#qg\Z5B B6m8~*a
                      51, 'SUBSCRIPTION', 52, 'LOCATION',ITPUB个人空间/i0S2?6V7u2{0W'o(y
                      55, 'XML SCHEMA', 56, 'JAVA DATA',
@ a3W\Uex [0                      57, 'SECURITY PROFILE', 59, 'RULE',ITPUB个人空间!D4R x1nq![ D
                      60, 'CAPTURE', 61, 'APPLY',
#g8vQ Hf ]5h0                      62, 'EVALUATION CONTEXT',
{&] }f1q5[8T0                      66, 'JOB', 67, 'PROGRAM', 68, 'JOB CLASS', 69, 'WINDOW',
3G2BaYp.?|!U0                      72, 'WINDOW GROUP', 74, 'SCHEDULE', 79, 'CHAIN',
B`6e ^z#Fd JU0                      81, 'FILE GROUP',ITPUB个人空间 Ni5w2id8{8Vr Gp9R
                     'UNDEFINED'),
eC0KN0M1P;v5R%Z0       o.ctime, o.mtime,ITPUB个人空间6@!wKr&n+f4v:y`
       to_char(o.stime, 'YYYY-MM-DD:HH24:MI:SS'),ITPUB个人空间%Q#}4Dg er3G x U
       decode(o.status, 0, 'N/A', 1, 'VALID', 'INVALID'),ITPUB个人空间g@}g"R T3| WsR
       decode(bitand(o.flags, 2), 0, 'N', 2, 'Y', 'N'),ITPUB个人空间P0]D4q0oH8Z5x$i
       decode(bitand(o.flags, 4), 0, 'N', 4, 'Y', 'N'),
/m;Iyfb(l;cK&e5z0       decode(bitand(o.flags, 16), 0, 'N', 16, 'Y', 'N')ITPUB个人空间J+l zsnz,x@
from sys.obj$ o, sys.user$ u
,B n;cy6A0where o.owner# = u.user#ITPUB个人空间+F6[P!w8|!Q'r'[A
  and o.linkname is nullITPUB个人空间K-QkmG
  and (o.type# not in (1  /* INDEX - handled below */,
EMw d$q-\_;w!o0                      10 /* NON-EXISTENT */)ITPUB个人空间tOX4x;~(B
       or
;V-aU"Q;R W-f`cE0       (o.type# = 1 and 1 = (select 1
4e H:@|0u!fMO*n(Kr0                              from sys.ind$ iITPUB个人空间(uW@T4C9k[_+R(y_
                             where i.obj# = o.obj#
d/V)B5` UXN#C0                               and i.type# in (1, 2, 3, 4, 6, 7, 9))))ITPUB个人空间nf,Z6o"Ca_
  and o.name != '_NEXT_OBJECT'ITPUB个人空间dLEJgM:b qQ i
  and o.name != '_default_auditing_options_'ITPUB个人空间G:MY yHg}aBC
union allITPUB个人空间(hEh2c-}NOi{g
select u.name, l.name, NULL, to_number(null), to_number(null),
&x:_6Z6wte0       'DATABASE LINK',
6ZUUi$R[$r5P;e0       l.ctime, to_date(null), NULL, 'VALID','N','N', 'N'
q I6KN0x[#p6P(X0from sys.link$ l, sys.user$ u
O!y v+K P-e0where l.owner# = u.user#

因此这个对象被删除后仍然存在于OBJ$,而通过DBA_OBJECTS视图是无法查询到的:

SQL> SELECT OBJ#, NAME, TYPE# FROM SYS.OBJ$ WHERE OBJ# = 55506;

      OBJ# NAME                                TYPE#
L9],d J/V ^4D i0---------- ------------------------------ ----------ITPUB个人空间Ps p N ycV$c%c
     55506 P_TEST                                 10

SQL> SELECT * FROM DBA_OBJECTS WHERE OBJECT_ID = 55506;

未选定行

Oracle就是通过这种方式来实现OBJECT_ID的重用的。

 


TAG:

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

Open Toolbar