Fixing Pivoted Graph Conditional Formatting – OBIEE 11g


OBIEE 11g upgrade has a lot of issues and among couple of them common is on Conditional Formatting . This emphasis that even if the Catalog upgrade is successful there are some of the problem still persists in XML conversion engine of the Upgrade Assistant(UA) leading though several catalog defects due to malformed XML . This is another example as my upgraded 11g charts failing to show its conditional formatting which is was working perfectly in 10g ….

Lets deep dive on whats the issue …

Below is the conditional format definition in 11g which is aligned with 10g:

So ideally it should show Chart bars (which is generated from Combined request Pivoted Graph) and see the below comparison:

To understand the reason of why 11g chart not showing the conditional format I went through the full XML from Advanced tab of 11g and find the below discrepancies:

This is malformed XML generated by UA during the upgrade of 10g code .If we look into 10g Advanced XML this is actually decimal but for some reason UA failed to put correct literal against it .

So the fix is replace all the instances of string “untypedLiteral” with “decimal’ like below:

Now after applying the XML the 11g chart output like :

And voila …. the problem is fixed … There could be another workaround to copy your 10g entire XML to 11g and yes it should work     🙂 🙂

Enjoy ..till next time…

D

Fixing the BAD XML Instance Issue – OBIEE 11g


“The current xml is invalid with the following errors: Bad xml instance!” is very unusual error but when this has been encountered it is become frustrating as it sounds the entire report can’t be saved !

I remember last time I had faced the similar issue in 11.1.1.3 version while I was building a new report from scratch . The error enforced me not to even edit the reports so I neither I can move to criteria nor I can save this . That was weird !  The only option left was to edit the XML using Catalog manager but until and unless you know where the problem lies you can’t fix it right ?

Now recently I got similar kind of issue in one of our upgraded 11.1.1.6 report which is a Combined request report and when I tried to edit the Criteria Analysis properties Interaction tab to remove Sort column of un-check any other options it throws me below error during the save:

Okay … so the error was at the very last line of the displayed XML as below:

Line:814, Col:61, Element ‘criteria’ is not valid for content model: ‘((criteria,interactionOptions,views,prompts,listOptions),segmentOptions)’

so the bug is around the green circled tags !! Reason is whenever you un-check some options under “Analysis-Properties” it will throw errors !! Probably this is some problem with the up-graded code in 11g from 10g as I tried to replicate the same creating a new reports from scratch which was pretty cool and removing any interaction works perfectly okay in the dashboard report .

After spending some times the reason of the issue found with the fix . I have customized the location for the below tag from Advanced XML :

<saw:interactionOptions drill=”true” movecolumns=”true” sortcolumns=”false” addremovevalues=”true” groupoperations=”true” calcitemoperations=”true” showhidesubtotal=”true” showhiderunningsum=”true” inclexclcolumns=”true”/>

Edited the XML and moved it from beforesection to the end of all. As it is combined request hence several would be present but placed it after all of them.

 After that apply the changes in Advanced XML and voila …. your problem fixed !  Note that this could be the one of incident with BAD XML error and probably you can found it in several other places with no relation to my above fix note . This those cases you need to dig down into more details of the Advanced XML generated and fix those issues as applicable for your case .

Bottom line is same . Dig into the XML details to find out the crappy code and the fix it ! …

So that’s it …. till next time… Happy weekend 🙂

 

OBIEE 11g – Up-gradation Catalog and Env/Config Issues/Challenges and Fixes (11.1.1.6 & 11.1.1.5)


