OBIEE



Hello friends, after long time , I am again back on track … I was quite busy with couple of my mandatory schedules for last couple of weeks!

So today my topic is what are the Performance tuning key measures useful while doing report Performance testing. There are lots and I just tried to pull most of them and cover the highlights which would be very helpful while doing the Report Performance testing. Actually this could be separated across several areas like sometime it would be from DB perspective, sometime Environment parameters and sometime it would be the Repository design perspective. However the target objective is same but we need to work well to understand the performance bottleneck from which angles! This will definitely come with the experience and the different challenging environment and every places different rules needs to be applied.

Database Environment Framework:

  • RAC/Cluster / Grid based in NAS and SAN storage – This is recommended in Enterprise Architecture Platform with robust and performance resilient framework.
  • Exadata / Greenplum Architecture – For high performance and high throughput the database Architecture should be robust and especially when there lot of in memory operations intended for better performance especially for transactional analysis.
  • Memory SGA/PGA/Buffer Cache/ Temp, Undo, Redo tablespaces should be optimized using the best practice guided suitable for the underlying hardware.
  • 64 bit Processor (Multicore- Parallel server) and hyper-thread architecture required for better performance on CPU based calculations

Database Tuning Aspects:

  • Bitmap Index / Unique Index (lookup Explain Plan for less Query Cost and Index required suitable for your scenario …typically for all the join keys involved in Dimensional Star modeling)
  • Partitioning is very important and key areas to get most effective performance benefit as most of the analysis involve the time dimension.
  • Gather Statistics or analyze 30% sample of table at-least for Cost Based Optimizer to use, otherwise Rule Based Optimizer will be used . Oracle recommendation to use DBMS_STATS.AUTO_SAMPLE_SIZE for fastest gathering of stats.
  • DB Compression significantly reduces DB block read and enhance performance
  • De-normalization required rather Normalized Snowflakes
  • Parallel query(DB Environment parameter) to get benefit of report accessed on partitioned data leveraging the parallel CPU processing speeds
  • Faster Aggregation – enable Oracle DB Star Transformation (Bitmap join Indexes)

Tuning OBIEE Environment :

  • Multinode Clustering – Horizontal/Vertical scale-out in terms of multiple Admin and Managed Server in Weblogic domain.
  • Leveraging BI Server Caching to get most benefits out of the Cached queries and return the same result without hitting the database multiple times.
  • Switch off Usage Tracking to avoid extra DB operations running against each query.
  • Tuning WLS Param / JVM memory parameters

RPD:

  • Remove Snowflake across dimensions and create the Foreign Key for each Dim into Fact to create Star model
  • Bitmap Index for all Foreign Key columns (for Summary reports) and Bitmap Join Index (lowest granularity based query for detailed data)
  • NULL and NOT Null column in sync with RPD and Database to avoid full outer join with NVL
  • Number of Elements in OBIEE hierarchy definition to determine efficiency of Aggregated table
  • Fragmentation specification wherever required to logically hit different LTS based on fragmented data value sets
  • Limit the number of Initialization blocks to avoid the login performance degradation. However this feature improved in 11g to allow the database query fired once when that corresponding Values referred by Init block hitted.
  • Optimize setting of some NQSConfig.INI parameters (SORT_MEMORY_SIZE,SORT_BUFFER_INCREMENT_SIZE,VIRTUAL_TABLE_PAGE_SIZE)
  • Setting the query limit for a certain number of records and certain time window helps performance improvement for long running Ad-hoc analysis.
  • Limit the Concurrent user access by setting additional parameters
  • Number of DB connection to open settings in connection pool
  • Turn off higher Query log level to avoid File system IO based operations and performance degradation.
  • Manage optimally some key values like MAX_SESSION_LIMIT (to specify how long DB connections remain open with the accessed session), SERVER_THREAD_RANGE , DB_GATEWAY_THREAD_RANGE (DB and Server execution threaded execution)

Catalog:

########

  • Charting thread and Queue related parameters amendment (MaxQueue, MaxThreads)
  • Cache related tunable parameters:

<!– Remove from the cache everything older than N minutes –>

<MaxAgeMinutes>240</MaxAgeMinutes>

<MaxLastAccessedSeconds>14400</MaxLastAccessedSeconds>

<MaxEntries>10000</MaxEntries>

