
Comprehensive notes covering architecture, repository development, dashboards, security, performance tuning, and deployment for Oracle Business Intelligence Enterprise Edition 11g.
Oracle Business Intelligence Enterprise Edition (OBIEE) 11g is a comprehensive business intelligence platform that provides a unified environment for reporting, analysis, dashboards, and ad-hoc querying. Its architecture is composed of several key components that work together to deliver scalable and secure BI solutions.
Key Components:
BI Server is the query engine. It receives requests from the Presentation Server, parses logical SQL, consults the repository for business rules, and generates optimized physical SQL for each data source. It also handles caching, aggregation, and multi-source queries.
Presentation Server is the user-facing component. It hosts dashboards, analyses, and the Answers and Dashboards interfaces. It handles user authentication, session management, and rendering of visualizations.
Scheduler manages background tasks. You can schedule reports to be delivered via email, update caches, and run agents that trigger alerts based on business conditions.
The Administration Tool is the primary development environment for OBIEE. It is a Windows-based application used to create and maintain the repository (.rpd) file. The repository is the metadata layer that maps physical data sources to logical business models.
Key features of the Administration Tool:
Before you can build a repository, you need to set up your development environment:
-- Example: Setting up an ODBC connection for Oracle Database -- 1. Open ODBC Data Source Administrator. -- 2. Add a System DSN for Oracle. -- 3. Specify the TNS Service Name, Server, Port, and Service Name. -- 4. Test the connection.
Steps to create a new repository:
-- Importing metadata from Oracle: -- 1. In the Administration Tool, select File → Import Metadata. -- 2. Select the ODBC DSN for your Oracle database. -- 3. Enter username and password. -- 4. Select tables, views, or schemas to import. -- 5. Choose "Import" to bring the metadata into the Physical Layer.
In the Physical Layer, tables represent database objects. You can create aliases to represent the same physical table multiple times for different purposes (e.g., self-joins). Foreign key relationships define how tables are joined. You can create complex joins (inner, outer, full) based on the relationships in your database.
After making changes to the repository, it's essential to validate it to ensure integrity and correctness. Use the Consistency Checker (Tools → Consistency Checker) to identify issues such as broken joins, missing keys, or invalid column references.
OBIEE's repository has three distinct layers, each serving a specific purpose:
This separation allows you to abstract the physical complexity from the business users, providing a simplified, business-friendly view of the data.
The Physical Layer contains Connection Pools that define how the BI Server connects to data sources. Each connection pool includes connection details, credentials, and connection pooling parameters. You can create multiple connection pools for different databases.
Native database joins are defined directly in the Physical Layer. These joins are used when the BI Server generates SQL queries. You can define inner, left outer, right outer, and full outer joins.
The BMM Layer is where you create Logical Tables and Logical Joins. Logical tables map to one or more physical tables. You can combine multiple physical tables into a single logical table using logical table sources (LTS).
In the BMM Layer, you also define:
-- Example: Creating a Logical Table Source (LTS) -- 1. In BMM Layer, create a new Logical Table (e.g., "Sales"). -- 2. Add a Logical Table Source that maps to a Physical Table. -- 3. Define the mapping: which physical columns map to which logical columns. -- 4. Add multiple LTSs for different granularities (e.g., daily, monthly).
Logical Joins define how logical tables are related. You can define joins between fact tables and dimension tables. Dimensional Hierarchies define the levels within a dimension (e.g., Country → Region → City). Aggregation Rules specify how measures should be aggregated when data is rolled up.
The Presentation Layer defines Subject Areas, which are the top-level folders that end-users see in Answers and Dashboards. Each Subject Area contains logical tables and columns. You can hide columns that are not relevant to business users, rename columns to business-friendly names, and organize columns into logical folders.
In the Presentation Layer, you can:
When you have changes in your database schema (new tables, columns), you can merge them into your repository. The Administration Tool's import feature allows you to add new objects and update existing ones.
OBIEE supports Star Schemas (fact tables surrounded by dimension tables) and Snowflake Schemas (normalized dimension tables). You can model complex relationships, including many-to-many joins, by creating appropriate logical table sources and join definitions.
Measures are quantitative columns used in analyses. You define measures in the BMM Layer, specifying the aggregation rule (e.g., SUM, COUNT, AVG, MIN, MAX). Calculated Columns are derived using expressions.
-- Example: Creating a calculated column in BMM -- Logical Column: Profit Margin -- Expression: Revenue - Cost / Revenue -- Aggregation: SUM (for fact tables) -- Use the Expression Editor to define the formula.
OBIEE provides built-in time series functions for comparisons over time:
Level-based measures are aggregated at specific dimensional levels. OBIEE provides context-aware calculations using the RSUM (Rolling SUM) and other functions.
Parent-Child Hierarchies are defined by self-referencing tables (e.g., employee to manager). Level-Based Hierarchies have fixed levels (e.g., Country → Region → City).
Initialization Blocks are SQL queries that run when the BI Server starts or when a user logs in. They populate variables dynamically, enabling features like row-level security and user-specific settings.
OBIEE supports multiple languages by storing translations in the repository. Multi-currency support can be implemented using currency conversion tables and variables.
In OBIEE Answers, you create Analyses by dragging columns from Subject Areas into the Criteria tab. You can add Filters to restrict data, and Prompts to allow users to interact with the analysis.
OBIEE supports various view types:
Dashboards are collections of analyses, prompts, and other content. Dashboard Prompts enable users to filter data across multiple analyses. Guided Navigation directs users through a sequence of steps.
You can use Dashboard Variables to create dynamic content. For example, a dashboard can show different data based on the user's department.
Drill-downs allow users to click on a data point and navigate to a more detailed analysis. This can be configured in the analysis properties.
OBIEE allows you to embed custom JavaScript and CSS to enhance the user experience. Use the "Static Text" view to add custom code.
OBIEE security is integrated with WebLogic Server, enabling authentication via LDAP, Active Directory, or database authentication. Authorization is managed through Application Roles and Privileges.
You can manage users and groups in the WebLogic Console or Oracle Enterprise Manager. Application Roles define what users can do (e.g., "BIAdministrator", "BIAuthor", "BIConsumer").
Row-level security restricts which rows a user can see. Column-level security restricts access to specific columns. This is implemented using Data Filters and Session Variables.
-- Example: Row-level security using a session variable -- 1. Create a session variable: USER_DEPT -- 2. Set the variable using an initialization block. -- 3. Add a data filter in the repository: "Department = USER_DEPT"
OBIEE maintains a Query Cache to store query results. This improves performance for repeated queries. You can manage the cache by purging, seeding, or scheduling updates.
Usage Tracking logs all queries executed in OBIEE. You can analyze these logs to identify slow-running queries, frequent queries, and performance bottlenecks.
Aggregate Persistence allows OBIEE to create and maintain materialized views in the database. This offloads aggregation from the BI Server and accelerates reporting.
Migration involves moving the Repository (.rpd), Web Catalog (dashboards, analyses), and Security Configuration from development to production. Use the Migration Utility or manual copy.
A BAR file (BI Application Archive) packages the repository and web catalog for deployment. The Migration Utility (part of the OBIEE Administration Tools) is used to create and deploy BAR files.
-- Creating a BAR file: -- 1. Open the Administration Tool. -- 2. Select File → Migration → Create BAR Archive. -- 3. Choose the repository and web catalog to include. -- 4. Generate the BAR file. -- Deploying a BAR file: -- 1. Open the Administration Tool. -- 2. Select File → Migration → Deploy BAR Archive.
Oracle BI Publisher can be integrated with OBIEE to create pixel-perfect, template-based reports. You can schedule BI Publisher reports and embed them in OBIEE dashboards.
OBIEE provides Web Services (SOAP) and REST APIs for programmatic access. You can integrate OBIEE reports with external applications, enabling them to call analyses and retrieve results.
You can embed OBIEE dashboards in external applications using iFrames or Single Sign-On (SSO) integration. This allows seamless access to OBIEE content from other portals.
iBots (Intelligent Business Objects) are scheduled agents that deliver reports, update caches, or trigger alerts. You can schedule iBots to run daily, weekly, or on-demand.
Project Objective: Design and deploy a complete enterprise BI solution from scratch for a real-world business domain.
Deliverables:
📚 References: