Skip Headers

Oracle9i Supplied PL/SQL Packages and Types Reference
Release 2 (9.2)

Part Number A96612-01
Go To Documentation Library
Home
Go To Product List
Book List
Go To Table Of Contents
Contents
Go To Index
Index

Master Index

Feedback

Go to previous page Go to beginning of chapter Go to next page

DBMS_REPCAT, 2 of 2


Summary of DBMS_REPCAT Subprograms

Table 53-1 DBMS_REPCAT Subprograms
Subprogram Description

ADD_GROUPED_COLUMN Procedure

Adds members to an existing column group.

ADD_MASTER_DATABASE Procedure

Adds another master site to your replication environment.

ADD_NEW_MASTERS Procedure

Adds the master sites in the DBA_REPSITES_NEW data dictionary view to the replication catalog at all available master sites.

ADD_PRIORITY_datatype Procedure

Adds a member to a priority group.

ADD_SITE_PRIORITY_SITE Procedure

Adds a new site to a site priority group.

ADD_conflicttype_RESOLUTION Procedure

Designates a method for resolving an update, delete, or uniqueness conflict.

ALTER_CATCHUP_PARAMETERS Procedure

Alters the values for parameters stored in the DBA_REPEXTENSIONS data dictionary view.

ALTER_MASTER_PROPAGATION Procedure

Alters the propagation method for a specified replication group at a specified master site.

ALTER_MASTER_REPOBJECT Procedure

Alters an object in your replication environment.

ALTER_MVIEW_PROPAGATION Procedure

Alters the propagation method for a specified replication group at the current materialized view site.

ALTER_PRIORITY Procedure

Alters the priority level associated with a specified priority group member.

ALTER_PRIORITY_datatype Procedure

Alters the value of a member in a priority group.

ALTER_SITE_PRIORITY Procedure

Alters the priority level associated with a specified site.

ALTER_SITE_PRIORITY_SITE Procedure

Alters the site associated with a specified priority level.

CANCEL_STATISTICS Procedure

Stops collecting statistics about the successful resolution of update, uniqueness, and delete conflicts for a table.

COMMENT_ON_COLUMN_GROUP Procedure

Updates the comment field in the ALL_REPCOLUMN_GROUP view for a column group.

COMMENT_ON_conflicttype_RESOLUTION Procedure

Updates the SCHEMA_COMMENT field in the ALL_REPGROUP view for a materialized view site.

COMMENT_ON_PRIORITY_GROUP/COMMENT_ON_SITE_PRIORITY Procedures

Updates the comment field in the ALL_REPPRIORITY_GROUP view for a (site) priority group.

COMMENT_ON_REPGROUP Procedure

Updates the comment field in the ALL_REPGROUP view for a master group.

COMMENT_ON_REPOBJECT Procedure

Updates the comment field in the ALL_REPOBJECT view for a replicated object.

COMMENT_ON_REPSITES Procedure

Updates the comment field in the ALL_REPSITE view for a replicated site.

COMMENT_ON_conflicttype_RESOLUTION Procedure

Updates the comment field in the ALL_REPRESOLUTION view for a conflict resolution routine.

COMPARE_OLD_VALUES Procedure

Specifies whether to compare old column values at each master site for each nonkey column of a replicated table for updates and deletes.

CREATE_MASTER_REPGROUP Procedure

Creates a new, empty, quiesced master group.

CREATE_MASTER_REPOBJECT Procedure

Specifies that an object is a replicated object.

CREATE_MVIEW_REPGROUP Procedure

Creates a new, empty materialized view group in your local database.

CREATE_MVIEW_REPOBJECT Procedure

Adds a replicated object to a materialized view group.

DEFINE_COLUMN_GROUP Procedure

Creates an empty column group.

DEFINE_PRIORITY_GROUP Procedure

Creates a new priority group for a master group.

DEFINE_SITE_PRIORITY Procedure

Creates a new site priority group for a master group.

DO_DEFERRED_REPCAT_ADMIN Procedure

Executes the local outstanding deferred administrative procedures for the specified master group at the current master site, or for all master sites.

DROP_COLUMN_GROUP Procedure

Drops a column group.

DROP_GROUPED_COLUMN Procedure

Removes members from a column group.

DROP_MASTER_REPGROUP Procedure

Drops a master group from your current site.

DROP_MASTER_REPOBJECT Procedure

Drops a replicated object from a master group.

DROP_PRIORITY Procedure

Drops a replicated object from a master group.

DROP_MVIEW_REPGROUP Procedure

Drops a materialized view site from your replication environment.

DROP_MVIEW_REPOBJECT Procedure

Drops a replicated object from a materialized view site.

DROP_PRIORITY Procedure

Drops a member of a priority group by priority level.

DROP_PRIORITY_GROUP Procedure

Drops a priority group for a specified master group.

DROP_PRIORITY_datatype Procedure

Drops a member of a priority group by value.

DROP_SITE_PRIORITY Procedure

Drops a site priority group for a specified master group.

DROP_SITE_PRIORITY_SITE Procedure

Drops a specified site, by name, from a site priority group.

DROP_conflicttype_RESOLUTION Procedure

Drops an update, delete, or uniqueness conflict resolution method.

EXECUTE_DDL Procedure

Supplies DDL that you want to have executed at each master site.

GENERATE_MVIEW_SUPPORT Procedure

Activates triggers and generate packages needed to support the replication of updatable materialized views or procedural replication.

GENERATE_REPLICATION_SUPPORT Procedure

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

MAKE_COLUMN_GROUP Procedure

Creates a new column group with one or more members.

PREPARE_INSTANTIATED_MASTER Procedure

Changes the global name of the database you are adding to a master group.

PURGE_MASTER_LOG Procedure

Removes local messages in the DBA_REPCATLOG associated with a specified identification number, source, or master group.

PURGE_STATISTICS Procedure

Removes information from the ALL_REPRESOLUTION_STATISTICS view.

REFRESH_MVIEW_REPGROUP Procedure

Refreshes a materialized view group with the most recent data from its associated master site or master materialized view site.

REGISTER_MVIEW_REPGROUP Procedure

Facilitates the administration of materialized views at their respective master sites or master materialized view sites by inserting, modifying, or deleting from DBA_REGISTERED_MVIEW_GROUPS.

REGISTER_STATISTICS Procedure

Collects information about the successful resolution of update, delete, and uniqueness conflicts for a table.

RELOCATE_MASTERDEF Procedure

Changes your master definition site to another master site in your replication environment.

REMOVE_MASTER_DATABASES Procedure

Removes one or more master databases from a replication environment.

RENAME_SHADOW_COLUMN_GROUP Procedure

Renames the shadow column group of a replicated table to make it a named column group.

REPCAT_IMPORT_CHECK Procedure

Ensures that the objects in the master group have the appropriate object identifiers and status values after you perform an export/import of a replicated object or an object used by the advanced replication facility.

RESUME_MASTER_ACTIVITY Procedure

Resumes normal replication activity after quiescing a replication environment.

RESUME_PROPAGATION_TO_MDEF Procedure

Indicates that export is effectively finished and propagation for both extended and unaffected replication groups existing at master sites can be enabled.

SEND_OLD_VALUES Procedure

Specifies whether to send old column values for each nonkey column of a replicated table for updates and deletes.

SET_COLUMNS Procedure

Specifies use of an alternate column or group of columns, instead of the primary key, to determine which columns of a table to compare when using row-level replication.

SPECIFY_NEW_MASTERS Procedure

Specifies the master sites you intend to add to an existing replication group without quiescing the group.

SUSPEND_MASTER_ACTIVITY Procedure

Suspends replication activity for a master group.

SWITCH_MVIEW_MASTER Procedure

Changes the master site of a materialized view group to another master site.

UNDO_ADD_NEW_MASTERS_REQUEST Procedure

Undoes all of the changes made by the SPECIFY_NEW_MASTERS and ADD_NEW_MASTERS procedures for a specified extension_id.

UNREGISTER_MVIEW_REPGROUP Procedure

Facilitates the administration of materialized views at their respective master sites and master materialized view sites by inserting, modifying, or deleting from DBA_REGISTERED_MVIEW_GROUPS.

VALIDATE Function

Validates the correctness of key conditions of a multimaster replication environment.

WAIT_MASTER_LOG Procedure

Determines whether changes that were asynchronously propagated to a master site have been applied.

ADD_GROUPED_COLUMN Procedure

This procedure adds members to an existing column group. You must call this procedure from the master definition site.

Syntax

DBMS_REPCAT.ADD_GROUPED_COLUMN ( 
   sname                 IN   VARCHAR2,
   oname                 IN   VARCHAR2,
   column_group          IN   VARCHAR2,
   list_of_column_names  IN   VARCHAR2 | DBMS_REPCAT.VARCHAR2s);

Parameters

Table 53-2 ADD_GROUPED_COLUMN Procedure Parameters
Parameter Description

sname

Schema in which the replicated table is located.

oname

Name of the replicated table with which the column group is associated. The table can be the storage table of a nested table.

column_group

Name of the column group to which you are adding members.

list_of_column_names

Names of the columns that you are adding to the designated column group. This can either be a comma-delimited list or a PL/SQL index-by table of column names. The PL/SQL index-by table must be of type DBMS_REPCAT.VARCHAR2. Use the single value '*' to create a column group that contains all of the columns in your table.

You can specify column objects, but you cannot specify attributes of column objects.

If the table is an object, then you can specify SYS_NC_OID$ to add the object identifier column to the column group. This column tracks the object identifier of each row object.

If the table is a storage table of a nested table, then you can specify NESTED_TABLE_ID to add the column that tracks the identifier for each row of the nested table.