Since(Oct 2011) I had started working on OBIEE 11g (11.1.1.5) for four different projects in parallel to up-grade the 10g to 11g lot of challenges have been faced specially with the Catalog and Environment issues. (You can see the already reported RPD issues under: https://debaatobiee.wordpress.com/2012/01/26/obiee-11g-up-gradation-rpd-gotchas-and-glitches/ )

I could report all of them in below threads with the possible resolution but as I am writing this blog now (actually I am bit late posting this thread L ) some of them already taken care of in 11.1.1.6 version however not all and bit surprised that though Oracle agreed to release the patch in .6 version and file the bug report they didn’t work out yet on those mentioned issues reported during .5 up-grade.

Worth to see the link here for possible changes in BI reports due to new features before taking the assumption that it is a bug.

As par my latest up-gradation from 10g to 11.1.1.6 is concerned it went well but still some of the defects which are already noticed in .5 not fixed yet, some of them appeared new and some of them totally ridiculous and critical too as per business perspective and some of them not reported yet to Oracle and hence no relevant information found in Support.

I am happy to categorizing them into two different areas below: (I have used .5 and .6 interchangeably to mean 11.1.1.5 and 11.1.1.6)

Environment and Configuration Issues

  • Up-gradation of RPD and Catalog separately could cause the issue with the Dashboard Privileges and Object permissions. I had experiencing the issue when upgrade the catalog first and then RPD and reason which I could think of is that until the RPD up-gradation completed successfully by the UA it doesn’t going to reflect all the Users/Groups information in the Weblogic Security store. So if you are experiencing the issue recommendation is to at-least perform the RPD first and then catalog.
  • During the migration process we have followed the approach to up-grade the same 10g RPD in the higher environment (say Test or UAT) to ensure the security store upgrades taken care of by the UA automatically. Other approach could be taken the export of the security store from the Weblogic Console for my security realm and then Import the security details to target env which basically perform a XML upgrade of security details in target environment
  • Job ManagerPassword is not upgraded with RPD upgrade .It still retains the password of source RPD and target RPD password needs to be changed manually. At-least the behavior has been seen in 11.1.1.5 and have not tried yet this in the .6 version
  • Upgrade can’t be done if the parameters are locked in FMW EM console: Upgrade will fail with below status. Need to release the lock and retry.
  • Take extra caution when you are enabling the RPD Read only option in the EM as I found this is quite weird but finally checking and un-checking multiple time resolves my problem. So there is possible bug around this features in .5 didn’t try the .6 yet.
  • Never try to deploy the RPD using the undocumented and wrong procedures except from EM .Otherwise you will find “CSK Key not found” issue during RPD deployment process.
  • Missing Application roles in catalog results the new roles to be created inside Weblogic Admin Console and map to the groups i.e. required.
  • Deploying EAR file gives: “Deployer:149082 You cannot deploy application ‘analytics’ without version” . OBIEE 11g: Error: ” <[WebAppModule(analytics [Version=11.1.1]:analytics)] Error Parsing Descriptor in Web Application” Whilst Deploying Analytics.ear File . This is 11g bug . See the resolution and patch note in Support
  • While changing the password of Administrator account in EM and Weblogic make sure both are in synchronize.
  • Loglevel Bug – NULL loglevel value set against user in external table based authorization scheme cause the user login failure however the same configuration in database level works perfectly okay with 10g setup. Resolution is to have must non-null values against all users in database records. This persists till .5 version and did not check yet the .6 version.
  • While executing OPatch utility to apply the patches provided by Support to .5 env it displays with below information:

    Running prerequisite checks…

    Prerequisite check “CheckActiveFilesAndExecutables” failed.

    The details are:

    Following files are active :

    D:\Oracle\Middleware\Oracle_BI1\bifoundation\server\bin\nqsexecutionexpr64.dll

    D:\Oracle\Middleware\Oracle_BI1\bifoundation\server\bin\nqsexecutionlist64.dll

    D:\Oracle\Middleware\Oracle_BI1\bifoundation\server\bin\nqsserviceinterfacemgr64.dll

    D:\Oracle\Middleware\Oracle_BI1\bifoundation\server\bin\nqssimutility64.dll

    ApplySession failed during prerequisite checks: Prerequisite check “CheckActiveFilesAndExecutables” failed.

    System intact, OPatch will not attempt to restore the system

    OPatch failed with error code = 74

    Resolution is to change the Privilege of “C:\Program Files\Oracle\Inventory” directory from read-only to Read-Write with Full-Control . However that was never documented in Oracle OPatch Readme.

  • While changing the BISystemUser password make sure those are in sync with EM security store and Weblogic Console and till .5 version there was issue with using special character as BISystemUser password. Make sure that it should not have special characters.

Catalog Issues

  • “Act As” doesn’t populate the list of users and throwing functionality disabled by Admin. For Act As to work for the LDAP based users required configuration needs to be done (except what is the to-do configuration for 10g) as the security model for 11g is different from 10g. I will detail the change in “Act As” process in separate thread.
  • There are always problem with the report or prompts decimal issues .Either new decimal value appended , decimal value missing, 3 decimal places appears in place of 2 or decimal values not appearing at all in Charts mouse over option. Also the issue persist in aggregate calculations which possibly results the wrong value in Sub-Total or Grand total. The problem needs to be diagnosed and isolated before fixing.
  • 11.1.1.6 causing the issue for Multi Path navigation . While there is single navigation path in 10g there is no needs to have a pop-up with the Action link text name but UA not being able to trace the link name while it is a single path. Also if there is ‘&’ character in the Action Link text it improperly translate it as ‘&’. However there is no quick fix available as of now and you need to go to individual navigation where problem exist and fix it by clicking option ‘don’t show pop-up in place of single navigation”
  • Upgrade Assistant (UA) not really able to up-grade properly the navigated links/interactions against column header, value name and hence post up-gradation we had to manually remove all the unwanted navigation paths from column values. This typically occurs if any column of the table/pivot view has interaction, it is going to add the same interactions/Action Links to the measures columns across the reports.
  • Typical problem has been faced in the Aggregate calculation and the conditions specified in the pivoted report. Those have been faced case by case.
  • There is severe issue with Count Distinct measures specially to calculate the Grand Total and results the calculation mismatch between 10g/11g reports.
  • Sorting of columns having the hard-coded customized values not works for Combined request. Special tweaking needs to be done to fix the issue by appending some space characters once, twice, thrice etc.
  • Problem with SQL_TSI_WEEK function and Can’t properly cast the value caused CASTing errors. Not sure if that fixed in .6 version and not tried yet.
  • iBots causing the issue after executing it and reports : “AgentID: /shared/Test – DxP/DxP_iBot” , Invalid subscribers skipped: DEBA . The reason is SASystemSubject area enabled . The problem found in .5 version and the fix is to disable the SystemSubjectArea using the special tag inside instanceconfig.xml file
  • OBIEE 11g: Error While Fetching a Large Pivot Table: “Exceeded Configured Maximum Number of Allowed Input Records” while downloading the reports with more than millions of rows . However it has been observed that the problem not exist in 10g and aligning the required parameter in instanceconfig doesn’t resolve the issue. The same issue persists if download operation of the report triggered using the JavaScript’s and the iBots scheduler. Below error reported in the downloaded excel file. So far the issue persists in .5 and bug opened for that. Not sure if that is fixed in .6 yet

                 “Exceeded configured maximum number of allowed input records” onclick=”SAWMoreInfo(event)

                 Error Codes: EKMT3FK5

  • Redundant Legend for Chart View in OBIEE Pivot and Table based Charts causing the weird legend display. However part of that has been fixed and still some of the customized charts the issue retained in .6 version.
  • 45 degree angle Chart axis label causing blurred labeling which is un-readable and pretty difficult to understand. Support suggests ‘EmbedFonts’ tag under instancconfig which also doesn’t help and I have seen the problem still persists in .6 release.
  • Some of the crowded/busy charts axis labeling doesn’t plot the label value at all in the axis .However data and bar shows perfectly fine during hovering but the axis label under some of the vertical or horizontal bar seems missing. Resolution as of now is to increase the charts width and height, reduce the axis label fonts and make the label as 0 or 90 degree. The problem typically found in .6 version
  • Pivot table column header formatting not properly upgraded for some of the reports and not all. The problem typically found in .6 version
  • Additional row in every table or pivot view cause the format difference with 10g reports. Not sure when the fix or ever the fix will be available
  • In .5 release if we want to remove some column from the view of the table in Dashboard page it was possible but you couldn’t add those later and never find those removed column. But it seems that Oracle fixed the issue in .6 release.
  • In .6 version critical data issue exist if the presentation column (P1) (where P1 and P2 refers the same logical column) used in reports with combination of other measures. In those cases it was causing weird data issues. So has been fixed by pulling correct relational presentation dimension column relevant to the logically same place of the metrics
  • Critical catalog issue has been observed while Navigating from the Chart or Pivoted Chart where the value in the database having & character like (‘HOME & BEAUTY’) .In those case navigation to the detail report caused no results as the value itself from the chart passing to DB is like ‘HOME & BEAUTY’ in the where clause of the query. Didn’t got any response yet from Oracle about the fix and the patch. Latest Update(June/08/2012) — Oracle agreed the defect and raise the priority bug fix with no estimated SLA .However the issue escalated and waiting for Development team response. They also confirmed that the same issue will be there while Drill down from data value having special characters (like ‘&’) .
  • In Chart pivoted result one of the metric value which is NULL, appeared in Pivot table and not in Chart for 10g, but in 11g it is coming for both Pivot and Chart . No solution apart from segregating the view into new Chart view.
  • The expression like “CAST(((max(saw_3 by saw_1) /max(saw_4 by saw_1))*100) AS VARCHAR(50)))” no more valid in 11g at-least in .5 version.
  • Presentation variable report filter default values are no more Case sensitive in 11g at-least observed in .5 version
  • BI Publisher issue in one of the up-graded report as “oracle.xdo.XDOException: oracle.xdo.XDOException: Unable to create saw session. Please verify the server connection” and entire report needs to redesign for that using different security approach.
  • Sometime it will be seen that until the Results tab returns the values if you bring the column from presentation area to criteria it will not reflect and sounds like column not added yet .However after results returns come back to Criteria you will see the column added. There are possible synchronization issue which still persists in .5 and .6 version.
  • Clicking on Hierarchy column will show the results in left pane while we are in Results tab but same doesn’t exist if we click the column left pane in Criteria tab. This could be possible enhancement req on top on .6 version
  • In 10g we can press Control from keyboard against the presentation column and the filter condition pop-up can be appeared automatically but same feature doesn’t exist in 11g .This could be a future and very useful enhancement request.
  • In 11g .6 version has some issue with the Saved Filter post up-gradation and clicking on that filter view doesn’t pop-up the filter criteria and even the view doesn’t display anything in Dashboard page if we clicked it. However building the Saved filter from scratch resolves the problem. So issue there in catalog copy post .6 up-gradations. The problem identified later with the Integer value based column in filter criteria and the resolution is convert that to advanced SQL based values and that will sort out the problem . This is definitely another 11g .6 version bug.
  • Sorting issues are there for charts and on measure while using RANK order
  • In some of our Charts we have seen there is display issue in IE8/9 and Chrome but not in Mozilla Firefox after up-gradation . However re-creating or building the same using IE8/9 browser fixes all the display issues and it is working perfectly fine. Also in some situation I have observed creating new view doesn’t help, in that case bring the attribute from presentation once again and create the derived expression once again and that sorts out the issue.
  • In one of our request we have found the partial data  issue/mismatch with Combined request with Union . After digging into the details it has been found that the issue is due to a calculated column in pivot section (whereas the same view didn’t have any calculated column in 10g !!) .The issue is bit strange . Deleting the unnecessary calculated columns/ or recreating the same view from scratch caused the issue fixed.
  • Couple of the iBots not properly up-graded by UA and cause Bad XML instance error while executing the same. Even those iBots are not editable and can’t be saved during the XLM error. Support bug opened for that but not sure whether it has been fixed in .6 yet.
    This thread will be updated frequently to add more and more defects observed and the progress/resolution for it .
    So stay tuned 🙂
    Also just keep eye on OBIEE 11.1.1.6.1 and 11.1.1.6.2 patches and the related bug fixes to be up-to-date !

