OBIEE Architecture


OBIEE 11g Architecture




The entire system architecture is called BI Domain, this BI Domain divided into Java components and non-Java components. Java components are weblogic server Domain components and non-java components are Oracle BI system components.

Weblogic Server Domain

This domain consists of Managed server and Admin Server. These services comprises mainly with all the java modules to trigger the java services.
Admin Server: A JEE(Java Enterprise Edition) container that runs in a dedicated Java virtual machine that contains Java components for administering the system .It typically trigger the start, stop kind of admin activity for his peer Manager server processes.
Managed Server: A JEE container that runs in a dedicated Java virtual machine that provides the run-time environment for the Java-based services and applications within the system. 

Java Components: The Java Components comprise of BI plug-in, Security, publisher, SOA, BI Office services etc.
Oracle Process Manager and Notification Server (OPMN): By using this OPMN services we can stop and start all system components of BI. It is monitored, managed and controlled by Fusion Middleware Controller.


Node Manager: Node Manager is a separate java utility runs to trigger the auto start, stop, restart activities and it provides process management services for the Admin server and Managed Server.
The general idea behind the Node Manager is that it takes on somewhat of a middle-man role. That is to say, the Node Manager provides a communication tunnel between the Weblogic Administration Server and any Weblogic Managed Servers configured within the Weblogic Domain. When the Weblogic Server environment is contained on a single physical server, it may be difficult to recognize the need for a Node Manager. However, its real power comes into play when Oracle BI 11g is scaled out horizontally on one or more physical servers. Each scaled-out deployment of Weblogic Server will contain a Node Manager. If the Node Manager is not running on the server on which the Managed Server is deployed, then the core Administration Server will not be able to issue start or stop commands to that server. As such, if the Node Manager is down, communication with the overall cluster will be affected. Chapter 1 [ 21 ] The following diagram shows how machines A, B, and C are physically separated—each of them contains a Node Manager. You can see that the Administration Server communicates with the Node Managers and not directly to the Managed Servers: Machine B Machine C WLST Node Manager Administration JMX Client Server Machine A Administration Console Node Manager Node Manager Managed Server (bi_server1) Managed Server (bi_server2)



GUID (Global Unique Identifiers)
In OBIEE 11g, Users are uniquely identified by Global Unique Identifiers (GUIDs), an identifier that is completely unique to a given user
• GUIDs provides greater level of security to ensure that both the metadata and data is securely provisioned for a specific user that is added to the BI System
• GUIDs are likely to change and goes “out of sync” and prohibits login to the Presentation as the user gets added and/or removed or during migration between environments or migration of security store from weblogic LDAP to external authenticators
• The synchronization of GUIDs can be fixed using “Refresh / Regenerating GUIDs” and the key steps includes:
o Change the parameter FMW_UPDATE_ROLE_AND_USER_REF_GUIDS = YES in the NQSConfig.INI
o Add the below tag to the Catalog section in the instance config.xml
<ps:Catalog xmlns:ps="oracle.bi.presentation.services/config/v1.1">
<ps:UpgradeAndExit>false</ps:UpgradeAndExit>
<ps:UpdateAccountGUIDs>UpdateAndExit</ps:UpdateAccountGUIDs>
</ps:Catalog>
o Restart the BI System components using opmnctl with stopall and startall parameters
o Reset the parameter FMW_UPDATE_ROLE_AND_USER_REF_GUIDS = NO in the NQSConfig.INI
o Delete or Comment out the entry <ps:UpdateAccountGUIDs>UpdateAndExit</ps:UpdateAccountGUIDs>
in the instance config.xml
o Restart the BI System as above

