At times it may be desirable to only replicate 9i DDL to a specific target instead of all targets in a distributed data (or broadcasting) replication environment. A new parameter SP_ORD_SEND_DDL_TO_FIRST has been introduced in Shareplex 7.0 to achieve this. This solution describes the parameter.
There are two ways to achieve this:
A. Use of SP_ORD_SEND_DDL_TO_FIRST parameter.
The parameter SP_ORD_SEND_DDL_TO_FIRST, if enabled (by setting it to 1 on source) will ensure that all 9i DDL are sent to the first route listed in the config file. Since this parameter is meant for replicating DDL for non-replicated tables, it has no relation with the table listed in the first route (since any table listed in a config file is replicated). The sole purpose of the parameter is to control the way the 9i DDL are propagated, namely sending them to only one of the several targets in replication. In the following example, the first entry in the config file having the target name target_server_name1 will only receive the 9i DDL changes even though other targets are also in replication:
owner.source_table owner.target_table target_server_name1@o.SID
owner.source_table owner.target_table target_server_name2@o.SID
If the parameter is not set, then the 9i DDL will be sent to all targets listed in the config file.
B. Specifically stating the first target in the config file by using the ! sign that will be the only target to receive the 9i DDL.
Another way to achieve this would be to set the route for the target (that should get the 9i DD) specifically in the config file as shown below:
! target_server_name:queue_name@o.SID (where SID denotes the target Oracle SID)
See Shareplex Reference Guide for details on the parameter SP_ORD_SEND_DDL_TO_FIRST.
See SOL36703 for details on what is meant by "9i DDL" or "9i Supported DDL".