select u.name, o.name,
u1.name, o1.name, c1.name, '=',
decode(sj.flags, 0, 'I', 1, 'L', 2, 'R'),
u2.name, o2.name, c2.name
from sys.sumjoin$ sj, sys.obj$ o, sys.user$ u,
sys.obj$ o1, sys.user$ u1, sys.col$ c1,
sys.obj$ o2, sys.user$ u2, sys.col$ c2,
sys.sum$ s
where sj.sumobj# = o.obj#
AND o.owner# = u.user#
AND sj.tab1obj# = o1.obj#
AND o1.owner# = u1.user#
AND sj.tab1obj# = c1.obj#
AND sj.tab1col# = c1.intcol#
AND sj.tab2obj# = o2.obj#
AND o2.owner# = u2.user#
AND sj.tab2obj# = c2.obj#
AND sj.tab2col# = c2.intcol#
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 s.obj# = sj.sumobj#
AND bitand(s.xpflags, 8388608) = 0 /* NOT REWRITE EQUIVALENCE SUMMARY */
SELECT U.NAME
, O.NAME
,
U1.NAME
, O1.NAME
, C1.NAME
, '='
,
DECODE(SJ.FLAGS
, 0
, 'I'
, 1
, 'L'
, 2
, 'R')
,
U2.NAME
, O2.NAME
, C2.NAME
FROM SYS.SUMJOIN$ SJ
, SYS.OBJ$ O
, SYS.USER$ U
,
SYS.OBJ$ O1
, SYS.USER$ U1
, SYS.COL$ C1
,
SYS.OBJ$ O2
, SYS.USER$ U2
, SYS.COL$ C2
,
SYS.SUM$ S
WHERE SJ.SUMOBJ# = O.OBJ#
AND O.OWNER# = U.USER#
AND SJ.TAB1OBJ# = O1.OBJ#
AND O1.OWNER# = U1.USER#
AND SJ.TAB1OBJ# = C1.OBJ#
AND SJ.TAB1COL# = C1.INTCOL#
AND SJ.TAB2OBJ# = O2.OBJ#
AND O2.OWNER# = U2.USER#
AND SJ.TAB2OBJ# = C2.OBJ#
AND SJ.TAB2COL# = C2.INTCOL#
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 S.OBJ# = SJ.SUMOBJ#
AND BITAND(S.XPFLAGS
, 8388608) = 0 /* NOT REWRITE EQUIVALENCE SUMMARY */
|
|
|