You are on page 1of 35

BI Applications Performance Tuning & Security

Chandu Vellala & Ahsan Shah


Indianapolis Oracle Users Group April 28, 2011
Copyright 2009 Rolta International, Inc., All Rights Reserved

Chandu Vellala
BI Applications Practice Lead
Cell: (312) 399-5792 Email: vellalac@tusc.com

Ahsan Shan
Senior OBIEE/ETL Lead Cell: (262) 893-1301 Email: shaha@tusc.com

BI Applications Tuning - Agenda

Architecture & Challenges Tuning Methodology (Holistic Approach) Pre-Tuning Checklist Oracles Delivered tuning strategy? Preventing performance issues Tuning Diagnostic tools Tuning Examples (Decision Flowcharts) Advanced Tuning Considerations Q&A

BI Applications Architecture
OLTP TIER ETL TIER OBIEE TIER

Dashboards & Reports INFA Repository DAC Repository

jdbc pmcmd
BI Server ETL Server
ERP App/Web Servers

Scheduler BI Publisher

DAC Server
BI APPS DW

Presentation Server

pmcmd jdbc

RPD
jdbc

WEBCAT

OLTP Source System

ETL Client Tools

DAC Client

OBIEE Admin Tool

Answers/Webcat

Ahsan Shah

BI Applications Tuning Areas

Network Tuning

OS Tuning

DB Tuning

ETL Tuning

OBIEE Tuning

DAC

BI Apps Tuning Challenges

What & Where do you need to tune?


o Multiple Tiers = Multiple Potential Bottlenecks o DB, ETL/DAC, OBIEE, Network, OS o Multiple Technologies require Multiple Skill-sets o Informatica, DAC, OBIEE, DB Who will tune? o Identifying Proper Resources to Tune o DBA, ETL Developer, OBIEE Admin, OS Server Admin, When should you tune? o Establishing Performance Benchmarks o Setting Business Expectations & Priorities

Holistic Approach to Tuning

Systematic End to End Approach Methodology to accurately find the bottlenecks vs.
throwing resources at the issue

What NOT to do is as important as what to DO Enables effective coordination of team that


maintains the BI Applications environments

Enables proper communication between IT and


Business to set Benchmarks. Common definition of Running Slow

BI Apps Delivered Tuning Parallel processing via DAC algorithms Aggregate/Snapshot Fact Tables Preconfigured Indexes (Query/Bitmap, ETL) Kimball Dimensional Modeling Approach Index Management via DAC Bulk load option during full loads Heavy lifting pushed to ETL tier

Pre-Tuning Checklist
Installation/Configuration is done as per Oracle Docs
o o o o Server/Hardware Sizing (RAM, 32/63 bit) DW DB configuration (init.ora) Storage Considerations Clustering/Load Balancing

Relevance of data being extracted


