You are on page 1of 16

Oracle9 i Warehouse Builder:

Implementation

Student Guide - Volume 1

D12157GC30

Edition 3.0

September 2003

D38599

Oracle9 i Warehouse Builder: Implementation Student Guide - Volume 1 D12157GC30 Edition 3.0 September 2003 D38599

Author

Richard Green

Technical Contributors and Reviewers

Alan Zhang Allan Williamson Benjamin Loper Daggi Hansen Harry Penberthy Jean-Pierre Dijcks Joel Barkin Joseph Klein Julie Curdo Kasturi Shekhar Kurt Lysy Marcelo Manzano Maribel Renau Perez Mark van de Wiel Mauro Storti Michael Fan Miguenel Morales Mugtanim Mubeen Sarah Spicer Veena Revanuru

Publisher

Joseph Fernandez

Copyright © 2003, Oracle. All rights reserved.

This documentation contains proprietary information of Oracle Corporation. It is provided under a license agreement containing restrictions on use and disclosure and is also protected by copyright law. Reverse engineering of the software is prohibited. If this documentation is delivered to a U.S. Government Agency of the Department of Defense, then it is delivered with Restricted Rights and the following legend is applicable:

Restricted Rights Legend

Use, duplication or disclosure by the Government is subject to restrictions for commercial computer software and shall be deemed to be Restricted Rights software under Federal law, as set forth in subparagraph (c)(1)(ii) of DFARS 252.227-7013, Rights in Technical Data and Computer Software (October 1988).

This material or any portion of it may not be copied in any form or by any means without the express prior written permission of Oracle Corporation. Any other copying is a violation of copyright law and may result in civil and/or criminal penalties.

If this documentation is delivered to a U.S. Government Agency not within the Department of Defense, then it is delivered with “Restricted Rights,” as defined in FAR 52.227-14, Rights in Data-General, including Alternate III (June 1987).

The information in this document is subject to change without notice. If you find any problems in the documentation, please report them in writing to Education Products, Oracle Corporation, 500 Oracle Parkway, Box SB-6, Redwood Shores, CA 94065. Oracle Corporation does not warrant that this document is error-free.

Oracle and all references to Oracle Products are trademarks or registered trademarks of Oracle Corporation.

All other products or company names are used for identification purposes only, and may be trademarks of their respective owners.

Contents

Preface

1 Introduction Lesson Objectives

1-2

Course Objectives

1-3

Agenda: Day 1

1-5

Agenda: Day 2

1-6

Agenda: Day 3

1-7

Agenda: Day 4

1-8

Questions About You

1-9

2 Warehouse Builder Concepts and Architecture Objectives 2-2

Business Intelligence: The Old Way Business Intelligence: The New Way What Is Oracle9i Warehouse Builder?

OWB in the Oracle9 i Business Intelligence Platform

2-3

2-4

2-6

2-7

OWB: Bundled with the Oracle Database Process Flow of Design and Deployment OWB Design and Run-Time Components

OWB: Bundled with the Oracle Database Process Flow of Design and Deployment OWB Design and Run-Time
OWB: Bundled with the Oracle Database Process Flow of Design and Deployment OWB Design and Run-Time

2-8

2-9

2-10

Design Components

Run-Time Components

Loose Coupling of Metadata with Physical Implementations

Security Infrastructure

Multiuser Access

Security Mechanism Summary 2-21

2-11

2-14

2-18

2-20

2-19

3 Installing and Starting OWB Objectives 3-2

Installing OWB

Recommended OWB9i System Requirements

Supported and Certified Versions of Oracle RDBMS

3-3

3-4

3-5

Installable Components of OWB Installing and Configuring OWB

Installable Components of OWB Installing and Configuring OWB

3-6

3-7

2-17

Oracle Internet Application Server (9i AS)

3-8

Oracle Enterprise Manager

3-9

Oracle Workflow

3-10

Configuration of Tools for Interoperability

3-11

3-13

Three-Tier Configuration Two-Tier Configuration

3-14

 

Creating OWB Users

3-15

Logging On to Oracle Warehouse Builder

3-16

iii

Projects 3-17 Organizing Your Work in Projects

Concurrent Users Per Project with Object Locking

Multiple User Access

Using the Project Console Window

3-18

3-21

3-20

Objects Within a Project

