DBMS_DEFER: Building Deferred Calls

The DBMS_DEFER package builds deferred remote procedure calls.

Warning

DBMS_DEFER can execute procedures at remote sites under a highly privileged account, such as the replication administrator account. Therefore, EXECUTE privileges on DBMS_DEFER should not be widely granted. As a general rule, you should restrict it to DBA accounts. If you want to provide end users with the ability to create their own deferred calls, you should create a cover package and grant EXECUTE on it to end users or end user roles.

Getting Started with DBMS_DEFER

The DBMS_DEFER package is created when the Oracle database is installed. The dbmsdefr.sql script (found in the built-in packages source directory, as described in Chapter 1) contains the source code for this package’s specification. This script is called by catrep.sql , which must be run to install the advanced replication packages. The script creates the public synonym DBMS_DEFER. EXECUTE privileges on DBMS_DEFER are not granted. The following procedures grant EXECUTE privilege on DBMS_DEFER to the specified grantees:

DBMS_REPCAT_AUTH.GRANT_SURROGATE_REPCAT
DBMS_REPCAT_ADMIN.GRANT_ADMIN_ANY_REPGROUP
DBMS_REPCAT_ADMIN.GRANT_ADMIN_ANY_REPSCHEMA
DBMS_REPCAT_ADMIN.GRANT_ADMIN_REPGROUP
DBMS_REPCAT_ADMIN.GRANT_ADMIN_REPSCHEMA
DBMS_REPCAT_ADMIN.GRANT_ADMIN_ANY_REPGROUP

DBMS_DEFER programs

Table 17.11 lists the programs available in the DBMS_DEFER package.

Table 17-11. DBMS_DEFER Programs

Name

Description

Use in SQL?

Get Oracle Built-in Packages now with the O’Reilly learning platform.

O’Reilly members experience live online training, plus books, videos, and digital content from nearly 200 publishers.