<!– AbsoluteMaxEntries is the enforced maximum number of entries. When this maximum is reached –>

<!– subsequent queries will fail until the maximum is no longer exceeded. –>

<AbsoluteMaxEntries>20000</AbsoluteMaxEntries>

<!– CruiseEntries is amount of entries the OracleBI Presentation server tries to maintain in its cache. –>

<CruiseEntries>3000</CruiseEntries>

<!– Forces the cache to attempt to remove an old entry when MaxEntries is exceeded. –>

<ForceLRU>true</ForceLRU>

<!– Cleanup this cache every N minutes. –>

<CleanupFrequencyMinutes>

Design:

  • Aggregated Tables /Mviews – Follow this approach if there are huge volume of data in detail fact table. Multi-level aggregated table based design return best results.
  • Typically the biggest gains for “Detail” reports performance is :

    •Star Transformation

    •Bitmap Join Indexes

    •Partitioning

  • The biggest gains for “Summary” reports:

    •Gathering Stats 30%

    •Aggregation

    •Star Transformation

    •Partitioning


 

 

 

 

 

 

 

Ω Ω Ω Ω Ω ……. Good day everybody and welcome back……… Ω Ω Ω Ω Ω

As promised that I will post a couple of interesting stuff down the line for next couple of days …Here it begins .. :)
In my recent execution of a OBIEE 11g development project several unforeseen events have been experienced which is either a product defect or an enhancement issue encompassing couple of 11g new features or the existing feature having enhancement issue. Most of them are from UI perspective and some of them from Repository perspective. I like to jot down those points that could be useful for future reference. All below issues noted are as per my observations that might not necessarily true as those depends on the situation and the environment where I have faced the problem.
I am quite sure there will be tons of problems on the way while upgrading the 10g to 11g especially from the customization perspective and architecture perspective. I will update it as soon as I will be facing such concern down the line …. !

♦ Issue #1


While  added a filter on Top 20 TRx measure value and then edit the same measure value from the report filter as below:
IFNULL(NNI Weekly.Curr Week TRx,0)  is in top  20
Changed the expression and after removing IFNULL I can see “Is in Top” option vanishes. So you can’t choose numbers anymore that in which ranges it belongs to.

♦ Issue #2

While restarting BI Components (Presentation Server, BI Server and Scheduler) from OFMW enterprise manager console it suddenly throws errors at the end of restart process. However the log and other information are not meaningful but the entire things were up and running behind the scene. Not really sure about what is the meaning of the error.
But it seems there is a communication delay between BI Server components and the Windows Process manager OPMN and once that delay is over all the components work perfectly in sync. Until OPMN also up and sync with BI components you will get error “Error 500–Internal Server Error” in bieehome page URL.

♦ Issue #3

Alternate inner coloring in pivot table row format actually overrides the measure column format label color specifications format once that measure bring from column section to row section.

♦ Issue #4

While you edit the page all the hidden page also visible and can also be edited like changing the entire page layout components. I think this is intentional and not an issue rather it gives the flexibility of altering the components even if those are hidden in actual dashboard page.

♦ Issue #5

The dashboard page level slider prompt control took unnecessary vertical whitespace from the end of the prompts till the Apply/Reset button causing the much more vertical section space for prompt. So even if, inside the control it is specified that the Button will be placed to the side of the prompt it doesn’t behave like that. So I think this is a bug to fix.

♦ Issue #6

Editing the compound layout from the dashboard page layout where it is specified to expose the view for say “Compound layout 3” rather default compound layout it should open the Layout 3 in the edit page. But it is not the case currently and always opens the default compound layout. I know, even the components specific editing feature was not there in 10g as well. But as a developer we could expect much more on that which helps our life cool.

♦ Issue #7

I encountered intermittently “Bad XML instance” while adding multiple prompt values in report filters and it doesn’t allow saving that report. Don’t know the reason about it but once I log off and log back in again everything is fine and I can even add those prompt criteria’s without issue.

♦ Issue #8

OFMW Enterprise Manager console weblogic  user is not case-sensitive and due to that reason when you enter using the user ‘WEBLOGIC’ say (all in caps though actual user is ‘weblogic’) you can logged in see all the pages and options and it allow to lock and edit the configuration button press. But once you click that you will see all the fields are still not editable and there will be no button called ‘ Release Configuration’ or ‘Activate Changes’ .So either it should allow all the functionalities or not allow to log into EM console at all .

