Oracle BI Suite EE 10g R3: Build Repositories

Volume 2 - Student Guide

D53149GC11 Edition 1.1 March 2008 D54269

®

Oracle Internal & Oracle Academy Use Only

Author
Jim Sarokin

Copyright © 2008, Oracle. All rights reserved. Disclaimer This document contains proprietary information and is protected by copyright and other intellectual property laws. You may copy and print this document solely for your own use in an Oracle training course. The document may not be modified or altered in any way. Except where your use constitutes "fair use" under copyright law, you may not use, share, download, upload, copy, print, display, perform, reproduce, publish, license, post, transmit, or distribute this document in whole or in part without the express authorization of Oracle. The information contained in this document is subject to change without notice. If you find any problems in the document, please report them in writing to: Oracle University, 500 Oracle Parkway, Redwood Shores, California 94065 USA. This document is not warranted to be error-free. Restricted Rights Notice

Technical Contributors and Reviewers
Matt Bedin Dan Hilldale Gerry Langton Sharonda Pettiett Phillip Scott Kasturi Shekhar Krishnan Viswanathan Kurt Wolff

Editors
Amitha Narayan Richard Wallis Raj Kumar

U.S. GOVERNMENT RIGHTS The U.S. Government’s rights to use, modify, reproduce, release, perform, display, or disclose these training materials are restricted by the terms of the applicable Oracle license agreement and/or the applicable U.S. Government contract. Trademark Notice Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.

Graphic Designer
Samir Mozumdar

Publishers
Michael Sebastian Almeida Veena Narasimhan

Oracle Internal & Oracle Academy Use Only

If this documentation is delivered to the United States Government or anyone using the documentation on behalf of the United States Government, the following notice is applicable:

Contents

I

1

Repository Basics Objectives 1-2 Oracle BI Architecture Components 1-3 Clients 1-4 Oracle BI Presentation Services 1-5 Oracle BI Server 1-6 Oracle BI Repository 1-7 Data Sources 1-8 Sample Request Processing 1-9 Oracle BI Administration Tool 1-10 Physical Layer 1-11 Physical Layer Objects 1-12 Business Model and Mapping Layer 1-13 Business Model and Mapping Layer Objects 1-14 Business Model Mappings 1-15 Measures 1-16 Presentation Layer 1-17 Presentation Layer Mappings 1-18 Presentation Layer Defines User Interface 1-19 Repository Directory 1-20 Repository Modes 1-21 Adding an Entry in NQSConfig.ini 1-22

iii

Oracle Internal & Oracle Academy Use Only

Course Introduction Lesson Agenda I-2 Instructor and Class Participants I-3 Training Site Information I-4 Course Audience I-5 Course Prerequisites I-6 Course Goal I-7 Course Objectives I-8 Course Methodology I-12 Course Materials I-13 Course Agenda I-14 Summary I-19

Reloading Server Metadata 1-23 Summary 1-24 Practice 1-1 Overview: Exploring an Oracle BI Repository 1-25 2 Building the Physical Layer of a Repository Objectives 2-2 Physical Layer 2-3 Physical Layer Objects 2-4 Database Object 2-5 Database Object: General Properties 2-6 Database Object: Features 2-7 Connection Pool 2-9 Schema Folder 2-10 Physical Table 2-11 Physical Table Properties 2-12 Physical Table: Alias 2-13 Physical Table: Select Table Type 2-14 Physical Table: View Deployment 2-15 Physical Column 2-16 Key Column 2-17 Joins 2-18 ABC Scenario 2-19 Implementation Steps 2-20 1. Import the Physical Schema 2-21 2. Select Tables and Columns for Import 2-22 3. Import Keys and Joins 2-23 4. Check the Import 2-24 5. Edit Connection Pool Properties 2-25 6. Define Physical Keys and Joins 2-26 Defining Keys Using the Table Properties Dialog Box 2-27 Using the Physical Diagram 2-28 Defining Foreign Key Joins 2-29 Summary 2-30 Practice 2-1 Overview: ABC Business Scenario 2-31 Practice 2-2 Overview: Gathering Information to Build an Initial Business Model 2-32 Practice 2-3 Overview: Creating a Repository and Importing a Data Source 2-33 Practice 2-4 Overview: Defining Keys and Joins 2-34 Practice 2-5 Overview: Creating Alias and Select Tables 2-35

iv

Oracle Internal & Oracle Academy Use Only

3

4

Building the Presentation Layer of a Repository Objectives 4-2 Presentation Layer 4-3 Presentation Catalogs 4-4 Presentation Tables 4-5 Presentation Columns 4-6 Presentation Layer Mappings 4-7 Defining User Interface in the Presentation Layer 4-8 Nested Presentation Tables 4-9 Aliases 4-10 ABC Example 4-11 Implementation Steps 4-12 1. Create a New Presentation Catalog 4-13 2. Rename Tables 4-14
v

Oracle Internal & Oracle Academy Use Only

Building the Business Model and Mapping Layer of a Repository Objectives 3-2 Business Model and Mapping (BMM) Layer 3-3 Business Model and Mapping Layer Objects 3-4 Business Model Mappings 3-5 Business Model and Mapping Layer Objects 3-6 Business Model 3-7 Logical Tables 3-8 Logical Table Sources 3-9 Logical Table Source: Column Mappings 3-10 Logical Columns 3-11 Logical Primary Keys 3-12 Logical Joins 3-13 Logical Complex Join 3-14 Measures 3-15 ABC Example 3-16 Implementation Steps 3-17 1. Create the Logical Business Model 3-18 2. Create the Logical Tables and Columns 3-19 3. Define the Logical Joins 3-20 4. Modify the Logical Tables and Columns 3-21 5. Define the Measures 3-22 Best Practices 3-23 Summary 3-24 Practice 3-1 Overview: Creating the Business Model 3-25 Practice 3-2 Overview: Creating Simple Measures 3-26

3. Reorder Tables 4-15 4. Delete Columns 4-16 5. Rename Columns 4-17 6. Reorder Columns 4-18 Considerations 4-19 Best Practices 4-20 Summary 4-21 Practice 4-1 Overview: Creating the Presentation Layer 4-22 5 Testing and Validating a Repository Objectives 5-2 Validating a Repository 5-3 ABC Example 5-4 Consistency Check 5-5 Checking Consistency 5-6 Consistency Check Manager 5-7 Disabling Consistency Check Messages 5-8 Enabling Logging 5-9 Setting a Logging Level 5-10 Logging Levels 5-11 Adding a Repository Entry to an Initialization File 5-12 Loading the Repository 5-13 Validating by Using Oracle BI Answers 5-14 Inspecting the Query Log 5-15 Oracle BI SELECT Statement Syntax 5-16 Oracle BI SELECT Statement Compared with Standard SQL 5-17 Summary 5-18 Practice 5-1 Overview: Testing the Repository 5-19 Practice 5-2 Overview: Checking Consistency 5-20 6 Adding Multiple Logical Table Sources Objectives 6-2 Table Structures 6-3 Business Challenge 6-4 Business Solution 6-5 ABC Example: Adding Multiple Sources to a Logical Table Source (LTS) 6-6 Implementation Steps: Adding Multiple Sources to an LTS 6-7 1. Import Additional Product Tables 6-8 2. Define Keys and Joins 6-9 3. Identify Physical Columns for Mappings 6-10 4. Adding Sources to an LTS 6-11
vi

Oracle Internal & Oracle Academy Use Only

Define the Content of the Logical Table Source 6-27 Summary 6-28 Practice 6-1 Overview: Enhancing the Product Dimension 6-29 Practice 6-2 Overview: Creating Multiple Sources for a Logical Table Source (Manual) 6-30 Practice 6-3 Overview: Creating Multiple Sources for a Logical Table Source (Automated) 6-31 Practice 6-4 Overview: Adding a New Logical Table Source 6-32 . Manual: End Result 6-15 4b. Specify an Aggregation Rule 7-15 Steps for Using the Calculation Wizard 7-16 1. Manual: Create New Logical Column 6-12 4a. Build a Formula 7-10 Steps for Using Physical Columns 7-11 1. Drag Method 6-16 4b. Manual: Create Column Mapping 6-14 4a. Drag Method: Physical Tables Added 6-18 4b. Drag Method: Logical Columns Added 6-17 4b. Create a New Logical Column 7-12 2. Drag Method: Column Mappings Added 6-19 5. Add Columns to the Presentation Layer 6-21 ABC Example: Adding a New Logical Table Source 6-22 Implementation Steps: Adding a New Logical Table Source 6-23 1.7 Adding Calculations to a Fact Objectives 7-2 Business Problem 7-3 Business Solution 7-4 ABC Example 7-5 Implementation Methods 7-6 Steps for Using Existing Logical Columns 7-7 1. Examine Existing Column Mappings 6-24 2. Build the Formula 7-14 4. Map the New Column 7-13 3. Open the Calculation Wizard 7-17 vii Oracle Internal & Oracle Academy Use Only 4a. Manual: Add New Physical Source 6-13 4a. Identify a Single Table That Stores Both Columns 6-25 3. Specify Logical Columns as the Source 7-9 3. Rename Logical Columns 6-20 6. Create a New Logical Column 7-8 2. Add a New Logical Table Source 6-26 4.

8

Creating Dimension Hierarchies and Level-Based Measures Objectives 8-2 Dimension Hierarchies 8-3 Level-Based Measures 8-4 Share Measures 8-5 Dimension Hierarchy: Example 8-6 ABC Example 8-7 Steps to Create a Dimension Hierarchy 8-8 1. Create a Dimension Object 8-9 2. Add a Parent-Level Object 8-10 3. Add Child-Level Objects 8-11 4. Determine the Number of Elements 8-12 5. Specify Level Columns 8-13 6. Create Level Keys 8-14 7. Set the Preferred Drill Path 8-15 8. Create Level-Based Measures 8-16 9. Create Additional Level-Based Measures 8-17 10. Create Share Measures 8-18 11. Create Rank Measures 8-19 12. Add Measures to the Presentation Layer 8-20 13. Test Share and Rank Measures 8-21 Summary 8-22 Practice 8-1 Overview: Creating Dimension Hierarchies 8-23
viii

Oracle Internal & Oracle Academy Use Only

2. Choose the Columns for Comparison 7-18 3. Select the Calculations 7-19 4. Confirm the Calculation Measures 7-20 5. New Calculation Measures Are Added 7-21 Add New Measures to the Presentation Layer 7-22 Examining a Query Using Physical Columns 7-23 Example: Using Physical Columns 7-24 Examining a Query Using Logical Columns 7-25 Example: Using Logical Columns 7-26 Examining a Query Using the Calculation Wizard 7-27 Summary 7-28 Practice 7-1 Overview: Creating Calculation Measures by Using Logical Columns 7-29 Practice 7-2 Overview: Creating Calculation Measures by Using Physical Columns 7-30 Practice 7-3 Overview: Creating Calculation Measures by Using the Calculation Wizard 7-31

Practice 8-2 Overview: Creating Level-Based Measures 8-24 Practice 8-3 Overview: Creating Share and Rank Measures 8-25 Practice 8-4 Overview: Creating Dimension-Specific Aggregation Rules 8-26 9 Using Aggregates Objectives 9-2 Business Challenge 9-3 Business Solution: Aggregate Tables 9-4 Oracle BI Aggregate Navigation 9-5 Aggregated Facts 9-6 Modeling Aggregates 9-7 ABC Example 9-8 Steps to Implement Aggregate Navigation 9-9 1. Import Tables 9-10 2. Create Joins 9-11 3. Create Fact Logical Table Source and Mappings 9-12 4. Specify Fact Aggregation Content 9-13 5. Specify Content for the Fact Detail Source 9-14 6. Create Dimension Logical Table Source and Mappings 9-15 7. Specify Dimension Aggregation Content 9-16 8. Specify Content for the Dimension Detail Source 9-17 9. Test Results for Levels Stored in Aggregates 9-18 10. Test Results for Data Above or Below Levels 9-19 Aggregate Persistence Wizard 9-20 Aggregate Persistence Wizard Steps 9-21 1. Open Aggregate Persistence Wizard 9-22 2. Specify File Name and Location 9-23 3. Select Business Model and Measures 9-24 4. Select Dimensions and Levels 9-25 5. Select Connection Pool, Container, and Name 9-26 6. Review Aggregate Definition 9-27 7. View Complete Aggregate Script 9-28 8. Verify that the Script Is Created 9-29 9. Create and Run a Batch File 9-30 10. Verify Aggregates in the Physical Layer 9-31 11. Verify Aggregates in the BMM Layer 9-32 12. Verify Aggregates in the Database 9-33 13. Verify Results in Answers 9-34 Troubleshooting Aggregate Navigation 9-35 Considerations 9-36 Summary 9-37
ix

Oracle Internal & Oracle Academy Use Only

Practice 9-1 Overview: Using Aggregate Tables 9-38 Practice 9-2 Overview: Using the Aggregate Persistence Wizard 9-39 10 Using Partitions and Fragments Objectives 10-2 Business Challenge 10-3 Business Solution: Oracle BI Server 10-4 Partition 10-5 Partitioning by Fact 10-6 Partitioning by Value 10-7 Partitioning by Level 10-8 Complex Partitioning 10-9 ABC Example: Value-Based (Customer) 10-10 ABC Example: Fact-Based (Quota) 10-11 ABC Example: Value-Based (Inventory) 10-12 Implementation Steps 10-13 Specify Fragmentation Content 10-14 Summary 10-15 Practice 10-1 Overview: Modeling a Value-Based Partition 10-16 Practice 10-2 Overview: Modeling a Fact-Based Partition 10-17 Practice 10-3 Overview: Using the Calculation Wizard to Create Derived Measures 10-18 Practice 10-4 Overview: Modeling Fragmented Inventory Data 10-19 11 Using Repository Variables Objectives 11-2 Variables 11-3 Variable Manager 11-4 Variable Types 11-5 Repository Variables 11-6 Static Repository Variables 11-7 Dynamic Repository Variables 11-8 Session Variables 11-9 System Session Variables 11-10 Non-System Session Variables 11-11 Initialization Blocks 11-12 Initialization Block: Example 11-13 Initialization Block Example: Edit Data Source 11-14 Initialization Block Example: Edit Data Target 11-15 ABC Example 11-16 Implementation Steps 11-17
x

Oracle Internal & Oracle Academy Use Only

1. Open the Variable Manager 11-18 2. Create an Initialization Block 11-19 3. Edit the Data Source 11-20 4. Edit the Data Target 11-21 5. Test the Initialization Block Query 11-22 6. Use the Variable to Determine Content 11-23 7. Verify the Initialization 11-24 Summary 11-25 Practice 11-1 Overview: Creating Dynamic Repository Variables 11-26 Practice 11-2 Overview: Using Dynamic Repository Variables as Filters 11-27 12 Modeling Time Series Data Objectives 12-2 Time Comparisons 12-3 Business Challenge: Time Comparisons 12-4 Oracle BI Solution: Model Time Comparisons 12-5 Oracle BI Solution: Time Series Functions 12-6 ABC Example 12-7 Steps to Model Time Series Data 12-8 1. Identify Time Dimension and Chronological Keys 12-9 2. Create the Ago Measure 12-10 3. Use Existing Columns to Create Additional Ago Measures 12-11 4. Create the ToDate Measure 12-12 5. Add New Measures to the Presentation Layer 12-13 6. Test the Results in Answers 12-14 Summary 12-15 Practice 12-1 Overview: Creating Time Series Comparison Measures 12-16 13 Modeling Many-to-Many Relationships Objective 13-2 Business Challenge and Solution 13-3 Bridge Table 13-4 ABC Example 13-5 Steps to Model a Bridge Table 13-6 1. Import Tables 13-7 2. Create the Physical Model 13-8 3. Create the Logical Model 13-9 4. Map the Bridge Table 13-10 5. Create a Calculation Measure 13-11 6. Map Objects to the Presentation Layer 13-12 7. Verify the Results 13-13
xi

Oracle Internal & Oracle Academy Use Only

14 Localizing Oracle BI Metadata Objective 14-2 Business Challenges and Solution 14-3 Oracle BI Multilingual Support 14-4 Configuring Oracle BI Metadata 14-5 WEBLANGUAGE Session Variable 14-6 LOCALE Session Variable 14-7 Changing Localization Preferences 14-8 ABC Example 14-9 Steps to Localize Metadata 14-10 1. Externalize Metadata Objects 14-11 2. Run the Externalize Strings Utility 14-12 3. Create a Translation Table 14-13 4. Import the Translation Table 14-14 5. Create an Initialization Block 14-15 6. Modify My Account Preferences 14-16 7. Verify the Translations 14-17 Summary 14-18 Practice 14-1 Overview: Localizing Repository Metadata 14-19

xii

Oracle Internal & Oracle Academy Use Only

Helper Tables 13-14 Position Hierarchy: Example 13-15 Position Dimension Table 13-16 Position ID 13-17 Sub-Position ID 13-18 Position Hierarchy Gap 13-19 Position Helper Table 13-20 Using Helper Table to Model Many-to-Many Relationships 13-21 Manager Alias 13-22 ABC Example 13-23 Steps to Model a Helper Table 13-24 1. Create Helper Table 13-25 2. Build Physical Model 13-26 3. Build Logical Model 13-27 4. Map Logical Table Source 13-28 5. Build the Presentation Layer 13-29 6. Verify the Results 13-30 Summary 13-31 Practice 13-1 Overview: Modeling a Bridge Table 13-32 Practice 13-2 Overview: Modeling a Helper Table 13-33

16 Setting an Implicit Fact Column Objectives 16-2 Business Challenge: Dimension-Only Queries 16-3 Business Solution: Implicit Fact Column 16-4 ABC Example 16-5 Steps to Configure an Implicit Fact Column 16-6 1. Set an Implicit Fact Column 16-7 2. Verify the Results 16-8 3. Clear the Implicit Fact Column 16-9 Summary 16-10 Practice 16-1 Overview: Setting an Implicit Fact Column 16-11 17 Integrating Third-Party Reporting Tools Objectives 17-2 Business Challenge 17-3 Business Solution 17-4 Third-Party Reporting Architecture 17-5 ABC Example 17-6 Steps for Third-Party Reporting Tool Integration 17-7 1. Identify the Presentation Catalog 17-8 2. Export Logical Keys 17-9

xiii

Oracle Internal & Oracle Academy Use Only

15 Localizing Oracle BI Data Objective 15-2 Business Challenges and Solution 15-3 Oracle BI Multilingual Support 15-4 Required Translation Tables 15-5 ABC Example 15-6 Steps for Localizing Data 15-7 1. Create a Language Translation Table 15-8 2. Create an Available Language Table 15-9 3. Import Tables to the Physical Layer 15-10 4. Create a Session Variable Initialization Block 15-11 5. Create a Language Translation Table Alias 15-12 6. Create Physical Joins 15-13 7. Map the Logical Table Source 15-14 8. Create Column Mapping 15-15 9. Apply a WHERE Filter 15-16 10. Verify the Results 15-17 Summary 15-18 Practice 15-1 Overview: Localizing Oracle BI Data 15-19

3. Configure the ODBC Connection 17-10 4. Configure the Third-Party Reporting Tool 17-12 5. Verify the Results 17-13 Summary 17-14 Practice 17-1 Overview: Integrating a Third-Party Reporting Tool 17-15 18 Creating Repositories from Multidimensional Data Sources Objective 18-2 Overview 18-3 XML for Analysis (XMLA) 18-4 Multidimensional Versus Relational Data Sources 18-5 Overview: Importing Multidimensional Data Sources 18-6 Considerations: Importing Multidimensional Data Sources 18-7 ABC Example 18-8 Creating a Multidimensional Business Model 18-9 1. Import a Physical Schema 18-10 2. Set Up the Connection Pool 18-11 3. Verify the Import 18-12 4. Verify Imported Hierarchies and Levels 18-13 5. Verify Imported Measures 18-14 6. Work with Preaggregated Measures 18-15 7. Update Member Counts 18-16 8. View Members 18-17 9. Add a Hierarchy 18-18 9a. Create a Hierarchy Object 18-19 9b. Add Levels and Columns 18-20 9c. Modify the Hierarchy 18-21 10. Create the Business Model and Mapping Layer 18-22 11. Create the Presentation Layer 18-23 12. Verify the Results 18-24 Summary 18-25 Practice 18-1: Creating a Repository Using a Multidimensional Data Source 18-26 19 Security Objectives 19-2 Business Challenge 19-3 Business Solution: Oracle BI Security 19-4 Security Manager 19-5 Working with Users 19-6 Adding a User to a Repository 19-7 Setting User Permissions and Logons 19-8
xiv

Oracle Internal & Oracle Academy Use Only

20 Cache Management Objective 20-2 Business Challenge 20-3 Business Solution: Oracle BI Server Query Cache 20-4 Advantages of Caching 20-5 Costs of Caching 20-6 Oracle BI Query Cache Architecture 20-7 Configuring Query Cache 20-8 Monitoring and Managing the Cache 20-9 Cache Management Techniques 20-10 Configuring the Cache Parameters 20-11 Setting Caching and Cache Persistence for Tables 20-12 Using the Cache Manager 20-13
xv

Oracle Internal & Oracle Academy Use Only

Administrator Account 19-9 Working with Groups 19-10 Administrators Group 19-11 Defined Groups 19-12 Group Inheritance 19-13 Group Inheritance: Example 19-14 Adding a New Group 19-15 Viewing Member Hierarchies 19-16 Authentication 19-17 Authentication Options 19-18 Operating System Authentication 19-19 External Table Authentication 19-20 LDAP Authentication 19-21 Database Authentication 19-22 Internal Authentication 19-23 Order of Authentication 19-24 Bypassing Oracle BI Security 19-25 Setting Query Limits 19-26 Setting Timing Restrictions 19-27 Setting Filters 19-28 Summary 19-29 Practice 19-1 Overview: Creating Users and Groups 19-30 Practice 19-2 Overview: Setting Permissions for Users and Groups 19-31 Practice 19-3 Overview: Authenticating Using an External Database 19-32 Practice 19-4 Overview: Authenticating Users with Database Authentication 19-33 Practice 19-5 Overview: Setting Query Limits and Timing Restrictions 19-34 Practice 19-6 Overview: Setting Filters to Personalize Information 19-35

Set Additional Parameters 21-15 9. Import the Table 21-9 3. Set the Physical Table Parameter 21-13 7. Enable Direct Insertion 21-12 6. Set the Connection Pool Parameter 21-14 8. Test the Results 21-16 Analyzing Usage Tracking Data 21-17 Usage Tracking Sample 21-18 Summary 21-19 Practice 21-1 Overview: Enabling Usage Tracking 21-20 22 Multi-User Development Objectives 22-2 Business Challenge 22-3 Business Solution: Oracle BI MUDE 22-4 Oracle BI Repository Development Process 22-5 SCM Three-Way Merge 22-6 Oracle BI Repository Three-Way Merge 22-7 xvi Oracle Internal & Oracle Academy Use Only Inspecting SQL for Cache Entries 20-14 Modifying the Cache Manager Column Display 20-15 Inspecting Cache Reports 20-16 Purging Cache Entries Manually Using the Cache Manager 20-17 Purging Cache Entries Automatically 20-18 Using Event Polling Tables 20-19 Seeding the Cache 20-20 Cache Hit Conditions 20-21 Summary 20-22 Practice 20-1 Overview: Inspecting the Cache Files 20-23 Practice 20-2 Overview: Modifying Cache Parameters 20-24 Practice 20-3 Overview: Seeding the Cache 20-25 . Build a Business Model 21-10 4.21 Enabling Usage Tracking Objectives 21-2 Business Challenges 21-3 Business Solution: Oracle BI Usage Tracking 21-4 Oracle BI Usage Tracking Methods 21-5 ABC Example 21-6 Steps to Enable Usage Tracking 21-7 1. Enable Usage Tracking 21-11 5. Create the Usage Tracking Table 21-8 2.

Edit Projects 22-13 3. Change Metadata 22-20 5. Point to the Multi-User Directory 22-17 2. Checkin Changes: Lock Information Dialog Box 22-23 8. Multi-User Options During Development 22-21 6. Merge Decisions 22-27 12. Checkin Changes: “Merge repositories” Dialog Box 22-24 9. Create Projects 22-12 2. Copy the Master Repository to the Shared Directory 22-15 Making Changes in an Oracle BI MUDE 22-16 1. Administration Tool Tasks During Checkin 22-22 7. Set Up a Shared Network Directory 22-14 4.23 Using Administration Tool Utilities Objectives 23-2 Wizards and Utilities 23-3 Accessing Wizards and Utilities 23-4 Managing Joins 23-5 Managing Sessions 23-6 Querying Repository Metadata 23-7 Replacing Columns or Tables 23-8 Externalizing Strings 23-9 Renaming Repository Objects 23-10 Documenting a Repository 23-11 Generating a Metadata Dictionary 23-12 Creating an Event Table 23-13 Updating the Physical Layer 23-14 xvii Oracle Internal & Oracle Academy Use Only Multi-User Development Projects 22-8 Overview: Oracle BI Multi-User Development 22-9 ABC Example 22-10 Steps to Set Up an Oracle BI MUDE 22-11 1. Check Out Projects 22-18 3. Publish to Network 22-26 11. Closing a Repository Before Publishing to Network 22-25 10. Track Project History 22-28 History Menu Options 22-29 Deleting History Items 22-30 Summary 22-31 Practice 22-1 Overview: Setting Up a Multi-User Development Environment 22-32 Practice 22-2 Overview: Using a Multi-User Development Environment 22-33 . Administration Tool Tasks During Checkout 22-19 4.

Removing Unused Physical Objects 23-15 Summary 23-16 Practice 23-1 Overview: Exploring Administration Tool Features 23-17 24 Optimizing Query Performance Objective 24-2 Business Challenge 24-3 Business Solution 24-4 Oracle BI Features That Optimize Performance 24-6 Optimizing Query Performance 24-7 Using Aggregates 24-8 Using Aggregate Navigation 24-9 Constraining Results Using a WHERE Clause 24-10 Caching 24-11 Limiting the Number of Initialization Blocks 24-12 Limiting Select Table Types 24-13 Modeling Dimension Hierarchies Correctly 24-14 Turning Off Logging 24-15 Setting Query Limits 24-16 Pushing Calculations to the Database 24-17 Exposing Materialized Views in the Physical Layer 24-18 Using Database Hints 24-19 Setting the NQSConfig.ini Parameters 24-20 Summary 24-22 25 Oracle BI Repository Design Principles Objectives 25-2 Lesson Structure 25-3 Physical Layer Design Principles 25-4 Using the File > Import Option 25-5 Creating Aliases for Physical Tables 25-6 Creating Aliases to Avoid Circular Joins 25-7 Creating Canonical Time 25-8 Setting the Physical Table Caching Property 25-9 Setting Connection Pool Properties 25-10 Creating Additional Connection Pools 25-11 BMM Layer Design Principles 25-12 Multi-User Development 25-14 Consistency Check 25-15 Separate Business Models 25-16 Logical Tables 25-17 xviii Oracle Internal & Oracle Academy Use Only .

A Model First Development Methodology Model First Development Methodology: Overview A-2 Central Tenets of the Model First Development Methodology A-3 Baseline Performance Analysis A-4 Defining the Business Model: Dimensional Matrix A-6 Dimensional Matrix: Example A-7 Drill to Levels for More-Detailed Performance Requirements A-8 Focus on the Business Model A-9 Leverage Oracle BI “Legless” Applications A-10 Use Oracle BI Data Mart Automation A-11 xix Oracle Internal & Oracle Academy Use Only Time Dimension Logical Levels 25-18 Time Dimension Logical Structure 25-19 Logical Dimension Table Columns 25-20 Logical Fact Table Columns 25-21 Logical Joins 25-22 Calculated Measures 25-23 Logical Levels 25-24 WHERE Clause Filters 25-25 Avoiding Snowflaking 25-26 Dimension Hierarchies: General 25-27 Dimension Hierarchies: Levels 25-28 Dimension Hierarchies: Number of Elements 25-29 Dimension Hierarchies: Drilldown 25-30 Aggregates 25-31 Presentation Layer Design Principles 25-32 Subject Areas 25-33 Development with End Users in Mind 25-35 Role-Based Subject Areas 25-36 Presentation Tables 25-37 Rule of Seven 25-38 Fact Tables 25-39 Implicit Fact Columns 25-40 Canonical Time 25-41 Secondary Time Dimension 25-42 Nesting Presentation Tables 25-43 Presentation Object Names 25-44 Presentation Object Descriptions 25-45 Summary 25-46 Practice 25-1: Exploring Applied Design Principles 25-47 .

Oracle Internal & Oracle Academy Use Only .

Localizing Oracle BI Data Oracle Internal & Oracle Academy Use Only Copyright © 2008. Oracle. . All rights reserved.

you should be able to localize Oracle BI data to support multilingual environments. Oracle. Copyright © 2008. Oracle BI Suite EE 10g R3: Build Repositories 15 .2 Oracle Internal & Oracle Academy Use Only . All rights reserved.Objective After completing this lesson.

3 Oracle Internal & Oracle Academy Use Only . • Users need to make decisions based on applications and data presented in their own language. Oracle BI Suite EE 10g R3: Build Repositories 15 . Business Challenges and Solution Companies often require multilingual support for their deployment of Oracle BI. Solution: • Add multilingual support to Oracle BI. At a minimum. end users need to be able to view applications and data in their own language. Oracle. All rights reserved. Oracle BI provides the ability to localize both data and repository metadata.Business Challenges and Solution Challenges: • Companies require multilingual support for global deployments of Oracle BI. Copyright © 2008.

such as product names • Report and dashboard metadata. such as presentation folders Focus of last lesson • Database data.4 Oracle Internal & Oracle Academy Use Only Focus of this lesson . All rights reserved. The focus of this lesson is the localization of Oracle BI data. Oracle BI Multilingual Support Multilingual support requires three types of configurations. such as chart labels Covered in a separate course Copyright © 2008. Oracle BI Suite EE 10g R3: Build Repositories 15 .Oracle BI Multilingual Support Requires three types of configurations: • Repository metadata. Oracle. The localization of reports and dashboards is covered in the course titled Oracle BI Presentation Services 10g: Create Reports/Dashboards. The focus of the lesson titled “Localizing Oracle BI Metadata” is the localization of Oracle BI repository metadata.

