contentsbooks.mcgraw-hill.com/downloads/products/0072126752/0072126752_t… · xiv oracle8i data...

15
Contents ACKNOWLEDGMENTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxvii INTRODUCTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxix 1 Warehouse: What Is It, Who Needs It, and Why? . . . . . . . . . . . . . . . . . . . . . 1 A Particularly Bad Day . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Problems with the Current Reporting Architecture . . . . . . . . . . . . . . . . . 4 The Goal: Business Intelligence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 An Automatic Teller Machine (ATM)—For Data . . . . . . . . . . . . . . . . . . . 7 So, What’s a Data Warehouse? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Subject Oriented . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Integrated . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 Nonvolatile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 Time Variant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 Business Intelligence Differs from Transaction Processing . . . . . . . . . . . 15 Data Warehousing: A Dirty Little Secret . . . . . . . . . . . . . . . . . . . . . . . . . 16 Return on Investment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 Why Oracle8i for Data Warehousing? . . . . . . . . . . . . . . . . . . . . . . . . . . 20 Oracle8i—Relational Database . . . . . . . . . . . . . . . . . . . . . . . . . . 21 Oracle Reports & PL/SQL—Development Tools . . . . . . . . . . . . . 21 Oracle Warehouse Builder (OWB)—ETL . . . . . . . . . . . . . . . . . . . 21 Express—Multidimensional Database Engine . . . . . . . . . . . . . . . 22 Discoverer—Relational OLAP Query Tool . . . . . . . . . . . . . . . . . 22 xi

Upload: vuongnga

Post on 13-May-2018

232 views

Category:

Documents


0 download

TRANSCRIPT

ORACLE Series / Oracle8i Data Warehousing / Corey, Abbey, Abramson, Taub / 2675-2 / Chapter 1Blind Folio 1:xi

Contents

ACKNOWLEDGMENTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxviiINTRODUCTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxix

1 Warehouse: What Is It, Who Needs It, and Why? . . . . . . . . . . . . . . . . . . . . . 1A Particularly Bad Day . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3Problems with the Current Reporting Architecture . . . . . . . . . . . . . . . . . 4The Goal: Business Intelligence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5An Automatic Teller Machine (ATM)—For Data . . . . . . . . . . . . . . . . . . . 7So, What’s a Data Warehouse? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

Subject Oriented . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11Integrated . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12Nonvolatile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12Time Variant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

Business Intelligence Differs from Transaction Processing . . . . . . . . . . . 15Data Warehousing: A Dirty Little Secret . . . . . . . . . . . . . . . . . . . . . . . . . 16Return on Investment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18Why Oracle8i for Data Warehousing? . . . . . . . . . . . . . . . . . . . . . . . . . . 20

Oracle8i—Relational Database . . . . . . . . . . . . . . . . . . . . . . . . . . 21Oracle Reports & PL/SQL—Development Tools . . . . . . . . . . . . . 21Oracle Warehouse Builder (OWB)—ETL . . . . . . . . . . . . . . . . . . . 21Express—Multidimensional Database Engine . . . . . . . . . . . . . . . 22Discoverer—Relational OLAP Query Tool . . . . . . . . . . . . . . . . . 22

xi

P:\010Comp\Oracle8\675-2\fm.vpThursday, December 28, 2000 12:31:28 PM

Color profile: Generic CMYK printer profileComposite Default screen

Oracle Data Mining Suite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22This Book . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22A Career-Saving Happy Ending . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

2 Things to Consider . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25Don’t Listen to What We Say … Be Pragmatic . . . . . . . . . . . . . . . . . . . . 26Articles and Books Contain Opinions, Not Facts . . . . . . . . . . . . . . . . . . 26Buyer Beware! . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27Start with Business Requirements—Not Technology . . . . . . . . . . . . . . . . 28What Goes into the Warehouse? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28Data Mart or Data Warehouse? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29Big Bang Versus Small Iterations—Development Phases . . . . . . . . . . . . 32Long Live RI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33Another Secret Weapon—ROI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34Query Tools—You Will Have More than One . . . . . . . . . . . . . . . . . . . . 35Data Warehouse Differences—A Developer’s Perspective . . . . . . . . . . . 36Data Warehouse Differences—The User’s Perspective . . . . . . . . . . . . . . 37Empowering Users . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38Why Oracle for Data Warehousing? . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