♦ Issue #9

Changing the prompt text/label color and style will change the default section value of the prompt format as well. For e.g. if we change the prompt text color it will change the default value set in the prompt as well.

♦ Issue #10

Pivot table exclude is possible but not include in the non-designer mode. For e.g. once your report is ready and placed into the dashboard, right-click on some column and click to exclude some column from the pivot table display. You can do it. But you can’t get those excluded column back from the same section. Instead of that you have to click on reset page display or ‘Clear My Customization’ to get those column back into the pivot reports.

♦ Issue #11

Add to briefing book option is not displayed even if it is enabled in the dashboard layout against the displayed components. The problem happens when, instead of displaying the default compound layout or other compound layouts you are displaying the view like ‘View Selector’ etc.

♦ Issue #12

OBIEE 11g User Interface (UI) Performance Is Extremely Slow with Internet Explorer 8 (- IE version 8 – ) .Follow my previous post to get the details. Due to the browser problem several issues like below you can find while developing your reports.

♦ Changing the colors of the measure attribute behaves erratically and it doesn’t reflect on time in inline view and once the reports have been saved it is back on color.

♦ Sometime compound layout views displayed only without any control activated and hence browser needs to be closed after log-off and only solution to log back in.

♦ Issue can be appeared in Style Formatting for Graph. The spikes and the pointers (triangle, round) doesn’t display correctly.

♦ Issue #13

Saving the online 11g BI repository after modification of several components inside it ,the consistency checker failed throwing a weird kind of error message below:
[nQSError: 37005] Transaction update failed.
That is documented under Bug 9884975 (11G ADMIN TOOL RECEIVES NQSERROR: 37005 WHEN SAVING ONLINE RPD CHANGES 11.1.1.5.0  – version  Microsoft Windows (32-bit) )
And the resolution Patch 12909840 – GETTING ERROR: [46036] INTERNAL ASSERTION: CONDITION M_LOCK.ISACQUIRED() available on request from Oracle.

♦ Issue #14

11g RPD has thrown the error message while query on object from Physical layer and double-click that object to get the details.BI admin tool has thrown error “Object is orphaned and should be deleted”. The cause is unknown however I search the object and find it using pair of eyes and double clicking it is fine ! So weird no?

♦ Issue #15

I have encountered a strange error appeared while playing with OBIEE 11g repository. The error message as below:
“nQSError: 43113” – Message returned from OBIS
“nQSError: 46036” – Internal Assertion: Condition COLOCK_ISSET (value) , file server \objectmodel\Src\SORpObject.cpp , line 3
I have not found any such error logged in Oracle Support and not sure about the reason. However the problem resolved after closing the Admin tool without saving the changes and re-opening it!

♦ Issue #16

Graph slider (11g new feature) causes some unpredictable issues if you like to play with it more and more!(changing the sort order , randomly moved the column across several places in layout view , changing the measure data/column format). I had  faced some unpredictable issues and in place of Graph slider it displayed like an error with message and my slider control vanishes. However I got it back after 2-3 days after several restart. Might be a kind of rendering issue in IE8 is responsible for that. Now I switched to Firefox hence not having any problem until now.

♦ Issue #17

While adding the Groups (11g new features) inside catalog level, the values doesn’t change automatically until and unless Cancel button has been pressed. Once u click on Cancel button hold your mouse button and come to other section and release the button pressed you can see the value changed.

Ω Ω Ω Ω Ω ………..Until next.. Good Bye!  Stay tuned…………Ω Ω Ω Ω Ω


I just want to consolidate basic difference between the legacy (!) OC4J instance for OBIEE 10g and the newbies Weblogic Server Instance for OBIEE 11g and viola …. here you go …


The big giant Oracle releases the major version of OBIEE in August 2010 after it is directly take over from Siebel and after quite lot a time OBIEE 10g matured. However there are the couple of the issues I identified during working in UI layer for OBIEE 11g (11.1.1.3.0) . Somebody might notice this and somebody might ignore and expect some intermediate patch to correct those issues later.

I am hereby attaching the screenshots for those UI bugs which I truly think as a bug ! I will keep this thread up-to-date whenever I feel something is not right and on track :)

++++++++++++++++++++++++++++++++++++++++++++++++++++++++

++++++++++++++++++++++++++++++++++++++++++++++++++++++++

