Friday, 26 July 2013

Error Opening RPD Online: [nQSError: 46036] Internal Assertion

I have been at customer site and faced following problem while using Admin tool to open RPD Online.  The Oracle Support has a following document published to deal with this issue. It is an attempt to share it to wider audience.


Using the Admin tool to open the RPD Online produces an error:

[nQSError: 46036] Internal Assertion: Condition m_pFile->Read(bytes, sizeof(data)) == sizeof(data), file server\objectmodel\Src\SORpArchivePersistStream.cpp, line 373.

Reason and Resolution

The common reason for 'Internal Assertion' message is a version mismatch.
In order to check any version mismatches, log into Analytics as an Admin user and go to the Administration page. Expand the header, if needed, and verify you are on
Then open the RPD in offline mode. Go to Help > About and verify the version is and Repository version is 326.

As an example: Let's say the Administration tool version was and RPD was 325. You will need to download the new version of the Administration Tool from the Analytics Home page. Upgrading the Admin tool to solved the issue.

Oracle Support Link

I hope this copy and pasted information useful. 

Tuesday, 16 July 2013

OBIEE 11g/Essbase - Architecture

This blog is an attempt to explain OBIEE/Essbase g Architecture is a simplified manner. This is an extension to what I have blogged previously on OBIEE 11g Architecture. The addition of Essbase components would make it a perfect BI offering
The blog on OBIEE 11g can be accessed by following link
Key Architecture Points
Extensive use of Fusion Middleware (FMW) technology stack
WebLogic used as Application Server
Enterprise Manager (EM) used for system management
Introduction of OPMN for BI System components
Centralized Configuration Management i.e. modify on central server, propagate to other servers
Horizontal and Vertical Scale out procedures
Security – Oracle Platform Security Services
Everything Scriptable / Programmatic control
Architecture Terminology
A BI Domain consists of Java components that are deployed into one or more Java EE (JEE) containers within a single Weblogic domain; system (non-JEE) components and processes; and required configuration files, metadata repositories, and infrastructure.
A WebLogic Domain is a set of web logic instances servicing one or more J2EE applications
A WebLogic Admin Server is a JEE container that runs in a dedicated Java virtual machine with java components which provides a management of both the WebLogic and BI Domain. A WebLogic Domain contains one Admin Server.
A WebLogic Managed Server (Similar in concept to an OracleAS ‘OC4J’ instance) is a JEE container that runs in a dedicated Java virtual machine that provides the run-time environment for the Java-based services and applications within the system. An Oracle BI domain contains one or more Managed Servers that are distributed across one or more host computers.
A Node Manager provides process management services for Administration Server and Managed Server Processes. In short it is a daemon process that provides remote server start, stop and restart capabilities in addition to monitoring.
OPMN (Oracle Process Manager and Notification Server) maintains the Oracle Business Intelligence system components processes.
Oracle BI System Components are deployed as a non-JEE components, such as server processes and services written in C++ and J2SE. These provide the core services that enable Oracle Business Intelligence. The system components include BI Server (provides query and data access), Presentation Server (provides the framework and interface for the presentation of business intelligence data to Web clients), Scheduler (provides scheduling for analyses delivery), Cluster Controller (distributes requests to BI Server, ensuring requests for load balancing) and BI Java host (provides component services for presentation server to support java tasks for scheduler, publisher and graph generation).
Essbase System Components are deployed as a non-JEE components such as server process and services. The Essbase system components include Essbase Studio Server, Essbase Agent and Essbase Apps.
 Oracle BI J2EE Components are java components which are deployed as JEE applications to service SOAP, HTTP and other forms of requests. The major J2EE components includes BI Publisher (Enterprise Reporting Solution), BI Office (Integration with Microsoft Products), Action Framework Service (Dedicated Web Services), BI SAW Bridge Plug-in (Application that routes HTTP and SOAP requests), Security Services (Enable Integration of BI Server with Oracle FMW security Platform) and Web Services for SOA (Dedicated Web Services for SOA).
Oracle Essbase J2EE Components are java components which are deployed as JEE application to service SOAP, HTTP and other forms of requests. The major newly added Essbase J2EE components includes EAS, Financial Reporting, Hyperion Services Provider, workspace and calc Manager.
The additional J2EE components are Administrative Components (Enterprise Management application and JMX – MBeans for managing all configuration and run-time settings for Oracle Business Intelligence) and Oracle Real Time Decisions (Oracle RTD) – Enterprise Analytics Software for decision support system.
Fusion Middleware Technologies
The OBIEE 11g Architecture leverage on FMW technologies, some of the highlights are as follows
Web Logic Server (WLS) – Application Server, Required on every OBIEE machine, supports scripting with WLST
OPMN (Oracle Process Management Network) – Used for distributed process start/stop/restart, Process recovery (optional) and Process ‘Ping’ , Managed via Enterprise Manager ( EM) , can be used for performance collection( DMS), required on every OBIEE machine
DMS (Dynamic Monitoring System) – Standard FMW performance data collection format, allows collection of current and historical data, additional to perfmon, can be persisted to database, implemented by component teams (no control of content)
ODL (Oracle Diagnostic Logging) – Defines standard FMW Logging content and format, defines mechanism for analyzing diagnostics across s/w components and systems, support for ECID ( transaction ID) and implemented by component teams ( no control of content)
JPS (Java Platform Security) – offers an integrated suite security services to components in the Oracle stack – Authentication Service, Authorization Service, Policy Management Service ( Policy Store), User and Role Management Service ( Identity Store) , Credential Storage Service (CSF) and Auditing Service
CSF (Credential Store Framework) – provides secure handling of credentials used in BI system – looking at SSL certificates
OBIEE/Essbase Architecture
The architecture for Oracle Business Intelligence depends on whether the product is installed with the Simple Install type or the Enterprise Install type. With the Enterprise Install type, all architectural components are installed. With the Simple Install type, all architectural components are installed except Node Manager and the Managed Server
Single Host Architecture –Enterprise Install
Single host enterprise architecture has one JEE container for Web Logic Admin Server that runs in a dedicated Java virtual machine for management of Web Logic and BI domain and other JEE container that runs in dedicated Java virtual machine to provide the run-time environment for the java-based services and application within the system.

Single Host Architecture –Simple Install
A single install and simple install is similar to that of the Enterprise Single Host installation apart from following differences
  • The Node Manager is not installed.
  • All components that are part of the Managed Server in an Enterprise Install type are instead part of the Administration Server. The Managed Server is not installed.

Enterprise BI Architecture on Multiple Hosts
The Java components (WebLogic server domain) and the system components (BI instance) are clustered on each host as part of the single BI domain. The Administration Server exists on both hosts, but is only active on one host.

Regenerating User GUIDs for OBIEE 11g

Regenerating User GUIDs
I would suggest including regeneration user GUID process as one of the important migration job for OBIEE content migration process from test to production.
User Name Vs GUID
In Oracle Business Intelligence 11g users are recognized by their global unique identifiers (GUIDs), not by their names. GUIDs are identifiers that are unique for a given user. Using GUIDs to identify users provides a higher level of security because it ensures that data and metadata is uniquely secured for a specific user, independent of the user name.
GUID Regeneration Process
GUID regeneration is the process of regenerating any metadata references to user GUIDs in the Oracle BI repository and Oracle BI Presentation Catalog. During the GUID regeneration process, each user name is looked up in the identity store. Then, all metadata references to the GUID associated with that user name are replaced with the GUID in the identity store.
GUID regeneration might be required when Oracle Business Intelligence is reassociated with an identity store that has different GUIDs for the same users. This situation might occur when re-associating Oracle Business Intelligence with a different type of identity store, or when moving from test to production if a different identity store is used in production, and should be a rare event.
Risks and Mitigations
Note that if Oracle best practices are not observed and Oracle Business Intelligence repository data is migrated between systems that have different GUIDs for the same users, GUID regeneration is required for the system to function.
This is not a recommended practice, because it raises the risk that data and metadata secured to one user (for example, John Smith, who left the company two weeks ago) becomes accessible to another user (for example, John Smith, who joined last week).
Using Application Roles wherever possible and using GUIDs consistently across the full development production lifecycle prevents this problem from occurring.
Re-generate GUID’s
This task requires that you manually edit the configuration files to instruct Oracle BI Server and Oracle BI Presentation Server to regenerate the GUIDs on restart. Once completed, you edit these files to remove the modification.
1.    Update the FMW_UPDATE_ROLE_AND_USER_REF_GUIDS parameter in NQSConfig.INI:
  • Open NQSConfig.INI for editing at: ORACLE_INSTANCE/config/OracleBIServerComponent/coreapplication_obisn
  • Locate the FMW_UPDATE_ROLE_AND_USER_REF_GUIDS parameter and set it to YES, as follows:
·         Save and close the file.
2.    Update the Catalog element in instanceconfig.xml:
·         Open instanceconfig.xml for editing at: ORACLE_INSTANCE/config/OracleBIPresentationServicesComponent/coreapplication_obipsn
·         Locate the Catalog element and update it as follows:
·         Save and close the file
3.    Restart the Oracle Business Intelligence system components using opmnctl:
cd ORACLE_HOME/admin/instancen/bin
Stop All - ./opmnctl stopall
Start All ./opmnctl startall
4.    Set the FMW_UPDATE_ROLE_AND_USER_REF_GUIDS parameter in NQSConfig.INI back to NO. - Important: You must perform this step to ensure that your system is secure.
Update the Catalog element in instanceconfig.xml to remove the UpdateAccount GUIDs entry.
Restart the Oracle Business Intelligence system components again using opmnctl:
cd ORACLE_HOME/admin/instancen/bin
./opmnctl stopall
./opmnctl startall

Oracle Exalytics Architecture

What is unique about Exalytics? Why Exalytics can offer performance improvements which other machine can’t? Architecture? Software? Or Hardware?  There are many questions regarding Exalytics which require simple explanations.  
In my view the performance improvements to Exalytics are attributed to
  • Massive hardware resources and memory for processes
  • Huge in-memory result cache
  • In-memory query processing
  • In-memory columnar compression
  • Aggregations
In short there are various aspects of Exalytics which are contributing to overall result. This blog is an attempt to explain Oracle Exalytics Architecture is a simplified manner to start with, I am planning to cover the details in future blogs.
Exalytics Architecture
The architecture for the Exalytics Machine is shown below. The Exalytics Machine includes software for the Oracle TimesTen In-Memory Database, Oracle Business Intelligence, and the Administration Server and Managed Server for Oracle Web Logic Server. The Exalytics Machine is connected to a client computer on which the Oracle BI Administration Tool runs, including the Summary Advisor wizard. Another computer holds the database on which schemas that are created with the Repository Creation Utility reside, including usage tracking summary statistics.

 The following software features are licensed with Oracle Exalytics In-Memory Analytics.

Summary Advisor
Oracle Business Intelligence Administrator
Summary Advisor monitors Business Intelligence usage patterns, analyzes them and recommends the optimal data mart for best overall performance improvement.
Aggregate Persistence (CREATE AGGREGATES, and DELETE AGGREGATES commands) when run against the TimesTen In-Memory Database for Exalytics
Oracle Business Intelligence Server
The Aggregate Persistence feature enables automated creation of data marts by using Business Intelligence server commands.
Exalytics-specific optimizations enabled by "Oracle Hardware acceleration" flags
Oracle Business Intelligence Server
Optimizations to match system architecture resulting in higher query throughput, lower latencies in query processing. Enhanced memory usage for cache.
Enhanced Bursting
Oracle Business Intelligence Publisher
Enables piped document generation. Enabled by setting OPTIMIZE_BURST flag in xmlp-server-config.xml file
Exalytics-specific optimizations enabled by "Oracle Hardware acceleration" flags
Oracle Business Intelligence Presentation Server
Optimized default configuration to use large footprint memory to speed up page rendering and caching.
Exalytics-specific optimizations enabled by "Oracle Hardware acceleration" flags
Oracle Essbase
Memory usage optimizations for loading entire data into memory, concurrency improvements to match Exalytics architecture enabling efficient distribution of processing.

The latest release for Exalytics Hardware and Software details are as follows.
X3-4 - Exalytics Hardware
Memory - 2 TB RAM, 1033 MHz
Compute - 4 Intel® Xeon® E7-4870, 40 cores total
Networking - 40 Gbps InfiniBand – 2 ports/10 Gbps Ethernet – 2 ports /1 Gbps Ethernet – 4 ports
Storage - 5.4 TB HDD Capacity

X3-4 - Exalytics Software & Features
  • Base Image –
    •  Flash support
  • OBI Foundation Suite for Exalytics (
    • Visualizations, Mobile
    •  Measure Subsets – smaller aggregates.
    •  Model Checker enhancements
    •  BI Publisher – Bursting optimizations
  •  TimesTen (
    •  Star Join Optimizations
    •  Native data loader from Oracle
    •  Faster compressed loads
    •  Hash indexes on non-primary key
  •  EPM certification
  •  Endeca 3.0 Certification
  •  Manageability
    • EM Target for Exalytics
Welcome to world of Exalytics…