3-22

Objects Within a Module

3-24

Creating a Project

3-26

3-19

Using the New Project Wizard

Setting Preferences

Summary 3-31 Guided Practice: Invoking OWB and Opening a Project

3-27

3-28

3-32

4 Case Study: Vintners Vine Objectives 4-2 Case Study: Vintners Vine

4-3

Comparison of the Merging Companies

Data Sources for Vintners Vine

Source: VintnersVine.com

Vintners Ltd. Data That Is Already Captured

Solution: Staging Area, Enterprise Warehouse, and Dependent Data Marts

Purpose of a Staging Area

Logical Model Tables

Dimensional Model of Data Mart

4-4

4-5

4-6

4-9

4-7

4-10

4-11

Data Mart Dimension: Times

4-12

Times Dimension Attributes

4-13

Data Mart Dimension: CHANNELS Data Mart Dimension: CUSTOMERS

Data Mart Dimension: PRODUCTS

Data Mart Dimension: PROMOTIONS

Data Mart Cube: SALES Summary 4-19

4-14

4-15

4-16

4-17

4-18

5 Defining Source Metadata

Objectives 5-2 Warehouse Builder Progress Report

5-3

Defining Source Metadata

5-4

Source Module

5-5

Case Study Data Sources

5-6

Case Study Source Modules

Differences in Obtaining Relational and Flat-File Source Metadata

Creating a Source Module

Using the New Module Wizard

New Module Wizard: Name

5-7

5-9

5-10

5-11

5-8

iv

4-8

New Module Wizard: Connection Information

5-12

New Module Wizard: Location

New Module Wizard: Finish

Import Metadata Wizard: Welcome

Importing from Flat Files Selecting the Flat Files

Collecting Channels Metadata Information

Flat File Sample Wizard: Welcome

5-13

5-14

5-15

5-16

5-17

5-19

5-20

Describing the File Record Organization

5-21

File Layout

5-22

Selecting the Format

5-23

Modifying Field Information

Summary for Channels Metadata Sampling

5-24

5-18

5-25

Collecting Business Roles Metadata Information

5-26

Selecting Fixed-Length File Format

5-27

Creating Field Breaks

5-28

Modifying Field Names and Data Characteristics

5-29

Collecting Geography Metadata Information from a Multirecord File

Specifying That the File Contains Multiple Record Types

Modifying the Record Name

5-31

5-32

5-30

Modifying the Region Record Type Modifying the Country Record Type

Modifying the Region Record Type Modifying the Country Record Type

5-33

5-34

Guided Practice 5-1: Defining a Source Module for Flat Files

Importing Source Metadata from Oracle Database Tables

Importing Metadata from Relational Sources

New Module Wizard: Name

New Module Wizard: Data Source Information

New Module Wizard: Connection Information

Creating a New Database Link

New Module Wizard: Choosing a Schema

Database Link Based On Oracle Net Configuration

New Module Wizard: Location

Finishing Module Creation and Proceeding to Import Two Ways to Invoke Import Metadata Wizard Later

Filtering the Objects to Import

Selecting the Wine_Products Table

Completing the Metadata Import

Examining the Imported Metadata for the Wine_Products Table

Importing Source Metadata from Oracle Designer 6i/9i

Using Advanced Queues

Summary 5-57 Guided Practice 5-2: Defining a Source Module for a Relational Source

5-35

5-40

5-41

5-43

5-44

5-42

5-45

5-48

5-51

5-53

5-46

5-47

5-49

5-50

5-52

5-54

5-55

5-56

5-58

v

6

Defining Staging Area Metadata Objectives 6-2

Warehouse Builder Progress Report

Mapping Source to Staging Area

Purpose of a Staging Area

Defining Staging Areas In Warehouse Modules

OWB Mapping

Mapping New Tables to the Staging Area Warehouse Module Examining the Predefined Staging Area Warehouse Module

Creating a Mapping OWB Mapping Editor

Mapping a New Map_Stg_File_Geography Staging Table

Choosing the Source Flat File

Creating a Target Mapping Table

Creating the Unbound Table Without Attributes

Mapping Individual Source Columns to the Target

Using Outbound Reconciliation to Create the Repository Table

Outbound Reconciliation

Adding an Attribute

Adding the Load_Date Attribute