Table 53-3 ADD_GROUPED_COLUMN Procedure Exceptions
Exception Description

nonmasterdef

Invocation site is not the master definition site.

missingobject

Specified table does not exist.

missinggroup

Specified column group does not exist.

missingcolumn

Specified column does not exist in the specified table.

duplicatecolumn

Specified column is already a member of another column group.

missingschema

Specified schema does not exist.

notquiesced

Replication group to which the specified table belongs is not quiesced.

ADD_MASTER_DATABASE Procedure

This procedure adds another master site to your replication environment. This procedure regenerates all the triggers and their associated packages at existing master sites. You must call this procedure from the master definition site.

Syntax

DBMS_REPCAT.ADD_MASTER_DATABASE (
   gname                 IN   VARCHAR2,
   master                IN   VARCHAR2, 
   use_existing_objects  IN   BOOLEAN  := true, 
   copy_rows             IN   BOOLEAN  := true,
   comment               IN   VARCHAR2 := '',
   propagation_mode      IN   VARCHAR2 := 'ASYNCHRONOUS',
   fname                 IN   VARCHAR2 := NULL);

Parameters

Table 53-4 ADD_MASTER_DATABASE Procedure Parameters
Parameter Description

gname

Name of the replication group being replicated. This replication group must already exist at the master definition site.

master

Fully qualified database name of the new master database.

use_existing_objects

Indicate true if you want to reuse any objects of the same type and shape that already exist in the schema at the new master site.

copy_rows

Indicate true if you want the initial contents of a table at the new master site to match the contents of the table at the master definition site.

comment

This comment is added to the MASTER_COMMENT field of the DBA_REPSITES view.

propagation_mode

Method of forwarding changes to and receiving changes from new master database. Accepted values are synchronous and asynchronous.

fname

This parameter is for internal use only.

Note: Do not set this parameter unless directed to do so by Oracle Support Services.

Exceptions

Table 53-5 ADD_MASTER_DATABASE Procedure Exceptions
Exception Description

nonmasterdef

Invocation site is not the master definition site.

notquiesced

Replication has not been suspended for the master group.

missingrepgroup

Replication group does not exist at the specified database site.

commfailure

New master is not accessible.

typefailure

An incorrect propagation mode was specified.

notcompat

Compatibility mode must be 7.3.0.0 or greater.

duplrepgrp

Master site already exists.

ADD_NEW_MASTERS Procedure

This procedure adds the master sites in the DBA_REPSITES_NEW data dictionary view to the master groups specified when the SPECIFY_NEW_MASTERS procedure was run. Information about these new master sites are added to the replication catalog at all available master sites.

All master sites instantiated with object-level export/import must be accessible at this time. Their new replication groups are added in the quiesced state. Master sites instantiated through full database export/import or through changed-based recovery do not need to be accessible.

Run this procedure after you run the SPECIFY_NEW_MASTERS procedure.


Caution:

After running this procedure, do not disable or enable propagation of the deferred transactions queue until after the new master sites are added. The DBA_REPEXTENSIONS data dictionary view must be clear before you disable or enable propagation. You can use the Replication Management tool or the SET_DISABLED procedure in the DBMS_DEFER_SYS package to disable or enable propagation.


See Also:

"SPECIFY_NEW_MASTERS Procedure"

Syntax

DBMS_REPCAT.ADD_NEW_MASTERS (
   export_required                IN    BOOLEAN,
   { available_master_list        IN    VARCHAR2, 
  | available_master_table       IN    DBMS_UTILITY.DBLINK_ARRAY,}
   masterdef_flashback_scn        OUT   NUMBER,   
   extension_id                   OUT   RAW,   
   break_trans_to_masterdef       IN    BOOLEAN   := false,    
   break_trans_to_new_masters     IN    BOOLEAN   := false,    
   percentage_for_catchup_mdef    IN    BINARY_INTEGER  := 100,    
   cycle_seconds_mdef             IN    BINARY_INTEGER  := 60,    
   percentage_for_catchup_new     IN    BINARY_INTEGER  := 100,    
   cycle_seconds_new              IN    BINARY_INTEGER  := 60);


Note:

This procedure is overloaded. The available_master_list and available_master_table parameters are mutually exclusive.


Parameters

Table 53-6 ADD_NEW_MASTERS Procedure Parameters
Parameter Description

export_required

Set to true if either object-level or full database export is required for at least one of the new master sites. Set to false if you are using change-based recovery for all of the new master sites.

available_master_list

A comma-delimited list of the new master sites to be instantiated using object-level export/import. The sites listed must match the sites specified in the SPECIFY_NEW_MASTERS procedure. List only the new master sites, not the existing master sites. Do not put any spaces between site names.

Specify NULL if all masters will be instantiated using full database export/import or change-based recovery.

available_master_table

A table that lists the new master sites to be instantiated using object-level export/import. The sites in the table must match the sites specified in the SPECIFY_NEW_MASTERS procedure. Do not specify masters that will be instantiated using full database export/import or change-based recovery.

In the table that lists the master sites to be instantiated using object-level export/import, list only the new master sites for the master groups being extended. Do not list the existing master sites in the master groups being extended. The first master site should be at position 1, the second at position 2, and so on.

masterdef_flashback_scn

This OUT parameter returns a system change number (SCN) that must be used during export or change-based recovery. Use the value returned by this parameter for the FLASHBACK_SCN export parameter when you perform the export. You can find the flashback_scn value by querying the DBA_REPEXTENSIONS data dictionary view.

extension_id

This OUT parameter returns an identifier for the current pending request to add master databases without quiesce. You can find the extension_id by querying the DBA_REPSITES_NEW and DBA_REPEXTENSIONS data dictionary views.

break_trans_to_masterdef

This parameter is meaningful only if export_required is set to true.

If break_trans_to_masterdef is set to true, then existing masters may continue to propagate their deferred transactions to the master definition site for replication groups that are not adding master sites. Deferred transactions for replication groups that are adding master sites cannot be propagated until the export completes.

Each deferred transaction is composed of one or more remote procedure calls (RPCs). If set to false and a transaction occurs that references objects in both unaffected master groups and master groups that are being extended, then the transaction may be split into two parts and sent to a destination in two separate transactions at different times. Such transactions are called split-transactions. If split-transactions are possible, then you must disable integrity constraints that may be violated by this behavior until the new master sites are added.

If break_trans_to_masterdef is set to false, then existing masters cannot propagate their deferred transactions to the master definition site.

break_trans_to_new_masters

If break_trans_to_new_masters is set to true, then existing master sites may continue to propagate deferred transactions to the new master sites for replication groups that are not adding master sites.

Each deferred transaction is composed of one or more remote procedure calls (RPCs). If set to true and a transaction occurs that references objects in both unaffected master groups and master groups that are being extended, then the transaction may be split into two parts and sent to a destination in two separate transactions at different times. Such transactions are called split-transactions. If split-transactions are possible, then you must disable integrity constraints that may be violated by this behavior until the new master sites are added.

If break_trans_to_new_masters is set to false, then propagation of deferred transaction queues to the new masters is disabled.

percentage_for_catchup_mdef

This parameter is meaningful only if export_required and break_trans_to_masterdef are both set to true.

The percentage of propagation resources that should be used for catching up propagation to the master definition site. Must be a multiple of 10 and must be between 0 and 100.

cycle_seconds_mdef

This parameter is meaningful when percentage_for_catchup_mdef is both meaningful and set to a value between 10 and 90, inclusive. In this case, propagation to the masterdef alternates between replication groups that are not being extended and replication groups that are being extended, with one push to each during each cycle. This parameter indicates the length of the cycle in seconds.

percentage_for_catchup_new

This parameter is meaningful only if break_trans_to_new_masters is set to true.

The percentage of propagation resources that should be used for catching up propagation to new master sites. Must be a multiple of 10 and must be between 0 and 100.

cycle_seconds_new

This parameter is meaningful when percentage_for_catchup_new is both meaningful and set to a value between 10 and 90, inclusive. In this case, propagation to a new master alternates between replication groups that are not being extended and replication groups that are being extended, with one push to each during each cycle. This parameter indicates the length of the cycle in seconds.

Exceptions

Table 53-7 ADD_NEW_MASTERS Procedure Exceptions
Exception Description

nonmasterdef

Invocation site is not the master definition site.

typefailure

The parameter value specified for one of the parameters is not appropriate.

novalidextreq

No valid extension request. The extension_id is not valid.

nonewsites

No new master sites to be added for the specified extension request.

notanewsite

Not a new site for extension request. A site was specified that was not specified when you ran the SPECIFY_NEW_MASTERS procedure.

dbnotcompatible

Feature is incompatible with database version. All databases must be at 9.0.1 or higher compatibility level.

Usage Notes

For a new master site to be instantiated using change-based recovery or full database export/import, the following conditions apply:

For object-level export/import, before importing ensure that all the requests in the DBA_REPCATLOG data dictionary view for the extended groups have been processed without any error.

ADD_PRIORITY_datatype Procedure

This procedure adds a member to a priority group. You must call this procedure from the master definition site. The procedure that you must call is determined by the datatype of your priority column. You must call this procedure once for each of the possible values of the priority column.

See Also:

Oracle9i Replication for more information about conflict resolution methods

Syntax

DBMS_REPCAT.ADD_PRIORITY_datatype (
   gname              IN   VARCHAR2, 
   pgroup             IN   VARCHAR2, 
   value              IN   datatype, 
   priority           IN   NUMBER);

where datatype:

{ NUMBER
| VARCHAR2
| CHAR
| DATE
| RAW
| NCHAR
| NVARCHAR2 }

