Others and I answer a lot of questions on the Oracle Technical Network and other forums and there is a ubiquitous little phrase that sends chills down our spines when someone is asking a question. What could be so bad that it sends terror down our spines? “Nothing has changed”. Well that was the start, but the chilling words? “Just one thing” Why do I start this post with this?
I was at a client doing a technical review of their environment this week. (Names, PAG files sizes, dimension hierarchies are all fake to protect the innocent) We were doing some performance testing and somewhat related to the testing, but in production, they were having an issue with a BSO cube. Their process is to export the level zero data, Clear the cube, “Deploy” the cube, reload the data and aggregate the cube.
During this process, the cube grew from ~60 gig to ~180 gig. Of course I asked the question, what changed? The initial response was “nothing…” then a few minutes later “well just one little thing.” What was that one little thing? They explained to me most of the data is loaded into one member in the hierarchy (let’s call it No_ZZZZ). They continued that No_ZZZZ was a level zero child of the dimension ZZZZ. So the hierarchy looked like:
“All we did was to move No_ZZZZ to be a sibling of F2”
From this we had a deep discussion about how blocks are created. Let’s make an assumption that all other dimensions have only one member in them (wouldn’t that simple design be nice?). In the first example, if I aggregate and all of the data exists in No_ZZZZ I will create one new block - ZZZZZ
In the second case, 4 additional blocks are created – d1, aaaa, Total_zzzz and ZZZZ. In my simple case, going from 2 blocks to 5 is huge. Imagine when you consider real dimensions where you are aggregating a large number of members in the other dimensions. It makes it very easy for a cube to grow tremendously with just a simple change.
The moral of the story? Well there are two First you have to understand the impact of any change you make no matter how small it may seem. You need to test and not just assume the change is minimal. Second, if an issue occurs, it is typically because of some change somewhere. Before asking, research to try to figure out what might be causing the issue. It might be “Just one little thing”