select attr_u.name, 'N', owner_u.name, obj_o.name,
decode(cd.con#, 0, 'Y', 'N'), con_o.name
from sys.condata$ cd, sys."_BASE_USER" attr_u,
sys."_CURRENT_EDITION_OBJ" obj_o, sys.obj$ con_o,
sys."_BASE_USER" owner_u, sys.container$ c
where cd.user# = attr_u.user#
and cd.obj# != 0
and cd.obj# = obj_o.obj#
and obj_o.owner# = owner_u.user#
and cd.con# = c.con_id# (+)
and c.obj# = con_o.obj# (+)
and (cd.con# = 0 or c.con_id# is not NULL)
union all
select attr_u.name, 'N', 'SYS', obj_o.name,
decode(cd.con#, 0, 'Y', 'N'), con_o.name
from sys.condata$ cd, sys."_BASE_USER" attr_u,
sys.v$fixed_table obj_o, sys.obj$ con_o,
sys.container$ c
where cd.user# = attr_u.user#
and cd.obj# != 0
and cd.obj# = obj_o.object_id
and cd.con# = c.con_id# (+)
and c.obj# = con_o.obj# (+)
and (cd.con# = 0 or c.con_id# is not NULL)
union all
select attr_u.name, 'Y', NULL, NULL,
decode(cd.con#, 0, 'Y', 'N'), con_o.name
from sys.condata$ cd, sys."_BASE_USER" attr_u,
sys.obj$ con_o, sys.container$ c
where cd.user# = attr_u.user#
and cd.obj# = 0
and cd.con# = c.con_id# (+)
and c.obj# = con_o.obj# (+)
and (cd.con# = 0 or c.con_id# is not NULL)
union all
select 'SYS', 'Y', NULL, NULL, 'Y', NULL from dual
where sys_context('userenv', 'con_id') = 1
union all
select 'SYSBACKUP', 'Y', NULL, NULL, 'Y', NULL from dual
where sys_context('userenv', 'con_id') = 1
SELECT ATTR_U.NAME
, 'N'
, OWNER_U.NAME
, OBJ_O.NAME
,
DECODE(CD.CON#
, 0
, 'Y'
, 'N')
, CON_O.NAME
FROM SYS.CONDATA$ CD
, SYS."_BASE_USER" ATTR_U
,
SYS."_CURRENT_EDITION_OBJ" OBJ_O
, SYS.OBJ$ CON_O
,
SYS."_BASE_USER" OWNER_U
, SYS.CONTAINER$ C
WHERE CD.USER# = ATTR_U.USER#
AND CD.OBJ# != 0
AND CD.OBJ# = OBJ_O.OBJ#
AND OBJ_O.OWNER# = OWNER_U.USER#
AND CD.CON# = C.CON_ID# (+)
AND C.OBJ# = CON_O.OBJ# (+)
AND (CD.CON# = 0 OR C.CON_ID# IS NOT NULL)
UNION ALL
SELECT ATTR_U.NAME
, 'N'
, 'SYS'
, OBJ_O.NAME
,
DECODE(CD.CON#
, 0
, 'Y'
, 'N')
, CON_O.NAME
FROM SYS.CONDATA$ CD
, SYS."_BASE_USER" ATTR_U
,
SYS.V$FIXED_TABLE OBJ_O
, SYS.OBJ$ CON_O
,
SYS.CONTAINER$ C
WHERE CD.USER# = ATTR_U.USER#
AND CD.OBJ# != 0
AND CD.OBJ# = OBJ_O.OBJECT_ID
AND CD.CON# = C.CON_ID# (+)
AND C.OBJ# = CON_O.OBJ# (+)
AND (CD.CON# = 0 OR C.CON_ID# IS NOT NULL)
UNION ALL
SELECT ATTR_U.NAME
, 'Y'
, NULL
, NULL
,
DECODE(CD.CON#
, 0
, 'Y'
, 'N')
, CON_O.NAME
FROM SYS.CONDATA$ CD
, SYS."_BASE_USER" ATTR_U
,
SYS.OBJ$ CON_O
, SYS.CONTAINER$ C
WHERE CD.USER# = ATTR_U.USER#
AND CD.OBJ# = 0
AND CD.CON# = C.CON_ID# (+)
AND C.OBJ# = CON_O.OBJ# (+)
AND (CD.CON# = 0 OR C.CON_ID# IS NOT NULL)
UNION ALL
SELECT 'SYS'
, 'Y'
, NULL
, NULL
, 'Y'
, NULL
FROM DUAL
WHERE SYS_CONTEXT('USERENV'
, 'CON_ID') = 1
UNION ALL
SELECT 'SYSBACKUP'
, 'Y'
, NULL
, NULL
, 'Y'
, NULL
FROM DUAL
WHERE SYS_CONTEXT('USERENV'
, 'CON_ID') = 1
|
|
|