Parameters

Table 53-8 ADD_PRIORITY_datatype Procedure Parameters
Parameter Description

gname

Master group for which you are creating a priority group.

pgroup

Name of the priority group.

value

Value of the priority group member. This is one of the possible values of the associated priority column of a table using this priority group.

priority

Priority of this value. The higher the number, the higher the priority.

Exceptions

Table 53-9 ADD_PRIORITY_datatype Procedure Exceptions
Exception Description

nonmasterdef

Invocation site is not the master definition site.

duplicatevalue

Specified value already exists in the priority group.

duplicatepriority

Specified priority already exists in the priority group.

missingrepgroup

Specified master group does not exist.

missingprioritygroup

Specified priority group does not exist.

typefailure

Specified value has the incorrect datatype for the priority group.

notquiesced

Specified master group is not quiesced.

ADD_SITE_PRIORITY_SITE Procedure

This procedure adds a new site to a site priority group. You must call this procedure from the master definition site.

See Also:

Oracle9i Replication for more information about conflict resolution methods

Syntax

DBMS_REPCAT.ADD_SITE_PRIORITY_SITE (
   gname          IN   VARCHAR2, 
   name           IN   VARCHAR2
   site           IN   VARCHAR2,
   priority       IN   NUMBER);

Parameters

Table 53-10 ADD_SITE_PRIORITY_SITE Procedure Parameters
Parameter Description

gname

Master group for which you are adding a site to a group.

name

Name of the site priority group to which you are adding a member.

site

Global database name of the site that you are adding.

priority

Priority level of the site that you are adding. A higher number indicates a higher priority level.

Exceptions

Table 53-11 ADD_SITE_PRIORITY_SITE Procedure Exceptions
Exception Description

nonmasterdef

Invocation site is not the master definition site.

missingrepgroup

Specified master group does not exist.

missingpriority

Specified site priority group does not exist.

duplicatepriority

Specified priority level already exists for another site in the group.

duplicatevalue

Specified site already exists in the site priority group.

notquiesced

Master group is not quiesced.

ADD_conflicttype_RESOLUTION Procedure

These procedures designate a method for resolving an update, delete, or uniqueness conflict. You must call these procedures from the master definition site. The procedure that you need to call is determined by the type of conflict that the routine resolves.

Table 53-12 ADD_conflicttype_RESOLUTION Procedures
Conflict Type Procedure Name

update

ADD_UPDATE_RESOLUTION

uniqueness

ADD_UNIQUE_RESOLUTION

delete

ADD_DELETE_RESOLUTION

See Also:

Oracle9i Replication for more information about designating methods to resolve update conflicts, selecting uniqueness conflict resolution methods, and assigning delete conflict resolution methods

Syntax

DBMS_REPCAT.ADD_UPDATE_RESOLUTION (
   sname                  IN   VARCHAR2, 
   oname                  IN   VARCHAR2, 
   column_group           IN   VARCHAR2,
   sequence_no            IN   NUMBER,
   method                 IN   VARCHAR2, 
   parameter_column_name  IN   VARCHAR2 
                               | DBMS_REPCAT.VARCHAR2s 
                               | DBMS_UTILITY.LNAME_ARRAY, 
   priority_group         IN   VARCHAR2     := NULL,
   function_name          IN   VARCHAR2     := NULL,
   comment                IN   VARCHAR2     := NULL);

DBMS_REPCAT.ADD_DELETE_RESOLUTION (
   sname                  IN   VARCHAR2, 
   oname                  IN   VARCHAR2, 
   sequence_no            IN   NUMBER,
   parameter_column_name  IN   VARCHAR2 | DBMS_REPCAT.VARCHAR2s, 
   function_name          IN   VARCHAR2,
   comment                IN   VARCHAR2     := NULL
   method                 IN   VARCHAR2     := 'USER FUNCTION');

DBMS_REPCAT.ADD_UNIQUE_RESOLUTION(
   sname                 IN   VARCHAR2, 
   oname                 IN   VARCHAR2, 
   constraint_name       IN   VARCHAR2,
   sequence_no           IN   NUMBER,
   method                IN   VARCHAR2, 
   parameter_column_name IN   VARCHAR2
                              | DBMS_REPCAT.VARCHAR2s 
                              | DBMS_UTILITY.LNAME_ARRAY,
   function_name         IN   VARCHAR2     := NULL,
   comment               IN   VARCHAR2     := NULL);

Parameters

Table 53-13 ADD_conflicttype_RESOLUTION Procedure Parameters
Parameter Description

sname

Name of the schema containing the table to be replicated.

oname

Name of the table to which you are adding a conflict resolution routine. The table can be the storage table of a nested table.

column_group

Name of the column group to which you are adding a conflict resolution routine. Column groups are required for update conflict resolution routines only.

constraint_name

