Maintenance

In addition to the administrative tasks associated with read-only snapshots, updateable snapshots require the database administrator to perform a number of maintenance tasks.

Altering the Master Table

If the structure of theupdateable snapshot’s master table changes, the updateable snapshot must reflect the modification. Since updateable snapshots are registered as replicated objects, a change to a master table will generate appropriate DDL calls for all snapshot sites. However, unlike DDL changes in a multi-master replicated environment that Oracle propagates when you call DBMS_REPCAT.GENERATE_REPLICATION_SUPPORT, the snapshot site must request the DDL changes from the master. The built-in package procedure DBMS_REPCAT.REFRESH_SNAPSHOT_REPGROUP makes this request.

Suppose you wish to make the distributor_id column nullable in the table SPROCKET.DAILY_SALES. You would follow these steps:

  1. Alter the table at the master site, connected to the replication administrator account at the master site:

    EXECUTE dbms_repcat.suspend_master_activity('RG_SPROCKET');
    
    EXECUTE dbms_repcat.alter_master_repobject( -
        sname       => 'SPROCKET', -
        oname       => 'DAILY_SALES', -
        type        => 'TABLE', -
        ddl_text    => 'ALTER TABLE SPROCKET.DAILY_SALES
                           MODIFY (DISTRIBUTOR_ID NULL)');
    
    EXECUTE dbms_repcat.generate_replication_support( -
        sname       => 'SPROCKET', -
        oname       => 'DAILY_SALES', -
        type        => 'TABLE');
    
    EXECUTE dbms_repcat.resume_master_activity('RG_SPROCKET');
  2. At the snapshot site, request the changes. Connect to the ...

Get Oracle Distributed Systems now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.