Multidimensional Valuesets Are Not Automatically Updated When Deleting Dimensions Values Over 999 Position - ORA-34706 - ORA-33160
(Doc ID 593323.1)
Last updated on FEBRUARY 18, 2019
Applies to:
Oracle OLAP - Version 10.2.0.4 and laterInformation in this document applies to any platform.
Symptoms
When removing a value, that is located after the 999 position, from a dimension, the multidimensional valuesets defined over that dimension are not automatically updated (the value is not automatically removed from them).
On the other hand, when removing any of the first 999 values from the dimension, the multidimensional valuesets are automatically updated.
- The issue does not reproduce on single-dimensioned valuesets, but only on multidimensional valuesets.
- The issue does not reproduce when deleting dimension values that are within the first 999 values of the dimension, but when deleting anyone above that limit.
- Once the valueset is reset the error will not appear until the next value above 999 position is deleted from the base dimension.
NOTE: In the images and/or the document content below, the user information and data used represents fictitious data from the Oracle sample schema(s) or Public Documentation delivered with an Oracle database product. Any similarity to actual persons, living or dead, is purely coincidental and not intended in any manner.
For example:
listnames
2 DIMENSIONs 1 VALUESET
---------------- ----------------
CUST CUST.ORDERVSET
CUST.HIERDIM
dsc cust.ordervset
DEFINE CUST.ORDERVSET VALUESET CUST <CUST.HIERDIM>
LD Stores dimension order for each CUST hierarchy
lmt cust to all
lmt cust.ordervset to all
show statlen(cust)
104,105
show statlen(cust.ordervset)
104,105
export cust.ordervset to eif file 'test.eif'
show statrank(cust '101010')
1,010
show statrank(cust '100050')
50
maintain cust delete '100050'
show statlen(cust)
104,104
show statlen(cust.ordervset)
104,104
So, the valueset was automatically updated removing the value from it too.
maintain cust delete '101010'
show statlen(cust)
104,103
show statlen(cust.ordervset)
104,104
So, the valueset was not automatically updated.
limit cust.ordervset remove '101010'
ERROR: (ORA-34706) 101010 is not a valid CORRUPTDIM1!CUST.
export cust.ordervset to eif file 'test1.eif'
ERROR: (ORA-33160) The CORRUPTDIM1!CUST dimension does not have a value at position 1009.
ORA-33160: The CORRUPTDIM1!CUST dimension does not have a value at position 1009.
limit cust.ordervset to all
export cust.ordervset to eif file 'test2.eif'
The error stops occurring after resetting, until a value above 999 position is deleted again.
Changes
Cause
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
Symptoms |
Changes |
Cause |
Solution |
References |