Name of the unique constraint or unique index for which you are adding a conflict resolution routine. Use the name of the unique index if it differs from the name of the associated unique constraint. Constraint names are required for uniqueness conflict resolution routines only.

sequence_no

Order in which the designated conflict resolution methods should be applied.

method

Type of conflict resolution routine that you want to create. This can be the name of one of the standard routines provided with advanced replication, or, if you have written your own routine, you should choose user function, and provide the name of your method as the function_name parameter.

The standard methods supported in this release for update conflicts are:

  • minimum
  • maximum
  • latest timestamp
  • earliest timestamp
  • additive, average
  • priority group
  • site priority
  • overwrite
  • discard

The standard methods supported in this release for uniqueness conflicts are: append site name, append sequence, and discard. There are no built-in (Oracle supplied) methods for delete conflicts.

parameter_column_name

Name of the columns used to resolve the conflict. The standard methods operate on a single column. For example, if you are using the latest timestamp method for a column group, then you should pass the name of the column containing the timestamp value as this parameter. If your are using a user function, then you can resolve the conflict using any number of columns.

For update or unique conflicts, this parameter accepts either a comma-delimited list of column names, or a PL/SQL index-by table of type DBMS_REPCAT.VARCHAR2 or DBMS_UTILITY.LNAME_ARRAY. Use DBMS_UTILITY.LNAME_ARRAY if any column name is greater than or equal to 30 bytes, which may occur when you specify the attributes of column objects.

For delete conflicts, this parameter accepts either a comma-delimited list of column names or a PL/SQL index-by table of type DBMS_REPCAT.VARCHAR2.

The single value '*' indicates that you want to use all of the columns in the table (or column group, for update conflicts) to resolve the conflict. If you specify '*', then the columns are passed to your function in alphabetical order.

LOB columns cannot be specified for this parameter.

See Also: "Usage Notes" if you are using column objects

priority_group

If you are using the priority group or site priority update conflict resolution method, then you must supply the name of the priority group that you have created.

See Oracle9i Replication for more information. If you are using a different method, you can use the default value for this parameter, NULL. This parameter is applicable to update conflicts only.

function_name

If you selected the user function method, or if you are adding a delete conflict resolution routine, then you must supply the name of the conflict resolution routine that you have written. If you are using one of the standard methods, then you can use the default value for this parameter, NULL.

comment

This user comment is added to the DBA_REPRESOLUTION view.

Exceptions

Table 53-14 ADD_conflicttype_RESOLUTION Procedure Exceptions
Exception Description

nonmasterdef

Invocation site is not the master definition site.

missingobject

Specified object does not exist as a table in the specified schema using row-level replication.

missingschema

Specified schema does not exist.

missingcolumn

Column that you specified as part of the parameter_column_name parameter does not exist.

missinggroup

Specified column group does not exist.

missingprioritygroup

The priority group that you specified does not exist for the table.

invalidmethod

Resolution method that you specified is not recognized.

invalidparameter

Number of columns that you specified for the parameter_column_name parameter is invalid. (The standard routines take only one column name.)

missingfunction

User function that you specified does not exist.

missingconstraint

Constraint that you specified for a uniqueness conflict does not exist.

notquiesced

Replication group to which the specified table belongs is not quiesced.

duplicateresolution

Specified conflict resolution method is already registered.

duplicatesequence

The specified sequence number already exists for the specified object.

invalidprioritygroup

The specified priority group does not exist.

paramtype

Type is different from the type assigned to the priority group.

Usage Notes

If you are using column objects, then whether you can specify the attributes of the column objects for the parameter_column_name parameter depends on whether the conflict resolution method is built-in (Oracle supplied) or user-created:

ALTER_CATCHUP_PARAMETERS Procedure

This procedure alters the values for the following parameters stored in the DBA_REPEXTENSIONS data dictionary view:

These parameters were originally set by the ADD_NEW_MASTERS procedure. The new values you specify for these parameters are used during the remaining steps in the process of adding new master sites to a master group. These changes are only to the site at which it is executed. Therefore, it must be executed at each master site, including the master definition site, if you want to alter parameters at all sites.

See Also:

"ADD_NEW_MASTERS Procedure"

Syntax

DBMS_REPCAT.ALTER_CATCHUP_PARAMETERS (
   extension_id                  IN    RAW,   
   percentage_for_catchup_mdef   IN    BINARY_INTEGER  := NULL,
   cycle_seconds_mdef            IN    BINARY_INTEGER  := NULL,    
   percentage_for_catchup_new    IN    BINARY_INTEGER  := NULL,    
   cycle_seconds_new             IN    BINARY_INTEGER  := NULL);

Parameters

Table 53-15 ALTER_CATCHUP_PARAMETERS Procedure Parameters
Parameter Description

extension_id

The identifier for the current pending request to add master database without quiesce. You can find the extension_id by querying the DBA_REPSITES_NEW and DBA_REPEXTENSIONS data dictionary views.

percentage_for_catchup_mdef

The percentage of propagation resources that should be used for catching up propagation to the master definition site. Must be a multiple of 10 and must be between 0 and 100.

cycle_seconds_mdef

This parameter is meaningful when percentage_for_catchup_mdef is both meaningful and set to a value between 10 and 90, inclusive. In this case, propagation to the masterdef alternates between replication groups that are not being extended and replication groups that are being extended, with one push to each during each cycle. This parameter indicates the length of the cycle in seconds.

percentage_for_catchup_new

The percentage of propagation resources that should be used for catching up propagation to new master sites. Must be a multiple of 10 and must be between 0 and 100.

cycle_seconds_new

This parameter is meaningful when percentage_for_catchup_new is both meaningful and set to a value between 10 and 90, inclusive. In this case, propagation to a new master alternates between replication groups that are not being extended and replication groups that are being extended, with one push to each during each cycle. This parameter indicates the length of the cycle in seconds.

Exceptions

Table 53-16 ALTER_CATCHUP_PARAMETERS Procedure Exceptions
Exception Description

typefailure

The parameter value specified for one of the parameters is not appropriate.

dbnotcompatible

Feature is incompatible with database version. All databases must be at 9.0.1 or higher compatibility level.

ALTER_MASTER_PROPAGATION Procedure

This procedure alters the propagation method for a specified replication group at a specified master site. This replication group must be quiesced. You must call this procedure from the master definition site. If the master appears in the dblink_list or dblink_table, then ALTER_MASTER_PROPAGATION ignores that database link. You cannot change the propagation mode from a master to itself.

Syntax

DBMS_REPCAT.ALTER_MASTER_PROPAGATION (
   gname               IN   VARCHAR2, 
   master              IN   VARCHAR2,
   { dblink_list       IN   VARCHAR2, 
   | dblink_table      IN   dbms_utility.dblink_array,}
   propagation_mode    IN   VARCHAR2 : ='asynchronous',
   comment             IN   VARCHAR2 := '');


Note:

This procedure is overloaded. The dblink_list and dblink_table parameters are mutually exclusive.


Parameters

Table 53-17 ALTER_MASTER_PROPAGATION Procedure Parameters
Parameter Description

gname

Name of the replication group to which to alter the propagation mode.

master

Name of the master site at which to alter the propagation mode.

dblink_list

A comma-delimited list of database links for which to alter the propagation method. If NULL, then all masters except the master site being altered are used by default.

dblink_table

A PL/SQL index-by table, indexed from position 1, of database links for which to alter propagation.

propagation_mode

Determines the manner in which changes from the specified master site are propagated to the sites identified by the list of database links. Appropriate values are synchronous and asynchronous.

comment

This comment is added to the DBA_REPPROP view.

Exceptions

Table 53-18 ALTER_MASTER_PROPAGATION Procedure Exceptions
Exception Description

nonmasterdef

Invocation site is not the master definition site.

notquiesced

Invocation site is not quiesced.

typefailure

Propagation mode specified was not recognized.

nonmaster

List of database links includes a site that is not a master site.

ALTER_MASTER_REPOBJECT Procedure

This procedure alters an object in your replication environment. You must call this procedure from the master definition site.

This procedure requires that you quiesce the master group of the object if either of the following conditions is true:

You can use this procedure to alter nontable objects without quiescing the master group.

Syntax

DBMS_REPCAT.ALTER_MASTER_REPOBJECT (
   sname               IN   VARCHAR2, 
   oname               IN   VARCHAR2, 
   type                IN   VARCHAR2, 
   ddl_text            IN   VARCHAR2, 
   comment             IN   VARCHAR2     := '', 
   retry               IN   BOOLEAN      := false
   safe_table_change   IN   BOOLEAN      := false);

Parameters

Table 53-19 ALTER_MASTER_REPOBJECT Procedure Parameters
Parameter Description

sname

Schema containing the object that you want to alter.

oname

Name of the object that you want to alter. The object cannot be a storage table for a nested table.

type

Type of the object that you are altering. The following types are supported:

FUNCTION SYNONYM

INDEX TABLE

INDEXTYPE TRIGGER

OPERATOR TYPE

PACKAGE TYPE BODY

PACKAGE BODY VIEW

PROCEDURE

ddl_text

The DDL text that you want used to alter the object. Oracle does not parse this DDL before applying it. Therefore, you must ensure that your DDL text provides the appropriate schema and object name for the object being altered.

If the DDL is supplied without specifying a schema, then the default schema is the replication administrator's schema. Be sure to specify the schema if it is other than the replication administrator's schema.

comment

If not NULL, then this comment is added to the COMMENT field of the DBA_REPOBJECT view.

retry

If retry is true, then ALTER_MASTER_REPOBJECT alters the object only at masters whose object status is not VALID.

safe_table_change

Specify true if the change to a table is safe. Specify false if the change to a table is unsafe.