Total Solutions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39OLAP and Server Access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39One Repository/Many Solutions . . . . . . . . . . . . . . . . . . . . . . . . . 41Existing Relationships . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42Return on Investment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

3 Finding and Building the Team . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43The Data Warehouse Team Checklist . . . . . . . . . . . . . . . . . . . . . . . . . . . 44Roles Needed for Your Data Warehouse Team . . . . . . . . . . . . . . . . . . . 48

Data Warehouse Project Director . . . . . . . . . . . . . . . . . . . . . . . . 48Data Warehouse Project Manager . . . . . . . . . . . . . . . . . . . . . . . . 50Data Provision Specialists, Business Analysts . . . . . . . . . . . . . . . . 52Data Warehouse Architect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53Database Administrator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55System Administrator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56Data Migration Specialist . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57Data Transformation/Grooming Specialist . . . . . . . . . . . . . . . . . . 59Data Mart Development Leader . . . . . . . . . . . . . . . . . . . . . . . . . 60Quality Assurance/Testing Specialist . . . . . . . . . . . . . . . . . . . . . . 61Infrastructure Specialist . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62Power User (Legacy System Specialist) . . . . . . . . . . . . . . . . . . . . 63Trainer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64Technical Writer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65Public Relations Person . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

xii Oracle8i Data Warehousing

ORACLE Series / Oracle8i Data Warehousing / Corey, Abbey, Abramson, Taub / 2675-2 / Front MatterBlind Folio FM:xii

P:\010Comp\Oracle8\675-2\fm.vpThursday, December 28, 2000 12:31:29 PM

Color profile: Generic CMYK printer profileComposite Default screen

Contents xiii

ORACLE Series / Oracle8i Data Warehousing / Corey, Abbey, Abramson, Taub / 2675-2 / Front MatterBlind Folio FM:xiii

Corporate Sponsors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66Help Desk Person . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66Tools Specialist . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67Vendor Relations Person . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67Webmaster . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

Traditional Strategies for Finding the Warehouse Team . . . . . . . . . . . . . 69Recruitment Ads . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69Headhunters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72Employee Referrals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75Job Fairs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77User Groups and Trade Groups . . . . . . . . . . . . . . . . . . . . . . . . . . 78The College Connection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79The Internet—Your Web Site . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79The Internet—Commercial Search Sites . . . . . . . . . . . . . . . . . . . . 79Offering Employee Benefits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80How to Treat Candidates During the Interview . . . . . . . . . . . . . . 81Make Offers Quickly . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82

4 Managing the Data Warehouse Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83The Driving Force Behind the Data Warehouse . . . . . . . . . . . . . . . . . . . 85Getting Ready for Your Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87

The Right Corporate Sponsor . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88Joint Business and Technology Project . . . . . . . . . . . . . . . . . . . . 88Valid Business Reason for Building the Warehouse . . . . . . . . . . . . . 89

Picking a Target and Moving Forward . . . . . . . . . . . . . . . . . . . . . . . . . . 89Key Business Users Meeting . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90Interview the Key People . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90

Project Management: The Benefits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92Project Management: A Definition . . . . . . . . . . . . . . . . . . . . . . . 93What Is a Project? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94

The Scope Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95Work Breakdown Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98

How to Create a Work Breakdown Structure . . . . . . . . . . . . . . . . 98Project Estimating . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102

Probability and Risk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103Scope Creep . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108Tracking Your Project’s Progress . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110

Change Requests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110Project Logs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110User Acceptance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111Project Meetings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111

Celebrate Success . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112Project Management Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112

P:\010Comp\Oracle8\675-2\fm.vpThursday, December 28, 2000 12:31:29 PM

Color profile: Generic CMYK printer profileComposite Default screen

xiv Oracle8i Data Warehousing

ORACLE Series / Oracle8i Data Warehousing / Corey, Abbey, Abramson, Taub / 2675-2 / Front MatterBlind Folio FM:xiv

5 Data Warehouse Design Methodology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123The Information Utility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124The Information Utility’s Infrastructure . . . . . . . . . . . . . . . . . . . . . . . . . . 124Warehouse Design Architectures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125The Preferred Architecture: Integration Layer and High Performance