Intelligent Deployment of RPD/Catalog – OBIEE 11g


As probably everybody knows that we have intelligent RPD deployment process as per OBIEE 11g is concerned using Enterprise manager Deployment module . But do you know if you have not follow the conventional procedure what problem you are going to hit …. Here you go …

 [nQSError: 13043] Could not get repository password for CSF key ‘repository.MyRPD_BI0001’ from CSF: [46147] The Repository credential does not exist.

The reason behind the issue is that I had just copied the RPD from 11g Dev env and Paste it to 11g Test env and change the RPD name in NQSConfig.INI file and try to up the server using unconventional way just to figure out what kind of check it does …. Quite intelligent… Each RPD has a unique identifier and it is stored in Credential Store and you can’t bypass the Credential store verification during your update of the RPD. So always do a clean deployment process otherwise you will be messed with it 🙂

So above error you will be getting for incorrect deployment procedure of your repository. This is specially recommended during the env migration . However I have seen in the same env if you are doing the copy paste of the same RPD and rename it and then change the name in NQSConfig.INI it somehow works out fine.

Again don’t try to Update Account GUID’s (FMW_UPDATE_…. under NQSCONFIG and UpdateAccountGUIDs under instanceConfig) and Deployment of RPD at the same time .It will give you erratic behavior. And in those scenario your RPD and Catalog name is always going to refer old name rather new one.