Minimizing Objects

Adding a Sys_Date Data Generator for the Load_Date Attribute

Setting Load Operator to TRUNCATE/INSERT

Support for MERGE Statement

Adding Stg_Regions_Rec Mapping Table

Validating the Mapping

Warning: No Data File Specified

Viewing Details for Specifying a Data File

6-3

6-4

6-5

6-6

6-7

6-8

6-9

6-12

6-10

6-11

6-13

6-14

6-15

6-16

6-17

6-18

6-19

6-21

6-20

6-22

6-23

6-24

6-25

6-26

6-27

6-28

Accessing the Configuration Dialog Box

6-29

Adding the Source Data File

6-30

Specifying Data File Location and Name

6-31

Successful Validation

Generate Mapping to See Control Files

Guided Practice: Adding Tables to the Predefined Staging Area from Flat Files

6-32

6-33

6-34

Mapping a New Stg_Wine_Products_V Staging Table

6-38

Adding a Transformation for SYSDATE

6-39

Using a Filter

6-40

Using the Expression Builder to Define a Filter Condition

6-41

Using Expression Builder to Define a Filter Condition

Generate Mapping to See PL/SQL Code OWB Automatically Creates a Connector Examining the Locations and Connector

6-43

6-44

6-45

vi

6-42

Key Lookup Operator Key Lookup Condition Set Operation Operator

Summary 6-49 Guided Practice: Adding a Table to the Staging Area from a Relational Source

6-46

6-47

6-48

6-50

7 Deploying and Populating Staging Area Objects Objectives 7-2

Warehouse Builder Progress Report

Creating the Staging Tables

7-4

7-3

Logical Versus Physical Physical Implementation

Logical Versus Physical Physical Implementation

7-5

7-6

Configuring for Physical Implementation

Accessing Configuration Screens

Creating a Run-Time Repository Connection for Deployment Manager

Naming the Run-Time Repository Connection

Specifying Connection Information Invoking the Deployment Manager

Deployment Manager Interface

Default Action and Generate and Deploy

7-13

7-7

7-8

7-10

7-11

7-12

7-14

Registering Locations

Predeployment Generation Results

View Generated Scripts

Deploy to File System or to Database

Deploying the Generated Scripts

Script Generation

Guided Practice: Generating Code and Creating Tables and Sequences

7-15

7-17

7-16

7-18

7-19

7-20

Warehouse Builder Progress Report

7-24

Data Extraction and Transformation

7-25

Mappings from Flat Files Generate SQL*Loader Control Files

Setting Top Directory for Generated Files

Configuring Mappings

Generate and Deploy Flat-File Mapping

Flat-File Mapping Generates a Control File

Generated Control File Code Registering FF_LOC Location

Deploying Control File

Results of Control File Deployment

Executing the Flat-File Mapping

Flat-File Mapping Loaded Successfully

Connectors for Multiple Locations

Deploying a Function That Is Used in a Mapping

Deploying the Function

7-27

7-29

7-30

7-28

7-31

7-32

7-33

7-34

7-35

7-37

7-36

7-38

7-39

vii

7-26

7-9

7-21

Viewing Deployment Results

7-40

Deploying the Connector

Registering the Source Location

Deploying the Mapping

Executing the Mapping Scripts Mapping Loaded Successfully

Starting the Runtime Audit Browser

Connecting to a Run-Time Repository

Viewing the Deployment Report

Viewing the Execution Schedule

7-41

7-43

7-42

7-44

7-45

7-48

7-49

7-46

7-47

Viewing the Execution Report

7-50

Populating the Staging Tables

7-51

Summary 7-52 Guided Practice: Generating and Deploying Scripts and Database Links

7-53

8 Defining and Populating the Enterprise Model Warehouse Objectives 8-2

Warehouse Builder Progress Report

Populating Enterprise Model Tables

8-5

Lesson Topics

8-3

8-4

1. Review: Using an Enterprise Model Warehouse

8-6

Review: Purpose of an Enterprise Model

Enterprise Warehouse Module Is Partially Predefined

Mapping from the Staging Area to the Enterprise Warehouse Module Map_Ent_D2_Geography_UPD 8-10 Map_Ent_D5_Wine_Products_V 8-11

Warehouse Builder Data Quality Features

Name and Address Cleansing Operator