You can make safe changes to a master table in a single master replication environment without quiescing the master group that contains the table. To make unsafe changes, you must quiesce the master group.

Only specify this parameter for tables in single master replication environments. This parameter is ignored in multimaster replication environments and when the object specified is not a table. In multimaster replication environments, you must quiesce the master group to run the ALTER_MASTER_REPOBJECT procedure on a table.

The following are safe changes:

  • Changing storage and extent information
  • Making existing columns larger. For example, changing a VARCHAR2(20) column to a VARCHAR2(50) column.
  • Adding non primary key constraints
  • Altering non primary key constraints
  • Enabling and disabling non primary key constraints

The following are unsafe changes:

  • Changing the primary key by adding or deleting columns in the key
  • Adding or deleting columns
  • Making existing columns smaller. For example, changing a VARCHAR2(50) column to a VARCHAR2(20) column.
  • Disabling a primary key constraint
  • Changing the datatype of an existing column
  • Dropping an existing column

If you are unsure whether a change is safe or unsafe, then quiesce the master group before you run the ALTER_MASTER_REPOBJECT procedure.

Exceptions

Table 53-20 ALTER_MASTER_REPOBJECT Procedure Exceptions
Exception Description

nonmasterdef

Invocation site is not the master definition site.

notquiesced

Associated replication group has not been suspended.

missingobject

Object identified by sname and oname does not exist.

typefailure

Specified type parameter is not supported.

ddlfailure

DDL at the master definition site did not succeed.

commfailure

At least one master site is not accessible.

ALTER_MVIEW_PROPAGATION Procedure

This procedure alters the propagation method for a specified replication group at the current materialized view site. This procedure pushes the deferred transaction queue at the materialized view site, locks the materialized view base tables, and regenerates any triggers and their associated packages. You must call this procedure from the materialized view site.

Syntax

DBMS_REPCAT.ALTER_MVIEW_PROPAGATION (
   gname                IN  VARCHAR2, 
   propagation_mode     IN  VARCHAR2,
   comment              IN  VARCHAR2   := ''
   gowner               IN  VARCHAR2   := 'PUBLIC');

Parameters

Table 53-21 ALTER_MVIEW_PROPAGATION Procedure Parameters
Parameter Description

gname

Name of the replication group for which to alter the propagation method.

propagation_mode

Manner in which changes from the current materialized view site are propagated to its associated master site or master materialized view site. Appropriate values are synchronous and asynchronous.

comment

This comment is added to the DBA_REPPROP view.

gowner

Owner of the materialized view group.

Exceptions

Table 53-22 ALTER_MVIEW_PROPAGATION Procedure Exceptions
Exception Description

missingrepgroup

Specified replication group does not exist.

typefailure

Propagation mode was specified incorrectly.

nonmview

Current site is not a materialized view site for the specified replication group.

commfailure

Cannot contact master site or master materialized view site.

notcompat

Compatibility mode must be 7.3.0.0 or greater.

failaltermviewrop

Materialized view group propagation can be altered only when there are no other materialized view groups with the same master site or master materialized view site sharing the materialized view site.

ALTER_PRIORITY Procedure

This procedure alters the priority level associated with a specified priority group member. You must call this procedure from the master definition site.

See Also:

Oracle9i Replication for more information about conflict resolution methods

Syntax

DBMS_REPCAT.ALTER_PRIORITY (
   gname            IN   VARCHAR2, 
   pgroup           IN   VARCHAR2, 
   old_priority     IN   NUMBER, 
   new_priority     IN   NUMBER);

Parameters

Table 53-23 ALTER_PRIORITY Procedure Parameters
Parameter Description

gname

Master group with which the priority group is associated.

pgroup

Name of the priority group containing the priority that you want to alter.

old_priority

Current priority level of the priority group member.

new_priority

New priority level that you want assigned to the priority group member.

Exceptions

Table 53-24 ALTER_PRIORITY Procedure Exceptions
Exception Description

nonmasterdef

Invocation site is not the master definition site.

duplicatepriority

New priority level already exists in the priority group.

missingrepgroup

Specified master group does not exist.

missingvalue

Value was not registered by a call to DBMS_REPCAT.ADD_PRIORITY_datatype.

missingprioritygroup

Specified priority group does not exist.

notquiesced

Specified master group is not quiesced.

ALTER_PRIORITY_datatype Procedure

This procedure alters the value of a member in a priority group. You must call this procedure from the master definition site. The procedure that you must call is determined by the datatype of your priority column.

See Also:

Oracle9i Replication for more information about conflict resolution methods

Syntax

DBMS_REPCAT.ALTER_PRIORITY_datatype (
   gname        IN   VARCHAR2, 
   pgroup       IN   VARCHAR2, 
   old_value    IN   datatype, 
   new_value    IN   datatype);

where datatype:

{ NUMBER
| VARCHAR2