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()
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.