Query Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126Data Store 1—The Source Systems . . . . . . . . . . . . . . . . . . . . . . . 127Flow 1—From the Data Sources

to the Integration Layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127Data Store 2—The Integration Layer . . . . . . . . . . . . . . . . . . . . . . 132Data Flow 2—From the Integration Layer to the High

Performance Query Structures . . . . . . . . . . . . . . . . . . . . . . . . 141Data Store 3—The High Performance Query Structures (HPQS) . 142Data Flow 3—From the High Performance Query Structures

to the End User Reporting Applications . . . . . . . . . . . . . . . . . . 142Data Store 4—Data in the End User’s Hands . . . . . . . . . . . . . . . . 142

Alternate Warehousing Architectures . . . . . . . . . . . . . . . . . . . . . . . . . . . 143Alternate Architecture 1—No Warehouse . . . . . . . . . . . . . . . . . . 143Alternate Architecture 2—Normalized Design . . . . . . . . . . . . . . . 144Alternate Architecture 3—Just Data Marts . . . . . . . . . . . . . . . . . . 144

The Information Utility Revisited . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145

6 Data Warehouse Development Methodology . . . . . . . . . . . . . . . . . . . . . . . . . 147Data Warehousing Risks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148

Technology Risk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148Project Management Risk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149Business Risk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150

Methodology Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151Phase One—Vision . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153

Vision Goals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153Key Vision Deliverables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153Vision Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157

Phase Two—Discovery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158Discovery Goals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158Key Discovery Deliverables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158Discovery Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159

Phase Three—Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161Architecture Goal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161Key Architecture Deliverables . . . . . . . . . . . . . . . . . . . . . . . . . . . 161Architecture Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162

Phase Four—Construction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163

P:\010Comp\Oracle8\675-2\fm.vpThursday, December 28, 2000 12:31:29 PM

Color profile: Generic CMYK printer profileComposite Default screen

Construction Goal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163Key Construction Deliverables . . . . . . . . . . . . . . . . . . . . . . . . . . 163Construction Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164

Phase Five—Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164Implementation Goals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165Key Implementation Deliverables . . . . . . . . . . . . . . . . . . . . . . . . 165Implementation Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165

Phase Six—Audit and Iteration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166Audit and Iteration Goals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166Key Audit and Iteration Deliverables . . . . . . . . . . . . . . . . . . . . . . 166Audit and Iteration Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166

7 Data Marts and Star Schema Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169Data Marts—User Accessible Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170

If You’ve Built a Warehouse, Why Do You Need Data Marts? . . . 170Can a Data Mart Replace a Data Warehouse? . . . . . . . . . . . . . . . 171Typical Technologies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171

Star Schema Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172What Is a Star Schema? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172

The Design Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173Start with Facts or Dimensions? . . . . . . . . . . . . . . . . . . . . . . . . . . 174Fact Table Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174Dimension Table Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177Snowflake Schema: A Variation on the Star Schema . . . . . . . . . . 182Referential Integrity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182

Summary Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182Materialized Views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184The Effect on Dimension Tables . . . . . . . . . . . . . . . . . . . . . . . . . 184Two Rules for Determining Which Summaries to Create . . . . . . . 185

Common Design Complexities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186Slowly Changing Dimensions . . . . . . . . . . . . . . . . . . . . . . . . . . . 187Nonadditive Facts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189

Dimensional Warehouses and Marts Containing Multiple Fact Tables . . 190Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191

8 The Physical Data Warehouse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193The VLDB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194

Window of Opportunity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194Implementing a VLDB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195Tables and Partitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195

Supporting a Star Schema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197Translating Theory into Practice . . . . . . . . . . . . . . . . . . . . . . . . . 197Systematic Denormalization . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198

Contents xv

ORACLE Series / Oracle8i Data Warehousing / Corey, Abbey, Abramson, Taub / 2675-2 / Front MatterBlind Folio FM:xv

P:\010Comp\Oracle8\675-2\fm.vpThursday, December 28, 2000 12:31:30 PM

Color profile: Generic CMYK printer profileComposite Default screen

Star Schema Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199Dimensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201