Oracle. This table contains required columns and the language value translations. Required Translation Tables There are two tables required for data translation. which provides functionality similar to the metadata translation table discussed in the previous lesson. Each of these tables is discussed in more detail in the subsequent slides. This table stores a list of languages available for querying against the data. The other required table is the available language table. All rights reserved.Required Translation Tables Data translation requires two tables: • List of values (LOV) language translation table – Provides functionality similar to metadata translation table • Available language table – Provides list of available user data languages Copyright © 2008.5 Oracle Internal & Oracle Academy Use Only . Oracle BI Suite EE 10g R3: Build Repositories 15 . One is a list of values language translation table.

6 Oracle Internal & Oracle Academy Use Only .ABC Example Translate ABC product-type data from English to French. Copyright © 2008. Oracle. Oracle BI Suite EE 10g R3: Build Repositories 15 . ABC Example In the example in this lesson. All rights reserved. you translate product-type data from English to French.

Steps for Localizing Data This slide lists the steps for localizing data.Steps for Localizing Data 1. 4. Create a language translation table. Create column mapping. 6. Create an available language table. 3. Each step is presented in detail in the slides that follow.Verify the results. Oracle. Create physical joins. Import tables to the Physical layer. 5.7 Oracle Internal & Oracle Academy Use Only . Map the logical table source. Create a session variable initialization block. 9. Oracle BI Suite EE 10g R3: Build Repositories 15 . Copyright © 2008. Apply a WHERE filter. 8. Create a language translation table alias. 2. 10. All rights reserved. 7.

VAL contains the language-specific text for each row that is displayed to the user. This table may also contain additional columns depending on the data warehouse environment and requirements (DATASOURCE_NUM_ID. INTEGRATION _ID. and so on). Create a Language Translation Table This table contains required columns and the language value translations. LANG_ID identifies the language for each row. TYPE is the categorization for the set of values. LIC (language-independent code) identifies the metadata to translate. Oracle. 1. The table contains four columns needed for language translation. All rights reserved.1. Each LIC value corresponds to a data value. Languageindependent code (LIC): Identifies which record is being translated VAL: Translated data that is displayed to the user TYPE: A categorization for a set of values LANG_ID: Code that identifies the language of the row Copyright © 2008.8 Oracle Internal & Oracle Academy Use Only . there are rows for English (en) and French (fr). In this example. Create a Language Translation Table This table contains required columns and columns with language value translations. Oracle BI Suite EE 10g R3: Build Repositories 15 .

