OBIEE 11g Error: Unable to Retrieve Log because OPMN is not currently running


OPMN plays a key role on triggering OBIEE system modules start-up including BI Server , Presentation server and other BI system modules.Also it helps to log any diagnostics issues.

Sometime you may find the error “Unable to Retrieve Log because OPMN is not currently running” just after you deploy new RPD and Catalog path in OFMW deployment module and trigger the activate changes and restart the services .It typically occurs when you did a mistake while editing the instanceconfig.xml file and OPMN just looses the track to update presentation server properly.

When you observer this issue go to command prompt and type :

opmnctl status

You should see :

opmnctl: ORACLE_INSTANCE is not set.
opmnctl status requires that ORACLE_INSTANCE be correctly set in your
environment.
Make sure you are using ORACLE_INSTANCE/bin/opmnctl.bat, or set ORACLE_INSTANCE
in your environment.

So it seems OPMN looses the ORACLE_INSTANCE path to trigger the necessary activities after the BI code changes (Repository and Catalog).

There could be two options then:

1) Either create a variable from ‘Environment Variable’ option of windows as below and apply the changes. It would effect immediately to the environment.

‘ORACLE_INSTANCE’ and set the value to be ‘E:\OraFMW11g\instances\instance1’  .

(Pls note that you need to change the path according to your setup)

2) Run below from command prompt and set the variable temporarily.

set ORACLE_INSTANCE=E:\OraFMW11g\instances\instance1

Just trigger from command prompt:

opmnctl startall

After successful completion you can see the BI processes started up:

opmnctl status

C:\>opmnctl status

Processes in Instance: instance1
———————————+——————–+———+———
ias-component                    | process-type       |     pid | status
———————————+——————–+———+———
coreapplication_obiccs1          | OracleBIClusterCo~ |     536 | Alive
coreapplication_obisch1          | OracleBIScheduler~ |    5096 | Alive
coreapplication_obijh1           | OracleBIJavaHostC~ |    2064 | Alive
coreapplication_obips1           | OracleBIPresentat~ |     N/A |  Alive
coreapplication_obis1            | OracleBIServerCom~ |    5160 | Alive

If the problem still persist with the start-up of any of  the server component just bounce the whole server and retry .

OBIEE 11g Configuration Assistant On Windows Fails To Start The Cluster Controller


During the installation process of OBIEE 11g(Version: 11.1.1.3.0 [1905]) , the configuration assistant is failing on the cluster manager configuration and get the following error:

OBIEE 11g Configuration Assistant On Windows Fails To Start The Cluster Controller (Obiccs1) With Error Nqserror: 46036

Executing : opmnctl start coreapplication_obiccs1

The installer *.out log ( [date stamp].out ) in C:\Program Files\Oracle\Inventory\logs will show:

C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\1>SET ORACLE_HOME=C:\[middleware_home]\Oracle_BI1

C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\1>CALL “C:\[middleware_home]\instances\instance1\bin\opmnctl.bat” startproc ias-component=coreapplication_obiccs1
opmnctl startproc: starting opmn managed processes…
================================================================================
opmn id=[hostname]:9501
0 of 1 processes started.

ias-instance id=instance1
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
——————————————————————————–
ias-component/process-type/process-set:
coreapplication_obiccs1/OracleBIClusterControllerComponent/BIClusterController/

Error
–> Process (index=1,uid=993659221,pid=1100)
failed to start a managed process after the maximum retry limit
Log:
none

java.lang.Exception: opmnctl task failed
at oracle.as.install.bi.biconfig.standard.OpmnctlTask.doExecute(OpmnctlTask.java:76)
at oracle.as.install.bi.biconfig.standard.AbstractProvisioningTask.execute(AbstractProvisioningTask.java:79)
at oracle.as.install.bi.biconfig.standard.StandardProvisionTaskList.execute(StandardProvisionTaskList.java:61)
at oracle.as.install.bi.biconfig.BIConfigMain.doExecute(BIConfigMain.java:110)
at oracle.as.install.engine.modules.configuration.client.ConfigAction.execute(ConfigAction.java:335)
at oracle.as.install.engine.modules.configuration.action.TaskPerformer.run(TaskPerformer.java:87)
at oracle.as.install.engine.modules.configuration.action.TaskPerformer.startConfigAction(TaskPerformer.java:104)
at oracle.as.install.engine.modules.configuration.action.ActionRequest.perform(ActionRequest.java:15)
at oracle.as.install.engine.modules.configuration.action.RequestQueue.perform(RequestQueue.java:63)
at oracle.as.install.engine.modules.configuration.standard.StandardConfigActionManager.start(StandardConfigActionManager.java:158)
at oracle.as.install.engine.modules.configuration.boot.ConfigurationExtension.kickstart(ConfigurationExtension.java:81)
at oracle.as.install.engine.modules.configuration.ConfigurationModule.run(ConfigurationModule.java:83)
at java.lang.Thread.run(Thread.java:619)

