Oracle® Business Intelligence Data Warehouse Administration Console Guide > Customizing, Designing, Executing and Monitoring ETL Processes >

Considerations in Designing a Subject Area


Oracle Business Intelligence Applications provides preconfigured subject areas. You can change these preconfigured subject areas or create new subject areas to correspond to your particular business processes.

NOTE:  To change a preconfigured subject area or to create a new subject area, you must first make a copy of an existing source system container or create a new container. For instructions, see Creating or Copying a Source System Container.

Designing a Subject Area

In designing a subject area, you should consider the following questions:

  • Tables. Which tables need to be populated for the data warehouse? From which tables does your organization source data? What tables will create the star schemas.
  • Subject areas. Do the subject areas cover all the relevant tables?
  • Tasks. Are the tasks that load this table defined?
  • Indices. Do the target tables have the correct indices defined?

How the DAC Determines Tasks Required for Subject Areas

A subject area is a collection of tasks. When a subject area is defined, the DAC uses the following logic to assemble the collection of tasks:

  1. Initial selection of tables.

    Find all the fact tables that belong to the subject areas.

  2. Recursive selection of related tables.

    Recursively find all the tables directly related through foreign keys and all other logically related tables.

  3. Initial selection of tasks.

    Find all the tasks that load into the tables selected above, that is, tasks whose target tables are one of the tables identified above.

  4. Recursive selection of all tasks.

    Depending on the source and target table relationships, recursively figure out the prerequisite tasks.

How the DAC Determines the Order of Task Execution within an Execution Plan

An execution plan is a collection of subject areas and a unique collection of tasks. A task can have prerequisite tasks that need to be executed before its own execution. The DAC determines the order of tasks based on the following considerations:

  • A task's source and target table

    The DAC server first looks at a task's source and target table. For example, suppose table A is populated by task T1 by reading from table B, and table B is populated by task T2 by reading from table C. The DAC server would determine task T2 should be executed before T1.

    The DAC server next considers the following:

  • Task phase

    An ETL process typically goes through several phases. An example of a typical order in which phases are executed is as follows:

    1. Extract Dimension
    2. Extract Fact
    3. Load Dimension
    4. Load Fact and Load Hierarchy (executed in parallel)
    5. Load Aggregate tables
    6. Update Dimensions
  • A table's Truncate Always properties

    The order of execution based on Truncate Always properties is as follows:

    1. Insert
    2. Upsert
    3. Physical data source
    4. Priority
  • The DAC randomly organizes tasks that are the same in all properties. If some tasks need to be executed in a particular order, the DAC allows you to create a task group in which you can specify an execution order.
Oracle® Business Intelligence Data Warehouse Administration Console Guide Copyright © 2007, Oracle. All rights reserved.