OBIEE 11g NULL value is not replaceable with “0”


As far the 11g release is concerned and ongoing experience to work with OBIEE 11g, among the several good features ,enhancement from all aspects there are a lot of glitches causing unnecessary itches for the Developers and also additional overhead from Administration’s perspective .

Hey Weblogic , not a good friend yet with OBIEE 11g causing a nightmare for last couple of weeks while engaged in couple of migration project from OBIEE 10g to 11g .Overall experience is not satisfactory with this new planet …. Weblogic … in the Universe…. 😦 Lets make it simple and manageable… !!

Okay coming to the point … Now not with Weblogic …but the analytics/reports piece itself …

As per the 10g release is concerned using some conditional clause any NULL value could be presented as 0 specially when there is divide by zero scenario . In 10g it is pretty easy to handle such situation from RPD or Webcatalog but in 11g it is a proven bug . Oracle Ref: Internal Bug Id: 13054445 .

Came to our notice in Pivot table operation neither the CASE WHEN in RPD/Catalog ,not the IFNULL or NULLIF handler able to replace the NULL value with 0 for my Pivot table. Forget anything to do in any of the config file or the database feature in RPD . Nothing will be helpful at all…If yes , your comments are most welcome !

Resolution: Nothing . Ask Oracle to get a patch if this is critical for you or wait till unplanned 11.1.1.7.0 release.

