select u.name as table_owner, o.name as table_name, c.name as colname,
c.property as property,
decode(bitand(c.property, 67108864), 67108864, 1, 0) as isencrypted,
decode((bitand ((bitand(decode(bitand(c.property, 10), 10, 0, 1),
decode(bitand(c.property, 256), 256, 0, 1))),
decode(bitand(c.property, 65544), 65544, 1, 0))),
1, 'YES', 'NO') isvirtual
from sys.col$ c, sys.obj$ o, sys.user$ u
where o.obj# = c.obj# and u.user# = o.owner#
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 */)
)
)
SELECT U.NAME AS TABLE_OWNER
, O.NAME AS TABLE_NAME
, C.NAME AS COLNAME
,
C.PROPERTY AS PROPERTY
,
DECODE(BITAND(C.PROPERTY
, 67108864)
, 67108864
, 1
, 0) AS ISENCRYPTED
,
DECODE((BITAND ((BITAND(DECODE(BITAND(C.PROPERTY
, 10)
, 10
, 0
, 1)
,
DECODE(BITAND(C.PROPERTY
, 256)
, 256
, 0
, 1)))
,
DECODE(BITAND(C.PROPERTY
, 65544)
, 65544
, 1
, 0)))
,
1
, 'YES'
, 'NO') ISVIRTUAL
FROM SYS.COL$ C
, SYS.OBJ$ O
, SYS.USER$ U
WHERE O.OBJ# = C.OBJ#
AND U.USER# = O.OWNER#
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 */)
)
)
|
|
|