Multiple Name and Address Software Providers

Name and Address Wizard and Operator Properties

Match-Merge Wizard and Operator Editor

2. Using Synthetic Keys in the Warehouse

Using Synthetic Keys in a Warehouse

Performing Key Rationalization

Case Study Uses a Predefined Primary Key

Change Match by Constraint to No ConstraintsBefore Setting Attribute Properties

Setting Attribute Properties for Synthetic and Natural Keys

3. Working with Row-Sets

Row-Sets 8-24 Operators and Transformations

Avoid Combining Row-Sets of Different Cardinality

Reducing Row-Set Cardinality with the Join Operator

Using Display Sets for Visual Display

8-7

8-8

8-9

8-12

8-13

8-14

8-15

8-16

8-17

8-20

8-18

8-19

8-22

8-23

8-25

8-26

8-27

8-28

viii

8-21

Choosing a Display Set

8-29

4. OWB Public Transformations Library

Using Mapping Transformations Adding a Mapping Transformation

Oracle Library of Transformations Transformation Properties Sheet

Multitable Insert

Using the Splitter Operator for Multitable Insert

Pivot and Unpivot Operators Wizard-Based Pivot Definition

8-30

8-31

8-32

8-33

8-34

8-35

8-37

8-38

8-36

Resulting Pivot Code and Mapping

8-39

Using the Table Function Operator

8-40

Guided Practice: Mapping from Staging to Enterprise Model Tables

Warehouse Builder Progress Report

Deploying the Mappings

Invoking Deployment Manager

Deploying a Sequence Used in a Mapping

Deploying a Connector Created by the Mapping

Registering the Location

Predeployment Registration Results

Connector Deployment Results

Connectors for Multiple Locations

Deploying the Mapping

Deployment Results for the Mapping

Executing the Mapping

Mapping Execution Results

Deploy and Execute the Other Mapping

Summary 8-61 Guided Practice: Generating and Deploying Scripts and Database Links

8-41

8-47

8-48

8-49

8-50

8-51

8-52

8-53

8-54

8-55

8-56

8-58

8-57

8-59

8-60

9 Defining and Populating Data Marts Objectives 9-2 Warehouse Builder Progress Report

Populating Data Mart Tables

Creating a Module

Importing Metadata to a Project

Classifying the Data

Star Schema

Dimension Tables

Determining Granularity

Creating a Dimension

Defining the Dimension

Defining Levels

9-4

9-5

9-7

9-9

9-6

9-8

9-10

9-11

9-12

9-13

9-3

ix

8-62

Defining Level Attributes

9-14

Defining a Hierarchy of Levels

Selecting and Ordering the Levels

Dimension Editor

Guided Practice: Defining a Data Mart Module and Dimensions

Cube Tables

Defining a Cube

Adding Dimensions by Using Foreign Keys

Adding Measures

Cube Editor

Guided Practice: Defining and Editing the SALES Cube Table

Create a Database Link to the WH_COMMON Schema Reverse-Engineering a Procedure and a Package

Sharing Transformations

Creating a Custom Transformation

Adding Parameters to the Transformation

Adding Implementation Syntax

Selected Mappings to the Data Mart Map_Dim_D2_Customers 9-39 Map_Dim_D1_Times 9-40

Using OWB Scripts to Create a Project with Sample Time Dimension Mappings Map_Dim_D1_Products 9-42

Using External Tables Instead of Staging Tables for Flat-File Sources

Enabling Parallel SELECT Statements with External Tables Map_Dim_D1_Channels 9-45 Map_Fact_D3_Sales 9-46

A Star Is Born

Populating the Data Mart Tables

Materialized View

Materialized View: Query Rewrite Dramatically Improves Query Performance

Materialized Views: Query Rewrite on SALES_SUMMARY

Adding a Materialized View

Summary 9-53 Guided Practice: Import Transformations and Define Data Mart Mappings

9-15

9-16

9-17

9-26

9-28

9-18

9-25

9-27

9-29

9-30

9-32

9-33

9-34

9-35

9-38

9-36

9-37

9-41

9-43

9-44

9-47

9-48

9-49

9-50

9-51

9-52

9-54

10 Incremental Data Loading Objectives 10-2

Warehouse Builder Progress Report

Initial Versus Incremental Loads

