Thursday, March 10, 2011

OBIEE 11g: Fun With Folders!

I've had a bit of time to play with 11g lately. One thing that really jumps out is the directory structure.

In 10g, it was relatively easy. You had 2 folders created at the root, OracleBI and OracleBIData. Most of the server specific stuff (logs, binaries, etc.) are in OracleBI. Pretty easy to navigate. With the introduction of 11g and the integration with WebLogic, the directory structure has exploded. With that, the relative ease of finding files for the new guy or gal, is gone.

If you want a good overview of the current directory structure, read OBIEE 11g - Demystifying the directory structure by Jainnys (couldn't find any more information).

Now, the fun part.

The following group of folders is repeated no less than 7 times:

OracleBIClusterControllerComponent
OracleBIJavaHostComponent
OracleBIPresentationServicesComponent
OracleBISchedulerComponent
OracleBIServerComponent

Here are there locations:

\Oracle\middleware\instances\instance1

\Oracle\middleware\instances\instance1\bifoundation

Note that this one is only one level below the previous.

\Oracle\middleware\instances\instance1\tmp

\Oracle\middleware\instances\instance1\config

Ditto for those.

\Oracle\middleware\instances\instance1\diagnostics\logs

Two levels below that top one...

Let's switch it up a little; go back a couple of levels and start drilling again.

\Oracle\middleware\Oracle_BI1\bifoundation\admin\config

\Oracle\middleware\Oracle_BI1\bifoundation\admin\provisioning

Just a fun little observation. I would imagine there are legit reasons for this kind of directory structure...but I certainly don't understand it yet.

3 comments:

Joel Garry said...

I would imagine it is considered a good thing to have relative pathnames. In general, you'd have a context to tell you which path you are at, rather than looking at all cases of the files.

So like if you are at a gas station, filling up at a pump, you don't really care about all other identical pumps at other gas stations.

If you are delivering gas to gas stations, you need to know which ones.

If you are ranking profitability of all your company owned gas stations, then you need to know absolute paths, or to put it another way, complete complex keys.

If you are writing gps software to tell people where, say, diesel gas station pumps are, you also need to navigate properly. But you can assume once someone gets to a station, they can figure out the pump structure. Irregardless of someone else looking at your code and saying wtf.

If you are building company owned gas stations, it's cheaper to use standardized plans and pumps. If you are a contractor fixing the pumps, same. So that's likely the legit reason. It just becomes Sorcerer's Apprentice silly to build excess copies of structures.

gerardnico said...

Just to give an handy link.

You will find a correspondence between the 10g and the 11 structure in the 11g upgrade guide:
http://download.oracle.com/docs/cd/E14571_01/bi.1111/e16452/topologies.htm#BABCEEHJ

Cheers
Nico

oraclenerd said...

thanks nico, much appreciated.