select h.obj#, h.intcol#, h.bucket,
case when SYS_OP_DV_CHECK(o.name, o.owner#) = 1
then h.endpoint
else null
end,
case when SYS_OP_DV_CHECK(o.name, o.owner#) = 1
then dbms_metadata_util.nulltochr0(
case when c.type# in (1, 96)
then utl_raw.cast_to_varchar2(h.epvalue_raw)
else null
end)
else null
end,
case when SYS_OP_DV_CHECK(o.name, o.owner#) = 1
then h.epvalue_raw
else null
end,
h.ep_repeat_count, h.spare1
from sys.obj$ o, sys.histgrm$ h, sys.col$ c,
-- tables
(select tab.obj#, tab.obj# pobj#
from tab$ tab
union all -- regular partitions
select tab.obj#, tp.obj# pobj#
from sys.tabpart$ tp, tab$ tab
where tp.bo# = tab.obj#
union all -- composite partitions
select tab.obj#, tcp.obj# pobj#
from sys.tabcompart$ tcp, tab$ tab
where tcp.bo# = tab.obj#
union all -- subpartitions
select tab.obj#, tsp.obj# pobj#
from sys.tabsubpart$ tsp, sys.tabcompart$ tcp, tab$ tab
where tcp.bo# = tab.obj#
and tsp.pobj# = tcp.obj#) t
where h.obj# = t.pobj# and
c.obj# = t.obj# and
o.obj# = h.obj# and
h.intcol# = c.intcol#
order by h.obj#, h.intcol#, bucket
SELECT H.OBJ#
, H.INTCOL#
, H.BUCKET
,
CASE WHEN SYS_OP_DV_CHECK(O.NAME
, O.OWNER#) = 1
THEN H.ENDPOINT
ELSE NULL
END
,
CASE WHEN SYS_OP_DV_CHECK(O.NAME
, O.OWNER#) = 1
THEN DBMS_METADATA_UTIL.NULLTOCHR0(
CASE WHEN C.TYPE# IN (1
, 96)
THEN UTL_RAW.CAST_TO_VARCHAR2(H.EPVALUE_RAW)
ELSE NULL
END)
ELSE NULL
END
,
CASE WHEN SYS_OP_DV_CHECK(O.NAME
, O.OWNER#) = 1
THEN H.EPVALUE_RAW
ELSE NULL
END
,
H.EP_REPEAT_COUNT
, H.SPARE1
FROM SYS.OBJ$ O
, SYS.HISTGRM$ H
, SYS.COL$ C
,
-- TABLES
(SELECT TAB.OBJ#
, TAB.OBJ# POBJ#
FROM TAB$ TAB
UNION ALL -- REGULAR PARTITIONS
SELECT TAB.OBJ#
, TP.OBJ# POBJ#
FROM SYS.TABPART$ TP
, TAB$ TAB
WHERE TP.BO# = TAB.OBJ#
UNION ALL -- COMPOSITE PARTITIONS
SELECT TAB.OBJ#
, TCP.OBJ# POBJ#
FROM SYS.TABCOMPART$ TCP
, TAB$ TAB
WHERE TCP.BO# = TAB.OBJ#
UNION ALL -- SUBPARTITIONS
SELECT TAB.OBJ#
, TSP.OBJ# POBJ#
FROM SYS.TABSUBPART$ TSP
, SYS.TABCOMPART$ TCP
, TAB$ TAB
WHERE TCP.BO# = TAB.OBJ#
AND TSP.POBJ# = TCP.OBJ#) T
WHERE H.OBJ# = T.POBJ# AND
C.OBJ# = T.OBJ# AND
O.OBJ# = H.OBJ# AND
H.INTCOL# = C.INTCOL#
ORDER BY H.OBJ#
, H.INTCOL#
, BUCKET
|
|
|