OBIEE 11g – The Starters & the Concerns


 

 

 

 

 

 

 

Ω Ω Ω Ω Ω ……. 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…………Ω Ω Ω Ω Ω

OBIEE 11g User Interface (UI) Performance Is Extremely Slow With Internet Explorer 8


Bienvenue… Mes amis ..@ Welcome back …

…./// was struggling for last couple of weeks with OBIEE 11g (11.1.1.5) and IE 8 . The experience was awesome !! pathetic …  it is extremely slow starting from login page and browsing across reports/changing the reports views/layouts and while play with overall application ad-hoc basis.

The situation has been observed not for desktop/laptop standalone application users(at-least I don’t have issue in my personal desktop)  but for VPN or WAN users over the network 😦 😦

Initial assumption was that it is due to OBIEE 11g with its lot of junkies (animations ,flash plugin and special chart rendering engine etc..) .I thought it could be a database problem as for my case database was also not pretty strong. So overall performance issue could be for new OBIEE 11g. It was so irritating to develop a reports there which can pretty easily frustrating a developers . Even the console and EM window and other navigation options was pretty slow.

Later while install Mozilla Firefox we can see a significant performance improvement and the application is running cool like a charm !! So the main culprit for entire problem is the favorite “IE 8” browser !!  (Nowadays I didn’t even open my IE until a very specific needs) . So I switch to different browser at-least to make sure I didn’t spend my 20 minutes of time just for build a reports….huh… A shy of relief after spending my last painful weeks …

Now what is the reason behind IE 8 slowness while interacting via web server to OBIEE engine . There is no fighting game between two killer giants “Microsoft” and “Oracle”  , I believe… 🙂

As per Oracle “IE 8 generates many HTTP 304 return calls and this caused the 11g(11.1.1.3 and later) UI slower when compared to the Mozilla FireFox browser.”

Hmmm … so HTTP 304 error caused when the poor developer doesn’t respect the HTTP protocols completely … not bad … 🙂

So what is this HTTP 304 …let’s have a look ..

HTTP 304 doesn’t really indicate an error, but rather indicates that the resource for the requested URL has not changed since last accessed or cached. The 304 status code should only be returned if allowed by the client . The client specifies this in the HTTP data stream sent to the Web server e.g. via If_Modified_Since headers in the request.

Systems that cache or index Web resources (such as search engines) often use the 304 response to determine if the information they previously gathered for a particular URL is now out-of-date.

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

§  304 errors in the HTTP cycle