Updating Data and Metadata

Preserving History While Updating Fact Data

10-3

10-4

10-5

10-6

Two Ways to Refresh the Fact Table

10-7

Capturing Changed Data for Refresh

10-8

x

Wholesale Data Replacement

10-9

Comparison of Database Instances

Time and Date Stamping

Database Triggers

Using a Database Log Verdict 10-14

Applying the Changes to Data

10-13

10-10

10-11

10-12

10-15

Overwriting a Record Adding a New Record

Overwriting a Record Adding a New Record

Adding a Current Field

10-16

10-17

10-18

Maintaining History History Preserved

Three Refresh Scenarios

Target Uses a Sequence-Generated Key

Change Match by Constraint to No Constraints

Setting Attribute Properties for Synthetic Keys

Setting Loading Properties

10-19

10-20

10-21

10-22

10-24

10-25

10-23

Update Operation Conditions Choosing the DML Load Type

Update Operation Conditions Choosing the DML Load Type

10-26

10-27

Specifying an Update Target Condition

Summary 10-30 Guided Practice: Modifying a Mapping for Updating

10-29

10-31

11 Sequencing the Workflow of OWB Jobs Objectives 11-2

Warehouse Builder Progress Report Automating and Scheduling Loads

Warehouse Builder Progress Report Automating and Scheduling Loads

11-3

11-4

Determining the Load Window

Example of Interdependent Tasks

Overview of the Relevant Components

Overview of Functionality

Process Editor

Process Flow: Example Process Editor Layout

Birds Eye View

Visit Child Process

Activities 11-14 Types of Conditions for Transitions

Process Packages and Process Modules

11-5

11-6

11-7

11-8

11-9

11-10

11-11

11-12

11-13

11-17

11-18

Process Editor Integration with Oracle Workflow

11-19

Process Editor Generates XPDL Code

11-20

Executing Process Flows from Oracle Workflow

11-21

Workflow Components

Workflow Location Registration

11-22

11-23

xi

Workflow Monitor: Activities List Window Workflow Monitor: View Diagram Window

Scheduling a Process

Using OEM to Schedule OWB Mappings

Configuring OEM for Use with OWB

Configuring OEM for Use with OWB: Establishing Preferred Credentials

Deploy Mappings to the Database and the File System

Submitting or Scheduling Jobs in OEM

Reviewing Submitted Jobs in OEM

Reviewing Submitted Jobs in the OWB Runtime Audit Browser Summary 11-34

Guided Practice: Examining and Defining Process Flows

11-24

11-25

11-27

11-26

11-28

11-30

11-31

11-32

11-33

11-35

11-29

12 Maintaining the Warehouse and Data Mart Objects Objectives 12-2

Warehouse Builder Progress Report

12-3

Synchronizing Change

12-4

What Is Reconciliation?

12-5

Life-Cycle Management of OWB Sources, Metadata, and Warehouse Targets

1. The Source Orders Table Requires Modification

12-7

2. Take Metadata Snapshot Before the Change

Finish Defining the Snapshot

3. Add a Column to the Source Table

4. Reimport the Source Table Metadata

Reimport Steps

A. Invoking Import

B. Filtering Objects

C. Selecting Objects

D. Setting Reconciliation Options

E. Viewing the Import Results Report

12-9

12-10

12-11

12-12

12-13

12-14

12-15

12-16

12-17

12-8

Dangling References: Examples

12-18

Reimport Limitations

12-19

5. Run Impact Analysis Diagram

12-20

12-6

6. Modify Related OWB Table Definitions

12-21

7. Inbound Reconcile the Mapping Tables

12-22

8. Take Metadata Snapshot After Change

12-23

Use Change Manager to Compare Snapshots

12-24

Comparison Results

12-25

 

9.

Deploy the Changes

12-26

10. Cancel the Change

12-27

11. Redeploy the Original Version

12-28

 

Cut/Copy/Paste and Recycle Bin

12-29

Guided Practice: Applying Metadata Changes

12-30

xii

Mapping Debugger

12-34

Connecting to Target Schema

Warning: Not All Test Data Found

12-35

12-36

Test Data Tab Shows Tables Not Found

12-37

Defining Test Data

12-38

Warning: No Data Found

12-39

 

12-40

Define Test Data Dialog Box Choose the Schema and Table