Parallelism and Performance of the Physical Data Warehouse . . . . . . . . 209MPP and SMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209Parallel Query . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210Parallelism and the Warehouse . . . . . . . . . . . . . . . . . . . . . . . . . . 210Degree of Parallelism . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212Turning on Parallel Query at the Instance Level . . . . . . . . . . . . . 214

Tablespace Segregation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215System Support Tablespaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215Application Tablespaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215Pointing Users at Tablespaces . . . . . . . . . . . . . . . . . . . . . . . . . . . 216

Other Physical Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216National Language Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217

Oracle Internet File System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219Physical Implementation Approach . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220

9 Fundamentals of an ETL Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223An ETL Infrastructure: The Foundation of any Data Warehouse . . . . . . . 224Fundamentals of ETL and Data Warehousing . . . . . . . . . . . . . . . . . . . . . 225

Determining the Scope of ETL . . . . . . . . . . . . . . . . . . . . . . . . . . . 226The Need for ETL Metadata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227ETL Tools Versus Manual Development . . . . . . . . . . . . . . . . . . . 229Selecting an ETL Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . 230Settling on Your ETL Architecture . . . . . . . . . . . . . . . . . . . . . . . . 235

Being the ETL Silver Bullet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236Where to Start . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236

Metadata Revisited . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237Extract Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237Change Data Capture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239Target Table Refresh Strategy . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240Transformations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247Job Scheduling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252Balancing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253Be an ETL Silver Bullet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255

10 Loading the Oracle Warehouse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257Database Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260SQL*Loader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261

Features of SQL*Loader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262Invoking SQL*Loader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263Inputs to and Outputs from SQL*Loader . . . . . . . . . . . . . . . . . . . 264The Control File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265

xvi Oracle8i Data Warehousing

ORACLE Series / Oracle8i Data Warehousing / Corey, Abbey, Abramson, Taub / 2675-2 / Front MatterBlind Folio FM:xvi

P:\010Comp\Oracle8\675-2\fm.vpThursday, December 28, 2000 12:31:30 PM

Color profile: Generic CMYK printer profileComposite Default screen

Processing Fixed-Length Records . . . . . . . . . . . . . . . . . . . . . . . . . 269Fixed-Record-Length Examples . . . . . . . . . . . . . . . . . . . . . . . . . . 270Processing Variable-Length Records . . . . . . . . . . . . . . . . . . . . . . 278Parallel and Direct Loading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279Put Another Log on the Fire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280

Import and Export . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283Modes of Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283Methods of Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284

Export . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284Parameters Fed to Export . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285A Word on Exporting Partitions . . . . . . . . . . . . . . . . . . . . . . . . . . 287Export Example 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288Export Example 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291Export Example 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292

Import . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292Parameters Fed to Import . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294A Word on Importing into Partitions . . . . . . . . . . . . . . . . . . . . . . 298Import Example 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298Import Example 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299Import Example 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301

The PL/SQL Approach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303UTL_FILE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306Dynamic SQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308

Oracle Warehouse Builder (OWB) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311A Brief Word About Design with OWB . . . . . . . . . . . . . . . . . . . . 311Building the Warehouse with OWB . . . . . . . . . . . . . . . . . . . . . . 311Metadata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314

Alternative ETL Solutions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315Ardent DataStage from Informix . . . . . . . . . . . . . . . . . . . . . . . . . 315

ETL Code Generator Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319ETI*EXTRACT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320

Oracle Transparent Gateways . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322Advantages of Gateway Technology . . . . . . . . . . . . . . . . . . . . . . 322Gateways as the Seed to Data Transformation . . . . . . . . . . . . . . . 324

11 Oracle Warehouse Builder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325OWB Software Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327

Metadata Repository . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329User Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330Code Generator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331Integrators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332Runtime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332

Contents xvii

ORACLE Series / Oracle8i Data Warehousing / Corey, Abbey, Abramson, Taub / 2675-2 / Front MatterBlind Folio FM:xvii

P:\010Comp\Oracle8\675-2\fm.vpThursday, December 28, 2000 12:31:30 PM

Color profile: Generic CMYK printer profileComposite Default screen

The OWB Console—A Guided Tour . . . . . . . . . . . . . . . . . . . . . . . . . . . 332OWB Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334Modes of Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335

Creating a Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336Using OWB for a Data Warehouse Project . . . . . . . . . . . . . . . . . . . . . . . 339

Step 1—Defining a Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339Step 2—Designing the Target . . . . . . . . . . . . . . . . . . . . . . . . . . . 345Step 3—Mapping Sources to Targets . . . . . . . . . . . . . . . . . . . . . . 351Step 4—Code Generation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357Step 5—Managing the Data Warehouse . . . . . . . . . . . . . . . . . . . 359

12 Partitioning Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361Why Partition Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362

Routine Management Techniques . . . . . . . . . . . . . . . . . . . . . . . . 363Ease of Backup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364Ease of Rebuild . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364Ease of Archival/Removal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365

Differences Between Partitioned and Nonpartitioned Objects . . . . . . . . 366Partitioning Decisions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 368

How to Partition—Selecting a Partition Key . . . . . . . . . . . . . . . . . 368Types of Partitioning with Oracle8i . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382

Range-based Partitioning—A Cookbook . . . . . . . . . . . . . . . . . . . 382Range-based Partition Maintenance Operations . . . . . . . . . . . . . 387Hash Partitioning—A Cookbook . . . . . . . . . . . . . . . . . . . . . . . . . 392Composite Partitioning—The Best of Both . . . . . . . . . . . . . . . . . . 394

13 Indexing the Warehouse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397Code Error Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398

What Columns to Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 400Selectivity Consideration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 400Predicate Consideration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 401Data Warehouse Uniqueness . . . . . . . . . . . . . . . . . . . . . . . . . . . 402

Single-Column and Composite Indexes . . . . . . . . . . . . . . . . . . . . . . . . . 403Oracle8i Indexing Approaches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403

B-tree Indexes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404Bitmap Indexes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405Index-organized Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 410Reverse Key Indexes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413Function-based Indexes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414

Indexes on Partitioned Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 417Local or Global . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 418Building a Local Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 419Global Index Build . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 421

xviii Oracle8i Data Warehousing

ORACLE Series / Oracle8i Data Warehousing / Corey, Abbey, Abramson, Taub / 2675-2 / Front MatterBlind Folio FM:xviii

P:\010Comp\Oracle8\675-2\fm.vpThursday, December 28, 2000 12:31:31 PM

Color profile: Generic CMYK printer profileComposite Default screen

Optimizer Histograms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423Primary Key Indexes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 426Optimizing the Index Creation Process . . . . . . . . . . . . . . . . . . . . . . . . . 427

Disabling Undo for Index Creation . . . . . . . . . . . . . . . . . . . . . . . 427Fast Index Rebuild . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 428

Index Creation and Maintenance Guidelines . . . . . . . . . . . . . . . . . . . . . 429Load Data, then Create Indexes . . . . . . . . . . . . . . . . . . . . . . . . . . 429Allocate Large Sort Space for Index Creation . . . . . . . . . . . . . . . . 429Temporary Workspace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 430Shared Pool and Index Creation . . . . . . . . . . . . . . . . . . . . . . . . . 430Number of Indexes per Table . . . . . . . . . . . . . . . . . . . . . . . . . . . 431Set Storage Parameters Explicitly . . . . . . . . . . . . . . . . . . . . . . . . . 434Transaction Entry Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434

14 Backing up the Warehouse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435Backup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 436

Providing Protection Against Errors . . . . . . . . . . . . . . . . . . . . . . . 436What Backups Can Provide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 439Factors that Affect Backup Strategy . . . . . . . . . . . . . . . . . . . . . . . 441Optimal Backup Schedule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 447Image Backups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 447Unattended 24/7 Backups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 451Trends in Backup Technology . . . . . . . . . . . . . . . . . . . . . . . . . . . 453

Recovery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 455Types of Recovery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 455Restoring from Image Backups . . . . . . . . . . . . . . . . . . . . . . . . . . 461

Oracle Recovery Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 462The Recovery Catalog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 463Setting up the Recovery Catalog . . . . . . . . . . . . . . . . . . . . . . . . . 464Registering Warehouse Database with RMAN . . . . . . . . . . . . . . . 465Full Database Backup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 466Incremental Backups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 469Restore and Recovery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 471

15 Securing the Warehouse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 473A Security Policy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 474

Workstation Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 474Snooping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 475To Web or Not to Web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 476The Security Role . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 476

Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 476Viewing the Warehouse Data . . . . . . . . . . . . . . . . . . . . . . . . . . . 477How to Manage Privileges in the Warehouse . . . . . . . . . . . . . . . 478