The table contains three columns needed for language translation. LANG_ID identifies the language of the row. All rights reserved. Oracle. Oracle BI Suite EE 10g R3: Build Repositories 15 . Create an Available Language Table This table stores a list of languages available for querying against the data. Create an Available Language Table This table stores a list of languages available for querying against the data. 2. LANGUAGE: identifies the language name LANG_ID: identifies the language of the row LANGUAGE_EXTENSION: identifies language variations based on country or region Copyright © 2008.9 Oracle Internal & Oracle Academy Use Only . Canadian French versus Swiss French versus French in France). LANGUAGE_EXTENSION is used for languages with variations that depend on a country or region( for example.2. LANGUAGE identifies the language name.

3. Available language table Language translation table Copyright © 2008. Oracle.10 Oracle Internal & Oracle Academy Use Only . Oracle BI Suite EE 10g R3: Build Repositories 15 . Import Tables to the Physical Layer Use known techniques to import language tables to the Physical layer of the repository. All rights reserved.

the translation is performed.4. Otherwise. All rights reserved. Create a Session Variable Initialization Block Create a session variable initialization block to check whether the language selected by the user is in the language table. Create a Session Variable Initialization Block Create an initialization block and session variable to establish a user-preferred language. WEBLANG is used to define the join in the logical layer. Oracle BI Suite EE 10g R3: Build Repositories 15 . Oracle. Populate it using the record from the initialization block. You also need to define the WEBLANG session variable.11 Oracle Internal & Oracle Academy Use Only . If the language is in the table. Set a default initializer in case the language is not found. This initialization block checks the user’s preferred language against the languages listed in the D1_LANG table. 4. Checks whether the user language preference stored in WEBLANGUAGE is in the D1_LANG table Session variable Language default if the preferred language is not found in the D1_LANG table Copyright © 2008. a default language is selected.

In this example. 5. you create an alias to translate the item type column. . Create a Language Translation Table Alias Create an alias based on the language translation table for the language translation values. Create a Language Translation Table Alias Create an alias of the LOV table for each column that needs to be translated. Each alias corresponds to the translation of a single column in a single dimension table.5. Copyright © 2008.12 Oracle Internal & Oracle Academy Use Only Set the alias name to the name of the column to be translated. Oracle. Oracle BI Suite EE 10g R3: Build Repositories 15 . All rights reserved.

Create Physical Joins Create a join between the alias and the product dimension to provide support for the column translation. Copyright © 2008. Oracle BI Suite EE 10g R3: Build Repositories 15 .13 Oracle Internal & Oracle Academy Use Only . Join finds all translations in alias table for a given item type. Create Physical Joins Create a join between the product dimension and the alias for the column translation.6. In this example. the join finds all translations in the alias table for a given item type. All rights reserved. Oracle. Dimension table column to be translated… …joins to LIC in alias table. 6.

Map the Logical Table Source Map an existing logical table source to the alias. In this example. 7.14 Oracle Internal & Oracle Academy Use Only . you map the Type logical table source to the ItemType (D1_LOV_D) alias. This allows you to map the Type column to the VAL column in the alias table. Oracle BI Suite EE 10g R3: Build Repositories 15 . Alias table Copyright © 2008.7. Oracle. Map the Logical Table Source Map an existing logical table source to the alias. This avoids the need for snowflaking in the logical model. the steps for which are presented in the next slide. All rights reserved.

finds the appropriate value corresponding to the language and column. Copyright © 2008.8. This is how language translation is performed. The VAL column contains all the language-specific strings for ITEMTYPE. Create Column Mapping Modify the Type field to map to the VAL column in the D1_LOV_D table alias instead of using the ITEMTYPE column in the D1_PRODUCT_TYPE table.15 Oracle Internal & Oracle Academy Use Only . in conjunction with a WHERE filter discussed in the next slide. All rights reserved. Oracle BI Suite EE 10g R3: Build Repositories 15 . and this mapping. 8. Create Column Mapping Modify the Type field to map to the VAL column in the ItemType (D1_LOV_D) alias. Oracle.

The second clause identifies the set of records in the alias table that are of the ABC Product Type category. along with the physical layer join between the ItemType (WC_LOV_D) alias and the D1_PRODUCT_TYPE table. Apply a WHERE Filter The first clause searches for records in the alias table that have the same language ID as specified in the language initialization block. 9.16 Oracle Internal & Oracle Academy Use Only . Oracle BI Suite EE 10g R3: Build Repositories 15 . filter the appropriate data to bring back a single value for product type that is language-specific to the user. Recall that this is the user’s preferred language or a default language if the preferred language does not have provided translations. These two criteria. All rights reserved. Oracle. Apply a WHERE Filter To the logical table source. apply a WHERE filter that: • Searches in the alias table for records that have the same language ID as specified in the language initialization block • Identifies the set of records in the alias table that are of the ABC Product Type category Copyright © 2008.9.

• Check the log file and verify that the VAL column is accessed with the expected WHERE clause. Oracle BI Suite EE 10g R3: Build Repositories 15 . Copyright © 2008. All rights reserved. Oracle.17 Oracle Internal & Oracle Academy Use Only . Verify the Results • Run a query in Answers and verify that the expected results are returned.10.

Oracle. you should have learned how to localize Oracle BI data to support multilingual environments. Oracle BI Suite EE 10g R3: Build Repositories 15 . Copyright © 2008. All rights reserved.Summary In this lesson.18 Oracle Internal & Oracle Academy Use Only .

Oracle BI Suite EE 10g R3: Build Repositories 15 . All rights reserved. modify the WHERE clause for the column being translated. you localize product type data from English to French. Copyright © 2008.Practice 15-1 Overview: Localizing Oracle BI Data In this practice. create an initialization block and session variable to establish a user-preferred language. Oracle. Practice 15-1 Overview: Localizing Oracle BI Data To localize product type data from English to French.19 Oracle Internal & Oracle Academy Use Only . and verify results in Oracle BI Answers. you import the necessary translation tables.

Oracle Internal & Oracle Academy Use Only .

All rights reserved. .Setting an Implicit Fact Column Oracle Internal & Oracle Academy Use Only Copyright © 2008. Oracle.

Oracle BI Suite EE 10g R3: Build Repositories 16 . you should be able to: • Describe the purpose and process of setting an implicit fact column • Set an implicit fact column for a presentation catalog Copyright © 2008.Objectives After completing this lesson.2 Oracle Internal & Oracle Academy Use Only . Oracle. All rights reserved.

a sales fact and a service fact both join to the product dimension. a user might want to see all products purchased by a customer. When a user runs a dimension-only query. For example. many fact tables may join to the same dimensions. many fact tables may join to the same dimensions. Copyright © 2008. This may not return the desired results.3 Oracle Internal & Oracle Academy Use Only .Business Challenge: Dimension-Only Queries Dimension-only queries with columns from more than one dimension may not return the desired results. dimensiononly queries may not return the desired results. However. Oracle. • For dimension-only queries across multiple dimensions. There may be occasions when users want to build queries with only dimension data. For example. Oracle BI Server picks the most economical fact table source based on the number and levels of joined dimensions. This is because in a business model with conforming dimensions. Oracle BI Server picks the most economical fact source based on the number and levels of the joined dimensions. • In a business model with conforming dimensions. All rights reserved. A dimension-only query with columns from the same dimension will not cause a problem. Business Challenge: Dimension-Only Queries In this context. Oracle BI Suite EE 10g R3: Build Repositories 16 . dimension-only queries refer to queries that contain columns from more than one dimension.

Copyright © 2008. Business Solution: Implicit Fact Column The solution to dimension-only queries is setting an implicit fact column for presentation catalogs.4 Oracle Internal & Oracle Academy Use Only • Provides the ability to set a fact table source for a presentation catalog to ensure the expected results for dimension-only queries • Forces Oracle BI Server to select a predetermined fact table source even if it is not the most economical source • Specifies a default join path between dimension tables when there are several possible alternatives . The measure column is included in the query and is visible in the query log. but it is not visible in the results returned to the user. this column is added to a query when it contains columns from two or more dimension tables and no measures. Oracle BI Suite EE 10g R3: Build Repositories 16 . Oracle. It is used to specify a default join path between dimension tables when there are several possible alternatives. If you set an implicit fact column.Business Solution: Implicit Fact Column • Is a column that is added automatically to dimension-only queries – The column is included in the query but not shown in the results. All rights reserved.

there are two fact tables: SalesFacts and Returns. Oracle BI Suite EE 10g R3: Build Repositories 16 . With an implicit fact column. If a user runs a dimension-only query against Customers and Products. Oracle BI Server returns product sales data via the SalesFacts logical table. Both fact tables join to the Customers and Products dimensions. which has the least amount of joins and is. the most economical source. Oracle BI Server returns product sales data via the SalesFacts logical table (the most economical source).ABC Example SalesFacts joins to three dimensions. ABC Example In this example. Oracle. All rights reserved. Dimension-only query Without an implicit fact column. therefore. without setting an implicit fact column.5 Oracle Internal & Oracle Academy Use Only . Copyright © 2008. Returns joins to four dimensions. Oracle BI Server returns product return data via the Returns logical table even if it is not the most economical source. With an implicit fact column set to a measure in the Returns table. Oracle BI Server returns data via the Returns logical table even if it is not the most economical source. SalesFacts joins to three dimensions and Returns joins to four dimensions.

Each step is presented in detail in the slides that follow.6 Oracle Internal & Oracle Academy Use Only . Oracle. 3.Steps to Configure an Implicit Fact Column 1. 2. Steps to Configure an Implicit Fact Column This slide lists the steps to configure an implicit fact column. Copyright © 2008. Clear the implicit fact column. Verify the results. Set an implicit fact column. Oracle BI Suite EE 10g R3: Build Repositories 16 . All rights reserved.

Select implicit fact column. Oracle BI Suite EE 10g R3: Build Repositories 16 . click the Set button to open the Browse dialog box. Oracle.7 Oracle Internal & Oracle Academy Use Only . Set an Implicit Fact Column To set an implicit fact column. The implicit fact column is now visible in the Implicit Fact Column section of the Presentation Catalog properties dialog box. Open the Presentation Catalog properties dialog box.1. Expand the desired fact table and select the implicit fact column. Click Set. 2. 1. Set an Implicit Fact Column 1. 3. In the Implicit Fact Column section. open the Presentation Catalog properties dialog box. Copyright © 2008. All rights reserved.

Verify the Results To verify results.8 Oracle Internal & Oracle Academy Use Only . The implicit fact column is included in the query but not shown in results. Oracle BI Suite EE 10g R3: Build Repositories 16 . Oracle. Check the log file and verify that the implicit fact column is included in the SQL even though it does not appear in the results in Answers. • Check the log file and verify that the implicit fact column is accessed. All rights reserved. 2. Copyright © 2008. run a dimension-only query in Answers.2. Verify the Results • Run a dimension-only query in Answers and verify that the correct results are returned.

All rights reserved. open the Presentation Catalog properties dialog box. Clear the Implicit Fact Column To clear the implicit fact column.3.9 Oracle Internal & Oracle Academy Use Only . Oracle. and verify that the implicit fact column is set to “not assigned. Clear the Implicit Fact Column To remove the implicit fact column.” Oracle BI Suite EE 10g R3: Build Repositories 16 . Copyright © 2008. 3. click the Clear button in the Presentation Catalog properties dialog box. click the Clear button in the Implicit Fact Column section.

10 Oracle Internal & Oracle Academy Use Only . All rights reserved. Oracle BI Suite EE 10g R3: Build Repositories 16 . you should have learned how to: • Describe the purpose and process of configuring an implicit fact column • Set an implicit fact column for a presentation catalog Copyright © 2008. Oracle.Summary In this lesson.

Copyright © 2008.Practice 16-1 Overview: Setting an Implicit Fact Column In the practice. Practice 16-1 Overview: Setting an Implicit Fact Column ABC tracks both product sales and product return information. you set an implicit fact column for a presentation catalog.11 Oracle Internal & Oracle Academy Use Only . Oracle BI Suite EE 10g R3: Build Repositories 16 . you test different implicit fact column settings for the SupplierSales presentation catalog. To ensure the expected results. ABC wants to ensure that dimension-only queries return the correct results. Oracle. All rights reserved.

Oracle Internal & Oracle Academy Use Only .

Oracle.Integrating Third-Party Reporting Tools Oracle Internal & Oracle Academy Use Only Copyright © 2008. . All rights reserved.

you should be able to: • Identify the business reasons for using third-party reporting tools with Oracle Business Intelligence (BI) Server • Connect third-party reporting tools to Oracle BI Server Copyright © 2008.Objectives After completing this lesson. Oracle BI Suite EE 10g R3: Build Repositories 17 . Oracle. All rights reserved.2 Oracle Internal & Oracle Academy Use Only .

Copyright © 2008. need to be a gradual process in which old tools are phased out and new tools phased in. Oracle BI Suite EE 10g R3: Build Repositories 17 . Oracle. All rights reserved. therefore. Business Challenge When a new product is implemented. They may resist changing from familiar tools. – Reporting tools and underlying data models are duplicated. end users are not always eager to adopt the new technology. • Duplicate business rules may exist across divisions: – Businesses lack an enterprise view of their data. each with a corresponding set of business processes and rules.Business Challenge • End users may resist changing their existing reporting tools.3 Oracle Internal & Oracle Academy Use Only . Another challenge is that a business may use multiple reporting tools across the enterprise. End-user adoption of new technologies may. • End-user adoption of new products takes time.

Business Solution • Short-term: Connect third-party reporting tools to Oracle BI.4 Oracle Internal & Oracle Academy Use Only . migrating to Oracle BI reporting tools. All rights reserved. Oracle. Copyright © 2008. In the short term. provides a unified organizational reporting standard. In the long term. such as Answers. Business Solution Short term and long term solutions are available when implementing Oracle BI. third-party reporting tools can be used to connect to Oracle BI Server. – Requires Open Database Connectivity (ODBC) – Requires Oracle BI Server to be set up and running – Requires metadata to be defined in the Oracle BI repository • Long-term: Migrate to Oracle BI reporting tools for a unified organizational reporting standard. Oracle BI Suite EE 10g R3: Build Repositories 17 .

Oracle. This makes it much easier to include columns involving complex aggregation and calculation rules in queries and reports. You can still use Oracle BI Answers simultaneously with third-party tools. if your organization is currently using query and reporting tools. Also. This is to take advantage of Oracle BI Server’s analytical engine and data abstraction.5 Oracle Internal & Oracle Academy Use Only . Oracle BI Suite EE 10g R3: Build Repositories 17 . using Oracle BI Server as a data source makes these tools more valuable and simplifies the work entailed when using them.Third-Party Reporting Architecture Third-party reporting tools Oracle BI Server ODBC connection Oracle BI Server Data sources Data source Data source Data source Copyright © 2008. Connecting with a query tool is a matter of configuring a data source using the Oracle BI ODBC driver and then using the Oracle BI data source name (DSN) to connect to a repository from the query tool. Third-Party Reporting Architecture You can connect to the Oracle BI Server with a wide variety of ODBC-compliant query and reporting tools (Microsoft Access. Business Objects. The Presentation layer allows you to configure the presentation of a business model to be consistent with the rules and conventions of your tools. All rights reserved. and so on).

Oracle. Copyright © 2008.6 Oracle Internal & Oracle Academy Use Only . All rights reserved. ABC Example In the example for this lesson. you use Microsoft Access to build and run queries against Oracle BI Server. Oracle BI Suite EE 10g R3: Build Repositories 17 .ABC Example Use Microsoft Access to build and run queries against Oracle BI Server.

2. Identify the presentation catalog. 3. Oracle BI Suite EE 10g R3: Build Repositories 17 . Verify the results. All rights reserved. Oracle. 4. Steps for Third-Party Reporting Tool Integration This slide lists the steps for performing third-party reporting tool integration.7 Oracle Internal & Oracle Academy Use Only . Copyright © 2008.Steps for Third-Party Reporting Tool Integration 1. Each step is presented in detail in the slides that follow. 5. Export logical keys. Configure the ODBC connection. Configure the third-party reporting tool.

Copyright © 2008. Recall that there is an N:1 relationship between presentation catalogs and business models. Select the desired presentation catalog and double-click to open properties. Oracle. Identify the Presentation Catalog Select the desired presentation catalog for end-user reporting. Oracle BI Suite EE 10g R3: Build Repositories 17 . All rights reserved. 1. Identify the Presentation Catalog The first step is to identify the presentation catalog to be used for third-party reporting.8 Oracle Internal & Oracle Academy Use Only .1.

Note that logical keys can only be exported if they are in the Presentation layer. If you are using a tool that issues parameterized SQL queries. do not select the “Export logical keys” check box. Parameterized SQL avoids the prepare component of SQL execution and thus improves the performance of frequently-executed SQL statements. Parameterized SQL enables the reporting tool to create and store queries that are complete except for one or more bind parameters.9 Oracle Internal & Oracle Academy Use Only . Oracle. All rights reserved. Copyright © 2008. • When using a tool that issues parameterized SQL queries (such as Microsoft Access). Oracle BI Suite EE 10g R3: Build Repositories 17 . Export Logical Keys The second step is to open the presentation catalog properties dialog box and select the “Export logical keys” check box to expose the logical keys to third-party applications. do not select the “Export logical keys” check box. 2.2. • Logical keys must be in the Presentation layer. such as Microsoft Access. Select the “Export logical keys” check box. Export Logical Keys Select Export logical keys to expose logical keys to third-party applications. These parameters are bound while executing the query.

Configure the ODBC Connection Configure the appropriate ODBC connection to connect to Oracle BI Server to obtain the default settings for additional configuration. 5. Select Oracle BI Server DSN. Select the “Connect to Oracle BI Server to obtain default settings for the additional configuration options” check box. 4. 2. . Copyright © 2008.10 Oracle Internal & Oracle Academy Use Only 3. Oracle BI Suite EE 10g R3: Build Repositories 17 . Oracle.3. 3. Configure the ODBC Connection 1. Click Next. Click Configure. Provide login credentials. All rights reserved.

7.11 Oracle Internal & Oracle Academy Use Only . All rights reserved. Select the default presentation catalog for third-party reporting. Configure the ODBC Connection (continued) Change the default catalog to the presentation catalog used for third-party reporting. Click Finish. Copyright © 2008.3. 3. Configure the ODBC Connection 6. Oracle BI Suite EE 10g R3: Build Repositories 17 . Note that for many reporting tools. a different ODBC DSN must be defined for each presentation catalog. Oracle.

Define primary keys. This and defining primary keys are done only if the reporting tools demand that they know them. Copyright © 2008. Oracle. Oracle BI Suite EE 10g R3: Build Repositories 17 . Select tables for reporting. Note: Configuration steps vary according to the tool that you use.12 Oracle Internal & Oracle Academy Use Only . Define join relationships. Configure the Third-Party Reporting Tool Configuration steps for the third-party reporting tool vary according to the tool. End users can use tools such as Microsoft Access to build and run queries against Oracle BI Server. you do not define the join relationships because they are unnecessary for Oracle BI Server. All rights reserved. 4. Typically.4. The screenshot shows the steps for configuring Microsoft Access. Configure the Third-Party Reporting Tool • • • • • Select AnalyticsWeb DSN as the ODBC data source. Define and execute the query.

13 Oracle Internal & Oracle Academy Use Only • Verify the logical and physical queries in NQQuery. Copyright © 2008. All rights reserved. Verify the logical and physical queries in the log file.5.log. 5. Verify the Results • Execute the query using the third-party reporting tool. Oracle BI Suite EE 10g R3: Build Repositories 17 . Oracle. . Verify the Results Run a query in the third-party reporting tool and verify that you get the expected results in the tool.

Oracle BI Suite EE 10g R3: Build Repositories 17 . All rights reserved. you should have learned how to: • Identify the business reasons for using third-party reporting tools with Oracle BI Server • Connect third-party reporting tools to Oracle BI Server Copyright © 2008.14 Oracle Internal & Oracle Academy Use Only . Oracle.Summary In this lesson.

Copyright © 2008. Oracle BI Suite EE 10g R3: Build Repositories 17 .Practice 17-1 Overview: Integrating a Third-Party Reporting Tool In the practice. you configure Microsoft Access to run queries against Oracle BI Server.15 Oracle Internal & Oracle Academy Use Only . All rights reserved. Oracle. The long-term goal is to use Oracle BI as the corporate reporting tool and phase out the other reporting tools. Practice 17-1 Overview: Integrating a Third-Party Reporting Tool ABC wants to integrate third-party reporting tools with Oracle BI. ABC has a history of using different reporting tools and is concerned that its rate of end user adoption may be affected by the introduction of a new reporting tool. you demonstrate the ability to run ad hoc queries against Oracle BI Server using a third-party tool. In the meantime.

Oracle Internal & Oracle Academy Use Only .

Creating Repositories from Multidimensional Data Sources Oracle Internal & Oracle Academy Use Only Copyright © 2008. All rights reserved. . Oracle.

Oracle. you should be able to create a repository using a multidimensional data source. Oracle BI Suite EE 10g R3: Build Repositories 18 . All rights reserved. Copyright © 2008.Objective After completing this lesson.2 Oracle Internal & Oracle Academy Use Only .

Overview • You can use the Administration Tool to add a multidimensional data source to the Physical layer of a repository.oracle. Microsoft Analysis Services. Oracle’s native multidimensional data model—the analytic workspace (AW)—is made accessible to BI EE 10g by creating the required metadata in Oracle BI Administration Tool. Note that Oracle Business Intelligence Suite Enterprise Edition 10g. and SAP/Business Warehouse (SAP/BW) to extract data.3 Oracle Internal & Oracle Academy Use Only – Essbase – Microsoft Analysis Services – SAP/Business Warehouse (SAP/BW) . Overview You use the Administration Tool to add a multidimensional data source to the Physical layer of a repository.com/technology/obe/obe_bi/bi_ee_1013/olap/index. In this release. which can be displayed on an Oracle BI interactive dashboard. The AW data is exposed to the BI EE 10g product stack and the OLAP engine is leveraged for analysis of that data. Release 3 (BI EE 10g) delivers significant product enhancements to further enable enterprise-wide BI. The ability to use multidimensional data sources allows the Oracle BI Server to connect to sources such as Essbase. Oracle OLAP and AW are not covered in this course. You can use data from these sources to build requests in Oracle BI Answers. Copyright © 2008. including integration with Oracle online analytical processing (OLAP). Oracle. refer to the Oracle by Example (OBE) titled Using Oracle OLAP With Oracle BI Enterprise Edition 10g Release 3 at the following site: http://www. Instead. All rights reserved. • The only currently available data sources that are compliant with XML for Analysis (XMLA) are: • Data from multidimensional sources can be displayed on an Oracle Business Intelligence (BI) interactive dashboard.html Oracle BI Suite EE 10g R3: Build Repositories 18 .

XMLA is a joint Hyperion and Microsoft specification for an open API that is designed to standardize the data access interaction between a client application and an analytical data provider working on the Web. Oracle BI Suite EE 10g R3: Build Repositories 18 . The standard dictates the various protocols that the Oracle BI Server can use to connect to the target and query data. All rights reserved.XML for Analysis (XMLA) Oracle BI Server connects to the multidimensional source using the XMLA-standard protocol: • This requires that a fully functional Web services interface be available with the target data source. This requires that a fully functional Web services interface is available with the target data source. Importing data from a multidimensional source creates the metadata of the data source in the Oracle BI repository. Copyright © 2008. Oracle.4 Oracle Internal & Oracle Academy Use Only . XML for Analysis The Oracle BI Server connects to the multidimensional source using the XMLA-standard protocol. • The standard dictates the various protocols that the Oracle BI Server can use to connect to the target and query data.

Multidimensional Versus Relational Data Sources • The primary differences between setting up multidimensional data sources and setting up relational data sources are in the Physical layer. • The setup processes in the business model and presentation layers for multidimensional data sources and relational data sources are almost identical. All rights reserved. The setup processes in the business model and presentation layers for multidimensional data sources and relational data sources are almost identical. Multidimensional Versus Relational Data Sources The primary differences between setting up multidimensional data sources and setting up relational data sources are in the Physical layer. Oracle. Copyright © 2008. Oracle BI Suite EE 10g R3: Build Repositories 18 .5 Oracle Internal & Oracle Academy Use Only .

including its metrics. After importing the cubes. dimensions. All rights reserved. and hierarchies. each cube in a multidimensional data source is created as a single physical cube table. dimensions.Overview: Importing Multidimensional Data Sources • During the import process. Oracle. The Oracle BI Server imports the cube. you need to make sure that the physical cube columns have the correct aggregation rule and that the default member type ALL is correctly imported for a hierarchy.6 Oracle Internal & Oracle Academy Use Only – The physical cube columns have the correct aggregation rule – The default member type ALL is correctly imported for a hierarchy . each cube in a multidimensional data source is created as a single physical cube table. including its metrics. Oracle BI Suite EE 10g R3: Build Repositories 18 . • Oracle BI Server imports the cube. and hierarchies. make sure that: Copyright © 2008. Overview: Importing Multidimensional Data Sources The Oracle BI Server uses XMLA standards to import data from a multidimensional data source to the Oracle BI repository. During the import process. • After importing cubes.

Therefore. – Measure hierarchies are not imported or supported. Oracle. – It may result in better performance Copyright © 2008.7 Oracle Internal & Oracle Academy Use Only • It is recommended that you remove hierarchies and columns from the Physical layer if they will not be used in the business model. they are sometimes called “ragged hierarchies. Oracle BI Suite EE 10g R3: Build Repositories 18 . measure hierarchies are not imported or supported. This eliminates maintaining unnecessary objects in the Administration Tool and may result in better performance. if a cube has a ragged hierarchy or a parent-child hierarchy. All rights reserved. It is recommended that you remove hierarchies and columns from the physical layer if they will not be used in the business model. .” While relational databases can model ragged hierarchies very easily with the recursive join on the parent organization key. it is difficult using standard SQL to traverse and query such a hierarchy. it is not imported. Therefore. Considerations: Importing Multidimensional Data Sources Some companies model business hierarchies in relational databases using a table structure in which each row contains the key of its parent. Additionally. The Oracle BI Server only imports the dimensions and hierarchies that are supported by Oracle BI. ragged hierarchies pose a problem for virtually all SQL-generating BI platforms. – If a cube has a ragged hierarchy or a parent-child hierarchy. – This eliminates maintaining unnecessary objects in the Administration Tool. Because different branches of such a hierarchy may have different depths from root to leaf. it is not imported.Considerations: Importing Multidimensional Data Sources • Oracle BI Server imports only those dimensions and hierarchies that are supported by Oracle BI.

Copyright © 2008. Oracle BI Suite EE 10g R3: Build Repositories 18 .ABC Example Create a business model using an Essbase multidimensional data source. All rights reserved.8 Oracle Internal & Oracle Academy Use Only . Oracle. you create a business model in an Oracle BI repository using an Essbase multidimensional data source. ABC Example In the example.

Oracle BI Suite EE 10g R3: Build Repositories 18 . 8. 6. 10.9 Oracle Internal & Oracle Academy Use Only . Create the Business Model and Mapping (BMM) layer. 2. Creating a Multidimensional Business Model This slide lists the steps for creating a business model using a multidimensional data source. Oracle. 3. 12. Verify the results. Update member counts. Set up the connection pool. 5.Creating a Multidimensional Business Model 1. Verify imported measures. All rights reserved. Add a hierarchy. Create the Presentation layer. 11. Verify the import. Copyright © 2008. View members. Each step is presented in detail in the slides that follow. Work with preaggregated measures. Import a physical schema. 4. 9. 7. Verify imported hierarchies and levels.

From your data source administrator. d.Use the Update button to populate the Data Source field. In the Administration Tool.Enter the URL for the Web service that acts as the XMLA provider. Select the catalogs (databases) or cubes to import and click Import. username. All rights reserved. Enter a name in the Target Database field or browse to use an existing database object in the Physical layer. select File > Import from XMLA. Oracle. complete the fields: . . Select the catalogs or cubes to import.Select the XMLA provider.1. Oracle BI Suite EE 10g R3: Build Repositories 18 . e. c. get the URL connection string. b. .10 Oracle Internal & Oracle Academy Use Only URL . 1. Import a Physical Schema a. Import a Physical Schema Select File > Import from XMLA. XMLA provider Data source Username and password Copyright © 2008. .Enter the username and password. and password for the data source. In the Import From XMLA dialog box.

All rights reserved. The cube tables correspond to the catalog you use in the connection pool. XMLA call interface XMLA virtual directory of the machine hosting the cube Vendor-specific information used to connect to the multidimensional data source Catalog Copyright © 2008. 2. Set Up the Connection Pool Some connection pool properties are unique to multidimensional data sources. Consult your multidimensional data source administrator for setup instructions because specifications may change.11 Oracle Internal & Oracle Academy Use Only . It points to the XMLA virtual directory of the machine hosting the cube. • Data Source: The vendor-specific information used to connect to the multidimensional data source. Set Up the Connection Pool Some connection pool properties are unique to multidimensional data sources: • Call interface: XMLA • URL: The URL to connect to the XMLA provider.2. if you imported data from your data source. • Catalog: The list of catalogs available. Oracle BI Suite EE 10g R3: Build Repositories 18 . Oracle.

You can create a cube table manually. a type of physical table. Verify the Import When you import the physical schema.12 Oracle Internal & Oracle Academy Use Only Cube table . Oracle. All rights reserved. and foreign keys (optional). • Columns with cube icons represent attributes that are not part of the hierarchy. Each multidimensional catalog in the database can contain multiple physical cubes.3. Oracle BI Server imports the cubes. In the Physical layer. keys (optional). Each cube from a multidimensional data source is set up as a physical cube table. However. it is recommended that you import cube tables and their components. including its metrics. You can import one or more of these cubes into your BI repository. hierarchies. 3. hierarchies. Verify the Import When you import the physical schema. Database object Catalog Balanced hierarchies Measure cube columns Copyright © 2008. Oracle BI Suite EE 10g R3: Build Repositories 18 . and levels. It has all the capabilities of a table such as physical cube columns. Columns also have unique cube icons: • Key icons represent attributes that are part of the hierarchy. including metrics. Oracle BI Server imports the cube. and levels. • Columns with cube icons plus the sigma sign represent either additive measures or calculated members. a physical cube table looks like a regular table but has a different icon. It also has cube-specific metadata such as hierarchies and levels.

You can also reorder. select it and click Edit. If you need to reorder the hierarchy levels. edit. This is for performance reasons. There must be multiple levels and you must select a level for the buttons to be available. 4. Verify Imported Hierarchies and Levels In the Physical Cube Table dialog box. the Hierarchies tab lists the dimensional hierarchies in the cube. select a level and click Up or Down to correct the order of the levels. edit. To verify a hierarchy. In this dialog box you can add. This check box helps Oracle BI Server rewrite more efficient Multidimensional Expressions (MDX) when sending logical queries. Copyright © 2008.4. or double-click the hierarchy. add. If you delete property or key columns from a level. edit. Hierarchies Levels Reorder. or remove levels. Oracle. Oracle BI Suite EE 10g R3: Build Repositories 18 . These types of hierarchies are currently ignored by the import process. In the Hierarchy dialog box. verify that the levels are correct. Verify Imported Hierarchies and Levels In the Physical Cube Table dialog box. or remove hierarchies (buttons for these actions are not shown in the screenshot). add. The Hierarchy dialog box lists all the defined levels for the selected hierarchy. the association is deleted and the column changes to a measure under the parent cube table. All rights reserved. Note the multidimensional level icon in the screenshot. The highest level in the hierarchy should be the first (highest) item in the list. click the Hierarchies tab to verify that the import process imported the levels correctly. Ragged hierarchies and unbalanced hierarchies are not yet supported in Oracle BI.13 Oracle Internal & Oracle Academy Use Only . The “Default Member type ALL” check box should always be selected by default. This confirms that these columns have been identified as part of the hierarchy. or remove levels.

aggregation rules are assigned correctly when you import the cube. All rights reserved. If you need to change the aggregation rule. Therefore. Oracle BI Suite EE 10g R3: Build Repositories 18 . you should examine the aggregation rule for all measures after importing a cube to verify that the aggregation rule has been assigned correctly.5. contact the multidimensional data source administrator to verify that the value of the aggregation rule is accurate. Copyright © 2008. 5. if a measure is a calculated measure. Verify Imported Measures Use the following guidelines to verify and assign the aggregation rule correctly: • Verify aggregation rules after importing a cube.14 Oracle Internal & Oracle Academy Use Only . However. set the aggregation rule to match its definition in the multidimensional data source. you can change it in the Physical Cube Column dialog box. Verify Imported Measures Verify that the aggregation rule for a physical cube column is set correctly. Oracle. If you build the measures manually. the aggregation rule is reported as None. • For all measures assigned an aggregation rule value of None. Typically.

the BI Server bypasses its internal aggregation mechanisms and uses the preaggregated measures. When imported. some cubes contain very complex. If the measure is supported and can be mapped to a relational database. The following are some guidelines for working with preaggregated measures: • External aggregation applies to only multidimensional data sources that support these complex calculations. • You can mix noncomplex measures from standard data sources (relational) with noncomplex measures from multidimensional data sources if they are aggregated through the Oracle BI Server. Work with Preaggregated Measures • In a multidimensional data source. some cubes contain very complex. then it is not complex and does not require external aggregation.6. multilevel-based measures. Copyright © 2008. these measures are assigned an aggregate value of None. All rights reserved. Work with Preaggregated Measures In a multidimensional data source.15 Oracle Internal & Oracle Academy Use Only . multilevel-based measures. BI Server bypasses its internal aggregation mechanisms and uses the preaggregated measures. 6. • If the Oracle BI Administrator assigns an aggregation rule of Aggr_External. Oracle BI Suite EE 10g R3: Build Repositories 18 . • You cannot mix noncomplex measures from standard data sources (relational) with complex measures from multidimensional data sources. • You cannot assign external aggregation to measures from standard relational data sources. If the Oracle BI Administrator assigns an aggregation rule of Aggr_External. Oracle.

To determine if counts need to be updated. Copyright © 2008. Oracle. All rights reserved. . last updated <time stamp>) Oracle BI Suite EE 10g R3: Build Repositories 18 . Update Member Counts To update member counts. Update Member Counts You must open the repository in online mode to update member counts. it appears in a message when you place the cursor over the hierarchy or level name.7. 7. the current number of members are returned from the selected hierarchy. When you update member counts. place your cursor over the hierarchy or level name. Place cursor here to see member count. The message appears in the following syntax: <hierarchy name> (<x> members. After the member count is updated successfully. the repository must be open in online mode.16 Oracle Internal & Oracle Academy Use Only Right-click one or more physical objects… …and select Update Member Count. A message informs you that the counts need to be updated or showing you when they were last updated.

Copyright © 2008. You may want to reduce the time it takes to return data or the size of the returned data by specifying a starting point (Starting from option) and the number of rows you want returned (Show option). Click Query and open the NQQuery. All rights reserved. the repository must be opened in online mode.8. Oracle BI Suite EE 10g R3: Build Repositories 18 . the repository must be opened in online mode. Right-click a hierarchy or level. Select View Members. The list of members by level in the hierarchy can help you determine if the XMLA connection on the server is set up properly. 8.log file to view query results. Oracle.17 Oracle Internal & Oracle Academy Use Only 1. View Members To view members. View Members To view members. 2. You can view members of hierarchies or levels in the physical layer of repositories. 3. . View members from the hierarchy.

b. Add a Hierarchy a. Oracle. c. Create a hierarchy object. Each step is presented in detail in the slides that follow. Copyright © 2008.18 Oracle Internal & Oracle Academy Use Only . Oracle BI Suite EE 10g R3: Build Repositories 18 . Add levels and columns. Modify the hierarchy. All rights reserved. 9. Add a Hierarchy This slide lists the steps for adding a hierarchy in the Physical layer.9.

Oracle BI Suite EE 10g R3: Build Repositories 18 . Copyright © 2008. 9a. they should first add these columns to the Physical layer and then associate them with a level in a hierarchy. and enter values in the Hierarchy dialog box. select New Object > Hierarchy. All rights reserved. To create a hierarchy. Click Add to add levels to the hierarchy. Create a Hierarchy Object Right-click a cube table object and select New Object > Hierarchy. Click Add to add levels to the hierarchy. Create a Hierarchy Object Most hierarchies are imported to the physical layer. Columns associated with a hierarchy that is not imported are not imported.9a. right-click a cube table object. If users need access to columns that are not imported. Oracle.19 Oracle Internal & Oracle Academy Use Only .

After adding columns to the hierarchy. select the column and click Select. If you select multiple columns and bring them into the hierarchy at the same time. Each level in a hierarchy has a level key. The data source cube table cannot set one column as a level key and the Oracle BI physical layer table set a different column as a level key. The first cube column associated with (added to) the level of a hierarchy is the level key.20 Oracle Internal & Oracle Academy Use Only . The icon for the column that you select first changes to the key icon after it is associated with the level of a hierarchy.9b. or double-click the column to select it. Oracle. Add Levels and Columns To add a column to a level. in the Physical Level dialog box. you can change the order of the columns in the Browse dialog box. When you select columns to add to a hierarchy. click Add. All rights reserved. This must match with the data source definition of the cube. the order of the selected group of columns remains the same. in the Browse dialog box. Then. starting with the highest level. 9b. Oracle BI Suite EE 10g R3: Build Repositories 18 . it is recommended that you select them in hierarchical order. Add Levels and Columns Copyright © 2008.

or remove levels. you can reorder. All rights reserved. edit. Therefore. you can reorder. edit. Oracle BI Suite EE 10g R3: Build Repositories 18 . 9c. Modify the Hierarchy After a hierarchy is created.9c.21 Oracle Internal & Oracle Academy Use Only . every hierarchy must be associated with a default member. If a query does not explicitly refer to a member of a hierarchy. Oracle. The Hierarchy dialog box contains a check box (Default member type ALL) that you should select when you want to designate the ALL member as the default. or remove levels. add. add. Copyright © 2008. Modify the Hierarchy After a hierarchy is created. a default member must be used. typically the ALL member.

All rights reserved. When you drag from the Physical layer. Oracle BI Suite EE 10g R3: Build Repositories 18 . Oracle. To create the business model layer. You can then modify objects in the Business Model and Mapping layer just as you would with a relational data source. logical tables. Copyright © 2008. 10. Create the Business Model and Mapping Layer Setting up the Business Model and Mapping layer for multidimensional data sources is similar to setting up the logical layer for a relational data source. dimensions. and relationships are created automatically. Create the Business Model and Mapping Layer Setting up the Business Model and Mapping (logical) layer for multidimensional data sources is similar to setting up the logical layer for a relational data source.10.22 Oracle Internal & Oracle Academy Use Only . Drag the cube to the BMM layer. you can drag the physical layer cube to the logical layer.

Create the Presentation Layer Setting up the Presentation layer for multidimensional data sources is similar to setting up the Presentation layer for a relational data source. To create the Presentation layer.23 Oracle Internal & Oracle Academy Use Only . All rights reserved. you can drag the business model to the Presentation layer. Drag the business model to the Presentation layer. Oracle. Copyright © 2008. You can then modify objects in the Presentation layer just as you would with a relational data source. Create the Presentation Layer Setting up the Presentation layer for multidimensional data sources is similar to setting up the Presentation layer for a relational data source.11. Oracle BI Suite EE 10g R3: Build Repositories 18 . 11.

. Copyright © 2008. Verify the Results To verify the results. 12.log. Oracle BI Suite EE 10g R3: Build Repositories 18 .24 Oracle Internal & Oracle Academy Use Only • Verify SQL in NQQuery. build and execute queries in Oracle BI Answers and then verify the SQL in the query log. Verify the Results • Build and execute the query in Oracle BI Answers.12. Oracle. All rights reserved.

Oracle BI Suite EE 10g R3: Build Repositories 18 .25 Oracle Internal & Oracle Academy Use Only . All rights reserved. Oracle.Summary In this lesson. Copyright © 2008. you should have learned how to create a repository using a multidimensional data source.

26 Oracle Internal & Oracle Academy Use Only . All rights reserved. Oracle BI Suite EE 10g R3: Build Repositories 18 .Practice 18-1: Creating a Repository Using a Multidimensional Data Source This practice covers the following topics: • Importing an Essbase cube to the Physical layer • Building a business model • Verifying the results Copyright © 2008. Oracle.

Security Oracle Internal & Oracle Academy Use Only Copyright © 2008. . All rights reserved. Oracle.

All rights reserved. Oracle. you should be able to: • Define users and groups • Set permissions for users and groups to control access to repository objects • Explain group inheritance • Identify and describe the authentication methods used by Oracle BI Server • Use query limits. Oracle BI Suite EE 10g R3: Build Repositories 19 . and filters to control access to repository information Copyright © 2008.Objectives After completing this lesson.2 Oracle Internal & Oracle Academy Use Only . timing restrictions.

Business Challenge • Only qualified persons should have access rights to applications. All rights reserved. Oracle BI Suite EE 10g R3: Build Repositories 19 . Copyright © 2008.3 Oracle Internal & Oracle Academy Use Only . Oracle. • Data needs to be protected so that only authorized employees can access sensitive information. • Employees should automatically see the information that is relevant to their roles.

Business Solution: Oracle BI Security • Provides ability to authenticate users through logon • Controls user access to data • Secures access control on object and data levels Copyright © 2008. All rights reserved. Oracle. Oracle BI Suite EE 10g R3: Build Repositories 19 .4 Oracle Internal & Oracle Academy Use Only .

Copyright © 2008. set filters on information. Security Manager The Security Manager displays all the security information for a repository. synchronize Lightweight Directory Access Protocol (LDAP) users and groups.5 Oracle Internal & Oracle Academy Use Only .Security Manager Is a utility in the Administration Tool that displays all the security information for a repository. You can use the Security Manager to configure users and groups. Oracle BI Suite EE 10g R3: Build Repositories 19 . and set up a managed query environment in which you have control over when users can access data. set access privileges for objects such as tables and columns. All rights reserved. Oracle.

users need to be authenticated by Oracle BI Server for a session to take place. Copyright © 2008.Working with Users • User accounts can be defined explicitly in: – An Oracle BI Server repository – An external source (such as a database table or an LDAP server) • Users must be authenticated by Oracle BI Server for a session to take place. Working with Users User accounts can be defined explicitly in an Oracle BI Server repository or in an external source (such as a database table or an LDAP server). unless the Oracle BI Server administrator has configured the system to bypass Oracle BI Server security. but they cannot span repositories.6 Oracle Internal & Oracle Academy Use Only . Oracle. All rights reserved. The Oracle BI Server Administrator user account is created automatically when a repository is created and cannot be deleted. Oracle BI Suite EE 10g R3: Build Repositories 19 . Users defined explicitly in a repository can access business models in that repository. Regardless of how user accounts are defined.

For most repository development a logging level of 1 or 2 is sufficient. select Action > New > User. You can grant rights to the user individually. select as many groups as you want the user to be a part of in the Group Membership portion of the dialog box.Adding a User to a Repository Name Password Logging level Group membership Copyright © 2008. and select New User. rightclick the right pane. Oracle. 3. All rights reserved. To grant membership in a group. or select Users in the left pane. and logging level information for a user. Adding a User to a Repository To add a new user to a repository 1. Groups must already be defined to appear here. password. Enter name. or a combination of the two.7 Oracle Internal & Oracle Academy Use Only . through groups. 2. In the Security Manager. Oracle BI Suite EE 10g R3: Build Repositories 19 .

Oracle. You can set repository permissions for catalogs. It is also possible to set query limits and filters for a specific user. you are implicitly denying access to all the physical tables and physical columns in that database. Setting User Permissions and Logons Permissions To set a user’s permissions. the user is denied access to the child objects. Permissions can be undefined. if you explicitly deny access to a particular physical database object. Logons To specify specific database logon IDs for one or more databases. All rights reserved. these entries are ignored. For example. or connection pools in the Physical layer.Setting User Permissions and Logons Undefined Denied Copyright © 2008. Otherwise.8 Oracle Internal & Oracle Academy Use Only Read-only . If you explicitly deny access to an object that has child objects. read. or columns in the Presentation layer. or access explicitly denied. Oracle BI Suite EE 10g R3: Build Repositories 19 . When the connection pool omits the username. enter the appropriate user IDs and passwords for the user in the Logons tab of the User dialog box. tables. click the Permissions button in the User dialog box. these usernames and passwords are used. which is discussed later in this lesson.

Oracle BI Suite EE 10g R3: Build Repositories 19 . You should assign a password for the Administrator account as soon as you create the repository. The administrative privileges granted to this account function only within the Oracle BI Server environment. The Administrator account belongs to the Administrators group by default and cannot be deleted from it.Administrator Account • Is a default. All rights reserved. and creating users and groups. This is a permanent account. creating business models. permanent user account in every Oracle BI Server repository • Cannot be deleted or modified other than to change the password and logging level Copyright © 2008. Note: The Oracle BI Server Administrator account is not the same as the Windows NT and Windows 2000 Administrator account. It cannot be deleted or modified other than to change the password and logging level. the Administrator account is created automatically and has no password assigned to it. Administrator Account The Oracle BI Server Administrator account (user ID of Administrator) is a default user account in every Oracle BI Server repository. The person logged on using the Administrator user ID or any member of the Administrators group has permission to change anything in the repository. such as importing physical schemas. no restrictions apply to any objects. Any query issued from the Administrator account has complete access to the data. When you create a new repository. Oracle. It is designed to perform all administrative tasks in a repository.9 Oracle Internal & Oracle Academy Use Only .

You can think of a group as a set of security attributes. Groups Users and groups can belong to a group. Oracle BI Server groups can explicitly deny particular security attributes to its members. Oracle. All rights reserved. Any subsequent modifications to that group affect all users who belong to it. Externally defined users can be granted group membership by use of the GROUP session variable. and to groups or roles in database management systems (DBMS).Working with Groups • A group is a set of security attributes. Oracle BI Server groups are similar to groups in Windows NT and Windows 2000. Oracle BI Server groups can allow access to objects. You can grant or deny sets of privileges to a group and then assign membership in that group to individual users. Additionally. Working with Groups Oracle BI Server allows you to create groups and then grant membership in them to users or other groups. Oracle BI Suite EE 10g R3: Build Repositories 19 . • Use Security Manager to create groups and then grant membership in them to users or other groups. and database groups or roles.10 Oracle Internal & Oracle Academy Use Only . Copyright © 2008. which is discussed later in this lesson. Like Windows NT and Windows 2000. Groups can simplify administration of large numbers of users.

Default member Defined members Copyright © 2008. Membership in the Administrators group supersedes all privileges granted to a user. the Oracle BI Server Administrators group. Members of this group have the authority to access and modify any object in a repository. Oracle. either through groups or explicitly through the user privileges. Use caution in granting membership in the Administrators group to users or other groups. Administrators Group Oracle BI Server has one predefined group. Any user who is a member of the Administrators group has all the privileges of the Administrator user. All rights reserved. The predefined Oracle BI Server Administrator user ID is automatically a member of the Oracle BI Server Administrators group.11 Oracle Internal & Oracle Academy Use Only .Administrators Group Is a predefined group with authority to access and modify any object in a repository • Administrator user is automatically a member. Oracle BI Suite EE 10g R3: Build Repositories 19 .

• Each group can contain: – Explicitly granted privileges – Implicitly granted privileges through membership in another group Defined groups Copyright © 2008.Defined Groups • You can create an unlimited number of groups in a repository.12 Oracle Internal & Oracle Academy Use Only . Oracle BI Suite EE 10g R3: Build Repositories 19 . All rights reserved. Each group can contain explicitly granted privileges or privileges granted implicitly using membership in another group. Defined Groups You can create an unlimited number of groups in an Oracle BI Server repository. Oracle.

Oracle.Group Inheritance • Privileges granted explicitly to a user have precedence over privileges granted through groups. All rights reserved. Privileges granted explicitly to a user have precedence over privileges granted through groups. a user or group is granted the least restrictive security attribute. • Privileges granted explicitly to a group take precedence over any privileges granted through other groups. Oracle BI Suite EE 10g R3: Build Repositories 19 . that in turn can have privileges granted through membership in other groups. Group Inheritance Users can have explicitly granted privileges. Copyright © 2008. If there are multiple groups acting on a user or group at the same level with conflicting security attributes. the user or group is granted the least restrictive security attribute.13 Oracle Internal & Oracle Academy Use Only . Any explicit permissions acting on a user take precedence over any privileges on the same objects granted to that user through groups. and so on. They can also have privileges granted through membership in groups. • If security attributes conflict. and privileges granted explicitly to the group take precedence over any privileges granted through other groups.

and READ for TableC. Oracle BI Suite EE 10g R3: Build Repositories 19 . Group4. Oracle. and Group5. TableB. • Because Group5 is at a lower level of precedence than Group2. Group2 allows access to TableA).Group Inheritance: Example User 1 Member Group 1 Member Group 2 Group 1 DENY Table A Member Group 3 Member Group 4 Group 2 Member Group 5 Group 3 READ Table B Group 4 READ Table C Group 5 DENY Table A Copyright © 2008. All rights reserved. the less restrictive level is inherited by User1. User1 has READ access to TableA. The result is that Group2 provides READ privilege on TableA.14 Oracle Internal & Oracle Academy Use Only READ Table A . • The resultant privileges from Group1 are DENY for TableA. • Because Group1 and Group2 have the same level of precedence and because the privileges in each cancel the other out (Group1 denies access to TableA. and TableC. its denial of access to TableA is overridden by the READ privilege granted through Group2. READ for TableB. • The total privileges granted to User1 are READ access for TableA. that is. and is an indirect member of Group3. Group Inheritance: Example • User1 is a direct member of Group1 and Group2.

The logging level is a user attribute and cannot be specified for a group. select Action > New > Group. Add members. 2. Set permissions for the group in the same way that you set permissions for users. Click Add and select any users or groups you want to grant membership to. Note that unlike the User dialog box. 3. Copyright © 2008.Adding a New Group Set permissions. Oracle. right-click the right pane. 4. Adding a New Group To add a new group to a repository: 1. Enter a name for the group. and select New Security Group. . In the Security Manager.15 Oracle Internal & Oracle Academy Use Only Members include users and groups. Oracle BI Suite EE 10g R3: Build Repositories 19 . All rights reserved. the Group dialog box does not allow you to select a logging level. or select Groups in the left pane.

Viewing Member Hierarchies It is also possible to view security relationships in the Query Repository utility. Oracle. which is discussed in the lesson titled “Using Administration Tool Utilities. JMEYER is a member of the SalesHR group.16 Oracle Internal & Oracle Academy Use Only .” In this example. Copyright © 2008. and then expand the tree in the right pane. JMEYER is also a member of the SalesManagers group. All rights reserved.Viewing Member Hierarchies Click the hierarchy icon in the left pane of the Security Manager. which is a member of the SalesManagers group. Oracle BI Suite EE 10g R3: Build Repositories 19 .

that a user has the necessary permissions and authorizations to log on and access data. Oracle BI Suite EE 10g R3: Build Repositories 19 . Copyright © 2008.Authentication Is the process by which a system verifies (with a user ID and password) that a user has the necessary permissions and authorizations to log on and access data • Oracle BI Server authenticates each connection request that it receives. Oracle BI Server authenticates each connection request it receives. Authentication Authentication is the process by which a system verifies.17 Oracle Internal & Oracle Academy Use Only . using a user ID and password. Oracle. All rights reserved.

All rights reserved.18 Oracle Internal & Oracle Academy Use Only .Authentication Options Oracle BI Server supports the following authentication types: • Operating system • External table • LDAP • Database • Internal Copyright © 2008. Oracle. Oracle BI Suite EE 10g R3: Build Repositories 19 . Authentication Options Oracle BI Server supports the following authentication types: • Operating system • LDAP • External table • Database • Internal Each of these options is discussed in detail in the slides that follow.

an Oracle BI Server user of the same name does not need to be authenticated by Oracle BI Server.19 Oracle Internal & Oracle Academy Use Only . To configure operating system authentication: 1. All rights reserved. Oracle. • The user ID in the repository must match the user ID in the trusted Windows domain. Enable operating system authentication in the NQSConfig. 2.ini file. users connecting to Oracle BI Server should not type a user ID or password at the logon prompt. If a user enters a user ID and (optionally) a password at the logon prompt. Operating System Authentication Oracle BI Server supports Windows NT and Windows 2000 Unified Logon. Assign the group membership and rights that you want the user to have. When operating system authentication is enabled. Copyright © 2008. 3. an Oracle BI Server user of the same name does not need to be authenticated by Oracle BI Server. the user has already been authenticated by Windows and so is trusted to log on to Oracle BI Server. that user ID and password overrides the operating system authentication and Oracle BI Server performs the authentication. Create a user in your repository named identically to the user ID in the trusted Windows domain. Oracle BI Suite EE 10g R3: Build Repositories 19 . • If a user is configured on a trusted Windows domain.Operating System Authentication Oracle BI Server supports Windows Unified Logon. If a user is configured on a trusted Windows domain.

External table authentication uses Oracle BI session variables that you define using the Variable Manager of the Administration Tool. Oracle BI Suite EE 10g R3: Build Repositories 19 . then database authentication is not performed. If external table authentication succeeds. The external database table contains user IDs and passwords. and could contain other information. • Use Oracle BI session variables to get values. maintain lists of users and passwords in an external database table. If external table authentication fails. Oracle. Certain session variables. All rights reserved. External table Copyright © 2008.External Table Authentication • Instead of storing IDs and passwords in a repository. you can maintain lists of users and their passwords in an external database table and use this table for authentication purposes. database authentication is performed.20 Oracle Internal & Oracle Academy Use Only . called “system variables. External table authentication can be used in conjunction with database authentication (discussed in the next slide). The USER variable is a system variable that is used with external table authentication. The table could also contain the names of specific database catalogs or schemas to use for each user when querying data. External Table Authentication Instead of storing user IDs and passwords in an Oracle BI Server repository.” have special uses. You learned about setting up variables earlier in this course. including group membership and display names used for Oracle BI users. Session variables get their values when a user begins a session by logging on.

Similar to external table authentication. The USER variable is a system variable that is used with LDAP authentication. Copyright © 2008. Oracle BI Suite EE 10g R3: Build Repositories 19 . a set of protocols for accessing information directories. The LDAP server can also provide the names of specific database catalogs or schemas to use for each user when querying data. Certain session variables. the LDAP server can also provide Oracle BI Server with other information. have special uses. LDAP Authentication LDAP is the acronym for Lightweight Directory Access Protocol. Oracle BI Server passes the user ID and password entered by the user to an LDAP server for authentication. • Use Oracle BI session variables to get authentication values. which you define using the Variable Manager of the Administration Tool. Oracle. Configuring LDAP authentication is beyond the scope of this course. This information is contained in LDAP variables that get passed to Oracle BI session variables during the process of user authentication. Instead.21 Oracle Internal & Oracle Academy Use Only . such as the user display name (used by Oracle BI Presentation Service) and the name of any groups to which the user belongs. you can set up Oracle BI Server to pass the user ID and password entered by the user to an LDAP server for authentication. Session variables get their values when a user begins a session by logging on. LDAP authentication uses Oracle BI session variables. see the Oracle BI Installation and Configuration Guide. instead of storing user IDs and passwords in an Oracle BI Server repository. In addition to basic user authentication.LDAP Authentication • Instead of storing IDs and passwords in a repository. called system session variables. All rights reserved.

this authentication can be applied to Oracle BI users. Oracle BI Suite EE 10g R3: Build Repositories 19 . You do not need to import the physical table objects. Add users to the repository. Database authentication can be used in conjunction with external table authentication. Import the database to the Physical layer. 3. If external table authentication fails. Copyright © 2008. if any) you want the users to have. So for large deployments. 4. database authentication is not performed. The database name in the Physical layer has to match with the database name in the NQSConfig. Passwords are not stored in the repository. Modify the NQSConfig.ini file. 6. 2. – Specify authentication database in NQSConfig. Create a data source name (DSN) for the database. Set up the connection pool without a shared logon. Import the database. database authentication is performed. If external table authentication succeeds.ini. this is typically not a good option. Database authentication requires that the user ID be stored in the Oracle BI Server repository. If a user has read permission on a specified database. Create users in the repository with names that are identical to the users in a database.22 Oracle Internal & Oracle Academy Use Only . – Import database to the repository.ini file (as specified in step 3). the user is trusted by Oracle BI Server. Unlike operating system authentication. To set up database authentication: 1.Database Authentication • Authenticates users through database logons • To set up database authentication: – Store user IDs (without passwords) in a repository. 5. Assign the permissions (including group memberships. All rights reserved.ini file. Oracle. Database Authentication Oracle BI Server can authenticate users through database logons. Specify the authentication database in the Security section of the NQSConfig.

Oracle BI Server user IDs are stored in nonencrypted form in an Oracle BI Server repository and are non-case-sensitive. • Users do not span repositories. • Users can access any business model if they have the necessary access privileges. They do not span multiple repositories. • Oracle BI Server authenticates against this list unless: – Another authentication method has already succeeded – Database authentication is specified in NQSConfig. Oracle BI Server attempts to authenticate users against this list when they log on unless another authentication method has already succeeded.Internal Authentication Maintain lists of users and passwords in the repository using the Administration Tool.ini file. All rights reserved. Oracle BI Server user IDs can be used to access any business model in a repository provided that the users have the necessary access privileges. User IDs are valid for only the repository in which they are set up. Oracle. passwords are not stored in the Oracle BI Server repository. or database authentication has been specified in the NQSConfig. Oracle BI Suite EE 10g R3: Build Repositories 19 . • Passwords are encrypted and case-sensitive. Note that if you are using LDAP or external table authentication. Passwords are stored in encrypted form and are case-sensitive.23 Oracle Internal & Oracle Academy Use Only • User IDs are nonencrypted and non-case-sensitive. Internal Authentication You can maintain lists of users and their passwords in Oracle BI Server repository using the Administration Tool. .ini Copyright © 2008.

unless OS authentication is explicitly turned off in the NQSConfig. database authentication) occurs only after these possibilities have been considered. Oracle BI Server populates session variables using the initialization blocks in the desired order that are specified by the dependency rules defined in the initialization blocks. then OS authentication is triggered. Operating system (OS): – No logon name – Turned on in NQSConfig. Oracle.ini file. If the server finds the USER session variable. it performs authentication against an LDAP server or an external database table. Internal or database . Order of Authentication If a user does not enter a logon name. OS authentication is also not used for Oracle BI users. optionally. LDAP or external database table – Populates session variables Copyright © 2008. All rights reserved. Oracle BI Suite EE 10g R3: Build Repositories 19 . Oracle BI Server internal authentication (or.Order of Authentication 1.ini 2.24 Oracle Internal & Oracle Academy Use Only 3. depending on the configuration of the initialization block with which the USER variable is associated.

Bypass Oracle BI Server security by setting the authentication type in the NQSConfig.ini file: AUTHENTICATION_TYPE = BYPASS_NQS.Bypassing Oracle BI Security It is possible to bypass Oracle BI Server security and rely on the security that is provided by issuing user-specific database logons and passwords. Bypassing Oracle BI Security Another option is to bypass Oracle BI Server security and rely on the security that is provided by issuing user-specific database logons and passwords when Oracle BI Server submits queries to databases. Set in the NQSConfig.25 Oracle Internal & Oracle Academy Use Only . The databases can then determine whether the query is performed for the user. Copyright © 2008.ini file. Oracle. Oracle BI Suite EE 10g R3: Build Repositories 19 . All rights reserved.

You can also use the Query Limits tab to control the following activities: • Control runaway queries by limiting queries to a specific number of rows received by a user or group. Controlling query privileges allows you to manage the query environment. To access the Query Limits tab. no control. • Limit queries by maximum run time or to time periods for a user or group. Oracle BI Suite EE 10g R3: Build Repositories 19 . and then click the Query Limits tab.26 Oracle Internal & Oracle Academy Use Only . Oracle. click the Permissions button for a user or group. • Allow or disallow populate privilege (this is primarily used for Marketing applications and is beyond the scope of this course).Setting Query Limits Use Query Limits tab to: • Control the number of rows received by a user or group • Control the maximum query run time • Enable or disable Populate Privilege • Enable or disable Execute Direct Database Requests Copyright © 2008. Setting Query Limits Oracle BI Server allows you to exercise varying degrees of control over the repository information that users and groups can access. • Allow or disallow the ability to execute direct database requests for specific database objects. Earlier in this lesson you saw how to use the General tab of the User/Group Permissions dialog box to restrict query access to specific objects. All rights reserved. or something in between. You can set on users a high level of query control.

In the Restrictions dialog box. Copyright © 2008. perform the following steps: 1. 2. All rights reserved. click the start time and drag to the end time. Setting Timing Restrictions To restrict access to a database during particular time periods. Access: .To explicitly disallow access. click Disallow. click Allow. Oracle BI Suite EE 10g R3: Build Repositories 19 . in the Restrict column.To explicitly allow access.27 Oracle Internal & Oracle Academy Use Only . . Oracle.Setting Timing Restrictions Restrict access to a database during particular time periods. click the ellipsis button to open the Restrictions dialog box. To select a time period.

ABC wants the Rib Pit restaurant to be able to analyze only its own information and not all customers’ information. After the object is added. To set up a filter: 1. In this example. Copyright © 2008.28 Oracle Internal & Oracle Academy Use Only . You set filters for dimension and fact data so that the management of the Rib Pit restaurant can analyze its purchases from ABC.Setting Filters Limit queries by setting up filters on objects for a user or group. Setting Filters You can limit queries by setting up filters on repository objects for users or groups. All rights reserved. Oracle. create the filter. locate and double-click the object on which you want to filter. In the Browse dialog box. Click Add. A Browser dialog box opens allowing you to pick the objects on which you want to filter. 2. The dialog box is not shown here. In the Expression Builder dialog box. 3. click the ellipsis button for the selected object to open the Expression Builder. Oracle BI Suite EE 10g R3: Build Repositories 19 . 4.

and filters to control access to repository information Copyright © 2008. Oracle.Summary In this lesson. timing restrictions. All rights reserved. you should have learned how to: • Define users and groups • Set permissions for users and groups to control access to repository objects • Explain group inheritance • Identify and describe the authentication methods used by Oracle BI Server • Use query limits. Oracle BI Suite EE 10g R3: Build Repositories 19 .29 Oracle Internal & Oracle Academy Use Only .

their passwords. All rights reserved. which is the default. you create new users and groups using the Oracle BI Administration Tool. and groups in the Oracle BI repository. In this practice. When using Oracle BI security. Oracle BI Server authenticates users against this list.30 Oracle Internal & Oracle Academy Use Only . Oracle BI Suite EE 10g R3: Build Repositories 19 . Oracle.Practice 19-1 Overview: Creating Users and Groups This practice covers the following topics: • Using the Security Manager to define users and groups • Setting up group hierarchies • Changing the default permission setting Copyright © 2008. After you have created these users. Practice 19-1 Overview: Creating Users and Groups You can maintain a list of users. you assign them to the appropriate group.

Practice 19-2 Overview: Setting Permissions for Users and Groups You first modify explicit permissions for Jacob Meyer. Lastly. You then modify the permission of the group that Meyer is a member of and examine the effect this has on him. Oracle. you add Meyer to another group and examine how this affects his access. Oracle BI Suite EE 10g R3: Build Repositories 19 . All rights reserved.31 Oracle Internal & Oracle Academy Use Only .Practice 19-2 Overview: Setting Permissions for Users and Groups This practice covers setting permissions for users and groups. Copyright © 2008.

Oracle. the table could also contain the logging level for each user. their logons and passwords. The table contains a list of users. After this information has been successfully imported.32 Oracle Internal & Oracle Academy Use Only . Oracle BI Suite EE 10g R3: Build Repositories 19 . you need to create an initialization block that retrieves this data. An external database consisting of user logon information has been provided so that you can import this information into the repository and use it to authenticate users during logon.Practice 19-3 Overview: Authenticating Using an External Database This practice covers the following topics: • Creating an initialization block to populate security session variables • Verifying external database authentication Copyright © 2008. Practice 19-3 Overview: Authenticating Using an External Database You can choose to maintain lists of users and their passwords in an external database rather than in the repository. and the names of specific database catalogs or schemas to use for each user when querying data. Optionally. Web interface information. and the group they belong to (only one group can be listed for each user). All rights reserved.

the user is trusted by Oracle BI Server.Practice 19-4 Overview: Authenticating Users with Database Authentication This practice covers the following topics: • Importing an authentication database • Adding a database user to the repository • Editing the security section of NQSConfig. Oracle. So for large deployments.ini • Verifying database authentication Copyright © 2008. If a user has read permission on a specified database. Oracle BI Suite EE 10g R3: Build Repositories 19 . Oracle BI Server can authenticate users through database logon names. this is not a good option. Practice 19-4 Overview: Authenticating Users with Database Authentication As an additional option. All rights reserved. you have to maintain a list of users in the repository.33 Oracle Internal & Oracle Academy Use Only . To authenticate users with this method.

All rights reserved.Practice 19-5 Overview: Setting Query Limits and Timing Restrictions This practice covers the following topics: • Setting query limits for users and groups • Setting timing restrictions for users and groups Copyright © 2008. table updates. or other production tasks.34 Oracle Internal & Oracle Academy Use Only . You also want to regulate when individual users can query databases to prevent users from querying when system resources are tied up with batch reporting. Oracle BI Suite EE 10g R3: Build Repositories 19 . Oracle. Practice 19-5 Overview: Setting Query Limits and Timing Restrictions You want to prevent queries from consuming too many resources by limiting how long a query can run and how many rows a query can retrieve.

Practice 19-6 Overview: Setting Filters to Personalize Information ABC decided that its customers would value the ability to analyze their own purchase records using Oracle BI.35 Oracle Internal & Oracle Academy Use Only . In this practice. ABC also wants to set up a filter so that members of the SalesUsers group see only the data that pertains to them. you set a filter so that the management of the Rib Pit restaurant can analyze its purchases from ABC.Practice 19-6 Overview: Setting Filters to Personalize Information This practice covers the following topics: • Setting query filters • Setting a query filter using a variable Copyright © 2008. However. All rights reserved. ABC wants each customer to be able to analyze only his or her own information. Oracle BI Suite EE 10g R3: Build Repositories 19 . Oracle.

Oracle Internal & Oracle Academy Use Only .

Cache Management
Oracle Internal & Oracle Academy Use Only

Copyright © 2008, Oracle. All rights reserved.

Objective
After completing this lesson, you should be able to manage Oracle Business Intelligence (BI) cache.

Copyright © 2008, Oracle. All rights reserved.

Oracle BI Suite EE 10g R3: Build Repositories 20 - 2

Oracle Internal & Oracle Academy Use Only

Business Challenge
• Decision support systems require a large amount of database processing. • Frequent trips to the back-end database to satisfy query requests can result in:
– Increased query response time – Poor performance

Copyright © 2008, Oracle. All rights reserved.

Business Challenge Decision support queries sometimes require a large amount of database processing. Requests for the same information require frequent trips to the back-end databases to retrieve the query results. Such trips can increase query response time and result in poor performance from the user’s perspective.

Oracle BI Suite EE 10g R3: Build Repositories 20 - 3

Oracle Internal & Oracle Academy Use Only

Business Solution: Oracle BI Server Query Cache
Oracle BI Server can be configured to maintain a disk-based cache of query results sets (query cache): • Saves the results of queries in cache files • Enables Oracle BI Server to satisfy subsequent query requests without having to access back-end databases • Improves query response time

Copyright © 2008, Oracle. All rights reserved.

Business Solution: Oracle BI Server Query Cache Oracle BI Server can save the results of a query in cache files and then reuse them later when a similar query is requested. By using the cache, the database only needs to be processed once for the initial time a query is executed. For subsequent times that a similar query is executed, the results are satisfied by the cache and not the database. Oracle BI administrators can configure Oracle BI Server to maintain a local, disk-based cache of query result sets (query cache). The query cache allows Oracle BI Server to satisfy many subsequent query requests without having to access back-end databases. This reduction in communication costs can dramatically decrease query response time.

Oracle BI Suite EE 10g R3: Build Repositories 20 - 4

Oracle Internal & Oracle Academy Use Only

Advantages of Caching
• Eliminates unnecessary database processing because precomputed results are stored in a local cache • Improves query performance by fulfilling a query from the cache as opposed to searching through the database • Conserves network resources by avoiding a connection to the database server

Copyright © 2008, Oracle. All rights reserved.

Advantages of Caching The fastest way to process a query is to skip the bulk of the processing and use a precomputed answer. With query caching, Oracle BI Server stores the precomputed results of queries in a local cache. If another query can use those results, all database processing for that query is eliminated. This can result in dramatic improvements in the average query response time. Not running the query on the database also frees the database server to do other work. In addition to improving performance, being able to answer a query from a local cache conserves network resources and processing time on the database server. Network resources are conserved because the intermediate results do not have to come over the network to Oracle BI Server. Administrators can take additional steps to improve caching performance. Such measures might include tuning and indexing databases, optimizing data source connectivity, leveraging aggregate tables, and constructing metadata efficiently.

Oracle BI Suite EE 10g R3: Build Repositories 20 - 5

Oracle Internal & Oracle Academy Use Only

Costs of Caching
• Disk space
– Query cache requires dedicated disk space.

• Administrative tasks:
– Set the cache persistence time appropriately. – Purge the cache when necessary. – Evaluate what level of noncurrent information is acceptable. – Remove stale data.

Copyright © 2008, Oracle. All rights reserved.

Costs of Caching Disk Space The query cache requires dedicated disk space. How much space depends on the query volume, the size of the query result sets, and how much disk space you choose to allocate to the cache. For performance purposes, a disk should be used exclusively for caching, and it should be a highperformance, high-reliability disk system. Administrative Tasks There are a few administrative tasks associated with caching. You need to set the cache persistence time for each physical table appropriately, knowing how often data in that table is updated. When the frequency of the update varies, you need to keep track of when changes occur and purge the cache manually when necessary. Keeping the Cache Up-to-Date If the cache entries are not purged when the data in the underlying databases changes, queries can potentially return results that are out-of-date. You need to evaluate whether this is acceptable. It might be acceptable to allow the cache to contain some stale data. You need to decide what level of stale data is acceptable and then set up (and follow) rules to reflect those levels. For applications where data is updated yearly or quarterly, it may be acceptable to keep stale data in the cache. For applications where data is updated frequently, it may be necessary to purge the cache more often. It is also possible to purge the entire cache as part of the extraction, transformation, and loading (ETL) process for rebuilding the data mart, making sure that there is no stale data in the cache.
Oracle BI Suite EE 10g R3: Build Repositories 20 - 6

Oracle Internal & Oracle Academy Use Only

• Keeping the cache up-to-date:

it is called a cache hit. The process of adding the new results to the cache is independent of the results being returned to the user. if 10.7 Oracle Internal & Oracle Academy Use Only User’s query request is translated into logical request. getting the data once and storing it in the cache helps with scalability. Oracle BI Suite EE 10g R3: Build Repositories 20 . the request is queried against the database. Oracle BI Query Cache Architecture A query cache is a facility that stores the results from queries. results are stored in cache and sent to the user. If there is a match.Oracle BI Query Cache Architecture The query cache consists of: • Cache storage space • Cache metadata • Cache detection If it is a cache miss. A cache is used to eliminate redundant queries. A cache hit means that the server was able to use the cache to answer the query and did not go to the database at all. The process of accessing the cache metadata occurs very quickly. Logical request The metadata is searched to identify a match (cache hit).000 users always look at the same dashboard. All rights reserved. and the results are immediately returned to the user. the bulk of the query processing is eliminated. the only effect on the running query is the resources consumed in the process of writing the cached results. For example. If the metadata shows a cache hit. results are retrieved from the cache and sent to the user. Oracle. This graphic in the slide depicts the basic architecture of the query cache. If a query is fulfilled by the results stored in the cache. Oracle BI Server . Cache metadata (cache hit?) Yes No Server database Query cache Results sent to user Copyright © 2008.

Specify directories for query cache storage.Configuring Query Cache To enable cache and configure cache storage in the NQSConfig.ini file: • Set the ENABLE parameter to YES. Oracle BI Suite EE 10g R3: Build Repositories 20 . high-reliability storage devices dedicated to cache storage. Copyright © 2008..ini file in the CACHE section (as shown in the screenshot). To enable caching. All rights reserved. Oracle.8 Oracle Internal & Oracle Academy Use Only . Configuring Query Cache The query cache is disabled by default. Set ENABLE = YES. an administrator needs to set the value of the ENABLE parameter to YES and identify the directories for query cache storage. Caching is enabled in the NQSConfig. – It should be on high-performance. • Specify the directories for query cache storage.

even after a database has been updated. • Monitor.Monitoring and Managing the Cache Requires an overall cache management strategy: • Invalidate the cache entries when underlying data has changed. All rights reserved. as well as the usage those queries receive. Oracle. and remove any undesirable cache entries. Oracle BI Suite EE 10g R3: Build Repositories 20 . For example. Copyright © 2008. It also depends on the number and types of queries that comprise your cache. Cache management techniques are provided in the slides that follow.9 Oracle Internal & Oracle Academy Use Only . Issues with retaining cache files may arise. Monitoring and Managing the Cache Cache files always produce the same results. The choice of a cache management strategy depends on the volatility of the data in the underlying databases and the predictability of the changes that cause this volatility. you need a cache management strategy to manage changes to the underlying databases and to monitor cache entries. not purging outdated caches (known as “stale caches”) can potentially return inaccurate results over time and consume disk space. Therefore. identify.

Each technique is discussed in detail in the slides that follow. Cache Management Techniques This slide lists some of the techniques you can use to manage the query cache. Oracle.10 Oracle Internal & Oracle Academy Use Only . Oracle BI Suite EE 10g R3: Build Repositories 20 .Cache Management Techniques • • • • • • • Configuring the cache parameters Setting caching and cache persistence for tables Using the Cache Manager Inspecting SQL for cache entries Modifying the Cache Manager column display Inspecting the cache reports Purging the cache entries manually using the Cache Manager • Purging the cache entries automatically • Using event polling tables • Seeding the cache Copyright © 2008. All rights reserved.

respectively. Oracle BI Suite EE 10g R3: Build Repositories 20 .Configuring the Cache Parameters Use the NQSConfig.ini parameters MAX_ROWS_PER_CACHE_ENTRY and MAX_CACHE_ENTRIES.11 Oracle Internal & Oracle Academy Use Only . Limiting the total number of cache entries provides another parameter with which to manage your cache storage. Copyright © 2008. If the number of rows a query returns is greater than the value specified in the MAX_ROWS_PER_CACHE_ENTRY parameter.ini parameters to control the maximum cache entry values and size: • MAX_ROWS_PER_CACHE_ENTRY: – Limits number of rows in the cache – Avoids using up cache space with runaway queries that return large numbers of rows • MAX_CACHE_ENTRIES: – Limits total number of cache entries – When cache storage exceeds specified number. All rights reserved. Limiting the number of rows is a useful way to avoid using the cache space with runaway queries that return large numbers of rows. entries that are least recently used (LRU) are discarded. Specify cache limits. the query is not cached. When the cache storage directories exceed the number specified in the MAX_CACHE_ENTRIES parameter. Oracle. the entries that are least recently used (LRU) are discarded to make space for new entries. Configuring Cache Parameters You can control the maximum number of rows for any cache entry and the maximum number of cache entries with the NQSConfig.

All tables are cacheable by default. allowing you to specify whether queries for that table will be added to the cache to answer future queries.12 Oracle Internal & Oracle Academy Use Only • Set cache persistence time to indicate how long entries for this table should be kept in the cache. If you enable caching for a table. it may not make sense to produce a cache at all when a table is being queried against. This is useful for data sources that are updated frequently. any query against that table will not be added to the cache. an administrator could indicate that a table is “non-cacheable” by deselecting the Cacheable check box. You could use the cache persistence time settings to purge the entries for that table every 59 seconds. – All tables are cacheable by default. All rights reserved. any query involving the table is added to the cache. For example. Still. Make table cacheable. which is updated every minute. You can also use the Cache persistence time field to specify how long the entries for this table should be kept in the query cache. In this case. Oracle BI Suite EE 10g R3: Build Repositories 20 . . such as a real-time subject area. By making a table non-cacheable. Cache persistence Copyright © 2008. in other cases. perhaps you have a table that stores stock ticker data. Oracle. Setting Caching and Cache Persistence for Tables You can set a cacheable attribute for each physical table.Setting Caching and Cache Persistence for Tables • Enable caching for a table so that any query involving the table is added to the cache. but some tables may not be good candidates to include in the cache unless you use the cache persistence time settings. Defining tables as non-cacheable is generally done only when there are tables that change very frequently.

or purging them. The associated cache entries are reflected in the right pane. and users. All rights reserved. or copy cache SQL. • Show. such as viewing and saving the cached SQL call. business models. Using the Cache Manager The Cache Manager provides Oracle BI Server administrators the capability of viewing information about the entire query cache.Using the Cache Manager • View information about the entire query cache or individual cache entries. as well as information about individual entries in the query cache associated with the open repository. with the total number of entries shown in the View-Only field at the top. Cache entries Right-click to show. save.13 Oracle Internal & Oracle Academy Use Only . business model. Select the Cache tab in the left pane to view the cache entries for the current repository. View cache by repository. or user. Oracle BI Suite EE 10g R3: Build Repositories 20 . Copyright © 2008. • Open using Manage > Cache in online mode. The Cache Manager can be viewed in online mode only. Select Manage > Cache to open the Cache Manager. save. Oracle. It also provides the ability to select specific cache entries and perform various operations on those entries. • Manually purge the cache entries. or copy SQL or to purge the entry.

you realize that a cache entry has fulfilled 90 other requests and you may want to know the SQL behind this entry to create other requests that are just as effective. Find and Find Again buttons provide the ability to search and troubleshoot complex queries. Oracle BI Suite EE 10g R3: Build Repositories 20 . To see the logical SQL used by the query. For example. right-click the cache entry and select Show SQL or select the cache entry and select SQL > Show from the menu. All rights reserved. The SQL for a request can assist in evaluating cache statistics. Oracle.14 Oracle Internal & Oracle Academy Use Only . Copyright © 2008. Inspecting SQL for Cache Entries The Cache Manager provides the ability to view the SQL for a cache entry in a separate window.Inspecting SQL for Cache Entries The Cache Manager provides the ability to view the SQL for cache entries in a separate window to: • Evaluate SQL of queries that receive frequent hits • Search and troubleshoot SQL Right-click cache entry and select Show SQL. Search or copy SQL.

Change the column order. Modifying the Cache Manager Column Display Administrators can alter how the Cache Manager displays information. Select Edit > Options. Oracle BI Suite EE 10g R3: Build Repositories 20 .15 Oracle Internal & Oracle Academy Use Only . Select or deselect columns. All rights reserved. Deselect a column to remove it from the display.Modifying the Cache Manager Column Display 1. An administrator can use the Up and Down buttons to set the order in which columns are displayed. Use the Up and Down buttons to change the column order. 3. 2. The Options window allows the administrators to choose the columns they want the Cache Manager to display by selecting or deselecting the check boxes for the columns. Oracle. Copyright © 2008.

or right-click in the right pane and select Show to display global cache information. select Action > Show. All rights reserved.ini cache settings Number of entries NQSConfig settings Storage information Number of queries satisfied from cache or not Copyright © 2008. a large number of queries not being satisfied by the cache could affect overall performance. such as: • Maximum allowable number of entries in the cache • Storage space information • Maximum allowable number of rows per cache entry result set Administrators can use this information to monitor cache performance. Oracle. This includes information such as: • Number of entries currently in the cache • Number of queries satisfied by the cache • Number of queries not satisfied The report also includes the settings from the Cache section of the NQSConfig.16 Oracle Internal & Oracle Academy Use Only .ini file. Inspecting Cache Reports In the Cache Manager. Oracle BI Suite EE 10g R3: Build Repositories 20 .Inspecting Cache Reports Select Action > Show Info to display global cache information: • Query information • Storage information • NQSConfig. For example.

a specified business model. Cache mode: Purge entries associated with repository. business model. Oracle BI Suite EE 10g R3: Build Repositories 20 . • Select entries and then Edit > Purge. or all cache entries associated with one or more selected tables. one or more selected catalogs. one or more selected schemas. schema. you can purge all cache entries for tables associated with one or more selected databases. There are two methods for manually deleting cache entries: • In Cache mode. Physical mode: Purge entries for tables associated with database.17 Oracle Internal & Oracle Academy Use Only . or a specified user within a business model. Purging Cache Entries Manually Using the Cache Manager Purging cache is the process of deleting entries from the query cache. Automated methods for purging cache are discussed in the next slide. • In Physical mode. Oracle. or specific table. you can purge one or more selected cache entries associated with the open repository. or user.Purging Cache Entries Manually Using the Cache Manager Purging is the process of deleting entries from the query cache. Purging cache entries manually gives the administrator the highest level of control over purging but is not necessarily the most efficient method. catalog. Copyright © 2008. All rights reserved.

Another technique for automatically purging the cache is the use of event polling tables. which essentially purges the cache. All rights reserved.ini. entries that are least recently used are discarded. cache is automatically purged if certain conditions are met. You can set cache persistence time to indicate how long entries for this table should be kept in cache.Purging Cache Entries Automatically Cache entries can also be purged automatically by: • Setting the Cache persistence time field for a physical table • Filling up the allotted cache storage space • Setting up an event polling table Copyright © 2008. When cache storage exceeds the specified number. such as MAX_CACHE_ENTRIES. You can also use cache parameters in NQSConfig. Purging Cache Entries Automatically As you learned earlier in this lesson. Oracle BI Suite EE 10g R3: Build Repositories 20 . This is discussed in more detail in the next slide. to limit the total number of cache entries. Oracle.18 Oracle Internal & Oracle Academy Use Only .

Oracle. Using Event Polling Tables Oracle BI Server event polling tables store information about updates in the underlying databases. Copyright © 2008. there is always the potential for stale data in the cache. An application (such as an application that loads data into a data mart) could be configured to add rows to an event polling table each time a database table is updated. there is always the potential for stale data in the cache.Using Event Polling Tables • Event polling tables store information about updates in the underlying databases. require the event table to be populated each time a database table is updated. Regardless of where it resides—in its own database or in a database with other tables—it requires a fixed schema. The use of event tables is one of the most accurate ways of invalidating stale cache entries. Oracle BI Suite EE 10g R3: Build Repositories 20 . • Using event polling tables can be the sole method of cache management or can be used with other cache-management techniques. All rights reserved. It is normally exposed only in the Physical layer of the Administration Tool. where it is identified in the Physical Table dialog box as being an Oracle BI Server event table. Caution: Because there is a polling interval in which the cache is not completely up-to-date. • Oracle BI Server polls table at set intervals and purges any stale cache entries that reference the updated tables. The event table is a physical table that resides on a database accessible to Oracle BI Server. Also.19 Oracle Internal & Oracle Academy Use Only . however. Oracle BI Server polls this table at set intervals and purges any stale cache entries that reference the tables. It does. and it is probably the most reliable method. because there is a polling interval in which the cache is not completely up-to-date. Note: Setting up polling tables is beyond the scope of this course. • Event tables require a fixed schema.

One of the main advantages of seeding the cache is the improvement of query performance. All rights reserved. For example. – Manually in Answers – Automatically using Oracle BI Delivers to schedule queries to run at a specified time Copyright © 2008. • Helps improve query performance – Use queries that heavily consume database processing and are likely to be reused. Oracle BI Suite EE 10g R3: Build Repositories 20 .Seeding the Cache Seeding is the process of prepopulating the cache with queries that are known to generate cache hits. therefore. Be careful not to seed the cache with simple queries that return many rows and require very little database processing. Seeding the Cache Seeding the cache is the process of prepopulating the cache with queries that are known to generate cache hits. Oracle. seed the cache with queries that have many joins or a great deal of sorting. A good seeding strategy requires knowing when cache hits occur so that you can seed the cache with the appropriate queries.20 Oracle Internal & Oracle Academy Use Only • Is performed by running prebuilt queries during off hours or immediately after purging . A good strategy. The best queries to seed the cache with are queries that heavily consume database processing resources or that are likely to be reused. or with queries that are used frequently throughout the business day. is to seed the cache during off hours by running queries and caching their results.

The slide contains only a partial list of cache hit conditions. • Queries that request an aggregated level of information can use cached results at a lower level of aggregation. • All the columns in the SELECT list of a new query must exist in the cached query or they must be able to be calculated from the columns in the query. Cache Hit Conditions When caching is enabled. All rights reserved. • Join conditions must be equivalent. For a full list. A cache hit means that Oracle BI Server was able to use the cache to answer the query and did not go to the database. such as the following: • Query WHERE clause constraints need to be equivalent to the cached results or to a subset of the results.21 Oracle Internal & Oracle Academy Use Only . Oracle BI Suite EE 10g R3: Build Repositories 20 . see the Oracle BI Server Administration Guide.Cache Hit Conditions A cache hit occurs only when certain conditions are met. each query is evaluated to see if it qualifies for a cache hit. Copyright © 2008. Oracle.

you should have learned how to manage Oracle BI cache. Copyright © 2008. All rights reserved. Oracle. Oracle BI Suite EE 10g R3: Build Repositories 20 .Summary In this lesson.22 Oracle Internal & Oracle Academy Use Only .

Practice 20-1 Overview: Inspecting the Cache Files You create a request in Answers and verify that a cache entry was created in the Cache Manager and that a cache file was created. All rights reserved.Practice 20-1 Overview: Inspecting the Cache Files This practice covers the following topics: • Enabling cache • Using the Cache Manager • Using the query log to verify the cache hits Copyright © 2008. Oracle. Oracle BI Suite EE 10g R3: Build Repositories 20 .23 Oracle Internal & Oracle Academy Use Only . You create the same request again and verify that the results were fulfilled by the cache and not the database.

Oracle. Oracle BI Suite EE 10g R3: Build Repositories 20 . In addition to modifying cache parameters.Practice 20-2 Overview: Modifying Cache Parameters This practice covers the following topics: • Modifying cache parameters • Making tables non-cacheable • Modifying Cache Manager display options • Purging cache entries manually Copyright © 2008. you make certain tables non-cacheable. You then modify the number of rows per cache as well as the number of cache entries allowed. Practice 20-2 Overview: Modifying Cache Parameters and Options You use the Cache Manager to inspect the cache parameters.24 Oracle Internal & Oracle Academy Use Only . All rights reserved.

scheduling. Oracle BI Suite EE 10g R3: Build Repositories 20 . you want to seed the cache with this data. In this practice. create and save a query to populate the cache. During this process. you set up and configure the Oracle BI Scheduler. and delivering an iBot to seed the cache Copyright © 2008. Oracle. All rights reserved. create an iBot to seed the cache. To improve performance.25 Oracle Internal & Oracle Academy Use Only . you use a programmatic Open Database Connectivity (ODBC) call to purge the cache. Practice 20-3 Overview: Seeding the Cache You have identified requests that are used frequently by sales representatives.Practice 20-3 Overview: Seeding the Cache This practice covers the following topics: • Creating Oracle BI Scheduler tables • Setting Oracle BI Scheduler configuration options • Creating a query to seed the cache • Creating.

Oracle Internal & Oracle Academy Use Only .

Enabling Usage Tracking Oracle Internal & Oracle Academy Use Only Copyright © 2008. Oracle. . All rights reserved.

Oracle. All rights reserved.2 Oracle Internal & Oracle Academy Use Only . Oracle BI Suite EE 10g R3: Build Repositories 21 .Objectives After completing this lesson. you should be able to: • Identify the need for usage tracking • Set up and administer Oracle BI usage tracking Copyright © 2008.

3 Oracle Internal & Oracle Academy Use Only • Your company may need to track database usage on a user or departmental level: . so cache is not seeded with appropriate queries. Oracle BI Suite EE 10g R3: Build Repositories 21 . – Additional aggregate tables may need to be created to speed up query processing. Oracle BI may not be optimized for the querying that actually occurs: – End-user queries may not match what is expected. Copyright © 2008.Business Challenges • When deployed first. Oracle. All rights reserved. – Users may be charged for database use. – Regulatory requirements may require usage tracking.

4 Oracle Internal & Oracle Academy Use Only .Business Solution: Oracle BI Usage Tracking • Tracks and stores Oracle BI Server usage at the detailed query level • Supports the accumulation of usage tracking statistics that can be used in a variety of ways. such as: – Database performance optimization – Aggregation strategies – Billing users or departments based on the resources they consume • Provides ability to analyze usage results using Oracle BI Answers or other reporting tools Copyright © 2008. All rights reserved. Business Solution: Oracle BI Usage Tracking Oracle BI Server supports the accumulation of usage tracking statistics that can be used in several ways. Oracle. Oracle BI Server tracks usage at the detailed query level. and billing users or departments based on the resources that they consume. Oracle BI Suite EE 10g R3: Build Repositories 21 . such as database optimization. aggregation strategies.

. see the Oracle Business Intelligences Server Administration Guide. • Log file Copyright © 2008. Oracle. If you use direct insertion. All rights reserved. Oracle BI Server directly inserts the usage tracking data into a relational database table. statistics for every query are inserted into a database table or are written to a usage tracking log file. For more information about setting up a log file to collect usage tracking information.5 Oracle Internal & Oracle Academy Use Only – Oracle BI Server inserts statistics for every query into a log file.Oracle BI Usage Tracking Methods There are two methods for enabling usage tracking: • Direct insertion (recommended approach) – Oracle BI Server inserts statistics for every query directly into a relational database table. Only the direct insertion method is discussed in this lesson. It is recommended that you use direct insertion to write statistics to a database table. Oracle BI Suite EE 10g R3: Build Repositories 21 . Oracle BI Usage Tracking Methods When you enable usage tracking.

ABC Example Set up Oracle BI usage tracking to track and store usage statistics at the detailed query level. Oracle. you set up Oracle BI usage tracking to track and store usage statistics at the detailed query level.6 Oracle Internal & Oracle Academy Use Only . All rights reserved. ABC Example In the example. Username Start date and time Logical SQL Row count Query run time Copyright © 2008. Oracle BI Suite EE 10g R3: Build Repositories 21 .

Test the results. 4. 9. Create the usage tracking table. 7. Set the connection pool parameter.7 Oracle Internal & Oracle Academy Use Only . Set additional parameters. 8. Import the table. Copyright © 2008. Set the physical table parameter. 6. All rights reserved. Steps to Enable Usage Tracking The steps in the following slides enable usage tracking using the direct insertion method. Oracle BI Suite EE 10g R3: Build Repositories 21 .Steps to Enable Usage Tracking 1. Enable usage tracking. Build a business model. 2. Oracle. 5. 3. Enable direct insertion.

Oracle.8 Oracle Internal & Oracle Academy Use Only . and Teradata.1. Copyright © 2008.<db>. • Use the provided SAACCT.. SQL Server.. Create the Usage Tracking Table The .\OracleBI\server\Schema.OracleBI\server\Schema folder contains CREATE TABLE scripts for Oracle.sql script to create the S_NQ_ACCT usage tracking table. IBM DB2. All rights reserved. The table name must match the name used in the corresponding repository. For sites that have Oracle BI Applications. Oracle BI Suite EE 10g R3: Build Repositories 21 . this is the name used in the Oracle BI repository. Create the Usage Tracking Table • Navigate to . 1. – This table stores the usage tracking data when queries are run against Oracle BI Server. Sites that build their own repositories may change the name of the usage tracking table. The sample scripts set the usage tracking table name to S_NQ_ACCT.

Import the Table Use known techniques to import the S_NQ_ACCT usage tracking table to the Physical layer of the repository. as shown in the screenshot. Oracle. Import the Table Import the usage tracking table to the Physical layer. All rights reserved. You can create a new database object. connection pool.9 Oracle Internal & Oracle Academy Use Only . 2. Oracle BI Suite EE 10g R3: Build Repositories 21 . and schema for usage tracking. Copyright © 2008.2.

All rights reserved. 3. Build a Business Model Use the physical columns in the S_Q_NQ_ACCT usage tracking table to construct the business model.3. Oracle BI Suite EE 10g R3: Build Repositories 21 .10 Oracle Internal & Oracle Academy Use Only . Build a Business Model Use S_NQ_ACCT to build a usage tracking business model. Oracle. Copyright © 2008.

11 Oracle Internal & Oracle Academy Use Only .ini. statistics are not accumulated. Set ENABLE = YES. statistics are accumulated for each logical query. Oracle BI Suite EE 10g R3: Build Repositories 21 .. When set to YES. Copyright © 2008.4. When set to NO. Navigate to . Enable Usage Tracking The ENABLE parameter in the USAGE_TRACKING section of the NQSConfig. b. Valid values are YES and NO.ini file enables or disables collection of usage tracking statistics. All rights reserved. 4. Oracle. Enable Usage Tracking a. c.\OracleBI\server\Config and open NQSConfig. The default value is NO. Scroll to Usage Tracking Section..

5. Note that this parameter is operative only if ENABLE = YES. Copyright © 2008. other parameters in NQSConfig. data is written to a flat file.ini become valid: PHYSICAL_TABLE_NAME. Enable Direct Insertion Set the DIRECT_INSERT parameter to YES to specify that statistics are inserted directly into a database table. BUFFER_SIZE. When DIRECT_INSERT is set to NO. When DIRECT_INSERT is set to NO. the DIRECT_INSERT parameter specifies whether statistics are inserted directly into a database table or written to a local file. and MAX_INSERTS_PER_TRANSACTION.ini become valid: STORAGE_DIRECTORY. These parameters are discussed in detail in the following slides. other parameters in NQSConfig. data is inserted into a table. FILE_ROLLOVER_INTERVAL_MINUTES. When DIRECT_INSERT is set to YES. and CODE_PAGE. Direct insertion into a database table is recommended. When DIRECT_INSERT is set to YES. they are not discussed in this course. See the Oracle Business Intelligence Administration Guide. Oracle. therefore. CONNECTION_POOL. Enable Direct Insertion In the NQSConfig. BUFFER_TIME_LIMIT_SECONDS. the default value is YES. All rights reserved. 5. Oracle BI Suite EE 10g R3: Build Repositories 21 . These parameters are relevant only when the log file method of usage tracking is enabled.12 Oracle Internal & Oracle Academy Use Only .ini file. NUM_INSERT_THREADS. CHECKPOINT_INTERVAL_MINUTES.

For Oracle databases. set the PHYSICAL_TABLE_NAME parameter to specify the table in which to insert records corresponding to the query statistics. Set the Physical Table Parameter In the NQSConfig. the general structure is: PHYSICAL_TABLE_NAME = "<Database>". Oracle BI Suite EE 10g R3: Build Repositories 21 .“ABC Usage Tracking Schema".."<Schema>".13 Oracle Internal & Oracle Academy Use Only ..“S_NQ_ACCT" .ini file. 6. The table name is the fully qualified name as it appears in the Physical layer of the Server Administration Tool. Example: PHYSICAL_TABLE_NAME = “ABC Usage Tracking"."<Schema>". • The table name is the fully qualified name as it appears in the Physical layer of the Server Administration Tool. Set the Physical Table Parameter Set the PHYSICAL_TABLE_NAME parameter to specify the table into which to insert records corresponding to the query statistics."<Table>" . Oracle. The general structure of this parameter depends on the type of database being used. Copyright © 2008. All rights reserved."<Table>" . • The general structure of this parameter depends on the type of database being used: – For Oracle: PHYSICAL_TABLE_NAME = "<Database>".6.

Oracle.14 Oracle Internal & Oracle Academy Use Only . All rights reserved.7.ini file. Set the Connection Pool Parameter Set the CONNECTION_POOL parameter to specify the connection pool to use for inserting records into the usage tracking table."ABC Usage Tracking Connection Pool“ . This is the fully qualified name as it appears in the Physical layer of the Server Administration Tool. set the CONNECTION_POOL parameter to specify the connection pool to use for inserting records into the usage tracking table. Oracle BI Suite EE 10g R3: Build Repositories 21 . • This is the fully qualified name as it appears in the Physical layer of the Server Administration Tool. • Example: CONNECTION_POOL = "ABC Usage Tracking ". Copyright © 2008. 7. Set the Connection Pool Parameter In the NQSConfig. Example CONNECTION_POOL = "ABC Usage Tracking ".."ABC Usage Tracking Connection Pool“ .

• MAX_INSERTS_PER_TRANSACTION specifies the number of records to group together as a single transaction when inserting into the usage tracking table. Example: NUM_INSERT_THREADS = 5 . All rights reserved. Example: MAX_INSERTS_PER_TRANSACTION = 1 . Set Additional Parameters • BUFFER_SIZE specifies the amount of memory used to temporarily store insert statements. subsequent query statistics are discarded until insert threads service the buffer entries. Example: BUFFER_SIZE = 10 MB .8.15 Oracle Internal & Oracle Academy Use Only • NUM_INSERT_THREADS . Example: BUFFER_TIME_LIMIT_SECONDS = 5 . Oracle BI Suite EE 10g R3: Build Repositories 21 . but also increases the possibility of inserts being rejected due to deadlocks in the database. Set Additional Parameters • BUFFER_SIZE – Amount of memory used to store insert statements temporarily • BUFFER_TIME_LIMIT_SECONDS – Maximum amount of time that an insert statement remains in the buffer before it is issued to the usage tracking table – Number of threads that remove insert statements from the buffer and issue them to the usage tracking table • MAX_INSERTS_PER_TRANSACTION – Number of records to group together as a single transaction when inserting into the usage tracking table Copyright © 2008. The number of threads should not exceed the total number of threads assigned to the connection pool. • NUM_INSERT_THREADS specifies the number of threads that remove insert statements from the buffer and issues them to the usage tracking table. When the buffer is full. Increasing the number may slightly increase performance. 8. Oracle. The buffer allows the insert statements to be issued to the usage tracking table independently of the query that produced the statistics to be inserted. This time limit ensures that the Oracle Business Intelligence Server issues the insert statements in a timely manner even during periods of extended quiescence. • BUFFER_TIME_LIMIT_SECONDS specifies the maximum amount of time that an insert statement remains in the buffer before it is issued to the usage tracking table.

All rights reserved. Oracle BI Suite EE 10g R3: Build Repositories 21 .9. Oracle.16 Oracle Internal & Oracle Academy Use Only . Test the Results • Use usage tracking subject area to build and run queries: • Check the log file and verify that the S_NQ_ACCT table is accessed: Copyright © 2008.

In some cases this information can be used to monitor and enforce regulatory compliance.Analyzing Usage Tracking Data • Watch for long-running queries (typically ad hoc): – End user may need training.17 Oracle Internal & Oracle Academy Use Only . or candidate columns for indexing. Oracle. • Perform usage audits for: – Regulatory compliance – Security • Determine whether a query should be used to seed the cache or be removed from the cache-seeding queries. – May need to assign query blocking/restrictions on how long queries can run or on number of records returned – Database may require additional indexes or tuning. All rights reserved. better ways to bullet-proof the use of the application. Oracle BI Suite EE 10g R3: Build Repositories 21 . Some organizations have strict security guidelines that require the ability to know who queried data warehouse and when it was queried. Analyzing Usage Tracking Data Why do you want to track usage? It is helpful from an administrative and maintenance perspective to be able to identify users that may need training. • Bill users or departments based on the resources that they consume. Queries that are being run and rerun may be candidates for cache seeding. Copyright © 2008. • Identify aggregation strategies.

Usage Tracking Sample The /OracleBI_HOME/server/Sample/Usage Tracking directory contains the following to help you understand and use the new usage tracking features in Oracle BI Infrastructure: • SQL_Server_Time contains scripts for populating sample tables in Oracle. This repository does not have to be combined with another repository to be used.rpd is a new repository file for the Oracle BI Infrastructure Usage Tracking Features. IBM DB2. Oracle. SQL Server. • UsageTracking. For information about merging repository (. All rights reserved.Usage Tracking Sample The <OracleBI_HOME>/server/Sample/Usage Tracking directory contains the following to help you understand and use usage tracking features: • SQL_Server_Time: Scripts for populating sample tables • Usage Tracking: Sample presentation catalog • UsageTracking. • Usage Tracking contains a new presentation catalog for the Oracle BI Infrastructure Usage Tracking features.rpd: Sample repository Copyright © 2008. see the Oracle Business Intelligence Presentation Services Administration Guide. and Teradata databases. For information about merging presentation catalogs. Oracle BI Suite EE 10g R3: Build Repositories 21 . see the Oracle Business Intelligence Server Administration Guide.18 Oracle Internal & Oracle Academy Use Only .rpd) files.

you should have learned how to: • Identify the need for usage tracking • Set up and administer Oracle BI usage tracking Copyright © 2008. Oracle.19 Oracle Internal & Oracle Academy Use Only .Summary In this lesson. Oracle BI Suite EE 10g R3: Build Repositories 21 . All rights reserved.

You use a provided script to create the S_NQ_ACCT database table. which is to track statistics by loading directly into a database table rather than a flat file. Oracle.ini file to support usage tracking. Oracle BI Suite EE 10g R3: Build Repositories 21 . and test the results. You use the recommended usage tracking approach.20 Oracle Internal & Oracle Academy Use Only . modify the NQSConfig. All rights reserved. Practice 21-1 Overview: Enabling Usage Tracking ABC wants to monitor the ad hoc queries generated by users to help identify performance improvement areas.Practice 21-1 Overview: Enabling Usage Tracking This practice covers the following topics: • Setting up Oracle BI to support usage tracking • Building a usage tracking business model • Using usage tracking to monitor queries Copyright © 2008. build the business model.

. All rights reserved.Multi-User Development Oracle Internal & Oracle Academy Use Only Copyright © 2008. Oracle.

you should be able to: • Set up an Oracle Business Intelligence (BI) multi-user development environment (MUDE) • Describe the multi-user development environment functionality • Develop a repository using multiple developers Copyright © 2008.2 Oracle Internal & Oracle Academy Use Only . Oracle BI Suite EE 10g R3: Build Repositories 22 . Oracle. All rights reserved.Objectives After completing this lesson.

3 Oracle Internal & Oracle Academy Use Only . they lock each other out as they check out objects for editing. Online editing makes it possible for multiple developers to work simultaneously. • Multiple developers working in online mode lock each other out as they check out objects. the Oracle BI repository development environment is not set up for multiple users. A more efficient development environment would permit developers to modify a repository simultaneously and then check in changes. However. Business Challenge By default. Oracle BI Suite EE 10g R3: Build Repositories 22 .Business Challenge By default. • This causes inefficiency and potential conflicts while other developers wait for access to the repository. All rights reserved. This is an inefficient approach to repository development and can result in conflicts as developers may potentially overwrite each other’s work. Copyright © 2008. the Oracle BI repository development environment is not set up for multiple users. Oracle. if they are working on the same business model.

and then merge the changes into the master repository. this is accomplished by creating projects in the repository file in the Administration Tool and then copying this repository file to a shared network directory. In this example. Business Solution: Oracle BI MUDE Oracle BI allows multiple developers to work on repository objects from the same repository during group development of Oracle BI applications. multiple developers need to work concurrently on subsets of the metadata and merge these subsets back into a master repository without their work conflicting with that of the other developers. In other organizations. Developers can check out projects. the administrator might want to deploy Oracle BI to other functional areas of the company. Copyright © 2008.4 Oracle Internal & Oracle Academy Use Only • MUDE breaks the repository into manageable pieces known as projects. after completing an implementation. In both situations. Oracle. For simplicity and performance. For example. this developer might want to use an Oracle BI multi-user development environment (MUDE) to maintain metadata code in smaller chunks instead of in a large repository. . – Single users can improve efficiency by working on smaller subsets of the repository. make changes. All rights reserved. – Changes are saved locally and then merged to the master repository. – Multiple users can work on the same or different projects. Oracle BI Suite EE 10g R3: Build Repositories 22 . a single developer might manage all development.Business Solution: Oracle BI MUDE • Oracle BI MUDE permits multiple users to work with the repository simultaneously: – Users edit local copies of the repository.

5 Oracle Internal & Oracle Academy Use Only . and merge from the master code repository.Oracle BI Repository Development Process Adheres to the classic Software Configuration Management (SCM) process: • It is conceptually and functionally analogous to processes found in pure-play source control systems. • Developers can check out. Developers manage the process with utilities and interfaces in the Administration Tool. Developers can work simultaneously on repository development. Oracle. Copyright © 2008. Oracle BI Suite EE 10g R3: Build Repositories 22 . • Oracle BI enables and manages checkout. merging. conflict resolution. Oracle BI Repository Development Process The Oracle BI repository development process adheres to the classic Software Configuration Management (SCM) process. and so on. code compares. It is conceptually and functionally analogous to processes found in pure-play source control systems. All rights reserved. work on. logging. version backups.

SCM Three-Way Merge • Process to manage concurrent development – Highly restrictive alternative is serial development. changes generally do not conflict. which are base-lined against a common parent file Original file File version 1 File version 2 Merged file File version 1 + File version 2 Copyright © 2008. Oracle. which are base-lined against a common parent file. “merged” file based on two changed files. Changes are managed by merge and reconciliation. Oracle BI Suite EE 10g R3: Build Repositories 22 . This permits changes to the same file by multiple developers. SCM Three-Way Merge The classic Software Configuration Management (SCM) process utilizes a three-way merge to manage concurrent development. .6 Oracle Internal & Oracle Academy Use Only – Most merging is automatic. – Conflicts require manual intervention. The merge creates a final. • Permits changes to the same file by multiple developers • Requires merging and reconciliation: • Creates a fourth “merged” file based on two changed files. All rights reserved.

Original.rpd . • Merge is managed using the Administration Tool. Developers check out the file and make changes locally. All rights reserved. Oracle.rpd Current. Oracle BI repository is stored as a file.rpd Copyright © 2008.rpd Modified.rpd). Oracle BI Suite EE 10g R3: Build Repositories 22 . Oracle BI Repository Three-Way Merge The process used for Oracle BI repository is conceptually identical to the class SCM three-way merge presented in the preceding slide.7 Oracle Internal & Oracle Academy Use Only Current. merged repository file.rpd + Modified.rpd Merged.Oracle BI Repository Three-Way Merge Conceptually identical to classic SCM three-way merge: • Oracle BI repository is stored as a file (. Changes are then merged into a final.

. groups.Multi-User Development Projects • Projects: – Are subsets of repository metadata – Consist of Presentation layer catalogs and their associated business model logical facts. users. Oracle BI Suite EE 10g R3: Build Repositories 22 . Oracle. dimensions.8 Oracle Internal & Oracle Academy Use Only • The best practice is to create projects of manageable size based on individual logical stars in the business model. variables. All rights reserved. and initialization blocks – Can overlap with other projects Copyright © 2008.

The modified repository contains changes by other developers between checkout and merge. Publishes to the network Original Master.rpd Current. 3. The system automatically moves the merged repository to the shared multi-user directory and removes the locks.rpd 2 Current. The original master repository may have changed through concurrent development since checkout.rpd) is automatically retained by the system for use during the merge. All rights reserved. Checks out projects from the master repository.9 Oracle Internal & Oracle Academy Use Only .rpd 4 New Master.rpd 3 Modified. The merged repository is the new master repository. Makes changes in the local (current) repository 3. A copy of the latest master repository (modified) is automatically retrieved by the system and compared with the current and original repositories in a three-way merge. 4. Merges the local changes 4. An unalterable copy of the checked out repository (original. which is stored in the shared multi-user directory. Each step is covered in detail later in this lesson.rpd 1 Original. This slide provides an overview of the process. Merges the local changes. Checks out projects from the master repository 2.Overview: Oracle BI Multi-User Development The developer: 1. Publishes the new master repository to the network. 1. Overview: Oracle BI Multi-User Development The Oracle BI multi-user development process follows a purposeful three-way merge. Oracle BI Suite EE 10g R3: Build Repositories 22 . Oracle. the developer resolves them manually. The developer performs the following steps.rpd Copyright © 2008. The modified master repository is automatically locked by the system to prevent issues during merge. 2. If there are any configuration conflicts during the merger. Makes changes in the local (current) version of the repository.rpd Merged.rpd + Modified.

All rights reserved. Oracle. Copyright © 2008. Oracle BI Suite EE 10g R3: Build Repositories 22 .ABC Example ABC wants multiple developers to be able to modify objects in the Inventory presentation catalog simultaneously.10 Oracle Internal & Oracle Academy Use Only . ABC Example ABC wants multiple developers to be able to modify objects in the Inventory presentation catalog simultaneously.

Copy the master repository to the shared directory. All rights reserved. Create projects. Oracle BI Suite EE 10g R3: Build Repositories 22 . Set up a shared network directory. Oracle. Copyright © 2008. Edit projects. Each step is covered in detail in the following slides. 3. Steps to Set Up an Oracle BI MUDE This slide identifies the high-level steps for setting up an Oracle BI multi-user development environment.Steps to Set Up an Oracle BI MUDE 1. 2. 4.11 Oracle Internal & Oracle Academy Use Only .

Adding a presentation catalog includes all fact tables and dependencies in the catalog. The Administration Tool adds all the logical fact tables automatically. Select Manage > Projects to open the Project Manager. Copyright © 2008. Enter a name for the project. In both cases. logical dimension tables joined to the logical fact tables are implicitly included. The Inventory catalog and the related fact table. The left pane contains the objects that are available to be placed in a project. Oracle BI Suite EE 10g R3: Build Repositories 22 . Inventory Facts. Create Projects To create projects in the Administration Tool. Select presentation catalogs or logical fact tables in the catalogs. Or you can select a presentation catalog and then click Add. Select Action > New Project. You can select one or more logical fact tables in the business model that are related to the presentation catalog and then click Add. Oracle.12 Oracle Internal & Oracle Academy Use Only . even though they do not appear in the right pane. In the example in the slide. Then select Action > New Project. 1. Selected objects are added to the project.1. Create Projects Select Manage > Projects to open the Project Manager. a new project called Inventory Project is created. The right pane contains the objects that you select to be part of the project. All rights reserved. are added to the project. Adding a logical fact table includes the presentation catalog containing the table. You can group facts by catalogs or by business model. Build the project by adding presentation catalogs or logical fact tables to the project.

groups. 2. • Add other metadata (such as users. variables. Remove unwanted fact tables. Copyright © 2008. users. select the fact table in the right pane and then click Remove. or doubleclick the object in the left pane. Oracle BI Suite EE 10g R3: Build Repositories 22 . Add additional catalogs. Oracle.2. or variables) to the project. To add additional metadata objects. Edit Projects • Remove unwanted fact tables from the project. Edit Projects To remove any fact table from the project. groups. All rights reserved. Add other metadata to the project. select the object in the left pane and click Add. or initialization blocks needed for the project.13 Oracle Internal & Oracle Academy Use Only .

All rights reserved. This directory must be accessible to all developers and repository servers. Developers create a pointer to this directory when they set up the Administration Tool on their machines. Note: The administrator must set up a separate. This directory typically contains copies of master repositories that multiple developers access during checkin and checkout.3.14 Oracle Internal & Oracle Academy Use Only . Set Up a Shared Network Directory The administrator must identify or create a shared network directory that all developers can access. Oracle. shared network directory that is dedicated to multi-user development. Oracle BI Suite EE 10g R3: Build Repositories 22 . critical repository files can be unintentionally overwritten and repository data can be lost. If it is not set up and used as specified. All users must have access to the shared directory. 3. This shared network directory is used only for multi-user development for the master repository. Copyright © 2008. Set Up a Shared Network Directory The administrator must identify or create a shared network directory that all developers can access and then copy the appropriate repository files to that location.

Oracle. Oracle BI Suite EE 10g R3: Build Repositories 22 .15 Oracle Internal & Oracle Academy Use Only . After you copy the repository to the shared network directory. Copy the Master Repository to the Shared Directory Copy the master repository file and paste it in the directory that you have dedicated to multi-user development. you can notify developers that the multiuser development environment is ready for use. All rights reserved. Copy the master repository to the shared directory. 4.4. Copyright © 2008. Copy the Master Repository to the Shared Directory Copy the master repository file and paste it in the directory that you have dedicated to multi-user development. Projects from this master repository are extracted and downloaded by the developers who make changes and then merge them back into the master repository.

5. Copyright © 2008. Closing a repository before publishing to network 10. Tasks performed by Administration Tool during checkout 4. 11. Multi-user options during development 6. 2. Track project history. Oracle. Each step is covered in detail in the slides that follow. 3. Making Changes in an Oracle BI MUDE This slide identifies the high-level steps and processes that occur when you make changes in an Oracle BI multi-user development environment. Check-in changes: “Merge repositories” dialog box 9. Administration Tool tasks during check in 7. Check out projects. Oracle BI Suite EE 10g R3: Build Repositories 22 .16 Oracle Internal & Oracle Academy Use Only . Merge decisions. Publish to network. Check-in changes: Lock Information dialog box 8. 12. Change metadata. All rights reserved.Making Changes in an Oracle BI MUDE 1. Point to the multi-user directory.

1. Point to Multi-User Directory Before checking out projects. Oracle. each developer must set up the Administration Tool application to point to the multi-user development directory.17 Oracle Internal & Oracle Academy Use Only Shared directory . The “Multiuser development directory” field is mandatory. All rights reserved. each MUD developer should enter their name. For convenience and tracking. Username Copyright © 2008. The Administration Tool stores this path in a hidden Windows registry setting on the developer’s workstation and uses it during checkout and checkin. The value is stored in the HKEY_CURRENT_USER part of the registry and is. unique for each login. If a user enters a name here. Oracle BI Suite EE 10g R3: Build Repositories 22 . The “Full name” field is optional. Point to the Multi-User Directory Before checking out projects. Select Tools > Options and then click the Multiuser tab. therefore. developers must set up their Administration Tool applications to point to the multi-user development directory. 1. the value is used by default in the “Full name” field of the repository Lock Information dialog box (discussed later). Use the Browse button to navigate to the directory or enter the directory path. It has to be filled by any user who wishes to use the multi-user development (MUD) feature and must be set to the directory on the network shared with other MUD developers.

. Check Out Projects After setting up a pointer to the multi-user development default directory. Check Out Projects Select File > Multiuser > Checkout and select the desired project or projects. Select one or more projects to extract. In this example. • After selecting the master repository. All rights reserved. 2. the user must enter the name of the new. If there is only one master repository. it is chosen by default and no dialog box is presented to the user. Save extracted repository. there are two projects. extracted repository. The Checkout option is available only when there is a multi-user development directory defined in the Multiuser tab of the Options dialog box. which is stored in the user’s local directory. • To check out projects. it is chosen by default and no dialog box is presented to the user. If there is only one project in the master repository. and is presented with a dialog box to select the project or projects to import. • The user is presented with a dialog box to select the master repository from the shared directory. Oracle. • After selecting a project or projects. the user enters a username and password. In this example. a developer can check out the desired projects.18 Oracle Internal & Oracle Academy Use Only Select master repository. Copyright © 2008. there are two master repositories. select File > Multiuser > Checkout. Oracle BI Suite EE 10g R3: Build Repositories 22 .2.

the Administration Tool performs the following tasks: • In the developer’s local \OracleBI\server\Repository directory. • After the developer saves the new repository file. Oracle.rpd. All rights reserved.19 Oracle Internal & Oracle Academy Use Only . • In the developer’s local \OracleBI\server\Repository directory. The developer makes metadata changes in this file. Administration Tool Tasks During Checkout • Makes a temporary copy of the master repository in the local directory • Saves a local copy of projects in the new repository in the local directory • Saves a second local copy of projects in the new repository in the local directory with “original” as the prefix • Deletes temporary copy of the master repository from the local directory • Tracks transactions in a log Shared directory after extract Local directory after extract Copyright © 2008. All changes are tracked in the log. In the developer’s local \OracleBI\server\Repository directory. Administration Tool Tasks During Checkout During checkout. the Administration Tool makes a temporary copy of the master repository.3. Therefore. you need to check the multi-user development log in the log viewer (discussed later in this lesson). • In the developer’s local \OracleBI\server\Repository directory. adding “original” as the prefix. the Administration Tool saves a local copy of the selected projects in a new repository such as Development1. To determine if a project has been checked out. the Administration Tool does not place a lock on the projects in the master repository on the shared network drive.rpd. the temporary copy of the master repository is automatically deleted. the Administration Tool saves a second local copy of the new repository. 3. to enable changed projects from being compared with original projects locally. which is discussed later in this lesson. Oracle BI Suite EE 10g R3: Build Repositories 22 . checkout is complete. Caution: When a developer selects and saves projects to a local repository file. nothing physically prevents others from working on the same project. An example of this local copy might be originalDevelopment1.

• Project definitions: Should only be changed by the administrator in the master repository • Physical connection settings: Intentionally not propagated. After making changes to a local repository. Developers can add new logical columns. the changes will not be merged correctly during check-in. and so on. It is important to note. Change Metadata Change metadata as you would during single-user development. with the following exceptions: • Hierarchy definitions • Project definitions • Physical connection settings Copyright © 2008. that Oracle BI assumes that the individual developer understands the implications these changes might have on the master repository. Developers may also work simultaneously on the same project locally. The following modifications should not be made in a local repository: • Hierarchy definitions: When modified concurrently by two developers. All rights reserved. this change is propagated to the master repository without a warning prompt. All Open Database Connectivity (ODBC) data source names (DSNs) specified in the metadata must exist on the developer’s workstation. 4. if a developer deletes an object in a local repository. enter the name of the repository as the default repository. Oracle BI Suite EE 10g R3: Build Repositories 22 . logical table sources. Developers should not test in local environments because the local machines may not have the same connections as the server.20 Oracle Internal & Oracle Academy Use Only . logical tables. For example. and test the edited metadata.ini file. the developer can edit the local NQSConfig. Oracle. however.4. Change Metadata Most changes that can be made to standard repository files are also supported for local repository files. change table definitions.

which compares the local version of original repository with the subset repository. Oracle BI Suite EE 10g R3: Build Repositories 22 .21 Oracle Internal & Oracle Academy Use Only – Discards changes to local repository without checking in .5. • Merge Local Changes first offers a Lock Information dialog box to lock the master repository in the shared directory. and then opens the standard Merge dialog box. • Discard Local Changes closes the repository and discards any changes to the local repository without checking in changes. Multi-User Options During Development The following multi-user options are enabled when the local. Multi-User Options During Development When a developer opens the local version of the extracted repository. All rights reserved. 5. extracted repository is open: • Compare with Original – Launches a dialog box that compares the local version of the original repository with the subset repository • Discard Local Changes • Merge Local Changes – Launches a dialog box to merge local changes with the master repository Copyright © 2008. Oracle. the following multi-user options are enabled: • Compare with Original launches a compare repositories dialog box.

and records the lock in the log. This is necessary because the master repository in the shared network directory might have changed after the developer checked out the projects. All rights reserved. the Multi-User Development > Merge Local Changes option on the File menu is unavailable until the current checkin process has been successfully completed. • The Administration Tool automatically copies the current version of the master repository from the shared network directory to the \OracleBI\server\Repository directory on the developer’s machine and updates the log. If not. Administration Tool Tasks During Checkin • Locks the master repository to prevent other developers from attempting to merge at the same time • Copies the master repository to the local directory to ensure that the developer merges with the most recent version Copyright © 2008. For other developers. Oracle. Administration Tool Tasks During Checkin When the checkin process begins.6. Oracle BI Suite EE 10g R3: Build Repositories 22 . it locks the master repository.22 Oracle Internal & Oracle Academy Use Only . preventing other developers from performing a merge until the current merge is complete. 6. the following actions occur: • The Administration Tool determines whether the master repository is currently locked.

the developer is presented with a Lock Information dialog box. Oracle. the developer can add a comment about the changes. Checkin Changes: Lock Information Dialog Box Select File > Multiuser > Merge Local Changes to display the Lock Information dialog box. Oracle BI Suite EE 10g R3: Build Repositories 22 . the developer must check in the projects and merge the metadata changes into the master repository on the shared network directory. When the developer clicks OK. the Administration Tool automatically copies the current version of the master repository from the shared network directory to the \OracleBI\server\Repository directory on the developer’s local machine.23 Oracle Internal & Oracle Academy Use Only . Checkin Changes: Lock Information Dialog Box After changing and testing the metadata on a local machine.7. Only one developer can merge metadata from a local repository into the master repository at a time. Copyright © 2008. The Full Name field is populated by the Full Name field in the Multiuser tab in the Options dialog box. If desired. All rights reserved. After selecting File > Multiuser > Merge Local Changes. 7.

Oracle. changes are merged to the local copy of the shared repository.8. When the developer clicks the Merge button.24 Oracle Internal & Oracle Academy Use Only At this point. the “Merge repositories” dialog box is displayed. At this point the changes have not yet been published to the shared repository on the server. the changes are merged to the local copy of the shared master repository and the local copy is opened. Checkin Changes: “Merge repositories” Dialog Box After a developer successfully locks the master repository. Oracle BI Suite EE 10g R3: Build Repositories 22 . All rights reserved. . Copyright © 2008. Checkin Changes: Merge Repositories Dialog Box After a developer successfully locks the master repository. 8. the Merge repositories dialog box is displayed.

releases the lock on the master.9. and the event is logged. Clicking the Cancel button returns the developer to the open repository. Closing a Repository Before Publishing to Network If a developer attempts to close the local master repository before publishing it to the network or discarding local changes. • Close repository and keep lock: This closes the repository leaving the master repository locked. This option is also available (as Publish to Network) from the File > Multiuser submenu. Oracle. • Discard local changes: Releases the lock on the master repository and records the event in the log. the dialog box in the slide appears and offers the following choices: • Publish repository: Publishes the merged repository to the network share as the new master. Oracle BI Suite EE 10g R3: Build Repositories 22 . the following dialog box is displayed: Copyright © 2008. All rights reserved. This is available from the File > Multiuser submenu. This option is available after a Checkout or Merge Local Changes is performed.25 Oracle Internal & Oracle Academy Use Only . Closing a Repository Before Publishing To Network If a developer attempts to close the local master repository or exit the application before publishing it to the network or discarding local changes. This option is available after a Merge Local Changes event occurs. 9.

This releases the lock on the shared master and logs the event. and logs the event.26 Oracle Internal & Oracle Academy Use Only . Copyright © 2008. 10. releases the lock on the master. All rights reserved.10. Oracle BI Suite EE 10g R3: Build Repositories 22 . Publish to Network Select File > Multiuser > Publish to Network to merge the local copy of the master repository with the master repository on the network share. the local repository files are deleted from the developer’s \OracleBI\server\Repository directory. Publish to Network • Select File > Multiuser > Publish to Network. Oracle. • This publishes the merged repository to the network share as the new master. When the merge is complete.

Selecting Current means that the developer accepts the changes by other developers in the current local version of the master repository. the original and modified repositories have a Regions presentation table in the Inventory presentation catalog that is not in the current shared repository. Oracle BI Suite EE 10g R3: Build Repositories 22 . Changes cannot be combined. This means that another developer made this change and checked in the project while this developer had the project checked out. and the local version of the current shared repository. which was copied to the local directory when the developer selected Merge Local Changes. the developer has to make decisions about what to do with the changes.27 Oracle Internal & Oracle Academy Use Only . All rights reserved. Merge Decisions If a second developer selects File > Multiuser > Merge Local Changes after another developer has checked in changes. Copyright © 2008. Merge Decisions Merge decision The Regions table exists in the original and modified repositories but not in the current repository. 11.11. if two developers modify the same object at the same time. Oracle. Selecting Modified means that the developer retains the changes in the modified repository and overwrites other developers’ work in the current repository. The dialog box gives the developer the option of accepting or not accepting the changes in the master repository. The developer must select current or modified. Thus. the modified repository. one developer’s changes are lost. In this example. The “Merge repositories” dialog box compares the original repository.

Select master repository. 3. Multi User History Copyright © 2008. Oracle BI Suite EE 10g R3: Build Repositories 22 . 4. 1. Track Project History All log events are stored in a log viewer. the Multi User History dialog box is displayed with the different versions of the projects listed. If the directory contained only one master repository. This dialog box lists all master repositories in the shared Multiuser Development Directory specified in the Options dialog box. 2. File > Multiuser > History 3. If no directory is specified in the Options dialog box. After the repository has been selected. The viewer is accessed by selecting File > Multiuser > History. 12. it would be selected by default.28 Oracle Internal & Oracle Academy Use Only . User ID and password 4. and no Multiuser Development History dialog box would be presented to the user. After successful login. the History menu item is disabled. 2.12. Oracle. All rights reserved. the user sees the Multiuser Development History dialog box. 1. This menu item is available only when the Oracle BI Administration Tool is open with no repository file open. When a user chooses this menu item. the user is prompted to fill in the user ID and the password for the latest version of master repository. Track Project History Log history is stored in a log viewer.

there is nothing to show because there were no decisions made by the user.29 Oracle Internal & Oracle Academy Use Only . The Conflict Resolution check box must be selected in the dialog box for this menu item to be enabled. • View > Conflict Resolution loads all necessary repositories of the selected version and shows the Merge dialog box in read-only mode with all selected decisions as they were during the Merge Local Changes activity at that time. or all details if no version is selected. Oracle. • View > Prior to Merge > Changes compares the modified subset repository of a selected version with the original subset repository. The slide shows an example. • View > Prior to Merge > Projects loads the selected version of the modified subset repository to the Administration Tool in read-only mode. All rights reserved. Details Copyright © 2008. • View > Details displays the detail log for the selected version or multiple selected versions. Oracle BI Suite EE 10g R3: Build Repositories 22 .History Menu Options Use menu options to navigate and view history. Otherwise. History Menu Options • View > Repository loads the selected master version of the repository to the Administration Tool in read-only mode. It opens the modified subset of the shared repository and displays the Compare Repositories dialog box with all changes made by the user in the selected version.

MWEST. for \network\RPD\SharedABC. The file must have the same base name as the master repository.admin2 Administrators are defined by their network login name. There may be more than one administrator. In this case.30 Oracle Internal & Oracle Academy Use Only . For example. The file has to have a hidden flag. If an administrator deletes the whole MUD history.rpd. For example. Administrators are defined in a special hidden option file in the MUD directory. If an administrator leaves one or more versions in the history. an administrator cannot delete version 3 if there are versions 2 and 1. version counting restarts from version 1. Example: [Options] Admin=Administrator. All rights reserved. The option file is a normal text file in the format: [Options] Admin=admin1. administrator names are separated by semicolons. but the extension is .opt. Oracle. The file can have network access privileges set to be accessed only by the MUD administrator(s). Deleting History Items The Delete menu item is available only to an administrator.opt. Hidden option file Stored in MUD directory Copyright © 2008. the administrator could create the hidden file \network\RPD\SharedABC.JMEYER An administrator can delete the whole MUD history or the oldest 1 to n versions. Oracle BI Suite EE 10g R3: Build Repositories 22 . the version number remains the same as it was last time. It is not possible to delete version(s) in the middle of the history.Deleting History Items The Delete menu item is available only to Administrators defined in a hidden option file in the MUD directory.

Oracle. All rights reserved. Oracle BI Suite EE 10g R3: Build Repositories 22 . you should have learned how to: • Set up an Oracle BI multi-user development environment • Describe multi-user development environment functionality • Develop a repository using multiple developers Copyright © 2008.31 Oracle Internal & Oracle Academy Use Only .Summary In this lesson.

Practice 22-1 Overview: Setting Up a Multi-User Development Environment ABC is accustomed to using multi-user development environments for its developers.Practice 22-1 Overview: Setting Up a Multi-User Development Environment This practice covers the following topics: • Creating projects • Copying a master repository to a shared directory • Setting a multi-user shared directory Copyright © 2008. All rights reserved. Oracle. You prepare the development platform to support multi-user development and then configure two users to act as developers to test the environment. Oracle BI Suite EE 10g R3: Build Repositories 22 .32 Oracle Internal & Oracle Academy Use Only .

33 Oracle Internal & Oracle Academy Use Only . two users. All rights reserved. MWEST and JMEYER. Oracle.Practice 22-2 Overview: Using a Multi-User Development Environment This practice covers the following topics: • Checking out projects • Modifying project metadata • Checking in projects • Publishing changes to the network • Merging changes • Checking project history Copyright © 2008. Oracle BI Suite EE 10g R3: Build Repositories 22 . Practice 22-2 Overview: Using a Multi-User Development Environment In this practice. work in the multi-user development environment and modify the same project simultaneously. This requires you to have two instances of the Oracle BI Administration Tool running at the same time.

Oracle Internal & Oracle Academy Use Only .

All rights reserved. Oracle. .Using Administration Tool Utilities Oracle Internal & Oracle Academy Use Only Copyright © 2008.

Objectives The Administration Tool provides a number of wizards and utilities to aid in performing various tasks.Objectives After completing this lesson. This lesson shows you how to use the Administration Tool wizards and utilities to manage. and enhance repositories. Oracle. and enhance repositories Copyright © 2008. All rights reserved.2 Oracle Internal & Oracle Academy Use Only . maintain. you should be able to: • Describe the various wizards and utilities in the Oracle Business Intelligence (BI) Administration Tool • Use the Administration Tool wizards and utilities to manage. maintain. Oracle BI Suite EE 10g R3: Build Repositories 23 .

Wizards and Utilities This lesson describes the following utilities and wizards: • Joins Manager • Session Manager • Query Repository • Replace Columns and Tables • Externalize Strings • Rename Wizard • Repository Documentation • Generate Metadata Dictionary • Oracle BI Event Tables • Update Physical Layer • Remove Unused Physical Objects Copyright © 2008. maintenance. you had a chance to interact with a number of features of the Administration Tool. and administration of repositories. All rights reserved. Oracle. In this lesson. Wizards and Utilities In the process of building the SupplierSales and Inventory business models in this course.3 Oracle Internal & Oracle Academy Use Only . Oracle BI Suite EE 10g R3: Build Repositories 23 . you are introduced to additional Administration Tool utilities and wizards that can aid in the development.

Copyright © 2008.Accessing Wizards and Utilities • Select Manage > Joins to access the Joins Manager. such as the Query Repository utility and the Calculation Wizard. • Select Tools > Utilities to access remaining utilities. Oracle BI Suite EE 10g R3: Build Repositories 23 . • Select Tools > Query Repository to access the Query Repository utility. All rights reserved. Oracle. Accessing Wizards and Utilities Use the Manage and Tools menus to access Administration Tool wizards and utilities. You can also right-click objects in the repository to access some utilities and wizards.4 Oracle Internal & Oracle Academy Use Only . • Select Manage > Sessions to access the Sessions Manager.

This capability is there in the Administration Tool to provide compatibility with previous releases. Logical foreign key joins might be needed if Oracle BI Server is to be used as an Open Database Connectivity (ODBC) data source for certain third-party query and reporting tools. You can view all joins: • In the repository • In a particular business model • In the Business Model and Mapping (BMM) layer • In the Physical layer • In the BMM layer for a particular business model • In the Physical layer for a particular business model Joins are further divided into logical foreign key. and physical complex. Managing Joins You can use the Joins Manager to view logical join relationships and to create logical foreign keys and complex joins. you should not create logical foreign keys. Typically. physical foreign key.5 Oracle Internal & Oracle Academy Use Only . All rights reserved. Copyright © 2008. logical. Oracle. The joins displayed in the right pane vary according to what leaf you select in the left pane. view. edit. or delete logical and physical joins in a repository. Oracle BI Suite EE 10g R3: Build Repositories 23 .Managing Joins Use the Joins Manager to create.

Sessions Requests Copyright © 2008. select Normal. shows users currently logged into Oracle BI Server. Oracle. the Session window. How often the Session Manager data refreshes depends on the amount of activity on the system. Using the Session Manager The Session Manager contains an upper and a lower window. Managing Sessions The Session Manager is used in online mode to monitor session activity. click Refresh. or Low. Oracle BI Suite EE 10g R3: Build Repositories 23 . The top window. and variables and their values for a selected session. from the Update Speed drop-down list. To refresh the display at any time. All rights reserved. the Oracle BI Server administrator can disconnect any user and kill any query request with the Session Manager. The bottom window contains two tabs. You can click the column headers to sort the data.Managing Sessions Use the Session Manager to monitor session activity in online mode.6 Oracle Internal & Oracle Academy Use Only . High. The Request tab shows active query requests for the user selected in the Session window. Select Pause to keep the display from being refreshed. The Variables tab shows variables and their values for a selected session. all current query requests for each user. The Session Manager shows all users logged in to the session. Additionally. To control the update speed.

privilege packages. and security and user permissions. If you query using the All Types option. All rights reserved. initialization blocks. The list does not contain objects such as aggregate rules. Oracle BI Suite EE 10g R3: Build Repositories 23 . content filters for logical sources. When you save results. you might want to run a report prior to making any physical changes in a database that might affect the repository.Querying Repository Metadata Use the Query Repository tool to query for objects in the repository. logical source folders. Object type Filter Results Copyright © 2008. You can also create new objects. and LDAP Server). You can then edit or delete objects that appear in the Results list. all references to a particular physical column. the encoding options are ANSI.7 Oracle Internal & Oracle Academy Use Only . you see a listing of the exposed object types in the repository. Querying Repository Metadata You can query for objects in the repository using the Query Repository tool. and UTF-8. and other objects that are considered as internal objects. • Query a repository and view reports that show such items as all tables mapped to a logical source. Complex Join. type (such as Catalog. For example. Unicode. and view parent hierarchies. or a combination of name and type. Key. Oracle. For example. You can save the report to a file in comma-separated value (CSV) or tab-delimited format. you can query a repository for objects in the repository based on name. You can use repository queries to help manage the repository metadata in the following ways: • Examine and update the internal structure of the repository.

Replacing Columns or Tables Use the “Replace Column or Table” utility to automate the process of replacing physical columns or tables in logical table sources. Copyright © 2008. Oracle. Oracle BI Suite EE 10g R3: Build Repositories 23 . The wizard prompts the administrator to replace columns as well as tables. Replacing Columns or Tables The “Replace Column or Table” utility automates the process of replacing physical columns or tables in logical table sources by allowing the Oracle BI Server administrator to select the sources from those displayed. All rights reserved.8 Oracle Internal & Oracle Academy Use Only .

Oracle BI Suite EE 10g R3: Build Repositories 23 . tables. or Extensible Markup Language (XML) format external file with ANSI. To externalize strings. You can save these text strings to a comma-separated value (CSV).Externalizing Strings Use the Externalize Strings utility to externalize presentation layer strings when setting up local language translations. All rights reserved. and UTF-8 coding options. Unicode. tab-delimited (TXT). Oracle. Copyright © 2008. Externalizing Strings The Externalize Strings utility is primarily for use by translators to translate Presentation layer catalogs. the Presentation layer tables must have their Externalize Display Names property set to On. and their descriptions into other languages.9 Oracle Internal & Oracle Academy Use Only . columns.

Renaming Repository Objects Use the Rename Wizard to rename Presentation layer and BMM layer tables and columns. use uppercase for the first letter of words. Renaming Repository Objects The Rename Wizard allows you to rename Presentation layer and BMM layer tables and columns. and so on. Oracle.10 Oracle Internal & Oracle Academy Use Only . Renaming options Copyright © 2008. Note that renaming the Presentation layer columns resets the Use Logical Column Name property to false. It is recommended that you rename the BMM layer logical columns instead. It is primarily used on Business Model and Mapping layer (BMM) logical columns after importing physical objects into the middle layer. You can preview the new names before committing the changes. All rights reserved. Oracle BI Suite EE 10g R3: Build Repositories 23 . It provides a convenient way to transform physical names to user-friendly names. change all letters to lowercase. You can use it to replace text strings.

Documenting a Repository The Repository Documentation utility documents the mapping from the presentation columns to the corresponding logical and physical columns. Copyright © 2008. The documentation also includes conditional expressions associated with the columns.11 Oracle Internal & Oracle Academy Use Only . Oracle BI Suite EE 10g R3: Build Repositories 23 . there is one row in the document for each physical column. The documentation can be saved in comma-separated. tab-delimited. or XML format. All rights reserved. If a presentation column derives from several physical columns. Save in comma-separated. or XML format. tab-delimited.Documenting a Repository Use the Repository Documentation utility to document mappings from presentation columns to the corresponding logical and physical columns. Oracle.

The utility provides a user-friendly interface for navigating a repository to help users understand metadata object relationships better. Metadata object Location Description Relationship with other objects Copyright © 2008. Oracle. Each document describes a metadata object.12 Oracle Internal & Oracle Academy Use Only . Generating a Metadata Dictionary The Generate Metadata Dictionary utility provides a set of static XML documents. including its properties and its relationships to other metadata objects. All rights reserved.Generating a Metadata Dictionary Use the Generate Metadata Dictionary utility to create a set of static XML documents that describe each metadata object. including its properties and its relationships with other metadata objects. Oracle BI Suite EE 10g R3: Build Repositories 23 .

An event polling table is a way to notify Oracle BI Server that one or more physical tables have been updated. All rights reserved. The cache system reads rows from or polls the event table. Each row that is added to an event table describes a single update event. The SQL for creating an event table can be found in the Oracle BI\server\Schema folder. Copyright © 2008.13 Oracle Internal & Oracle Academy Use Only . extracts the physical table information from the rows. Creating an Event Table The Oracle BI Event Tables utility allows you to identify a table as an Oracle BI event polling table. and purges cache entries that reference those physical tables. Oracle. Oracle BI Suite EE 10g R3: Build Repositories 23 .Creating an Event Table Use the Oracle BI Event Tables utility to identify a table as an Oracle BI event polling table.

For example. for Oracle.14 Oracle Internal & Oracle Academy Use Only . the server running the Administration Tool connects to each back-end database. The objects in the Physical layer are compared with those in the back-end database. Additionally. When the wizard processes the update.” The wizard does not add columns or tables to the repository that exists in the back-end database but not in the repository. All rights reserved. This wizard is not available for repositories that are opened in read-only mode. Updating the Physical Layer The Update Physical Layer Wizard allows you to update database objects in the Physical layer of a repository based on their current definitions in the back-end database. Explanatory text alerts you to differences between objects as defined in the database in the Physical layer and as defined the back-end database. In this case. you would set the connection pool to the Oracle ODBC setting used for the import. The connection pool settings for each database need to match the connection pool settings used when the objects were last imported into the Physical layer from the back-end database. if the values do not match. the following text is displayed: “Object does not exist in the database. such as data type-length mismatches and objects that are no longer found in the back-end database.Updating the Physical Layer Use the Update Physical Layer Wizard to update database objects in the Physical layer of a repository based on their current definitions in the back-end database. if an object exists in the database in the Physical layer of the repository but not in the back-end database. Oracle. For example. because they are not available for updating. the connection pool may be set to native Oracle Call Interface (OCI). and then. It checks that there is a column in the repository that matches the column in the database. the wizard updates the type and length of the column in the repository. the wizard does not update column key assignments. Copyright © 2008. Oracle BI Suite EE 10g R3: Build Repositories 23 . but an Oracle ODBC source must be used for the update.

Removing Unused Physical Objects Large repositories use more memory on the server and are harder to maintain. Additionally. Oracle. physical catalogs. Copyright © 2008. and variables.Removing Unused Physical Objects Use the Remove Unused Physical Objects utility to remove objects that are no longer needed in a repository. You can remove databases. All rights reserved. initialization blocks. development activities take longer on a large repository.15 Oracle Internal & Oracle Academy Use Only . Oracle BI Suite EE 10g R3: Build Repositories 23 . The Remove Unused Physical Objects utility allows you to remove objects that you no longer need in your repository.

maintain. you should have learned how to: • Describe the various wizards and utilities contained in the Oracle BI Administration Tool • Use the Administration Tool wizards and utilities to manage. All rights reserved.Summary In this lesson.16 Oracle Internal & Oracle Academy Use Only . and enhance repositories Copyright © 2008. Oracle BI Suite EE 10g R3: Build Repositories 23 . Oracle.

17 Oracle Internal & Oracle Academy Use Only . and options to provide you with an orientation to Administration Tool features that are useful for maintaining and enhancing repositories. Practice 23-1 Overview: Exploring Administration Tool Features In this practice. Oracle. All rights reserved. Oracle BI Suite EE 10g R3: Build Repositories 23 . you explore Administration Tool utilities. wizards.Practice 23-1 Overview: Exploring Administration Tool Features This practice covers the following topics: • Exploring Administration Tool utilities • Exploring Administration Tool wizards • Exploring Administration Tool options Copyright © 2008.

Oracle Internal & Oracle Academy Use Only .

Oracle. . All rights reserved.Optimizing Query Performance Oracle Internal & Oracle Academy Use Only Copyright © 2008.

All rights reserved.2 Oracle Internal & Oracle Academy Use Only . you should be able to identify techniques to optimize Oracle Business Intelligence (BI) query performance. Copyright © 2008.Objective After completing this lesson. Oracle BI Suite EE 10g R3: Build Repositories 24 . Oracle.

In fact. more fallible data when their needs are not being met. • Most users do not overtly complain and silently defect. Oracle. users are not very sympathetic to the technical challenges inherent in servicing dynamic. Business users have high expectations of near-instantaneous query responses and low tolerance when their expectations are not met. • Users may defect even if there is no other credible source and may rely on soft. • Exponential growth of data adds to the challenge of maintaining performance. This is especially true when query performance expectations are not being met. Additionally.Business Challenge Poor query performance is the biggest obstacle to BI end-user adoption and satisfaction: • Business users expect near-instantaneous query responses. This “quiet defection” is particularly apt in BI tool deployments. All rights reserved. the need for elaborate details diminishes increasingly. Some analysts estimate that application data volume will increase by 125% per year. ad hoc BI environments. Copyright © 2008. While it is necessary to make this data accessible. BI users move quickly and silently to softer. but they choose not to return over time. • Users are more tolerant when results are valuable or rare. instinct. Users are generally more performance tolerant with particularly compelling or exclusive content than with the ordinary. Compounding the challenge of maintaining performance is the exponential growth of stored data. Business Challenge The biggest obstacle to end-user adoption of any business intelligence (BI) tool deployment is the inability to ensure strong query performance consistently.3 Oracle Internal & Oracle Academy Use Only . or best guess. • Users waiting for results for more than 5–10 seconds seek other alternatives. Oracle BI Suite EE 10g R3: Build Repositories 24 . as the historical data itself ages. fallible data. the majority of data is not actively used. Frustrated users generally do not complain. in which business users tend to be highly creative with multiple back-door channels to information.

Copyright © 2008. – Four. BI tools are most effective when supporting “speed of thought” analysis. and centralized information repository. but four. • Monitor end-user query habits. This indicates that users are running “extracts. Faster is almost always better. Business users will always demand instantaneous query performance. meaning the performance latency results for one analysis should not negatively impact subsequent analysis accessed via drilling. – Include an overtly specified.” building and consolidating offline information silos (spreadsheet applications. Conversely. – Requests returning large numbers of records indicate that users are running “extracts” and building offline information silos. Oracle BI Suite EE 10g R3: Build Repositories 24 .to five-second refresh rates are a reasonable performance cap goal for most BI content. the actual difference between subsecond and sub-five-second query response times is often negligible to the majority of end users. However. and so on) outside the approved. Business users are generally accustomed to the latency built with refreshing browser pages while surfing the Web. A warning sign of defection from end-user adoption is an increased use of requests returning large numbers of records. All rights reserved. comprehensive performance optimization stage in every implementation project. consistent. departmental data marts. • Be proactive with performance. Oracle. Another important step is to monitor end-user query habits.to fivesecond refresh rates are a reasonable performance cap goal for most BI content.4 Oracle Internal & Oracle Academy Use Only . the perceived difference between five-second and ten-second response times can be profound. Business Solution One key to managing end-user query performance is establishing realistic expectations.Business Solution • Establish realistic performance expectations.

performance issues are too often considered at the end of the process or as an afterthought. and build stages. This can cause project slippage and negative first impressions that are difficult to overcome. However. Perhaps the most effective means of proactively managing query performance is to mandate and budget tasks solely targeted at query performance optimization in all release cycles.Business Solution (continued) It is also best to be proactive when addressing performance needs.5 Oracle Internal & Oracle Academy Use Only . Many integrators claim their methodologies seamlessly thread performance tasks throughout requirements. In these cases. Oracle BI Suite EE 10g R3: Build Repositories 24 . query performance issues become apparent only after end users have experienced problems. design. Project plans without explicitly called out performance optimization tasks should be treated with a great deal of skepticism.

Oracle BI Features That Optimize Performance Embedded Oracle BI features and functions optimize end-user query performance: • Intelligent query generation • Aggregate navigation • Data source function shipping • Multipass SQL generation • Platform-specific SQL/MDX optimization • Clustering • Query caching Copyright © 2008. including (but not limited to): • Intelligent query generation • Aggregate navigation • Data source function shipping • Multipass SQL generation • Platform-specific SQL/MDX optimization • Clustering • Query caching If Oracle BI EE metadata is configured correctly. Oracle BI Suite EE 10g R3: Build Repositories 24 . Oracle.6 Oracle Internal & Oracle Academy Use Only . Therefore. Many performance optimization features and functions exist in the platform. Oracle BI Features That Optimize Performance The Oracle BI Enterprise Edition suite of tools is built with attention given to optimizing enduser query performance. All rights reserved. the most effective means of optimizing end-user query performance is to deploy a comprehensive aggregate summarization process. This and other performance optimization techniques are discussed in the slides that follow. end-user query issues are generally bound by the technical limitations of the underlying data sources.

The purpose of the remainder of this lesson is to revisit and explain these topics in the context of query performance optimization.7 Oracle Internal & Oracle Academy Use Only . Oracle. transformation.ini parameters Copyright © 2008. Oracle BI Suite EE 10g R3: Build Repositories 24 . and network bandwidth. back-end databases. Most of these steps have already been covered in this course. Each topic is discussed in this context in the slides that follow. and loading (ETL) software. memory sizes. topologies. and so on. Optimizing Query Performance: Repository There are many query performance optimization steps that can be taken during and after an Oracle BI implementation. All rights reserved. CPUs. They do not address issues related to hardware memory.Optimizing Query Performance • • • • • • • • • • • • • Using aggregates Using aggregate navigation Constraining results using a WHERE clause Caching Limiting the number of initialization blocks Limiting select table types Modeling dimension hierarchies correctly Turning off logging Setting query limits Pushing calculations to the database Exposing materialized views in the Physical layer Using database hints Setting the NQSConfig. Note that the topics discussed in this lesson concern only those steps that can be taken in Oracle BI EE. or the impact of various computing architectures. extraction.

aggregate tables have fewer rows than the base tables.Using Aggregates Improves performance by enabling Oracle BI Server to generate queries against smaller. Product Type. Oracle BI Suite EE 10g R3: Build Repositories 24 .8 Oracle Internal & Oracle Academy Use Only . summarized tables Sales (fact) aggregated to Sales Rep. it is possible to create aggregates at a variety of levels. resulting in improved query performance when Oracle BI Server uses the aggregate (smaller) table to satisfy the query. Typically. Creating the right amount of aggregates with appropriate levels is a trial and error exercise that requires you to analyze the nature of queries. While the need for creating and maintaining aggregates is easy to understand. Since the fact table can join with multiple dimension tables. using aggregates is often not effectively implemented or not implemented at all for various reasons. the aggregate tables should compress the detailed fact table data by a significant degree and should not result in significant storage need or process need to populate the aggregate tables. Using Aggregates Using aggregate tables is the one of the most important strategies for boosting the query performance in the Oracle BI environment. and Month levels Customer (dimension) aggregated to Sales Rep level Product (dimension) aggregated to Type level Period (dimension) aggregated to Month level Copyright © 2008. including how results are reported and what levels. Having too many aggregates is as bad as having none. Oracle. Since aggregates are summaries of the detailed fact tables at higher levels along the dimension hierarchies. All rights reserved.

Oracle BI Suite EE 10g R3: Build Repositories 24 . Every fact logical table source needs to be defined with aggregation content to ensure that Oracle BI Server chooses the most economical source when there are several sources to choose from. Although it is possible to define the aggregation content by logical level or by column. Copyright © 2008. Using Aggregate Navigation Aggregate summarization is the process of aggregating and storing records into smaller and more efficient data structures optimized for query processing. Aggregate navigation is the ability of Oracle BI Server to transparently intercept queries and rewrite them to optimized data sources built through an aggregate summarization process. Performance gains can be realized with the right aggregate summarization deployment by reducing the time it takes to process any given query request. Oracle BI Server assumes that logical table source is at the lowest (detailed) level.Using Aggregate Navigation Improves performance by allowing Oracle BI Server to transparently intercept queries and rewrite them to optimized data sources Use logical table source Content tab to define aggregation content. All rights reserved. In that case. you should always define the aggregation content by logical level. The aggregation content allows Oracle BI Server to pick the aggregate table (if there is one) instead of the detailed fact table without the need to explicitly specify the table name in the query. Oracle BI Server chooses the most economical source when there are several sources to choose from. it is good practice to define aggregation content for the logical tables source at the detail level. Oracle. which is determined by the combined “number of elements at this level” property of the levels of the aggregate content. If there is more than one logical table source with identical aggregation contents. If a logical table source does not contain aggregation content.9 Oracle Internal & Oracle Academy Use Only . the most economical source is determined by the logical size of the fact table source.

Since constraints in the WHERE clause are made on the physical tables on the source. All rights reserved. Oracle. Constraining Results Using a WHERE Clause If a logical table source contains unwanted data or data that you would not typically use in a report. Oracle BI Suite EE 10g R3: Build Repositories 24 .Constraining Results Using a WHERE Clause Improves performance by limiting the rows returned from a data source Use the WHERE clause filter on the Content tab of the logical table source to limit the rows returned from the database. it is helpful if indexes are defined on the columns that are used as constraints in the WHERE clause.10 Oracle Internal & Oracle Academy Use Only . Copyright © 2008. use the WHERE clause filter on the Content tab of the logical table source to limit the rows returned from the database.

All rights reserved. For best performance. Logical request 2. Caching should be enabled and configured in the production environment. as opposed to searching through the database. Oracle BI Server Cache metadata (cache hit?) Yes Results sent to the user 4. It also conserves network resources by avoiding a connection to the database server. Caching is meant for Oracle BI Server to reuse cache results from a large number of small queries. Caching Caching is one of the most important strategies you can use to improve query performance and reduce computing resource demand of the Oracle BI Server.11 Oracle Internal & Oracle Academy Use Only . results are retrieved from the cache and sent to the user. Caching eliminates unnecessary database processing because precomputed results are stored in a local cache. it should therefore not be relied on to overcome the limitations of a poorly designed repository. Caching does not guarantee a solution to all performance problems. Oracle BI Suite EE 10g R3: Build Repositories 24 . User’s query request is translated into logical request. If there is a match. If cache miss. 3. including prepopulating the cache using cache seeding techniques such as iBots provided by the Oracle BI Server and keeping the cache up-to-date using cache purging techniques. Oracle. Set the maximum number of rows for any cache entry (MAX_ROWS_PER_CACHE_ENTRY) and the maximum number of cache entries (MAX_CACHE_ENTRIES) parameters to avoid using up the cache space with runaway queries that return large number of rows. No Server database Query cache Copyright © 2008. results are stored in cache and sent to the user.Caching Improves performance by fulfilling a query from a local cache as opposed to processing the query through a data source 1. the cache storage directories should reside on the local disk or dedicated drives. the request is queried against the database. The metadata is searched to identify a match (cache hit). Cache management strategies should be in place. It improves query performance by fulfilling a query from the cache.

the SQL in the initialization blocks gets executed every time the server is started or periodically if a schedule is set up to refresh the value of the variable. Oracle BI Suite EE 10g R3: Build Repositories 24 .Limiting the Number of Initialization Blocks Improves performance because initialization block queries are executed when Oracle BI Server is started and when users log in to the server Copyright © 2008. In the case of dynamic repository variables.12 Oracle Internal & Oracle Academy Use Only . Initialization blocks for repository variables can also have a refresh interval that adds a recurrent overhead. but care should be taken not to create too many of them. All rights reserved. system session. and nonsystem session variables. Limiting the Number of Initialization Blocks Initialization blocks are the only means to initialize dynamic repository. Oracle. the initialization blocks get executed every time a user logs in to the server. In the case of system and nonsystem session variables.

Oracle BI Suite EE 10g R3: Build Repositories 24 . The Select table type can be replaced with a physical table or view in the database. which could impact overall performance. when defining a table as a Select type.13 Oracle Internal & Oracle Academy Use Only . It is also a good idea to limit the number of Select tables in the Physical layer because the associated SELECT statement gets executed every time by the server. Limiting Select Table Types Select table types (opaque views) in the Physical layer can perform a vital function in some cases.Limiting Select Table Types Improves performance because it: • Reduces the number of SELECT statements executed by Oracle BI Server • May avoid lengthy SQL queries Select type Copyright © 2008. All rights reserved. However. Oracle. avoid long SQL statements that may impact performance.

Copyright © 2008. Oracle BI Suite EE 10g R3: Build Repositories 24 . Oracle. All rights reserved.Modeling Dimension Hierarchies Correctly Improves performance by ensuring that Oracle BI Server chooses the most economical source The number does not have to be exact. Columns that are not associated with a logical level are automatically associated with the lowest level in the dimension that corresponds to that dimension table. . All levels except the Grand Total level need to be defined with at least one column from the dimension table. but ratios of numbers from one parent to child logical level should be accurate. The number of elements for each level must be specified. but ratios of number from one parent to child logical level should be accurate.14 Oracle Internal & Oracle Academy Use Only The number of elements for each level must be specified. Modeling Dimension Hierarchies Correctly Dimension hierarchies must be modeled accurately to ensure that the Oracle BI optimizer chooses the most economical source. However. The number does not have to be exact. it is not necessary to explicitly associate all the columns from the dimension table with logical levels.

create a separate Administrator group user with a logging level of 2. Oracle. If you decide to enable logging. Logging levels greater than 2 should never be used because of the possibility of a severe impact on query performance in a large user environment. Oracle BI Suite EE 10g R3: Build Repositories 24 . it should not be enabled in a production environment.Turning Off Logging Improves performance in a production environment because Oracle BI Server does not generate log files Logging level Copyright © 2008. especially for the Administrator user.15 Oracle Internal & Oracle Academy Use Only . because repository variable initialization blocks are logged to the Administrator. Turning Off Logging The logging facility is turned off by default because it can affect the performance of Oracle BI Server and can create large log files. which allows the user to debug using the query log and should provide enough logging information in most cases. Although logging can be used to test and troubleshoot problematic queries. All rights reserved.

since fewer operations can be function shipped to the database. more processing may have to be done by Oracle BI Server. This means that limits should not be made too low. All rights reserved. Note that with some “databases. Setting Query Limits In addition to limiting the maximum number of rows being returned by Oracle BI Presentation Services.Setting Query Limits Improves performance by enabling Oracle BI Server to track and cancel runaway queries Copyright © 2008. Note that limits can be set by user or group (typically by group) and by database. it is possible to limit queries by varying conditions: 1) maximum number of rows a query can retrieve from a database. Oracle BI Suite EE 10g R3: Build Repositories 24 .” such as Excel. For each user or group. Oracle. 2) maximum time a query can run on a database.16 Oracle Internal & Oracle Academy Use Only . and 3) restricting access to a database during particular time periods from the Analytics server. you can also enable Oracle BI Server to track and cancel runaway queries by placing various limits on the repository for a given user or group.

