select u.name, o.name,
decode(bitand(t.property,2151678048), 0, ts.name,
decode(t.ts#, 0, null, ts.name)),
decode(bitand(t.property, 1024), 0, null, co.name),
decode((bitand(t.property, 512)+bitand(t.flags, 536870912)),
0, null, co.name),
decode(bitand(t.trigflag, 1073741824), 1073741824, 'UNUSABLE', 'VALID'),
decode(bitand(t.property, 32+64), 0, mod(t.pctfree$, 100), 64, 0, null),
decode(bitand(ts.flags, 32), 32, to_number(NULL),
decode(bitand(t.property, 32+64), 0, t.pctused$, 64, 0, null)),
decode(bitand(t.property, 32), 0, t.initrans, null),
decode(bitand(t.property, 32), 0, t.maxtrans, null),
s.iniexts * ts.blocksize, s.extsize * ts.blocksize,
s.minexts, s.maxexts,
decode(bitand(ts.flags, 3), 1, to_number(NULL),
s.extpct),
decode(bitand(ts.flags, 32), 32, to_number(NULL),
decode(bitand(o.flags, 2), 2, 1, decode(s.lists, 0, 1, s.lists))),
decode(bitand(ts.flags, 32), 32, to_number(NULL),
decode(bitand(o.flags, 2), 2, 1, decode(s.groups, 0, 1, s.groups))),
decode(bitand(t.property, 32), 32, null,
decode(bitand(t.flags, 32), 0, 'YES', 'NO')),
decode(bitand(t.flags,1), 0, 'Y', 1, 'N', '?'),
t.rowcnt,
decode(bitand(t.property, 64), 0, t.blkcnt, null),
decode(bitand(t.property, 64), 0, t.empcnt, null),
t.avgspc, t.chncnt, t.avgrln, t.avgspc_flb,
decode(bitand(t.property, 64), 0, t.flbcnt, null),
lpad(decode(t.degree, 32767, 'DEFAULT', nvl(t.degree,1)),10),
lpad(decode(t.instances, 32767, 'DEFAULT', nvl(t.instances,1)),10),
lpad(decode(bitand(t.flags, 8), 8, 'Y', 'N'),5),
decode(bitand(t.flags, 6), 0, 'ENABLED', 'DISABLED'),
t.samplesize, t.analyzetime,
decode(bitand(t.property, 32), 32, 'YES', 'NO'),
decode(bitand(t.property, 64), 64, 'IOT',
decode(bitand(t.property, 512), 512, 'IOT_OVERFLOW',
decode(bitand(t.flags, 536870912), 536870912, 'IOT_MAPPING', null))),
decode(bitand(t.property, 4096), 4096, 'USER-DEFINED',
'SYSTEM GENERATED'),
nvl2(ac.synobj#, su.name, tu.name),
nvl2(ac.synobj#, so.name, ty.name),
decode(bitand(o.flags, 2), 0, 'N', 2, 'Y', 'N'),
decode(bitand(o.flags, 16), 0, 'N', 16, 'Y', 'N'),
decode(bitand(t.property, 8192), 8192, 'YES', 'NO'),
decode(bitand(o.flags, 2), 2, 'DEFAULT',
decode(bitand(s.cachehint, 3), 1, 'KEEP', 2, 'RECYCLE',
'DEFAULT')),
decode(bitand(o.flags, 2), 2, 'DEFAULT',
decode(bitand(s.cachehint, 12)/4, 1, 'KEEP', 2, 'NONE',
'DEFAULT')),
decode(bitand(o.flags, 2), 2, 'DEFAULT',
decode(bitand(s.cachehint, 48)/16, 1, 'KEEP', 2, 'NONE',
'DEFAULT')),
decode(bitand(t.flags, 131072), 131072, 'ENABLED', 'DISABLED'),
decode(bitand(t.flags, 512), 0, 'NO', 'YES'),
decode(bitand(t.flags, 256), 0, 'NO', 'YES'),
decode(bitand(o.flags, 2), 0, NULL,
decode(bitand(t.property, 8388608), 8388608,
'SYS$SESSION', 'SYS$TRANSACTION')),
decode(bitand(t.flags, 1024), 1024, 'ENABLED', 'DISABLED'),
decode(bitand(o.flags, 2), 2, 'NO',
decode(bitand(t.property, 2147483648), 2147483648, 'NO',
decode(ksppcv.ksppstvl, 'TRUE', 'YES', 'NO'))),
decode(bitand(t.property, 1024), 0, null, cu.name),
decode(bitand(t.flags, 8388608), 8388608, 'ENABLED', 'DISABLED'),
case when (bitand(t.property, 32) = 32) then
null
when (bitand(t.property, 17179869184) = 17179869184) then
decode(bitand(ds.flags_stg, 4), 4, 'ENABLED', 'DISABLED')
else
decode(bitand(s.spare1, 2048), 2048, 'ENABLED', 'DISABLED')
end,
case when (bitand(t.property, 32) = 32) then
null
when (bitand(t.property, 17179869184) = 17179869184) then
decode(bitand(ds.flags_stg, 4), 4,
case when bitand(ds.cmpflag_stg, 3) = 1 then 'BASIC'
when bitand(ds.cmpflag_stg, 3) = 2 then 'ADVANCED'
else concat(decode(ds.cmplvl_stg, 1, 'QUERY LOW',
2, 'QUERY HIGH',
3, 'ARCHIVE LOW',
'ARCHIVE HIGH'),
decode(bitand(ds.flags_stg, 524288), 524288,
' ROW LEVEL LOCKING', '')) end,
null)
else
decode(bitand(s.spare1, 2048), 0, null,
case when bitand(s.spare1, 16777216) = 16777216
then 'ADVANCED'
when bitand(s.spare1, 100663296) = 33554432 -- 0x2000000
then concat('QUERY LOW',
decode(bitand(s.spare1, 2147483648),
2147483648, ' ROW LEVEL LOCKING', ''))
when bitand(s.spare1, 100663296) = 67108864 -- 0x4000000
then concat('QUERY HIGH',
decode(bitand(s.spare1, 2147483648),
2147483648, ' ROW LEVEL LOCKING', ''))
when bitand(s.spare1, 100663296) = 100663296 -- 0x2000000+0x4000000
then concat('ARCHIVE LOW',
decode(bitand(s.spare1, 2147483648),
2147483648, ' ROW LEVEL LOCKING', ''))
when bitand(s.spare1, 134217728) = 134217728 -- 0x8000000
then concat('ARCHIVE HIGH',
decode(bitand(s.spare1, 2147483648),
2147483648, ' ROW LEVEL LOCKING', ''))
else 'BASIC' end)
end,
decode(bitand(o.flags, 128), 128, 'YES', 'NO'),
decode(bitand(t.property, 17179869184), 17179869184, 'NO',
decode(bitand(t.property, 32), 32, 'N/A', 'YES')),
-- INMEMORY
case when (bitand(t.property, 32) = 32) then
null
when (bitand(t.property, 17179869184) = 17179869184) then
-- flags/imcflag_stg (stgdef.h)
decode(bitand(ds.flags_stg, 6291456),
2097152, 'ENABLED',
4194304, 'DISABLED', 'DISABLED')
else
-- ktsscflg (ktscts.h)
decode(bitand(s.spare1, 70373039144960),
4294967296, 'ENABLED',
70368744177664, 'DISABLED', 'DISABLED')
end,
-- INMEMORY_PRIORITY
case when (bitand(t.property, 32) = 32) then
null
when (bitand(t.property, 17179869184) = 17179869184) then
decode(bitand(ds.flags_stg, 2097152), 2097152,
decode(bitand(ds.imcflag_stg, 4), 4,
decode(bitand(ds.flags_stg, 2097152), 2097152,
decode(bitand(ds.imcflag_stg, 7936),
256, 'NONE',
512, 'LOW',
1024, 'MEDIUM',
2048, 'HIGH',
4096, 'CRITICAL', 'UNKNOWN'), null),
'NONE'),
null)
else
decode(bitand(s.spare1, 4294967296), 4294967296,
decode(bitand(s.spare1, 34359738368), 34359738368,
decode(bitand(s.spare1, 61572651155456),
8796093022208, 'LOW',
17592186044416, 'MEDIUM',
35184372088832, 'HIGH',
52776558133248, 'CRITICAL', 'NONE'),
'NONE'),
null)
end,
-- INMEMORY_DISTRIBUTE
case when (bitand(t.property, 32) = 32) then
null
when (bitand(t.property, 17179869184) = 17179869184) then
decode(bitand(ds.flags_stg, 2097152), 2097152,
decode(bitand(ds.imcflag_stg, 1), 1,
decode(bitand(ds.imcflag_stg, (16+32)),
16, 'BY ROWID RANGE',
32, 'BY PARTITION',
48, 'BY SUBPARTITION',
0, 'AUTO'),
null), null)
else
decode(bitand(s.spare1, 4294967296), 4294967296,
decode(bitand(s.spare1, 8589934592), 8589934592,
decode(bitand(s.spare1, 206158430208),
68719476736, 'BY ROWID RANGE',
137438953472, 'BY PARTITION',
206158430208, 'BY SUBPARTITION',
0, 'AUTO'),
'UNKNOWN'),
null)
end,
-- INMEMORY_COMPRESSION
case when (bitand(t.property, 32) = 32) then
null
when (bitand(t.property, 17179869184) = 17179869184) then
decode(bitand(ds.flags_stg, 2097152), 2097152,
decode(bitand(ds.imcflag_stg, (2+8+64+128)),
2, 'NO MEMCOMPRESS',
8, 'FOR DML',
10, 'FOR QUERY LOW',
64, 'FOR QUERY HIGH',
66, 'FOR CAPACITY LOW',
72, 'FOR CAPACITY HIGH', 'UNKNOWN'),
null)
else
decode(bitand(s.spare1, 4294967296), 4294967296,
decode(bitand(s.spare1, 841813590016),
17179869184, 'NO MEMCOMPRESS',
274877906944, 'FOR DML',
292057776128, 'FOR QUERY LOW',
549755813888, 'FOR QUERY HIGH',
566935683072, 'FOR CAPACITY LOW',
824633720832, 'FOR CAPACITY HIGH', 'UNKNOWN'),
null)
end,
-- INMEMORY_DUPLICATE
case when (bitand(t.property, 32) = 32) then
null
when (bitand(t.property, 17179869184) = 17179869184) then
decode(bitand(ds.flags_stg, 2097152), 2097152,
decode(bitand(ds.imcflag_stg, (8192+16384)),
8192, 'NO DUPLICATE',
16384, 'DUPLICATE',
24576, 'DUPLICATE ALL',
'UNKNOWN'),
null)
else
decode(bitand(s.spare1, 4294967296), 4294967296,
decode(bitand(s.spare1, 6597069766656),
2199023255552, 'NO DUPLICATE',
4398046511104, 'DUPLICATE',
6597069766656, 'DUPLICATE ALL', 'UNKNOWN'),
null)
end
from sys.user$ u, sys.ts$ ts, sys.seg$ s, sys.obj$ co, sys.tab$ t, sys.obj$ o,
sys.coltype$ ac, sys.obj$ ty, sys."_BASE_USER" tu, sys.col$ tc,
sys.obj$ cx, sys.user$ cu, sys.obj$ so, sys."_BASE_USER" su,
x$ksppcv ksppcv, x$ksppi ksppi, sys.deferred_stg$ ds
where o.owner# = u.user#
and o.obj# = t.obj#
and bitand(t.property, 1) = 1
and bitand(o.flags, 128) = 0
and t.obj# = tc.obj#
and tc.name = 'SYS_NC_ROWINFO$'
and tc.obj# = ac.obj#
and tc.intcol# = ac.intcol#
and ac.toid = ty.oid$
and ty.type# <> 10
and ty.owner# = tu.user#
and t.bobj# = co.obj# (+)
and t.obj# = ds.obj# (+)
and t.ts# = ts.ts#
and t.file# = s.file# (+)
and t.block# = s.block# (+)
and t.ts# = s.ts# (+)
and (o.owner# = userenv('SCHEMAID')
or o.obj# in
(select oa.obj#
from sys.objauth$ oa
where grantee# in ( select kzsrorol
from x$kzsro
)
)
or /* user has system privileges */
exists (select null from v$enabledprivs
where priv_number in (-45 /* LOCK ANY TABLE */,
-47 /* SELECT ANY TABLE */,
-397/* READ ANY TABLE */,
-48 /* INSERT ANY TABLE */,
-49 /* UPDATE ANY TABLE */,
-50 /* DELETE ANY TABLE */)
)
)
and t.dataobj# = cx.obj# (+)
and cx.owner# = cu.user# (+)
and ac.synobj# = so.obj# (+)
and so.owner# = su.user# (+)
and ksppi.indx = ksppcv.indx
and ksppi.ksppinm = '_dml_monitoring_enabled'
SELECT U.NAME
, O.NAME
,
DECODE(BITAND(T.PROPERTY
, 2151678048)
, 0
, TS.NAME
,
DECODE(T.TS#
, 0
, NULL
, TS.NAME))
,
DECODE(BITAND(T.PROPERTY
, 1024)
, 0
, NULL
, CO.NAME)
,
DECODE((BITAND(T.PROPERTY
, 512)+BITAND(T.FLAGS
, 536870912))
,
0
, NULL
, CO.NAME)
,
DECODE(BITAND(T.TRIGFLAG
, 1073741824)
, 1073741824
, 'UNUSABLE'
, 'VALID')
,
DECODE(BITAND(T.PROPERTY
, 32+64)
, 0
, MOD(T.PCTFREE$
, 100)
, 64
, 0
, NULL)
,
DECODE(BITAND(TS.FLAGS
, 32)
, 32
, TO_NUMBER(NULL)
,
DECODE(BITAND(T.PROPERTY
, 32+64)
, 0
, T.PCTUSED$
, 64
, 0
, NULL))
,
DECODE(BITAND(T.PROPERTY
, 32)
, 0
, T.INITRANS
, NULL)
,
DECODE(BITAND(T.PROPERTY
, 32)
, 0
, T.MAXTRANS
, NULL)
,
S.INIEXTS * TS.BLOCKSIZE
, S.EXTSIZE * TS.BLOCKSIZE
,
S.MINEXTS
, S.MAXEXTS
,
DECODE(BITAND(TS.FLAGS
, 3)
, 1
, TO_NUMBER(NULL)
,
S.EXTPCT)
,
DECODE(BITAND(TS.FLAGS
, 32)
, 32
, TO_NUMBER(NULL)
,
DECODE(BITAND(O.FLAGS
, 2)
, 2
, 1
, DECODE(S.LISTS
, 0
, 1
, S.LISTS)))
,
DECODE(BITAND(TS.FLAGS
, 32)
, 32
, TO_NUMBER(NULL)
,
DECODE(BITAND(O.FLAGS
, 2)
, 2
, 1
, DECODE(S.GROUPS
, 0
, 1
, S.GROUPS)))
,
DECODE(BITAND(T.PROPERTY
, 32)
, 32
, NULL
,
DECODE(BITAND(T.FLAGS
, 32)
, 0
, 'YES'
, 'NO'))
,
DECODE(BITAND(T.FLAGS
, 1)
, 0
, 'Y'
, 1
, 'N'
, '?')
,
T.ROWCNT
,
DECODE(BITAND(T.PROPERTY
, 64)
, 0
, T.BLKCNT
, NULL)
,
DECODE(BITAND(T.PROPERTY
, 64)
, 0
, T.EMPCNT
, NULL)
,
T.AVGSPC
, T.CHNCNT
, T.AVGRLN
, T.AVGSPC_FLB
,
DECODE(BITAND(T.PROPERTY
, 64)
, 0
, T.FLBCNT
, NULL)
,
LPAD(DECODE(T.DEGREE
, 32767
, 'DEFAULT'
, NVL(T.DEGREE
, 1))
, 10)
,
LPAD(DECODE(T.INSTANCES
, 32767
, 'DEFAULT'
, NVL(T.INSTANCES
, 1))
, 10)
,
LPAD(DECODE(BITAND(T.FLAGS
, 8)
, 8
, 'Y'
, 'N')
, 5)
,
DECODE(BITAND(T.FLAGS
, 6)
, 0
, 'ENABLED'
, 'DISABLED')
,
T.SAMPLESIZE
, T.ANALYZETIME
,
DECODE(BITAND(T.PROPERTY
, 32)
, 32
, 'YES'
, 'NO')
,
DECODE(BITAND(T.PROPERTY
, 64)
, 64
, 'IOT'
,
DECODE(BITAND(T.PROPERTY
, 512)
, 512
, 'IOT_OVERFLOW'
,
DECODE(BITAND(T.FLAGS
, 536870912)
, 536870912
, 'IOT_MAPPING'
, NULL)))
,
DECODE(BITAND(T.PROPERTY
, 4096)
, 4096
, 'USER-DEFINED'
,
'SYSTEM GENERATED')
,
NVL2(AC.SYNOBJ#
, SU.NAME
, TU.NAME)
,
NVL2(AC.SYNOBJ#
, SO.NAME
, TY.NAME)
,
DECODE(BITAND(O.FLAGS
, 2)
, 0
, 'N'
, 2
, 'Y'
, 'N')
,
DECODE(BITAND(O.FLAGS
, 16)
, 0
, 'N'
, 16
, 'Y'
, 'N')
,
DECODE(BITAND(T.PROPERTY
, 8192)
, 8192
, 'YES'
, 'NO')
,
DECODE(BITAND(O.FLAGS
, 2)
, 2
, 'DEFAULT'
,
DECODE(BITAND(S.CACHEHINT
, 3)
, 1
, 'KEEP'
, 2
, 'RECYCLE'
,
'DEFAULT'))
,
DECODE(BITAND(O.FLAGS
, 2)
, 2
, 'DEFAULT'
,
DECODE(BITAND(S.CACHEHINT
, 12)/4
, 1
, 'KEEP'
, 2
, 'NONE'
,
'DEFAULT'))
,
DECODE(BITAND(O.FLAGS
, 2)
, 2
, 'DEFAULT'
,
DECODE(BITAND(S.CACHEHINT
, 48)/16
, 1
, 'KEEP'
, 2
, 'NONE'
,
'DEFAULT'))
,
DECODE(BITAND(T.FLAGS
, 131072)
, 131072
, 'ENABLED'
, 'DISABLED')
,
DECODE(BITAND(T.FLAGS
, 512)
, 0
, 'NO'
, 'YES')
,
DECODE(BITAND(T.FLAGS
, 256)
, 0
, 'NO'
, 'YES')
,
DECODE(BITAND(O.FLAGS
, 2)
, 0
, NULL
,
DECODE(BITAND(T.PROPERTY
, 8388608)
, 8388608
,
'SYS$SESSION'
, 'SYS$TRANSACTION'))
,
DECODE(BITAND(T.FLAGS
, 1024)
, 1024
, 'ENABLED'
, 'DISABLED')
,
DECODE(BITAND(O.FLAGS
, 2)
, 2
, 'NO'
,
DECODE(BITAND(T.PROPERTY
, 2147483648)
, 2147483648
, 'NO'
,
DECODE(KSPPCV.KSPPSTVL
, 'TRUE'
, 'YES'
, 'NO')))
,
DECODE(BITAND(T.PROPERTY
, 1024)
, 0
, NULL
, CU.NAME)
,
DECODE(BITAND(T.FLAGS
, 8388608)
, 8388608
, 'ENABLED'
, 'DISABLED')
,
CASE WHEN (BITAND(T.PROPERTY
, 32) = 32) THEN
NULL
WHEN (BITAND(T.PROPERTY
, 17179869184) = 17179869184) THEN
DECODE(BITAND(DS.FLAGS_STG
, 4)
, 4
, 'ENABLED'
, 'DISABLED')
ELSE
DECODE(BITAND(S.SPARE1
, 2048)
, 2048
, 'ENABLED'
, 'DISABLED')
END
,
CASE WHEN (BITAND(T.PROPERTY
, 32) = 32) THEN
NULL
WHEN (BITAND(T.PROPERTY
, 17179869184) = 17179869184) THEN
DECODE(BITAND(DS.FLAGS_STG
, 4)
, 4
,
CASE WHEN BITAND(DS.CMPFLAG_STG
, 3) = 1 THEN 'BASIC'
WHEN BITAND(DS.CMPFLAG_STG
, 3) = 2 THEN 'ADVANCED'
ELSE CONCAT(DECODE(DS.CMPLVL_STG
, 1
, 'QUERY LOW'
,
2
, 'QUERY HIGH'
,
3
, 'ARCHIVE LOW'
,
'ARCHIVE HIGH')
,
DECODE(BITAND(DS.FLAGS_STG
, 524288)
, 524288
,
' ROW LEVEL LOCKING'
, '')) END
,
NULL)
ELSE
DECODE(BITAND(S.SPARE1
, 2048)
, 0
, NULL
,
CASE WHEN BITAND(S.SPARE1
, 16777216) = 16777216
THEN 'ADVANCED'
WHEN BITAND(S.SPARE1
, 100663296) = 33554432 -- 0X2000000
THEN CONCAT('QUERY LOW'
,
DECODE(BITAND(S.SPARE1
, 2147483648)
,
2147483648
, ' ROW LEVEL LOCKING'
, ''))
WHEN BITAND(S.SPARE1
, 100663296) = 67108864 -- 0X4000000
THEN CONCAT('QUERY HIGH'
,
DECODE(BITAND(S.SPARE1
, 2147483648)
,
2147483648
, ' ROW LEVEL LOCKING'
, ''))
WHEN BITAND(S.SPARE1
, 100663296) = 100663296 -- 0X2000000+0X4000000
THEN CONCAT('ARCHIVE LOW'
,
DECODE(BITAND(S.SPARE1
, 2147483648)
,
2147483648
, ' ROW LEVEL LOCKING'
, ''))
WHEN BITAND(S.SPARE1
, 134217728) = 134217728 -- 0X8000000
THEN CONCAT('ARCHIVE HIGH'
,
DECODE(BITAND(S.SPARE1
, 2147483648)
,
2147483648
, ' ROW LEVEL LOCKING'
, ''))
ELSE 'BASIC' END)
END
,
DECODE(BITAND(O.FLAGS
, 128)
, 128
, 'YES'
, 'NO')
,
DECODE(BITAND(T.PROPERTY
, 17179869184)
, 17179869184
, 'NO'
,
DECODE(BITAND(T.PROPERTY
, 32)
, 32
, 'N/A'
, 'YES'))
,
-- INMEMORY
CASE WHEN (BITAND(T.PROPERTY
, 32) = 32) THEN
NULL
WHEN (BITAND(T.PROPERTY
, 17179869184) = 17179869184) THEN
-- FLAGS/IMCFLAG_STG (STGDEF.H)
DECODE(BITAND(DS.FLAGS_STG
, 6291456)
,
2097152
, 'ENABLED'
,
4194304
, 'DISABLED'
, 'DISABLED')
ELSE
-- KTSSCFLG (KTSCTS.H)
DECODE(BITAND(S.SPARE1
, 70373039144960)
,
4294967296
, 'ENABLED'
,
70368744177664
, 'DISABLED'
, 'DISABLED')
END
,
-- INMEMORY_PRIORITY
CASE WHEN (BITAND(T.PROPERTY
, 32) = 32) THEN
NULL
WHEN (BITAND(T.PROPERTY
, 17179869184) = 17179869184) THEN
DECODE(BITAND(DS.FLAGS_STG
, 2097152)
, 2097152
,
DECODE(BITAND(DS.IMCFLAG_STG
, 4)
, 4
,
DECODE(BITAND(DS.FLAGS_STG
, 2097152)
, 2097152
,
DECODE(BITAND(DS.IMCFLAG_STG
, 7936)
,
256
, 'NONE'
,
512
, 'LOW'
,
1024
, 'MEDIUM'
,
2048
, 'HIGH'
,
4096
, 'CRITICAL'
, 'UNKNOWN')
, NULL)
,
'NONE')
,
NULL)
ELSE
DECODE(BITAND(S.SPARE1
, 4294967296)
, 4294967296
,
DECODE(BITAND(S.SPARE1
, 34359738368)
, 34359738368
,
DECODE(BITAND(S.SPARE1
, 61572651155456)
,
8796093022208
, 'LOW'
,
17592186044416
, 'MEDIUM'
,
35184372088832
, 'HIGH'
,
52776558133248
, 'CRITICAL'
, 'NONE')
,
'NONE')
,
NULL)
END
,
-- INMEMORY_DISTRIBUTE
CASE WHEN (BITAND(T.PROPERTY
, 32) = 32) THEN
NULL
WHEN (BITAND(T.PROPERTY
, 17179869184) = 17179869184) THEN
DECODE(BITAND(DS.FLAGS_STG
, 2097152)
, 2097152
,
DECODE(BITAND(DS.IMCFLAG_STG
, 1)
, 1
,
DECODE(BITAND(DS.IMCFLAG_STG
, (16+32))
,
16
, 'BY ROWID RANGE'
,
32
, 'BY PARTITION'
,
48
, 'BY SUBPARTITION'
,
0
, 'AUTO')
,
NULL)
, NULL)
ELSE
DECODE(BITAND(S.SPARE1
, 4294967296)
, 4294967296
,
DECODE(BITAND(S.SPARE1
, 8589934592)
, 8589934592
,
DECODE(BITAND(S.SPARE1
, 206158430208)
,
68719476736
, 'BY ROWID RANGE'
,
137438953472
, 'BY PARTITION'
,
206158430208
, 'BY SUBPARTITION'
,
0
, 'AUTO')
,
'UNKNOWN')
,
NULL)
END
,
-- INMEMORY_COMPRESSION
CASE WHEN (BITAND(T.PROPERTY
, 32) = 32) THEN
NULL
WHEN (BITAND(T.PROPERTY
, 17179869184) = 17179869184) THEN
DECODE(BITAND(DS.FLAGS_STG
, 2097152)
, 2097152
,
DECODE(BITAND(DS.IMCFLAG_STG
, (2+8+64+128))
,
2
, 'NO MEMCOMPRESS'
,
8
, 'FOR DML'
,
10
, 'FOR QUERY LOW'
,
64
, 'FOR QUERY HIGH'
,
66
, 'FOR CAPACITY LOW'
,
72
, 'FOR CAPACITY HIGH'
, 'UNKNOWN')
,
NULL)
ELSE
DECODE(BITAND(S.SPARE1
, 4294967296)
, 4294967296
,
DECODE(BITAND(S.SPARE1
, 841813590016)
,
17179869184
, 'NO MEMCOMPRESS'
,
274877906944
, 'FOR DML'
,
292057776128
, 'FOR QUERY LOW'
,
549755813888
, 'FOR QUERY HIGH'
,
566935683072
, 'FOR CAPACITY LOW'
,
824633720832
, 'FOR CAPACITY HIGH'
, 'UNKNOWN')
,
NULL)
END
,
-- INMEMORY_DUPLICATE
CASE WHEN (BITAND(T.PROPERTY
, 32) = 32) THEN
NULL
WHEN (BITAND(T.PROPERTY
, 17179869184) = 17179869184) THEN
DECODE(BITAND(DS.FLAGS_STG
, 2097152)
, 2097152
,
DECODE(BITAND(DS.IMCFLAG_STG
, (8192+16384))
,
8192
, 'NO DUPLICATE'
,
16384
, 'DUPLICATE'
,
24576
, 'DUPLICATE ALL'
,
'UNKNOWN')
,
NULL)
ELSE
DECODE(BITAND(S.SPARE1
, 4294967296)
, 4294967296
,
DECODE(BITAND(S.SPARE1
, 6597069766656)
,
2199023255552
, 'NO DUPLICATE'
,
4398046511104
, 'DUPLICATE'
,
6597069766656
, 'DUPLICATE ALL'
, 'UNKNOWN')
,
NULL)
END
FROM SYS.USER$ U
, SYS.TS$ TS
, SYS.SEG$ S
, SYS.OBJ$ CO
, SYS.TAB$ T
, SYS.OBJ$ O
,
SYS.COLTYPE$ AC
, SYS.OBJ$ TY
, SYS."_BASE_USER" TU
, SYS.COL$ TC
,
SYS.OBJ$ CX
, SYS.USER$ CU
, SYS.OBJ$ SO
, SYS."_BASE_USER" SU
,
X$KSPPCV KSPPCV
, X$KSPPI KSPPI
, SYS.DEFERRED_STG$ DS
WHERE O.OWNER# = U.USER#
AND O.OBJ# = T.OBJ#
AND BITAND(T.PROPERTY
, 1) = 1
AND BITAND(O.FLAGS
, 128) = 0
AND T.OBJ# = TC.OBJ#
AND TC.NAME = 'SYS_NC_ROWINFO$'
AND TC.OBJ# = AC.OBJ#
AND TC.INTCOL# = AC.INTCOL#
AND AC.TOID = TY.OID$
AND TY.TYPE# <> 10
AND TY.OWNER# = TU.USER#
AND T.BOBJ# = CO.OBJ# (+)
AND T.OBJ# = DS.OBJ# (+)
AND T.TS# = TS.TS#
AND T.FILE# = S.FILE# (+)
AND T.BLOCK# = S.BLOCK# (+)
AND T.TS# = S.TS# (+)
AND (O.OWNER# = USERENV('SCHEMAID')
OR O.OBJ# IN
(SELECT OA.OBJ#
FROM SYS.OBJAUTH$ OA
WHERE GRANTEE# IN ( SELECT KZSROROL
FROM X$KZSRO
)
)
OR /* USER HAS SYSTEM PRIVILEGES */
EXISTS (SELECT NULL
FROM V$ENABLEDPRIVS
WHERE PRIV_NUMBER IN (-45 /* LOCK ANY TABLE */
,
-47 /* SELECT ANY TABLE */
,
-397/* READ ANY TABLE */
,
-48 /* INSERT ANY TABLE */
,
-49 /* UPDATE ANY TABLE */
,
-50 /* DELETE ANY TABLE */)
)
)
AND T.DATAOBJ# = CX.OBJ# (+)
AND CX.OWNER# = CU.USER# (+)
AND AC.SYNOBJ# = SO.OBJ# (+)
AND SO.OWNER# = SU.USER# (+)
AND KSPPI.INDX = KSPPCV.INDX
AND KSPPI.KSPPINM = '_DML_MONITORING_ENABLED'
|
|
|