To create separate sets of PowerExchange Logger log files for groups of tables, create a PowerExchange Logger group definition file. Then, specify its path and file name in the GROUPDEFS parameter of the pwxccl configuration file.
When the PowerExchange Logger process starts, it reads the group definition file and creates a separate set of log files for each defined group.
Group definitions can help improve the efficiency of extraction sessions because the extractions target a more specific set of PowerExchange Logger log files.
By default, the PowerExchange Logger processes change data for all tables that reside on the instance specified by the DBID parameter and that have active capture registrations with the
Condense
option set to
Part
. Changes for all of these tables are written to a single set of log files. For a table with a low level of change activity, the extraction process might need to read many change records in the PowerExchange Logger log files before finding the changes of interest.
With group definitions, you can define a group that includes a subset of capture registrations. The PowerExchange Logger then writes change data to a separate set of log files for the tables that are associated with these registrations. When an extraction process runs, it is more likely to find the change data for a table in the group faster because it reads only the log files for that group.
For example, if you have five source tables with a low level of change activity and one table with a high level of change activity, you can define a group that includes the low-activity tables and another group that includes only the high-activity table only. Then, in PowerCenter, define a CDC session that extracts change data from the PowerExchange Logger log files for the low-activity group, and define another CDC session that extracts change from the log files for the high-activity group. This configuration enables the CDC session for the low-activity tables to find and extract the few change records for these tables much more quickly.
If you have multiple tables with the same table name but different schemas, you can define a single capture registration for the table and specify it once, under a single group, in the group definition file. For any other group that includes the same table with a different schema, you can override the schema name in the group definition by using a SCHEMA statement. By using the SCHEMA statement, you can avoid creating multiple capture registrations and specifying each one in the group definition file. For example, if you have an EMPLOYEE table with different schemas for the north, south, east, and west regions, you can register the north EMPLOYEE table only and specify the capture registration name in the NORTH group. Then specify only the override schemas in the EAST, WEST, and SOUTH groups.
SCHEMA statements are optional for Db2 for i (i5/OS) sources and for Db2 and Oracle sources on Linux, UNIX, and Windows. SCHEMA statements are not supported for SQL Server sources on Windows or any data source on z/OS.
On Linux, UNIX, and Windows, PowerExchange requirements for unregistered versions of tables, those for which you specify a SCHEMA statement instead of a REG statement in the group definition file, vary by source type:
For Db2 on Linux, UNIX, or Windows, you must define any unregistered version of a table with the Db2 DATA CAPTURE CHANGES clause.
For Microsoft SQL Server, you must register all versions of a table in PowerExchange and specify a REG statement in the group definition file.
For MySQL, you must register all versions of a table in PowerExchange and specify a REG statement in the group definition file.
For Oracle, you must create an Oracle supplemental log group for the unregistered table, which is similar to the supplemental log group that was created for the registered copy of the table at registration completion.
For PostgreSQL, you must register all versions of a table in PowerExchange and specify a REG statement in the group definition file.
When using group definitions, you can optimize extraction efficiency by defining a CDC session in PowerCenter for each group of tables defined in the group definition file.