Any client (e.g. your Web browser or our CheckUpDown robot) goes through the following cycle when it communicates with the Web server:

  • Obtain an IP address from the IP name of the site (the site URL without the leading ‘http://&#8217;). This lookup (conversion of IP name to IP address) is provided by domain name servers (DNSs).
  • Open an IP socket connection to that IP address.
  • Write an HTTP data stream through that socket.
  • Receive an HTTP data stream back from the Web server in response. This data stream contains status codes whose values are determined by the HTTP protocol. Parse this data stream for status codes and other useful information.

This error occurs in the final step above when the client receives an HTTP status code that it recognises as ‘304’.

§  Fixing HTTP 304 errors – General

You should never see this error in your Web browser. It should simply present the Web page from its cache – because it believes the page has not changed since it was last cached. If your client is not a Web browser, then it should equally be able to present the page from a cache. If unable to do so, it is not using the If_Modified_Since or related headers correctly.

§  Fixing HTTP 304 errors

You should never see this error at all for the CheckUpDown service. It indicates defective programming by us or the developers of the Web server software. Either we or they are not respecting HTTP protocols completely.

The 304 status code should only be returned if we allow it in the HTTP data stream we send to the Web server. Because we keep no records of the actual content of your URL Web page, we specifically disallow the 304 response in the HTTP data stream we send.

So if the Web server implements the HTTP protocol properly, it should never send an 304 status code back to us. This response is not what we expect, so we actively report it as an error even though it does not necessarily mean that the Web site is down.

Please contact us directly (email preferred) whenever you encounter 304 errors. Only we can resolve them for you. Unfortunately this may take some time, because we have to analyse the underlying HTTP data streams and may have to liaise with your ISP and the vendor of the Web server software to agree the exact source of the error.

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

So enough fade up with HTTP 304… lets see how Oracle proposed to resolve the problem using “HTTP compression and caching” technique.

Why use Web Server Compression / Caching for OBIEE?

o       Bandwidth Savings: Enabling HTTP compression can have a dramatic improvement on the latency of responses. By compressing static files and dynamic application responses, it will significantly reduce the remote (high latency) user response time.

o       Improves request/response latency: Caching makes it possible to suppress the payload of the HTTP reply using the 304 status code.  Minimizing round trips over the Web to re-validate cached items can make a huge difference in browser page load times.

This screen shot depicts the flow and where the compression and decompression occurs.

The Solution:

1.      To implement HTTP compression / caching, install and configure Oracle HTTP Server (OHS) 11.1.1.x for the bi_serverN Managed Servers (refer to “OBIEE Enterprise Deployment Guide for Oracle Business Intelligence” document for details).

2.      On the OHS machine, open the file HTTP Server configuration file (httpd.conf) for editing.

This file is located in the OHS installation directory.
For example: ORACLE_HOME/Oracle_WT1/instances/instance1/config/OHS/ohs1

3.      In httpd.conf file, verify that the following directives are included and not commented out:

LoadModule expires_module “${ORACLE_HOME}/ohs/modules/mod_expires.so

LoadModule deflate_module “${ORACLE_HOME}/ohs/modules/mod_deflate.so

4.      Add the following lines in httpd.conf file below the directive LoadModule section and restart the OHS:

Note: For the Windows platform, you will need to enclose any paths in double quotes (“)

For example:

Alias /analytics “/ORACLE_HOME/bifoundation/web/app”

<Directory “/ORACLE_HOME/bifoundation/web/app”>

Alias /analytics ORACLE_HOME/bifoundation/web/app

#Pls replace the ORACLE_HOME with your actual BI ORACLE_HOME path
bifoundation/web/app>
#We don’t generate proper cross server ETags so disable them
FileETag none
SetOutputFilter DEFLATE
# Don’t compress images
SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary
<FilesMatch “\.(gif|jpeg|png|js|x-javascript|javascript|css)$”>
#Enable future expiry of static files
ExpiresActive on
ExpiresDefault “access plus 1 week”
#1 week, this will stops the HTTP304 calls i.e. generated by IE 8
Header set Cache-Control “max-age=604800”
</FilesMatch>
DirectoryIndex default.jsp
</Directory>

#Restrict access to WEB-INF
<Location /analytics/WEB-INF>
Order Allow,Deny
Deny from all
</Location>

Note: Make sure you replace above placeholder “ORACLE_HOME” to your correct path for BI ORACLE_HOME. For example: my BI Oracle Home path is /Oracle/BIEE11g/Oracle_BI1/bifoundation/web/app

 Important Notes:

  • Above caching rules restricted to static files found inside the /analytics directory(/web/app).
  • This approach is safer instead of setting static file caching globally.
  • In some customer environments you may not get 100% performance gains in IE 8.0 browser. So in that case you need to extend caching rules to other directories with static files content.
  • If OHS is installed on separate dedicated machine, make sure static files in your BI ORACLE_HOME (../Oracle_BI1/bifoundation/web/app) is accessible to the OHS instance.

Summary

The following screen shot summarizes the before and after results and improvements in response times(in IE7 and IE8) after enabling compression and caching: 

So now get the enthusiasm back and play with OBIEE 11g … 😀

But as per my observation till now, OBIEE 11g is still pretty slow specially in developers mode when you are editing some views in compound layouts,playing with measures and switch across columns across different sections ! It is still not best bet in regard of performance and response time … !

The portion of the above information of the has been actually except  from Oracle Support ID (1312299.1) .

In the upcoming thread I will explain a loads of  OBIEE 11g related bug/issues and unpredictable behavior and couple of non-working and missing treasures …..

Stay tuned until then …..

Yours (:))> DxP