o DAC Parameters control history being extracted ($$INITIAL_EXTRACT_DATE) o PRUNE DAYS (# of days to check for incremental changes)

Ability to recreate the issue


o Are business users using acceptable OBIEE filters?

Setting baselines and benchmarks Are ETL loads run at proper timeframes
o Avoid running ETLs during other heavy processes or network activity

Is the issue a ETL or Query Issue? Cursory check on OBIEE report/dashboard design

Proactive Tuning
Proper indexing for all custom tables in DAC
o Bitmap indexes (Query) o ETL indexes

Proper Informatica session level parameter values


o Follow same format as vanilla (DTM Buffer size, Commit Interval..etc)

Proper balance of OBIEE vs ETL design


o OBIEE is NOT intended for heavy aggregation o ETL tier should handle most aggregation

Test Performance before deploying to PROD Proper OBIEE design for Dashboards/Reports
o Appropriate filters, # of reports per dashboard

End User training on using proper filters & columns Enable OBIEE caching for frequently run requests

Diagnostic Tools
DAC
o DAC Run History, Task Detail o DAC Server Logs

INFORMATICA
o Client Tools (Monitor) o Session & Server Logs

OBIEE
o Usage Tracking (performance diagnostics) o OBIEE Server Logs
o BI Presentation Server log (sawlog0.log) o BI Server logs (NQQuery.log)

DATABASE
o OEM o SQL Trace

NETWORK OS

PROBLEM: Report X on Dashboard Y is running very Slow.

PRE-TUNING CHECK: Proper Installation, DB Settings

IS PERFORMANCE BAD ACROSS ALL ENVIRONMENTS?

IS PERFORMANCE BAD AT ALL TIMES OR SPECIFIC TIMES

IS PERFORMANCE BAD FOR ALL USERS OR SPECIFIC USERS

POSSIBLE CAUSE: DAC Indexes not in Sync across environments Diagnostic Tool: DAC, OBIEE Server Log

POSSIBLE CAUSE: Network Activity Diagnostic Tool: OBIEE Usage Tracking, Network Monitoring Tool

POSSIBLE CAUSE: Row level Security causing performance degradation for certain users Diagnostic Tool: OBIEE Server Logs

YES
Does Physical Query generated from BI Server run in a shorter time when run directly against DB?

POSSIBLE CAUSE: OBIEE Presentation Server Bottleneck Diagnostic Tool: OBIEE Server Logs

OBIEE TUNING STEPS

POSSIBLE CAUSE: DB Bottleneck

NO

Diagnostic Tool: SQL Trace, Explain Plan

DB TUNING STEPS

DAC Run History

DAC Task Detail

Informatica Session Log

BUSY %

OBIEE Session Log

OBIEE Usage Tracking


Tracks Longest Running Queries Average Stats by User, Subject Area

Advanced Tuning Considerations


ETL
o Load Balance Informatica Servers o DB Hints o NOARCHIVELOG mode for Initial Load o Push large lookups to SQ transformation o Disable cache for large lookups o Distribute across multiple storage devices (RAID) o Edit Informatica Session Parameters o Drop/Recreate table for very large updates via bulk option

QUERY
o Partitioning (recommended for tables >20 mil records) o Materialized Views o Caching (seeding cache) o OBIEE Clustering o adjust DB parameter based on bottlenecks

OBI Applications Security - Agenda

Levels of Security User Authentication User Authorization Non-SSO, SSO, and Integrated scenarios Implementing Data Access Security Implementing Object Level Security Web Catalog Security Best Practices Q&A

Levels of Security
User Authentication The process used to verify the identity of a User who tries to access the system User Authorization The process that determines what objects a User has access to in BI, and verifies if the User has been granted sufficient privileges to perform the requested action on the specified object

User Authentication
Basic Internal OBIEE Authentication
User/Pwds stored inside the OBI Repository

External Database Login Authentication Non-SSO Authentication using LDAP or External Table Small User community SSO Authentication Using LDAP or External Table Typically from Company Portal Integrated SSO between Transaction and BI Apps using LDAP or External Table

User Authorization
Implemented using Security Groups defined in the OBI Administration Tool The Roles or Responsibilities of the user from the source system is mapped by name to the security group that is defined in the OBIEE Administration Tool Also defined as Presentation Services Groups in the Web Catalog where Permissions and Privileges are setup

Non-SSO Authentication using LDAP

SSO Authentication using LDAP

Integrated Environments using SSO (Authentication)

Implementing Authorization (Data Access Security)


Defined in the Oracle BI Administration Tool Is implemented by creating filters against dimension that the users are authorized to access. For e.g.
Set ID filter Business Unit filter Department ID filter

Typically defined for a security group

Integrated Apps Authorization

Example GROUP=Financial Analyst; AR Manager; AP Manager

Data Access Security (Admin Tool)

Implementing Authorization (Object Level Security)


Defined in 2 locations
OBI Administration Tool OBI Presentation Catalog

Defines objects that users are authorized to access:


Subject Areas/ Presentation Tables / Columns Dashboards/Reports/ Catalog Folders Permissions and Privileges for objects and access to functions in BI Presentation Services

Object Security - Repository (OBIEE Administration Tool)

Object Security - Web Catalog (Presentation Services Administration)

Object Security - Web Catalog (Presentation Services Administration)

Web Catalog Security - Best practices


Assign permissions through Presentation Services group membership, even if you want to assign permissions for a single user Set the permission to the Group folder for the appropriate groups to Read For groups that are going to be modifying the dashboards and dashboard content accessible to the group, set the permissions for the group to Full Control For each Subject Area, grant Read permissions to the corresponding Subject Area folder within the Requests folder For groups that should be able to save requests for public use against a given Subject Area, grant them Full Control to the Subject Area folder and everything it contains, and likewise for the Common folder To make sure that only members of the designated Presentation Services groups have access to Presentation Catalog folders, folder content, and Dashboards