Contents xix

ORACLE Series / Oracle8i Data Warehousing / Corey, Abbey, Abramson, Taub / 2675-2 / Front MatterBlind Folio FM:xix

P:\010Comp\Oracle8\675-2\fm.vpThursday, December 28, 2000 12:31:31 PM

Color profile: Generic CMYK printer profileComposite Default screen

Where to Implement Security . . . . . . . . . . . . . . . . . . . . . . . . . . . 480Password Security with Oracle8i . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 481

Account Locking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 481Password Aging and Expiration . . . . . . . . . . . . . . . . . . . . . . . . . . 482

Management of Database Users . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 482System Privileges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 482

Oracle DBA Studio and Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 484Users . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 484Roles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 488Profiles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 488A Word on the Power of the DBA Studio . . . . . . . . . . . . . . . . . . . 489

16 Storage Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 491Oracle-specific Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 492

File-Naming Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 493Storage Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 494

Common Problems with Space Allocation . . . . . . . . . . . . . . . . . . . . . . . 495Space Occupied Versus Space Allocated . . . . . . . . . . . . . . . . . . . . . . . . 497Reporting on Low Space . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 505

Objects That Cannot Extend . . . . . . . . . . . . . . . . . . . . . . . . . . . . 505Nonzero PCTINCREASE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 506Initial and Next Out of Whack . . . . . . . . . . . . . . . . . . . . . . . . . . 507Objects Too Close to MAXEXTENTS . . . . . . . . . . . . . . . . . . . . . . 508Index Rebuild in Current Tablespace . . . . . . . . . . . . . . . . . . . . . . 508Tablespaces with Too Much Free Space . . . . . . . . . . . . . . . . . . . 511Wasted Space in Tablespaces . . . . . . . . . . . . . . . . . . . . . . . . . . . 512

Other Miscellaneous Ways to Find Space . . . . . . . . . . . . . . . . . . . . . . . 517Dump the Dump . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 517Trace Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 518There’s No Place Like Home . . . . . . . . . . . . . . . . . . . . . . . . . . . . 519O and 0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 519

17 Tuning Data Access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 521The Shared Pool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 522

Two SHARED_POOL Parameters . . . . . . . . . . . . . . . . . . . . . . . . 525Deciding Values for These Parameters . . . . . . . . . . . . . . . . . . . . . 525Proper Sizing for the Shared Pool . . . . . . . . . . . . . . . . . . . . . . . . 527

The Large Pool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 529Pools in the Data Cache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 529

Defining Keep and Recycle Buffer Pools . . . . . . . . . . . . . . . . . . . 530Buffer Allocation by Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 531

Miscellaneous Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 532Read-only Tablespaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 532

xx Oracle8i Data Warehousing

ORACLE Series / Oracle8i Data Warehousing / Corey, Abbey, Abramson, Taub / 2675-2 / Front MatterBlind Folio FM:xx

P:\010Comp\Oracle8\675-2\fm.vpThursday, December 28, 2000 12:31:31 PM

Color profile: Generic CMYK printer profileComposite Default screen

Temporary Tablespaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 535Locally Managed Tablespaces . . . . . . . . . . . . . . . . . . . . . . . . . . . 537Parallel Aware Optimizer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 538Read-ahead Mechanisms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 538Direct Option with Export . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 539Hash Join Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 539

Governors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 542Creating a Profile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 543Assigning Profiles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 544Changing Profiles and Resetting Users . . . . . . . . . . . . . . . . . . . . . 545

The Initialization Parameter File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 547Types of Entries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 548Important Parameter Descriptions . . . . . . . . . . . . . . . . . . . . . . . . 548

Starting Oracle with Different Initialization Parameter Files . . . . . . . . . . 555Line Mode Server Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 555DBA Studio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 556

18 Publishing Data for the Users . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 561Query Tool Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 564

Ease of Use . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 566Performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 567Multiple Data Sources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 567Centralized Administration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 567Data Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 569Web-enabled . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 570Integrated Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 570

Using SQL*Plus for Reporting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 573Cognos Impromptu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 574

