This section describes the new replication features of Oracle9i release 9.0. New features information from previous releases is also retained to help those users migrating or upgrading to the current release.

Oracle9i New Features in Replication

The Oracle9i release 9.0 replication features and enhancements are described in the following sections. Oracle9i extends availability by reducing the need to quiesce the replication environment. Replication sites can remain open to users while certain database administration operations are taking place. Oracle9i also enables you to replicate user-defined types and create materialized views that are based on other materialized views. In addition, you can fast refresh more types of materialized views in Oracle9i.

Extended Availability

Advanced Replication extends the availability of your replication databases by reducing the number of operations that require quiesce of a master group. The tables in your master group can continue to process transactions while these administration operations are taking place.

Quiescing means stopping all replication activity for a master group. When a master group is quiesced, users cannot perform data manipulation language (DML) statements on any of the tables in the master group. Also, all deferred transactions must be propagated before you can quiesce a master group.

The following sections describe operations that no longer require quiesce in release 9.0. In these sections, the replication management API procedures that correspond to each operation are listed.

Note:

Currently, the Replication Management tool in Oracle Enterprise Manager still requires that you quiesce the master group to perform these operations. Use the replication management API procedures listed in the following sections if you do not want to quiesce the master group.

Adding New Master Sites Without Quiescing the Master Group

You can add new master sites to a master group without quiescing the group. Use the following procedures in the DBMS_REPCAT package to complete this operation:

SPECIFY_NEW_MASTERS

ADD_NEW_MASTERS

RESUME_PROPAGATION_TO_MDEF

PREPARE_INSTANTIATED_MASTER

Altering a Master Table by Making a Safe Change to It in a Single Master Environment

You can use the ALTER_MASTER_REPOBJECT procedure in the DBMS_REPCAT package to make safe changes to a replicated object in a single master environment. Quiesce is still required for these changes in a multimaster environment.

You can replicate user-defined types and the database objects that are based on them in both a multimaster replication environment and a materialized view replication environment. The database objects that you can replicate include:

Tables with column objects

Object tables

Tables with nested tables, including the storage tables of nested tables

The multitier materialized view feature enables you to create a materialized view that is based on another materialized view, instead of on a master table at a master site. These materialized views function in the same way as materialized views that are based on master tables, and they can be read-only or updatable.

You can track dependencies between transactions at the row level instead of at the data block level. This feature enables parallel propagation to track dependencies and order changes more efficiently when applying the deferred transaction queue. This increased efficiency improves performance and provides greater scalability in replication environments.

Oracle8i New Features in Replication

The Oracle8i (release 8.1) replication features and enhancements described in this section comprise the overall effort to optimize replication performance and make materialized view environment distribution and security more effective. All of the features described in the following sections also apply to Oracle9i.

Extended Availability for Single Master Replication Environments

Release 8.1.7 and higher reduces the number of operations that require you to quiesce a master group in a single master replication environment. The following sections describe operations that no longer require quiesce in single master environments. In these sections, the replication management API procedure that corresponds to each operation is listed.

Note:

The extended availability feature only applies to single master replication environments, not to multimaster environments.

Extended Availability in All Single Master Environments

The following table lists the operations that no longer require quiesce in all single master replication environments. This table also lists the procedure in the DBMS_REPCAT package that corresponds to each operation. In addition, these operations no longer require quiesce when you are using the Replication Management tool in DBA Studio (in release 8.1.7) or the Oracle Enterprise Manager Console (in Oracle9i).

Operation

DBMS_REPCAT Procedure

Designating a method for resolving a delete conflict

ADD_DELETE_RESOLUTION

Adding a member to a priority group

ADD_PRIORITY_datatype

Adding a new site to a site priority group

ADD_SITE_PRIORITY_SITE

Designating a method for resolving a uniqueness conflict

ADD_UNIQUE_RESOLUTION

Designating a method for resolving an update conflict

ADD_UPDATE_RESOLUTION

Altering the priority level associated with a specified priority group member

ALTER_PRIORITY

Altering the value of a member in a priority group

ALTER_PRIORITY_datatype

Altering the priority level associated with a specified site

ALTER_SITE_PRIORITY

Altering the site associated with a specified priority level

ALTER_SITE_PRIORITY_SITE

Specifying whether to compare old column values at each master site for each nonkey column of a replicated table when executing updates and deletes

COMPARE_OLD_VALUES

Specifying that an object is a replicated object

CREATE_MASTER_REPOBJECT

Creating a priority group for conflict resolution

DEFINE_PRIORITY_GROUP

Creating a new site priority group for a replicated master group for conflict resolution

DEFINE_SITE_PRIORITY

Dropping a delete conflict resolution method

DROP_DELETE_RESOLUTION

Dropping a member of a priority group by priority level

DROP_PRIORITY

Dropping a member of a priority group by value

DROP_PRIORITY_datatype

Dropping a priority group

DROP_PRIORITY_GROUP

Dropping a site priority group

DROP_SITE_PRIORITY

Dropping a specified site, by name, from a site priority group

DROP_SITE_PRIORITY_SITE

Dropping a uniqueness conflict resolution method

DROP_UNIQUE_RESOLUTION

Dropping an update conflict resolution method

DROP_UPDATE_RESOLUTION

