select '1','0',
u.name,
p.package, p.schema,
p.level#, p.class, pr.prepost,
case
when p.class=2 then
sys.dbms_metadata.get_action_schema
( p.package, p.schema,'SCHEMA_INFO_EXP',u.name, 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.user$ u, sys.exppkgact$ p, ku$_prepost_view pr
where p.class=2 and u.type# = 1
and p.package !='DBMS_RULE_EXP_RULES' -- current is a problem, need to remove
-- once the problem is fixed
AND (SYS_CONTEXT('USERENV','CURRENT_USERID') IN (u.user#, 0) OR
EXISTS ( SELECT * FROM sys.session_roles
WHERE role='SELECT_CATALOG_ROLE' ))
order by p.level#
SELECT '1'
, '0'
,
U.NAME
,
P.PACKAGE
, P.SCHEMA
,
P.LEVEL#
, P.CLASS
, PR.PREPOST
,
CASE
WHEN P.CLASS=2 THEN
SYS.DBMS_METADATA.GET_ACTION_SCHEMA
( P.PACKAGE
, P.SCHEMA
, 'SCHEMA_INFO_EXP'
, U.NAME
, 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.USER$ U
, SYS.EXPPKGACT$ P
, KU$_PREPOST_VIEW PR
WHERE P.CLASS=2
AND U.TYPE# = 1
AND P.PACKAGE !='DBMS_RULE_EXP_RULES' -- CURRENT IS A PROBLEM
, NEED TO REMOVE
-- ONCE THE PROBLEM IS FIXED
AND (SYS_CONTEXT('USERENV'
, 'CURRENT_USERID') IN (U.USER#
, 0) OR
EXISTS ( SELECT *
FROM SYS.SESSION_ROLES
WHERE ROLE='SELECT_CATALOG_ROLE' ))
ORDER BY P.LEVEL#
|
|
|