Adding Db2 for z/OS tables to Data Gate for watsonx
The process of adding tables is similar for all supported data sources. However, some of the characteristics of Db2 for z/OS tables require your attention.
Before you begin
The synchronization function requires that tables have a unique key. Therefore, you might need to add unique keys to some of your source tables. If the chosen key column is not a primary key or a primary index, you must explicitly specify it as an informational unique constraint. This cannot be done in Cloud Pak for Data. You must alter or re-create the tables in Db2 for z/OS.
About this task
- Tables are not renamed when they are added to Data Gate for watsonx. Adding a table results in a table with the
same schema and table name, but in lowercase.Restriction:
- If multiple tables on Db2 for z/OS have the same schema name or table name if the case is ignored, only one of these tables can be added to Data Gate for watsonx.
- Source tables or schemas containing a period (.) or a colon (:) in the name cannot be added to Data Gate for watsonx.
- If column names of Db2 for z/OS source tables contain a period (.) or a colon (:), these tables cannot be added to Data Gate for watsonx either.
- Column names in the target table will be in lowercase. So, if the names of columns in a source table are the same if the case is ignored, these tables cannot be added to Data Gate for watsonx.
- Tables with columns of the following data types cannot be added from the Data Gate for watsonx user interface:
- BLOB
- CLOB
- DBCLOB
- XML
- TIMESTAMP WITH TIMEZONE
The target tables have the columns of the source table, but the following additional columns are inserted before the source table columns:
- DWA_Load_Timestamp (automatically generated)
- This is an automatically generated column of the type TIMESTAMP. It contains the commit time (for loaded columns it depends on the LOCKMODE) in watsonx.data in UTC.
- DWA_Partition_ID (hidden)
- This is a hidden column of type INTEGER. It contains the physical partition number of the row in Db2 for z/OS.
Tables with LOB columns can be added by calling the SYSPROC.ACCEL_ADD_TABLES stored procedure directly or by using one of the supported administration clients. However, LOB columns do not contain any useful data after they have been loaded to the target table. The content consists of no more than a unique internal identifier that was used by Db2 for z/OS.
If the source table has LOB columns, but no columns of type ROWID, there will also be a
DB2_GENERATED_ROWID_FOR_LOBScolumn of type VARBINARY(40). This column also exists in Db2 for z/OS, but it is an implicitly created column. See Row ID values for more information.Other columns that might be created implicitly by Db2 for z/OS are also copied to the target table.
- The target tables to be created are converted to Unicode if you select Db2 for z/OS tables in a different format. Requirements regarding column widths are considered during the conversion. However, often, the converted (Unicode) tables need wider columns than the EBCDIC-encoded tables to avoid a truncation of values. Mind that watsonx.data does not have column-width limits for common types, such as CHAR or VARCHAR. The width of converted values will be implicitly increased, but since there is no length limitation of affected columns in Iceberg/watsonx.data, the increase will not be reflected in the table's schema.
- Tables must have a unique constraint (primary key or primary index). If such a key does not
exist in the table or cannot be determined, you must redefine the table and specify such a key. The
columns that you choose for the key must contain unique values or form such values when they are
combined.
The data types that can be used as key columns in Apache Iceberg tables fed by Data Gate for watsonx are listed in the Iceberg specification. See Identifier Field IDs.
- If you update Db2
for z/OS tables by running the
LOAD utility, you must set the following keywords for the LOAD utility:
SHRLEVEL CHANGELOG YES
- You might have to reload or even remove tables from Db2 Data Gate after an ALTER TABLE or ALTER TABLESPACE statement is applied in Db2 for z/OS.
- The Db2 source tables of your Db2 Data Gate replicas have an attribute that is named DATA CAPTURE.
The attribute can carry the value Y or N (default), for yes or no. When synchronization is enabled
for a table, the DATA CAPTURE attribute of the table is set to the value Y. Once set, this attribute
value persists, even if the table is disabled later. Bear this in mind, especially if you run
applications that use the DATA CAPTURE attribute.
The DATA CAPTURE attribute is set by an ALTER TABLE statement, which is run as part of the SYSPROC.ACCEL_SET_TABLES_REPLICATION stored procedure. However, the attribute can only be set successfully if the ID of the user who runs the stored procedure has ALTER TABLE authorization. If not, a database administrator must set the attribute for all tables Db2 for z/OS.