All installations of Advanced Replication include the replication management application programming interface (API). This replication management API is a collection of PL/SQL packages that administrators use to configure and manage replication features at each site. The Replication Management tool in the Oracle Enterprise Manager Console also uses the procedures and functions of each site's replication management API to perform work.
This chapter contains these topics:
Issues to Consider When Using the Replication Management API
The Replication Management Tool and the Replication Management API
Abbreviations for Datetime and Interval Datatypes
Note:
Some of the PL/SQL procedures and functions described in the chapters in this part are overloaded. That is, two or more procedures or functions have the same name in a single package, but their formal parameters differ in number, order, or datatype family. When a procedure or function is overloaded, it is noted in the description. See the Oracle Database PL/SQL User's Guide and Reference for more information about overloading and for more information about PL/SQL in general.To use Oracle's replication management API, you issue procedure or function calls using a query tool such as SQL*Plus or Enterprise Manager SQL Worksheet. For example, the following call to the DBMS_REPCAT
.CREATE_MASTER_REPOBJECT
procedure creates a new replicated table hr.employees
in the hr_repg
replication group:
BEGIN DBMS_REPCAT.CREATE_MASTER_REPOBJECT ( gname => 'hr_repg', type => 'TABLE', oname => 'employees', sname => 'hr', use_existing_object => TRUE, copy_rows => FALSE); END; /
To call a replication management API function, you must provide an environment to receive the return value of the function. For example, the following anonymous PL/SQL block calls the DBMS_DEFER_SYS
.DISABLED
function in an IF
statement.
BEGIN IF DBMS_DEFER_SYS.DISABLED ('inst2') THEN DBMS_OUTPUT.PUT_LINE('Propagation to INST2 is disabled.'); ELSE DBMS_OUTPUT.PUT_LINE('Propagation to INST2 is enabled.'); END IF; END; /
For many procedures and functions in the replication management API, there are important issues to consider. For example:
Some procedures or functions are appropriate to call only from the master definition site in a multimaster configuration.
To perform some administrative operations for master groups, you must first suspend replication activity for the group before calling replication management API procedures and functions.
The order in which you call different procedures and functions in Oracle's replication management API is extremely important. See the next section for more information about learning how to correctly issue replication management calls.
The Replication Management tool uses the replication management API to perform most of its functions. Using the Replication Management tool is much more convenient than issuing replication management API calls individually because the utility:
Provides a GUI interface to type in and adjust API call parameters
Automatically orders numerous, related API calls in the proper sequence
Displays output returned from API calls in message boxes and error files
Many of the datetime and interval datatypes have names that are too long to be used with the procedures and functions in the replication management API. Therefore, you must use abbreviations for these datatypes instead of the full names. The following table lists each datatype and its abbreviation. No abbreviation is necessary for the DATE
and TIMESTAMP
datatypes.
Datatype | Abbreviation |
---|---|
TIMESTAMP WITH TIME ZONE |
TSTZ |
TIMESTAMP LOCAL TIME ZONE |
TSLTZ |
INTERVAL YEAR TO MONTH |
IYM |
INTERVAL DAY TO SECOND |
IDS |
For example, if you want to use the DBMS_DEFER_QUERY.GET_
datatype
_ARG
function to determine the value of a TIMESTAMP
LOCAL
TIME
ZONE
argument in a deferred call, then you substitute TSLTZ
for datatype
. Therefore, you run the DBMS_DEFER_QUERY.GET_TSLTZ_ARG
function.