Pushing Calculations to the Database Improves performance by automatically pushing certain operations to the database based on database feature entries Copyright © 2008. All rights reserved. By modeling the repository accurately and adjusting the default database feature table entries for a database.17 Oracle Internal & Oracle Academy Use Only . Oracle BI Suite EE 10g R3: Build Repositories 24 . Pushing Calculations to the Database Oracle BI Server is intelligently designed to take maximum advantage of a database’s processing resources when it knows the database can process certain operations more efficiently than it can. and pulls back appropriate data for postprocessing before returning the result set to the user. Oracle BI Server automatically determines this based on database feature table entries. you should be able to achieve a combined optimal performance of both Oracle BI Server and the database. Oracle. compensates for the database’s lack of functionality.

they should be exposed in the Physical layer of the repository and modeled as regular aggregate tables. Since materialized views are hidden objects. Exposing them explicitly guarantees that Oracle BI Server chooses the most economical table source to satisfy a query. Exposing Materialized Views in the Physical Layer Materialized views are schema objects that are used to compute and store aggregated data such as sums and averages. Oracle.Exposing Materialized Views in the Physical Layer Improves performance because exposing materialized views explicitly guarantees that Oracle BI Server chooses the most economical table source to satisfy a query Copyright © 2008. Oracle BI Server has to rely on the query optimizer of the database for query rewrites to use correct materialized views. All rights reserved. If materialized views are used in the database. Oracle BI Suite EE 10g R3: Build Repositories 24 .18 Oracle Internal & Oracle Academy Use Only .

