Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The mviews will be tested using the SYS.DBMS_SNAPSHOT.EXPLAIN_MVIEW(<Mview Name>); procedure. This procedure relies on the existence of a table called mv_capabilities_table in the mview schema. This table can be created via an admin oracle script at "oracle\product\ora10\rdbms\admin\utlxmv.sql".

Performance Goals / Requirements

While our ultimate goal is to have all of the data in Course Management be an up-to-the-second copy of Banner data, we are aware that goal will not be reachable in most cases. The following table will list each of the mviews, an optimistic frequency in which the data in the source banner table is updated, and an acceptable time period in which the data might be allowed to stagnate.

Materialized View

Banner Update Frequency

Acceptable Staleness

BANNER_ACADEMICSESSION

Quarterly

One Month

BANNER_COURSESET

Quarterly

One Month

BANNER_CANONICALCOURSE

Yearly

One Month

BANNER_CANON_COURSESETS

Quarterly

One Month

BANNER_COURSEOFFERING

Monthly

One Week

BANNER_OFFERING_COURSESETS

Monthly

One Week

BANNER_CM_SECTION

Weekly

One Day

BANNER_MEETING

Weekly

One Day

BANNER_ENROLLMENTSET

Weekly

One Day

BANNER_INSTRUCTORS

Weekly

One Hour

BANNER_ENROLLMENT

Daily

One Hour

Design Issues

  • According to the Oracle 10G documentation, most of the mviews we are creating are "Materialized Views with Joins Only" and should be eligible for fast refresh. I will be reformulating the mview and view definitions to use rowid based logs and mviews with rowid columns based on information from this page: http://download-west.oracle.com/docs/cd/B19306_01/server.102/b14223/basicmv.htm#i1006803
  • First roadblock: Canonical Courses. We are mapping this data from the SCBCRSE table, which has term information. In order to generalize it to canonical courses, a distinct clause is necessary. Distinct clauses will not work with mviews based on ROWID mview logs, and SCBCRSE doesn't have a primary key. So, in its current formulation, this mview will never fast refresh. That being said, we probably only need to run this mview once a month or so, and it stores less than ten thousand rows.

...