++++++++++++++++++++++++++++++++++++++++++++++++++++++++

++++++++++++++++++++++++++++++++++++++++++++++++++++++++

++++++++++++++++++++++++++++++++++++++++++++++++++++++++

++++++++++++++++++++++++++++++++++++++++++++++++++++++++

I would rather expect an intelligent cross-hair for below so that one cross- hair on Products will allow to move all the respective presentation columns under the presentation table and the other cross- hair on individual column to allow moving (drag and drop) them individually across the criteria selection pane.

++++++++++++++++++++++++++++++++++++++++++++++++++++++++

The problem with mapviewer is that after you click on Logout and confirm the logout,still  in the next page it still redirects to the previous page .This really annoying !

++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Clicking on display “collapsible” link  for prompt layout results the Display layout shift at the bottom of the page. This seems to be an scripting issue and the problem is there for both Internet Explorer and Mozilla firefox .

Just Click on ‘-’ beside “Display” and see the next layout .This is an issue ! The extra white space between prompt definition and display is not acceptable at all ….

++++++++++++++++++++++++++++++++++++++++++++++++++++++++

I was just trying to move one Presentation column from Excluded section to Display Slider section of the dashboard layout of my Graph view of a report and unfortunately I am not being able to do that . This is weird and irritating! Ideal scenario is that when you are trying to move the excluded section column to either Sections region or Slider region the “Layout” should auto-scroll to top just to allow you to do that .But this is not the case !! Hence I think this is an issue.This has been found in my Mozilla Firefox 4.0 version as well as IE8 browser.

So currently the workaround is , I have to go around halfway to the layout for e.g. drag till Measures / Bars and Lines section and then scroll a bit and then again drag . Another workaround just to make a bigger browser screen just to make the “Full Screen View” and directly drag it.The ideal one probably to expand the layout region using the “up and down mouse arrow” in section separator just above “Layout” :)

++++++++++++++++++++++++++++++++++++++++++++++++++++++++

In a single dashboard page I put 2 master reports and 1 detail report side by side and it causes column sort order spill over to next attribute in display and for the last display attribute it is out or region display.This results the problem of setting the Sort while my column heading interaction is On .

See below:

However I found that the issue happening for Mozilla firefox 4.0 version and it doesn’t cause any concern in IE8 .