When you add a hint to the repository. you can add hints to a repository. However. to optimize the performance of queries. in both online and offline modes. and alias tables. Using Database Hints Database hints are instructions placed in a SQL statement that tell the database query optimizer the most efficient way to execute the statement. When the object associated with the hint is queried. Hints override the optimizer’s execution plan. hints can also negatively affect performance if they result in a suboptimal execution plan. You should avoid creating hints for physical table and join objects that are queried often. All rights reserved. physical tables. You should add hints to a repository only after you have tried to improve performance by adding physical indexes (or other physical changes) to Oracle Database and making modeling changes in Oracle BI server. Oracle. the Oracle BI Server inserts the hint into the SQL statement. so you can use hints to improve performance by forcing the optimizer to use a more efficient plan. You can associate hints with physical complex joins. Hints that are well researched and planned can result in significantly better query performance. physical foreign keys. Oracle BI Suite EE 10g R3: Build Repositories 24 .19 Oracle Internal & Oracle Academy Use Only .Using Database Hints Improves performance because hints force the database query optimizer to execute the statement in a more efficient way Copyright © 2008. you associate it with database objects. Using the Administration Tool.

and then merges the results into a single result set. for a total of eight sort operations. rather than the full size allowed by SORT_MEMORY_SIZE. suppose SORT_MEMORY_SIZE is set to 4 MB and the size of the data to be sorted is 32 MB.20 Oracle Internal & Oracle Academy Use Only . Setting the NQSConfig. All rights reserved. As data is fed into the sort routine. For example. This mechanism allows the Oracle Business Intelligence Server to sort smaller result sets efficiently without wasting memory.Setting the NQSConfig. For example. suppose that SORT_MEMORY_SIZE is set to 4 MB and the data to be sorted is only 1MB. data is sorted in allotments of the size set by SORT_MEMORY_SIZE and the sorted sets are merged together.ini Parameters These size parameters affect the performance of Oracle BI. the size of the sort buffer increases only by the increment size. Oracle. The server performs the sort once per each 4 MB of data. but it does include a read and write of each result set in a temporary file.ini includes parameters that affect Oracle BI performance: • SORT_MEMORY_SIZE – Specifies the maximum amount of memory to be used for each sort operation • SORT_BUFFER_INCREMENT_SIZE – Specifies the increment by which the sort memory size is increased as more memory is needed • VIRTUAL_TABLE_PAGE_SIZE – Specifies the size of a memory page for Oracle BI Server internal processing Copyright © 2008. This parameter can be tuned over time by taking into consideration the data size of the query and the number of concurrent users. Oracle BI Suite EE 10g R3: Build Repositories 24 . • SORT_BUFFER_INCREMENT_SIZE defines the increment by which SORT_MEMORY_SIZE should be reached. When this limit is exceeded.ini Parameters NQSConfig. increase the SORT_MEMORY_SIZE. This technique allows the Oracle Business Intelligence Server to sort data of indefinite size. To reduce the time this takes. • SORT_MEMORY_SIZE sets the upper limit on how large the sorting buffer can be in the Oracle Business Intelligence Server. The merge process itself is generally not costly in terms of resources.

