User guide

Table Of Contents
SDR Operations
HP NonStop SQL DDL Replicator User’s Guide545799-007
4-5
Special cases
SQL eventually commits or aborts the transaction used to perform the DDL change. If
the transaction commits, SDR writes a description of the DDL to a depot file, which is
replicated by RDF to the RDF backup system(s). SDR also creates the marker file to
prevent the RDF Extractor from aborting.
Later, when RDF is replicating the catalog audit for the DDL, it will replicate the SDR
depot records and then encounter the SRU audit record and shut down the RDF
updaters. SDR processing from this point is described below.
Special cases
Create Catalog
User Transactions
Distributed Tables and Indexes
Unaudited Tables and Indexes
SQLCI DUP Utility
Create Catalog
In the DDL operation to create a catalog, SQL first creates all the audited catalog
tables, opens them, and inserts the initial catalog rows into the tables. This is all done
under a single transaction.
In the typical case, this causes RDF to stall if the catalog is not yet created on the
backup system. When the RDF updater processes the audited catalog inserts, it does
not know that they apply to a catalog and cannot discard them. More specifically, RDF
events 736 appear in the EMS log, when the RDF updater detects the SQL updates to
the catalog table VERSIONS:
Waiting to obtain FILEINFO on file $vol.catsubvol.VERSIONS, error 11
SDR detects this situation and updates the depot file with a CREATE CATALOG before
the audited catalog inserts. The CREATE CATALOG will be replicated before the RDF
updater would stall at the catalog inserts. The downside of this strategy is that there is
a very slight chance that the primary CREATE CATALOG could be aborted and SDR
could create a backup catalog where no primary catalog was created. But, this is not
likely to have any adverse effect on maintaining a consistent duplicate database.
CREATE Collation
SDR replicates CREATE COLLATION on the backup system in two steps: first it
translates the name of the collation and the input edit file used by the collation
compiler, then it executes a SQL CREATE COLLATION statement.
SQL in turn executes the CREATE COLLATION in two steps: first it creates a special
audited file to be used for output by the collation compiler, then it invokes the collation
compiler that makes audited updates to its output file.