++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Ohh… Oracle did a very good job delivering a so-called highly demanding product with loads of expectation to meet user expectations , however loads of end-user friendliness and developer friendliness have been overlooked ! Anyway in my today’s finding I did notice a WoW factor …. see below ! Attribute/column movement around the sections of Slider and Graph prompt is uni-directional :) i.e. you can move from left to right and not right to left !! That essentially means if you are having 5 attributes together in the Graph prompt section to make the lastly added attribute in the first of the list you have to perform the jugglery with the columns ! So ridiculous … :)(:

P.S:This issue has not been observed neither in movement of the attributes across measures section or nor during the movement in the criteria section .

++++++++++++++++++++++++++++++++++++++++++++++++++++++++


I had already composed the OBIEE design guidelines and best practices in my previous quite old post which mostly encircled the approach and best adopted strategies for previous release of OBIEE (aka Siebel Analytics 7.8.5) and OBIEE 10.1.3.4 version. Refer to my previous post :

https://debaatobiee.wordpress.com/category/obiee/best-practices/

Here are the design tips and guidelines to adhere as per Oracle recommended Metadata Repository Builders guide of OBIEE11g . The excerpt from it directly compiled like below:

Design Tips for the Physical Layer

  • It is recommended that you use table aliases frequently in the Physical layer to
    eliminate extraneous joins, including the following:
    – Eliminate all physical joins that cross dimensions (inter-dimensional circular
    joins) by using aliases.
    – Eliminate all circular joins (intra-dimensional circular joins) in a logical table
    source in the Physical Model by creating physical table aliases.
    For example, say you have a Customer table that can be used to look up
    ship-to addresses, and using a different join, to look up bill-to addresses.
    Avoid the circular joins by aliasing the table in the Physical layer so that there
    is one instance for each purpose, with separate joins.
  • You might import some tables into the Physical layer that you might not use right
    away, but that you do not want to delete. To identify tables that you do want to
    use right away in the Business Model and Mapping layer, you can assign aliases to
    physical tables before mapping them to the business model layer.
  • An opaque view (a Physical layer table that consists of a SELECT statement)
    should be used only if there is no other solution to your modeling problem.
    Ideally, a physical table should be created, or alternatively a materialized view.
    Opaque views prevent the Oracle BI Server from generating its own optimized
    SQL, because they contain fixed SQL statements that are sent to the underlying
    data source.

Design Tips for the Business Model and Mapping Layer

  • Create the business model with one-to-many logical joins between logical
    dimension tables and the fact tables wherever possible. The business model
    should ideally resemble a simple star schema in which each fact table is joined
    directly to its dimensions.
     Every logical fact table must join to at least one logical dimension table. Note that
    when the source is a fully denormalized table or flat file, you must map its
    physical fact columns to one or more logical fact tables, and its physical dimension
    columns to logical fact tables.
  • Every logical dimension table should have a dimensional hierarchy associated
    with it. This rule holds true even if the hierarchy has only one level, such as a
    scenario dimension {actual, forecast, plan}.
  • Make sure that all appropriate fact sources map to the proper level in the
    hierarchy using aggregation content. You set up aggregation content in the Levels
    tab of the Logical Column dialog for the measure. Note that this is different from
    the Content tab of the Logical Table Source dialog, which is used to specify the
    grain of the source tables to which it maps.
  • Typically, logical fact tables should not contain any keys. The only exception is
    when you need to send Logical SQL queries against the Oracle BI Server from a
    client that requires keys. In this case, you need to expose those keys in both the
    logical fact tables, and in the Presentation layer.
  • Normally, all columns in logical fact tables are aggregated measures, except for
    keys required by external clients, or dummy columns used as a divider. Other
    non-aggregated columns should instead exist in a logical dimension table.
  • In some situations, you might want to have multiple logical fact tables in a single
    business model. For Logical SQL queries, the multiple logical fact tables behave as
    if they are one table. 
  • You can define calculations in either of the following ways:
    – Before the aggregation, in the logical table source. For example:
    sum(col_A *( col_B))
    – After the aggregation, in a logical column derived from two other logical
    columns. For example:
    sum(col A) * sum(col B)
    You can also define post-aggregation calculations in Answers or in Logical SQL
    queries.
  • If you plan to use Oracle Scorecard and Strategy Management, it is a best practice
    to implement at least one time dimension in the Oracle BI repository you are using
    for your KPIs. This action is necessary because you use KPIs in scorecards to
    measure progress and performance over time. Note that an individual scorecard
    automatically picks up any dimension used by KPIs in that scorecard.
  • Aggregate sources should be created as separate logical table sources. For fact
    aggregates, use the Content tab of the Logical Table Source dialog to assign the
    correct logical level to each dimension.
  • Each dimension level in a hierarchy must have a unique level key. Also, each
    logical dimension table must have a unique primary key. Normally, this key is
    also used as the level key for the lowest hierarchy level.
  • Renaming columns in the Business Model and Mapping layer automatically
    creates aliases (synonyms) for Presentation layer columns that have the property
    Use Logical Column Name selected.
  • To prevent problems with aggregate navigation, ensure that each logical level of a
    dimension hierarchy contains the correct value in the field named Number of
    elements at this level. Fact sources are selected on a combination of the fields
    selected as well as the levels in the dimensions to which they map. By adjusting
    these values, you can alter the fact source selected by the Oracle BI Server. See
    “Creating Logical Levels in a Dimension” for more information about setting this
    value.

 Modeling Outer Joins
The following guidelines provide tips on how to model outer joins:

  • Due to the nature of outer joins, queries that use them are usually slower. Because
    of this, define outer joins only when necessary. Where possible, use ETL
    techniques to eliminate the need for outer joins in the reporting SQL.
  • Outer joins are always defined in the Business Model and Mapping layer. Physical
    layer joins do not specify inner or outer.
  • You can define outer joins by using logical table joins, or in logical table sources.
    Which type of outer join you use is determined by whether the physical join maps
    to a business model join, or to a logical table source join.
  • Be aware that outer joins in logical table sources are always included in a query,
    even if the none of the columns in one of the mapped physical tables are used.
    For example, assume that a logical table source is mapped to physical tables A and
    B. When no outer joins are defined, if physical table A is not required to satisfy a
    request, it is not included in the physical query. However, if the logical table
    source has an outer join defined to table A, table A is still included in the physical
    query, even if only physical table B is required to satisfy the request.
  • If you must define an outer join, try to create two separate dimensions, one that
    uses the outer join and one that does not. Make sure to name the dimension with
    the outer join in a way that clearly identifies it, so that client users can use it as
    little as possible.

 Design Tips for the Presentation Layer

  • You can show fewer columns than exist in the Business Model and Mapping layer.
    For example, you can exclude the key columns because they have no business
    meaning.
  • You can organize columns using a different structure from the table structure in
    the Business Model and Mapping layer.
  • You can display column names that are different from the column names in the
    Business Model and Mapping layer.
  • You can set permissions to grant or deny users access to individual subject areas,
    tables, and columns.
  • You can export logical keys to ODBC-based query and reporting tools.
  • You can create multiple subject areas for a single business model.
  • You can create a list of aliases (synonyms) for presentation objects that can be used
    in Logical SQL queries. This feature lets you change presentation column names
    without breaking existing reports.
    The following is a list of tips to use when designing the Presentation layer:
  • Because there is no automatic way to synchronize all changes between the
    Business Model and Mapping layer and the Presentation layer, it is best to wait
    until the Business Model and Mapping layer is relatively stable before adding
    customizations in the Presentation layer.
  • There are many ways to create subject areas, such as dragging and dropping the
    entire business model, dragging and dropping incremental pieces of the model, or
    automatically creating subject areas based on logical stars or snowflakes. See
    “Creating Subject Areas” for information about each of these methods. Dragging
    and dropping incrementally works well if certain parts of your business model are
    still changing.
  • It is a best practice to rename objects in the Business Model and Mapping layer
    rather than the Presentation layer, for better maintainability. Giving user-friendly
    names to logical objects rather than presentation objects ensures that the names
    can be reused in multiple subject areas. Also, it ensures that the names persist
    even when you need to delete and re-create subject areas to incorporate changes to
    your business model.
  • Be aware that members in a presentation hierarchy are not visible in the
    Presentation layer. Instead, you can see hierarchy members in Answers.
  • You can use the Administration Tool to update Presentation layer metadata to give
    the appearance of nested folders in Answers. See “Nesting Folders in Answers” for
    more information.
  • When setting up data access security for a large number of objects, consider
    setting object permissions by role rather than setting permissions for individual
    columns. See Chapter 13, “Applying Data Access Security to Repository Objects”
    for details.
  • When setting permissions on presentation objects, you can change the default
    permission by setting the DEFAULT_PRIVILEGES configuration setting in the
    NQSConfig.INI file. 

With the introduction of OBIEE11g there is huge change in the overall navigation for the BI components …. As it is hard to remember I am hereby trying to compile all together in the same place so you can always refer mine :-)

  • Start BI Services (parameter:  start_all)