When the amount of data exceeds the VIRTUAL_TABLE_PAGE_SIZE. . This parameter can be tuned depending on the number of concurrent users and the average query complexity. while simple queries may not even require virtual tables.ini parameters. In general. input/output (I/O) operations are reduced. For more information about NQSConfig. the remaining data is buffered in a temporary file and placed in the virtual table as processing continues. the server uses a virtual table management mechanism that provides a buffering scheme for processing these operations. Complex queries may use 20 to 30 virtual tables. and database fetch—can require memory resources beyond those available to the Oracle BI Server. union.Oracle BI Suite EE 10g R3: Build Repositories 24 . The default size of 128 KB is a reasonable size when one considers that the size for virtual paging in Windows NT is 64 KB. see Appendix A in the Oracle BI Infrastructure Installation and Configuration Guide.ini Parameters (continued) • VIRTUAL_TABLE_PAGE_SIZE: Several operations—sort. setting the size higher than 256 KB does not yield a corresponding increase in throughput due to the 64 KB size limit of Windows NT system buffers. This mechanism supports dynamic memory sizes and ensures that any row can be obtained dynamically for processing queries. join. To manage this condition. because each I/O still goes through the system buffers.21 Oracle Internal & Oracle Academy Use Only Setting the NQSConfig. When VIRTUAL_TABLE_PAGE_SIZE is increased.