Define the Connection to the Database . . . . . . . . . . . . . . . . . . . . 574Create the Catalog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 575Add the Required Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 576Define the Required Joins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 576Create a Folder Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 578Add Profiles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 579

Impromptu from the End User Perspective . . . . . . . . . . . . . . . . . . . . . . . 579Getting Started . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 579

Working with Reports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 580Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 582

19 Oracle Summarization Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 583Views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 584Materialized Views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 585

Who Is Allowed to Build Materialized Views and Snapshots? . . . 587

Contents xxi

ORACLE Series / Oracle8i Data Warehousing / Corey, Abbey, Abramson, Taub / 2675-2 / Front MatterBlind Folio FM:xxi

P:\010Comp\Oracle8\675-2\fm.vpThursday, December 28, 2000 12:31:32 PM

Color profile: Generic CMYK printer profileComposite Default screen

Setup on the Master Site . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 588Setup on the Remote Site . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 590Creating the Snapshot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 591Why We Use Snapshots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 593Impact on the Data Dictionary . . . . . . . . . . . . . . . . . . . . . . . . . . 594Snapshot Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 599

Extended Aggregate Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 604The ROLLUP Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 606The CUBE Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 607Ranking Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 609Windowing Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 613Statistical Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 616

20 OLAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 619What Is MOLAP? What Is ROLAP? What Is DOLAP? . . . . . . . . . . . . . . . 623MOLAP or ROLAP? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 623Why Do I Need OLAP? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 625OLAP Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 626

Evaluating OLAP Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 628Setting Up Your OLAP Model with Cognos Transformer . . . . . . . 629Cognos PowerPlay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 634

Moving Toward the Enterprise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 640The Cognos Solution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 640The MicroStrategy Solution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 648

Oracle and the OLAP Marketplace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 651

21 Relational OLAP and Aggregate Navigators . . . . . . . . . . . . . . . . . . . . . . . . . . . 653OLAP: A Four-letter Word? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 654

Multidimensionality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 654Drill Down . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 657Rotation or Slicing and Dicing . . . . . . . . . . . . . . . . . . . . . . . . . . . 660Multiple View Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 661Closure on OLAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 662

ROLAP and MOLAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 663Multidimensional Databases (MDDB) . . . . . . . . . . . . . . . . . . . . . 664Relational Databases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 666Return to Troy: ROLAP Vs. MOLAP . . . . . . . . . . . . . . . . . . . . . . . 669ROLAP and MOLAP Peace and Harmony . . . . . . . . . . . . . . . . . . 674

Modeling Your Data for ROLAP Performance . . . . . . . . . . . . . . . . . . . . 675Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 677

22 The Oracle Discoverer Solution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 679Discoverer Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 680

xxii Oracle8i Data Warehousing

ORACLE Series / Oracle8i Data Warehousing / Corey, Abbey, Abramson, Taub / 2675-2 / Front MatterBlind Folio FM:xxii

P:\010Comp\Oracle8\675-2\fm.vpThursday, December 28, 2000 12:31:32 PM

Color profile: Generic CMYK printer profileComposite Default screen

Data Access Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 681Discoverer Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 681

End User Layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 683Administrator Edition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 683User Edition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 688Viewer Edition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 692Discoverer Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 693

23 The Oracle Express Solution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 697What Is Express? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 698Why Express? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 698

Multidimensional Is Closer to the Users’ Mindset . . . . . . . . . . . . . 699One-Stop Shopping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 699Oracle Express Is Mature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 699Extensible via SPL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 699

Express’s Role in a Data Warehouse Environment . . . . . . . . . . . . . . . . . 700Express Represents a Stable Snapshot of the Data Warehouse . . . 700Express Architecture in Data Warehouses . . . . . . . . . . . . . . . . . . 700Integration with Oracle Warehouse Builder . . . . . . . . . . . . . . . . . 702

Oracle Express Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 702Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 702Communications Infrastructure . . . . . . . . . . . . . . . . . . . . . . . . . . 703Stored Procedure Language . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 704

Express Data Model and Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 705Dimensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 705Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 705Relations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 706Formulas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 706Valuesets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 706Programs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 707

Oracle Express Instance Manager (EIM) . . . . . . . . . . . . . . . . . . . . . . . . . . 708Batch Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 710The Oracle Express Administrator (ADMIN) . . . . . . . . . . . . . . . . . . . . . . 711

Creating a New Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 711Working with an Existing Database . . . . . . . . . . . . . . . . . . . . . . . 715

Loading Data into Express . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 715Reading Data from Flat Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . 715Importing from an EIF File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 716Importing from a Discoverer File . . . . . . . . . . . . . . . . . . . . . . . . . 716Executing Express SPL Commands . . . . . . . . . . . . . . . . . . . . . . . . 716Loading from Relational Tables . . . . . . . . . . . . . . . . . . . . . . . . . . 716

Relational Access Manager (RAM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 717

Contents xxiii

ORACLE Series / Oracle8i Data Warehousing / Corey, Abbey, Abramson, Taub / 2675-2 / Front MatterBlind Folio FM:xxiii

P:\010Comp\Oracle8\675-2\fm.vpThursday, December 28, 2000 12:31:32 PM

Color profile: Generic CMYK printer profileComposite Default screen

xxiv Oracle8i Data Warehousing

ORACLE Series / Oracle8i Data Warehousing / Corey, Abbey, Abramson, Taub / 2675-2 / Front MatterBlind Folio FM:xxiv

Relational Access Administrator . . . . . . . . . . . . . . . . . . . . . . . . . 718Build Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 719Run-Time Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 719Query Statistics Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 719Using Relational Access Administrator . . . . . . . . . . . . . . . . . . . . 719

Working with Express Data—Front-End Solutions . . . . . . . . . . . . . . . . . 721Oracle Express Analyzer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 721

Main Window Toolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 722Briefing Browser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 724Page View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 724Database Browser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 724

Express Excel Add-In . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 724Oracle Express Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 726

OEO Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 726A Tour of Express Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 727

Current Express Web Technologies . . . . . . . . . . . . . . . . . . . . . . . . . . . . 731Express Web Agent Developer’s Toolkit . . . . . . . . . . . . . . . . . . . 732Express Web Publisher . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 733

Express Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 736Custom Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 737Oracle Prebuilt Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . 737

24 Data Mining . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 745What Is Data Mining? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 746

Discovery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 748Relationships . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 750Patterns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 751

The Benefits of Data Mining . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 753Fraud Detection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 753Return on Investment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 754Scalability of the Electronic Solution . . . . . . . . . . . . . . . . . . . . . . 755

Data Mining Assists the Decision-Making Process . . . . . . . . . . . . . . . . . 755Data Mining Techniques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 756

Neural Network . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 757Association Discovery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 758Classification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 759Clustering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 760Sequential Discovery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 761

Data Mining Solution Checklist . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 761Direct Access to Oracle (SQL) Database . . . . . . . . . . . . . . . . . . . 761Visual Analysis Capabilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 761

P:\010Comp\Oracle8\675-2\fm.vpThursday, December 28, 2000 12:31:32 PM

Color profile: Generic CMYK printer profileComposite Default screen

Ability to Ingest Large Volumes of Data . . . . . . . . . . . . . . . . . . . . 762Sensitivity to the Quality of Data . . . . . . . . . . . . . . . . . . . . . . . . . 764

The Future of Data Mining . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 764

25 Data Webhousing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 767Guidelines for Webhousing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 769

Different Approaches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 769Plan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 771

Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 772Compatability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 772

What Do I Need to Install, Anyway? . . . . . . . . . . . . . . . . . . . . . . . . . . . 776What Kind of Server Do I Need to Run All This? . . . . . . . . . . . . . . . . . . 777Installing PPES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 779Configuring PowerPlay

Enterprise Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 780Securing Your Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 780Adding Users . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 780Adding Security to Your Cubes . . . . . . . . . . . . . . . . . . . . . . . . . . 782Configuring PowerPlay Enterprise Server for Deployment . . . . . . 784

PowerPlay from a User’s Perspective . . . . . . . . . . . . . . . . . . . . . . . . . . . 788Upfront . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 788PowerPlay Web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 790

Wrapping It All Up . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 799

Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 801

Contents xxv

ORACLE Series / Oracle8i Data Warehousing / Corey, Abbey, Abramson, Taub / 2675-2 / Front MatterBlind Folio FM:xxv

P:\010Comp\Oracle8\675-2\fm.vpThursday, December 28, 2000 12:31:33 PM

Color profile: Generic CMYK printer profileComposite Default screen