..\\<Fusion Middleware Home>\instances\instance1\bifoundation\OracleBIApplication\coreapplication\StartStopServices.cmd start_all

  • Stop BI Services (parameter:  stop_all)

..\\<Fusion Middleware Home>\instances\instance1\bifoundation\OracleBIApplication\coreapplication\StartStopServices.cmd stop_all

  • Sample Application Data and Repository

..\\<Fusion Middleware Home>\instances\instance1\bifoundation\OracleBIServerComponent\coreapplication_obis1\sample

  • BI Repository(RPD)

..\\<Fusion Middleware Home>\instances\instance1\bifoundation\OracleBIServerComponent\coreapplication_obis1\repository

  • Usage tracking and Marketing Segmentation Scripts

..\\<Fusion Middleware Home>\instances\instance1\bifoundation\OracleBIServerComponent\coreapplication_obis1\schema

  • BI Server Cache file

..\\<Fusion Middleware Home>\instances\instance1\bifoundation\OracleBIServerComponent\coreapplication_obis1\cache

  • BI Presentation Catalog

..\\<Fusion Middleware Home>\instances\instance1\bifoundation\OracleBIPresentationServicesComponent\coreapplication_obips1\catalog

  • Clustered Component

..\\<Fusion Middleware Home>\instances\instance1\bifoundation\OracleBIClusterControllerComponent\coreapplication_obiccs1

  • Scheduler Components (Scheduler schema etc.)

..\\<Fusion Middleware Home>\instances\instance1\bifoundation\OracleBISchedulerComponent\coreapplication_obisch1

  • BI ODBC , Javahost and other components