Copyright © 2008. Oracle BI Suite EE 10g R3: Build Repositories 24 .Summary In this lesson. All rights reserved. you should have learned how to identify techniques to optimize Oracle BI query performance. Oracle.22 Oracle Internal & Oracle Academy Use Only .

All rights reserved. . Oracle.Oracle BI Repository Design Principles Oracle Internal & Oracle Academy Use Only Copyright © 2008.

Copyright © 2008. you should be able to identify and apply Oracle BI repository design principles.Objectives After completing this lesson. Oracle BI Suite EE 10g R3: Build Repositories 25 . Oracle. All rights reserved.2 Oracle Internal & Oracle Academy Use Only .

The purpose of this lesson is to revisit and explain these topics within the context of repository design principles and best practices.Lesson Structure This lesson is presented in three sections: • Physical Layer Design Principles • Business Model and Mapping Layer Design Principles • Presentation Layer Design Principles Copyright © 2008. Oracle BI Suite EE 10g R3: Build Repositories 25 . All rights reserved. Oracle.3 Oracle Internal & Oracle Academy Use Only . Each section presents best practices and design principles for one of the three layers of an Oracle BI repository. Most of these topics have already been presented in this course. Lesson Structure This lesson is divided into three sections.

All rights reserved. Oracle. Physical Layer Design Principles This slide lists the Physical layer design principles. Each principle is presented in detail in the slides that follow. Oracle BI Suite EE 10g R3: Build Repositories 25 .Physical Layer Design Principles • • • • • • • • Using the File > Import option Creating aliases for physical tables Creating aliases to avoid circular joins Creating canonical time Using multiple time dimension tables Setting the physical table caching property Setting connection pool properties Creating additional connection pools Copyright © 2008.4 Oracle Internal & Oracle Academy Use Only .

synonyms. and system tables. All rights reserved.Using the File > Import Option • Recommended method to create table objects in the Physical layer (as opposed to manual creation) • Use the appropriate connection type (ODBC.1. if possible. Import only the tables you need to support the business model. In addition to tables.3 it is now possible to import from Oracle databases via Oracle Call Interface (OCI) and Open Database Connectivity (ODBC). Using the File > Import Option Using the import option is the recommended and quickest way to create table objects in the Physical layer. Oracle. foreign keys. You can always add more tables later if you decide to expand the business model and implement additional requests or dashboards. With version 10. You should avoid creating Physical layer objects manually. you have the option of importing aliases. Use the appropriate connection type during import. Oracle BI Suite EE 10g R3: Build Repositories 25 . keys.3. views. and so on) Import only the tables needed to build the business model. OCI. Import options Copyright © 2008.5 Oracle Internal & Oracle Academy Use Only .

because you use alias table to build your business model. Oracle BI Suite EE 10g R3: Build Repositories 25 . making the function and content of tables easier to understand. create aliases for all physical tables in the Physical layer. All rights reserved. Oracle. original physical tables are still listed in the Physical layer along with aliases. Creating Aliases for Physical Tables For star schema data sources. This allows you to modify alias tables by editing the source table. such as dimension.9. not source tables. aggregate. In Oracle BI Applications. while changing the join relationships in the aliases to meet the needs of the business model you are creating. not the source tables. Naming conventions also help to identify table usage and help other repository developers in multi-user development environments. Therefore.6 Oracle Internal & Oracle Academy Use Only . version 7. making the SQL easier to understand. you should create aliases for all physical tables in the Physical layer. fact. • Naming conventions can be constructed for all the physical tables (aliases) used as sources in the repository.Creating Aliases for Physical Tables For star schema data sources. • Alias names show up in the SQL. Good naming conventions can also help order the tables in a meaningful way. and so on. Create joins using alias tables. Recall that any changes to the source table are automatically synched to the alias table. You can even use aliases to track which logical table source was used by the navigator. the alias tables are used in the reports. There are several advantages to working with aliases only: • You can import key relationships in the physical tables and keep them in the Physical layer for reference. • Aliases also help in cases where one table can act as both a fact and a dimension. Copyright © 2008. Prefixing alias table names allows you to easily identify table types.

The aliases are then joined to the appropriate dimension tables (Market and Product). By creating two aliases on the employee dimension.7 Oracle Internal & Oracle Academy Use Only . All rights reserved. Copyright © 2008. Creating Aliases to Avoid Circular Joins Create additional aliases to avoid circular joins for any dimension tables that are going to be joined to more than one other table. In this example. Oracle. you eliminate the circular join. As pictured in the physical model diagram.Creating Aliases to Avoid Circular Joins Create additional aliases to avoid circular joins for dimension tables that are joined to more than one table. there are two additional aliases created for the W_EMPLOYEE_D dimension table. This creates ambiguity because you cannot be sure as to how Oracle BI Server would join the tables together if you included both Market and Product dimensions in the same report. joining W_EMPLOYEE_D directly to the Market and Product dimensions would create a circular join. Oracle BI Suite EE 10g R3: Build Repositories 25 .

You then join the foreign key column in each alias to the key column in the common time dimension. – Enables reporting across multiple facts • Create secondary time dimension alias tables that join to one fact table on other time dimension columns. you can create logical columns. Fact_W_SRVREQ_F_Open_Date and Fact_W_SRVREQ_F_Close_Date in the example in the slide. Oracle BI Suite EE 10g R3: Build Repositories 25 .Creating Canonical Time • Create a common time dimension alias table that joins to multiple fact tables. In this example there is a secondary time dimension on the order fact table. you create a common time dimension alias table that joins to all fact tables. To create canonical time. you can create “secondary” foreign key joins. Oracle. open date and close date. Secondary time dimension Common time dimension Copyright © 2008. Then. For this purpose. such as number of closed service requests and number of open service requests using the fact table aliases. aggregate on other time dimension columns within the same fact table. But you also may want to drill down.8 Oracle Internal & Oracle Academy Use Only . Every fact table probably has this “primary” time dimension relationship. filter. Creating Canonical Time To create canonical time. you create two aliases of the service request fact table. This enables time reporting across multiple facts. Suppose there is a service request fact table with two date foreign key columns. in the Business Model and Mapping (BMM) layer. All rights reserved.

Copyright © 2008. set the cache persistence time based on your ETL refresh schedule. You can also create a cache event polling table and modify applications to update the polling table when changes to the databases occur. All rights reserved. For example. set the cache persistence time to one day. therefore. Instead. advisable to go to every physical table and ensure that the caching property is set appropriately. Set cache persistence time based on a refresh schedule. you probably should not have caching enabled in NQSConfig. not on the alias tables.ini because the underlying data is always changing. The recommendation is not to set caching to “cache never expires. When the frequency of the update varies. if your ETL refresh process takes place every day. transformation. Enable caching for all physical tables used in reporting. even if it is done through an extraction. Setting the Physical Table Caching Property When a user runs a report. knowing how often data in that table is updated. Oracle BI Suite EE 10g R3: Build Repositories 25 . you need to keep track of when changes occur and purge the cache manually when necessary. You need to set the cache persistence time for each physical table appropriately. If the cache entries are not purged when the data in the underlying databases changes.9 Oracle Internal & Oracle Academy Use Only . It is. Oracle. For a transactional or real-time data source. the results are cached by Oracle BI Server. so that subsequent requests use the cache results rather than requiring a return trip to the physical data source. However.Setting the Physical Table Caching Property Set the caching property on the “master” physical table. you should set the caching properties.” because then you are always relying on a third party to purge the cache. and loading (ETL) process. for everything else. making the system event driven. queries can potentially return results that are outof-date.

10 Oracle Internal & Oracle Academy Use Only Set maximum connections to a reasonable level. Copyright © 2008. then the maximum connections should be set to 40. . Oracle. you can use the rule that one connection consumes about 1 MB of server memory. In general. Enable connection pooling.Setting Connection Pool Properties Set the most efficient connection pool properties. that database connection essentially remains open for other sessions to use. If only 10% are going to be logged on at any one time and running reports. set the call interface to use native drivers rather that ODBC because native drivers are more efficient. Set the maximum connections to a reasonable level. Oracle BI Suite EE 10g R3: Build Repositories 25 . All rights reserved. Enable connection pooling. The recommendation is to set maximum connections to 10%–20% of the simultaneous users multiplied by the maximum number of reports on any given dashboard. If you use connection pooling and run a database query. The maximum connections property specifies how many connections are maintained after they have been started. because one connection is used for each physical SQL statement. Connection pooling allows you to avoid the overhead of having to reconnect to the database every time you run a query. Setting Connection Pool Properties When possible. Keep in mind that four reports could use more than four connections if any report (logical SQL) generates multiple physical SQL queries. The timeout property tells the Oracle BI Server how long to maintain unused connections in the pool. For example: You have 100 users. Use native drivers when available. and the maximum number of reports on any given dashboard is four. Note that connections are only started when needed.

