select nt.ntab#,'X',
bitand(t.property, 4294967295),
trunc(t.property / power(2, 32)),
NULL, -- ts# not needed
value(o), value(bo)
from ku$_schemaobj_view o, ku$_schemaobj_view bo, sys.tab$ t, sys.ntab$ nt
where bo.obj_num=dbms_metadata_util.get_anc(nt.ntab#,0)
and o.obj_num=nt.ntab#
and dbms_metadata_util.isXml(nt.ntab#)=1 and nt.ntab# != 0
and t.obj#=nt.ntab#
and (SYS_CONTEXT('USERENV','CURRENT_USERID') IN (o.owner_num, 0)
OR EXISTS ( SELECT * FROM sys.session_roles
WHERE role='SELECT_CATALOG_ROLE' ))
start with nt.obj#
in (select * from table(dbms_metadata.fetch_objnums))
connect by prior nt.ntab#=nt.obj#
SELECT NT.NTAB#
, 'X'
,
BITAND(T.PROPERTY
, 4294967295)
,
TRUNC(T.PROPERTY / POWER(2
, 32))
,
NULL
, -- TS# NOT NEEDED
VALUE(O)
, VALUE(BO)
FROM KU$_SCHEMAOBJ_VIEW O
, KU$_SCHEMAOBJ_VIEW BO
, SYS.TAB$ T
, SYS.NTAB$ NT
WHERE BO.OBJ_NUM=DBMS_METADATA_UTIL.GET_ANC(NT.NTAB#
, 0)
AND O.OBJ_NUM=NT.NTAB#
AND DBMS_METADATA_UTIL.ISXML(NT.NTAB#)=1
AND NT.NTAB# != 0
AND T.OBJ#=NT.NTAB#
AND (SYS_CONTEXT('USERENV'
, 'CURRENT_USERID') IN (O.OWNER_NUM
, 0)
OR EXISTS ( SELECT *
FROM SYS.SESSION_ROLES
WHERE ROLE='SELECT_CATALOG_ROLE' ))
START WITH NT.OBJ#
IN (SELECT *
FROM TABLE(DBMS_METADATA.FETCH_OBJNUMS))
CONNECT BY PRIOR NT.NTAB#=NT.OBJ#
|
|
|