activate subscription

For a subscription to a replication definition or a publication, starts the distribution of updates from the primary to the replicate database and sets the subscription status to ACTIVE. The activate subscription command is part of the bulk materialization process, or part of the process of refreshing a publication subscription.

Syntax

activate subscription sub_name
for {table_rep_def | function_rep_def |
   publication pub_name 
   with primary at data_server.database}
   with replicate at data_server.database
   [with suspension [at active replicate only] | with catchup_queue]

Parameters

Examples

Usage

  • Use activate subscription to activate a subscription at the primary and replicate Replication Servers. The subscription can be to a table replication definition, function replication definition, database replication definition, or publication.

  • This command begins the second step in the bulk materialization process. The first step is the creation of the subscription using define subscription.

  • To complete bulk materialization, load the data from media, resume the connection to the replicate database if it was suspended, and execute validate subscription.

  • Execute activate subscription at the Replication Server where you created the subscription.

  • activate subscription changes the status of a subscription from DEFINED to ACTIVE. Subsequent updates at the primary data server are distributed through the primary Replication Server.

  • If you have added any new articles to a publication with an existing subscription, you must refresh the publication subscription by materializing the new data in order to create subscriptions for the new articles.

    After using define subscription to begin this process, use activate subscription to activate the new article subscriptions. Then manually load the subscription data for the new article subscriptions, and use validate subscription to validate the publication subscription.

  • When you activate a publication subscription, all of its article subscriptions are activated at the same time, rather than one at a time.

  • This command modifies RSSD tables at multiple sites. Use check subscription at the primary and replicate Replication Servers to see the effects on each.

  • For more information about subscription materialization, see the Replication Server Administration Guide Volume 1.

The with suspension clause
  • When you use the with suspension clause, activate subscription suspends the DSI after changing the subscription status. This prevents the replicate Replication Server from sending updates for the replicated table before the subscription data is loaded.

    After the data is loaded at the replicate site, execute resume connection to apply the updates. If you do not use with suspension, you should prohibit updates to the primary version until after the subscription is materialized.

  • If the database is part of a warm standby application, the with suspension clause suspends the DSI for the active database and standby DSI after changing the subscription status. This allows you to load the data into both databases before allowing updates to continue in the active database.

    If you load the data into the active database with logging (for example, by using logged bcp or by executing transactions in the active database), use the clause with suspension at active replicate only, so that the standby DSI is not suspended. In this case, you do not have to load the subscription data into the standby database because it is replicated from the active database.

The with catchup_queue clause
  • When you use the catchup_queue clause, the DML operations on the primary table that is being materialized are stored in a catchup queue. After the bulk materialization is complete and when you issue the validate subscription command, the subscription becomes VALID after all the DML operations in the catchup queue are applied to the replicate table.
  • If you use the catchup_queue clause, you no longer need to specify with suspension or restrict DML operations during bulk materialization (that is, the time between activate subscription and validate subscription command execution).
  • When DML operations in a catchup queue are applied to the replicate table, each insert operation is converted into a delete followed by an insert. Materialization fails when an update changes the primary key.
  • (For primary Microsoft SQL Server, DB2 UDB, or Oracle database only) If a subscription is created with the direct_load option and if you are anticipating updates to the primary table during materialization time, you must enable the ra_set_autocorrection Replication Agent command to allow Replication Agent to send the values for all columns to the downstream Replication Server.

Permissions

activate subscription can be executed by users with “create object” permission at the replicate Replication Server and “primary subscribe” permission at the primary Replication Server.

Related reference
check subscription
create subscription
define subscription
drop subscription
resume connection
validate subscription