暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Oracle 坚持通过AWM创建OLAP维度的权限

ASKTOM 2020-04-09
736

问题描述

嗨!

我想通过AWM创建olap多维数据集。
我设法创建工作区,但是当我尝试创建第一个维度时,出现权限错误。
我已经给用户所有的赠款,如这里所述:https://docs.oracle.com/cd/B28359_01/olap.111/b28124/start.htm#OLAUG200,但仍然出错。

任何帮助将不胜感激!


An error has occurred on the server
Error class: Express Failure
Server error descriptions:
DPR: cannot create server cursor, Generic at TxsOqDefinitionManager::generic
INI: XOQ-00289: error executing DDL "(CREATE OR REPLACE VIEW "MANDRIJA"."CATEGORY_VIEW" AS
SELECT
"DIM_KEY",
"LEVEL_NAME",
"MEMBER_TYPE",
"DIM_ORDER",
"LONG_DESCRIPTION",
"SHORT_DESCRIPTION",
"CATEGORY_LONG_DESCRIPTIO",
"CATEGORY_SHORT_DESCRIPTI",
"SUBCATEGORY_LONG_DESCRIP",
"SUBCATEGORY_SHORT_DESCRI"
FROM TABLE(CUBE_TABLE('"MANDRIJA"."CATEGORY"') )
)" for metadata object "(MANDRIJA.CATEGORY)", Generic at TxsOqPersistentMetadataContext::executeDDL
INI: XOQ-00106: SQL query failed: "(ORA-01031: insufficient privileges
)", Generic at TxsRdbSQLStatement::execute()

专家解答

如果我们看看这些角色,我们会看到

SQL> select * from dba_sys_privs
  2  where grantee like 'OLAP%'
  3  order by 1,2;

GRANTEE                        PRIVILEGE
------------------------------ ------------------------------------
OLAP_DBA                       CREATE ANY CUBE
OLAP_DBA                       CREATE ANY CUBE BUILD PROCESS
OLAP_DBA                       CREATE ANY CUBE DIMENSION
OLAP_DBA                       CREATE ANY MEASURE FOLDER
OLAP_DBA                       CREATE ANY TABLE
OLAP_DBA                       CREATE ANY VIEW
OLAP_DBA                       CREATE JOB
OLAP_DBA                       CREATE SEQUENCE
OLAP_DBA                       DELETE ANY CUBE DIMENSION
OLAP_DBA                       DELETE ANY MEASURE FOLDER
OLAP_DBA                       DELETE ANY TABLE
OLAP_DBA                       DROP ANY CUBE
OLAP_DBA                       DROP ANY CUBE BUILD PROCESS
OLAP_DBA                       DROP ANY CUBE DIMENSION
OLAP_DBA                       DROP ANY MEASURE FOLDER
OLAP_DBA                       DROP ANY TABLE
OLAP_DBA                       DROP ANY VIEW
OLAP_DBA                       INSERT ANY CUBE DIMENSION
OLAP_DBA                       INSERT ANY MEASURE FOLDER
OLAP_DBA                       INSERT ANY TABLE
OLAP_DBA                       SELECT ANY CUBE
OLAP_DBA                       SELECT ANY CUBE DIMENSION
OLAP_DBA                       SELECT ANY TABLE
OLAP_DBA                       UPDATE ANY CUBE
OLAP_DBA                       UPDATE ANY CUBE BUILD PROCESS
OLAP_DBA                       UPDATE ANY CUBE DIMENSION
OLAP_DBA                       UPDATE ANY TABLE
OLAP_USER                      CREATE CUBE
OLAP_USER                      CREATE CUBE BUILD PROCESS
OLAP_USER                      CREATE CUBE DIMENSION
OLAP_USER                      CREATE JOB
OLAP_USER                      CREATE MEASURE FOLDER
OLAP_USER                      CREATE SEQUENCE
OLAP_USER                      CREATE TABLE
OLAP_USER                      CREATE VIEW


所以无论哪种情况,你都有 “创建视图”。我猜代码可能是从一个过程中运行的,在这种情况下,您可能需要直接授予CREATE VIEW。
文章转载自ASKTOM,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论