12-41

 

Source Table and Data Are Found

12-42

Define the Other Source Table

12-43

 

Replace Target with a Debugging Table

12-44

Create a Copy of the Target Table

Reinitialize the Debug Session

12-45

12-46

Continue Reinitializing the Session

12-47

Set Breakpoints and Watch Points

12-48

Guided Practice: Using the Mapping Debugger

OWB Design Browser

12-54

12-49

Setup for Stand-Alone Design Browser Creating a Database Access Descriptor

Setup for Stand-Alone Design Browser Creating a Database Access Descriptor

12-55

12-56

Navigating to Add a Database Access Descriptor

Defining the Database Access Descriptor

Configuring OWB Client for Design Browser

Starting the Design Browser

12-61

Using OWB Reports

Lineage and Impact Analysis Diagrams

Lineage Diagram

Impact Analysis Diagram

Favorites 12-66 Summary 12-67 Guided Practice: Using the Design Browser

12-64

12-58

12-57

12-59

12-60

Types of Reports

12-62

12-63

12-65

12-68

13 OWB Bridges and OLAP Integration Objectives 13-2

The Oracle9i OLAP Feature Benefits of Oracle9 i OLAP

Enabling Oracle9 i OLAP

1. Creating the OLAP Metadata

2. Defining a Collection

Using the Bridges

Launching the Transfer Wizard in OWB

3. Deploying the Transfer Wizard

Transfer Wizard: Source and Target Locations

13-3

13-4

13-5

13-7

13-6

13-8

13-9

13-10

13-11

Entering Transfer Parameters

13-12

4. Loading Data into the Analytic Workspace

Creating Advanced Attribute Sets for Exporting Metadata to Discoverer

Cube Properties Dialog Box: Attribute Sets Tab

Advanced Attribute Properties Summary 13-17

13-13

13-15

13-16

13-14

Appendix A: Approaches to Building a Warehouse

Definition of a Data Warehouse

Typical Data Warehousing Process Data Warehouse Compared to OLTP

A-2

A-3

A-4

Data Warehouse Compared with Data Mart

A-5

Independent Versus Dependent Marts

A-6

Independent Data Mart

A-7

A-8

 

Dependent Data Mart

Purpose of a Staging Area

A-9

Data Staging Area

A-10

A-11

 

Remote Staging Model Onsite Staging Model

A-12

 

Purpose of an Enterprise Model

A-13

Extract, Transform, Load (ETL) Processes

A-14

ETL Processes

A-15

Source Systems

A-16

Mappings A-17

Extracting Data

A-18

Possible Reasons for ETL Failure

A-19

Typical Warehousing Development Tasks

A-20

Appendix B: Solution to Practice

9-3, Steps 44, 45

Appendix C: Slowly Changing Dimensions with Oracle9i Warehouse Builder

Appendix D: Installing and Configuring Oracle Enterprise Manager and Oracle Workflow

Overview of Relevant Components

Overview of Functionality Oracle Management Server

OEM Configuration

Configuration: Example

Using OEM to Schedule OWB Mappings

D-2

D-3

D-6

D-4

D-5

D-7

1. Installing OEM

1.c Installing OEM: Create OEM Repository

1.d Installing OEM: Start Oracle Management Server and Oracle Agents

1.e Installing OEM: Launch OEM Console and Discover Nodes

Using OEM to Schedule OWB Mappings

D-8

D-9

D-11

D-12

xiv

D-10

2.

Configuring OEM for Use with OWB

D-13

2. Configuring OEM for Use with OWB: Establish Preferred Credentials

D-14

Using OEM to Schedule OWB Mappings

D-15

Deployment (Steps 3 and 4)

D-16

Using OEM to Schedule OWB Mappings

D-17

5.

Registering Mappings in OEM

D-18

Using OEM to Schedule OWB Mappings

D-19

6.

Submitting or Scheduling Jobs in OEM

D-20

Reviewing the Submitted Jobs in OEM

Reviewing the Submitted Jobs in the OWB Runtime Audit Browser

Tips for Using OEM with OWB

Installing and Preparing Oracle Workflow for Use with OWB

D-24

D-21

D-23

Workflow Components

D-25

Debugging OWF Runs

D-26

Tips for Using OWF with OWB

D-27

xv

D-22