CHRONOLOGICAL KEY (following the order in which they occurred)
Typically time dimension differs from all other dimensions in one way and that is, all other dimensions don’t care about the order of the values in it.
e.g. in region_dim the values are north, south, west and east. Here nobody wants to see whether north comes first or south comes first. i.e. no order is required here.
in the case of time dimension there needs to be a particular order for all the values present in it.
e.g. 2010 is earliest and 2004 is older. Dec-10 is earliest and jan-10 is older. i.e. the values in the time dimension needs to follow a particular sorting order. So the chronological key is the key which tells the OBIEE that the data is incrementing based on the chronological column.
Here you may get another doubt. I.e. you are having columns like year, half_year, quarter, month, week and day. Here which one should become the chronological key?
Analyze it yourself. If you kept year as chro key then OBIEE will be confused whether jan-10 is earliest or feb-10 is earliest. Because it knows only that 2010 is earliest and 2009 is older.
So always it should be the lowest level oif the dimension which needs to be the chronological key. In the above case it should be date.

You can select either date or date_id(this could be a sequence generator values).

CONFIGURE SESSION TIMEOUT IN OBIEE 11G
The connection between the OracleBI Presentation Server and OracleBI Services when idle(no requests running) will expire by default in 210 minutes, this can be manually configured using the following steps:

1. Find the file instanceconfig.xml in following location

         OracleInstance\Config\OracleBIPresentationServices\Coreappication\instanceconfig.xml

2. Add the following line in the security block add "ClientSessionExpireMinutes" block with no of minutes you want.

                 <clientsessionexpireminutes> 210 </clientsessionexpireminutes>

3. Restart services OracleBI Presentation Services.

Note: By default the session timeout is 210 minutes.


Implicit Fact Column

A User may request a report where it may have only Dimensions and no Fact columns such as No of Customers in an Year or Product Category and Product Description. When these are requested the server may sometimes gets confused as from which fact table should it join to fetch the Data. So it joins to nearest fact table and pulls the data through it. So the result obtained may be different from what user is expecting.

So, to avoid this sort of confusion  We can create in a Dummy Fact table in a Physical Layer and Join all Dimensions to this Fact table in BMM Layer. Then in the Presentation Catalog we assign dummy fact table column as implicit fact column . So, Whenever a report on Dimensions are requested it joins through dummy fact table and fetch data.

Applying Patch in OBIEE

Download the patch. Unzip it and place the file in Oracle_BI1 folder in Patch(new folder).

Now open CMD and go to path C:\obiee\Oracle_BI1\patch and run the below commands



set ORACLE_HOME=C:\OBIEE\Oracle_BI1
set PATH=%ORACLE_HOME%\bin;%PATH%
set JAVA_HOME=%ORACLE_HOME%\jdk
set PATH=%JAVA_HOME%\bin;%PATH%
set PATH=%ORACLE_HOME%\OPatch;%PATH%

opatch apply

Event Polling In OBIEE 11g

Navigate to the path “<Middleware>\instances\instance1\bifoundation\OracleBIServerComponent\coreapplication_obis1\schema” –> Open SAEPT.Oracle file and copy the DDL from there.
DDL should be as below .
–======================================================
— Script that creates an Event Polling Table for    ==
— the Siebel Analytics Server in an Oracle database. ==
–======================================================

————————————————–
— Make sure to drop any existing table having —
— the same name as the Event Polling Table.    —
————————————————–
drop table S_NQ_EPT;

————————————–
— Create the Event Polling Table. —
————————————–
create table S_NQ_EPT (
UPDATE_TYPE    DECIMAL(10,0)  DEFAULT 1       NOT NULL,
UPDATE_TS      DATE           DEFAULT SYSDATE NOT NULL,
DATABASE_NAME  VARCHAR2(120)                      NULL,
CATALOG_NAME   VARCHAR2(120)                      NULL,
SCHEMA_NAME    VARCHAR2(120)                      NULL,
TABLE_NAME     VARCHAR2(120)                  NOT NULL,
OTHER_RESERVED VARCHAR2(120)  DEFAULT NULL        NULL
) ;

Copy this DDL and create table in Oracle database.

No comments:

Post a Comment