[Home] [Help]
SELECT
u.name OWNER,
o.name DIMENSION_NAME,
dl.level_name LEVEL_NAME,
dl.level_id LEVEL_ID,
d.description_value DESCRIPTION
FROM
obj$ o,
olap_dim_levels$ dl,
user$ u,
(select d.* from olap_descriptions$ d, nls_session_parameters n where
n.parameter = 'NLS_LANGUAGE'
and d.description_type = 'Description'
and d.owning_object_type = 12 --DIM_LEVEL
and (d.language = n.value
or d.language like n.value || '\_%' escape '\')) d
WHERE
o.obj#=dl.dim_obj# AND o.owner#=u.user#
AND d.owning_object_id(+)=dl.level_id
AND (o.owner# in (userenv('SCHEMAID'), 1) -- public objects
or o.obj# in
( select obj# -- directly granted privileges
from sys.objauth$
where grantee# in ( select kzsrorol from x$kzsro )
)
or -- user has system privileges
( exists (select null from v$enabledprivs
where priv_number in (-302, -- ALTER ANY PRIMARY DIMENSION
-304, -- DELETE ANY PRIMARY DIMENSION
-305, -- DROP ANY PRIMARY DIMENSION
-306, -- INSERT ANY PRIMARY DIMENSION
-307) -- SELECT ANY PRIMARY DIMENSION
)
)
)
SELECT
U.NAME OWNER
,
O.NAME DIMENSION_NAME
,
DL.LEVEL_NAME LEVEL_NAME
,
DL.LEVEL_ID LEVEL_ID
,
D.DESCRIPTION_VALUE DESCRIPTION
FROM
OBJ$ O
,
OLAP_DIM_LEVELS$ DL
,
USER$ U
,
(SELECT D.*
FROM OLAP_DESCRIPTIONS$ D
, NLS_SESSION_PARAMETERS N WHERE
N.PARAMETER = 'NLS_LANGUAGE'
AND D.DESCRIPTION_TYPE = 'DESCRIPTION'
AND D.OWNING_OBJECT_TYPE = 12 --DIM_LEVEL
AND (D.LANGUAGE = N.VALUE
OR D.LANGUAGE LIKE N.VALUE || '\_%' ESCAPE '\')) D
WHERE
O.OBJ#=DL.DIM_OBJ#
AND O.OWNER#=U.USER#
AND D.OWNING_OBJECT_ID(+)=DL.LEVEL_ID
AND (O.OWNER# IN (USERENV('SCHEMAID')
, 1) -- PUBLIC OBJECTS
OR O.OBJ# IN
( SELECT OBJ# -- DIRECTLY GRANTED PRIVILEGES
FROM SYS.OBJAUTH$
WHERE GRANTEE# IN ( SELECT KZSROROL
FROM X$KZSRO )
)
OR -- USER HAS SYSTEM PRIVILEGES
( EXISTS (SELECT NULL
FROM V$ENABLEDPRIVS
WHERE PRIV_NUMBER IN (-302
, -- ALTER ANY PRIMARY DIMENSION
-304
, -- DELETE ANY PRIMARY DIMENSION
-305
, -- DROP ANY PRIMARY DIMENSION
-306
, -- INSERT ANY PRIMARY DIMENSION
-307) -- SELECT ANY PRIMARY DIMENSION
)
)
)
|
|
|
|