Skip to Main Content
  • Questions
  • Stuck with permissions for creating OLAP dimension through AWM

Breadcrumb

Question and Answer

Connor McDonald

Thanks for the question, Eduard.

Asked: April 09, 2020 - 9:22 pm UTC

Last updated: April 22, 2020 - 5:20 am UTC

Version: Oracle Database 12c

Viewed 1000+ times

You Asked

Hi!

I want to create olap cube through AWM.
I managed to create workspace, but when I try to create first dimension I get permission error.
I've given user all grants as stated here: https://docs.oracle.com/cd/B28359_01/olap.111/b28124/start.htm#OLAUG200, but still getting error.

Any help would be very appreciated!


An error has occurred on the server
Error class: Express Failure
Server error descriptions:
DPR: cannot create server cursor, Generic at TxsOqDefinitionManager::generic<CommitRoot>
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()

and Connor said...

If we look at those roles, we see

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


so in either case you have "create view". I'm guessing the code might be running it from a procedure, in which case you might need to grant CREATE VIEW directly.

Is this answer out of date? If it is, please let us know via a Comment

More to Explore

SQL

The Oracle documentation contains a complete SQL reference.