..\\<Fusion Middleware Home>\instances\instance1\bifoundation

  • Start Weblogic Server (startWebLogic.cmd)

..\\<Fusion Middleware Home>\user_projects\domains\bifoundation_domain

  • BI Config Files

..\\<Fusion Middleware Home>\instances\instance1\config

  • Repository Config files (NQSConfig.INI,DBFeatures.INI etc)

..\\<Fusion Middleware Home>\instances\instance1\config\OracleBIServerComponent\coreapplication_obis1

  • Catalog config files(instanceconfig.xml,credentialstore.xml etc)

..\\<Fusion Middleware Home>\instances\instance1\config\OracleBIPresentationServicesComponent\coreapplication_obips1

  • Scheduler Catalog config files (instanceconfig.xml)

..\\<Fusion Middleware Home>\instances\instance1\config\OracleBISchedulerComponent\coreapplication_obisch1

  • Cluster Config files

..\\<Fusion Middleware Home>\instances\instance1\config\OracleBIApplication\coreapplication

  • OPMN Startup (parameter:  startall)

..\\\instances\instance1\bin opmnctl startall

  • OPMN Stop (parameter:  stopall)

..\\\instances\instance1\bin opmnctl stopall

  • BI PATH Initialisation

..\\<Fusion Middleware Home>\instances\instance1\bifoundation\OracleBIApplication\coreapplication\setup\bi-init.cmd

  • Weblogic Admin and Managed Server start/stop scripts(startWebLogic.cmd,startManagedWebLogic.cmd etc.)

..\\<Fusion Middleware Home>\user_projects\domains\bifoundation_domain\bin

  • BIPublisher repository and Config files

..\\<Fusion Middleware Home>\user_projects\domains\bifoundation_domain\config\bipublisher

  • FMW Security Config files (system-jazn-data.xml)

..\\<Fusion Middleware Home>\user_projects\domains\bifoundation_domain\config\fmwconfig

  • BI Components Log files

..\\<Fusion Middleware Home>\instances\instance1\diagnostics\logs

  • BI Server Log files (NQserver.log , NQQuery.log etc.)

..\\<Fusion Middleware Home>\instances\instance1\diagnostics\logs\OracleBIServerComponent\coreapplication_obis1

  • BI Presentation Server Log files (sawlog)

..\\<Fusion Middleware Home>\instances\instance1\diagnostics\logs\OracleBIPresentationServicesComponent\coreapplication_obips1

  • Installation Log files

..\\<Fusion Middleware Home>\logs


I am right back after hectic day-to-day schedule ! Now I will try to explore a new OBIEE feature called Content Accelerator Framework (CAF) version 1 . It is a free utility available in OTN and yet not part of OBIEE 10g default installation .Possible reason could be , as this utility come in the mid way of transition between 10g and future version 11g .Hopefully Oracle will provide a polished automated CAF release bundled in 11g version to thrash out Legacy Web Replication method and will provide a full-proof intelligent migration tool.

What is CAF/The Objective and Purpose

It is a RPD and Catalog migration utility to replicate/clone and synchronize RPD objects and existing reports from Source environment to Target OBIEE environment. It also helps to create duplicate report and duplicate logical RPD constructs from one OBIEE environment to other even if source and target environment has nothing in common and only basic logical model at Target environment .This in-turn help to propagate the changes made on RPD /Catalog  from one environment to other .This could even done after selecting each and individual object.

Overcome from Legacy Web Replication

Webcat replication seems to be an old school method while CAF approaches to make a revolutionary change in Migration aspects .The tool is simply amazing with its wide variety of features . As we all know Webcat Replication is not a very robust method while doing the synchronization. There are lot of glitches while anybody try to adopt this .Not only this , the configuration and network based setup is very much important for doing a successful webcat replication which sometime seems to be a headache for a Configuration Manager .However it is very good in clustered based synchronization arena and not typically in migration .In CAF approach the migration task would be much more simpler and not so cumbersome to handle .As the entire Catalog based concept changes from legacy .webcat file after Oracle takeover the product ,it is predictable that Replication strategy need to change as well . Lets see what OBIEE11g comes with !!!

Why this Blog Thread

There are lots of so-called OBIEE Guru’s already blogged about CAF . However my intension is to blog it with nitty-gritty after deep diving so that readers could feel how it works across various Proof Of Concept approaches.