Checking the Cluster Controller diagnostic log in:

[drive:\[middleware_home]\instances\instance1\diagnostics\logs\OracleBIClusterControllerComponent\coreapplication_obiccs1

will show:

[nQSError: 46036] Internal Assertion: Condition rCCSNodeDB.SetConfigInfo(rCCSNodeDB.GetOurNodeId(), GetClusterServerStartTime()), file server\cluster\clusterserver\Src\CLSMain.cpp, line 262

The main reason for this error is related to network setting on your server.
It is usually reproduced on machines that are configured with DHCP or in a private network (such as a NAT configuration in a virtual machine) and the loopback adapter is not configured or configured correctly.  It generally does not occur with a static IP address configuration; however, it could possibly occur if network domain name server (DNS) resolution is not configured or configured correctly.

From a command prompt, execute the following:

  • nslookup hostname
  • nslookup hostname.domainname
  • nslookup IP address

Each command should resolve without errors. If there are errors, please see your network administrator.

The network configuration needs to be done before the installation starts; however, if you are stuck at the configuration assistant “progress screen”, then a workaround would be to remove any occurrence of a domain name from the following file:

[middleware_home]\instances\instance1\config\OracleBIApplication\coreapplication\NQClusterConfig.INI

After you have changed the file, then click the ‘retry’ button in the configuration assistant.

Lastly, if using a static IP and the above solutions do not resolve the problem then do the following:

  • Update your Windows host file located(32-bit or 64-bit) at:
    [drive]:Windows\System32\drivers\etc\hostto include the machine IP Address and hostname, for example:10.100.100.10  hostname
    10.100.100.10  hostname.domain   (For the machine having Fully Qualified Domain Name (FQDN))

After that click the ‘retry’ button in the configuration assistant for it to continue or run the following command in an administrator command shell to check and start the Cluster Controller before retrying in the configuration assistant.
[middleware home]\instances\biee_instance\bin>opmnctl.bat startproc ias-component=coreapplication_obiccs1

Narrative view issue with OBIEE 11g


Currently I was looking into Narrative view syntax for OBIEE 11g and it seems the older HTML tag based syntax is obsolete and not work properly as expected .Therefore ,  below syntax is not functional anymore with OBIEE 11g however it works perfectly fine with OBIEE 10.1.3.4.0 release :

<table width=”100%” cellpadding=”3″>
<tr>
<td width=”60%” align=”left” valign=”top”><b><font size=”2″>Prescription Sales</font></b></td>
<td width=”40%”align=”left” valign=”top”><b><font size=”2″ color=”green”><u>@2</u></font></b></td>
</tr>
</table> 
 

However following syntax works fine:

[b]Hello World[/b] = [b]@2[/b]

In order to get the above HTML tag based example working fine we need to do two things:

1) Set HardenXSS to false in the instanceconfig.xml file and restart the service. Here is a snippet of a working instanceconfig.xml with this tag:

<Security>
<!–This Configuration setting is managed by Oracle Business Intelligence
Enterprise Manager–>
<ClientSessionExpireMinutes>210</ClientSessionExpireMinutes>
<!–HardenXSS is not managed by Enterprise manager–>
<HardenXSS>false</HardenXSS>
</Security>

2) Restart the Presentation server after making changes to instanceconfig.xml.

3) Check the “Contains HTML markup” checkbox in the Narative view.

OBIEE 11g couple of Bugs/Issues


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 .

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

OBIEE 11g Design Tips – The Best Practices


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. 

OBIEE11g Important Application/Services and directory paths


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