In the example in the slide. It is possible to break down one physical schema into separate physical models in the Physical layer.11 Oracle Internal & Oracle Academy Use Only .Forecasting) use tables from the same physical schema. Write Back . any connections that allow sessions to update the underlying database tables (write-back or usage tracking) should have separate connection pools created for this purpose. Creating Additional Connection Pools Create additional connection pools to control security and restrict access to the write-back function. All rights reserved.Creating Additional Connection Pools Create additional physical models and connection pools to control security and restrict access to write back and usage tracking. Oracle BI Suite EE 10g R3: Build Repositories 25 . but it is good practice to create separate usage tracking physical schema objects and corresponding connection pools in the Physical layer. all three physical models (Sales. For example. Copyright © 2008. Usage Tracking. the usage tracking table might be in the same schema as the sales tables. One reason to create separate physical data models is to allow for different uses of the same schema. For example. Oracle. Separate physical model and connection pool for usage tracking Separate physical model and connection pool for write back Different physical models can use tables from the same physical schema.

Each is presented in detail in the slides that follow. Oracle. All rights reserved. Oracle BI Suite EE 10g R3: Build Repositories 25 .12 Oracle Internal & Oracle Academy Use Only . BMM Layer Design Principles This slide and the next list the Business Model and Mapping (BMM) layer design principles.BMM Layer Design Principles • • • • • • • • • • Multi-user development Consistency check Separate business models Logical tables Time dimension logical levels Time dimension logical structure Logical dimension table columns Logical fact table columns Logical joins Calculated measures Copyright © 2008.

BMM Layer Design Principles • Logical levels • WHERE clause filters • • • • • • Avoiding snowflaking Dimension hierarchies: General Dimension hierarchies: Levels Dimension hierarchies: Number of elements Dimension hierarchies: Drilldown Aggregates Copyright © 2008.13 Oracle Internal & Oracle Academy Use Only . Oracle BI Suite EE 10g R3: Build Repositories 25 . All rights reserved. Oracle.

All rights reserved. where each project is a subset of the entire repository. Create project. then be sure to use the MUD facility. Multi-user development allows you to define a series of projects within the repository file (for example: Sales. If developers want to make changes. Select presentation catalogs or logical fact tables within the catalogs. Having multiple developers connect to the same repository file in online mode and making changes is not recommended. and so on). Oracle. they can check out a project to a local machine. • Do not allow multiple developers to connect “online” to the same repository.14 Oracle Internal & Oracle Academy Use Only . Oracle BI Suite EE 10g R3: Build Repositories 25 . Selected objects are added to project. Copyright © 2008. and then check modifications back into the master repository file. make and test the changes. Multi-User Development If you have multiple BI developers. Service.Multi-User Development • Use the multi-user development (MUD) facility if there are multiple developers.

always be sure to run a global consistency check. All rights reserved. Oracle BI Suite EE 10g R3: Build Repositories 25 . Copyright © 2008. It is bad practice to release a repository that still contains consistency check errors. Use the Consistency Check Manager to identify and debug consistency check messages.Consistency Check Always run a global consistency check before releasing a repository. Consistency Check Whenever you make changes to a repository. Use Consistency Check Manager to identify and debug consistency check messages.15 Oracle Internal & Oracle Academy Use Only . Oracle. In some cases. consistency errors prevent Oracle BI Server from loading the repository.

Separate Business Models
Even if you have only a single physical source or schema, you should create separate business models for independent areas of functionality.

Multiple business models may map to the same physical source.

Copyright © 2008, Oracle. All rights reserved.

Separate Business Models Even if you have only a single data source or schema in the physical layer, or you have only one physical data source for the repository, it is still good practice to break out the Physical layer objects into multiple business models in the BMM layer to represent the independent areas of functionality.

Oracle BI Suite EE 10g R3: Build Repositories 25 - 16

Oracle Internal & Oracle Academy Use Only

Logical Tables
Group facts and dimensions into logical tables according to functional areas, or according to how users build their queries.

Use prefixes to identify logical table function. Build separate logical tables for facts. Build separate logical tables for compound facts. Compound facts are based on existing logical columns.

Copyright © 2008, Oracle. All rights reserved.

Logical Tables When building logical tables, do not merge multiple dimension tables into a single logical dimension table, and do not merge multiple fact tables into a single logical fact table. You do not want to have one fact table that contains all the facts across the enterprise. Group facts and dimensions according to functional areas, or according to how users build their queries. Having multiple logical fact tables also makes it easier to create well-defined projects for multi-user development. If you create compound facts (facts that are based on existing logical table columns), separate these compound facts into their own logical tables. The screenshots shows an Fact Compound Actual vs Forecast logical table that contains compound measures that are derived from the Sales and Forecast fact logical tables. It is also good practice to prefix logical table names with either Dim -, Fact -, or Fact Compound -. This allows you to easily see how the tables are being used. It also groups the tables in the business model, so that facts are groups with facts, dimensions with dimensions, and so on.

Oracle BI Suite EE 10g R3: Build Repositories 25 - 17

Oracle Internal & Oracle Academy Use Only

Build separate logical tables for each dimension.

Time Dimension Logical Levels
Ensure that the logical level of each time-logical table source is set correctly.

Copyright © 2008, Oracle. All rights reserved.

Time Dimension Logical Levels You must ensure that the time dimension hierarchy is built correctly and the logical level of each time-logical table source is set correctly. In this example, the Dim_W_DAY_D_Common logical table source is set to the Date (detail) level and the Dim_W_MONTH_D logical table source is set to the Month level.

Oracle BI Suite EE 10g R3: Build Repositories 25 - 18

Oracle Internal & Oracle Academy Use Only

Time Dimension Logical Structure
For consistency, make sure that all time-logical dimension tables contain the same columns and general structure.

Copyright © 2008, Oracle. All rights reserved.

Time Dimension Logical Structure If there are multiple time dimensions within the business model, for consistency, make sure that all time dimension logical tables contain the same columns and general structure. This is good for reporting purposes. If the same columns are available in all time dimensions, users obtain more consistent query results.

Oracle BI Suite EE 10g R3: Build Repositories 25 - 19

Oracle Internal & Oracle Academy Use Only

Logical Dimension Table Columns
• Do not bring physical primary key columns into the BMM layer unless absolutely necessary. • Assign a logical primary key that makes sense from a reporting perspective. • Create meaningful logical column names. • Bring in only the columns you need from the Physical layer.
Meaningful primary key Meaningful column names Do not automatically use as logical key.

Copyright © 2008, Oracle. All rights reserved.

Logical Dimension Table Columns You must always assign a primary key for logical dimension tables. However, do not automatically bring in one of the primary keys from the underlying physical tables. In the example in the slide, there is a W_EMPLOYEE_D physical table, with a primary key of ROW_WID. However, while this physical primary key may be useful at the physical level, it may not make sense from a reporting perspective. Therefore, in the BMM layer, the primary key for the logical dimension table is set to Sales Rep Login. This is a key that is easy to understand. All logical dimension columns should be renamed in a way that is meaningful to users. Recall that there is a renaming utility that you can use to automate this process. It is not necessary to bring in to the business model every single column from the Physical layer. If a physical table has 100 columns, but reports use only 10, then bring in only the 10 columns required for reporting.

Oracle BI Suite EE 10g R3: Build Repositories 25 - 20

Oracle Internal & Oracle Academy Use Only

Logical Fact Table Columns
• • • • Do not assign logical primary keys for logical fact tables. Create meaningful names for measures. Set aggregation rule for every logical fact column. Create “dummy” measures to group facts.
Create meaningful names. Use dummy measures to group facts.

Set aggregation rule.

Copyright © 2008, Oracle. All rights reserved.

Logical Fact Table Columns Similar to logical dimension columns, all logical fact columns should be renamed in a way that is meaningful to users. But there are two significant differences between logical fact columns and logical dimension columns. First, you do not need to assign a logical primary key column for a fact logical table. Second, you must set the aggregation rule for every logical fact column, which is signified by the sigma icon for the column. Fact columns that cannot be aggregated should be put into their own logical dimension tables, not logical fact tables. Consider creating “dummy” measures to help group and organize facts within the logical fact table. Level-based measures are also very useful.

Oracle BI Suite EE 10g R3: Build Repositories 25 - 21

Oracle Internal & Oracle Academy Use Only

22 Oracle Internal & Oracle Academy Use Only . The driving table should be the one with the smallest number of records being returned (preferably less than 100 rows). All rights reserved. you must set the driving table. The defaults are: no driving table. and parameterized queries are issued to the large table to select matching rows. Oracle.1” to “N. Driving table = None Cardinality = “0. and the cardinality is “0. • Accept defaults when creating joins.” Driving tables are only required for cross-database joins. Cross-database joins are never recommended. Logical Joins Use only logical (complex) joins in the BMM layer. When a driving table is specified. The small table (the driving table) is scanned. but on the rare occasions where you do need a cross-database join. leave the default properties for the join.1” to “N” Join type = Inner Copyright © 2008. When defining logical joins in the BMM layer.Logical Joins • Use only logical joins in the BMM layer. join type is set to Inner. Driving tables are for use in optimizing the manner in which Oracle BI Server processes cross-database joins when one table is very small and the other is very large. Oracle BI Suite EE 10g R3: Build Repositories 25 . Oracle BI Server uses it if the query plan determines that its use optimizes query processing.

Oracle. Refer to the lesson titled “Adding Calculations to a Fact” for more information. Use physical columns for calculations that require an aggregation rule to be applied after the calculation. The slide shows an example of using logical columns in a calculated measure. SQL applies the aggregation rules to the columns first … Copyright © 2008.” a calculation measure based on logical columns. Use logical columns for calculations that require an aggregation rule that is applied before the calculation. . All rights reserved.23 Oracle Internal & Oracle Academy Use Only Query uses “Cuts.Calculated Measures • Be careful when building calculated measures: – Use logical columns for calculations that require an aggregation rule that is applied before the calculation. Oracle BI Suite EE 10g R3: Build Repositories 25 . Calculated Measures When defining measures. … and then calculates the difference. be careful when basing measures on existing logical columns. – Use physical columns for calculations that require an aggregation rule to be applied after the calculation.

Also. All rights reserved. Copyright © 2008. you should always assign aggregation content at the logical level.Logical Levels Explicitly define logical levels for every fact and dimension logical table source.” Oracle BI Suite EE 10g R3: Build Repositories 25 . refer to the lesson titled “Using Aggregates. However. you need to define aggregate content (logical levels) for only those fact table sources that are at an aggregate level. not the column level. it is best practice to explicitly define logical levels for all logical table sources in the business model. Oracle. The only time you should leave the logical level blank is if no logical relationship exists in the business model. This is true even if the logical table source is at the base or detail level.24 Oracle Internal & Oracle Academy Use Only . Logical Levels As far as the Oracle BI Server is concerned. For more information and specific examples.

In this example. Use WHERE clause. Oracle BI Suite EE 10g R3: Build Repositories 25 . All rights reserved. Copyright © 2008.WHERE Clause Filters Use WHERE clause filters to help avoid using opaque views or complex joins in the physical layer.25 Oracle Internal & Oracle Academy Use Only . Doing this avoids the use of complex joins and opaque views in the physical layer. WHERE Clause Filters Use WHERE filters in the logical layer to avoid the need for opaque views or complex joins in the physical layer. Oracle. there is a WHERE clause filter to restrict the forecasting fact table so that it only returns records for the user currently running the query.

Copyright © 2008. In the example.Avoiding Snowflaking Add tables to the logical table source to avoid snowflaking. you should try to avoid snowflaking in the BMM layer and build models that use only star schemas. To avoid snowflaking in the BMM layer… …add tables to logical table source. which avoids the need to join the tables in a logical snowflaked schema. Oracle BI Suite EE 10g R3: Build Repositories 25 . Oracle.26 Oracle Internal & Oracle Academy Use Only . Sometimes you can accomplish this by adding extra tables into a logical table source. All rights reserved. two tables are added to one logical table source in the BMM layer. Avoid Snowflaking Even when there is snowflaking in the physical model.

All rights reserved.27 Oracle Internal & Oracle Academy Use Only Create dimensions for every logical dimension table. Oracle. Copyright © 2008. Dimension Hierarchies: General It is best practice to create a dimension for every logical dimension table in the business model.Dimension Hierarchies: General Create a dimension hierarchy for every logical dimension table in the business model. Oracle BI Suite EE 10g R3: Build Repositories 25 . . The main reason you want all dimension tables to have a hierarchy is so that you can accurately specify the aggregation content of sources using dimension levels.

Dimension Hierarchies: Levels All dimensions must have at least two levels: the Total level and the Detail level. In this example. be sure to check Grand total level for the Total level.28 Oracle Internal & Oracle Academy Use Only . you receive consistency check errors. Oracle BI Suite EE 10g R3: Build Repositories 25 . No key for Total level Identical base detail levels Copyright © 2008. • Check Grand total level for the Total level. There can be multiple drill paths in a dimension. All rights reserved. the product dimension hierarchy has drill down by brand or the product manager.Dimension Hierarchies: Levels Dimensions must have at least two levels: Total and Detail. Set preferred drill path if more than one drill path exists. Otherwise. • • • • Create key columns for each level except the Total level. Create identical detail levels if there are multiple drill paths. If you do have multiple drill paths. Also note that the base detail level at the end of each branch has to be identical. Create key columns for each level except the Total level and add columns that are applicable to the level. Oracle. Drag in columns that are applicable to a particular level. If you create dimension hierarchies manually. make sure you specify which is the preferred drill path.

Dimension Hierarchies: Number of Elements Every level of every dimension hierarchy must have the number of elements set appropriately. All rights reserved. Use row counts or the Estimate Levels feature to calculate the number of elements for each level.29 Oracle Internal & Oracle Academy Use Only . • Numbers do not have to be exact as long as ratios between levels are accurate. Recall that the number does not have to be exact as long as the ratios between levels are accurate. the Total level of every dimension hierarchy is set to 1. Copyright © 2008. Oracle. Oracle BI Suite EE 10g R3: Build Repositories 25 .Dimension Hierarchies: Number of Elements Use Update Row Counts or Estimate Levels to set the number of elements for every level of every dimension hierarchy. Typically.

especially when you define the automated drilldown functionality. Copyright © 2008. • Do not enable automatically. You can deselect the “Use for drilldown” check box if you do not want the user to have automated drilldown enabled for this column on the Presentation Server. Oracle. You must identify a logical level key for each dimension hierarchy. Dimension Hierarchies: Drilldown When you create dimensions. think about the user experience. Do not define drilldown just because you can without thinking first about the benefits the functionality may provide to the user.Dimension Hierarchies: Drilldown • Think about the experience of the user when enabling drilldown.30 Oracle Internal & Oracle Academy Use Only . All rights reserved. Oracle BI Suite EE 10g R3: Build Repositories 25 .

Since the creation and storage of aggregates are resource intensive.Aggregates • Try to ensure that each aggregate table has an effective summary ratio with the underlying detail table.” Oracle BI Suite EE 10g R3: Build Repositories 25 . because even when you access a base detail table. If an aggregate is not used. the data volumes are so small that the queries run fast. are being accessed in the SQL and that the aggregate tables are being used. In development. Refer to the lesson titled “Using Aggregates. Copyright © 2008. Aggregates When you incorporate aggregate tables into the repository. (Check the log to see the Physical SQL produced. such as the base detail table. there are some guidelines for creating aggregates. • Ensure that the logical level of every aggregate logical table source is set correctly. Oracle.31 Oracle Internal & Oracle Academy Use Only . All rights reserved.) • If an aggregate is not being used. Oracle BI Server might decide that the use of an aggregate table is not efficient enough and just uses the base detail table to satisfy the query. • Always test to ensure that aggregate tables are being used as expected. you need to make sure that the overall efficiency savings are going to benefit the reporting application. try changing the number of elements on one of the related logical dimension levels. This ratio varies depending on specific circumstances. If there is not a great difference between two levels within a dimension hierarchy. try changing the number of elements on one of the related dimension logical levels. One is to make sure that there is an effective ratio with the number of records in the detail table to the aggregate table. results can be misleading. Check the log files and make sure no unexpected tables. You should always test to make sure that the aggregate tables are being used effectively and as expected.

Presentation Layer Design Principles • • • • • • • • • • • • Subject areas Development with end users in mind Role-based subject areas Presentation tables Rule of seven Fact tables Implicit fact columns Canonical time Secondary time dimensions Nesting presentation folders Presentation object names Presentation object descriptions Copyright © 2008.32 Oracle Internal & Oracle Academy Use Only . Each is covered in detail in the slides that follow. All rights reserved. Presentation Layer Design Principles This slide lists the Presentation layer design principles. Oracle BI Suite EE 10g R3: Build Repositories 25 . Oracle.

a user can build a request with an Employee dimension attribute and some unrelated measures. All rights reserved.33 Oracle Internal & Oracle Academy Use Only Meaning of dimensions is ambiguous. where each presentation catalog is specific to a type of user or reporting purpose.Subject Areas Do not include all Presentation layer objects in a single presentation catalog (subject area). the meaning of the dimension is ambiguous. While it is possible to model the Presentation layer to include all objects in one presentation catalog. Setting up security in this way is not as intuitive as having multiple presentation catalogs. such as number of opportunities from the opportunity fact table. Subject Areas The screenshot shows a presentation catalog called Everything with all the possible objects available for reporting. In this example. Because all users access a single presentation catalog. you allow users to run reports in Answers that will never work. rather than the presentation catalog. For example. the security model is not as simple as it could be. security must be set up individually for each of the presentation tables. With the presentation catalog set up this way. Use multiple presentation catalogs. For example. But with the presentation catalog set up this way. the employee dimension is only related to orders and order items. Oracle BI Suite EE 10g R3: Build Repositories 25 . First. with numerous dimensions. Oracle. this is not the recommended approach. is the product dimension the dimension for orders or for opportunities? It may also be the case that some of the dimensions listed are not actually related to all the measures. the product dimension could relate to more than one fact table. Also. . Which dimensions are tied to which facts? Which fact table is the implicit fact table? Copyright © 2008. the report will not be able to run and returns an error. Group related facts and dimensions together. If the user does this. Security is more complicated.

there are multiple presentation catalogs. Within the catalogs. For example. all the dimension tables directly relate to all the fact tables. Oracle BI Suite EE 10g R3: Build Repositories 25 .Subject Areas (continued) On the right is a Presentation layer that is more suitable.34 Oracle Internal & Oracle Academy Use Only . There is no problem with ambiguity or multiple join paths. Each catalog is specifically suited to a particular reporting purpose. This Presentation layer is a lot more usable and intuitive to the user.

If there is no requirement for users to write their own reports. users may be asked to do so in the future. Copyright © 2008. Develop with the End User in Mind Make sure to develop the Presentation layer so that any end user is able to understand and use it.35 Oracle Internal & Oracle Academy Use Only . it may need to be redeveloped at that time at an additional cost. Even if there is no current requirement for end users to create their own reports. If the Presentation layer is too complicated for end users to understand. the risk is that the developer produces the Presentation layer in a way that only developers understand. they may be asked to do so in the future. Oracle BI Suite EE 10g R3: Build Repositories 25 . • Even if there is no current requirement for users to run their own reports.Development with End Users in Mind • Always develop the Presentation layer so that end users are able to understand and use it. Oracle. All rights reserved.

All rights reserved. Because of that. Role-based presentation catalogs contain different content to suit individual needs. Oracle BI Suite EE 10g R3: Build Repositories 25 . For example. Oracle. Role-Based Subject Areas It is a good idea to create presentation catalogs to suit the needs of individual users or user types.Role-Based Subject Areas Configure multiple presentation catalogs that are specific to each type of user. they do not need a subject area that is cluttered with low-level detail objects. Sales Manager Copyright © 2008.36 Oracle Internal & Oracle Academy Use Only Sales Representative . This also means that there is an easy way to separate the security model for the sales managers from that of the sales representatives. create a separate presentation catalog for sales managers because they need to see only an overview of the organization.

Presentation Tables Presentation tables should be consistent across presentation catalogs: • List dimension tables first. All rights reserved. Oracle. • If there are presentation tables and columns that exist in multiple catalogs. • Include the words “measures” or “facts” in the names of the fact presentation tables. • Apply consistent ordering and naming conventions for tables and columns across catalogs. Copyright © 2008. Oracle BI Suite EE 10g R3: Build Repositories 25 . There are a few simple rules you should adopt to achieve this: • Always list dimension presentation tables first and place fact presentation tables at the bottom of the catalog. • Do not mix dimension and fact columns in the same table. Presentation Tables Presentation tables should be consistent across presentation catalogs. make sure that the naming conventions and the ordering are consistent across the catalogs. • Distinguish between the fact and dimension tables by including the words “measure” or “fact” in the names of the presentation tables that are specifically for facts. • Do not mix fact and dimension columns in the same presentation table.37 Oracle Internal & Oracle Academy Use Only .

Oracle. Oracle BI Suite EE 10g R3: Build Repositories 25 . If you can. Within each presentation table.Rule of Seven • Keep presentation catalogs small and easy to understand by limiting the number of tables to seven. • Keep presentation tables small and easy to understand by limiting the number of columns to seven. Rule of Seven This guideline might be difficult to follow at all times. Copyright © 2008. try to limit the number of columns to seven. follow this rule of seven and try to keep presentation catalogs small and easy to understand by limiting the number of presentation tables to seven. All rights reserved.38 Oracle Internal & Oracle Academy Use Only .

– Helps to eliminate multiple join paths in the catalog Copyright © 2008.Fact Tables • Limit the number of fact tables in each presentation catalog. Fact Tables Try to limit the presentation catalogs so that there are no more than a couple of fact presentation tables in each catalog. Oracle BI Suite EE 10g R3: Build Repositories 25 . Oracle. This is not just to keep the catalog small.39 Oracle Internal & Oracle Academy Use Only . All rights reserved. It is important to avoid situations in which there are multiple join paths existing within one presentation catalog.

and so on. the implicit fact column is used behind the scenes to include a fact column (measure) in the SQL generated for the report. Queries that contain only columns from a single dimension table do not have to worry about join paths.40 Oracle Internal & Oracle Academy Use Only . Implicit Fact Columns If you have multiple fact presentation tables. Implicit facts come into play when an Answers report contains columns from more than one logical dimension table (as defined in the BMM layer) and no explicit facts. assign an implicit fact column. Oracle. All rights reserved.Implicit Fact Columns • If you have multiple fact tables in a presentation catalog. Oracle BI Suite EE 10g R3: Build Repositories 25 . – Helps Oracle BI Server identify the join path that should be used in dimension-only requests Copyright © 2008. implicit facts. If a user creates a report that includes only dimensions. it is always best practice to assign an implicit fact column.

Oracle BI Suite EE 10g R3: Build Repositories 25 .Canonical Time • Include canonical time presentation tables to enable users to build time reports across multiple star schemas. – Should be the first table in a catalog – Should have a generic name (such as “Time”) – Should be consistent across catalogs Copyright © 2008. try to list it as the first presentation table in every catalog. Oracle. Canonical Time Canonical time is a useful way for allowing users to report for a specific period of time across multiple star schemas.41 Oracle Internal & Oracle Academy Use Only Canonical time Canonical time . If you use canonical time. All rights reserved. make sure that the corresponding time presentation table is given a very generic name and that name is consistent across all the presentation catalogs. For consistency. You may want to use “Time” for an actual time of day dimension and “Periods” for calendar or fiscal periods.

Secondary time dimensions can be given their own presentation tables further down the list. Oracle. Which ever method you choose. you may also have secondary time dimensions. make sure your approach is consistent throughout the entire Presentation layer. you can place all secondary time dimension objects into a single presentation table.42 Oracle Internal & Oracle Academy Use Only . All rights reserved. Secondary Time Dimension In addition to the canonical time dimension. Oracle BI Suite EE 10g R3: Build Repositories 25 .Secondary Time Dimension • Enables users to build time reports for specific star schemas • Should be listed below the canonical time dimension Canonical time Canonical time Include in separate presentation tables… …or group into a single presentation table Copyright © 2008. Alternatively.

Alternatively. Oracle BI Suite EE 10g R3: Build Repositories 25 . All rights reserved. Oracle. Nesting Presentation Tables If you find that your presentation tables have become too large or cluttered. nest the tables by prefixing the table name with a hyphen. Nesting currently goes to only one level in Oracle BI. you can enter a hyphen (-) and a greater than sign (>) in the Description field. Copyright © 2008.43 Oracle Internal & Oracle Academy Use Only .Nesting Presentation Tables Prefix presentation table names with a hyphen to group common objects together into subfolders.

use the default option that synchronizes the presentation column name with the underlying logical column name. there should be no physical object names in the Presentation layer. If objects are modeled correctly in the BMM layer.44 Oracle Internal & Oracle Academy Use Only . when you create presentation columns.Presentation Object Names • Use the Aliases tab to keep track of prior names. only business-oriented names. Copyright © 2008. business-oriented names (rather than physical object names) in the Presentation layer. this tab keeps track of any prior names. You also can use this tab to specify or delete an alias for the Presentation layer objects. All rights reserved. Presentation Table. • Use the default option that synchronizes the presentation column name with the underlying logical column name. For consistency. and Presentation Column property dialog boxes. Oracle BI Suite EE 10g R3: Build Repositories 25 . • Use only logical. Oracle. If you modify a Presentation layer object. Presentation Object Names An Aliases tab appears on the Presentation Catalog. Aliases are used to maintain compatibility with previously written queries after an object has been modified.

Presentation Object Descriptions It is a good idea to add descriptions to all the objects that are available to end users for reporting. • Add descriptions with examples to presentation columns to explain the data content with mouse roll-over in Answers. Oracle BI Suite EE 10g R3: Build Repositories 25 .Presentation Object Descriptions • Add descriptions to presentation catalogs to explain the purpose of each subject area in Oracle BI Answers. When you add descriptions to your presentation columns. It is especially important to add descriptions to columns. All rights reserved. also try to include examples of the actual column content that show the column format. Copyright © 2008.45 Oracle Internal & Oracle Academy Use Only . • Add descriptions to presentation tables to appear with mouse roll-over in Answers. users see an explanation of the data content when they roll over a column in Answers. Adding descriptions to objects in the Presentation layer helps explain their purpose to users in Answers. With descriptions added. Oracle.

Oracle. you should have learned how to identify and apply Oracle BI repository design principles. All rights reserved.46 Oracle Internal & Oracle Academy Use Only . Oracle BI Suite EE 10g R3: Build Repositories 25 . Copyright © 2008.Summary In this lesson.

All rights reserved.Practice 25-1: Exploring Applied Design Principles In the practice. Copyright © 2008.47 Oracle Internal & Oracle Academy Use Only . Oracle BI Suite EE 10g R3: Build Repositories 25 . you explore best practices and applied design principles in an Oracle BI repository. Oracle.

Oracle Internal & Oracle Academy Use Only .

Model First Development Methodology Oracle Internal & Oracle Academy Use Only Copyright © 2008. . Oracle. All rights reserved.

columns. tables. but falls short in dynamic. model first approach start with the business requirements. top-down approach that focuses on the consolidation and abstraction of core business requirements irrespective of the underlying physical architecture: – – – – Build business model first Integrate with underlying physical architecture Quickly deploy baseline to end users Pursue iterative development based on user feedback Copyright © 2008. It is an iterative. Developers using a top-down. This approach allows developers to quickly get a reasonable baseline business model in front of users. catalogues technical details (databases. Model First Development Methodology: Overview A model first development methodology is the recommended methodology for developing Oracle BI repositories. and driven by business analysis. Oracle. All rights reserved. This is opposed to bottom-up analysis. Bottom-up analysis is an appropriate performance analysis technique for highly repeatable. top-down approach to development that focuses on the consolidation and abstraction of core business requirements irrespective of the underlying physical architecture. and so on) and then rationalizes the details into categories that attempt to match historical end-user usage patterns and business activities. which starts at the physical sources. The main objective of the model first development approach is to build the desired business model first. and then methodically drill down to the technical details.2 Oracle Internal & Oracle Academy Use Only . This ensures that functional and inherent performance requirements are addressed by the logical integration and augmentation of the physical architecture. prioritize actual business use cases. ad hoc environments where usage is less predictable. This top-down approach is generally regarded as a macro view of the issues related to development. based on business drivers and users.Model First Development Methodology: Overview • Recommended approach for developing Oracle BI repositories • Driven by business analysis and usage history • Iterative. and then pursue iterative development based on user feedback. It is entirely possible for a thorough performance optimization process driven by a bottom-up analysis to become obsolete within days or weeks as the business adapts to differing views of the data. static events. Oracle BI Suite EE 10g R3: Build Repositories A .

Central Tenets of the Model First Development Methodology • Rapid prototyping – Leverage actual subsets or fictitious physical data stores and manageable data volumes to reduce performance issues during development • Iterative development and user feedback • Gap analysis – Map the business model to actual physical sources – Manage scope and expectations accordingly • Gather performance requirements along the way – Identify patterns of use.3 Oracle Internal & Oracle Academy Use Only – Leverage prototypes for demos and hands-on sandboxes – Rollout augmented models frequently – Demonstrate responsiveness to feedback . Developers should also gather performance requirements along the way by identifying patterns of use. Oracle BI Suite EE 10g R3: Build Repositories A . All rights reserved. user groups and security constraints Copyright © 2008. data granularity. After a prototype is built and delivered to users. iterative development should continue based on user feedback. During this process. user roles and groups. data granularity. it is important to manage project scope and expectations accordingly. Oracle. Central Tenets of Model First Development Methodology A model first methodology should employ rapid prototyping of the repository business model by leveraging actual subsets or fictitious physical data sources and manageable data volumes. Since there will be gaps. developers must perform gap analysis to map the business model to actual physical data sources. and security constraints. This iterative development should ensure that augmented business models are rolled out frequently and that they demonstrate responsiveness to user feedback. This helps eliminate performance issues during development.

levels and measures from which to build and map aggregate summary objects. Groups are easily organized via similar objectives.Baseline Performance Analysis Enables you to analyze performance requirements better and discuss with business users: • Catalog and enumerate all users. objectives profile. • Obtain a detailed organization chart of the business intelligence (BI) users and organizations. • Collect row counts for all tables (facts and dimensions) as well as dimension level cardinality From these four straightforward data inputs. All rights reserved. • Collect row counts for all tables (facts and dimensions) as well as dimension-level cardinality. Oracle. natural groupings become apparent. Oracle BI Suite EE 10g R3: Build Repositories A . role. Key dimensions and levels can quickly surface. Baseline Performance Analysis It is important to perform a baseline performance analysis. • Obtain a detailed organization chart of the BI users and organizations. roles. and objectives. it is often possible to pull together a workable framework that can be implemented across large user bases. job titles. From the user. Copyright © 2008. • Identify mandated security model guidelines. roles. title. often overtly expose key dimension and levels such as geographic or product alignments and provide candidates for summaries. The output of a top-down performance optimization analysis is a rationalized and prioritized framework of dimensions. • Identify mandated security model guidelines.4 Oracle Internal & Oracle Academy Use Only . when held up to user groups. job titles. Upfront analysis of the following key data points prepares you to discuss performance requirements with users better: • Catalog and enumerate all users. and objectives. Organization charts.

Baseline Performance Analysis (continued) Security requirements show the required dimensionality for record filtering and can even eliminate entire groups from aggregate summary analysis due to highly restrictive data access requirements.5 Oracle Internal & Oracle Academy Use Only . the aggregate summaries may prove too time-intensive to build or not worth the effort. Records counts and cardinality are instrumental in calculating record compression and validating aggregate summary prototypes. Without significant compression. Oracle BI Suite EE 10g R3: Build Repositories A .

Defining the Business Model: Dimensional Matrix One of the most usable tools in rationalizing BI users’ requirements is a dimensional matrix. The output of a topdown analysis is a rationalized and prioritized framework of dimensions.Defining the Business Model: Dimensional Matrix Create a dimensional matrix that places business processes (facts) along one axis and dimensionality along the other. Oracle. Oracle BI Suite EE 10g R3: Build Repositories A . Before beginning development. All rights reserved. gather business requirements in terms of dimensions and measures. and measures from which to build and map aggregate summary objects. It provides a visual medium to ground discussions. and determine key performance indicators. levels. identify business processes. This is a simple two-dimensional matrix that places business processes (facts) along one axis and dimensionality along the other.6 Oracle Internal & Oracle Academy Use Only Business processes . Dimension 1 Dimension 2 Dimension 3 Dimension 4 Dimension 5 Fact 1 Fact 2 Fact 3 Fact 4 Fact 5 Copyright © 2008.

Dimensional Matrix: Example A business model is a completed matrix that resembles the following graphic. with “X” denoting key dimensions for a given business process and “O” denoting minor dimensionality. Oracle. Dimensional Matrix: Example A business model is a completed matrix. Organization Geography Account Product Time Sales Forecast Service Orders Activities X X X X X O X X X X X O O X X X X O X O X O O X O Frequently Sometimes Never Copyright © 2008.7 Oracle Internal & Oracle Academy Use Only Business processes . Oracle BI Suite EE 10g R3: Build Repositories A . All rights reserved.

Matrix tools such as this are highly useful in keeping performance requirements focused on key aspects and ultimately providing a concise. documented design for an aggregate summary model. All rights reserved. Drill to Levels For More detailed Performance Requirements Each business process is individually rationalized against the dimensional hierarchies and the user roles to which they apply. Oracle.8 Oracle Internal & Oracle Academy Use Only Month Country Quarter Region State Year SKU Day City .Drill to Levels for More-Detailed Performance Requirements Each business process is individually rationalized against the dimensional hierarchies and the user roles to which they apply. Oracle BI Suite EE 10g R3: Build Repositories A . Time Organization Level 2 Position Level 3 Position Level 1 Position Level 0 Position Product Product Line Geography Sales Forecast X X X X X O X X X X X X X X X X O X X X X O O Sales Manager Role Copyright © 2008.

Oracle.Focus on the Business Model Focus on the business model rather than the presentation: • Ad hoc reports are typically used once and are not pervasive. • Existing reports are useful only when abstracted for their dimension and measure objects. Copyright © 2008. All rights reserved.9 Oracle Internal & Oracle Academy Use Only . Oracle BI Suite EE 10g R3: Build Repositories A .

Leverage Oracle BI “Legless” Applications • Oracle BI Applications are complete. PeopleSoft. lower total cost of ownership (TCO). All rights reserved. Siebel. prebuilt BI solutions that deliver intuitive. including Oracle EBusiness Suite. – Use SELECT statements. Oracle BI Suite EE 10g R3: Build Repositories A . You also have the option to build completely custom BI applications. and third-party systems such as SAP. Thus. such as rapid deployment. – Deploy opaque views via BI Server Administrator as necessary. and built-in best practices. the prebuilt Oracle BI Applications repository contains prebuilt business models that can be mapped to different physical data sources. prebuilt BI solutions: – The prebuilt Oracle BI Applications repository contains business models that can be mapped to different physical data sources. – Materialize as required. Copyright © 2008.10 Oracle Internal & Oracle Academy Use Only • Redefine the Oracle BI Application Physical layer objects via the “opaque view” feature: . while also being able to extend those solutions easily to meet specific needs. these solutions enable you to gain greater insight and value from a range of data sources and applications. as you did in this course. Oracle BI Applications are built on the Oracle BI platform. Leverage Oracle BI “Legless” Applications Oracle Business Intelligence Applications are complete. – Value can be realized without Oracle Business Analytic Warehouse and ETL components. Oracle. actions. These “legless” applications enable organizations to realize the value of a packaged BI application. all on one common BI foundation. Based on best practices. role-based intelligence for everyone in an organization that enable better decisions. and business processes.

transaction-level physical schemas. . a template is generated to be deployed and scheduled with Oracle BI Scheduler or the customer’s scheduling tool of preference. populate.Use Oracle BI Data Mart Automation The Oracle BI Data Mart Automation feature (Aggregate Persistence Wizard) automates the aggregate summary process. Oracle BI Suite EE 10g R3: Build Repositories A . and map aggregated data stores. and the data sources in which to physically store the aggregate summaries. This is a wizarddriven utility in the Administration Tool that you can use to define.” the Oracle BI Data Mart Automation feature (Aggregate Persistence Wizard) automates the aggregate summary process.11 Oracle Internal & Oracle Academy Use Only – Choose the measures that should be aggregated. The wizards allows you to choose the measures that should be aggregated. Use Oracle BI Data Mart Automation As you saw in the lesson titled “Using Aggregates. – Select the data sources in which to physically store the aggregate summaries. Oracle. the dimensions and levels to be aggregated to. populate. All rights reserved. store. • Use this wizard-driven utility in the Administration Tool to define. Copyright © 2008. store. – Choose the dimensions and levels to be aggregated to. Upon completion of the wizard. and map aggregated data stores: • Create query performance improvement over normalized. Aggregate summaries are the most effective and scalable way to pervasively manage end-user query performance.

Oracle Internal & Oracle Academy Use Only .

Sign up to vote on this title
UsefulNot useful