Installation Prerequisite

1) OBIEE 10.1.3.4 and later (not OBIEE 11g !)

2) JDK 1.6 or later (Note : Make sure the JDK version is correct and correct PATH entry is there as Environment variable parameter)

Installation and Configuration

Download CAF and extract it under below path .Note that don’t rename the Temporary subdirectory “C:\OracleBI\TEMP_CAFV1_Install” and the extracted content should be under the mentioned path and directory to avoid any issues.

Now make sure OBI Catalog manager is not running and all the process is killed i.e. “catalogmanager.exe, java.exe, javaw.exe” . Otherwise unwanted JAR error will be thrown.

Navigate to the directory ..\OracleBI\web\catalogmanager\plugins.

Create a backup of the file com.siebel.analytics.web.catalogmanager_1.0.0.jar and move the backup file outside of the OBIEE directory structure.
Delete the original com.siebel.analytics.web.catalogmanager_1.0.0.jar file from ..\OracleBI\web\catalogmanager\plugins.
Lets try to open Catalog Manager by selecting Start > All Programs > Oracle Business Intelligence > Catalog Manager. Catalog Manager should not open and you should receive an error message similar to the following:

Now run the batch file from the extracted directory and continue it by pressing “Y” .

Now try to open Catalog Manager once again and you can see two new option added as ‘Syncronize’ and ‘Clone’ . This indicates that CAF has been installed and configured successfully .

So lets discuss about how functionally it is working across several perspective in a step by step different kind of approaches.

Approach 1 – Cloning Catalog Object from Dev to Test Environment

CAF Cloner Framework

I have created a RPD called dev_rpd , duplicate it and rename it as test_rpd .The dev_rpd will be used as Source RPD and test_rpd as Target RPD .Both RPD’s having same SA and same metadata objects configured based on Default ‘EMP’ and ‘DEPT’ table  joins .A report and prompt is created in ‘dev_catalog’ .This will be used as source of target catalog ‘test_catalog’ .The Online RPD is dev_rpd and it has been copied to “\OracleBI\server\Repository\dev” to make an offline access to it.Another offline RPD is test_rpd and kept under “\OracleBI\server\Repository\test” .

Lets configure instanceconfig.xml to point “test_catalog” .Start the Presentation services .Initially it will be blank catalog .We will see how to synchronize dev_catalog items to online test_catalog now.

Open the Catalog Manager and open dev_catalog offline and Click on Clone .That does mean I want only Emp report to be cloned in target blank web catalog i.e. test_catalog .

It will pop-up content accelerator wizard .If the Target Catalog is not online it will throw below error :

Otherwise move to the next screen to Select Source and Target offline RPD location and Online Target Catalog URL prefix (BI service plugin ‘analytics’ should be excluded)

Now choose the Target Subject area where you want the items to be migrated .

Click Next .This will parse the Emp request/report XML and extract the columns from it to display at the left-pane.Whereas at the Right pane it selects the Presentation tables from Target RPD .

Below I have clicked EMPNO from left pane and double clicked to the EMPNO from EMP table at right pane to get the final Mapped Values .As you can see after hovering the mouse you can see the Data Type of the target mapped column.This datatype will be extracted and identified from Target RPD automatically .

Any incorrect mapping will throw below error :

Do all the mapping as below :

Lets change the target request name from default “/shared/Cloned” to make it in sync with source catalog .Check the “Create Dashboard” option to make a new dashboard “emp_dashboard” at target catalog .(You can skip Dashboard creation option,in that  case only Answers request will be Cloned at Target) .Also please note that we have same named dashboard “emp_dashboard” at “dev_catalog” and same report emp added under that dashboard which we want to cloned in same name at Target catalog “test_catalog” .

You can edit the target request name also .Finally click on Finish. This results below successful cloning log .

Now lets login to Online ‘test_catalog’ and I can see a new dashboard created having the same report.Also it is available in Answers .

So the Cloning has been succeeded from Source Development environment to Target Test environment.

You can notice 2 things : Target RPD test_rpd has been renamed to test_rpd_backup before change and target catalog report description has been changed i.e. marked red in above image .How pretty and careful CAF is !!!

To be Continued ……….

Updated as of 17-Feb-2011 … I am not resuming this thread anymore as new OBIEE 11g comes with enhanced migration capability without CAF …

Next Page »