select '1','0',
d.obj#,
value(o),
value(o),
p.level#, p.package, p.schema, p.class, pr.prepost,
case
when p.class =3
then
sys.dbms_metadata.get_action_instance
(p.package, p.schema, 'INSTANCE_INFO_EXP',
o.name, o.owner_name, 0, 0, pr.prepost,
(select 1 from dual
where (SYS_CONTEXT('USERENV','CURRENT_USERID') = 0
OR EXISTS ( SELECT * FROM sys.session_roles
WHERE role='SELECT_CATALOG_ROLE' ))))
when p.class =4
then
sys.dbms_metadata.get_action_instance
(p.package, p.schema, 'INSTANCE_EXTENDED_INFO_EXP',
o.name, o.owner_name, o.namespace, o.type_num, pr.prepost,
(select 1 from dual
where (SYS_CONTEXT('USERENV','CURRENT_USERID') = 0
OR EXISTS ( SELECT * FROM sys.session_roles
WHERE role='SELECT_CATALOG_ROLE' ))))
else null
end
FROM sys.ku$_schemaobj_view o,
sys.exppkgact$ p,
sys.expdepact$ d,
ku$_prepost_view pr
WHERE d.obj# = o.obj_num AND d.package = p.package
and d.schema = p.schema and ((p.class = 3) OR (p.class = 4))
and p.package !='DBMS_RULE_EXP_RULES'
and (SYS_CONTEXT('USERENV','CURRENT_USERID') IN (o.owner_num, 0)
OR EXISTS ( SELECT * FROM sys.session_roles
WHERE role='SELECT_CATALOG_ROLE' ))
ORDER by p.level#
SELECT '1'
, '0'
,
D.OBJ#
,
VALUE(O)
,
VALUE(O)
,
P.LEVEL#
, P.PACKAGE
, P.SCHEMA
, P.CLASS
, PR.PREPOST
,
CASE
WHEN P.CLASS =3
THEN
SYS.DBMS_METADATA.GET_ACTION_INSTANCE
(P.PACKAGE
, P.SCHEMA
, 'INSTANCE_INFO_EXP'
,
O.NAME
, O.OWNER_NAME
, 0
, 0
, PR.PREPOST
,
(SELECT 1
FROM DUAL
WHERE (SYS_CONTEXT('USERENV'
, 'CURRENT_USERID') = 0
OR EXISTS ( SELECT *
FROM SYS.SESSION_ROLES
WHERE ROLE='SELECT_CATALOG_ROLE' ))))
WHEN P.CLASS =4
THEN
SYS.DBMS_METADATA.GET_ACTION_INSTANCE
(P.PACKAGE
, P.SCHEMA
, 'INSTANCE_EXTENDED_INFO_EXP'
,
O.NAME
, O.OWNER_NAME
, O.NAMESPACE
, O.TYPE_NUM
, PR.PREPOST
,
(SELECT 1
FROM DUAL
WHERE (SYS_CONTEXT('USERENV'
, 'CURRENT_USERID') = 0
OR EXISTS ( SELECT *
FROM SYS.SESSION_ROLES
WHERE ROLE='SELECT_CATALOG_ROLE' ))))
ELSE NULL
END
FROM SYS.KU$_SCHEMAOBJ_VIEW O
,
SYS.EXPPKGACT$ P
,
SYS.EXPDEPACT$ D
,
KU$_PREPOST_VIEW PR
WHERE D.OBJ# = O.OBJ_NUM
AND D.PACKAGE = P.PACKAGE
AND D.SCHEMA = P.SCHEMA
AND ((P.CLASS = 3) OR (P.CLASS = 4))
AND P.PACKAGE !='DBMS_RULE_EXP_RULES'
AND (SYS_CONTEXT('USERENV'
, 'CURRENT_USERID') IN (O.OWNER_NUM
, 0)
OR EXISTS ( SELECT *
FROM SYS.SESSION_ROLES
WHERE ROLE='SELECT_CATALOG_ROLE' ))
ORDER BY P.LEVEL#
|
|
|