Ora 33336 Error During Cube Build
(Doc ID 1389486.1)
Last updated on MARCH 12, 2021
Applies to:Oracle OLAP - Version 184.108.40.206 to 220.127.116.11 [Release 11.2]
Information in this document applies to any platform.
If you refer to an unqualified dimension name in the FOR clause of a build
script and you build a cube in another user or AW, then you may end up with
an ORA-33336 error during a LIMIT statement . The server currently ensures
that all build items (cubes and dimensions) belong to the same AW, but it
does not do the same for dimensions in a FOR clause.
To reproduce, create two users, GLOBAL and OLAPTRAIN, both with dimensions
named PRODUCT. Give rights to OLAPTRAIN so that it could build the cube in
GLOBAL. (e.g. GRANT DBA TO OLAPTRAIN)
Then try to build a cube from GLOBAL as the OLAPTRAIN user, but do not
qualify the owner of the PRODUCT dimension. You get the following error:
OLAPTRAIN > BEGIN
2 dbms_cube.build('global.price_cost_cubew using (for product where 1 = 1
ERROR at line 1:
ORA-37162: OLAP error
XOQ-00703: error executing OLAP DML command "(LIMIT PRODUCT TO CHGDIMS(1 EQ 1
TO OLAPTRAIN.SALESTRACK!PRODUCT) : ORA-33336: Analytic workspace
OLAPTRAIN.SALESTRACK is not attached.
ORA-06512: at "SYS.DBMS_CUBE", line 234
ORA-06512: at "SYS.DBMS_CUBE", line 287
ORA-06512: at line 2
Even if you fully qualify the dimension names in the FOR clause, the server will strip
out these qualifications when it executes slave processes. The only workaround is to execute the procedure as the owner of the AW.
To view full details, sign in with your My Oracle Support account.
Don't have a My Oracle Support account? Click to get started!
In this Document