Generating the triggers, packages, and procedures needed to support replication for a specified object

GENERATE_REPLICATION_SUPPORT

Specifying whether to send old column values for each nonkey column of a replicated table when executing updates and deletes

SEND_OLD_VALUES

Extended Availability In Single Master Environments Not Using Minimum Communication

In a single master environment, if none of the updatable materialized views use minimum communication in the detection of conflicts, then quiesce is no longer required for the administration operations to the master group listed in the following table. This table also lists the procedure in the DBMS_REPCAT package that corresponds to each operation. In addition, these operations no longer require quiesce when you are using the Replication Management tool in DBA Studio (in release 8.1.7) or the Oracle Enterprise Manager Console (in Oracle9i).

Significant performance gains are realized by the internalization of PL/SQL replication packages and by optimizations to materialized view refresh.

Internal Apply Packages

Continuing the trend started with Oracle8, more replication code has been moved into the database engine in Oracle8i. The PL/SQL generated packages used to apply replicated transactions at a remote site have been internalized. This allows replicated transactions to be more efficiently applied at remote sites, and, because packages are not generated, a site can be more quickly instantiated. Internal packages are also more secure because they are tamper proof.

Materialized view refresh has been optimized to support large refresh groups. There is improved support for subquery materialized views, and for null refresh (no changes to the master tables since the last refresh). A single refresh group can now contain 400 materialized views, and the number of round-trips required to refresh materialized views in a refresh group has been reduced.

Oracle has improved replication support for the growing market of front office applications, in particular mass deployment.

Instantiation of Materialized View Sites Using Deployment Templates

Materialized view deployment templates can be instantiated online or offline. Online instantiation allows a materialized view site to instantiate the template while connected to the target master site. The advantage to online instantiation is that the data will be current at instantiation time. However, this is at the cost of requiring a live connection, possibly of long duration.

Offline instantiation allows the DBA to package the deployment templates and required data onto some type of storage media (tape, CD-ROM, and so on) for distribution to a materialized view site. Instead of connecting to the master site, instantiation can be done by pulling the template and data from the storage media. Users can fast refresh immediately after completing an offline instantiation; a full refresh is not required. Offline instantiation is an ideal solution for mass deployment situations where many disconnected laptops are instantiating the target template.

Deployment templates facilitate the mass deployment of information to support such applications as field service and sales force automation. These templates represent a grouping together of materialized views and other database objects to be instantiated at a node. They allow a DBA to centrally package a materialized view environment for easy, custom, and secure distribution to one or multiple sites. The goal is to create the environment once, and then deploy the template as often as necessary.

Template parameters allow data subsetting at a remote site without redefining the template, and a template may be defined as public or private. Public templates may be instantiated at any site, whereas private ones can only be instantiated at pre-defined, authorized sites. A Deployment Template Wizard guides the DBA through the selection of schema objects to add to the template, the selection of parameters, and defining authorizations. Deployment templates can be used to create materialized view environments at the following types of materialized view sites: Oracle Enterprise Edition, Oracle Standard Edition, and Oracle Personal Edition.

Updatable materialized views can now be subsetted by rows and columns. Previous release allow row subsetting only. Column subsetting allows the deployment of the minimum amount of data needed by a remote site, thus reducing connection time. It also protects materialized view sites from changes to their associated masters. A column can be added to a master site without impacting the materialized view site, or a column can be deleted and not impact the materialized view site, if the materialized view site does not currently reference that column.

While the scripts used to instantiate a materialized view site are generated at the master site and can control access to data, it is still necessary to connect to a receiver and proxy materialized view administrator to propagate replicated transactions and to refresh materialized views. Oracle8i enhancements to the replication security model eliminate certain security deficiencies regarding the granting of privileges to untrusted sites.

Object privileges, as required by a receiver of remote procedure calls (RPCs) at a master site, are now automatically managed. Only required object privileges are granted to untrusted sites.

Proxy materialized view administrators now have a way of accessing objects in replication groups without being granted excessive privileges.

A number of improvements have been made to the Oracle Replication Management tool. A major enhancement is that it has been rewritten to conform to the new Java interface of Oracle Enterprise Manager. The Replication Management tool can now be run from anywhere in the network, and it is not constrained to Windows platforms. The Replication Management tool can also be run using a standard web browser. In addition, Oracle Enterprise Manager includes a replication class of events which, for example, can be used to monitor errors or delinquent materialized view refreshes.

The Replication Management tool has the following new wizards in Oracle8i:

Oracle8 New Features in Replication

The Oracle8 (release 8.0) replication features and enhancements described in the following section comprise the overall effort to optimize multimaster replication performance and make certain types of materialized view subsetting fast refreshable. LOB support was added for Oracle8. Manageability and security were also enhanced for Oracle8. All of the features described in the following sections also apply to Oracle8i and Oracle9i.

Performance Enhancements

Oracle8 provides significant performance improvements based on the following new features.

Parallel Propagation of Deferred Transactions

Oracle8 dramatically improves throughput performance by parallelizing the propagation of a replication transaction stream while maintaining consistency and transaction dependencies.

Materialized views defined with certain types of subqueries can now be fast refreshed. This enables subsets of data to be easily defined and maintained. This feature is important for mass deployment applications, such as sales force automation and branch automation.