Skip Headers

Oracle® Database Advanced Replication Management API Reference
10g Release 1 (10.1)

Part Number B10733-01
Go to Documentation Home
Home
Go to Book List
Book List
Go to Table of Contents
Contents
Go to Index
Index
Go to Master Index
Master Index
Go to Feedback page
Feedback

Go to previous page
Previous
Go to current chapter
Up
Go to next page
Next
View PDF

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 18-12 ADD_conflicttype_RESOLUTION Procedures  
Conflict Type Procedure Name
update
ADD_UPDATE_RESOLUTION
uniqueness
ADD_UNIQUE_RESOLUTION
delete
ADD_DELETE_RESOLUTION
See Also:

Chapter 6, "Configure Conflict Resolution" and Oracle Database Advanced 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 18-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 Chapter 6, "Configure Conflict Resolution" and Oracle Database Advanced 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 18-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: