Sie sind auf Seite 1von 272

PowerExchange Interfaces for PowerCenter

Informatica PowerExchange
(Version 8.5.1)

Informatica PowerExchange Interfaces for PowerCenter


Copyright (c) 19982007 Informatica Corporation. All rights reserved. This software and documentation contain proprietary information of Informatica Corporation and are provided under a license agreement containing restrictions on use and disclosure and are also protected by copyright law. Reverse engineering of the software is prohibited. No part of this document may be reproduced or transmitted in any form, by any means (electronic, photocopying, recording or otherwise) without prior consent of Informatica Corporation. This Software is protected by U.S. and/or international Patents and other Patents Pending. Use, duplication, or disclosure of the Software by the U.S. Government is subject to the restrictions set forth in the applicable software license agreement and as provided in DFARS 227.7202-1(a) and 227.7702-3(a) (1995), DFARS 252.227-7013(c)(1)(ii) (OCT 1988), FAR 12.212(a) (1995), FAR 52.227-19, or FAR 52.227-14 (ALT III), as applicable. The information in this product or documentation is subject to change without notice. If you find any problems in this product or documentation, please report them to us in writing. Informatica, PowerCenter, PowerCenterRT, PowerCenter Connect, PowerCenter Data Analyzer, PowerExchange, PowerMart, Metadata Manager, Informatica Data Quality, Informatica Data Explorer, Informatica Complex Data Exchange and Informatica On Demand Data Replicator are trademarks or registered trademarks of Informatica Corporation in the United States and in jurisdictions throughout the world. All other company and product names may be trade names or trademarks of their respective owners.

DISCLAIMER: Informatica Corporation provides this documentation as is without warranty of any kind, either express or implied, including, but not limited to, the implied warranties of non-infringement, merchantability, or use for a particular purpose. Informatica Corporation does not warrant that this software or documentation is error free. The information provided in this software or documentation may include technical inaccuracies or typographical errors. The information in this software and documentation is subject to change at any time without notice.

Part Number: PWX-IPC-851-0001

Table of Contents
List of Figures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix List of Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi
Informatica Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xii Informatica Customer Portal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xii Informatica Web Site . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xii Informatica Knowledge Base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xii Informatica Global Customer Support . . . . . . . . . . . . . . . . . . . . . . . . . . xii

Part 1: Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Chapter 1: Understanding PowerExchange Interfaces for PowerCenter3


Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 PowerExchange Client for PowerCenter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Batch Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 CDC Batch and Continuous Extraction Modes . . . . . . . . . . . . . . . . . . . . 7 CDC Real-time Extraction Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 PowerExchange ODBC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

Part 2: PowerExchange Client for PowerCenter . . . . . . . . . . . . . . . . . 13 Chapter 2: Installing PWXPC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15


Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 Before You Begin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 Installing PowerExchange Client for PowerCenter (PWXPC) . . . . . . . . . . . . 17 Installation Steps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 Upgrading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 Modifying the PowerExchange Configuration Files . . . . . . . . . . . . . . . . . . . . 18 Adding PowerExchange Nodes on the PowerCenter Client Machine . . . . 18 Adding PowerExchange Nodes on the Integration Service Machine . . . . . 18 Adding PowerExchange Nodes in the dbmover.cfg File . . . . . . . . . . . . . . 18 Working with PowerExchange and PowerExchange Client for PowerCenter . . 20
Table of Contents iii

Chapter 3: Working with Mappings . . . . . . . . . . . . . . . . . . . . . . . . . . .21


Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 Source and Target Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 Working with Relational Source and Target Definitions . . . . . . . . . . . . . . . . 25 Working with DB2 Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 Working with Microsoft SQL Server Definitions . . . . . . . . . . . . . . . . . . 29 Working with Oracle Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 Working with Sybase Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 Editing Relational Source and Target Definitions . . . . . . . . . . . . . . . . . . 41 Working with Non-Relational Source and Target Definitions . . . . . . . . . . . . 43 Importing Non-Relational Source Definitions . . . . . . . . . . . . . . . . . . . . 44 Importing Non-Relational Target Definitions . . . . . . . . . . . . . . . . . . . . . 48 Viewing Non-Relational Source and Target Definition Details . . . . . . . . 51 Editing Non-Relational Source and Target Definitions . . . . . . . . . . . . . . 54 Working with Extraction Map Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . 57 Viewing Extraction Map Definition Details . . . . . . . . . . . . . . . . . . . . . . 60 Editing a Extraction Map Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 Previewing PowerExchange Data in Designer . . . . . . . . . . . . . . . . . . . . . . . . 63 Previewing PowerExchange Relational Data . . . . . . . . . . . . . . . . . . . . . . 63 Previewing PowerExchange Non-Relational Data . . . . . . . . . . . . . . . . . . 65 Previewing PowerExchange Changed Data . . . . . . . . . . . . . . . . . . . . . . . 67 PowerExchange Group Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 Using Group Source with Non-Relational Sources . . . . . . . . . . . . . . . . . 71 Using Group Source with CDC Sources . . . . . . . . . . . . . . . . . . . . . . . . . 72 Working with Source Qualifiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 Transformation Datatypes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 Creating Source Qualifiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 Editing Source Qualifier Transformations . . . . . . . . . . . . . . . . . . . . . . . 75 Using Lookup Transformations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 Usage Considerations for PowerExchange Sources and Targets . . . . . . . . . 76 Configuring Lookups for IMS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 Configuring Lookups for CDC Data . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

Chapter 4: Configuring Connections . . . . . . . . . . . . . . . . . . . . . . . . . 79


Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 Connection Types for Extracting Source Data . . . . . . . . . . . . . . . . . . . . 80 Connection Types for Loading Target Data . . . . . . . . . . . . . . . . . . . . . . 81

iv

Table of Contents

Configuring Connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 DB2 Batch Mode Relational Database Connections . . . . . . . . . . . . . . . . . . . 86 DB2 CDC Mode Application Connections . . . . . . . . . . . . . . . . . . . . . . . . . 89 NRDB Batch Mode Application Connections . . . . . . . . . . . . . . . . . . . . . . . 92 NRDB CDC Mode Application Connections . . . . . . . . . . . . . . . . . . . . . . . . 93 NRDB Lookup Relational Connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 MSSQL Batch Mode Relational Connections . . . . . . . . . . . . . . . . . . . . . . . . 97 MSSQL CDC Mode Application Connections . . . . . . . . . . . . . . . . . . . . . . . 99 Oracle Batch Mode Relational Connections . . . . . . . . . . . . . . . . . . . . . . . . 102 Oracle CDC Mode Application Connections . . . . . . . . . . . . . . . . . . . . . . . 104 Sybase Batch Mode Relational Connections . . . . . . . . . . . . . . . . . . . . . . . . 107 Configuring Connection Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 Common Connection Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 Batch Application and Relational Connection Attributes . . . . . . . . . . . 110 CDC-Specific Connection Attributes . . . . . . . . . . . . . . . . . . . . . . . . . 112 Understanding Commit Processing with PWXPC . . . . . . . . . . . . . . . . . . . . 123

Chapter 5: Working with Sessions . . . . . . . . . . . . . . . . . . . . . . . . . . 127


Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 Pipeline Partitioning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 Real-time Session Rules and Guidelines . . . . . . . . . . . . . . . . . . . . . . . . 128 Extracting Data in Batch Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 Extracting Data from Multiple Files . . . . . . . . . . . . . . . . . . . . . . . . . . 129 Constraint-Based Loading for Relational Targets . . . . . . . . . . . . . . . . . 129 Session Properties for Non-Relational Batch Mode Sessions . . . . . . . . . 129 Session Properties for Relational Batch Mode Sessions . . . . . . . . . . . . . 132 Extracting CDC Data in Change and Real-time Modes . . . . . . . . . . . . . . . . 135 PowerExchange Extraction Maps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 Extracting CDC Data from Multiple Sources in a Session . . . . . . . . . . . 136 Constraint-Based Loading for Relational Targets . . . . . . . . . . . . . . . . . 136 Session Properties for Change and Real-Time Mode Sessions . . . . . . . . 137 Loading Data to PowerExchange Targets . . . . . . . . . . . . . . . . . . . . . . . . . . 142 Loading Data to Relational Targets . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 Loading Data to Non-Relational Targets . . . . . . . . . . . . . . . . . . . . . . . 144

Chapter 6: Restart and Recovery . . . . . . . . . . . . . . . . . . . . . . . . . . . 149


Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150

Table of Contents

Understanding PWXPC Restart and Recovery . . . . . . . . . . . . . . . . . . . . . . 151 Session Recovery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151 Recovery Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151 Recovery State Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 Recovery State File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 The Restart Token File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154 Determining the Restart Point . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 Initializing and Running CDC Sessions . . . . . . . . . . . . . . . . . . . . . . . . 158 Ending CDC Sessions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159 Creating Recovery Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160 Recovery Table Creation with PowerExchange Targets . . . . . . . . . . . . . . 160 Creating the Recovery Tables Manually . . . . . . . . . . . . . . . . . . . . . . . . 161 Configuring the Restart Token File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162 Syntax Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162 Statement Syntax Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162 Restart Token File Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162 Restart Token File Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164 PWXPC Restart and Recovery Operation . . . . . . . . . . . . . . . . . . . . . . . . . . 165 Enabling Session Recovery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165 Configuring CDC Sessions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166 Application Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167 Using DTLUAPPL with CDC Sessions . . . . . . . . . . . . . . . . . . . . . . . . 167 Starting CDC Sessions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 Stopping CDC Sessions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170 Changing CDC Sessions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 Recovering from CDC Session Failures . . . . . . . . . . . . . . . . . . . . . . . . 173 Managing Session Log and Restart Token File History . . . . . . . . . . . . . 175

Chapter 7: Flexible Key Custom Transformation . . . . . . . . . . . . . . . 177


Target Key Transformations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178 Configuring the PowerExchange Extraction Map . . . . . . . . . . . . . . . . . 179 Configuring PowerCenter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182 Group Source and Flexible Transformations . . . . . . . . . . . . . . . . . . . . . . . . 187

Part 3: PowerExchange ODBC. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191

vi

Table of Contents

Chapter 8: Installing PowerExchange ODBC . . . . . . . . . . . . . . . . . . 193


Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194 Installation Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194 Creating ODBC Data Sources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195 Creating ODBC Data Sources on the PowerCenter Client Machine . . . 195 Creating ODBC Data Sources on the Integration Service Machine . . . . 195

Chapter 9: Working with Mappings . . . . . . . . . . . . . . . . . . . . . . . . . . 197


Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198 Working with Source and Target Definitions for PowerExchange Batch . . . . 199 Importing a Source or Target Definition . . . . . . . . . . . . . . . . . . . . . . . 199 Working with Source Definitions for PowerExchange Change or Real-time . 202 Importing a Change Data Capture Source Definition . . . . . . . . . . . . . . 202

Chapter 10: Configuring Connections . . . . . . . . . . . . . . . . . . . . . . . 205


Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206 Working with Connections for PowerExchange ODBC . . . . . . . . . . . . . . . . 207 Connection Types for Extracting Source Data . . . . . . . . . . . . . . . . . . . 207 Connection Types for Loading Target Data . . . . . . . . . . . . . . . . . . . . . 207 Configuring Attributes for Connections . . . . . . . . . . . . . . . . . . . . . . . 208

Chapter 11: Working with Sessions . . . . . . . . . . . . . . . . . . . . . . . . . 211


Working with WorkflowsOverview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212 Pipeline Partitioning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212 Extracting Data from PowerExchange in Batch Mode . . . . . . . . . . . . . . . . . 213 Session Properties for Non-Relational Batch Mode Sessions . . . . . . . . . 213 Session Properties for Relational Batch Mode Sessions . . . . . . . . . . . . . 215 Extracting Data from PowerExchange in Change and Real-time Mode . . . . . 217 Session Properties for Change and Real-time Mode Sessions . . . . . . . . . 217 Loading Data to PowerExchange Targets . . . . . . . . . . . . . . . . . . . . . . . . . . 219

Chapter 12: PowerExchange Restart and Recovery . . . . . . . . . . . . . 221


Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222 Restart and Recovery Using PowerExchange ODBC . . . . . . . . . . . . . . . . . . 223 Managing Restart Tokens Using PowerExchange ODBC . . . . . . . . . . . . 223

Table of Contents

vii

Part 4: Appendices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225 Appendix A: Tips . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227


Organizing Sources by Map Type in Designer . . . . . . . . . . . . . . . . . . . . . . . 228 Filtering Source Data Using PWXPC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230 Using DTLREXE to Submit MVS Batch Jobs . . . . . . . . . . . . . . . . . . . . . . . 233 Creating Sequential and GDG Data Sets . . . . . . . . . . . . . . . . . . . . . . . . . . 236

Appendix B: Datatypes and Code Pages . . . . . . . . . . . . . . . . . . . . . 239


Datatype ReferenceOverview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240 PowerExchange and Transformation Datatypes . . . . . . . . . . . . . . . . . . . . . . 241 Relational Datatypes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243 Reading and Writing Binary Data in PowerExchange Client for PowerCenter 244 Using Code Pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245

Appendix C: Troubleshooting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247


Troubleshooting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248

Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251

viii

Table of Contents

List of Figures
Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure 1-1. PWXPC Batch Extraction Mode Data Flow . . . . . . . . . . . . . . . . . . . . . . . . . 1-2. PWXPC Change Mode Extraction Data Flow . . . . . . . . . . . . . . . . . . . . . . . 1-3. PWXPC Real-time Mode Extraction Data Flow . . . . . . . . . . . . . . . . . . . . . . 3-1. Import from PowerExchange . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-2. Import from PowerExchange - Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-3. Import from PowerExchange - DB2/390 Source . . . . . . . . . . . . . . . . . . . . . 3-4. Import from PowerExchange - DB2/400 or DB2/UDB Source . . . . . . . . . . . 3-5. Import from PowerExchange - DB2390 Select Datamaps List . . . . . . . . . . . . 3-6. Import from PowerExchange - Microsoft SQL Server Source . . . . . . . . . . . . 3-7. Import from PowerExchange - MSSQL Select Datamaps List . . . . . . . . . . . . 3-8. Import from PowerExchange - Oracle Source . . . . . . . . . . . . . . . . . . . . . . . 3-9. Import from PowerExchange - Oracle Select Datamaps List . . . . . . . . . . . . . 3-10. Import from PowerExchange - Sybase Source . . . . . . . . . . . . . . . . . . . . . . . 3-11. Import from PowerExchange - Sybase Select Datamaps List . . . . . . . . . . . . 3-12. Non-Relational Source Definition with Multiple Records . . . . . . . . . . . . . . 3-13. Import from PowerExchange - Non-Relational Source . . . . . . . . . . . . . . . . 3-14. Import from PowerExchange - Single Record Source Data Maps . . . . . . . . . 3-15. Import from PowerExchange - Multiple Record Source Data Maps . . . . . . . 3-16. Import from PowerExchange - Non-Relational Target . . . . . . . . . . . . . . . . 3-17. Import from PowerExchange - Non-Relational Target Select Datamaps List 3-18. Non-Relational Table - Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-19. Non-Relational Table - Metadata Extensions . . . . . . . . . . . . . . . . . . . . . . . 3-20. Import from PowerExchange - CDC Datamaps . . . . . . . . . . . . . . . . . . . . . 3-21. Import from PowerExchange - CDC Select Datamaps List . . . . . . . . . . . . . 3-22. Extraction Map Table - Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-23. Extraction Map Table - Metadata Extensions . . . . . . . . . . . . . . . . . . . . . . . 3-24. Multi-record Non-Relational Source Definition . . . . . . . . . . . . . . . . . . . . 3-25. Group Source Mapping Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-1. Relational Connection Browser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-2. Application Connection Browser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-3. Application Connection Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-1. Session Mapping Tab - Batch VSAM Reader . . . . . . . . . . . . . . . . . . . . . . . . 5-2. Session Mapping Tab - DB2 Readers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-3. Session Properties Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-4. Session Mapping Tab - Extraction Map Source . . . . . . . . . . . . . . . . . . . . . . 5-5. Session Mapping Tab - Relational Source . . . . . . . . . . . . . . . . . . . . . . . . . . 5-6. Session Mapping Tab - Relational Targets . . . . . . . . . . . . . . . . . . . . . . . . . . 5-7. Session Mapping Tab - Non-Relational Targets . . . . . . . . . . . . . . . . . . . . . . 6-1. Application Connection - Number of Restart Token Files . . . . . . . . . . . . . . 7-1. Primary key updates from a source relational table . . . . . . . . . . . . . . . . . . . . .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 7 .. 8 .. 9 . 23 . 24 . 26 . 27 . 29 . 31 . 33 . 35 . 37 . 39 . 41 . 43 . 45 . 47 . 48 . 49 . 51 . 52 . 53 . 58 . 59 . 60 . 61 . 72 . 73 . 83 . 84 . 85 130 133 137 138 140 143 145 175 178

List of Figures

ix

Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure

7-2. DB2 Extraction Map Source Mapping . . . . . . . . . . . . 7-3. DB2 Target Table Mapping . . . . . . . . . . . . . . . . . . . . 7-4. DB2 Source to DB2 Target CDC mapping . . . . . . . . . 10-1. ODBC - Connection Object Definition . . . . . . . . . . A-1. Filter Overrides: Single-Record Filter . . . . . . . . . . . . . A-2. Filter Overrides: Multi-Record Filter . . . . . . . . . . . . . A-3. Pre-Session Command - DTLREXE . . . . . . . . . . . . . . A-4. Workflow Link Condition - DTLREXE . . . . . . . . . . . A-5. Command Task Expression Editor - DTLREXE . . . . . A-6. Session Mapping Tab - File Create Pre-SQL Command

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

.183 .183 .184 .208 .231 .232 .234 .235 .235 .237

List of Figures

List of Tables
Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table 1-1. Functional Comparison between PWXPC and PowerExchange ODBC . . . . . . . . . . . 4 1-2. PowerExchange Client for PowerCenter Extract and Load Capabilities . . . . . . . . . . . 5 1-3. Group Source Usage by PowerExchange Database Type . . . . . . . . . . . . . . . . . . . . . . 6 1-4. PowerExchange ODBC Extract and Load Capabilities . . . . . . . . . . . . . . . . . . . . . . 10 2-1. Valid Version Combinations for PowerExchange and PWXPC . . . . . . . . . . . . . . . . 20 3-1. Attributes of Fields in a Non-Relational Source Definition . . . . . . . . . . . . . . . . . . . 52 3-2. Non-Relational Source Definition Metadata Extensions . . . . . . . . . . . . . . . . . . . . . 53 3-3. Attributes of Fields in a Extraction Map Definition . . . . . . . . . . . . . . . . . . . . . . . . 61 3-4. Extraction Map Definition Metadata Extensions . . . . . . . . . . . . . . . . . . . . . . . . . . 62 4-1. Connection Types for Extracting Source Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 4-2. Connection Types for Loading Target Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 4-3. PWX DB2390, DB2400, and DB2UDB Relational Database Connection Attributes 86 4-4. DB2390, DB2400, and DB2UDB CDC Mode Application Connection Attributes . 89 4-5. NRDB Batch Mode Application Connection Attributes . . . . . . . . . . . . . . . . . . . . . 92 4-6. NRDB CDC Mode Application Connection Attributes . . . . . . . . . . . . . . . . . . . . . 93 4-7. NRDB Lookup Relational Connection Attributes . . . . . . . . . . . . . . . . . . . . . . . . . 96 4-8. MSSQL Batch Mode Relational Connection Attributes . . . . . . . . . . . . . . . . . . . . . 97 4-9. MSSQL CDC Mode Application Connection Attributes . . . . . . . . . . . . . . . . . . . . 99 4-10. Oracle Batch Mode Relational Connection Attributes . . . . . . . . . . . . . . . . . . . . 102 4-11. Oracle CDC Mode Application Connection Attributes . . . . . . . . . . . . . . . . . . . . 104 4-12. Sybase Batch Mode Relational Connection Attributes . . . . . . . . . . . . . . . . . . . . 107 4-13. Encryption and Compression Connection Attributes . . . . . . . . . . . . . . . . . . . . . 109 4-14. Pacing Size Connection Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 4-15. Convert Character Data Connection Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . 110 4-16. Write Mode Connection Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 4-17. Retrieve PWX Log Entries Connection Attribute . . . . . . . . . . . . . . . . . . . . . . . . 112 4-18. Image Type Connection Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 4-19. Event Table Connection Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 4-20. CAPI Connection Override Connection Attribute . . . . . . . . . . . . . . . . . . . . . . . 115 4-21. Idle Time Connection Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 4-22. Change and Real-time Mode Restart Connection Attributes . . . . . . . . . . . . . . . . 117 4-23. UOW Count Connection Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 4-24. Real-Time Flush Latency Connection Attribute . . . . . . . . . . . . . . . . . . . . . . . . . 119 4-25. Commit Threshold Connection Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 5-1. Session Properties for Non-Relational Targets . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 6-1. Default Starting Extraction Points for Sources . . . . . . . . . . . . . . . . . . . . . . . . . . . 158 6-2. Recovery Table SQL Scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 6-3. CDC Sessions - Recommended Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166 10-1. Connection Types for Extracting Source Data . . . . . . . . . . . . . . . . . . . . . . . . . . 207 10-2. Target Database Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207

List of Tables

xi

Table 10-3. ODBC Connection Object Definition Table . . . . . . . . . . . . . . . . . . . . . . . . . . .209 Table 11-1. Partition Types for Partitioning Points for Sources . . . . . . . . . . . . . . . . . . . . . . .212 Table B-1. PowerExchange and Transformation Datatypes . . . . . . . . . . . . . . . . . . . . . . . . . . .241

xii

List of Tables

Preface

PowerExchange Interfaces for PowerCenter describes the Informatica interface between PowerExchange and PowerCenter. It is written for developers and administrators who are responsible for creating, running, and administering workflows and sessions that interface with PowerExchange. This manual assumes that you have knowledge of your operating systems, relational database concepts, and the database engines and non-relational files in your environment. This manual also assumes that you are familiar with the basic operation of PowerExchange and PowerCenter This manual discusses:

The PowerExchange Client for PowerCenter (PWXPC) interface The Power Exchange ODBC interface with PowerCenter

xi

Informatica Resources
Informatica Customer Portal
As an Informatica customer, you can access the Informatica Customer Portal site at http://my.informatica.com. The site contains product information, user group information, newsletters, access to the Informatica customer support case management system (ATLAS), the Informatica Knowledge Base, Informatica Documentation Center, and access to the Informatica user community.

Informatica Web Site


You can access the Informatica corporate web site at http://www.informatica.com. The site contains information about Informatica, its background, upcoming events, and sales offices. You will also find product and partner information. The services area of the site includes important information about technical support, training and education, and implementation services.

Informatica Knowledge Base


As an Informatica customer, you can access the Informatica Knowledge Base at http://my.informatica.com. Use the Knowledge Base to search for documented solutions to known technical issues about Informatica products. You can also find answers to frequently asked questions, technical white papers, and technical tips.

Informatica Global Customer Support


There are many ways to access Informatica Global Customer Support. You can contact a Customer Support Center through telephone, email, or the WebSupport Service. Use the following email addresses to contact Informatica Global Customer Support:

support@informatica.com for technical inquiries support_admin@informatica.com for general customer service requests

WebSupport requires a user name and password. You can request a user name and password at http://my.informatica.com.

xii

Preface

Use the following telephone numbers to contact Informatica Global Customer Support:
North America / South America Informatica Corporation Headquarters 100 Cardinal Way Redwood City, California 94063 United States Europe / Middle East / Africa Informatica Software Ltd. 6 Waltham Park Waltham Road, White Waltham Maidenhead, Berkshire SL6 3TN United Kingdom Asia / Australia Informatica Business Solutions Pvt. Ltd. Diamond District Tower B, 3rd Floor 150 Airport Road Bangalore 560 008 India Toll Free Australia: 1 800 151 830 Singapore: 001 800 4632 4357 Standard Rate India: +91 80 4112 5738

Toll Free +1 877 463 2435

Toll Free 00 800 4632 4357

Standard Rate United States: +1 650 385 5800

Standard Rate Belgium: +32 15 281 702 France: +33 1 41 38 92 26 Germany: +49 1805 702 702 Netherlands: +31 306 022 797 United Kingdom: +44 1628 511 445

Preface

xiii

xiv

Preface

Part 1: Introduction

This part contains the following chapter:

Understanding PowerExchange Interfaces for PowerCenter, 3

Part 1: Introduction

Chapter 1

Understanding PowerExchange Interfaces for PowerCenter


This chapter includes the following topics:

Overview, 4 PowerExchange Client for PowerCenter, 5 PowerExchange ODBC, 10

Overview
You can use the following interfaces to extract and load data through PowerExchange when using PowerCenter:

PowerExchange Client for PowerCenter (PWXPC). Chapters 2 to 6 describe PowerExchange Client for PowerCenter. You can use it to extract and load data through PowerExchange for a variety of data types on a variety of platforms. PowerExchange Client for PowerCenter is fully integrated into PowerCenter. PowerExchange ODBC. Chapters 8 to 12 describe the PowerExchange ODBC interface. You can use PowerExchange ODBC connections with PowerCenter to extract and load data through PowerExchange for a variety of data types on a variety of platforms.

Note: When connecting to PowerExchange, Informatica recommends using PWXPC instead

of PowerExchange ODBC. PWXPC has additional functionality as well as improved performance and superior CDC recovery and restart. Table 1-1 compares the interface functionality of the PowerExchange Client for PowerCenter and PowerExchange ODBC:
Table 1-1. Functional Comparison between PWXPC and PowerExchange ODBC
PWXPC Yes Yes ODBC Yes No Function Extract data in batch and CDC mode. Extract data using Group Source Save target data and CDC restart information in a single commit. Use PowerCenter graceful stop for real-time sessions. Use the change indicator to determine the type of change record. Create source definitions from PowerExchange extraction maps. Modify the file name in the PowerCenter source definition. Description PowerExchange extracts relational and non-relational data in batch mode and changed data in CDC mode. PowerExchange Group Source processes change data for multiple sources or multiple record types in a VSAM and sequential files in a single pass. CDC restart information is stored in the same database as the relational target table. The restart information is updated in the same commit as the target data providing guaranteed restart and recovery for CDC data. PowerCenter stops real-time sessions after all data in the pipeline is written to the targets. Each changed data record indicates whether it is an insert, update, or delete. When the change indicator is used, an Update Strategy transformation is not required to process inserts, updates, and deletes. Extraction maps contain the PowerExchange autogenerated columns minimizing modification of the source definition in Designer. PowerCenter source definition can specify the file name and override the file name specified in the PowerExchange data map.

Yes

No

Yes Yes

No No

Yes

No

Yes

No

For an overview of PowerExchange, see the PowerExchange Getting Started Guide. For an overview of PowerCenter, see the PowerCenter Getting Started Guide.
4 Chapter 1: Understanding PowerExchange Interfaces for PowerCenter

PowerExchange Client for PowerCenter


PowerExchange Client for PowerCenter is installed with PowerCenter and integrates PowerExchange and PowerCenter to extract relational, non-relational, and changed data. PWXPC also loads relational and non-relational data in batch mode. Use the following modes to extract relational and non-relational data:

Batch Change Data Capture (CDC) Real-time Change Data Capture (CDC) batch extraction mode from condense files Change Data Capture (CDC) continuous extraction mode from condense files

Table 1-2 lists the database types that PowerExchange Client for PowerCenter can access to extract data or load data:
Table 1-2. PowerExchange Client for PowerCenter Extract and Load Capabilities
Database Type Adabas Datacom DB2 for z/OS DB2 for i5/OS DB2 for Linux, UNIX, and Windows IDMS IMS MSSQL Oracle Sequential files Sybase VSAM Batch Mode Extract/Load Yes/Yes Yes/No Yes/Yes Yes/Yes Yes/Yes Yes/No Yes/Yes Yes/Yes Yes/Yes Yes/Yes Yes/Yes Yes/Yes* CDC Real Time Extraction Mode Yes Yes Yes Yes Yes Yes Yes Yes Yes No No Yes CDC Batch Extraction Mode Yes No Yes Yes Yes No Yes Yes Yes Yes Yes Yes* CDC Continuous Extraction Mode Yes Yes Yes Yes No Yes Yes No Yes No No Yes

* With ESDS and RRDS VSAM datasets, only inserts are allowed. Inserts, updates, and deletes are allowed for KSDS VSAM data sets.

PowerExchange group source reads all data from the same physical source in a single pass. PWXPC uses PowerExchange group source to extract changed data from the change stream. PWXPC also uses group source to extract data from VSAM data sets and sequential files containing multiple record types. As a result, PWXPC connections process data faster than PowerExchange ODBC connections and reduce PowerExchange resource consumption on the source or extraction platform. For more information about group source, see PowerExchange Group Source on page 71.
PowerExchange Client for PowerCenter 5

Table 1-3 lists the PowerExchange database types that read sources in a single pass during extraction:
Table 1-3. Group Source Usage by PowerExchange Database Type
Database Type Adabas Datacom DB2 for z/OS DB2 for i5/OS DB2 for Linux, UNIX, and Windows IDMS IMS MSSQL Oracle Sequential files Sybase VSAM Batch Extraction Mode No No No No No No No No No Yes No Yes CDC Real Time Extraction Mode Yes Yes Yes Yes Yes Yes Yes Yes Yes No No Yes CDC Batch Extraction Mode Yes Yes Yes Yes No Yes Yes No Yes No No Yes CDC Continuous Extraction Mode No No No No No No No No Yes No No No

Batch Mode
Use PWX batch application and relational connections to extract and load data for relational databases and non-relational data sets and files through PowerExchange. PWXPC connects to PowerExchange using the PowerExchange Call Level Interface (SCLI). You can extract all records in multiple record types from VSAM and sequential files with a single pass of the data using PWXPC. In contrast, ODBC connections read a single record type at a time requiring multiple passes of the data.

Chapter 1: Understanding PowerExchange Interfaces for PowerCenter

The following diagram shows the data flow of source data from PowerExchange through PWXPC and PowerCenter to the target tables:
Figure 1-1. PWXPC Batch Extraction Mode Data Flow

CDC Batch and Continuous Extraction Modes


PowerExchange Condense captures changes for relational tables and non-relational data sets and files from the change stream and writes the changed data to condense files. The change stream contains the source data changes in time sequence order. As a result, the changes in a single unit of work are not contiguous in the change stream. The UOW Cleanser reconstructs the units of work into complete and consecutive units of work based on transaction end time. PowerExchange Condense writes the reconstructed units of work to condense files after which you can use extract the changed data. PWXPC extracts changed data from PowerExchange condense files in two different modes:

Batch extraction mode from condense files. Use PWX CDC Change connections to extract changed data from condense files in batch extraction mode. PWXPC uses the PowerExchange CAPX access method when processing data with CDC Change connections. PowerExchange stops the extraction after the data from all condense files is read. Continuous extraction mode from condense files. Use PWX CDC Real Time connections for Oracle sources to extract changed data from condense files in continuous extraction mode. PWXPC uses the PowerExchange CAPXRT access method when

PowerExchange Client for PowerCenter

processing data with CDC Real Time connections. PowerExchange runs the extraction until stopped. See the PowerExchange Oracle Adapter Guide for more information. PWXPC connects to PowerExchange using the PowerExchange Call Level Interface (SCLI). PowerExchange reads the changed data from each condense file once for all sources in the mapping in a single pass. The following diagram shows the data flow of condensed changed data from PowerExchange through PWXPC and PowerCenter to the target tables:
Figure 1-2. PWXPC Change Mode Extraction Data Flow

CDC Real-time Extraction Mode


You can extract changed data for relational tables and non-relational data sets and files directly from the change stream in real-time. The change stream contains the source data changes in time sequence order. As a result, the changes in a single unit of work are not contiguous in the change stream. The UOW Cleanser reconstructs the units of work into complete and consecutive units of work based on transaction end time. The UOW Cleanser is incorporated into UDB and SQL Server CDC but is a separate task for all other PowerExchange CDC sources. Use PWX CDC Real Time application connections to extract changed data for relational tables or non-relational data sets and files directly from the change stream. PWXPC connects to PowerExchange using the PowerExchange Call Level Interface (SCLI) and specifying the PowerExchange CAPXRT access method. PowerExchange reads the changed data from the

Chapter 1: Understanding PowerExchange Interfaces for PowerCenter

change stream for all sources in the mapping in a single pass. PWXPC real-time sessions run for a specified period or continuously until stopped. The following diagram shows the data flow of changed data from PowerExchange through PWXPC and PowerCenter to the target tables:
Figure 1-3. PWXPC Real-time Mode Extraction Data Flow

PowerExchange Client for PowerCenter

PowerExchange ODBC
PowerExchange provides a thin ODBC driver that you can use with PowerCenter. The Integration Service uses PowerExchange ODBC to connect to PowerExchange either locally or remotely. Using PowerExchange ODBC, you can extract and load relational and nonrelational data. You can also extract changed data. Use the following modes to extract relational and non-relational data:

Batch. PowerExchange ODBC extracts and loads data from a relational table or nonrelational file through PowerExchange. You can read multiple record VSAM data sets and sequential files using the ODBC interface with multiple passes of the data to read all record types. Change Data Capture (CDC) batch extraction mode from condense files. PowerExchange ODBC extracts changed data from condense files through PowerExchange reading all of the changes captured in condense files since the last extraction session. PowerExchange ODBC reads the changed data once for each source in the mapping resulting in multiple passes of the condense files. The extraction session ends when all captured changes are read. PowerExchange maintains restart information in the CDEP file on the source machine. PowerExchange ODBC has limited restart capability. Change Data Capture (CDC) Real-time. PowerExchange ODBC extracts changed data in real time from the change stream using one pass of the data for each source in the mapping. You can run real-time extractions for a specified time period or continuously until stopped. PowerExchange maintains restart information in the CDEP file on the source machine. PowerExchange ODBC has limited restart capability.

Table 1-4 shows the PowerExchange ODBC extract and load capabilities:
Table 1-4. PowerExchange ODBC Extract and Load Capabilities
Database Type Adabas Datacom DB2 for z/OS DB2 for i5/OS DB2 for Linux, UNIX, and Windows IDMS IMS MSSQL Oracle Sequential/flat files Batch Mode Extract Yes Yes Yes Yes Yes Yes Yes No No Yes Batch Mode Load Yes No Yes Yes Yes No Yes Yes Yes Yes CDC Batch Extraction Mode Yes Yes Yes Yes No Yes Yes No Yes No CDC Real-time Extraction Mode Yes Yes Yes Yes Yes Yes Yes Yes Yes No

10

Chapter 1: Understanding PowerExchange Interfaces for PowerCenter

Table 1-4. PowerExchange ODBC Extract and Load Capabilities


Database Type VSAM Batch Mode Extract Yes Batch Mode Load Yes* CDC Batch Extraction Mode Yes CDC Real-time Extraction Mode Yes

* With ESDS and RRDS VSAM datasets, only inserts are allowed. Inserts, updates, and deletes are allowed for KSDS VSAM data sets.

PowerExchange ODBC

11

12

Chapter 1: Understanding PowerExchange Interfaces for PowerCenter

Part 2: PowerExchange Client for PowerCenter


This part contains the following chapters:

Installing PWXPC, 15 Working with Mappings, 21 Configuring Connections, 79 Working with Sessions, 127 Restart and Recovery, 149 Flexible Key Custom Transformation, 177

13

14

Part 2: PowerExchange Client for PowerCenter

Chapter 2

Installing PWXPC

This chapter includes the following topics:


Overview, 16 Installing PowerExchange Client for PowerCenter (PWXPC), 17 Modifying the PowerExchange Configuration Files, 18 Working with PowerExchange and PowerExchange Client for PowerCenter, 20

15

Overview
This chapter describes how to install and configure PowerExchange Client for PowerCenter (PWXPC).

Before You Begin


PowerExchange Client for PowerCenter (PWXPC) is a native PowerCenter plug-in that is installed with PowerCenter. To use PWXPC, you must install the following products:

PowerCenter 8.5.1. This includes the PWXPC plug-in. For more information about installing PowerCenter, see the PowerCenter Installation Guide. PowerExchange 8.5.1. Install PowerExchange on the PowerCenter Client and Integration Service machines. For more information about installing PowerExchange see the PowerExchange Installation Guide.

If you install the PowerCenter Integration Service on a 32-bit machine, install the 32-bit version of PowerExchange on the same machine. If you install the Integration Service on a 64-bit machine, install the 64-bit version of PowerExchange on the same machine. PowerExchange Navigator is a 32-bit application. You can use a 32-bit PowerCenter Client and PowerExchange Navigator to communicate with a 64-bit version of either product.
Note: If the appropriate version of PowerExchange is not installed and available on the

PowerCenter Client platform, the Import from PowerExchange dialog box will not function.

16

Chapter 2: Installing PWXPC

Installing PowerExchange Client for PowerCenter (PWXPC)


To use PWXPC, PowerExchange must be installed on the node where the PowerCenter Integration Service executes as well as on PowerCenter Client platforms.

Installation Steps
The PowerExchange Client for PowerCenter (PWXPC) is installed when you install PowerCenter on the client and Integration Service machines. You must still configure PowerExchange configuration files on the Integration Service node. To configure PowerExchange Client for PowerCenter for use on the PowerCenter Integration Service and Client, you must add NODE statements in the PowerExchange dbmover.cfg file on the PowerCenter Client and Integration Service machines for those PowerExchange Listeners to which you wish to connect. See Modifying the PowerExchange Configuration Files on page 18. Read the Release Notes and PowerExchange Migration Guide for any changes to installation or connectivity.

Upgrading
When upgrading from a previous release of PowerCenter, you must perform a repository upgrade. This process registers the PWXPC plug-in. No repository upgrade is necessary if upgrading from 8.5 to 8.5.1. When upgrading from PowerCenter 8.1.1 SP2 (or any higher 8.1.1 Service Pack) and using enhanced restart for CDC sessions, do the following:
Upgrading for PWXPC enhanced restart users: 1.

Prior to migrating to PowerCenter 8.5.x, cleanly shutdown all CDC sessions and run recovery on all CDC sessions. PWXPC creates a backup restart token file with a timestamp appended. Save this file. As a precaution, backup the relational tables which are targets in the CDC sessions. Also backup the PowerCenter recovery tables. After completing the migration to PowerCenter 8.5.x, copy the backup restart token files PWXPC created to the appropriate restart token file for each CDC session. This ensures that the restart token files contain the restart points from the point of interruption on the previous release. Cold start the session so PWXPC uses only the newly populated restart token file to restart the CDC session.

2. 3.

4.

Installing PowerExchange Client for PowerCenter (PWXPC)

17

Modifying the PowerExchange Configuration Files


You must define nodes for the PowerExchange Listeners in the PowerExchange configuration file (dbmover.cfg) on the Integration Service and Client machines. The NODE statements specify the communication information that PowerExchange uses to communicate with Listeners that access the source or target databases or files.
Note: You can also use PowerExchange local mode if the data resides on the same machine as

the Integration Service. In local mode, a PowerExchange Listener is not required. If local mode is used, there is no need to update to the PowerExchange dbmover.cfg file. Specify local in the Location attribute in PWXPC connections.

Adding PowerExchange Nodes on the PowerCenter Client Machine


PWXPC connects to a PowerExchange Listener to import source and target definitions. PWXPC retrieves the metadata from the machine indicated in the NODE statement, or locally if using local mode. Update the dbmover.cfg file on the PowerCenter Client machine to provide the appropriate NODE statements for the PowerExchange Listeners to which you need to connect. See Configuration File Parameters in the PowerExchange Reference Manual for information about how to specify the NODE statement in the dbmover.cfg file. The nodes you add to the dbmover.cfg file are specified in the Location field in Import from PowerExchange dialog box.

Adding PowerExchange Nodes on the Integration Service Machine


PWXPC connects to the appropriate PowerExchange Listener to extract data from a source or load data to a target. Update the dbmover.cfg file on the Integration Service machine to provide the appropriate NODE= statements for the PowerExchange Listeners to which you need to connect. For information about how to specify the NODE statement in dbmover.cfg, see the Configuration File Parameters chapter in PowerExchange Reference Manual. The nodes you add to the dbmover.cfg file on the Integration Service machine are specified in the Location value of the PWXPC connections.

Adding PowerExchange Nodes in the dbmover.cfg File


Use the following procedure to add PowerExchange nodes in the dbmover.cfg file.
To add PowerExchange nodes in the dbmover.cfg file: 1. 2.

Locate the dbmover.cfg file in the PowerExchange root directory. Open the file with a text editor.

18

Chapter 2: Installing PWXPC

3.

Create a node for each PowerExchange Listener you want to register using the following guidelines:
NODE=(<node name>,TCPIP,<hostname>,<port_number>)

where <node name> is a logical name used to reference the PowerExchange Listener and <hostname> and <port_number> are the host name (or IP address) and port number of the PowerExchange Listener.
4.

Save your changes.

The following example shows several nodes in a dbmover.cfg file:


/********************************************************************/ /* PowerExchange Configuration File /********************************************************************/ NODE=(AS400_DB2,TCPIP,AS400_1,2480) NODE=(MVS1_VSAM,TCPIP,MVS1,5539) NODE=(MVS2_DB2,TCPIP,10.3.4.5,5538)

For more information, see Configuration File Parameters in the PowerExchange Reference Manual.

Modifying the PowerExchange Configuration Files

19

Working with PowerExchange and PowerExchange Client for PowerCenter


You can use different versions of PowerExchange with PWXPC provided the PowerExchange version and release are equal to or higher than that of PowerCenter. In this environment, exploitation of new functionality is limited but existing functionality continues to operate. Table 2-1 indicates the combinations of PowerCenter and PWXPC that you can use with PowerExchange for migration purposes:
Table 2-1. Valid Version Combinations for PowerExchange and PWXPC
PowerCenter / PowerExchange Client for PowerCenter 7.1.0 5.2.0 5.2.1 5.2.2 8.0.0 8.1.0 PowerExchange 8.1.1 8.5.0 8.5.1 No No No No No No No No 7.1.1 Yes1 Yes Yes No No No No No 7.1.2 No No Yes 2 No No No No No 7.1.3 No No Yes3 Yes4 Yes4 Yes4 Yes4 Yes4 7.1.4 No No Yes 3 Yes 4 Yes 4 Yes 4 Yes 4 Yes 4 7.1.5 No No Yes3 Yes4 Yes4 Yes4 Yes4 Yes4 8.0.0 No No No Yes Yes Yes Yes Yes 8.1.0 No No No No Yes Yes Yes Yes 8.1.1 No No No No No Yes Yes Yes 8.5.0 No No No No No No Yes Yes 8.5.1 No No No No No No No Yes

1. Support for PWXPC V7.1.1 was introduced with PowerExchange V5.2.0 Patch 02 2. Support for PWXPC V7.1.2 was introduced with PowerExchange V5.2.2 Patch 01 3. Support for PWXPC V7.1.3 was introduced with PowerExchange V5.2.2 Patch 02 is the minimum level required for V71.4 and V7.1.5. 4. See Using Versions of PowerCenter Earlier than v8.x with PowerExchange v8.x in PowerExchange Migration Guide.

20

Chapter 2: Installing PWXPC

Chapter 3

Working with Mappings

This chapter includes the following topics:


Overview, 22 Source and Target Definitions, 23 Working with Relational Source and Target Definitions, 25 Working with Non-Relational Source and Target Definitions, 43 Working with Extraction Map Definitions, 57 Previewing PowerExchange Data in Designer, 63 PowerExchange Group Source, 71 Working with Source Qualifiers, 75 Using Lookup Transformations, 76

21

Overview
A mapping is a set of source and target definitions linked by transformation objects that define the rules for data transformation. Mappings represent the data flow between sources and targets. Source and target definitions represent metadata for sources and targets. When you create a source definition, its structure differs depending on the type of source it represents. Nonrelational sources require a multi-group source definition. Relational sources use a singlegroup source definition. The source qualifier for a source definition also differs in structure depending on type of source definition. After you create a source or target definition, you can include it in a mapping to extract data from the source or load data to the target. You can extract source data in batch, change, or real-time mode. For a list of sources and targets that PowerExchange Client for PowerCenter supports, see Table 1-2 on page 5. This table also lists whether the Integration Service can read the source data in batch, change, or real-time mode. With CDC mappings, it is generally necessary to have multiple mappings: a batch mapping to materialize the target tables from the source tables in preparation for CDC and the CDC mapping itself which then uses extraction map sources for the source tables. To minimize the effort in creating these mappings, create any business rules applicable to both the batch and CDC sessions in Mapplets. For more information about Mapplets, see the PowerCenter Designer Guide.

22

Chapter 3: Working with Mappings

Source and Target Definitions


Both relational and non-relational sources and targets can be imported using the PowerCenter Designer.
Figure 3-1. Import from PowerExchange

This displays the Import from PowerExchange dialog box. The process and the dialog box displayed is the same for targets.

Source and Target Definitions

23

Figure 3-2 shows the dialog box used to import all PowerExchange sources and targets, including relational metadata, PowerExchange data maps, and PowerExchange capture extraction maps:
Figure 3-2. Import from PowerExchange - Source

Additional input fields appear depending upon the Source Type chosen. You create the source and target definitions differently depending on the database type. After you create a source or target definition, you can edit it.
Note: The Owner name is included in the source definitions for relational metadata and in the

source and target definitions for PowerExchange data maps imported using this dialog. This information is used, unless overridden, when the source or target is accessed from the Integration Service node. This eliminates the need to provide the Owner Name attribute in the Session Properties for all source types and Table Name Prefix attribute in the Session Properties for non-relational PowerExchange targets.

24

Chapter 3: Working with Mappings

Working with Relational Source and Target Definitions


With PowerExchange Client for PowerCenter, you can create source definitions to read from, and target definitions to write to, the following relational databases:

DB2 UDB for z/OS (DB2/390) DB2 UDB for iSeries (DB2/400) DB2 for Linux, UNIX, and Windows (DB2/UDB) Microsoft SQL Server Oracle Sybase

Working with DB2 Definitions


You can create a DB2 source definition in the following ways:

Import table definitions from the DB2 catalog using PowerExchange. Import DB2 or DB2 unload (DB2UNLD) data map definitions from PowerExchange. For more information, see Importing Non-Relational Source Definitions on page 44. Import extraction map definitions for PowerExchange. For more information, see Working with Extraction Map Definitions on page 57. Manually create a DB2 definition. Import table definitions from the DB2 catalog using PowerExchange. Manually create a DB2 definition. Create a DB2 target definition from a DB2 source definition. In the Target Designer, drag a DB2 source definition to the workspace.

You can create a DB2 target definition in the following ways:


See the PowerCenter Designer Guide for more information about using PowerCenter to create source and target definitions.
Tip: If your repository already contains DB2 definitions, you can use them to extract data

from or load data to a DB2 table. However, the metadata definition must match the table structure of the DB2 table.

Importing a DB2 Relational Source or Target Definition


You can connect to a DB2 database through a PowerExchange Listener, or locally without a Listener, to import DB2 metadata. When you connect to the database, the Designer displays database schemas and tables. Before you connect to the database, you can filter the metadata the Designer displays by schema and/or table name. Select a table to create the source or target definition. When you import a DB2 (390, 400, or UDB) source or target definition through a PowerExchange Listener (or locally), the Designer imports the primary keys.

Working with Relational Source and Target Definitions

25

DB2 tables that are mapped in PowerExchange as either DB2 data maps or DB2UNLD (DB2 database unload data set) data maps (DB2/390 only) are imported in the same manner as non-relational data map sources. For more information on how to import these sources, see Importing Non-Relational Source Definitions on page 44. Use the following procedure to import DB2/390, DB2/400, and DB2/UDB source or target definitions.
To import a DB2/390, DB2/400 or DB2/UDB source or target definition: 1.

To import a DB2 source definition, select Sources > Import from PowerExchange and select a source type of DB2390, DB2400, or DB2UDB. To import a DB2 target definition, select Targets > Import from PowerExchange and select a source type of DB2390, DB2400, or DB2UDB. The dialog box for a DB2/390 source definition import looks as follows:
Figure 3-3. Import from PowerExchange - DB2/390 Source

The target dialog box looks similar but does not contain the Multi-Record Datamaps and CDC Datamaps options.

26

Chapter 3: Working with Mappings

The dialog box for a DB2/400 or a DB2/UDB source looks as follows:


Figure 3-4. Import from PowerExchange - DB2/400 or DB2/UDB Source

The target dialog box looks similar but does not contain the Multi-Record Datamaps and CDC Datamaps options.
2.

Enter the following connection information:


Attribute Location Required/ Optional Required Description Name of the PowerExchange Listener (Node name from PowerExchange dbmover.cfg) on the system on which the database resides. User name for the database you want to connect to. Password associated with the User name. Select to list multi-record data maps. SEQ or VSAM sources only. DB2390, DB2400, or DB2UDB. Select to list CDC extraction maps - source only. Name of the subsystem for connection. DB2390 only.

User Name Password Multi-Record Datamaps Source Type CDC Datamaps Subsystem Id

Required Required N/a Required N/a Required

Working with Relational Source and Target Definitions

27

Attribute Database Name Schema Map name 3.

Required/ Optional Required Optional Optional

Description Name of the database for connection. DB2400 and DB2UDB only. Enter a schema name to filter the resulting data maps. Enter a table name to filter the resulting data maps.

Optionally, enter a filter to view particular schemas and tables from the database. Enter a schema and/or table name. Or, enter a filter condition to display schemas and/or tables that meet the filter condition. Use one of the following wildcard characters in the filter condition:

* (asterisk). Represents one or more characters. ? (question mark). Represents one character. Enter the filter condition as a prefix. For example, enter A* to display schemas and/or tables that begin with an A. Enter the filter condition as a suffix. For example, enter *A to display schemas and/or tables that end with an A. Enter the filter condition as a substring. For example, enter *cust* to display schemas and/or tables that contain cust.

Use the following syntax when entering a wildcard character:


Note: Schema and table names are not case sensitive.


4.

Click Connect. The available tables, based on the values specified in the dialog box, will appear in the Selected Datamaps list. If no tables are found, No Data Found will appear in the Selected Datamaps list.

28

Chapter 3: Working with Mappings

The Designer displays metadata to import.


Figure 3-5. Import from PowerExchange - DB2390 Select Datamaps List

Schema

Table

5.

Select the table you want to import.


Hold down the Shift key to select blocks of tables. Hold down the Ctrl key to make non-contiguous selections within a schema. Use the Select all button to select all tables. Use the Select none button to clear all highlighted selections.

6.

Click OK. The source or target definition appears in the workspace.

Working with Microsoft SQL Server Definitions


You can create a Microsoft SQL Server source definition in the following ways:

Import table definitions from Microsoft SQL Server using PowerExchange. Import extraction map definitions from PowerExchange. For more information, see Working with Extraction Map Definitions on page 57.

Working with Relational Source and Target Definitions

29

Import table definitions from Microsoft SQL Server using the PowerCenter ODBC interface. Manually create a Microsoft SQL definition. Import table definitions from Microsoft SQL Server using PowerExchange. Import table definitions from Microsoft SQL Server using the PowerCenter ODBC interface. Manually create a Microsoft SQL definition.

You can create a Microsoft SQL Server target definition in the following ways:

See the PowerCenter Designer Guide for more information about using PowerCenter to create source and target definitions.
Tip: If your repository contains Microsoft SQL Server definitions, you can use them to extract

data from or load data to a Microsoft SQL Server table. However, the metadata definition must match the table structure of the Microsoft SQL Server table.

Importing a Microsoft SQL Server Relational Source or Target Definition


You can connect to a Microsoft SQL Server database through a PowerExchange Listener, or locally without a Listener, to import SQL Server metadata. When you connect to the database, the Designer displays database schemas and tables. Before you connect to the database, you can filter the metadata the Designer displays by schema and/or table name. Select a table to create the source or target definition. When you import a Microsoft SQL Server definition through a PowerExchange Listener or locally, the Designer imports the primary keys. Use the following procedure to import Microsoft SQL Server source or target definitions.
To import a Microsoft SQL Server source or target definition: 1.

To import a Microsoft SQL Server source definition, select Sources > Import from PowerExchange and select a source type of MSSQL. To import a Microsoft SQL Server target definition, select Targets > Import from PowerExchange and select a source type of MSSQL.

30

Chapter 3: Working with Mappings

The dialog box for the Microsoft SQL Server source definition input looks as follows:
Figure 3-6. Import from PowerExchange - Microsoft SQL Server Source

The target dialog box looks similar but does not contain the Multi-Record Datamaps and CDC Datamaps options.
2.

Enter the following connection information:


Attribute Location Required/ Optional Required Description Name of the PowerExchange Listener (Node name from PowerExchange dbmover.cfg) on the system on which the database resides. User ID for connection to the database. Password associated with the User ID. Select to list multi-record data maps. SEQ or VSAM sources only. MSSQL. Select to list CDC extraction maps - source only SQL Server instance name.

User Name Password Multi-Record Datamaps Source Type CDC Datamaps Server Name

Required Required N/a Required N/a Required

Working with Relational Source and Target Definitions

31

Attribute Database Name Schema Map name 3.

Required/ Optional Required Optional Optional

Description Database name in the SQL instance specified. Enter a schema name to filter the resulting data maps. Enter a table name to filter the resulting data maps.

Optionally, enter a filter to view particular schemas and tables from the database. Enter a schema and/or table name. Or, enter a filter condition to display schemas and/or tables that meet the filter condition. Use one of the following wildcard characters in the filter condition:

* (asterisk). Represents one or more characters. ? (question mark). Represents one character. Enter the filter condition as a prefix. For example, enter A* to display schemas and/or tables that begin with an A. Enter the filter condition as a suffix. For example, enter *A to display schemas and/or tables that end with an A. Enter the filter condition as a substring. For example, enter *cust* to display schemas and/or tables that contain cust.

Use the following syntax when entering a wildcard character:


Note: Schema and table names are not case sensitive.


4.

Click Connect. The available tables, based on the values specified in the dialog box, will appear in the Selected Datamaps list. If no tables are found, No Data Found will appear in the Selected Datamaps list.

32

Chapter 3: Working with Mappings

The Designer displays metadata to import.


Figure 3-7. Import from PowerExchange - MSSQL Select Datamaps List

Schema

Table

5.

Select the table you want to import.


Hold down the Shift key to select blocks of tables. Hold down the Ctrl key to make non-contiguous selections within a schema. Use the Select all button to select all tables. Use the Select none button to clear all highlighted selections.

6.

Click OK. The source or target definition appears in the workspace.

Working with Oracle Definitions


You can create an Oracle source definition in the following ways:

Import table definitions from Oracle using PowerExchange. Import extraction map definitions from PowerExchange. For more information, see Working with Extraction Map Definitions on page 57.

Working with Relational Source and Target Definitions

33

Import table definitions from Oracle using the PowerCenter ODBC interface. Manually create an Oracle source definition. Import table definitions from Oracle using PowerExchange. Import table definitions from Oracle using the PowerCenter ODBC interface. Manually create an Oracle source definition. F

You can create an Oracle target definition in the following ways:


See the PowerCenter Designer Guide for more information about using PowerCenter to create source and target definitions.
Tip: If your repository contains Oracle definitions, you can use them to extract data from or

load data to an Oracle table. However, the metadata definition must match the table structure of the Oracle table.

Importing a Oracle Relational Source or Target Definition


You can connect to an Oracle database through a PowerExchange Listener, or locally without a Listener, to import Oracle metadata. When you connect to the database, the Designer displays database schemas and tables. Before you connect to the database, you can filter the metadata the Designer displays by schema and/or table name. Select a table to create the source or target definition. When you import an Oracle source definition through a PowerExchange Listener, the Designer imports the primary keys. Use the following procedure to import Oracle source or target definitions.
To import an Oracle source or target definition: 1.

To import an Oracle source definition, select Sources > Import from PowerExchange and select a source type of Oracle. To import an Oracle target definition, select Targets > Import from PowerExchange and select a source type of Oracle.

34

Chapter 3: Working with Mappings

The Import from PowerExchange > Oracle dialog box looks as follows:
Figure 3-8. Import from PowerExchange - Oracle Source

The target dialog box looks similar but does not contain the Multi-Record Datamaps and CDC Datamaps options.
2.

Enter the following connection information:


Attribute Location Required/ Optional Required Description Name of the PowerExchange Listener (Node name from PowerExchange dbmover.cfg) on the system on which the database resides. User name for the database connecting to. Password associated with the user name. Select to list multi-record data maps. SEQ or VSAM sources only. ORACLE. Select to list CDC extraction maps - source only. Oracle SID (instance name).

User Name Password Multi-Record Datamaps Source Type CDC Datamaps TNS Name

Required Required N/a Required N/a Required

Working with Relational Source and Target Definitions

35

Attribute Schema Map name 3.

Required/ Optional Optional Optional

Description Enter a schema name to filter the resulting data maps. Enter a table name to filter the resulting data maps.

Optionally, enter a filter to view particular schemas and tables from the database. Enter a schema and/or table name. Or, enter a filter condition to display schemas and/or tables that meet the filter condition. Use one of the following wildcard characters in the filter condition:

* (asterisk). Represents one or more characters. ? (question mark). Represents one character. Enter the filter condition as a prefix. For example, enter A* to display schemas and/or tables that begin with an A. Enter the filter condition as a suffix. For example, enter *A to display schemas and/or tables that end with an A. Enter the filter condition as a substring. For example, enter *cust* to display schemas and/or tables that contain cust.

Use the following syntax when entering a wildcard character:


Note: Schema and table names are not case sensitive.


4.

Click Connect. The available tables, based on the values specified in the dialog box, will appear in the Selected Datamaps list. If no tables are found, No Data Found will appear in the Selected Datamaps list.

36

Chapter 3: Working with Mappings

The Designer displays metadata to import.


Figure 3-9. Import from PowerExchange - Oracle Select Datamaps List

Schema

Table

5.

Select the table you want to import.


Hold down the Shift key to select blocks of tables. Hold down the Ctrl key to make non-contiguous selections within a schema. Use the Select all button to select all tables. Use the Select none button to clear all highlighted selections.

6.

Click OK. The source or target definition appears in the workspace.

Working with Sybase Definitions


You can create a Sybase source definition in the following ways:

Import table definitions from Sybase using PowerExchange. Import table definitions from Sybase using the PowerCenter ODBC interface. Manually create an Sybase source definition.

Working with Relational Source and Target Definitions

37

You can create an Sybase target definition in the following ways:


Import table definitions from Sybase using PowerExchange. Import table definitions from Sybase using the PowerCenter ODBC interface. Manually create an Sybase target definition.

See the PowerCenter Designer Guide for more information about using PowerCenter to create source and target definitions.
Tip: If your repository already contains Sybase definitions, you can use them to extract data

from a Sybase source. However, the metadata definition must match the table structure of the Sybase table.

Importing a Sybase Relational Source or Target Definition


You can connect to an Sybase database through a PowerExchange Listener, or locally without a Listener, to import Sybase metadata. When you connect to the database, the Designer displays database schemas and tables. Before you connect to the database, you can filter the metadata the Designer displays by schema and/or table name. Select a table to create the source or target definition. When you import an Sybase source definition through a PowerExchange Listener, the Designer imports the primary keys. Use the following procedure to import Sybase source or target definitions.
To import an Sybase source or target definition: 1.

To import an Sybase source definition, select Sources > Import from PowerExchange and select a source type of Sybase. To import an Sybase target definition, select Targets > Import from PowerExchange and select a source type of Sybase.

38

Chapter 3: Working with Mappings

The Import from PowerExchange > Sybase dialog box looks as follows:
Figure 3-10. Import from PowerExchange - Sybase Source

2.

Enter the following connection information:


Attribute Location Required/ Optional Required Description Name of the PowerExchange Listener (Node name from PowerExchange dbmover.cfg) on the system on which the database resides. User name for the database connecting to. Password associated with the user name. Select to list multi-record data maps. SEQ or VSAM sources only. SYBASE. Select to list CDC extraction maps. N/A for Sybase. Sybase Server Name. Sybase Database Name.

User Name Password Multi-Record Datamaps Source Type CDC Datamaps Server Name Database Name

Required Required N/A Required N/A Required Required

Working with Relational Source and Target Definitions

39

Attribute Schema Map name 3.

Required/ Optional Optional Optional

Description Enter a schema name to filter the resulting data maps. Enter a table name to filter the resulting data maps.

Optionally, enter a filter to view particular schemas and tables from the database. Enter a schema and/or table name. Or, enter a filter condition to display schemas and/or tables that meet the filter condition. Use one of the following wildcard characters in the filter condition:

* (asterisk). Represents one or more characters. ? (question mark). Represents one character. Enter the filter condition as a prefix. For example, enter A* to display schemas and/or tables that begin with an A. Enter the filter condition as a suffix. For example, enter *A to display schemas and/or tables that end with an A. Enter the filter condition as a substring. For example, enter *cust* to display schemas and/or tables that contain cust.

Use the following syntax when entering a wildcard character:


Note: Schema and table names are not case sensitive.


4.

Click Connect. The available tables, based on the values specified in the dialog box, will appear in the Selected Datamaps list. If no tables are found, No Data Found will appear in the Selected Datamaps list.

40

Chapter 3: Working with Mappings

The Designer displays metadata to import.


Figure 3-11. Import from PowerExchange - Sybase Select Datamaps List

Schema

Table

5.

Select the table you want to import.


Hold down the Shift key to select blocks of tables. Hold down the Ctrl key to make non-contiguous selections within a schema. Use the Select all button to select all tables. Use the Select none button to clear all highlighted selections.

6.

Click OK. The source or target definition appears in the workspace.

Editing Relational Source and Target Definitions


You can edit relational source and target definition to make minor changes to the definition. For example, you can:

Modify column names. Modify column data types. Add or delete columns.

Working with Relational Source and Target Definitions

41

Modify column key relationships. Add a description of the definition.

Note: If using the relational source in a CDC session you do not need to add the

DTL__CAPXACTION field nor do you need to include an Update Strategy transformation. PWXPC will automatically include the DTL__CAPXACTION column in its SELECT statement for CDC sources. It then uses the value of the DTL__CAPXACTION to construct the appropriate SQL statement (INSERT, UPDATE, or DELETE). For more information about editing source and target definitions, see the PowerCenter Designer Guide.

42

Chapter 3: Working with Mappings

Working with Non-Relational Source and Target Definitions


With PowerExchange Client for PowerCenter, you can create source definitions to read from, and target definitions to write to, the following non-relational data types:

Adabas Datacom - source only DB2 data maps (DB2MAP) - source only DB2/390 unload files (DB2UNLD) - source only IDMS - source only IMS SEQ VSAM

You can create a non-relational source and target definitions by importing a data map from a PowerExchange Listener. Non-relational definitions represent the data map metadata in groups. Each group represents a table in the data map. Each group also contains metadata for the fields in the table. The following diagram shows a non-relational source definition for a VSAM data map that contains multiple tables representing multiple records in the VSAM file. The tables in the VSAM data map are represented as groups in the source definition:
Figure 3-12. Non-Relational Source Definition with Multiple Records

A group represents a table in the PowerExchange data map.

Group name

Working with Non-Relational Source and Target Definitions

43

In this example, the source definition contains four groups: V07A_RECORD_LAYOUT, V07B_RECORD_LAYOUT, V07C_RECORD_LAYOUT and V07D_RECORD_LAYOUT. These groups are tables in the data map. The groups contain metadata for the fields in the tables. Some data maps contain records that have hierarchical relationships with each other. For example, records can have a parent/child relationships. When you import data maps with hierarchies, the Designer imports the data map as a single group.

Importing Non-Relational Source Definitions


You can connect to PowerExchange locally or to a PowerExchange Listener to import a nonrelational source definition or a data mapped DB2 definition. When you connect to PowerExchange, the Designer displays data map schemas and tables for the source type specified. Before you connect to PowerExchange, you can filter the metadata the Designer displays by schema and/or data map name. Select a data map to create the source definition. The same procedure is used to import multi-record data maps (VSAM and sequential). Select the Multi-Record Datamaps box on the Import dialog box to import multi-record data maps. You can use the following procedure to import multi-record (VSAM and sequential only) or single record data map source definitions.

44

Chapter 3: Working with Mappings

To import a non-relational source definition: 1.

To import a non-relational source definition, select Sources > Import from PowerExchange and select the desired source type. The dialog box and parameters displayed are the same for each non-relational source type. The Import from PowerExchange dialog box looks as follows:
Figure 3-13. Import from PowerExchange - Non-Relational Source

2.

Enter the following connection information:


Attribute Location Required/ Optional Required Description Name of the PowerExchange Listener (Node name from PowerExchange dbmover.cfg) on the system on which the database resides. User name for the database to connect to. Password associated with the User name. Select to list multi-record data maps. SEQ or VSAM sources only. Select one of the following source types: ADABAS, DATACOM, DB2MAP, DB2UNLD, IDMS, IMS, SEQ, or VSAM.

User Name Password Multi-Record Datamaps Source Type

Required Required Optional Required

Working with Non-Relational Source and Target Definitions

45

Attribute CDC Datamaps Schema Map name Selected Datamaps

Required/ Optional n/a Optional Optional n/a

Description Select to list CDC extraction maps - source only. Enter a schema name to filter the resulting data maps. Enter a data map name to filter the resulting data maps. Lists the available data maps for the connection, database and filter details that you entered.

3.

Optionally, enter a filter to view particular schemas and tables from the database. Enter a schema and/or table name. Or, enter a filter condition to display schemas and/or tables that meet the filter condition. Use one of the following wildcard characters in the filter condition:

* (asterisk). Represents one or more characters. ? (question mark). Represents one character. Enter the filter condition as a prefix. For example, enter A* to display schemas and/or tables that begin with an A. Enter the filter condition as a suffix. For example, enter *A to display schemas and/or tables that end with an A. Enter the filter condition as a substring. For example, enter *cust* to display schemas and/or tables that contain cust.

Use the following syntax when entering a wildcard character:


Note: Schema and table names are not case sensitive.


4.

Click Connect. The available data maps appear in the Selected Datamaps list. The Designer displays metadata to import. The following two examples show the results when single record VSAM data maps and multi-record VSAM data maps are selected. Each record in the multi-record data map will display in Selected Datamaps list when importing single record data maps. Each record in a multi-record data map is effectively a single record data map. It is possible to import only a single record within a multi-record data map as a source.

46

Chapter 3: Working with Mappings

This example shows the results for single record VSAM data maps:
Figure 3-14. Import from PowerExchange - Single Record Source Data Maps

Schema

Table

Working with Non-Relational Source and Target Definitions

47

This example shows the results for multi-record VSAM data maps:
Figure 3-15. Import from PowerExchange - Multiple Record Source Data Maps

Schema Table

5.

Select the data map you want to import.


Hold down the Shift key to select blocks of tables. Hold down the Ctrl key to make non-contiguous selections within a data map. Use the Select all button to select all tables. Use the Select none button to clear all highlighted selections.

6.

Click OK. The source definitions appear. The Designer uses the data map name as the name of the source definition.

Importing Non-Relational Target Definitions


You can connect to PowerExchange locally or to a PowerExchange Listener to import a nonrelational target definition. When you connect to PowerExchange, the Designer displays data map schemas and tables for the target type specified. Before you connect to PowerExchange, you can filter the metadata the Designer displays by schema and/or data map name. Select a data map to create the source definition.

48

Chapter 3: Working with Mappings

To import a non-relational target definition: 1.

To import a non-relational target definition, select Targets > Import from PowerExchange and select the desired target type. The dialog box and parameters displayed are the same for each non-relational source type. The Import from PowerExchange dialog box for targets looks as follows:
Figure 3-16. Import from PowerExchange - Non-Relational Target

2.

Enter the following connection information:


Attribute Location Required/ Optional Required Description Name of the PowerExchange Listener (Node name from PowerExchange dbmover.cfg) on the system on which the database resides. User name for the database to connect to. Password associated with the User name. Select one of the following source types: ADABAS, IMS, SEQ, or VSAM. Enter a schema name to filter the resulting data maps.

User Name Password Source Type Schema

Required Required Required Optional

Working with Non-Relational Source and Target Definitions

49

Attribute Map name Selected Datamaps

Required/ Optional Optional n/a

Description Enter a data map name to filter the resulting data maps. Lists the available data maps for the connection, database and filter details that you entered.

3.

Optionally, enter a filter to view particular schemas and tables from the database. Enter a schema and/or table name. Or, enter a filter condition to display schemas and/or tables that meet the filter condition. Use one of the following wildcard characters in the filter condition:

* (asterisk). Represents one or more characters. ? (question mark). Represents one character. Enter the filter condition as a prefix. For example, enter A* to display schemas and/or tables that begin with an A. Enter the filter condition as a suffix. For example, enter *A to display schemas and/or tables that end with an A. Enter the filter condition as a substring. For example, enter *cust* to display schemas and/or tables that contain cust.

Use the following syntax when entering a wildcard character:


Note: Schema and table names are not case sensitive.


4.

Click Connect. The available data maps appear in the Selected Datamaps list. The Designer displays metadata to import.

50

Chapter 3: Working with Mappings

The following example shows the results when a Source Type of VSAM is selected:
Figure 3-17. Import from PowerExchange - Non-Relational Target Select Datamaps List

Schema

Table

5.

Select the data map you want to import.


Hold down the Shift key to select blocks of tables. Hold down the Ctrl key to make non-contiguous selections within a data map. Use the Select all button to select all tables. Use the Select none button to clear all highlighted selections.

6.

Click OK. The source definitions appear. The Designer uses the data map name as the name of the source definition.

Viewing Non-Relational Source and Target Definition Details


Non-relational source and target definitions contain information about the data map structure on the Attributes tab. Additional metadata information is included on the Metadata Extensions tab.

Working with Non-Relational Source and Target Definitions

51

Viewing Data Map Information


The Attributes tab of a non-relational source or target definition lists each field in the definition. It also lists the attributes of each field and their values from the data map used to create the definition. The attributes include information such as the name of the base record to which the field belongs. Figure 3-18 shows the Attributes information for a non-relational VSAM definition:
Figure 3-18. Non-Relational Table - Attributes

Table 3-1 describes the attributes the Attributes tab displays for each field in the nonrelational definition:
Table 3-1. Attributes of Fields in a Non-Relational Source Definition
Attribute Name column_name base_rec base_fld base_fld_tpe base_fld_offset Description Name of the field in the data map. Name of the record to which the field belongs. This corresponds to name of the group the field belongs to in the source definition. Name of the base record and table field name in the following format:
<Base_Field_Name>:<Table_Field_Name>

PowerExchange data type of the field. Offset value from which the field starts. For example, if the value is 5, the field starts at the fifth position. You determine the offset value of each field based on the order of fields in the data map.

52

Chapter 3: Working with Mappings

Viewing Metadata Extensions


Non-relational source and target definitions have metadata extensions that displays additional information from the data map used to create the definition. With VSAM and sequential definitions, the File Name extension field can be modified. See Editing Metadata Extensions on page 54. You can override the data map name and schema name in the session properties. See Session Properties for Non-Relational Batch Mode Sessions on page 129. The following example shows the Metadata Extensions information for a VSAM definition:
Figure 3-19. Non-Relational Table - Metadata Extensions

The following table describes the extensions on the Metadata Extensions tab for a nonrelational definition:
Table 3-2. Non-Relational Source Definition Metadata Extensions
Extension Name Access Method Description Method you specified in the data map to access the source database: - A = Adabas - D = IMS DL1 - E = VSAM ESDS - I = IDMS - K = VSAM KSDS - O = IMS ODBA - N = VSAM RRDS - S = sequential (SEQ) - W = DB2 unload file (DB2UNLD) - X = Datacom - Z = DB2 data map Any comments.

comments

Working with Non-Relational Source and Target Definitions

53

Table 3-2. Non-Relational Source Definition Metadata Extensions


Extension Name File Name Map Name Schema Name Description Name of the data set (sequential or VSAM only) Name of the data map. Name of the schema on which you based the data map.

Editing Non-Relational Source and Target Definitions


You can edit non-relational source and target definitions to make minor changes to the definition. For example, you can:

Modify a column data type Modify the owner name Modify column key relationships Add or delete columns Add a description of the definition Create metadata extensions

Note: If using the non-relational source in a CDC session you do not need to add the

DTL__CAPXACTION field nor do you need to include an Update Strategy transformation. PWXPC will automatically include the DTL__CAPXACTION column in its SELECT statement for CDC sources. It then uses the value of the DTL__CAPXACTION to construct the appropriate SQL statement (INSERT, UPDATE, or DELETE). For more information about editing source definitions, see the PowerCenter Designer Guide.

Editing Metadata Extensions


With VSAM and sequential definitions, the File Name extension field can be modified. All other field populated by PWXPC when a data map is imported cannot be changed. By default, the File Name field contains the value from the PowerExchange data map File Name field which contains the VSAM data set name or the sequential file name.
Note: Any VSAM and sequential definitions created prior to PowerCenter V8.5 will have a

blank File Name. If desired, this field can be populated manually or by re-importing the data map.

54

Chapter 3: Working with Mappings

The following procedure explains how to manually update the File Name field to add or change the file name in a VSAM or sequential definition.
To manually update the file name field: 1. 2.

Double-click the source or target definition in the workspace. Select the Metadata Extensions tab. PWXPC populates the File Name field with the File Name for the PowerExchange data map. The following example shows the metadata extensions for a VSAM definition. The VSAM was created prior to PowerCenter V8.5 so the File Name field is blank.

3.

Click in the Value field and select the down arrow.

Working with Non-Relational Source and Target Definitions

55

The Edit Metadata Extension Value panel displays allowing you to enter or change the file name.

Click OK when done.


4.

Click OK to end Edit Tables.

You can also re-import the PowerExchange data map to automatically populate the File Name field with the information contained in the data map.

56

Chapter 3: Working with Mappings

Working with Extraction Map Definitions


When creating mappings for Change Data Capture (CDC), import the extraction map rather than the source table metadata. Extraction maps are imported using the Import from PowerExchange dialog box and are uniquely suited for the following cases:

The extraction map for the source contains a subset of the actual columns defined for the source. The PowerExchange generated columns like DTL__CAPXTIMESTAMP, DTL__CAPXACTION, and DTL__BI before image columns are needed.

You can connect to PowerExchange locally or to a PowerExchange Listener to import an extraction map definition. Connect to the capture source platform location where the extraction maps are stored. When you connect to PowerExchange, the Designer displays the extraction map schemas and tables. Before you connect to PowerExchange, you can filter the metadata the Designer displays by schema and/or data map name. Select an extraction map to create the source definition.
To import an extraction map as a source definition 1.

To import an extraction map source definition, select Sources > Import from PowerExchange and select the CDC Datamaps box and then select the desired source type. The dialog box and parameters displayed are the same for each non-relational source type.

Working with Extraction Map Definitions

57

The Import from PowerExchange dialog box appears as follows:


Figure 3-20. Import from PowerExchange - CDC Datamaps

Enter the following connection information:


Attribute Location Required/ Optional Required Description Name of the PowerExchange Listener (Node name from PowerExchange dbmover.cfg) on the system on which the database resides. User name for the database connecting to. Password associated with the User name. Select to list multi-record data maps. SEQ or VSAM sources only. Select one of the following source types: ADABAS, DATACOM, DB2390, DB2400, DB2UDB, IDMS, IMS, MSSQL, ORACLE or VSAM. Select to list CDC extraction maps - source only. Enter a schema name to filter the resulting data maps. Enter a data map name to filter the resulting data maps.

User Name Password Multi-Record Datamaps Source Type CDC Datamaps Schema Map name

Required Required N/a Required Required Optional Optional

58

Chapter 3: Working with Mappings

2.

Optionally, enter a filter to view particular schemas and tables from the database. Enter a schema, table name, or both. Or enter a filter condition to display schemas or tables that meet the filter condition. Use one of the following wildcard characters in the filter condition:

* (asterisk). Represents one or more characters. ? (question mark). Represents one character. Enter the filter condition as a prefix. For example, enter A* to display schemas or tables that begin with an A. Enter the filter condition as a suffix. For example, enter *A to display schemas or tables that end with an A. Enter the filter condition as a substring. For example, enter *cust* to display schemas or tables that contain cust.

Use the following syntax when entering a wildcard character:


Note: Schema and table names are not case sensitive.


3.

Click Connect. The Designer displays the metadata to import. The extraction maps shown will be filtered based on the source type specified.
Figure 3-21. Import from PowerExchange - CDC Select Datamaps List

Schema

Table

Working with Extraction Map Definitions

59

In this example, only extraction maps for a specific Schema and Map name appear in the Designer.
4.

Select the data map you want to import.


Hold down the Shift key to select blocks of tables. Hold down the Ctrl key to make non-contiguous selections within a data map. Use the Select all button to select all tables. Use the Select none button to clear all highlighted selections.

5.

Click OK. The source definition appears in the workspace. The Designer uses the data map name as the name of the source definition.

Viewing Extraction Map Definition Details


Extraction map definitions contain information about the data map structure on the Attributes tab. They also contain metadata extensions on the Metadata Extensions tab.

Viewing Extraction Map Information


The Attributes tab of a extraction map definition lists each field in the source definition. It also lists the attributes of each field and their values based on the extraction map from which you imported the source definition. The attributes include information such as the name of the base record to which the field belongs. Figure 3-22 shows the Attributes tab of a extraction map definition:
Figure 3-22. Extraction Map Table - Attributes

60

Chapter 3: Working with Mappings

Table 3-3 describes the attributes that the Attributes tab displays for each field in the source definition:
Table 3-3. Attributes of Fields in a Extraction Map Definition
Attribute Name column_name base_rec base_fld base_fld_tpe base_fld_offset Description Name of the field in the extraction map. blank. blank blank. blank

Viewing Metadata Extensions


Extraction map definitions have metadata extensions that display information about the data map on which you based the source definition. You cannot modify these metadata extensions. However, you can override the data map name and schema name in the session properties. The following example shows the Metadata Extensions tab of a extraction map definition:
Figure 3-23. Extraction Map Table - Metadata Extensions

Working with Extraction Map Definitions

61

The following table describes the extensions on the Metadata Extensions tab for an extraction map definition:
Table 3-4. Extraction Map Definition Metadata Extensions
Extension Name Access Method Description Method you specified in the data map to access the source database: - A = Adabas - B = DB2/390 and DB2/400 - D = IMS - E = VSAM ESDS - I = IDMS - K = VSAM KSDS - L = MSSQL - N = VSAM RRDS - P = Oracle - V = DB2/UDB - X = Datacom Any comments. Name of the extraction map. Original table name in relational database or PowerExchange data map. Original schema or owner name in relational database or PowerExchange data map. Name of the schema for the extraction map.

comments Map Name Original Name Original Schema Schema Name

Editing a Extraction Map Definition


You can edit extraction map definitions to make minor changes to the definition. For example, you can:

Modify a column data type. Modify the owner name. Add or delete columns. Add a description of the definition. Create metadata extensions.

When using extraction maps, you do not need to add the DTL__CAPXACTION field nor do you need to include an Update Strategy transformation. PWXPC will automatically include the DTL__CAPXACTION column in its SELECT statement for CDC sources. It then uses the value of the DTL__CAPXACTION to construct the appropriate SQL statement (INSERT, UPDATE, or DELETE).
Warning: Changing column information in the extraction map could result in failures in the session or workflow during the extraction process.

For more information about editing source definitions, see the PowerCenter Designer Guide.

62

Chapter 3: Working with Mappings

Previewing PowerExchange Data in Designer


You can preview data in the Designer for any valid relational and non-relational source or target definitions. You can also preview changed data for extraction map source definitions. You cannot preview data for multi-record data map source definitions. Previewing data allows you to see the source or target data. The data that is shown depends upon the database type of the source or target definition. There are three database types for PowerExchange source and target definitions: 1. 2. 3.

Relational, such as DB2 for DB2 metadata. Non-relational, such as PWX_VSAM_NRDB2 for VSAM data maps. Extraction Maps, such as PWX_DB2390_CDC for DB2 CDC data maps. Source Analyzer. Preview source data in the Source Analyzer after you import the source. Target Designer. Preview target data in the Target Designer after you import a target. Mapplet Designer. Preview source data in the Mapplet Designer while creating a mapplet. Mapping Designer. Preview source and target data in the Mapping Designer while creating a mapping.

You can preview source or target data in the following Designer tools:

For sources and targets other than those accessed through PowerExchange, see the PowerCenter Designer Guide.

Previewing PowerExchange Relational Data


Previewing data for source or target relational definitions displays data from the relational table. You must be able to connect to PowerExchange on the source or target database platform to preview data.
Note: Previewing data requires an ODBC data source to connect to PowerExchange.
To preview relational source or target data: 1. 2.

Select a relational source or target definition in the workspace. Right-click the source or target definition in the workspace and choose Preview Data.

Previewing PowerExchange Data in Designer

63

The Preview Data dialog box appears.

3.

Select an ODBC data source name. You can add a new ODBC data source using the ... button.

4.

If necessary, enter the Username and Password. For PowerExchange sources and targets on MVS and AS/400, this is only necessary if connecting to a PowerExchange Listener configured with security (SECURITY=1 or SECURITY=2 in DBMOVER).

5. 6.

Enter the database table owner name. Enter the number of rows you want to preview. The default is 100. The Preview Data dialog box can display up to 500 rows and up to 65,000 columns.

7.

Click Connect.

64

Chapter 3: Working with Mappings

The contents of the table appear in the Preview Data dialog box.

8. 9.

To change the number of rows you want to preview, enter a new number and click Refresh. Click Close to exit.

Previewing PowerExchange Non-Relational Data


Previewing data for source or target non-relational definitions displays data from the nonrelational file. In the case of DB2 data maps, data from the source DB2 table displays. Previewing data for non-relational definitions uses PWXPC to connect to PowerExchange. You must be able to connect to PowerExchange on the source or target platform to preview data.
To preview non-relational source or target data: 1. 2.

Select a non-relational source or target definition in the workspace. Right-click the source or target definition in the workspace and choose Preview Data.

Previewing PowerExchange Data in Designer

65

The Preview Data dialog box appears.

3.

Select a Location name. The Location names are retrieved from the NODE statements in the dbmover.cfg file on the Designer platform. To add additional Locations, edit this file and add additional NODE statements.

4.

If necessary, enter the Username and Password. For PowerExchange sources and targets on MVS and AS/400, this is only necessary if connecting to a PowerExchange Listener configured with security (SECURITY=1 or SECURITY=2 in DBMOVER).

5. 6.

The Schema field is automatically populated with the PowerExchange data map schema name. This can be changed if desired. Enter the number of rows you want to preview. The default is 10. The Preview Data dialog box can display up to 500 rows and up to 65,000 columns.

7.

Click Connect.

66

Chapter 3: Working with Mappings

The contents of the table appear in the Preview Data dialog box.

8. 9. 10.

To return more data, click More. To change the number of rows you want to preview, enter a new number and click Connect. Click Close to exit.

Previewing PowerExchange Changed Data


Previewing data for extraction map (CDC datamaps) definitions displays changed data from the change stream. Previewing data for extraction maps uses PWXPC to connect to PowerExchange. You must be able to connect to PowerExchange on the source platform to preview data.
To preview changed data: 1. 2.

Select an extraction map source definition in the workspace. Right-click the source definition in the workspace and choose Preview Data.

Previewing PowerExchange Data in Designer

67

The Preview Data dialog box appears.

3.

Select a Location name. The Location names are retrieved from the NODE statements in the dbmover.cfg file on the Designer platform. To add additional Locations, edit this file and add additional NODE statements.

4.

If necessary, enter the Username and Password. For PowerExchange sources and targets on MVS and AS/400, this is only necessary if connecting to a PowerExchange Listener configured with security (SECURITY=1 or SECURITY=2 in DBMOVER).

5. 6.

The Schema field is automatically populated with the PowerExchange extraction map schema name. This can be changed if desired. Select either Real Time or Change. Real Time extracts data in real-time from the change stream using the earliest starting restart point. Change extracts data from condense files using the earliest starting restart point. See Default Restart Points on page 157 for more information about default restart points.

7. 68

If desired, change the Time Out value.

Chapter 3: Working with Mappings

The time out value indicates the maximum time (in seconds) to wait for additional data at the end of log. After this time period expires, EOF is returned and the number of rows requested is displayed. Returning EOF terminates any further retrieval of data from the change stream. The default is 10 seconds. The value can be any number between 0 and 86400. A value of 0 indicates that EOF is returned as soon as the end of log is reached whereas 86400 indicates that EOF is never returned. Do not specify 86400 as no data is displayed and the Preview Data session hangs until the extraction task in PowerExchange Listener is stopped.
8.

Enter the number of rows you want to preview. The default is 10. The Preview Data dialog box can display up to 500 rows and up to 65,000 columns.

9.

Click Connect. The contents of the table appear in the Preview Data dialog box.

10.

To return more data, click More. When the end of log is reached, the More button is greyed out.

Previewing PowerExchange Data in Designer

69

11. 12.

To change the number of rows you want to preview, enter a new number and click Connect. Click Close to exit.

70

Chapter 3: Working with Mappings

PowerExchange Group Source


PowerExchange Client for PowerCenter uses PowerExchange Group Source functionality. Group Source is used when reading Changed Data Capture (CDC) data. It can also be used when processing VSAM and sequential datasets or files that have multiple record types. Group Source allows PowerExchange to read all data from the same physical source in a single pass. For CDC data, this means that changes for all tables defined in the mapping can be read from the change stream in a single pass. For multi-record VSAM or sequential data sets, the file needs only be read once to acquire all of the record types. Records are then provided to the appropriate source in the mapping. This provides enhanced performance by eliminating multiple passes of the data. It also reduces the resource consumption of PowerExchange on the platform from which the data is being extracted.

Using Group Source with Non-Relational Sources


VSAM and sequential datasets that contain multiple record types with physically different record layouts in a single data set are candidates for Group Source. Within PowerExchange each record type is separately defined as a unique record in the data map. This results in separate tables to represent the relational view of each record. Traditionally, the table for each record type would be imported into PowerCenter Designer thereby decoupling the relational view of the data from the physical data set. As a result, the data set would be read in its entirety for each of the different record types imported. For example, a sequential data set containing three different record layouts would be read, in its entirety, three times to provide the data to each record type. With PWXPC, the Group Source functionality of PowerExchange can be used for multirecord VSAM and sequential datasets resulting in the data set/file being read only once regardless of the number of unique record types that exist. To exploit this functionality, the metadata must be imported as a multi-record data map in Designer. This is done by selecting the Multi-record Datamaps box on the Import dialog box. For more information on how to do this, see Importing Non-Relational Source Definitions on page 44. Non-relational source definitions represent the data map metadata in groups. Each group represents a table in the data map. Each group also contains metadata for the fields in the table.

PowerExchange Group Source

71

Figure 3-24 shows a non-relational source definition with multiple groups:


Figure 3-24. Multi-record Non-Relational Source Definition
PowerExchange map name

PowerExchange data map table name

The PowerExchange NRDB Batch application connection is used to read the data and uses Group Source functionality. Group Source processing for multi-record non-relational data maps is done for each source definition. Each source definition in a mapping will result in a connection to PowerExchange to read the source data. It is possible to have multiple multirecord source definitions in a mapping and each one can use Group Source processing.

Using Group Source with CDC Sources


With PWXPC, the Group Source functionality of PowerExchange can be used for all CDC sources resulting in the change stream for the CDC source being read only once, for each unique source type, regardless of the number of source tables included in the mapping. You can create a CDC source definition that can use group source in the following ways:

Import table definitions from the relational database using PowerExchange. For more information, see Working with Relational Source and Target Definitions on page 25. Import data map table definitions from PowerExchange (non-relational and DB2/390 sources). For more information, see Working with Non-Relational Source and Target Definitions on page 43. Import extraction map definitions from PowerExchange for all source types. For more information, see Working with Extraction Map Definitions on page 57. Import relational table definitions using the PowerCenter ODBC interface. For more information, see the PowerCenter Designer Guide.

72

Chapter 3: Working with Mappings

For non-relational CDC sources, the source metadata must be imported using PWXPC.
Tip: Use extraction maps, or CDC Datamaps, for CDC sources as this eliminates the need to

specify the extraction map name in the Session Properties. It also eliminates the need to add any of the special DTL columns: the DTL__CAPX fields, the DTL__CI change indicator fields, and the DTL__BI before image fields. This can significantly simplify the mapping design process. Group Source functionality is invoked for each source type. A mapping should contain only a specific source type. Sessions with a mappings containing multiple source types, even if the same change stream is being read, will fail with:
PWXPC_10080 [ERROR] All the readers should be of one database type only

For example, a mapping containing both VSAM and IMS sources will fail with the 10080 message. Two separate mappings should be made: one for the VSAM sources and one for the IMS sources. If these two mappings are included in two sessions in the same workflow, they result in separate Group Source connections to the change stream: one for VSAM and one for IMS. Group Source for batch access to non-relational sources requires that the source be imported as a multi-record data map and is used for an individual source definition. With CDC access, group source is invoked at a mapping level for all source definitions rather than at an individual source definition level. The invocation of Group Source occurs automatically when a PWX Change or Real-Time connection is used in a session, regardless of the number of sources included in the session. It also occurs automatically if a multi-record source definition exists in a mapping. The following diagram shows an example of a mapping for three DB2 sources:
Figure 3-25. Group Source Mapping Example

PowerExchange Group Source

73

When you include this mapping in a session that uses the PowerExchange DB2 CDC application connection, PowerExchange reads through the change stream a single time, using Group Source, to extract the changes for all three source tables. The changes for each source are provided to the source qualifier in the chronological order in which each unit of work (UOW) completed. When you include this mapping in a session that uses a PowerExchange DB2 relational connection, PowerExchange reads each source table separately. A unique pipeline is created for each source which results in three unique tasks in the PowerExchange Listener.

74

Chapter 3: Working with Mappings

Working with Source Qualifiers


Source qualifiers determine how the Integration Service reads data from the source. You connect a source qualifier to a source instance in a mapping. The type of source qualifier you use depends on the source definition:

Relational source definitions use a Source Qualifier transformation. Non-relational source definitions use an Application Multi-Group Source Qualifier transformation.

Transformation Datatypes
The transformation datatypes in Source Qualifier and Application Multi-Group Source Qualifier transformations are internal datatypes based on ANSI SQL-92 generic datatypes, which PowerCenter uses to move data across platforms. When the Integration Service reads data from a source, it converts the data from the PowerExchange data type to the transformation data type. When you run a session, the Integration Service performs transformations based on the transformation datatypes. When writing data to a target, the Integration Service converts the data based on the datatypes in the target definition. The transformation data type for all ports in the Application Multi-Group Source Qualifier transformation are predefined. You cannot change the data type for any of the fields in the Application Multi-Group Source Qualifier transformations. For more information about transformation datatypes, see the PowerCenter Designer Guide.

Creating Source Qualifiers


By default, the PowerCenter Designer creates an Application Multi-Group Source Qualifier transformation when you add a non-relational source definition to a mapping. Similarly, it creates a Source Qualifier transformation when you add a relational source definition to a mapping. If you configure the PowerCenter Designer to manually create a source qualifier when you add a source definition to a mapping, you must manually connect the source qualifier to the source definition. For more information about source qualifiers, see the PowerCenter Transformation Guide.

Editing Source Qualifier Transformations


After you create a Source Qualifier transformation, you can edit the transformation. You cannot edit an Application Multi-Group Source Qualifier transformation. For more information about Source Qualifier transformations, see the PowerCenter Transformation Guide.

Working with Source Qualifiers

75

Using Lookup Transformations


This section discusses considerations for using lookup transformations with PWXPC for PowerExchange sources and targets. See the PowerCenter Transformation Guide for more information about Lookup transformations and lookup caching. Use a Lookup transformation in a mapping to look up data, through PowerExchange, in a non-relational file or a relational table, view, or synonym. You can import a lookup definition for any flat file, non-relational file, or relational table to which both the PowerCenter Client and Integration Service can connect.

Usage Considerations for PowerExchange Sources and Targets


There are a number of unique usage considerations for using Lookup transformations with PowerExchange sources and targets. These are listed below:

The Lookup transformation import process uses ODBC for non-relational files and relational tables. To use PWXPC to import definitions for non-relational files or relational tables, first import the definitions using the Import from PowerExchange dialog box in either the Source Analyzer or Target Designer prior to configuring the lookup in the mapping.

You can use PWXPC connections for lookup both non-relational files and relational tables:

For relational tables, select the appropriate PWXPC relational connection for the database type, such as PWX DB2390, PWX DB2400, PWX DB2UDB, PWX Microsoft SQL Server, PWX Oracle, or PWX Sybase. See Configuring Connections on page 83 for connection configuration information. For non-relational files, select the PWXPC relational connection for NRDB lookups, PWX NRDB Lookup. See NRDB Lookup Relational Connections on page 96 for connection configuration information.

When using Lookup transformations with a resume recovery strategy, select the Lookup source is static transformation attribute to avoid failures during session execution. When using Lookup transformations with IMS databases, careful consideration needs to be given to the fields used to perform the search of the IMS database. Concatenated keys (CCK) fields achieve the best performance with the least impact on the IMS database. For more information about search fields for IMS lookups, see Configuring Lookups for IMS on page 76. When using Lookup transformations for targets being updated with CDC data in the same mapping, use special custom properties to ensure change stream data is accessible across pipelines. For more information, see Configuring Lookups for CDC Data on page 77.

Configuring Lookups for IMS


Using keys is a fast and efficient method of retrieving data from IMS databases. PowerExchange allows you to build Concatenated Key (CCK) fields in the data map.
76 Chapter 3: Working with Mappings

Concatenated Key (CCK) fields allows PowerExchange to construct a fully-qualified Segment Search Argument (SSA) thereby improving IMS database search efficiency. See the PowerExchange IMS Adapter Guide for more information about creating CCK fields. Fields specified in the Lookup condition transformation attribute are used by PowerExchange to create the Segment Search Argument (SSA). In order for a field to be used in the SSA, it must be marked as a key in the IMS source or target definition in Designer. To provide search keys for IMS database lookups, use the following types of fields in the Lookup condition transformation attribute:

Concatenated Key (CCK) fields. Specify these fields as keys in the IMS source or target definition and use them in the Lookup condition attribute. Using CCK fields results in the most efficient search of the IMS database. Key fields. Specify these fields as key in the IMS source or target definition and use them in the Lookup condition attribute. You can specify either the CCK field or the key field for the desired segment as both will exist in the IMS source or target definition. If the segment is not the root, a combination of both CCK fields and key fields will likely be needed in the Lookup condition. Search fields defined in the IMS Database Definition (DBD). Specify these as keys in the IMS source or target definition and use them in the Lookup condition attribute. If the segment does not have a key, IMS can still scan the IMS segments using an IMS search field. This type of search call is not as efficient as a keyed search with CCK fields or key fields. Assuming the root segment is keyed, include its CCK field with the search fields to limit the amount of data IMS scans and therefore the impact on the database. Non-key or non-search fields. The least efficient search method is to mark non-key fields or non-search fields as keys in the IMS source or target definition and in the Lookup condition attribute. This causes a scan of the IMS database to be done in order to find a match. This can adversely affect your IMS operational system and therefore should be avoided.

Tip: You can limit the amount of the database that will be scanned by specifying as many CCK

and key fields as possible. If using Search fields, include as many CCK fields as possible and, at minimum, the root CCK field. Only use non-key or non-search fields as a last resort.

Configuring Lookups for CDC Data


Lookup transformations can be used in mappings extracting data from CDC sources including tables to which the CDC data is being applied. If you are using dynamic lookups for CDC data and sharing the lookup cache with other static lookups in the same mapping, specify both of the following custom properties in the session Custom Properties attribute field on the Config Object tab:

MergeCDCReaders=Yes SingleThreadExecutionModel=Yes

These custom properties remove any partition points from the PWXPC CDC Reader through the transformations to the Writer. As a result, the order of the changes read from the change

Using Lookup Transformations

77

stream is maintained until the changes reach the Writer. This then ensures that any CDC data placed into a dynamic lookup cache is accessible to lookups sharing that cache in other pipelines.
Warning: The use of these custom properties will impact session throughput as it will singlethread all source data from the Reader through to the Writer. As a result, these custom properties should only be specified when there is a need to share CDC data stored in a dynamic cache across pipeline.

78

Chapter 3: Working with Mappings

Chapter 4

Configuring Connections

This chapter includes the following topics:


Overview, 80 DB2 Batch Mode Relational Database Connections, 86 DB2 CDC Mode Application Connections, 89 NRDB Batch Mode Application Connections, 92 NRDB CDC Mode Application Connections, 93 NRDB Lookup Relational Connections, 96 MSSQL Batch Mode Relational Connections, 97 MSSQL CDC Mode Application Connections, 99 Oracle Batch Mode Relational Connections, 102 Oracle CDC Mode Application Connections, 104 Sybase Batch Mode Relational Connections, 107 Configuring Connection Attributes, 108 Understanding Commit Processing with PWXPC, 123

79

Overview
Before the Integration Service can access a source or target in a session, you must configure connections in the Workflow Manager. When you create or modify a session that reads from or writes to a database of file, you can select only configured source and target databases. Connections are saved in the repository. For PowerExchange Client for PowerCenter, you configure relational database or application connections, depending upon the source or the target type.

Connection Types for Extracting Source Data


The connection you configure depends on the type of source data you want to extract and the extraction mode. Table 4-1 describes the connections you create for data extraction based on the data source and the extraction mode:
Table 4-1. Connection Types for Extracting Source Data
Source Type Adabas Extraction Mode Batch Change Real-Time Datacom Batch Change Real-Time DB2 for z/OS Batch Change Real-Time DB2 for i5/OS Batch Change Real-Time DB2 for Linux, UNIX, and Windows Batch Change Real-Time IDMS Batch Change Real-Time Connection Type Application Application Application Application Application Application Relational Application Application Relational Application Application Relational n/a Application Application Application Application Connection Name PWX NRDB Batch PWX NRDB CDC Change PWX NRDB CDC Real Time PWX NRDB Batch PWX NRDB CDC Change PWX NRDB CDC Real Time PWX DB2390 PWX DB2390 CDC Change PWX DB2390 CDC Real Time PWX DB2400 PWX DB2400 CDC Change PWX DB2400 CDC Real Time PWX DB2UDB n/a PWX DB2UDB CDC Real Time PWX NRDB Batch PWX NRDB CDC Change PWX NRDB CDC Real Time

80

Chapter 4: Configuring Connections

Table 4-1. Connection Types for Extracting Source Data


Source Type IMS Extraction Mode Batch Change Real-Time Microsoft SQL Server Batch Change Real-Time Oracle Batch Change Real-Time Sequential and flat files Batch Change Real-Time Sybase Batch Change Real-Time VSAM Batch Change Real-Time Connection Type Application Application Application Relational n/a Application Relational Application Application Application n/a n/a Relational n/a n/a Application Application Application Connection Name PWX NRDB Batch PWX NRDB CDC Change PWX NRDB CDC Real Time PWX MSSQLServer n/a PWX MSSQL CDC Real Time PWX Oracle PWX Oracle CDC Change PWX Oracle CDC Real Time PWX NRDB Batch n/a n/a PWX Sybase n/a n/a PWX NRDB Batch PWX NRDB CDC Change PWX NRDB CDC Real Time

Connection Types for Loading Target Data


The connection you configure depends on the type of target data you want to load. Table 4-2 describes the relational database connections you create to load data to supported PowerExchange targets:
Table 4-2. Connection Types for Loading Target Data
Target Type Adabas DB2 for z/OS DB2 for i5/OS DB2 for Linux, UNIX, and Windows IMS Connection Application Relational Relational Relational Application Connection Type PWX NRDB Batch PWX DB2390 PWX DB2400 PWX DB2UDB PWX NRDB Batch

Overview

81

Table 4-2. Connection Types for Loading Target Data


Target Type Microsoft SQL Server Oracle Sequential and flat files Sybase VSAM Connection Relational Relational Application Relational Application Connection Type PWX MSSQLServer PWX Oracle PWX NRDB Batch PWX Sybase PWX NRDB Batch

82

Chapter 4: Configuring Connections

Configuring Connections
The connection you configure depends upon the database or data structure. Source and target connections can be configured for:

Extracting data (Batch) from relational or non-relational sources. Extracting changed data (Change or Real-Time) from non-relational or relational sources. Loading data (Batch) to a relational target. Loading data (Batch) to a non-relational target.

For more information about available connection types, see Table 4-1 on page 80 and Table 4-2 on page 81.
To configure connections: 1. 2.

In the Workflow Manager, connect to a PowerCenter repository. To configure a PowerExchange Batch relational database connection, click Connections > Relational. The Relational Connection Browser dialog box appears:
Figure 4-1. Relational Connection Browser

Configuring Connections

83

To configure a PowerExchange application connection, click Connections > Application. The Application Connection Browser dialog box appears:
Figure 4-2. Application Connection Browser

In the Select Type field, select the type of connection you want to create. For a list of connections to configure according to data source and extraction mode, see Table 4-1 on page 80. For a list of connections to configure according to target data type, see Table 42 on page 81.
3.

Click New.

84

Chapter 4: Configuring Connections

The Connection Object Definition dialog box appears. The relational and application dialog boxes are very similar. An application dialog box is shown here:
Figure 4-3. Application Connection Editor

4. 5.

Enter the values for the connection attributes. The various connection types are described in subsequent sections in this chapter. Click OK. The new connection appears in the Application or Relational Object Browser.

To edit or delete a relational database or application connections, select the connection from the list and click the appropriate button.

Configuring Connections

85

DB2 Batch Mode Relational Database Connections


Configure relational database connections for DB2 for z/OS, DB2 for i5/OS, and DB2 for Linux, UNIX, and Windows to extract data and load data in batch mode to DB2 sources and targets. Table 4-3 describes the connection attributes you configure for PWX DB2390, DB2400, and DB2UDB relational database connections:
Table 4-3. PWX DB2390, DB2400, and DB2UDB Relational Database Connection Attributes
Connection Attribute Name Code Page DB2390 DB2400 DB2UDB All All

Required Yes Yes

Description Name of the relational database connection. Select the code page for the Integration Server to use to extract data from the source database. Note: In Unicode mode, PWXPC sets the code page with this value overriding any code page specification in the PowerExchange configuration file. Location of the source or target database as specified as a node in the PowerExchange configuration file dbmover.cfg. DB2 subsystem or database instance name. User name for the database connected to. Password for the user name. Commit scope of the transaction. Default is CS. Overrides any occurrence of the specified filename (in any SQL statement) with the library/filename/member specified, regardless of whether the file is qualified or not. This includes any files qualified using Library List. Separate libraries with semicolons. Note: If both Library List and Database file overrides are specified and a table exists both, the Database file overrides takes precedence.

Location Database Name User Name Password Isolation Level Database file overrides

Yes Yes Yes Yes Yes No

All All All All DB2400 DB2400

Library List

No

DB2400

List of libraries that PowerExchange searches to qualify the table name for Select, Insert, Delete Or Update statements. PowerExchange searches the list if the table name is unqualified. Separate libraries with semicolons. Note: If both Library List and Database file overrides are specified and a table exists both, the Database file overrides takes precedence.

Environment SQL Compression

No No

All All

SQL commands run in the database environment. Select to compress source data during the PowerCenter session. See Configuring Encryption and Compression on page 108.

86

Chapter 4: Configuring Connections

Table 4-3. PWX DB2390, DB2400, and DB2UDB Relational Database Connection Attributes
Connection Attribute Encryption Type Encryption Level Pacing Size Interpret as Rows Bulk Load* DB2390 DB2400 DB2UDB All All All All DB2390

Required Yes No Yes No No

Description Select the encryption type. See Configuring Encryption and Compression on page 108. Select the encryption level. See Configuring Encryption and Compression on page 108. Enter the pacing size. See Configuring Pacing on page 109. Specifies whether, or not, pacing size is in number of rows. See Configuring Pacing on page 109. Select to cause PowerExchange to load data to DB2 for z/OS targets using the DB2LOAD utility. If you select this option, you can configure the remaining connection attributes. Otherwise, the PowerExchange ignores these attributes. Specifies the data set prefix PowerExchange uses to create the temporary files needed when using the DB2 LOAD utility to load data into a DB2 table. Enter one of the following values to allocate MVS space in tracks or cylinders: - TRACK - CYLINDER Default is TRACK. Value for the primary space on MVS. Default is 0. Value for the secondary space on MVS. Default is 0. Specifies how PowerExchange should handle the temporary files it creates when using the DB2 LOAD utility to load data into a DB2 table. Select one of the following values: - NO does not delete the temporary files. - BEFORE deletes the temporary files before running the utility. - AFTER SUCCESS ONLY deletes the temporary files after running the utility if it ends with a return code 0. - AFTER deletes the temporary files after running the utility. Default is NO. Specifies the name of the JCL template for the DB2 LOAD utility on the PowerExchange target system. Default is DB2LDJCL. Specifies the name of the control file template for the DB2 LOAD utility on the PowerExchange on the target system. Default is DB2LDCTL.

Filename*

No

DB2390

Space*

Yes

DB2390

Primary Space* Secondary Space* Delete Temporary Files*

Yes Yes Yes

DB2390 DB2390 DB2390

JCL Template*

Yes

DB2390

CTL Template*

Yes

DB2390

DB2 Batch Mode Relational Database Connections

87

Table 4-3. PWX DB2390, DB2400, and DB2UDB Relational Database Connection Attributes
Connection Attribute Load Options* DB2390 DB2400 DB2UDB DB2390

Required Yes

Description Specifies how PowerExchange should handle the data when using the DB2 LOAD utility to load data into a DB2 table. Select one of the following values: - INSERT - REPLACE Default is INSERT. Specifies how PowerExchange should run the DB2 LOAD utility to load data into a DB2 table. Select one of the following values: - TASK runs the LOAD utility as a sub-task under the PowerExchange Listener. - JOB submits a separate job to run the DB2 LOAD utility. - NOSUBMIT creates the files and JCL to run the DB2 LOAD utility but does not submit the job. Default is TASK. Specifies how PowerExchange handles the execution of the DB2 LOAD utility. Select one of the following values: - WAIT waits for the job to end before returning control to PowerCenter. WAIT can only be specified with Mode Type JOB or TASK. - NO WAIT returns to PowerCenter without waiting for the job to end. NO WAIT can only be specified with Mode Type JOB or NOSUBMIT. - TIMED waits the number of seconds specified In TIme before returning control to PowerCenter. TIMED can only be specified with Mode Type JOB. - DATAONLY creates the files and JCL to run the DB2 LOAD utility but does not submit the job. Default is WAIT. Specifies the wait time in seconds when you select JOB for the Mode Type and TIMED for Mode Time. Valid values are 1 to 99998. Default is 0. Convert embedded nulls in character fields to spaces. See Converting Character Data to Strings on page 110. Default is no. Select the write mode. See Configuring Write Mode on page 111. Default is Confirm Write On. Overrides the default prefix of PWXR for the reject file. PowerExchange creates the reject file on the target machine when the Write Mode is Asynchronous with Fault Tolerance. Note: Specifying PWXDISABLE will prevent creation of the reject files. See the PowerExchange Reference Manual for further information.

Mode Type*

Yes

DB2390

Mode Time*

Yes

DB2390

Time*

Yes

DB2390

Convert character data to string Write Mode Reject File

No

All

No No

All All

*For more information, see the PowerExchange Reference Manual.

88

Chapter 4: Configuring Connections

DB2 CDC Mode Application Connections


Configure application connections to extract data from DB2 for z/OS and DB2 for i5/OS in real-time or change modes. Configure application connections to extract data from DB2 for Linux, UNIX, and Windows in real-time mode. For a list of connections to configure according to data source and extraction mode, see Table 4-1 on page 80. Table 4-4 describes the connection attributes you configure for DB2390, DB2400 and DB2UDB application connections:
Table 4-4. DB2390, DB2400, and DB2UDB CDC Mode Application Connection Attributes
Connection Attribute Name Code Page Required Yes Yes Change or Real-time Both Both Description Name of the relational database connection. Select the code page for the Integration Service to use to extract data from the source database. Note: In Unicode mode, PWXPC sets the code page with this value overriding any code page specification in the PowerExchange configuration file. Location User Name Password Compression Yes Yes Yes No Both Both Both Both Location of the source or target database as specified as a node in the PowerExchange configuration file dbmover.cfg. User name for DB2. Password for the user name. Select to compress source data during the PowerCenter session. See Configuring Encryption and Compression on page 108. Select the encryption type. See Configuring Encryption and Compression on page 108. Select the encryption level. See Configuring Encryption and Compression on page 108. Enter the pacing size. See Configuring Pacing on page 109. Specifies whether, or not, pacing size is in number of rows. See Configuring Pacing on page 109. Select the image type. See Configuring Image Type on page 113. Default is BA. Specify the Application Name. See Configuring CDC Restart Attributes on page 117. Default is the first 20 characters of the workflow name. Specify the Restart token folder. See Configuring CDC Restart Attributes on page 117. Default is $PMRootDir/Restart.

Encryption Type Encryption Level Pacing Size Interpret as Rows Image Type

Yes No Yes No No

Both Both Both Both Both

Application Name

No

Both

RestartToken File Folder

Yes

Both

DB2 CDC Mode Application Connections

89

Table 4-4. DB2390, DB2400, and DB2UDB CDC Mode Application Connection Attributes
Connection Attribute RestartToken File Name Required No Change or Real-time Both Description Specify the Restart token file. See Configuring CDC Restart Attributes on page 117. Default is the Application Name if specified or the workflow name if Application Name is not specified. Specify the maximum number of backup copies to keep of the Restart Token File. See Managing Session Log and Restart Token File History on page 175. Default is 0. Specify file cache folder to enable recovery for the session. See Enabling Session Recovery on page 165. Default is $PMRootDir/Cache. Specifies the number of units of work (UOWs) you want the PWXPC to read from the source before flushing data to the target. If you enter: -1 = UOW count is not used 0 = UOW count is not used n = n is the count of UOWs See Configuring UOW Count on page 118 and Understanding Commit Processing with PWXPC on page 123. Default is 1. Reader Time Limit No Real Time Specifies the number of seconds that Integration Service reads data from the source before stopping. If you enter 0, Reader Time Limit does not limit the reader time. This attribute is intended for testing purposes only. Tip: Use Idle Time instead of Reader Time Limit. Default is 0. Specifies the number of seconds the PowerExchange Listener remains idle after reaching the end of the change log (as indicated by message PWX-09967) before returning an end-offile (EOF). If you enter: -1 = EOF is never retuned; the session runs continuously. 0 = EOF is returned at the end of log; the session terminates successfully. n = n is the number of seconds. See Configuring Idle Time on page 115. Default is -1.

Number of Runs to Keep RestartToken File

No

Both

Recovery Cache Folder UOW Count

No

Both

No

Both

Idle Time

No

Real Time

90

Chapter 4: Configuring Connections

Table 4-4. DB2390, DB2400, and DB2UDB CDC Mode Application Connection Attributes
Connection Attribute Real-Time Flush Latency Required No Change or Real-time Real Time Description Specifies the milliseconds between buffer flushes. Valid values are between 0 and 86400 milliseconds. PWXPC sets values between 0 and 2000 to 2000. See Configuring Real-Time Flush Latency on page 119. Default is 0. Specifies the number of change records (not UOWs) after which a commit should be inserted into the change stream. See Configuring Commit Threshold on page 121. Default is 0. Overrides the library and journal name in the PowerExchange CAPI_CONNECTION. Specify complete library and journal names in the format: library/journal Overrides the library and file name in the extraction map. Specify complete library and file names in the format: library/file This attribute overrides the Library/File Override value on the application connection. Warning: Do not specify an asterisk for library name if using PWXPC restart. Converts embedded nulls in character fields to spaces. See Converting Character Data to Strings on page 110. Default is no. Specifies the PowerExchange extraction map name used for event processing. See Configuring Event Table Processing on page 114.. Overrides the default CAPI connection name. See Configuring the CAPI Connection Name Override on page 115. Includes all related PowerExchange log entries in the session log. See Retrieving PWX Log Entries on page 112.

Commit Threshold

No

Real Time

Journal Name*

No

Both

Library/File Override*

No

Both

Convert character data to string Event Table

No

Both

No

Real Time

CAPI Connection Name Override Retrieve PWX Log Entries

No

Real Time

No

Both

* These attributes only apply to PWX CDC DB2400 Real Time application connections.

DB2 CDC Mode Application Connections

91

NRDB Batch Mode Application Connections


Configure application connections to extract data from non-relational databases (NRDB) in batch mode. For a list of connections to configure according to data source and extraction mode, see Table 4-1 on page 80. Table 4-5 describes the connection attributes you configure for non-relational batch mode application connections:
Table 4-5. NRDB Batch Mode Application Connection Attributes
Connection Attribute Name Code Page Required Yes Yes Description Name of the relational database connection. Select the code page for the Integration Service to use to extract data from the source database. Note: In Unicode mode, PWXPC sets the code page with this value overriding any code page specification in the PowerExchange configuration file. Location User Name Password Compression Encryption Type Encryption Level Pacing Size Interpret as Rows Confirm Write Convert character data to string Retrieve PWX Log Entries Yes Yes Yes No No No No No No No Location of the source or target database as specified as a node in the PowerExchange configuration file dbmover.cfg. User name for the database being connected to. Password for the user name. Select to compress source data during the PowerCenter session. See Configuring Encryption and Compression on page 108. Select the encryption type. See Configuring Encryption and Compression on page 108. Select the encryption level. See Configuring Encryption and Compression on page 108. Enter the pacing size. See Configuring Pacing on page 109. Specifies whether, or not, pacing size is in number of rows. See Configuring Pacing on page 109. Selects the write mode. See Configuring Write Mode on page 111. Default is Confirm Write On. Convert embedded nulls in character fields to spaces. See Converting Character Data to Strings on page 110. Default is no. Include all related PowerExchange log entries in the session log.

No

92

Chapter 4: Configuring Connections

NRDB CDC Mode Application Connections


Configure application connections to extract data from non-relational databases in change mode or real-time mode. For a list of connections to configure according to data source and extraction mode, see Table 4-1 on page 80. Table 4-6 describes the connection attributes you configure for non-relational database change and real-time mode application connections:
Table 4-6. NRDB CDC Mode Application Connection Attributes
Connection Attribute Name Code Page Required Yes Yes Change or Real-time Both Both Description Name of the application connection. Select the code page for the Integration Service to use to extract data from the source database. Note: In Unicode mode, PWXPC sets the code page with this value overriding any code page specification in the PowerExchange configuration file. Location User Name Password Compression Yes Yes Yes No Both Both Both Both Location of the source or target database as specified as a node in the PowerExchange configuration file dbmover.cfg. User name for the database being connected to. Password for the user name. Select to compress source data during the PowerCenter session. See Configuring Encryption and Compression on page 108. Select the encryption type. See Configuring Encryption and Compression on page 108. Select the encryption level. See Configuring Encryption and Compression on page 108. Enter the pacing size. See Configuring Pacing on page 109. Specifies whether, or not, pacing size is in number of rows. See Configuring Pacing on page 109. Select the image type. See Configuring Image Type on page 113. Default is BA. Specify the Application Name. See Configuring CDC Restart Attributes on page 117. Default is the first 20 characters of the workflow name. Specify the Restart token folder. See Configuring CDC Restart Attributes on page 117. Default is $PMRootDir/Restart.

Encryption Type Encryption Level Pacing Size Interpret as Rows Image Type

Yes No Yes No No

Both Both Both Both Both

Application Name

No

Both

RestartToken File Folder

Yes

Both

NRDB CDC Mode Application Connections

93

Table 4-6. NRDB CDC Mode Application Connection Attributes


Connection Attribute RestartToken File Name Required No Change or Real-time Both Description Specify the Restart token file. See Configuring CDC Restart Attributes on page 117. Default is the Application Name if specified or the workflow name if Application Name is not specified. Specify the maximum number of backup copies to keep of the Restart Token File. See Managing Session Log and Restart Token File History on page 175. Default is 0. Specify file cache folder to enable recovery for the session. See Enabling Session Recovery on page 165. Default is $PMRootDir/Cache. Specifies the number of units of work (UOWs) you want the PWXPC to read from the source before flushing data to the target. If you enter: -1 = UOW count is not used 0 = UOW count is not used n = n is the count of UOWs See Configuring UOW Count on page 118 and Understanding Commit Processing with PWXPC on page 123. Default is 1. Reader Time Limit No Real Time Specifies the number of seconds that Integration Service reads data from the source before stopping. If you enter 0, Reader Time Limit does not limit the reader time. This attribute is intended for testing purposes only. Tip: Use Idle Time instead of Reader Time Limit. Default is 0. Specifies the number of seconds the PowerExchange Listener remains idle after reaching the end of the change log (as indicated by message PWX-09967) before returning an end-offile (EOF). If you enter: -1 = EOF is never retuned; the session runs continuously. 0 = EOF is returned at the end of log; the session terminates successfully. n = n is the number of seconds. See Configuring Idle Time on page 115. Default is -1.

Number of Runs to Keep RestartToken File

No

Both

Recovery Cache Folder UOW Count

No

Both

No

Both

Idle Time

No

Real Time

94

Chapter 4: Configuring Connections

Table 4-6. NRDB CDC Mode Application Connection Attributes


Connection Attribute Real-Time Flush Latency Required No Change or Real-time Real Time Description Specifies the milliseconds between buffer flushes. Valid values are between 0 and 86400 milliseconds. PWXPC sets values between 0 and 2000 to 2000. See Configuring Real-Time Flush Latency on page 119. Default is 0. Specifies the number of change records (not UOWs) after which a commit should be inserted into the change stream. See Configuring Commit Threshold on page 121. Default is 0. Convert embedded nulls in character fields to spaces. See Converting Character Data to Strings on page 110. Default is no. Specifies the PowerExchange extraction map name used for event processing. See Configuring Event Table Processing on page 114. Overrides the default CAPI connection name. See Configuring the CAPI Connection Name Override on page 115 Include all related PowerExchange log entries in the session log.

Commit Threshold

No

Real Time

Convert character data to string Event Table

No

Both

No

Real Time

CAPI Connection Name Override Retrieve PWX Log Entries

No

Real Time

No

Both

NRDB CDC Mode Application Connections

95

NRDB Lookup Relational Connections


Configure NRDB Lookup relational database connections when using lookups to extract data from PowerExchange non-relational source and target definitions. For more information about using lookups for non-relational definitions, see Using Lookup Transformations on page 76. Table 4-7 describes the connection attributes you configure for NRDB Lookup relational database connections:
Table 4-7. NRDB Lookup Relational Connection Attributes
Connection Attribute Name Code Page Required Yes Yes Description Name of the relational database connection. Select the code page for the Integration Service to use to extract data from the source database. Note: In Unicode mode, PWXPC sets the code page with this value overriding any code page specification in the PowerExchange configuration file. Location User Name Password Environment SQL Compression Encryption Type Encryption Level Pacing Size Interpret as Rows Convert character data to string Yes Yes Yes No No No No No No No Location of the source or target database as specified as a node in the PowerExchange configuration file dbmover.cfg. User name for the Listener being connected to. Password for the user name. SQL commands run in the database environment. Select to compress source data during the PowerCenter session. See Configuring Encryption and Compression on page 108. Select the encryption type. See Configuring Encryption and Compression on page 108. Select the encryption level. See Configuring Encryption and Compression on page 108. Enter the pacing size. See Configuring Pacing on page 109. Specifies whether, or not, pacing size is in number of rows. See Configuring Pacing on page 109. Convert embedded nulls in character fields to spaces. See Converting Character Data to Strings on page 110. Default is no.

96

Chapter 4: Configuring Connections

MSSQL Batch Mode Relational Connections


Configure relational database connections for Microsoft SQL Server to extract data and load data in batch mode to SQL Server sources and targets. Table 4-8 describes the connection attributes you configure for Microsoft SQL Server relational database connections:
Table 4-8. MSSQL Batch Mode Relational Connection Attributes
Connection Attribute Name Code Page Required Yes Yes Description Name of the relational database connection. Select the code page for the Integration Service to use to extract data from the source database. Note: In Unicode mode, PWXPC sets the code page with this value overriding any code page specification in the PowerExchange configuration file. Location Server Name Database Name User Name Password Environment SQL Compression Yes Yes Yes Yes Yes No No Location of the source or target database as specified as a node in the PowerExchange configuration file dbmover.cfg. Name of the SQL Server instance. Name of the database in the SQL Server instance. User name for the database being connected to. Password for the user name. SQL commands run in the database environment. Select to compress source data during the PowerCenter session. For more information, see Configuring Encryption and Compression on page 108. Select the encryption type. For more information, see Configuring Encryption and Compression on page 108. Default is None. Select the encryption level. For more information, see Configuring Encryption and Compression on page 108. Default is 1. Enter the pacing size. For more information, see Configuring Pacing on page 109. Default is 0. Specifies whether, or not, pacing size is in number of rows. For more information, see Configuring Pacing on page 109.

Encryption Type

No

Encryption Level

No

Pacing Size

No

Interpret as Rows

No

MSSQL Batch Mode Relational Connections

97

Table 4-8. MSSQL Batch Mode Relational Connection Attributes


Connection Attribute Convert character data to string Write Mode Required No Description Convert embedded nulls in character fields to spaces. See Converting Character Data to Strings on page 110. Default is no. Select the write mode. See Configuring Write Mode on page 111. Default is Confirm Write On.

No

98

Chapter 4: Configuring Connections

MSSQL CDC Mode Application Connections


Configure a PWX MSSQL CDC Real Time application connection to extract data from Microsoft SQL Server in real-time mode. Table 4-9 describes the connection attributes you configure for Microsoft SQL Server realtime mode application connections:
Table 4-9. MSSQL CDC Mode Application Connection Attributes
Connection Attribute Name Code Page Required Yes Yes Description Name of the application connection. Select the code page for the Integration Service to use to extract data from the source database. Note: In Unicode mode, PWXPC sets the code page with this value overriding any code page specification in the PowerExchange configuration file. Location User Name Password Compression Encryption Type Encryption Level Pacing Size Interpret as Rows Image Type Yes Yes Yes No Yes No Yes No No Location of the source or target database as specified as a node in the PowerExchange configuration file dbmover.cfg. User name for the Microsoft SQL Server database. Password for the user name. Select to compress source data during the PowerCenter session. See Configuring Encryption and Compression on page 108. Select the encryption type. See Configuring Encryption and Compression on page 108. Select the encryption level. See Configuring Encryption and Compression on page 108. Enter the pacing size. See Configuring Pacing on page 109. Specifies whether, or not, pacing size is in number of rows. See Configuring Pacing on page 109. Select the image type. See Configuring Image Type on page 113. Default is BA. Specify the Application Name. See Configuring CDC Restart Attributes on page 117. Default is the first 20 characters of the workflow name. Specify the Restart token folder. See Configuring CDC Restart Attributes on page 117. Default is $PMRootDir/Restart. Specify the Restart token file. See Configuring CDC Restart Attributes on page 117. Default is the Application Name if specified or the workflow name if Application Name is not specified.

Application Name

No

RestartToken File Folder RestartToken File Name

Yes

No

MSSQL CDC Mode Application Connections

99

Table 4-9. MSSQL CDC Mode Application Connection Attributes


Connection Attribute Number of Runs to Keep RestartToken File Recovery Cache Folder UOW Count Required No Description Specify the maximum number of backup copies to keep of the Restart Token File. See Managing Session Log and Restart Token File History on page 175. Default is 0. Specify file cache folder to enable recovery for the session. See Enabling Session Recovery on page 165. Default is $PMRootDir/Cache. Specifies the number of units of work (UOWs) you want the PWXPC to read from the source before flushing data to the target. If you enter: -1 = UOW count is not used 0 = UOW count is not used n = n is the count of UOWs See Configuring UOW Count on page 118 and Understanding Commit Processing with PWXPC on page 123. Default is 1. Reader Time Limit No Specifies the number of seconds that Integration Service reads data from the source before stopping. If you enter 0, Reader Time Limit does not limit the reader time. This attribute is intended for testing purposes only. Tip: Use Idle Time instead of Reader Time Limit. Default is 0. Specifies the number of seconds the PowerExchange Listener remains idle after reaching the end of the change log (as indicated by message PWX09967) before returning an end-of-file (EOF). If you enter: -1 = EOF is never retuned; the session runs continuously. 0 = EOF is returned at the end of log; the session terminates successfully. n = n is the number of seconds. See Configuring Idle Time on page 115. Default is -1. Real-Time Flush Latency No Specifies the milliseconds between buffer flushes. Valid values are between 0 and 86400 milliseconds. PWXPC sets values between 0 and 2000 to 2000. See Configuring Real-Time Flush Latency on page 119. Default is 0. Specifies the number of change records (not UOWs) after which a commit should be inserted into the change stream. See Configuring Commit Threshold on page 121. Default is 0.

No

No

Idle Time

No

Commit Threshold

No

100

Chapter 4: Configuring Connections

Table 4-9. MSSQL CDC Mode Application Connection Attributes


Connection Attribute Convert character data to string Event Table CAPI Connection Name Override Retrieve PWX Log Entries Required No Description Convert embedded nulls in character fields to spaces. See Converting Character Data to Strings on page 110. Default is no. Specifies the PowerExchange extraction map name used for event processing. SeeConfiguring Event Table Processing on page 114. Overrides the default CAPI connection name. See Configuring the CAPI Connection Name Override on page 115. Include all related PowerExchange log entries in the session log.

No No No

MSSQL CDC Mode Application Connections

101

Oracle Batch Mode Relational Connections


Configure relational database connections for Oracle to extract data and load data in batch mode to Oracle sources and targets. Table 4-10 describes the connection attributes you configure for Oracle relational database connections:
Table 4-10. Oracle Batch Mode Relational Connection Attributes
Connection Attribute Name Code Page Required Yes Yes Description Name of the relational database connection. Select the code page for the Integration Service to use to extract data from the source database. Note: In Unicode mode, PWXPC sets the code page with this value overriding any code page specification in the PowerExchange configuration file. Location TNS Name User Name Password Environment SQL Compression Encryption Type Encryption Level Pacing Size Interpret as Rows Convert character data to string Yes Yes Yes Yes No No No No No No No Location of the source or target database as specified as a node in the PowerExchange configuration file dbmover.cfg. Net Service Name of the Oracle instance. User name for the database being connected to. Password for the user name. SQL commands run in the database environment. Select to compress source data during the PowerCenter session. See Configuring Encryption and Compression on page 108. Select the encryption type. See Configuring Encryption and Compression on page 108. Select the encryption level. See Configuring Encryption and Compression on page 108. Enter the pacing size. See Configuring Pacing on page 109. Specifies whether, or not, pacing size is in number of rows. See Configuring Pacing on page 109. Convert embedded nulls in character fields to spaces. See Converting Character Data to Strings on page 110. Default is no.

102

Chapter 4: Configuring Connections

Table 4-10. Oracle Batch Mode Relational Connection Attributes


Connection Attribute Write Mode Reject File Required No No Description Select the write mode. See Configuring Write Mode on page 111. Default is Confirm Write On. Overrides the default prefix of PWXR for the reject file. PowerExchange creates the reject file on the target machine when the Write Mode is Asynchronous with Fault Tolerance. Note: Specifying PWXDISABLE will prevent creation of the reject files. See the PowerExchange Reference Manual for further information.

Oracle Batch Mode Relational Connections

103

Oracle CDC Mode Application Connections


Configure a PWX Oracle Change Capture Real Time application connection to extract data from Oracle in real-time mode. Table 4-11 describes the connection attributes you configure for Oracle real-time mode application connections:
Table 4-11. Oracle CDC Mode Application Connection Attributes
Connection Attribute Name Code Page Required Yes Yes Change or Real-time Both Both Description Name of the application connection. Select the code page for the Integration Service to use to extract data from the source database. Note: In Unicode mode, PWXPC sets the code page with this value overriding any code page specification in the PowerExchange configuration file. Location User Name Password Compression Yes Yes Yes No Both Both Both Both Location of the source or target database as specified as a node in the PowerExchange configuration file dbmover.cfg. User name for Oracle. Password for the user name. Select to compress source data during the PowerCenter session. See Configuring Encryption and Compression on page 108. Select the encryption type. See Configuring Encryption and Compression on page 108. Select the encryption level. See Configuring Encryption and Compression on page 108. Enter the pacing size. See Configuring Pacing on page 109. Specifies whether, or not, pacing size is in number of rows. See Configuring Pacing on page 109. Select the image type. See Configuring Image Type on page 113. Default is BA. Specify the Application Name. See Configuring CDC Restart Attributes on page 117. Default is the first 20 characters of the workflow name. Specify the Restart token folder. See Configuring CDC Restart Attributes on page 117. Default is $PMRootDir/Restart.

Encryption Type Encryption Level Pacing Size Interpret as Rows Image Type

Yes No Yes No No

Both Both Both Both Both

Application Name

No

Both

RestartToken File Folder

Yes

Both

104

Chapter 4: Configuring Connections

Table 4-11. Oracle CDC Mode Application Connection Attributes


Connection Attribute RestartToken File Name Required No Change or Real-time Both Description Specify the Restart token file. See Configuring CDC Restart Attributes on page 117. Default is the Application Name if specified or the workflow name if Application Name is not specified. Specify the maximum number of backup copies to keep of the Restart Token File. See Managing Session Log and Restart Token File History on page 175. Default is 0. Specify file cache folder to enable recovery for the session. See Enabling Session Recovery on page 165. Default is $PMRootDir/Cache. Specifies the number of units of work (UOWs) you want the PWXPC to read from the source before flushing data to the target. If you enter: -1 = UOW count is not used 0 = UOW count is not used n = n is the count of UOWs See Configuring UOW Count on page 118 and Understanding Commit Processing with PWXPC on page 123. Default is 1. Reader Time Limit No Real Time Specifies the number of seconds that Integration Service reads data from the source before stopping. If you enter 0, Reader Time Limit does not limit the reader time. This attribute is intended for testing purposes only. Tip: Use Idle Time instead of Reader Time Limit. Default is 0. Specifies the number of seconds the PowerExchange Listener remains idle after reaching the end of the change log (as indicated by message PWX-09967) before returning an end-offile (EOF). If you enter: -1 = EOF is never retuned; the session runs continuously. 0 = EOF is returned at the end of log; the session terminates successfully. n = n is the number of seconds. See Configuring Idle Time on page 115. Default is -1.

Number of Runs to Keep RestartToken File

No

Both

Recovery Cache Folder UOW Count

No

Both

No

Both

Idle Time

No

Real Time

Oracle CDC Mode Application Connections

105

Table 4-11. Oracle CDC Mode Application Connection Attributes


Connection Attribute Real-Time Flush Latency Required No Change or Real-time Real Time Description Specifies the milliseconds between buffer flushes. Valid values are between 0 and 86400 milliseconds. PWXPC sets values between 0 and 2000 to 2000. See Configuring Real-Time Flush Latency on page 119. Default is 0. Specifies the number of change records (not UOWs) after which a commit should be inserted into the change stream. See Configuring Commit Threshold on page 121. Default is 0. Overrides the instance information in the ORACLEID statement in the PowerExchange configuration file (dbmover.cfg). For more information, see the PowerExchange Oracle Adapter Guide. Overrides the connection value in the ORACLEID statement in the PowerExchange configuration file (dbmover.cfg). For more information, see the PowerExchange Oracle Adapter Guide. Overrides the schema name for a group of registrations. For more information, see the PowerExchange Oracle Adapter Guide. Convert embedded nulls in character fields to spaces. See Converting Character Data to Strings on page 110. Default is no. Specifies the PowerExchange extraction map name used for event processing. See Configuring Event Table Processing on page 114.. Overrides the default CAPI connection name. See Configuring the CAPI Connection Name Override on page 115 Include all related PowerExchange log entries in the session log.

Commit Threshold

No

Real Time

Instance Name

No

Real Time

Connect String

No

Real Time

Source Schema Name Convert character data to string Event Table

No

Both

No

Both

No

Real Time

CAPI Connection Name Override Retrieve PWX Log Entries

No

Real Time

No

Both

106

Chapter 4: Configuring Connections

Sybase Batch Mode Relational Connections


Configure relational database connections for Sybase to extract data and load data in batch mode to Oracle sources and targets. Table 4-12 describes the connection attributes you configure for Sybase relational database connections:
Table 4-12. Sybase Batch Mode Relational Connection Attributes
Connection Attribute Name Code Page Required Yes Yes Description Name of the relational database connection. Select the code page for the Integration Service to use to extract data from the source database. Note: In Unicode mode, PWXPC sets the code page with this value overriding any code page specification in the PowerExchange configuration file. Location Server Name Database Name User Name Password Environment SQL Compression Encryption Type Encryption Level Pacing Size Interpret as Rows Convert character data to string Write Mode Yes Yes Yes Yes Yes No No No No No No No Location of the source or target database as specified as a node in the PowerExchange configuration file dbmover.cfg. Name of the Sybase instance. Name of the database in the Sybase instance. User name for the database being connected to. Password for the user name. SQL commands run in the database environment. Select to compress source data during the PowerCenter session. See Configuring Encryption and Compression on page 108. Select the encryption type. See Configuring Encryption and Compression on page 108. Select the encryption level. See Configuring Encryption and Compression on page 108. Enter the pacing size. See Configuring Pacing on page 109. Specifies whether, or not, pacing size is in number of rows. See Configuring Pacing on page 109. Convert embedded nulls in character fields to spaces. See Converting Character Data to Strings on page 110. Default is no. Select the write mode. See Configuring Write Mode on page 111. Default is Confirm Write On.

No

Sybase Batch Mode Relational Connections

107

Configuring Connection Attributes


The connection attributes you configure depend on how you want to run the PowerCenter session to extract data from the source. This is not the complete list of all attributes that can be configured. The complete list of attributes for all connections is documented in preceding sections of this chapter under the various connection types. Some of the connection attributes that you can choose are:

Common connection attributes:


Encryption and compression Pacing Convert character data to string Write Mode Retrieve PWX log entries Image type Event Table CAPI Connection Name Idle time CDC Restart UOW Count Real-Time Flush Latency Commit Threshold

Batch application and relational connection attributes:


CDC-specific connection attributes:


Common Connection Attributes


The attributes discussed in this section are common to both the PWXPC relational and application connection types.

Configuring Encryption and Compression


When you configure connections to extract and load data from PowerExchange, you can set encryption and compression values to encrypt and compress data during the PowerCenter session. See the PowerExchange Reference Manual for additional information.

108

Chapter 4: Configuring Connections

Table 4-13 describes the compression and encryption attributes:


Table 4-13. Encryption and Compression Connection Attributes
Connection Attribute Compression Encryption Type Required No Yes Description Select to compress source data during the PowerCenter session. Select one of the following values for the encryption type: - None - RC2 - DES Default is None. Encryption Level Yes If you select None for Encryption Type, then PowerExchange ignores this value. If you select RC2 or DES for Encrypt, enter one of the following values for the encryption level: 1 = 56-bit key encryption. 2 = For DES; Triple DES 164 bit key encryption. For RC2; 64 bit key encryption. 3 = For DES; Triple DES 164 bit key encryption For RC2; 64 bit key encryption. Default is 1.

Configuring Pacing
You can configure the pacing size to slow the data transfer rate from the PowerExchange Listener. The pacing size determines the amount of data the PowerExchange Listener passes to the source or target. Configure the pacing size if an external application, database, or the Integration Service node is a bottleneck during the session. For more information about pacing size, see the PowerExchange Reference Manual. Table 4-14 describes the pacing attributes:
Table 4-14. Pacing Size Connection Attributes
Connection Attribute Pacing Size Required No Description Enter the amount of data the source system can pass to the PowerExchange Listener. The lower the value, the faster the session performance. Minimum value is 0. Enter 0 for maximum performance. Default is 0. Interpret as Rows No Select to represent the pacing size in number of rows. If you clear this option, the pacing size represents kilobytes. This option is selected by default.

Configuring Connection Attributes

109

Converting Character Data to Strings


Some data fields that are mapped as character fields actually contain non-character data in the field; specifically a null or low value (x00). This usually occurs when a single field is usually a collection of sub-fields. Nulls (x00) are used as delimiters between the sub-field values. However, there is no explicit mapping of the sub-field other than in the application reading the data. When this data is extracted by PowerCenter, it is truncated when the first null indicator (x00) is detected. So, the entire contents of the field cannot be extracted and then manipulated in PowerCenter. For example, a character field contains the following hexadecimal EBCDIC data:
C1C2C300C4C5C6C700C8C9

The application that processes this field uses the x00 as a delimiter and parses the field into three strings:

xC1C2C3 (ABC) xC4C5C6C7 (DEFG) xC8C9 (HI)

If this field is read from PowerExchange by PowerCenter, the result be only the string ABC. The rest of the field would be truncated when the first null indicator is detected in the data. This connection attributes exists to allow these types of fields to be extracted. If selected, embedded null indicators (x00) are converted to spaces (x40). As a result, the example above would result in the field containing the following hexadecimal EBCDIC data:
C1C2C340C4C5C6C740C8C9

which when read by PowerCenter results in string ABC DEFG HI. Table 4-15 describes the Convert character data to string attribute:
Table 4-15. Convert Character Data Connection Attribute
Connection Attribute Convert character data to string Required No Description Select to convert embedded nulls in character fields to spaces. Default is to leave embedded nulls as-is.

Batch Application and Relational Connection Attributes


These attributes are available in both PWXPC batch application and relational connection types unless otherwise noted.

110

Chapter 4: Configuring Connections

Configuring Write Mode


Table 4-16 describes the Write Mode attributes:
Table 4-16. Write Mode Connection Attribute
Connection Attribute Write Mode Required No Description Configure one of the following write modes: - Confirm Write On. Sends data to the PowerExchange Listener and waits for a success/no success response before sending more data. This is important if good error recovery is a priority. It has the drawback of slowing data transfer rates. - Confirm Write Off. Sends data to the PowerExchange Listener without waiting for a success/no success response (asynchronously). While faster than Confirm Write On, only use this option when the target table can be reloaded if an error occurs. - Asynchronous with Fault Tolerance. Sends data to the PowerExchange Listener asynchronously similar to Confirm Write Off but with the ability to detect errors. This provides the speed of Confirm Write Off with the data integrity of Confirm Write On. Default is Confirm Write On. Reject File No Overrides the default prefix of PWXR for the reject file. PowerExchange creates the reject file on the target machine when the Write Mode is Asynchronous with Fault Tolerance. NOTE: Specifying PWXDISABLE will prevent creation of the reject files. See the PowerExchange Reference Manual for further information.

There are three possible settings for Write Mode:


Confirm Write On Confirm Write Off Asynchronous with Fault Tolerance

Asynchronous with Fault Tolerance is only available for PWX DB2390, PWX DB2400, PWX DB2UDB and PWX Oracle relational connections. Confirm Write On ensures that data is sent synchronously to the PowerExchange Listener (rather than buffered). After a SQL request is sent, the sender then waits for the response from PowerExchange before the next SQL request is sent. This is important if good error recovery is a priority. It has the drawback of slowing data transfer rates. In order to stop session execution when errors are encountered, specify a value larger than 0 in the Session Error handling option Stop on errors on the Config Object tab. Confirm Write Off sends data asynchronously to the PowerExchange Listener by buffering the data. While this method provides greater speed compared to Confirm Write On, it removes the ability to determine exactly which SQL statement failed in error situations. As a result, you must reload the entire table if an error occurs to ensure data integrity. Use this setting only when loading tables.

Configuring Connection Attributes

111

Note: The PowerCenter statistics are unreliable when using Confirm Write Off.

Asynchronous (write) with Fault Tolerance combines the speed of Confirm Write Off with error detection of Confirm Write One. Data is buffered and sent asynchronously to the PowerExchange Listener. A reject file is created on the target machine when SQL errors occur allowing any errors to be corrected without reloading the entire table. You can also specify how to handle specific SQL return codes. In order to stop session execution when errors are encountered, specify a value larger than 0 in the Session Error handling option Stop on errors on the Config Object tab. See the PowerExchange Reference Manual for a complete description of Asynchronous Write with Fault Tolerance.

Retrieving PWX Log Entries


This attribute is specific to the PWXPC application connection types. Table 4-17 describes the Retrieve PWX Log Entries attribute:
Table 4-17. Retrieve PWX Log Entries Connection Attribute
Connection Attribute Retrieve PWX Log Entries Required No Description Include all related PowerExchange log entries in the session log. Default is no PowerExchange messages in the session log.

Retrieving PowerExchange log entries will include into the PowerCenter session log messages related to the session that are normally found only in the PowerExchange log. This allows a single log to provide a view of both PowerCenter and PowerExchange processing, speeding diagnosis when errors occur. The PowerExchange messages related to the session are returned in the session log as a part of message PWXPC_10091.

CDC-Specific Connection Attributes


The attributes discussed in this section are specific to the PWXPC CDC application connection types. In order to properly configure CDC sessions, be sure to review the following information:

CDC-Specific Connection Attributes on page 112 Extracting CDC Data in Change and Real-time Modes on page 135 Understanding PWXPC Restart and Recovery on page 151 Enabling Session Recovery on page 165 Configuring CDC Sessions on page 166

112

Chapter 4: Configuring Connections

Configuring Image Type


Table 4-18 describes the Image Type attribute:
Table 4-18. Image Type Connection Attribute
Connection Attribute Image Type Required No Description Select one of the following types: AI = Extract after images only. BA = Extract before and after images. Default is BA.

You can configure whether before-image data is extracted for update operations using the Image Type specification. PowerExchange captures before and after image data for all updates, regardless of source type. The before-image data can always be extracted in real-time mode. In change mode, it is possible that only after-image data is available if the changes have been specifically condensed with only after-images. See the appropriate PowerExchange Adapter guide for the source type for additional information the change Condense process.If you specify Image Type=BA, the before-image and after-image data of the entire row that was updated are presented as two separate rows: a delete with the before-image data and an insert with the after-image data. If you specify Image Type=AI, then only after-image data is provided for update records (unless you explicitly request before-image data). With AI processing, updates are passed as update records and not changed to a delete/insert pair as occurs in BA processing. It is possible, selectively by column, to request that before-image column data be embedded within the after-image update record. When this form of before-image data is used, the change remains an update (as opposed to being changed into a delete/insert pair). When you use embedded before-image columns, you should specify AI for Image Type. In order to request that the before-image of the column be embedded into the update row, you must alter the PowerExchange extraction map. In the PowerExchange Navigator, select the columns for which you would like before-image data. This will create before-image columns (DTL__BI_columnname) within the extraction map for those columns selected. This allows the before-image data to be easily manipulated in your mapping as it is contained in the same update record as the after-image data. One possible use for embedded before-image data is to handle update records where the primary key has been updated. In some relational databases (such as DB2/390), it is possible to do an update to the primary key (thereby changing the key value). The RDBMS understands that this operation is equivalent to deleting the row and then re-adding it with a new primary key. This activity is logged as an update and so will be passed as an update record when extracted. In some circumstances this may causes problems when attempting to apply this update to the target database as some relational databases does not allow primary key values to be updated. Including the before-image data for key columns will allow this type of activity to be detected. The Flexible Key Custom transformation will allow this to be properly handled at the target.

Configuring Connection Attributes

113

Note: To use the Flexible Key Custom transformation, you must configure before-image

columns in the PowerExchange extraction map. For more information about Flexible Key Custom transformations, see Flexible Key Custom Transformation on page 177. For additional information about configuring before-image columns, see the PowerExchange Adapter guide for the source type.

Configuring Event Table Processing


Table 4-19 describes the Event Table attribute:
Table 4-19. Event Table Connection Attribute
Connection Attribute Event Table Required No Change Real Time Real Time Description Specifies the PowerExchange extraction map name used for event table processing.

By using an event table, you can stop real-time CDC sessions based on an external event. For example, if you want to stop a CDC extraction nightly, after all of the days changes have been processed, you can use an event table to make a change to that table at midnight. When PowerExchange processes the change for the event table, it will stop reading changes at that point and shut down the extraction. To use event table processing, complete the following tasks: 1. Register the event table for CDC. The event table must be the same source type and on the same machine as the CDC data being extracted. For example, if you are extracting DB2 changes from MVS, then the event table must be a DB2 table in the same DB2 subsystem as the DB2 changes. 2. 3. 4. 5. 6. Specify the extraction map name for the event table in the connection Event Table attribute for the CDC sessions you wish to stop based on an event. When the event occurs, make a change to the event table. When PowerExchange reads the change to the event table, it places an end-of-file (EOF) in the change stream. PWXPC processes the EOF, passes it along to the Integration Service and shuts down the reader. The Integration Service completes writing all of the data currently in the pipeline and ends the session.

114

Chapter 4: Configuring Connections

Configuring the CAPI Connection Name Override


Table 4-20 describes the CAPI Connection Name Override attribute:
Table 4-20. CAPI Connection Override Connection Attribute
Connection Attribute CAPI Connection Name Override Required No Change Real Time Real Time Description Overrides the default CAPI connection name.

PowerExchange allows a maximum of eight CAPI_CONNECTION statements in the PowerExchange DBMOVER configuration file. You use multiple CAPI_CONNECTION statements to capture changes from more than one database type through a single PowerExchange Listener on a single machine. For example, you can capture changes for Oracle and UDB using a single PowerExchange Listener using multiple CAPI_CONNECTION statements. You can specify the default CAPI_CONNECTION statement by coding the CAPI_SRC_DFLT statement in the PowerExchange configuration file. You request other CAPI_CONNECTION statements by specifying the CAPI Connection Name Override attribute. See the PowerExchange Reference Manual for additional information about CAPI_CONNECTION statements.

Configuring Idle Time


Idle Time is only applicable to Real-time connections. Table 4-21 describes the Idle Time attribute:
Table 4-21. Idle Time Connection Attribute
Connection Attribute Idle Time Required No Change Real-time Real Time Description Specifies the number of seconds the PowerExchange Listener remains idle after reaching the end of the change log (as indicated by message PWX-09967) before returning an end-of-file (EOF). If you enter: -1 = EOF is never retuned; the session runs continuously. 0 = EOF is returned at the end of log; the session terminates successfully. n = EOF is returned after no data for n seconds; the session ends. Default is -1.

Use the Idle Time terminating condition to indicate whether the real-time session should run continuously (forever) or shutdown after a specified period of time. This parameter requires a valid value and has a valid default value.
Configuring Connection Attributes 115

The Idle Time timing starts when the PowerExchange Listener begins reading changed data for the source(s). If -1 is entered for Idle Time, PowerExchange will never return an end-of-file (EOF) to the Integration Server thereby causing the session to run forever. This is generally how a real-time session is setup. It is the default value primed for Idle Time in all of the real-time connections. Continuous extraction sessions must be stopped using either the PowerExchange STOPTASK command or through PowerCenter using Workflow Monitor Stop/Abort or the pmcmd commands to stop and abort tasks and workflows.

If you stop the session or workflow using the PowerCenter Workflow Monitor or using pmcmd, this is considered a normal termination. PowerCenter will perform a graceful stop, instructing the CDC reader and the writers to shutdown and waiting until all data currently in the pipeline is processed. For more information about stopping real-time sessions and workflows, see the PowerCenterWorkflow Administration Guide. If you abort the session or workflow using the PowerCenter Workflow Monitor or using pmcmd, this is considered an abnormal termination since PowerCenter does not wait for the reader and writer to shutdown or until all data in the pipeline is processed. For more information about aborting sessions and workflows, see the PowerCenterWorkflow Administration Guide. The PowerExchange STOPTASK command will stop the extraction task in the PowerExchange Listener and pass an EOF to the Integration Server which will terminate the session successfully. For more information on the PowerExchange STOPTASK command, see the Task Utility (DTLUTSK) documented in PowerExchange Utilities Guide.

Warning: Ensure that you have switched the Session Properties Commit Type attribute to Source and unchecked the Commit at End of File attribute. By default, Commit at End of File is on and it will cause data to be committed after the CDC reader has shutdown and committed the restart tokens. As a result, when the session is restarted, duplicate data will be sent to the target.

If 0 is entered for Idle Time, PowerExchange will return an EOF to the Integration Service when the end-of-log (EOL) is reached. After the EOF is received, the Integration Service will terminate the session successfully, meaning that all data will be committed and the restart token file will be updated. The end-of-log is determined by what was the current end of the change stream at the point that PowerExchange started to read the change stream. This concept of EOL is required because the change stream is generally not static so the actual end-of -log is continually moving forward. PowerExchange issues the following message when EOL is reached:
PWX-09967 CAPI i/f: End of log for time <yy/mm/dd> <hh:mm:ss> reached

For example, if a session starts reading a change stream at 10:00 a.m., the EOL at that point is determined. After PowerExchange reaches that point in the change stream, it will return EOF to the Integration Service. This means that changes recorded in the change stream after 10:00 a.m. will not be processed. Specifying 0 for Idle time is a useful in situations where you want to extract changed data for sources periodically as opposed to continuously.
116 Chapter 4: Configuring Connections

If a positive number is specified for Idle Time, then the session will run until no data is returned for the period of time specified. After Idle Time is reached, PowerExchange will send an end-of-file (EOF) to the Integration Service and the session will terminate successfully. Specifying a low Idle Time (1 for example) can result in this time being reached before all available data in the change stream has been read. The following message is issued to indicate that the Idle Time has been reached:
[PWXPC_10072] [INFO] [CDCDispatcher] session ended after waiting for [idle_time] seconds. Idle Time limit is reached

This message is also issued when a continuous extraction is stopped using the PowerExchange STOPTASK command. In this case, the idle_time variable in the message will show 86400 which is the never expire time limit used when an Idle Time of -1 is specified.
Tip: In highly active systems, a positive value for Idle Time may never match. Use 0 if you do

not want the session to run continuously. For example, if you specify an Idle Time of 10 seconds and PowerExchange finds no data for the source(s) in the change stream for a 10 second period, PowerExchange will return an EOF to the Integration Service which will cause it to terminate successfully. If you specify values for Reader Time Limit and Idle Time, the Integration Service stops reading data from the source at the point based on whichever one of these terminating conditions is reached first. So, if the Reader Time Limit is reached prior to the Idle Time limit, the session will stop at that point regardless of the fact that Idle Time has not yet been reached.
Warning: Reader Time Limit does not result in normal termination of a CDC session. Use Idle Time instead of Reader Time Limit.

Configuring CDC Restart Attributes


Table 4-22 describes the restart attributes you must configure for CDC sessions:
Table 4-22. Change and Real-time Mode Restart Connection Attributes
Connection Attribute Application Name Required No Description Application name for the extraction. It is part of the audit trail for data extractions by the PowerExchange Listener. The name must be unique for each session. The application name is case sensitive and cannot exceed 20 characters. Default is the first 20 characters of the workflow name.

Configuring Connection Attributes

117

Table 4-22. Change and Real-time Mode Restart Connection Attributes


Connection Attribute RestartToken File Folder Required No Description Folder name that contains the restart token override file on the Integration Service node. Default is $PMRootDir/Restart. RestartToken File Name No File name in the Restart Token File Folder that contains the restart token override file. PWXPC uses the contents of this file, if any, in conjunction with the state information to determine the restart point for the session. Default is the Application Name if specified or the workflow name if Application Name is not specified.

All of these parameters require a valid value and all have valid default values. There are numerous CDC reader application connection attributes that specify restart information. PWXPC uses the restart information to tell PowerExchange from which point to start reading the captured changed data.
Warning: Care must be taken when using the Application Name default as it may not result in a unique name for the application name. It is imperative that the Application Name value and the Restart Token File Name be unique for every session. Results are unpredictable and include session failures and potential data loss if a non-unique name is used for either of these attributes.

For more information about restart token files, see Configuring the Restart Token File on page 162.

Configuring UOW Count


Table 4-23 describes the UOW Count attribute:
Table 4-23. UOW Count Connection Attribute
Connection Attribute UOW Count Required No Change Real-time Both Description Specifies the number of units of work (UOWs) you want the PWXPC to read from the source before flushing data to the target. If you enter: -1 = UOW count is not used 0 = UOW count is not used n = n is the count of UOWs Default is 1.

A unit of work (UOW) is a collection of changes within a single commit scope made by a transaction on the source system. Each unit of work may consist of a different number of changes. This parameter requires a valid value and has a valid default value.

118

Chapter 4: Configuring Connections

When the session runs, the PWXPC reader begins to read data from the PowerExchange Listener. After data is provided to the source qualifier, the UOW Count begins. When you use a non-zero value for the UOW Count session attribute, PWXPC issues a commit to the target when it reaches the number of units of work specified in this terminating condition. When the UOW Count is reached, a real-time flush will be triggered to flush the buffers so that the changed data is committed to the target. The following message appears in the session log to indicate that this has occurred:
[PWXPC_10081] [INFO] [CDCDispatcher] raising real-time flush with restart tokens [restart1_token], [restart2_token] because UOW Count [uow_count] is reached

The commit to the target when reading CDC data is not strictly controlled by the UOW Count specification. The Real-Time Flush Latency and the Commit Threshold values also determine the commit frequency. To understand the affect that all of these values have on commit processing, see Understanding Commit Processing with PWXPC on page 123. For example, if the value for UOW Count is 10, the Integration Service commits all data read from the source to its target after the 10th unit of work is processed (assuming the Real-Time Flush Latency period has not expired first). The lower you set the value, the faster the Integration Service commits data to the target. Therefore, if you require the lowest possible latency for the apply of changes to the target, you should specify a UOW Count of 1.
Warning: When you specify a low UOW Count value, the session might consume more system resources on the target platform. This is because it will commit to the target more frequently. You need to balance performance and resource consumption with latency requirements when choosing the UOW Count and Real-Time Flush Latency values.

Configuring Real-Time Flush Latency


Table 4-24 describes the Real-Time Flush Latency attribute:
Table 4-24. Real-Time Flush Latency Connection Attribute
Connection Attribute Real-Time Flush Latency in milli-seconds Required No Change Real-time Real Time Description Value in milliseconds between buffer flushes. If you enter: 0 to 2000 = PWXPC sets the value to 2000 n = The value specified for n is used if larger than 2000 Valid values are between 0 and 86400000 milliseconds. Default is 0 (2000 milliseconds/2 seconds).

Use the Real-Time Flush Latency terminating condition to control the target commit latency when running in real-time mode. PWXPC commits source data to the target at the end of the specified maximum latency period. This parameter requires a valid value and has a valid default value.

Configuring Connection Attributes

119

When the session runs, PWXPC begins to read data from the source. After data is provided to the source qualifier, the Real-Time Flush Latency interval begins. At the end of each RealTime Flush Latency interval and an end-UOW boundary is reached, PWXPC issues a commit to the target. The following message appears in the session log to indicate that this has occurred:
[PWXPC_10082] [INFO] [CDCDispatcher] raising real-time flush with restart tokens [restart1_token], [restart2_token] because Real-time Flush Latency [RTF_millisecs] occurred

Only complete UOWs are committed during real-time flush processing. The commit to the target when reading CDC data is not strictly controlled by the Real-Time Flush Latency specification. The UOW Count and the Commit Threshold values also determine the commit frequency. To understand the affect that all of these values have on commit processing, see Understanding Commit Processing with PWXPC on page 123. The value specified for Real-Time Flush Latency also controls the PowerExchange Consumer API (CAPI) interface timeout value (PowerExchange latency) on the source platform. The CAPI interface timeout value is displayed in the following PowerExchange message on the source platform (and in the session log if Retrieve PWX Log Entries is specified in the Connection Attributes):
PWX-09957 CAPI i/f: Read times out after <n> seconds

The CAPI interface timeout also affects latency as it will affect how quickly changes are returned to the PWXPC reader by PowerExchange. PowerExchange will ensure that it returns control back to PWXPC at least once every CAPI interface timeout period. This allows the PWXPC to regain control and, if necessary, perform the real-time flush of data returned. A high RTF Latency specification will also impact the speed with which stop requests from PowerCenter are handled as the PWXPC CDC Reader must wait for PowerExchange to return control before it can handle the stop request.
Tip: Use the PowerExchange STOPTASK command to shutdown more quickly when using a

high RTF Latency value. For example, if the value for Real-Time Flush Latency is 10 seconds, PWXPC will issue a commit for all data read after 10 seconds have elapsed and the next end-UOW boundary is received. The lower you set the value, the faster the data commits data to the target. Therefore, if you require the lowest possible latency for the apply of changes to the target, you should specify a low Real-Time Flush Latency value.
Warning: When you specify a low Real-Time Flush Latency interval, the session might consume more system resources on the source and target platforms. This is because:

The session will commit to the target more frequently therefore consuming more target resources. PowerExchange will return more frequently to the PWXPC reader thereby passing fewer rows on each iteration and consuming more resources on the source PowerExchange platform.

You need to balance performance and resource consumption with latency requirements when choosing the UOW Count and Real-Time Flush Latency values.

120

Chapter 4: Configuring Connections

Configuring Commit Threshold


Table 4-25 describes the Commit Threshold attribute:
Table 4-25. Commit Threshold Connection Attribute
Connection Attribute Commit Threshold Required No Change Real-time Real Time Description Enter the number of change records to process before a commit is inserted into the change stream. Note: This parameter puts a commit record into the change stream after the specified number of records. The target commit is still controlled by the UOW Count and Real-Time Flush Latency specification. Default is 0.

Commit Threshold is only applicable to Real-Time CDC sessions. Use the Commit Threshold terminating condition to cause commits before reaching the end of the UOW when processing large UOWs. This parameter requires a valid value and has a valid default value Commit Threshold can be used to cause a commit before the end of a UOW is received, a process also referred to as sub-packet commit. The value specified in the Commit Threshold is the number of records within a source UOW to process before inserting a commit into the change stream. This attribute is different from the UOW Count attribute in that it is a count records within a UOW rather than complete UOWs. The Commit Threshold counter is reset when either the number of records specified or the end of the UOW is reached. This attribute is useful when there are extremely large UOWs in the change stream that might cause locking issues on the target database or resource issues on the PowerCenter Integration Server. The Commit Threshold count is cumulative across all sources in the group. This means that sub-packet commits are inserted into the change stream when the count specified is reached regardless of the number of sources to which the changes actually apply. For example, a UOW contains 900 changes for one source followed by 100 changes for a second source and then 500 changes for the first source. If you set the Commit Threshold to 1000, the commit record is inserted after the 1000th change record which is after the 100 changes for the second source.
Warning: A UOW may contain changes for multiple source tables. Using Commit Threshold can cause commits to be generated at points in the change stream where the relationship between these tables is inconsistent. This may then result in target commit failures.

If 0 or no value is specified, commits will occur on UOW boundaries only. Otherwise, the value specified is used to insert commit records into the change stream between UOW boundaries, where applicable. The value of this attribute overrides the value specified in the PowerExchange DBMOVER configuration file parameter SUBCOMMIT_THRESHOLD. For more information on this PowerExchange parameter, see the PowerExchange Reference Manual.
Configuring Connection Attributes 121

The commit to the target when reading CDC data is not strictly controlled by the Commit Threshold specification. The commit records inserted into the change stream as a result of the Commit Threshold value affect the UOW Count counter. The UOW Count and the RealTime Flush Latency values determine the target commit frequency. For example, a UOW contains 1,000 change records (any combination of inserts, updates, and deletes). If you specify 100 for Commit Threshold and 5 for UOW Count, then a commit record will be inserted after each 100 records and a target commit will be issued after every 500 records. To understand the affect that all of these values have on commit processing, see Understanding Commit Processing with PWXPC on page 123.

122

Chapter 4: Configuring Connections

Understanding Commit Processing with PWXPC


The PowerExchange Client for PowerCenter (PWXPC), like all real-time readers, always uses source-based commit. If the Commit Type in the Session Properties is set to Target, Integration Service will automatically change it to source when the session is run. The following message is issued in the session log to indicate that this has been done:
WRT_8226 Target Load Order Group [1] is set for real-time flushing. Target based commit is switched to source based commit and target based commit interval is used as source based commit interval.

Warning: Duplicate data on targets can occur if the Commit On End Of File option in the Session Properties is enabled. To prevent this, change the Commit Type to Source and then disable the Commit On End Of File option in the Session Properties. This will ensure that PWXPC controls commit processing thereby ensuring the target data and restart tokens are in-sync.

Source-based commit sessions have partitioning restrictions. For more information, see the PowerCenterWorkflow Administration Guide. There are three connection attributes which affect commit processing when running real-time CDC sessions:

Commit Threshold Real-Time Flush Latency UOW Count

Note: When using PWXPC CDC Change connections, the only connection attribute that

affects commit processing is UOW Count. With the exception of Commit Threshold, all source-based commits with PWXPC are done on end-UOW boundaries. Commit Threshold exists to provide sub-packet commit capability; that is, to commit data after a specified number of records within a single UOW. If you specify values for UOW Count and Real-Time Flush Latency, then PWXPC issues commits to the target when it reaches the UOW Count or when the Real-Time Flush Latency period expires, whichever occurs first.When the commit is issued both the Real-Time Flush (RTF) Latency period and the UOW Count counter are reset. PWXPC continues to read data from the source until either the RTF Latency period matches or the UOW Count matches. At which point, it issues another commit. This processing continues until the session terminates. Commits inserted into the change stream as a result of the Commit Threshold specification are counted in the UOW Count counter. Commit Threshold itself does not result in PWXPC issuing a commit to the target. Only UOW Count and Real-Time Flush Latency will cause that to happen. A final commit is also done by PWXPC during reader termination to ensure that all buffered and complete UOWs are committed. Idle Time can impact the commit process by causing the real-time session to terminate. For example, you set the Idle Time value to 10 seconds and the UOW Count to five units of work. When the PWXPC reaches the UOW Count, it commits data to the target and

Understanding Commit Processing with PWXPC

123

continues to read data from the source. If the Idle Time is then reached, PowerExchange stops reading from the source and sends an EOF to the Integration Service which terminates the session. If only three complete UOWs have been read since the previous UOW countbased commit, these will be committed when the session terminates due to the final commit done by PWXPC. To illustrate the interaction of all of the values affecting commit processing, assume the following settings:

Idle Time is -1 (never timeout) Commit Threshold is 0 (no sub-packet commit) RTF Latency is 5000 (5 seconds) UOW Count is 1,000

The PWXPC reader receives 900 complete UOWs in five seconds after the first change row enters the source qualifier. Because the RTF Latency value has matched, a source-based commit is issued at this point. Both the UOW Count and RTF Latency period are then reset. So, another commit will not be issued when the 1,000 UOW is read. The next 1,000 UOWs are read in 4 seconds. So, a commit is issued after these 1,000 UOWs because the UOW Count matched. Again, the RTF Latency period and the UOW Count are reset at this point. More changed data is read and commits continue based on whichever attributes matches first. So, in this example, commits were issued after the first 900 UOWs because RTF Latency matched first and then again after the 1,900th UOW because the UOW Count then matched first. It is therefore possible to have both the Real-Time Flush Latency period and the UOW Count control commits of the data. Commits will always be done on a UOW boundary based (except when Commit Threshold is specified) on whichever attribute matches first. For the lowest latency in getting changed data to the target, use an RTF Latency of 2000 (the default) and a UOW Count of 1. This will cause a commit at each commit point in the source data. Since the RTF Latency will only commit on a UOW boundary and a UOW Count of 1 causes a commit after each complete UOW is received, the effect is to have only UOW Count control the commit process. Of course, this is the most-resource intensive setting from the target DBMS perspective. The RTF Latency specification controls:

The commit latency for the target tables The PowerExchange Consumer API (CAPI) interface timeout value (PowerExchange latency) on the source platform

In addition to impacting the target latency, high values for RTF Latency will impact the speed with which stop requests from PowerCenter are handled. The PWXPC CDC Reader must wait for PowerExchange to return control before it can handle the stop request.
Tip: Use the PowerExchange STOPTASK command to shutdown more quickly when using a

high RTF Latency value. If you want to use less resources on the target system and want only UOW Count to control the commit process, then ensure that Real-Time Flush Latency is set sufficiently high so as
124 Chapter 4: Configuring Connections

not to be a factor. The value necessary to do this is customer-dependent. The size of the UOWs and the speed at which they are read will affect what value represents a high enough RTF Latency period to eliminate it as a factor.

Understanding Commit Processing with PWXPC

125

126

Chapter 4: Configuring Connections

Chapter 5

Working with Sessions

This chapter includes the following topics:


Overview, 128 Extracting Data in Batch Mode, 129 Extracting CDC Data in Change and Real-time Modes, 135 Loading Data to PowerExchange Targets, 142

127

Overview
After you create mappings in the PowerCenter Designer, you can create a session and use the session in a workflow to extract, transform, and load data. You create sessions and workflows in the Workflow Manager. You can create a session in a workflow to extract data in batch, change, or real-time mode. You determine how you want the Integration Service to extract the data when you configure the session. You can also create a session to load data to a target. For more information about creating, configuring, and scheduling workflows, see the PowerCenter Workflow Administration Guide.

Pipeline Partitioning
Pipeline partitioning cannot be used for sources in CDC sessions. You can use it for targets in CDC sessions. For more information about partitioning and a list of all partitioning restrictions, see the PowerCenter Workflow Administration Guide.

Real-time Session Rules and Guidelines


For the list of limitations with real-time mode, see the Real-time Processing chapter of the PowerCenter Workflow Administration Guide.

128

Chapter 5: Working with Sessions

Extracting Data in Batch Mode


To extract data in batch mode, you must select a connection for batch mode and configure session properties. The connection you select and the session properties you configure differ depending on the type of source data.

Extracting Data from Multiple Files


You can extract data from multiple Sequential or VSAM ESDS files with the same record layout using the File List Processing feature of PowerExchange. Use a file list file to provide the names of the files from which you want to extract source data. The PowerExchange Listener extracts data from the files listed in the file list file. You can also override a Sequential or VSAM ESDS source and request File List Processing by specifying the file list file name in the File List Name and ticking the Filelist File box in the session properties. See Session Properties for Non-Relational Batch Mode Sessions on page 129. See the PowerExchange Navigator User Guide for additional information about File List Processing.

Constraint-Based Loading for Relational Targets


In the Workflow Manager, you can specify constraint-based loading for a session. When you select this option, the Integration Service orders the target load on a row-by-row basis. For every row generated by an active source, the Integration Service loads the corresponding transformed row first to the primary key table, then to any foreign key tables. For more information, see:

Constraint-Based Loading for Relational Targets on page 129. PowerCenter Workflow Administration Guide.

Session Properties for Non-Relational Batch Mode Sessions


When you configure a session to extract data from a non-relational source in batch mode, you can override data map information for the source. PWXPC and PowerExchange use this information to extract the source data.
To configure a batch mode session for non-relational sources: 1. 2.

In the Task Developer, double-click a session with a non-relational source to open the session properties. Click the Sources view on the Mapping tab.

Extracting Data in Batch Mode

129

3.

In the Reader field of the Readers settings, the PowerExchange Batch Reader for the specific source type will be shown. The Reader names for non-relational batch sources have one of the following formats:
PowerExchange Batch Reader for <database_type> PowerExchange Reader for <database_type>

The <database_type> is the one of the following:


ADABAS ADABAS Unload Files DB2 Datamaps DB2 Unload Datasets DATACOM IDMS IMS Sequential Files VSAM Files

The name of the reader cannot be altered. The only exception to this is Adabas where you can choose between ADABAS and ADABAS Unload Files. For example, a VSAM source looks as follows:
Figure 5-1. Session Mapping Tab - Batch VSAM Reader

130

Chapter 5: Working with Sessions

4. 5. 6.

In the Connection Value field, select the application connection from the available PWX NRDB Batch connections. Click the Sources view on the Mapping tab. In the Properties settings, configure the following attributes (all fields are optional except where noted):
Attribute Name Schema Name Override Map Name Override File Name ADABAS Password Database Id Override File Id Override DB2 Sub System Id DB2 Table name Unload File Name Filter Overrides Source Type All All ADABAS Unload ADABAS ADABAS, ADABAS Unload ADABAS, ADABAS Unload DB2 Datamaps DB2 Datamaps DB2 Unload Datasets All Description Overrides the source PowerExchange data map schema name. Overrides the source PowerExchange data map name. Specifies the file name of the unloaded Adabas database. Required for ADABAS Unload. Password for the ADABAS database. Overrides the ADABAS Database Id in the PowerExchange data map. Overrides the Adabas file id in the PowerExchange data map. Overrides the DB2 instance name in the PowerExchange data map. Overrides the DB2 Table name in PowerExchange data map. Overrides the unload file name in PowerExchange data map. Allows data to be filtered at the source by PowerExchange. Enter a filter override using the following syntax:
<filter condition1>;<filter condition2>;...

- or <group name1>=<filter condition1>;<group name2>=<filter condition2>;...

Use the <group name> syntax to limit the application of the filter to a specific record. If you do not specify <group name> and the source mapping is a multi-record source, then the filter condition applies to all records in the source mapping. For example, you can select only records with ID column values that contain DBA for a multi-record source with two records called USER1 and USER by specifying either:
USER1=ID=DBA;USER2=ID=DBA

- or ID=DBA

See Filtering Source Data Using PWXPC on page 230. IMS Unload File Name IMS IMS database unload file name. Required if you want to read source data from the backup file instead of the IMS database.

Extracting Data in Batch Mode

131

Attribute Name File Name Override

Source Type VSAM, SEQ

Description Overrides the data set or file name in the PowerExchange data map. Enter enter the complete data set or file name. For the AS400, this name should be: library_name/file_name. If you selected the Filelist File check box, enter the filelist file name in the File Name Override.

Filelist File

VSAM, SEQ

Select if the File Name Override field contains the data set name of a list of files. Only select this option if you have entered a filelist file for File Name Override. Overrides the SQL query sent to PowerExchange, including any Filter Overrides.

SQL Query Override

All

For information about other session properties, see the PowerCenter Workflow Administration Guide.
7.

Click OK.

Session Properties for Relational Batch Mode Sessions


To extract data from a relational source in batch mode, select a PWXPC relational database connection. You can then configure the session properties. Session properties unique for PowerExchange are noted.
To configure a relational source batch mode session: 1. 2. 3.

In the Task Developer, double-click a session with a relational source to open the session properties. Click the Sources view on the Mapping tab. In the Reader field of the Readers settings, select Relational Reader. For DB2 on z/OS, you can also select PowerExchange Reader for DB2 Image Copy.

132

Chapter 5: Working with Sessions

For example, the available readers for a DB2 source looks as follows:
Figure 5-2. Session Mapping Tab - DB2 Readers

Note: The PowerExchange Reader for DB2 Image Copy is only applicable to DB2 for z/

OS sources. It cannot be used for DB2 sources on other platforms.


4.

In the Connection Value field, select PWX NRDB Batch application connection if using the DB2 Image Copy reader.

Extracting Data in Batch Mode

133

Select the appropriate PWX relational database connection if using the relational reader:
5.

PWX DB2390 for DB2 for z/OS PWX DB2400 for DB2 for i5/OS PWX DB2UDB for DB2 for Linux, UNIX, and Windows PWX Oracle for Oracle PWX MSSQLServer for Microsoft SQL Server PWX Sybase for Sybase

You can configure the following attributes for the PowerExchange Reader for DB2 Image Copy:
Attribute Name Schema Name Override Map Name Override DB2 Sub System Id Image Copy Dataset Disable Consistency Checking Filter Overrides Description Overrides the source schema name. Overrides the source table name. Overrides the DB2 instance name in the PowerExchange data map. Provides the image copy data set name. If not specified, the most current image copy data set is used. Overrides the unload file name in PowerExchange data map. Allows data to be filtered at the source by PowerExchange. Enter a filter override using the following syntax:
<filter condition1>;<filter condition2>;...

For example, you can select only records with ID column values that contain DBA by specifying:
ID=DBA

See Filtering Source Data Using PWXPC on page 230. SQL Query Override Overrides the SQL query sent to PowerExchange, including any filter overrides.

For information about other session properties, see the PowerCenter Workflow Administration Guide.
6.

Click OK.

134

Chapter 5: Working with Sessions

Extracting CDC Data in Change and Real-time Modes


To extract change capture data in change mode (CAPX), you select a change mode application connection. To extract data in real-time mode (CAPXRT), you select a real-time mode application connection.
Note: For compatibility purposes, non-relational source definitions imported in PowerCenter

7.x can still select either Batch or CDC readers and application connections. Non-relational source definitions imported in PowerCenter 8.x automatically have the appropriate Batch Reader selected for the source type. This reader selection cannot be changed. In order to properly configure CDC sessions, review the following topics:

CDC-Specific Connection Attributes on page 112 Understanding Commit Processing with PWXPC on page 123 Extracting CDC Data in Change and Real-time Modes on page 135 Understanding PWXPC Restart and Recovery on page 151 Configuring the Restart Token File on page 162 Enabling Session Recovery on page 165 Configuring CDC Sessions on page 166

PowerExchange Extraction Maps


The metadata that is used for sessions with Change Data Capture (CDC) sources is taken from the PowerExchange extraction maps. Extraction maps are created by the PowerExchange Navigator when the source is initially registered for Change Data Capture. These can be manually modified at a later date. You can also create new extraction maps using an existing capture registration. When importing source definitions with PowerCenter Designer, you can specify the CDC Datamaps option (requesting extraction maps) in the Import from PowerExchange dialog box. Source definitions created from extraction maps contain the extraction map schema and map name in the Metadata Extensions. This eliminates the need to specify the extraction map name in the session properties. Source definitions created from relational database metadata require that you specify the extraction map name in the Session Properties if you want to use a CDC reader and application connection. Source definitions created in PowerCenter V8.x using the Import from PowerExchange dialog box with the CDC Datamap option ticked do not require the specification of the extraction map name. Import CDC sources using the CDC Datamaps option to minimize the customization required both in Designer and Workflow Manager.
Note: With non-relational sources imported in PowerCenter V8.x or later, extraction maps are

the only choice if you want to use a CDC reader. It is no longer possible to select a CDC reader with sources created from PowerExchange data maps in PowerCenter V8.x (that is, sources with Database Type of PWX_source_NRDB2).

Extracting CDC Data in Change and Real-time Modes

135

If you want to extract change data from a multi-record non-relational source using extraction maps, you must create a PowerExchange capture registration for every table in the data map. This creates an extraction map for each table. You can then either import the data map as a multi-record non-relational source (for batch usage) or import the extraction maps for each table (for CDC usage).

Extracting CDC Data from Multiple Sources in a Session


If the mapping contains multiple sources from which you want to extract CDC data in change mode or real-time mode, all sources must use the same application connection. You need only specify the application connection on the first source in the mapping. All other connections can have a Type of None.
Note: All of the sources must be the same source data type. Sessions with mappings that

include sources with multiple data types will fail when executed.

Constraint-Based Loading for Relational Targets


In the Workflow Manager, you can specify constraint-based loading for a session. When you select this option, the Integration Service orders the target load on a row-by-row basis. For every row generated by an active source, the Integration Service loads the corresponding transformed row first to the primary key table, then to any foreign key tables. The constraint-based loading session attribute, Constraint based load ordering, only applies to insert operations. With changed data, there will usually be a mixture of inserts, updates, and deletes. In order to obtain complete constraint-based loading, you must also set Custom Property FullCBLOSupport=Yes. This causes changed data to be loaded to targets in the same Transaction Control Unit (TCU) using the Row Id assigned to the data by the CDC Reader. As a result, data is applied to the targets in the same order in which it was applied to the sources. The following message will be issued in the session log to indicate that this support is enabled:
WRT_8417 Complete Constraint-Based Load Ordering is enabled.

The Custom Property can be set in the session Config Object tab in the Custom Properties attribute. This property can also be set in the Integration Service making it applicable to all workflows and sessions that use that Integration Service. See Knowledge Base Article #18015 for information about how to set Custom Properties in the Integration Service. If you are using full constraint-based loading, then your mapping must not contain active transformations which change the Row Id generated by the CDC Readers. The transformations that change the Row Id are: Aggregator, Custom (configured as active), Joiner, Normalizer, Rank, and Sorter transformations. All other transformations can be used. For more real-time mode limitations, see the PowerCenter Workflow Administration Guide. For more information about constraint-based loading, see the PowerCenter Workflow Administration Guide.

136

Chapter 5: Working with Sessions

Session Properties for Change and Real-Time Mode Sessions


When you configure a session to extract data in change or real-time mode, PWXPC uses the extraction map to extract the source data. Source definitions for CDC sources can be created using extraction maps (CDC Datamaps in the Import dialog box) or by importing metadata from the relational database. The session properties will differ based upon how the source metadata was imported.
Configuring a change or real-time mode sessions (extraction map sources): 1. 2.

In the Task Developer, double-click the session to edit it. Click the Properties tab and change the following:

Commit Type field - Change to Source. Commit on End of File field - Clear this field to turn this off.

Figure 5-3. Session Properties Tab

To enable recovery for the session, change the Recovery Strategy attribute to Resume from last checkpoint. Enabling recovery for CDC sessions is important to ensure that data and restart tokens are properly handled. For more information, see Restart and Recovery on page 149.
3.

Click the Sources view on the Mapping tab. For relational sources, you will have to choose the desired CDC Reader (see page 139). With extraction map sources, the reader is automatically chosen based on the source type

Extracting CDC Data in Change and Real-time Modes

137

of the extraction map. In this example, the extraction map used in the mapping is for a DB2/390 source so the PowerExchange CDC Reader for DB2/390 is chosen:
Figure 5-4. Session Mapping Tab - Extraction Map Source

In the Connection Value field, select CDC Real Time or CDC Change application connection types. PWXPC displays the valid connections for the source type in the Application Connection Browser.
4. 5.

Optionally, open the application connection to override any connection values. See Configuring Connections on page 79. In the Session Properties settings, configure the following optional attributes:
Attribute Name Schema Name Override Map Name Override Database Id Override File Id Override Source Type All All ADABAS ADABAS Description Overrides the source PowerExchange extraction map schema name. Overrides the source PowerExchange extraction map name. Overrides the ADABAS Database Id in the PowerExchange data map. Overrides the Adabas file id in the PowerExchange data map.

138

Chapter 5: Working with Sessions

Attribute Name Library/File Override

Source Type DB2400

Description Overrides the library and file name in the extraction map. Specify complete library and file names in the format: library/file This attribute overrides the Library/File Override value on the application connection. Warning: Do not specify an asterisk for library name if using PWXPC restart.

Source Schema Override Filter Overrides

Oracle

Overrides the source schema name. Allows data to be filtered at the source by PowerExchange. Enter a filter override using the following syntax:
<filter condition1>;<filter condition2>;...

For example, you can ask PowerExchange to filter change records so that only ones where columns ID and ACCOUNT have changed are passed by specifying:
DTL__CI_ID=Y;DTL__CI_ACCOUNT=Y

See Filtering Source Data Using PWXPC on page 230. SQL Query Override Overrides the SQL query sent to PowerExchange, including any Filter Overrides.

For information about other properties settings, see the PowerCenter Workflow Administration Guide.
To configure a change or real-time mode session (relational sources): 1. 2.

In the Task Developer, double-click the session to edit it. Click the Properties tab and change the following:

Commit Type field - Change to Source. Commit on End of File field - Clear this field to turn this off.

See Figure 5-3 on page 137 for an example of the Properties tab. To enable recovery for the session, change the Recovery Strategy attribute to Resume from last checkpoint. Enabling recovery for CDC sessions is important to ensure that data and restart tokens are properly handled. For more information, see Restart and Recovery on page 149.

Extracting CDC Data in Change and Real-time Modes

139

3.

Click the Sources view on the Mapping tab.


Figure 5-5. Session Mapping Tab - Relational Source

In the Reader field of the Readers settings, select a CDC Reader from those available based on the source type:
4.

DB2390: PowerExchange CDC Change or PowerExchange CDC Real-time DB2400: PowerExchange CDC Change or PowerExchange CDC Real-time DB2UDB: PowerExchange Real-time Oracle: PowerExchange CDC Change or PowerExchange CDC Real-time MSSQL: PowerExchange Real-time

In the Connection Value field, select an application connection.


Tip: For CDC Change and Real-time Readers, only choose an application connection for

the first CDC source. For subsequent CDC sources, choose a Connection Type of None. PowerExchange group source processing only uses the information on the first application connection. Subsequent application connection specifications are not required and may cause session failures.
5.

Optionally, open the application connection to override any connection values. See Configuring Connections on page 79.

140

Chapter 5: Working with Sessions

6.

In the Properties settings, configure the following attributes. All fields are optional except where noted:
Attribute Name Extraction Map Name Source Type All Description The PowerExchange extraction map name for the CDC source. Required if using a CDC Change or Real Time Reader. You must specify the extraction map name for the relational source. Overrides the library and file name in the extraction map. Specify complete library and file names in the format: library/file This attribute overrides the Library/File Override value on the application connection. Warning: Do not specify an asterisk for library name if using PWXPC restart. Source Schema Override Oracle Change and Real Time Overrides the source schema name.

Library/File Override

DB2400 Real Time

For information about other properties settings, see the PowerCenter Workflow Administration Guide.
7.

Click OK.

Extracting CDC Data in Change and Real-time Modes

141

Loading Data to PowerExchange Targets


You can load data to relational targets as well as to non-relational targets. See Table 1-2 on page 5 for the list of relational and non-relational targets for which PowerExchange provides write support.

Loading Data to Relational Targets


To load data to a relational target, select a relational database connection. You can then configure properties for session as you would any other relational target.
Note: DB2 for i5/OS (DB2/400) tables can also be accessed as flat files. If the table has been

imported into PowerExchange as a sequential data map, you can use a PWX NRDB Batch application connection to write to it.
Configuring sessions to load data to relational targets: 1. 2. 3.

In the Task Developer, double-click the session to edit it. Click the Targets view on the Mapping tab. In the writers setting, select relational writer to run sessions with relational targets.

142

Chapter 5: Working with Sessions

The following example shows a DB2/390 target:


Figure 5-6. Session Mapping Tab - Relational Targets

4.

In the Connections Value field, select a relational database connection from one of the following types:

PWX DB2390 for DB2 for z/OS PWX DB2400 for DB2 for i5/OS PWX DB2UDB for DB2 for Linux, UNIX, and Windows PWX Oracle for Oracle PWX MSSQLServer for Microsoft SQL Server PWX Sybase for Sybase

5. 6.

Configure any other session properties. Click OK.

For information about properties settings, see the PowerCenter Workflow Administration Guide.

Loading Data to PowerExchange Targets

143

Loading Data to Non-Relational Targets


PWXPC allows you to load data to the following non-relational targets:

Adabas IMS Sequential, including flat files on AS/400, Linux, UNIX, and Windows VSAM

The writer is set to the correct PowerExchange Writer based on the target type. You must select a PWX NRDB Batch application connection. You can then configure properties for session as you would any other target.
To configure sessions to load data to non-relational targets: 1. 2.

In the Task Developer, double-click the session to edit it. Click the Targets view on the Mapping tab. The writer value is set based on the target type.

144

Chapter 5: Working with Sessions

The following example shows a sequential target:


Figure 5-7. Session Mapping Tab - Non-Relational Targets

3. 4. 5. 6.

In the Connections Value field, select a PWX NRDB Batch application connection. In the Properties settings, configure the PWXPC session properties. See Table 5-1 on page 146. Configure any other session properties. Click OK.

For information about other Properties settings, see the PowerCenter Workflow Administration Guide.

Loading Data to PowerExchange Targets

145

Session Properties for Non-Relational Targets


PowerExchange and PWXPC support a variety of non-relational targets. See Table 1-2 on page 5 for the complete list. The following table contains the optional Session Properties for all PWXPC non-relational targets, in alphabetical order:
Table 5-1. Session Properties for Non-Relational Targets
Attribute Name ADABAS Password BLKSIZE DATACLAS Delete SQL Override Disp File Name Override Source Type ADABAS SEQ (MVS only) SEQ (MVS only) ADABAS, IMS, VSAM SEQ (MVS only) SEQ, VSAM Description Adabas file password. MVS data set block size. Default is 0 (best possible block size). MVS SMS data class name. Overrides default Delete SQL sent to PowerExchange. MVS data set disposition. Values are: OLD, SHR, NEW, MOD. Default is MOD if the data set exists and NEW if it does not. Overrides the data set or file name in the PowerExchange data map. Enter enter the complete data set or file name. For AS/400, this name should be: library_name/file_name. Insert Only Insert SQL Override LRECL Map Name Override MGMTCLAS MODELDSCB Post SQL Pre SQL Primary Space RECFM Schema Name Override Secondary Space Space ADABAS, IMS, VSAM All SEQ (MVS only) All SEQ (MVS only) SEQ (MVS only) All All SEQ (MVS only) SEQ (MVS only) All SEQ (MVS only) SEQ (MVS only) Processes updates and deletes as inserts. Overrides the default Insert SQL sent to PowerExchange. MVS data set logical record length. Default is 256. Overrides the target PowerExchange data map name. SMS management class name. MVS Model DSCB for non-SMS-managed GDG data sets. SQL statement(s) executed after the session is run using the target database connection. SQL statement(s) executed before the session is run using the target database connection. MVS Primary space allocation, in the units specified in Space. Default is 1. MVS Record format. Values are: F, V, FU, FB, VU, VB, FBA, VBA. Overrides the target PowerExchange data map schema name. MVS Secondary space allocations, in the units specified in Space. Default is 1. MVS data set space units. Values are: - CYLINDER - TRACK Default is TRACK.

146

Chapter 5: Working with Sessions

Table 5-1. Session Properties for Non-Relational Targets


Attribute Name STORCLAS Truncate Table Option UNIT Update SQL Override Upsert VOLSER Source Type SEQ (MVS only) IMS, VSAM Description SMS storage class name. Truncates table (deletes contents) before loading new data. Note: VSAM data sets must be defined with the REUSE option for truncate to function correctly. MVS unit type. Default is SYSDA. Overrides the default Update SQL that is sent to PowerExchange. Processes failed inserts as updates and updates as inserts. MVS volume serial number.

SEQ (MVS only) ADABAS, IMS, VSAM ADABAS, IMS, VSAM SEQ (MVS only)

Loading Data to PowerExchange Targets

147

148

Chapter 5: Working with Sessions

Chapter 6

Restart and Recovery

This chapter includes the following topics:


Overview, 150 Understanding PWXPC Restart and Recovery, 151 Creating Recovery Tables, 160 Configuring the Restart Token File, 162 PWXPC Restart and Recovery Operation, 165

149

Overview
This chapter describes PWXPC restart and recovery processing as well as how to configure your CDC sessions to use this processing. Each source in a CDC session has unique restart information, also referred to as restart tokens. PWXPC manages the CDC restart information. The Integration Service provides recovery for the target files and tables in CDC sessions. In order to extract change data from the change stream, PWXPC provides restart information for the CDC sources to PowerExchange. PowerExchange reads the change stream on the CDC source platform and provides complete units of work to PWXPC. A unit of work (UOW) is a collection of changes within a single commit scope made by a transaction on the source system. Using the commit interval information specified in the CDC session connection, PWXPC periodically flushes complete UOWs to the Integration Service. Target recovery and restart information is stored as the target tables and files are updated by the Integration Service. The Integration Service and PWXPC use this information to recover and restart stopped or failed sessions from the point of interruption. In order to properly configure CDC sessions, review the following topics:

CDC-Specific Connection Attributes on page 112 Understanding Commit Processing with PWXPC on page 123 Extracting CDC Data in Change and Real-time Modes on page 135 Understanding PWXPC Restart and Recovery on page 151 Configuring the Restart Token File on page 162 Enabling Session Recovery on page 165 Configuring CDC Sessions on page 166

In order to manage CDC sessions, review PWXPC Restart and Recovery Operation on page 165.

150

Chapter 6: Restart and Recovery

Understanding PWXPC Restart and Recovery


Session Recovery
PowerCenter and PWXPC restart and recovery functionality are utilized when you configure the Recovery Strategy Resume from the last checkpoint. Enabling a resume recovery strategy ensures that both the target data and CDC restart information can be recovered in the event of session failure.
Warning: Do not enable recovery processing if any of the targets in the CDC session use the File Writer to write CDC data to flat files. The restart tokens for all targets in the session, including relational targets, will be compromised if there is a flat file target in the same session. Data loss or duplication may occur.

When you enable a resume recovery strategy, the Integration Service provides recovery for the target tables and files and PWXPC provides recovery for the CDC restart information. PWXPC issues the following message indicating that recovery is in effect:
PWXPC_12094 [INFO] [CDCRestart] Advanced GMD recovery in affect. Recovery is automatic

The Integration Service stores the session state of operation in the shared location, $PMStorageDir. The Integration Service saves relational target recovery in the target database. CDC restart information, also called restart tokens, originates from PowerExchange on the CDC source platform. PWXPC stores CDC restart information in different locations based upon the target type:

For non-relational targets, PWXPC stores the CDC restart information in the shared location, $PMStorageDir, in state files on the Integration Service platform. For relational targets, PWXPC stores the CDC restart information in state tables in the target database.

When the Integration Service performs recovery, it restores the state of operation to recover the session from the point of interruption. It uses the target recovery data to determine how to recover the target tables. PWXPC and PowerExchange use the CDC restart information to determine the correct point in the change stream from which to restart the extraction.

Recovery Tables
For relational targets, the Integration Service creates the following recovery tables in the target database:

PM_RECOVERY. This table contains target load information for the session run. The Integration Service removes the information from this table after each successful session and initializes the information at the beginning of subsequent sessions. PM_TGT_RUN_ID. This table contains information the Integration Service uses to identify each target on the database. The information remains in the table between session runs. If you manually create this table, you must create a row and enter a value other than zero for LAST_TGT_RUN_ID to ensure that the session recovers successfully.
Understanding PWXPC Restart and Recovery 151

PM_REC_STATE. This table contains restart information for CDC sessions. The restart information recorded in the table contains the application name and restart tokens for the session. The restart information remains in the table permanently. The Integration Service updates it with each commit to the target tables.

If you edit or drop the recovery tables before you recover a session, the Integration Service cannot recover the session. If you disable recovery, the Integration Service does not remove the recovery tables from the target database. You must manually remove the recovery tables. If you want the Integration Service to create the recovery tables, grant table creation privilege to the database user name for the target database connection. For the database user name used with PowerExchange relational targets, see Recovery Table Creation with PowerExchange Targets on page 160. If you do not want the Integration Service to create the recovery tables, create the recovery tables manually.
Tip: If you are using PowerExchange relational target connections, manually create these

tables so you can assign the desired database attributes. See Creating the Recovery Tables Manually on page 161. For more information about the PM_RECOVERY and PM_TGT_RUN_ID tables, see the PowerCenterWorkflow Administration Guide.

Recovery State Table


The recovery state table contains the state and CDC restart information for a CDC session. The table resides in the same target database as target tables. The Integration Service creates the state table automatically if it does not exist. See Creating Recovery Tables on page 160. The Integration Service creates an entry in the state table for each CDC session. These entries may comprise more than one row. CDC sessions with heterogeneous relational target tables have entries in the state table in each unique target database. For example, a CDC session which targets Oracle and UDB tables has an entry in the state table in the target Oracle database and in the target UDB database. Each session entry in the state table contains a number of repository identifiers as well as execution state data like the checkpoint number and the CDC restart information. The columns in the state table are:

OWNER_TYPE_ID - PowerCenter-defined identifier REP_GID - Global unique identifier of the repository FOLDER_ID - Folder identifier WFLOW_ID - Workflow identifier to which the session belongs WFLOW_RUN_INST_NAME - Workflow run instance name WLET_ID - Worklet identifier TASK_INST_ID - Session (task) instance identifier WID_INST_ID - Reader widget instance identifier

152

Chapter 6: Restart and Recovery

GROUP_ID - Partition group Identifier PART_ID - Partition identifier PLUGIN_ID - Application connection plug-in subtype identifier APPL_ID - Application name from the source application connection SEQ_NUM - Entry sequence number VERSION - Session version number CHKPT_NUM - Session checkpoint number STATE_DATA - Restart state data for the session The APPL_ID column contains the application name specified in the source application connection. The STATE_DATA column, which contains the restart tokens for the session, is a variable 1024 byte binary column. If the number of restart tokens for a session causes the data to exceed 1024 in length, additional rows are added to accommodate the remainder of the restart information. The SEQ_NUM field is increased by one, starting from zero, for each additional row added for a session entry.

The following columns contain PWXPC-specific restart information:


The majority of the columns in the table are task and workflow repository attributes. These repository attributes remain static unless the task or workflow is altered. The following examples are actions that alter these repository attributes:

Adding or removing sources or targets from the mapping used by the session Moving the workflow or session to a different folder Moving the session to a different workflow

See Changing CDC Sessions on page 171 for additional information. During session initialization, the Integration Service reads the state table looking for an entry that matches the session data. All column data (with the exception of VERSION, CHKPT_NUM, and STATE_DATA) must match the task and workflow repository attributes for the Integration Service to use an entry. If a match is found, the Integration Service uses that entry for target recovery processing. PWXPC uses the CDC restart information stored in the STATE_DATA column to perform restart and recovery processing.

Recovery State File


The recovery state file is similar to the state table. PWXPC uses the state file to store the CDC restart information for non-relational target files. Non-relational target files include MQ Series message queues, PowerExchange non-relational targets, and other PowerCenter non-relational targets. The Integration Service automatically creates the recovery state file in the shared location, $PMStorageDir, if it does not exist. The file name for the recovery state file is prefixed with:
pm_rec_state_<application_name>

Understanding PWXPC Restart and Recovery

153

The Integration Service uses the application name from the source CDC connection for the application name value in the state file name prefix. The Integration Service includes the complete file name in message CMN_65003. The remainder of the fields in the file name are task and workflow repository attributes. These repository attributes remain static unless the task or workflow is altered. The following examples are actions that alter these repository attributes:

Adding or removing sources or targets from the mapping used by the session Moving the workflow or session to a different folder Moving the session to a different workflow

See Changing CDC Sessions on page 171 for additional information.

The Restart Token File


PWXPC stores the restart tokens in the state table in the target database for relational targets and in the state file on the Integration Service platform for non-relational targets. The restart token file provides:

Initial restart tokens for new CDC sessions Overrides for the restart tokens in the state table or file for existing CDC sessions

PWXPC uses the restart token file in the folder specified in the RestartToken File Folder attribute of the source CDC connection. PWXPC automatically creates this folder, if it does not exist, when the attribute contains the default value of $PMRootDir/Restart. PWXPC does not automatically create any other restart token folder name. During session initialization, PWXPC:

Uses the name specified in the RestartToken File Name attribute to create an empty restart token file, if one does not already exist. Creates a merged view of the restart tokens by reconciling the restart tokens specified in the restart token file with those in state tables and the state file for all relational and nonrelations targets, respectively. For more information on the reconciliation process, see Determining the Restart Point on page 155.

Places the results of the restart token reconciliation process into an initialization file in the restart token file directory and empties out the restart token file. Emptying the restart token file ensures that it does not override the state table or state file restart tokens with the same restart information the next time the session is run.

During normal termination, PWXPC writes the ending restart tokens into a termination file in the restart token file directory. The restart token files containing the initialization and termination restart tokens have the following names:
<restart_token_file_name>yyyymmddhhmmss_init <restart_token_file_name>yyyymmddhhmmss_term

154

Chapter 6: Restart and Recovery

Where:

restart_token_file_name is the restart token file name from the CDC connection yyyymmddhhmmss is the initialization file creation timestamp init or term is for initialization and termination files, respectively

For example, a CDC source application connection specifies a restart token file name of my.app.txt, which does not exist. PWXPC creates the following files on the Integration Service platform in the restart token file folder specified in the connection:

my.app.txt my.app.txtyyyymmddhhmmss_init my.app.txtyyyymmddhhmmss_term

The restart token file, my.app.txt, is empty. The timestamps on both the initialization and termination files are the same to indicate that they are related to the same run. The termination file may not exist or may be empty if the session fails. If you are using the default value of zero for the connection attribute Number of Runs to Keep RestartToken File, PWXPC keeps only one copy of the paired initialization and termination files. Otherwise, PWXPC uses the value specified in that attribute to determine the number of backup copies of these paired files to keep. During termination, PWXPC removes any additional pairs of the backup files beyond the Number of Runs to Keep RestartToken File value.

Determining the Restart Point


Start CDC sessions in one of the following ways:

Cold start. When you cold start a CDC session, PWXPC reads only the restart token file to acquire restart tokens for all sources and makes no attempt to recover the session. The session continues to run until stopped or interrupted. Warm Start. When you warm start a CDC session, PWXPC reconciles the restart tokens provided in the restart token file, if any, with any restart tokens that exist in the state file or state tables. If necessary, PWXPC performs recovery processing. The session continues to run until stopped or interrupted. Recover. When you recover a CDC session, PWXPC reads the restart tokens from the state file and state tables and writes them into the restart token file. If necessary, PWXPC performs recovery processing. After PWXPC finishes updating the restart token file and doing any necessary recovery, the session ends.

See Starting CDC Sessions on page 169 for more details. Each CDC source in the CDC session has its own unique restart point. You should create and populate the restart token file with restart points for each source prior to running a CDC session for the first time. If you do not provide restart tokens in the restart token file and no existing entry exists for the session in the state tables or the state file, then PWXPC passes null restart tokens to PowerExchange for all sources in the session. See Default Restart Points on page 157 for further information about null restart tokens.

Understanding PWXPC Restart and Recovery

155

The restart tokens PWXPC uses varies based on whether you warm or cold start the CDC session and whether you provide any overriding restart tokens in the restart token file.

Cold Start Processing


Cold start workflows and sessions using the cold start command from Workflow Manager, Workflow Monitor, or pmcmd. PWXPC uses the restart tokens provided in the restart token file, disregarding the state file and state tables, as follows:

Restart Token file empty or does not exist. PWXPC assigns null restart tokens to all sources in the session. See Default Restart Points on page 157 for further information about null restart tokens. Restart token file contains explicit override statements. PWXPC assigns the restart tokens supplied in the restart token file to the specified sources. PWXPC assigns the oldest restart point of the restart tokens specified to all remaining sources. See Configuring the Restart Token File on page 162 for further information about explicit override statements. Restart token file contains special override statement. PWXPC assigns the restart tokens supplied in the restart token file to all sources. See Configuring the Restart Token File on page 162 for further information about the special override statement. Restart token file contains special override statement and explicit override statements. PWXPC assigns the restart tokens supplied in the restart token file in the explicit override statements to the specified sources. PWXPC assigns the restart tokens supplied in the special override statement to all remaining sources.

Warm Start Processing


Warm start workflows and sessions using the start or restart commands from Workflow Manager, Workflow Monitor, or pmcmd. PWXPC merges the restart tokens provided in the restart token file with any restart information that exists in the state file and the state tables as follows:

Restart token file empty or does not exist.

If no state file (non-relational target) or no entry in a state table (relational target) for the session: PWXPC assigns null restart tokens to all sources in the session. See Default Restart Points on page 157 for further information about null restart tokens.

If state file (non-relational target) or entry in a state table (relational target) exists for some but not all sources in the session: PWXPC assigns the restart tokens found in the state file or state tables to the appropriate sources. PWXPC assigns the oldest restart point of the restart tokens available to all remaining source without restart tokens.

If state file (non-relational target) or entry in a state table (relational target) exists for all sources in the session: PWXPC uses the restart tokens from the state file or state tables.

156

Chapter 6: Restart and Recovery

Restart token file contains explicit override statements.

If no state file (non-relational target) or no entry in a state table (relational target) for the session: PWXPC assigns the restart tokens supplied in the restart token file to the specified sources. PWXPC assigns the oldest restart point of the restart tokens specified in the restart token file to all remaining sources without restart tokens. See Configuring the Restart Token File on page 162 for further information about explicit override statements.

If state file (non-relational target) or entry in a state table (relational target) exists for some but not all sources in the session: PWXPC assigns the restart tokens supplied in the restart token file to the specified sources. PWXPC assigns the restart tokens found in the state file or state tables to the appropriate sources provided they have not been supplied in the restart token file. PWXPC assigns the oldest restart point of the restart tokens available to all remaining sources without restart tokens.

If state file (non-relational target) or entry in a state table (relational target) exists for all sources in the session: PWXPC assigns the restart tokens supplied in the restart token file to the specified sources in the session. PWXPC assigns the restart tokens from the state file or state tables to all remaining sources without restart tokens.

Restart token file contains special override statement. PWXPC assigns the restart tokens supplied in the special override statement in the restart token file to all sources. See Configuring the Restart Token File on page 162 for further information about the special override statement.

Restart token file contains special override statement and explicit override statements. PWXPC assigns the restart tokens supplied in the restart token file in the explicit override statements to the specified sources. PWXPC assigns the restart tokens supplied in the special override statement to all remaining sources without restart tokens.

Default Restart Points


If you start a new CDC session and no restart token file exists, the Integration Service still runs the session. Because no specific restart point has been provided, PWXPC passes null restart tokens for all sources to PowerExchange. PWXPC issues message PWXPC_12060 indicating that the restart tokens for each source are NULL. PowerExchange, because it receives null restart tokens from PWXPC, assigns the earliest possible restart point to each source.
Warning: Using null restart tokens may not produce the desired results. Valid restart tokens should always be supplied.

Start your extraction for a new CDC session at a point in the change stream where the source and its target are in a consistent state. You do this by placing the restart tokens that match that point in the change stream in the restart token file and doing a cold start of the CDC session.
Understanding PWXPC Restart and Recovery 157

For example, a target table has been materialized from its source data and no new changes have been made to the source data. Now you need to establish a starting extraction, or restart, point in the change stream. You do this by using DTLUAPPL. DTLUAPPL is a PowerExchange utility that generates restart points. After you have run DTLUAPPL, place the generated restart tokens in the restart token file specified in the source CDC connection and cold start the CDC session. PWXPC passes the restart tokens from the restart token file to PowerExchange. PowerExchange extracts changes from the change stream from that restart point forward. Table 6-1 describes earliest starting extraction (restart) points PowerExchange uses if null restart tokens are supplied for all sources:
Table 6-1. Default Starting Extraction Points for Sources
Source Platform/ Database MVS (all sources)

CDC Change Connection Oldest Condense file recorded in the CDCT.

CDC Real-time Connection Logger selects the best available restart point. This is the oldest restart point for which an archive log is available, or active log if there are no available archive logs. Oldest journal receiver still on the journal receiver chain. Most current Oracle catalog dump. Oldest data available in the Publication database. Current log position at the time the capture catalog was created.

AS400 Oracle MSSQL Server UDB

Oldest Condense file recorded in the CDCT. Oldest Condense file recorded in the CDCT. n/a n/a

PowerExchange only uses the default starting extraction point if all sources have null restart tokens. PWXPC assigned the oldest restart point of the restart tokens available if there are some sources without restart tokens. For example, a new CDC session contains three sources called A, B, and C. The restart token file contains restart points for sources A and B. The restart point for source A is older than source B. Source C has no existing or supplied restart point. When you run the session, PWXPC assigns source C the same restart point as source A since it is the oldest supplied restart point. PWXPC does not assign the default starting extraction point discussed in Table 6-1 to source C because some sources have restart points.

Initializing and Running CDC Sessions


After the restart information for every source is determined, PWXPC:

Flushes the restart tokens to the state tables for relational targets and to the state file for non-relational targets Writes an empty restart token file

158

Chapter 6: Restart and Recovery

Creates the initialization restart token file containing the reconciled restart information

PWXPC passes the restart tokens for all sources to PowerExchange. PowerExchange uses the oldest restart token passed by PWXPC to start extracting data from the change stream. PowerExchange does not pass data for a source until its restart point is reached. This prevents targets from being updated with records processed in previous extraction runs. PWXPC continually updates the restart tokens for each source in the state table or the state file as it issues flushes target data. With relational target tables in the same database, the Integration Service updates both the target tables and the restart tokens within a single commit. The Integration Service does separate commits for each unique relational database. With heterogeneous target, the restart tokens in one relational database may differ from those in another relational database at specific points in time. When using non-relational targets, the state file and the targets likely exist on completely different machines. With non-relational targets, the Integration Service updates the targets and the state file in separate operations. If the session fails after the Integration Service commits data to the target but before it updates the restart tokens in the state file, targets may receive duplicate data when restarted. On warm start, PWXPC uses the last restart tokens written prior to the failure. As a result, PWXPC re-sends data which has already been applied to the non-relational targets.

Ending CDC Sessions


Stop CDC sessions using PowerCenter and PowerExchange commands. See Stopping CDC Sessions on page 170 for more information. Sessions can also fail or terminate unexpectedly. When you stop a CDC session, PWXPC flushes any complete units of work that remain in its buffer. PWXPC then waits for confirmation from the Integration Service that the flushed data has been written to the targets. If it has, PWXPC writes the termination restart token file with the final restart tokens and issues the following message:
PWXPC_12075 [INFO] [CDCRestart] Session complete. Next session will restart at: : Restart 1 [restart1] : Restart 2 [restart2]

The Integration Service commits the flushed data to the targets, including the restart tokens for relational targets. After the Integration Service writes the flushed data to any nonrelational targets, it updates the state file with the restart tokens. If the session fails, the Integration Service rolls back any uncommitted data and the related restart tokens for relational targets. This leaves only the last successfully committed UOW data and restart tokens in the relational target tables. The Integration Service uses relational database rollback capabilities to ensure that uncommitted data is removed during session termination. Consistency between the restart tokens and the relational target data is guaranteed because they are both committed within the same commit scope. The Integration Service does not do rollback processing for non-relational targets. As a result, duplicate data can occur on restart. You should account for this in your CDC session design.
Tip: If the possibility of duplicate data is unacceptable to your application, then design your

CDC sessions to use only relational targets.

Understanding PWXPC Restart and Recovery

159

Creating Recovery Tables


Recovery Table Creation with PowerExchange Targets
The database user name PowerExchange uses to create the recovery tables varies based on the PWXPC connection.

PWX DB2390 (DB2 for z/OS) Relational Connections


When PowerExchange creates the recovery tables for PWX DB2390 connections, it uses:

The default DB2 database (DSNDB04) The PowerExchange Listener userid if it is running with SECURITY=0 or SECURITY=1 and so this user must be granted the appropriate table creation privilege The PowerExchange Listener userid if it is running with SECURITY=2 and MVSDB2AF=CAF and so this user must be granted the appropriate table creation privilege The database user name in the target connection if the PowerExchange Listener is running with SECURITY=2 and MVSDB2AF=RRSAF and so this user must be granted the appropriate table creation privilege

PWX DB2400 (DB2 for i5/OS) Relational Connections


When PowerExchange creates the recovery tables for PWX DB2400 connections, it uses:

The PowerExchange Listener userid if it is running with SECURITY=0 or SECURITY=1 and so this user must be granted the appropriate table creation privilege The database user name in the target connection is if the PowerExchange Listener is running with SECURITY=2 and so this user must be granted the appropriate table creation privilege The default journal so it must be enabled for the user name

PWX DB2UDB (DB2 for Linux/UNIX/Windows) Relational Connections


When PowerExchange creates the recovery tables for PWX DB2UDB connections, it uses:

The default tablespace for user-defined tables The database user name in the target connection and so this user must be granted the appropriate table creation privilege

PWX MSSQLServer (Microsoft SQL Server) Relational Connections


When PowerExchange creates the recovery tables for PWX MSSQLServer connections, it uses the database user name in the target connection. This user must be granted the appropriate table creation privilege.

160

Chapter 6: Restart and Recovery

PWX Oracle Relational Connections


When PowerExchange creates the recovery tables for PWX Oracle connections, it uses the database user name in the target connection. This user must be granted the appropriate table creation privilege.

PWX Sybase Relational Connections


When PowerExchange creates the recovery tables for PWX Sybase connections, it uses the database user name in the target connection. This user must be granted the appropriate table creation privilege.

Creating the Recovery Tables Manually


The Integration Service creates the recovery tables if they do not exist. See Recovery Table Creation with PowerExchange Targets on page 160 for more information. You can manually create the target recovery tables. If using PWX DB2390, PWX DB2400, or PWX DB2UDB connections, consider manually creating the recovery tables so you can specify table attributes. Informatica provides SQL scripts in the following directory:
<PowerCenter installation_dir>\server\bin\RecoverySQL

Run one of the following scripts to create the recovery tables in the target database:
Table 6-2. Recovery Table SQL Scripts
Script create_schema_db2.sql create_schema_inf.sql create_schema_ora.sql create_schema_sql.sql create_schema_syb.sql create_schema_ter.sql Database DB2 Informix Oracle SQL Server Sybase Teradata

This is generic DDL. Make the appropriate changes for your environment.

Creating Recovery Tables

161

Configuring the Restart Token File


You can configure the restart token file to specify the point from which you want to extract source data. If you do not know the restart token file name and location, use one of the following options:

Look at the PWXPC_12057 message in the session log. PWXPC includes the restart token file folder and the restart token file name in this message. Open the application connection associated with the source. The application connection contains the restart token file name and folder location. This file name overrides the file name you specified in the application connection. If the restart token file name is not specified in the application connection, PWXPC uses the application name, if specified. Otherwise, PWXPC uses the workflow name.

Warning: The Restart Token File Name must be unique for every session. Using non-unique names causes unpredictable results including session failures and potential data loss.

Syntax Rules
The restart token file has these syntax rules:

No blank lines between statements. Comment lines begin with:


<!--

Statements begin in any column.

Statement Syntax Format


<!-- comment text RESTART1=restart1_token RESTART2=restart2_token extraction_map_name=restart1_token extraction_map_name=restart2_token ... extraction_map_namen=restart1_token extraction_map_namen=restart2_token

Restart Token File Statements


The restart token file allows the following statements:

Comment Statement
<!-- comment text

Use the comment statement anywhere in the restart token file. The <!-- is required.

162

Chapter 6: Restart and Recovery

Explicit Override Statement


extraction_map_name=restart1_token extraction_map_name=restart2_token

The explicit override statement specifies restart tokens for a specific source. The source is defined by specifying the extraction map name. Sources can have multiple extraction mappings and therefore multiple extraction map names. Each source specification must consist of a pair of lines with:

The source extraction map name (extraction_map_name) specified with the restart1_token value The source extraction map name (extraction_map_name) specified with the restart2_token

The extraction map name specified in the restart token file must match what is defined in the CDC session. To determine the extraction map name:

Check the Extraction Map Name attribute in the Session Properties for relational sources Check the Schema Name Override and Map Name Override attributes in the Session Properties if using CDC data map sources. See Figure 5-4 on page 138. These attributes override the source name in the CDC data map source. Check the Schema Name and Map Name values in the source Metadata Extensions in Designer if using CDC data map sources. See Figure 3-23 on page 61. Sequence= value, minus the trailing 8 zeros, in the DTLUAPPL PRINT output DTL__CAPXRESTART1 value when extracting data Sequence token in PowerExchange messages (e.g., PWX-04564, PWX-09959) Restart Token 1 in PWXPC messages (e.g. PWXPC_12060, PWXPC_12069) Restart= value in the DTLUAPPL PRINT output DTL__CAPXRESTART2 value when extracting data Logger token in PowerExchange messages (e.g., PWX-04564, PWX-09959) Restart Token 2 in PWXPC messages (e.g. PWXPC_12060, PWXPC_12069)

The restart1_token value varies based on capture source and is found in the following:

The restart2_token value varies based on the capture source and is found in the following:

If the session includes source extraction maps that do not have entries in the existing restart token file, then the session executes without error. See Default Restart Points on page 157 for an explanation of what restart tokens PWXPC and PowerExchange use in this case.

Special Override Statement


RESTART1=restart1_token RESTART2=restart2_token

The special override statement allows specifies for all sources in a session. The restart token values (restart1_token and restart2_token) are described in detail in the Explicit Override Statement. If used, both RESTART1= and RESTART2= must be specified.
Configuring the Restart Token File 163

This override can be used in conjunction with explicit override statements to provide restart tokens for sources which do not have explicit override statements. An explicit override statement for a source takes precedence over the special override statement for that source.

Restart Token File Example


<!-- Restart Tokens for existing tables --> restart1=000000AD775600000000000000AD77560000000000000000 Restart2=C1E4E2D34040000000AD5F2C00000000 <!-- Restart Tokens for the Table: rrtb0001_RRTB_SRC_001 --> d1dsn7.rrtb0001_RRTB_SRC_001=0000060D1DB2000000000000060D1DB20000000000000000 d1dsn7.rrtb0001_RRTB_SRC_001=C1E4E2D340400000013FF36200000000 <!-- Restart Tokens for the Table: rrtb0001_RRTB_SRC_002 --> d1dsn7.rrtb0002_RRTB_SRC_002=000000A3719500000000000000A371950000000000000000 d1dsn7.rrtb0002_RRTB_SRC_002=C1E4E2D34040000000968FC600000000 <!-- Restart Tokens for the Table: rrtb0001_RRTB_SRC_004 --> d1dsn7.rrtb0004_RRTB_SRC_004=000006D84E7800000000000006D84E780000000000000000 d1dsn7.rrtb0004_RRTB_SRC_004=C1E4E2D340400000060D1E6100000000

In the example, the session contains 7 source tables. The restart token file contains explicit override statements for 3 sources: RRTB_SRC_001, RRTB_SRC_002, and RRTB_SRC_004. It also contains the special override statement to provide the restart tokens for the remainder of the sources in the session. When the session executes, PWXPC issues message PWXPC_12060 as follows:
=============================== Session restart information: =============================== Extraction Map Name Restart Token 1 d1dsn7.rrtb0001_RRTB_SRC_001 0000060D1DB2000000000000060D1DB20000000000000000 d1dsn7.rrtb0002_RRTB_SRC_002 000000A3719500000000000000A371950000000000000000 d1dsn7.rrtb0003_RRTB_SRC_003 000000AD775600000000000000AD77560000000000000000 (special override) d1dsn7.rrtb0004_RRTB_SRC_004 000006D84E7800000000000006D84E780000000000000000 d1dsn7.rrtb0005_RRTB_SRC_005 000000AD775600000000000000AD77560000000000000000 (special override) d1dsn7.rrtb0006_RRTB_SRC_006 000000AD775600000000000000AD77560000000000000000 (special override) d1dsn7.rrtb0007_RRTB_SRC_007 000000AD775600000000000000AD77560000000000000000 (special override)

Restart Token 2 C1E4E2D340400000013FF36200000000 C1E4E2D34040000000968FC600000000 C1E4E2D34040000000AD5F2C00000000 C1E4E2D340400000060D1E6100000000 C1E4E2D34040000000AD5F2C00000000 C1E4E2D34040000000AD5F2C00000000 C1E4E2D34040000000AD5F2C00000000

Source Restart file Restart file Restart file Restart file Restart file Restart file Restart file

PWXPC displays the sources with explicit overrides with Restart file under the Source column. The sources to which PWXPC assigns the special override restart tokens have special override in parentheses.

164

Chapter 6: Restart and Recovery

PWXPC Restart and Recovery Operation


Enable a resume recovery strategy for CDC sessions. When you enable a resume recovery strategy, the Integration Service provides recovery for the target table data and PWXPC provides recovery for the CDC restart information. PowerExchange on the source platform provides the CDC restart information, which consists of restart tokens describing a specific start point in the change stream. PWXPC stores the restart tokens for relational targets in recovery state tables in the target databases. For nonrelational targets, PWXPC stores the restart tokens in the recovery state file on the Integration Service machine. For additional information about restart token processing, see Understanding PWXPC Restart and Recovery on page 151. PWXPC issues the following message when you specify a resume recovery strategy:
PWXPC_12094 [INFO] [CDCRestart] Advanced GMD recovery in affect. Recovery is automatic

PWXPC automatically recovers warm started sessions when a resume recovery strategy is specified.

Enabling Session Recovery


Enabling recovery for a CDC session:
1.

Select Resume from last checkpoint for the Recovery Strategy in the Properties tab. This is the only recovery strategy that enables PWXPC and the Integration Service to recover CDC sessions.

2.

Change the Commit Type attribute from Target to Source. CDC sessions always use source-based commit processing regardless of the Commit Type attribute setting.

3.

Disable the Commit at End of File attribute in the Properties tab. The Integration Service, after PWXPC has shutdown, issues a commit when the session ends. Data written to the targets after PWXPC shuts down is not reflected in the restart tokens. Disabling this flag ensures that PWXPC issues all commits.

Warning: If you are using the File Writer to write CDC data to flat files, do not enable recovery processing. Data loss or duplication may occur since the restart tokens for all targets, including relational targets, are compromised if there is a flat file target in the same session.

If you run a session with resume recovery strategy and the session fails, do not edit the mapping or sessions the state table entry or file before you restart the session. Recovery is compromised if changes are made. See Recovering from CDC Session Failures on page 173. When the Integration Service resumes a session, it restores the session state of operation, including the state of each source, target, and transformation. The Integration Service, in conjunction with PWXPC, determines how much of the source data it needs to reprocess. For additional information about the Integration Service recovery processing, see the PowerCenterWorkflow Administration Guide.
PWXPC Restart and Recovery Operation 165

Configuring CDC Sessions


You control PWXPC restart processing with session options and attributes. Ensure that all of the appropriate session configuration is done. The following table summarizes the options and attributes with defaults that must be changed for CDC sessions:
Table 6-3. CDC Sessions - Recommended Settings
Option / Attribute Commit Type Location Properties Tab Recommended Value and Explanation Source. The default is Target. The Integration Service automatically overrides it to Source. You cannot change Commit On End Of File unless you change Commit Type to Source. Commit On End Of File Properties Tab Disabled. The default is enabled. The Integration Service performs a commit when the session ends. This commit occurs after PWXPC commits the restart tokens. Duplicate data can occur on restart if this default is enabled. Recovery Strategy Properties Tab Resume from last checkpoint. The default value is Fail task and continue workflow. PWXPC requires Resume from last checkpoint. See Enabling Session Recovery on page 165. Stop on errors Config Object Tab 1. The default value is 0. Errors encountered by the Integration Service while writing to the target database or target files are not counted by default. Writer threshold errors can include key constraint violations, loading nulls into a not null field, and database trigger responses. PWXPC is unaware that the writer has not applied the data to the target and so advances the restart tokens. Set this value to 1 to ensure target data and restart token integrity is maintained. See the PowerCenter Workflow Administration Guide. Application Name Application Connection Unique name. The default is the first 20 characters of the WorkFlow Name.The default may not result in a unique name. Specify a unique name. See Application Names on page 167.

166

Chapter 6: Restart and Recovery

Table 6-3. CDC Sessions - Recommended Settings


Option / Attribute Restart Token File Name Location Application Connection Recommended Value and Explanation Unique name. The default is either: - the WorkFlow Name if no Application Name is specified - the Application Name The default may not result in a unique name. Specify a unique name. See The Restart Token File on page 154. Number of Runs to Keep RestartToken File Application Connection Value greater than 0. The default is 0. PWXPC keeps only one backup copy of the restart token initialization and termination files. Specify a value greater than 0 so a history is available for recovery purposes. See The Restart Token File on page 154.

Application Names
PowerExchange, when using ODBC connections, stores the restart tokens in the PowerExchange CDEP file on the extraction platform. PWXPC stores the restart tokens in:

The state file on the Integration Service platform, for non-relational sources The state table in the target database, for relational sources

PowerExchange always stores extraction history information in the CDEP file for each application name, regardless of whether the CDEP is being used to maintain restart tokens or not. With PWXPC the CDEP file is used for history only. An application name is required when using PWXPC. Each CDC session must use a unique application name in order to prevent failures due to conflicts in the CDEP. Application names cannot be shared with other CDC sessions.
Warning: Do not use a PWXPC CDC session application name when performing a Database Row Test in PowerExchange Navigator or when using the DTLUAPPL utility. Using the same application name as a PWXPC CDC session in another CDC session, a Navigator row test, or in DTLUAPPL fails with message:
PWX-04553 Error restart tokens [required | not allowed] for application "application name"

Using DTLUAPPL with CDC Sessions


Use the PowerExchange DTLUAPPL utility to generate restart tokens for CDC sessions instead of using the default restart point. Update the restart token file with the generated restart tokens to establish the starting extraction point in the change stream.

PWXPC Restart and Recovery Operation

167

Use a unique application name when generating restart tokens with DTLUAPPL so you avoid any conflicts with existing application names used for CDC sessions. For more information on DTLUAPPL, see the PowerExchange Utilities Guide. For more information on configuring the restart token file, see Configuring the Restart Token File on page 162.

Example: Using DTLUAPPL


The registration on the ADD RSTTKN statement must exist. This registration must be associated with the instance name specified on the MOD APPL statement. You can use either ADD APPL or MOD APPL for a new application name. DTLUAPPL creates the application name if it does not exist when MOD APPL is used.
Tip: Select an application name and use it only with DTLUAPPL when generating restart

tokens. The following example generates restart tokens for source registration DB2DEMO1 using an application name of tokens and then prints those restart tokens:
MOD APPL tokens DSN7 RSTTKN GENERATE ADD RSTTKN db2demo1 END APPL tokens PRINT APPL tokens

The DTLUAPPL prints the generated tokens because the PRINT APPL statement is specified:
Application name=<tokens> Rsttkn=<1> Ainseq=<0> Preconfig=<N> FirstTkn =<> LastTkn =<> CurrentTkn=<> Registration name=<db2demo1.1> tag=<DB2DSN7db2demo11> Sequence=<000007248B9600000000000007248B9600000000> Restart =<D2D1D4D34040000007248B0E00000000>

DTLUAPPL does not generate the complete restart1_token value which is shown in the SEQUENCE token. You must be add the trailing four bytes (eight digits) of zeros manually when you update the restart token file. DTLUAPPL does generate the complete restart_token2 value in the Restart= token. You can copy this value to the restart token file.
Tip: You can use same restart tokens for multiple source tables in the restart token file to start

extracting changes from the same point in the change stream. You only need to run DTLUAPPL multiple times if you want to start extracting changes from different locations in the change stream for different sources. Using the tokens in this example, the restart token file looks as follows:
D1DSN7.db2demo1=000007248B9600000000000007248B960000000000000000 D1DSN7.db2demo1=D2D1D4D34040000007248B0E00000000

168

Chapter 6: Restart and Recovery

Starting CDC Sessions


Use the Workflow Manager, Workflow Monitor, or pmcmd to run a workflow or task. You can choose to run the entire workflow, part of a workflow, or a task in the workflow. You can choose to warm start, recover, or cold start workflows and tasks.

Cold Start Processing


Cold start workflows and tasks by selecting the cold start command in Workflow Manager, Workflow Monitor, or pmcmd. When you request cold start, PWXPC issues the following message:
PWXPC_12091 [INFO] [CDCRestart] Cold start requested

PWXPC performs the following tasks for cold start: 1. 2. 3. PWXPC reads the restart tokens from the restart token file only. See Determining the Restart Point on page 155. PWXPC commits the restart tokens to the state tables and file and issues message PWXPC_12104. PWXPC continues processing and committing data and restart tokens until the session ends or is stopped.

Warm Start Processing


Warm start workflows and tasks by selecting the start or restart command in Workflow Manager, Workflow Monitor, or pmcmd. When you request warm start, PWXPC issues the following message:
PWXPC_12092 [INFO] [CDCRestart] Warm start requested. Targets will be resynchronized automatically if required

PWXPC automatically performs recovery when a workflow or task is warm started. You do not need to recover workflows and tasks before you restart them. PWXPC performs the following tasks for warm start: 1. 2. PWXPC reconciles the restart tokens from the restart token file and from the recovery state tables and file. See Determining the Restart Point on page 155. For heterogeneous targets, PWXPC queries the Integration Service about the commit levels of all targets. If all targets in the session are at the same commit level, PWXPC skips recovery processing. If recovery is required for heterogeneous targets, PWXPC re-reads the data for the last UOW committed to higher-level targets and flushes it to those targets with the lower commit level. The Integration Service commits any flushed data and restart tokens to any relational targets and updates any non-relational files.
Note: PWXPC does not read the restart token file if recovery is required.

3.

PWXPC Restart and Recovery Operation

169

4.

If recovery is not required and the reconciled restart tokens differ from those in the state tables and file, PWXPC commits the reconciled restart tokens and issues message PWXPC_12104. PWXPC continues processing and committing data and restart tokens until the session ends or is stopped.

5.

Recovery Processing
Recover workflows and tasks by selecting the recover command in Workflow Manager, Workflow Monitor, or pmcmd. When you request recovery, PWXPC issues the following message:
PWXPC_12093 [INFO] [CDCRestart] Recovery run requested. Targets will be resynchronized if required and processing will terminate

Select Recover to populate the restart token file with the restart tokens for all sources in the CDC session so that you can cold start. You can also use recovery to ensure the targets and restart tokens are in a consistent state. PWXPC automatically performs recovery when a workflow or task is warm started. You do not need to recover workflows and tasks before you restart them. PWXPC performs the following tasks for recovery: 1. 2. 3. PWXPC reads the restart tokens from the recovery state tables and file. PWXPC creates the initialization restart token file with the reconciled restart tokens. For heterogeneous targets, PWXPC queries the Integration Service about the commit levels of all targets. If all targets in the session are at the same commit level, PWXPC skips recovery processing. If recovery is required for heterogeneous targets, PWXPC re-reads the data for the last UOW committed to higher-level targets and flushes it to those targets with the lower commit level. The Integration Service commits any flushed data and restart tokens to any relational targets and updates any non-relational files.
Note: PWXPC does not read the restart token file if recovery is required.

4.

5.

PWXPC updates the restart token file with the final restart tokens, creates the termination restart token file, and ends.

You can now warm start or cold start the workflow or task to process changed data from the point of interruption.

Stopping CDC Sessions


Stop CDC sessions through PowerCenter by issuing the stop command from Workflow Monitor or pmcmd. You can also stop CDC sessions through PowerExchange by issuing the STOPTASK command or by running the DTLUTSK utility. For information about the STOPTASK command and the syntax of the DTLUTSK utility, see the description of DTLUTSK in the PowerExchange Utilities Guide.

170

Chapter 6: Restart and Recovery

When you stop a workflow or task gracefully by issuing the stop command through PowerCenter or PowerExchange, the following action occurs: 1. The Integration Service requests PWXPC to stop if you issue the PowerCenter stop command. If you issue the PowerExchange stop command, it sends an end of file to PWXPC. 2. PWXPC performs end of file processing to flush the remaining uncommitted complete units of work to the targets and issues message PWXPC_12101. PWXPC also commits the restart tokens and issues message PWXPC_12068. The Integration Service processes all of data in the pipeline and writes it to the targets. The Integration Service sends an acknowledgement to PWXPC indicating that the targets have been updated. PWXPC issues message PWXPC_12075, writes the termination restart token file, and shuts down. The Integration Service ends the session successfully. Use Idle Time=0 in the PWX CDC Real Time connection which instructs PowerExchange to stop processing at end of log. See Configuring Idle Time on page 115. Use a PWX CDC Change connection to extract changes from condense files. When you use PowerExchange batch change extraction mode for condense files, the extraction automatically ends when all condensed data is read. You can also stop a workflow or task using the abort command in Workflow Monitor or pmcmd. For information about the abort command, see the PowerCenterWorkflow Administration Guide.

3. 4. 5. 6.

You can also stop CDC sessions gracefully if you:

Changing CDC Sessions


The state table entry and state file name for CDC sessions contains numerous repository attributes. See Understanding PWXPC Restart and Recovery on page 151. Consider this when you change CDC sessions. For example, you add a new relational source and target to an existing CDC session that includes relational and non-relational targets. You then execute the changed CDC session. The Integration Service does not use the existing entry in the state table or the existing state file because some repository attributes are now different from the previous run. Instead, the Integration Service creates a new entry in the state table and a new state file. Because the Integration Service creates new state information for your session, PWXPC begins reading from a different location in the change stream. Your target tables and files are now out-ofsync with their source tables and files.

PWXPC Restart and Recovery Operation

171

To change a CDC session and restart it from the point of interruption: 1. 2.

Gracefully stop the workflow. See Stopping CDC Sessions on page 170. After the workflow stops successfully, issue the Recover command for the CDC session. When you recover tasks, PWXPC writes the ending restart tokens for the session into the restart token file.

3. 4. 5. 6.

Change the session or workflow as desired. Ensure that the restart token file specified in the source CDC connection specifies the restart token file updated in the recovery session. Optionally, update the restart token file to add or remove sources. Cold start the CDC session.

Example: Adding a New Source to an Existing Session


In this example, a new source (RRTB_SRC_004) is added to an existing CDC session containing three sources. The restart points for the existing sources are maintained. DTLUAPPL is used to generate a restart token representing the current end-of-log in the change stream.
To add a new source to an existing session - example: 1. 2.

Stop the workflow by issuing the Stop command in Workflow Monitor. After the workflow stops, use the Workflow Monitor and issue the Recover Task command from Workflow Monitor to run a recovery session. This displays the current restart points. The session log shows the following:

CDCDispatcher> PWXPC_12060 [INFO] [CDCRestart] =============================== Session restart information: =============================== Extraction Map Name Restart Token 1 d1dsn7.rrtb0002_RRTB_SRC_002 000000AD220F00000000000000AD220F0000000000000000 storage d1dsn7.rrtb0001_RRTB_SRC_001 000000AD220F00000000000000AD220F0000000000000000 storage d1dsn7.rrtb0003_RRTB_SRC_003 000000AD220F00000000000000AD220F0000000000000000 storage

Restart Token 2 C1E4E2D34040000000AD0D9C00000000 C1E4E2D34040000000AD0D9C00000000 C1E4E2D34040000000AD0D9C00000000

Source GMD GMD GMD

PWXPC places the restart tokens in the restart token file specified in the CDC application connection.
3. 4.

Make any necessary changes to the mapping, session, and workflow to add the new source, RRTB_SRC_004. Run DTLUAPPL with RSTTKN GENERATE to generate restart tokens for the current end-of-log. Use the following DTLUAPPL control cards to do this:
mod APPL dummy DSN7 rsttkn generate mod rsttkn rrtb004 end appl dummy print appl dummy

172

Chapter 6: Restart and Recovery

The PRINT command produces the following output:


Registration name=<rrtb004.1> tag=<DB2DSN7rrtb0041> Sequence=<00000DBF240A0000000000000DBF240A00000000> Restart =<C1E4E2D3404000000DBF238200000000>

Add eight zeroes to the end of the Sequence= value to create the restart token file value.
5.

Update the restart token file to add the new source and its tokens. The updated file looks as follows:

<!-- existing sources d1dsn7.rrtb0001_RRTB_SRC_001=000000AD220F00000000000000AD220F0000000000000000 d1dsn7.rrtb0001_RRTB_SRC_001=C1E4E2D34040000000AD0D9C00000000 d1dsn7.rrtb0002_RRTB_SRC_002=000000AD220F00000000000000AD220F0000000000000000 d1dsn7.rrtb0002_RRTB_SRC_002=C1E4E2D34040000000AD0D9C00000000 d1dsn7.rrtb0003_RRTB_SRC_003=000000AD220F00000000000000AD220F0000000000000000 d1dsn7.rrtb0003_RRTB_SRC_003=C1E4E2D34040000000AD0D9C00000000 <!-- new source d1dsn7.rrtb0004_RRTB_SRC_004=00000DBF240A0000000000000DBF240A0000000000000000 d1dsn7.rrtb0004_RRTB_SRC_004=C1E4E2D3404000000DBF238200000000

6.

Cold start the session. PWXPC passes these restart tokens to PowerExchange to recommence extracting changes from the change stream. Note that this restart point is earlier than the one just generated for the new source. The new source does not receive any changes until the first change following its restart point is encountered.

For additional information, see:


Configuring the Restart Token File on page 162 Using DTLUAPPL with CDC Sessions on page 167

Recovering from CDC Session Failures


If you run a session with a resume recovery strategy and the session fails, do not edit the state information or the mapping for the session before you restart the session. CDC sessions fail for a number of reasons, such as:

Permanent errors such as source or target data errors Transitory errors such as infrastructure problems, server crashes, and network availability issues.

If the session fails because of transitory errors, restart the session after the source of the transitory error is corrected. PWXPC automatically recovers warm started sessions, if required although you can also run a recovery session. See Recovery Processing on page 170.
Note: You cannot override the restart point if recovery processing is required. PWXPC does

not read the restart token file if you warm start and recovery is required or if you run a recovery session. CDC sessions also fail because of permanent errors, such as SQL failures or other database errors. You must correct permanent errors before restarting the CDC session. With some failures, you can correct the error and then restart the CDC session. In other cases, you need to re-materialize the target table from the source table before you recommence applying

PWXPC Restart and Recovery Operation

173

changes to it. If you re-materialize the target table, you need to provide restart tokens matching the new restart point in the change stream and the cold start the CDC session.

Example: Session Recovery


In this example, a CDC session with relational targets is aborted using the Workflow Monitor. The Restart Task command is issued from the Workflow Monitor for the CDC session. PWXPC issues the following message:
PWXPC_12092 [INFO] [CDCRestart] Warm start requested. Targets will be resynchronized automatically if required

PWXPC automatically recovers when the session is warm started. PWXPC issues the following messages displaying the restart tokens found for the session and its sources:
CDCDispatcher> PWXPC_12060 [INFO] [CDCRestart] =============================== Session restart information: =============================== Extraction Map Name Restart Token 1 d1dsn8.rrtb0004_RRTB_SRC_004 00000FCA65840000000000000D2E004A00000000FFFFFFFF storage d1dsn8.rrtb0009_RRTB_SRC_009 00000FCA65840000000000000D2E004A00000000FFFFFFFF storage d1dsn8.rrtb0005_RRTB_SRC_005 00000FCA65840000000000000D2E004A00000000FFFFFFFF storage d1dsn8.rrtb0006_RRTB_SRC_006 00000FCA65840000000000000D2E004A00000000FFFFFFFF storage d1dsn8.rrtb0008_RRTB_SRC_008 00000FCA65840000000000000D2E004A00000000FFFFFFFF storage d1dsn8.rrtb0003_RRTB_SRC_003 00000FCA65840000000000000D2E004A00000000FFFFFFFF storage d1dsn8.rrtb0002_RRTB_SRC_002 00000FCA65840000000000000D2E004A00000000FFFFFFFF storage d1dsn8.rrtb0001_RRTB_SRC_001 00000FCA65840000000000000D2E004A00000000FFFFFFFF storage d1dsn8.rrtb0007_RRTB_SRC_007 00000FCA65840000000000000D2E004A00000000FFFFFFFF storage

Restart Token 2 C1E4E2D3404000000D21B1A500000000 C1E4E2D3404000000D21B1A500000000 C1E4E2D3404000000D21B1A500000000 C1E4E2D3404000000D21B1A500000000 C1E4E2D3404000000D21B1A500000000 C1E4E2D3404000000D21B1A500000000 C1E4E2D3404000000D21B1A500000000 C1E4E2D3404000000D21B1A500000000 C1E4E2D3404000000D21B1A500000000

Source GMD GMD GMD GMD GMD GMD GMD GMD GMD

PWXPC issues the PWXPC_12069 message when it detects that recovery is required. The 12069 message usually includes the begin-UOW (from) and end-UOW (to) restart tokens for the oldest uncommitted UOW that PWXPC re-reads during recovery. PWXPC stores endUOW restart tokens in the state table and file unless sub-packet commit is used. See Configuring Commit Threshold on page 121.
CDCDispatcher> PWXPC_12069 [INFO] [CDCRestart] Running in recovery mode. Reader will resend the the oldest uncommitted UOW to resync targets: from: Restart 1 [00000FCA65840000000000000D2E004A00000000FFFFFFFF] : Restart 2 [C1E4E2D3404000000D21B1A500000000] to: Restart 1 [00000FCA65840000000000000D300D8000000000FFFFFFFF] : Restart 2 [C1E4E2D3404000000D21B1A500000000].

The from restart tokens are the same as those displayed in the PWXPC_12060 messages for all sources. This restart token represents the start point in the change stream for the oldest uncommitted UOW. The to restart tokens represent the end of the oldest uncommitted UOW. Since the application connection for this session specifies sub-packet commit, the Restart 2 value is the begin-UOW value in both cases. The Restart 1 values represent the start and end change records in the Restart 2 UOW. PWXPC rereads the changes between the two restart token values in the 12069 message and issues a commit for the data and the restart tokens. The Integration Service writes the data to the target tables and the restart tokens to the state table. PWXPC and the Integration Service continue to read and write data and restart tokens until the session ends or is stopped.

174

Chapter 6: Restart and Recovery

Managing Session Log and Restart Token File History


When you run CDC sessions, session log and restart token file history is often useful for recovery situations. You can use these historical files to find previous restart points when data needs to be re-extracted. By default, the Integration Service keeps a single session log for each workflow or session. Change the Save session log for these runs in either the session or Session Configuration properties to specify the number or runs to keep the session logs. You can also change the Save session log by attribute to keep session logs by timestamp instead of number of runs. For more information about archiving session logs, see the PowerCenterWorkflow Administration Guide. PWXPC keeps a single pair of initialization and termination restart token files. In the source CDC connection, request more than a single copy by specifying a value larger than 1 in the Number of Runs to Keep RestartToken File attribute. Figure 6-1 shows an example of an Application Connection that specifies that 10 copies of the restart token file be maintained in the Restart Token File Folder:
Figure 6-1. Application Connection - Number of Restart Token Files

You can determine starting and ending restart points for each extraction using historical copies of the restart token file. You need historical copies of the session logs to re-extract changes at any point in between the session start and end. When PWXPC issues a real-time flush to commit data to the targets, it issues message PWXPC_10081. This message contains the restart tokens at that point in time:
PWXPC_10081 [INFO] [CDCDispatcher] raising real-time flush with restart tokens [<restart1_token>], [<restart2_token>] <because UOW Count [<n>] is reached.> | <because Real-time Flush Latency [<n>] occurred.>

PWXPC Restart and Recovery Operation

175

To restart an extraction from a specific commit point, use the restart tokens in the appropriate 10081 message to populate the restart token file and cold start the CDC session. PWXPC passes the restart token file values to PowerExchange to extract the data from that point forward.

176

Chapter 6: Restart and Recovery

Chapter 7

Flexible Key Custom Transformation


This section covers the following topics:

Target Key Transformations, 178 Group Source and Flexible Transformations, 187

177

Target Key Transformations


The Flexible Target Key Custom transformation has been developed to address the case where a data target has its Primary Key mapped to a column in a PowerExchange Change Data Capture source, which may be subject to update. Prior to the implementation of the Flexible Target Key facility, the only way to identify these changes to a key field was to pass the full record before and after image in the change stream. For sessions involving large amounts of data this overhead could be significant. For those wishing to keep network traffic to a minimum, PowerExchange has been enhanced to allow indicators to be added to specific fields. These indicators identify instances where that field has changed, and comprise both a before image field and a change indicator for any given field. From this information a delete/insert pair can then be generated for the target. Figure 7-1 shows the process:
Figure 7-1. Primary key updates from a source relational table

Here we see the that COL1 is updated from an A to a C. COL1 is marked as the primary key for the target table and is therefore treated as a delete of row A and an insert of row C.

178

Chapter 7: Flexible Key Custom Transformation

Configuring the PowerExchange Extraction Map


To ensure enough information is passed through to PowerCenter for a column, or columns, intended for use as a target primary key, a change indicator and before image field must be associated with the PowerExchange extraction map.
To configure an extraction map: 1. 2.

To add the before image and change indicator right click on the required extraction group. Open the group as shown below:

Target Key Transformations

179

3.

Open the required extraction map by either right-clicking and selecting open , or by double-clicking the required extraction map.

4.

Right-click the column which requires the before image and change indicator to be set.

180

Chapter 7: Flexible Key Custom Transformation

5.

Select Amend Control Indicator/Before Image Extensions

Target Key Transformations

181

6.

To set the change indicator, select and add the required column by double-clicking or highlighting it and then clicking Add. When all the required change indicators have been set up, click the Before Images tab.

7.

Repeat the process for columns which will require the before image to be included with the change capture data.

Note: The BI and CI column names can be changed on these screens by single-clicking and

editing. The following sections in this chapter will refer to the default names.

Configuring PowerCenter
The PowerExchange Change Data Capture (CDC) source will now need to be imported. This must be done through the Import from PowerExchange option under Source Analyzer in the PowerCenter Designer. For more information on importing a CDC source see Working with Extraction Map Definitions on page 57. After the CDC source has been imported, the target definitions will be required. Import them using the Target Designer in the PowerCenter Designer. For more information about importing a target see Source and Target Definitions on page 23.

182

Chapter 7: Flexible Key Custom Transformation

The following example will work with a DB2 data capture source and a DB2 target table. The structure of the source CDC table is:
Figure 7-2. DB2 Extraction Map Source Mapping

Note: The columns prefixed DTL_CI and DTL_BI are the change indicator and before image

respectively which are vital for this flexible transformation. The DTL__CAPX columns are PowerExchange capture columns. The target is a DB2 table of the following structure:
Figure 7-3. DB2 Target Table Mapping

The source table has a primary key of CUSTOMER_ID, and the PARTNER_CUST_ID is an attribute of the table. The transformation will load the data into the target table where the PARTNER_CUST_ID is the primary key, and the CUSTOMER_ID is an attribute of that table. In this case, if the PARTNER_CUST_ID changes in the source table, a delete and insert will be required for the target.

Target Key Transformations

183

Now drag the PowerExchange CDC source, and the target into the mapping as below:
Figure 7-4. DB2 Source to DB2 Target CDC mapping

Note: Any of the control information including BI and CI columns could, if required, be

defined in the target definition.

Create the Flexible Transformation


1.

From the Transformation option, select Create and then select a transformation type of FLXKEYTRANS.

This create will cause a transformation to appear.


2.

Link into the transformation the required columns from the source for the target. Also, the transformation will require the BI and CI indicators that were assigned earlier in

184

Chapter 7: Flexible Key Custom Transformation

PowerExchange (see Configuring the PowerExchange Extraction Map on page 179). A final column DTL__CAPXACTION should also be added to the transformation.
3.

The BI and CI columns need to be linked to the Flexible transformation. Right-click the transformation you have just created and select Edit. From within the edit dialog box, select the Source Column Map tab and add the columns to which the relevant before images and change indicators are assigned.

Note: The example above shows a single column primary key. Multiple columns can be

added here when the target primary key demands.

Target Key Transformations

185

4.

Link the transformation to the target. Only link the required data columns from the transformation to the target. No links will exist from the transformation to the target for the CI and BI columns, nor for the DTL__CAPXACTION column unless required in the target. This will result in the following mapping:

5.

Create the workflow from the mapping as normal.

186

Chapter 7: Flexible Key Custom Transformation

Group Source and Flexible Transformations


The PowerExchange Group Source functionality allows changed data for multiple sources or multiple records in a single source to be read during a single pass. See PowerExchange Group Source on page 71.. The Flexible Target Key Custom transformation also supports this functionality. The following example shows how data changes captured from a VSAM file, split into two different record types, can be processed through a single Flexible transformation and applied to two output DB2 tables. 1. 2. For an NRDB source create a data map as defined in the relevant PowerExchange Adapter Guide. Amend the data map to assign the relevant record id value test as shown in the dialog box below.

Note: In this example a data map has been created for records with a REC_TYPE of A in the

example above, and for REC_TYPE of B. These data maps are ksdss1.ksdsm1 and ksdss2.ksdsm2 respectively. 3. 4. Now register each of these data maps for PowerExchange capture. This process is described in the relevant PowerExchange Adapter Guide. Assign the BI and CI PowerExchange fields to the extraction map as shown above in Configuring the PowerExchange Extraction Map on page 179.

Group Source and Flexible Transformations

187

5. 6. 7.

Now import these two extraction maps as data sources into the PowerCenter Designer using Import from PowerExchange. Import the relevant data targets. In this example the two input capture streams will be written to two separate DB2 tables. When the mapping is created it will look similar to the following:.

Note how the Flexible transformation contains the columns for both of the PowerExchange change data input sources, and that they are linked to their own individual output tables. The Flexible Transaction includes Input and Output Groups. An input and output group is added when the flexible transformation is created, but subsequent input/output groups will be required for each source. These are added when you Edit the transformation and select the

188

Chapter 7: Flexible Key Custom Transformation

Ports tab shown below and then use the Create Input Group and Output Group buttons (the Create Input Group button is highlighted here):

Before validating the mapping the before imaged and change indicators will need to be assigned to ports as shown in step 4 on page 187.

Group Source and Flexible Transformations

189

190

Chapter 7: Flexible Key Custom Transformation

Part 3: PowerExchange ODBC

This part contains the following chapters:


Installing PowerExchange ODBC, 193 Working with Mappings, 197 Configuring Connections, 205 Working with Sessions, 211 PowerExchange Restart and Recovery, 221

191

192

Part 3: PowerExchange ODBC

Chapter 8

Installing PowerExchange ODBC


This chapter includes the following topics:

Overview, 194 Creating ODBC Data Sources, 195

193

Overview
Before installing and configuring the PowerExchange ODBC connection, you must install and configure PowerCenter and PowerExchange.
Note: When connecting to PowerExchange, Informatica recommends using PWXPC instead

of PowerExchange ODBC. PWXPC has additional functionality as well as improved performance and superior CDC recovery and restart. See Functional Comparison between PWXPC and PowerExchange ODBC on page 4.

Installation Requirements
To use PowerExchange ODBC connections with PowerCenter, the following products must be installed:

PowerCenter 8.5.1. For more information about installing PowerCenter see the PowerCenter Installation Guide. PowerExchange 8.5.1. Install PowerExchange on the PowerCenter Client and Integration Service machines. For more information about installing PowerExchange see the PowerExchange Installation Guide.

The PowerCenter Client, Integration Service and Repository Server software needs to be installed on the appropriate platforms. The PowerExchange software needs to be installed on the same PowerCenter Client and Server machines. If you have installed the 32-bit version of Integration Service, you must install the 32-bit version of PWXPC and of PowerExchange. If you have installed the 64-bit version of Integration Service, you must install the 64-bit version of PWXPC and of PowerExchange.

194

Chapter 8: Installing PowerExchange ODBC

Creating ODBC Data Sources


You can create ODBC data sources on the PowerCenter Client and Integration Service machines.

Creating ODBC Data Sources on the PowerCenter Client Machine


On the PowerCenter client machine, you need to define ODBC data sources so that the metadata for PowerExchange sources and targets can be imported.
To create an ODBC data source: 1. 2. 3. 4. 5. 6. 7. 8. 9.

Click Control Panel > Administrative Tools >Data Sources (ODBC). Click the System DSN tab. Click the Add button. Select the Informatica PowerExchange driver from the list of available drivers. Click Finish. Enter a name for the data source in the Name box. Select the location from the Location pull-down list. This is name defined on a NODE= statement defined within the PowerExchange configuration file (dbmover.cfg). Select the data source type from the Type pull-down list. Depending on the data source selected you will be presented with other specific properties that you can set. Complete all properties parameters, and click OK. The ODBC data source is created.

For more information about creating ODBC data sources, see "Using ODBC with PowerExchange" in the PowerExchange Reference Manual.

Creating ODBC Data Sources on the Integration Service Machine


On the machine running the Integration Service, you need to define ODBC data sources so that the workflow accessing PowerExchange sources and targets can connect to the PowerExchange Listener to extract the data.

Creating a PowerExchange ODBC Data Source on Windows


Follow the instructions in Creating ODBC Data Sources on the PowerCenter Client Machine on page 195.

Creating a PowerExchange ODBC Data Source on UNIX or Linux


Update the appropriate ODBC.INI file to define the ODBC data sources for PowerExchange. The data source entries in the ODBC.INI file have the following format:
[<data source name>] DRIVER=/<PowerExchange full install path>/libdtlodbc.sl

Creating ODBC Data Sources

195

DESCRIPTION='<Descriptive Text for Data Source>' LOCATION=<data source node from dbmover.cfg> DBTYPE=< Access method for file or database> (other ODBC parameters as appropriate)

For more information about ODBC data source parameters (both mandatory and optional) for a specific DBTYPE, see the PowerExchange Reference Manual. The <data source name> defined in the odbc.ini is specified in the Connect String value of the ODBC Connection in PowerCenter. This connect string causes the PowerExchange ODBC driver to be loaded and the specified location to be contacted to extract or load the data. For more information about ODBC connectivity with PowerCenter, see the PowerCenter Configuration Guide.

196

Chapter 8: Installing PowerExchange ODBC

Chapter 9

Working with Mappings

This chapter includes the following topics:


Overview, 198 Working with Source and Target Definitions for PowerExchange Batch, 199 Working with Source Definitions for PowerExchange Change or Real-time, 202

197

Overview
A mapping is a set of source and target definitions linked by transformation objects that define the rules for data transformation. Mappings represent the data flow between sources and targets. Source and target definitions represent metadata for sources and targets. When you create a source definition, its structure differs depending on the type of source it represents:

Non-relational sources require a multi-group source definition. Relational sources use a single-group source definition.

The source qualifier for a source definition also differs in structure depending on the type of source definition. After you create a source or target definition, you can include it in a mapping to extract data from the source or load data to the target. You can extract source data in batch, change, or real-time mode. You can use one source definition and one mapping for all modes. For a list of sources and targets that PowerExchange ODBC Interface supports, see Table 1-4 on page 10. This table also lists whether the Integration Service can read the source data in batch, change, or real-time mode.

198

Chapter 9: Working with Mappings

Working with Source and Target Definitions for PowerExchange Batch


With PowerExchange ODBC, you can create source or target definitions to access VSAM and sequential datasets (flat files), Adabas, DataCom, DB2, IDMS, or IMS databases. You create the source and target definitions identically regardless of the database type. After you create a source or target definition, you can edit it. For non-relational sources, the metadata imported is from the PowerExchange data map created through the PowerExchange Navigator. In the case of DB2/390 and DB2/400, the metadata is obtained either directly from the DB2 catalog or from a PowerExchange data map.

Importing a Source or Target Definition


You connect to a PowerExchange Listener to import a source or target definition using ODBC. Therefore, the data map must be sent to the PowerExchange Listener before it can be imported using an ODBC connection in Designer. When you connect to the PowerExchange Listener, the Designer displays a list of schemas and tables. Before you connect, you can filter the metadata the Designer displays by schema name. Select a table from the displayed list to create the source or target definition. When you import a DB2/390 or DB2/400 source definition through a PowerExchange Listener, the Designer imports the primary keys.

Working with Source and Target Definitions for PowerExchange Batch

199

To import a source or target definition: 1.

Click Sources > Import from Database in the Source Analyzer if importing a source definition. Click Targets>Import from Database in the Target Designer if importing a target definition. The following Import Tables dialog box appears.

Use the Owner name field to restrict the objects retrieved. When you import PowerExchange data maps, the Owner is the Schema Name of the data map and the ODBC data source must have a DB Type of NRDB or NRDB2. When the DB2 catalog is used for DB2/390 or DB2/400, the Owner is the owner of the DB2 tables and the DB Type must be either DB2 or DB2400C. If the Listener pointed to by the ODBC data source is running with PowerExchange Security (either SECURITY=(1,x) or SECURITY=(2,x) in the PowerExchange configuration file), then a valid userid and password must be provided. The only difference between NRDB and NRDB2 is whether a three or two tier naming conventions is used in the SQL statements to extract or load data. Non-relational sources and targets mapped in PowerExchange can be referred to using either NRDB or NRDB2. The format is as follows:
schema.mapname.table for NRDB

or
schema.mapname_table for NRDB2

200

Chapter 9: Working with Mappings

2.

Click Connect.

3.

Select the table you want to import.


Hold down the Shift key to select blocks of tables. Hold down the Ctrl key to make non-contiguous selections within a schema. Click Select All to select all tables. Click Select None to clear all highlighted selections.

4.

Click OK. The source or target definition appears.

5.

Click Repository > Save.

Working with Source and Target Definitions for PowerExchange Batch

201

Working with Source Definitions for PowerExchange Change or Real-time


With PowerExchange ODBC, you can create source definitions to access changed data for VSAM datasets (including CICS/VSAM), and Adabas, Datacom, DB2, IDMS, IMS, MSSQL Server, and Oracle databases.

Importing a Change Data Capture Source Definition


You initially create the source definitions in a similar way regardless of the database type. When you have created the source or target definition, you can edit it. The metadata that is imported for all change data sources is taken from the PowerExchange extraction maps. Extraction maps are created by the PowerExchange Navigator when the source is initially registered for Change Data Capture. These can be manually modified at a later date.
To import a Change Data Capture Source Definition 1.

Click Sources > Import from Database in the Source Analyzer. The Import Tables dialog box appears.

Use the Owner name field to restrict the objects retrieved. When you import PowerExchange extraction maps the Owner is the first qualifier of the extract map name. The entire extraction map name has the following format:
<D><N><instance>.<regname>_TABLENAME

202

Chapter 9: Working with Mappings

where:

D - the default entry starts with D (any user-modified maps start with U) N - database-specific identifier (e.g., 1 for DB2/390, 2 for IMS, 3 for DB2/400, etc.) instance - instance name chosen for the source registration regname - the registration name chosen for the source registration.

For example, DB2/390 extraction map name might be: d1dsn7.testdb2_KJM723TB. When you import Change Data Capture source definitions, the ODBC data source must have a DB Type of CAPX or CAPXRT. These DB Types instruct the Listener to select extraction maps rather than data maps. If the Listener pointed to by the ODBC data source is running with PowerExchange Security (either SECURITY=(1,x) or SECURITY=(2,x) in the DBMOVER configuration), then a valid user name and password must be provided.
2.

Click Connect.

3.

Select the table you want to import.


Hold down the Shift key to select blocks of tables. Hold down the Ctrl key to make non-contiguous selections within a schema. Click Select All to select all tables. Click Select None to clear all highlighted selections.

4.

Click OK. The source definition appears.

5.

Click Repository > Save.

Working with Source Definitions for PowerExchange Change or Real-time

203

204

Chapter 9: Working with Mappings

Chapter 10

Configuring Connections

This chapter includes the following topics:


Overview, 206 Working with Connections for PowerExchange ODBC, 207

205

Overview
Before PowerCenter can access a source or target in a session, you must configure connections in the Workflow Manager. When you create or modify a session that reads from or writes to a database, you can select only configured source and target databases. Connections are saved in the repository. For PowerExchange ODBC, you configure relational database connections.

206

Chapter 10: Configuring Connections

Working with Connections for PowerExchange ODBC


This section describes the connection types used for extracting and loading data as well as how to configure connection attributes.

Connection Types for Extracting Source Data


The connection you configure depends on the extraction mode. The type of source data you want to extract does not affect the connection type although it will affect which ODBC data source is used in the Connect String as there may be multiple different Listeners and platform-specific parameters. Table 10-1 describes the connections you create for data extraction based on the extraction mode:
Table 10-1. Connection Types for Extracting Source Data
Application Connection/ Relational Database Connection Relational Connection Relational Connection

Extraction Mode Batch mode (non-relational data map) Batch mode (relational)

Connection Type ODBC with NRDB and NRDB2 Data Source ODBC with Data Source of appropriate database type (DB2, DB2400C, ADAUNLD, etc.) ODBC with CAPX Data Source ODBC with CAPXRT Data Source

Change mode Real-time mode

Relational Database Connection Relational Database Connection

Note: For more information about the full range of database types that can be specified in

ODBC Data Sources, see the PowerExchange Reference Manual.

Connection Types for Loading Target Data


All target connections are Relational Database Connection when loading data to PowerExchange targets. Table 10-2 describes the target database types and their capability:
Table 10-2. Target Database Types
Database Type (Access Method) Adabas Datacom DB2 (DB2) Insert Yes No Yes Update Yes No Yes Delete Yes No Yes

Working with Connections for PowerExchange ODBC

207

Database Type (Access Method) DB2 (DB2400C) IDMS IMS Sequential (NRDB/NRDB2) VSAM- KSDS (NRDB/NRDB2) VSAM-ESDS (NRDB/NRDB2) VSAM-RRDS (NRDB/NRDB2)

Insert No No Yes Yes Yes Yes Yes

Update No No Yes No Yes No No

Delete No No Yes No Yes No No

Configuring Attributes for Connections


When using ODBC connections, the majority of the attributes are specified in the ODBC data source rather than in the connection in PowerCenter. For more information about ODBC data sources, see the PowerExchange Reference Manual. Source and target ODBC connections in Workflow Manager are defined as Relational connections with a subtype of ODBC. The ODBC connection definition process is the same for Batch, Change, and Real-Time. The only difference in these connections is the ODBC data source to which they point. Figure 10-1 shows the Connection Object Definition dialog box for an ODBC relational connection:
Figure 10-1. ODBC - Connection Object Definition

208

Chapter 10: Configuring Connections

Table 10-3 shows the Connection Object Definition dialog box for an ODBC relational connection and describes the connection attributes to configure for an ODBC relational database connection:
Table 10-3. ODBC Connection Object Definition Table
Connection Attribute Name User Name Password Connect String Code Page Connection Environment SQL Transaction Environment SQL Connection Retry Period Required/ Optional Required Required Required Required Required Optional Optional Optional

Description Name for the relational database connection. Username for the data source. Password for the User Name. Name of the ODBC data source. Code page for the Integration Service to use to extract the data from the data source. Executes an SQL command with each database connection. Default is disabled. Executes an SQL command before the initiation of each transaction. Default is disabled. Number of seconds the Integration Service attempts to reconnect to the database if the connection fails. If the Integration Service cannot connect to the database in the retry period, the session fails.

Working with Connections for PowerExchange ODBC

209

210

Chapter 10: Configuring Connections

Chapter 11

Working with Sessions

This chapter includes the following topics:


Working with WorkflowsOverview, 212 Extracting Data from PowerExchange in Batch Mode, 213 Extracting Data from PowerExchange in Change and Real-time Mode, 217 Loading Data to PowerExchange Targets, 219

211

Working with WorkflowsOverview


After you create mappings in the PowerCenter Designer, you can create a session and use the session in a workflow to extract, transform, and load data. You create sessions and workflows in the Workflow Manager. You can create a session in a workflow to extract data in batch, change, or real-time mode. You determine how you want the Integration Service to extract the data when you configure the session. You can also create a session to load data to a target. After you configure the workflow, you must schedule the workflow. For more information about creating, configuring, and scheduling workflows, see the PowerCenterWorkflow Administration Guide.

Pipeline Partitioning
Depending on your source or target database, you can increase the number of partitions in a pipeline to improve session performance. Increasing the number of partitions allows the Integration Service to create multiple connections to sources and targets and process partitions of data concurrently. While processing data, the Integration Service may process data out of sequence due to the varying rates at which the partitions process data. When you create a session in a workflow, the Workflow Manager validates each pipeline in the mapping for partitioning. You can specify multiple partitions in a pipeline if the Integration Service can maintain data consistency when it processes the partitioned data. For more information about partitioning and a list of all partitioning restrictions, see the PowerCenterWorkflow Administration Guide.

Partition Types for Extracting Source Data


If you are configuring a session to read source data, you can use partitioning if the session mode is batch. Table 11-1 describes the partition types for partitioning points when extracting source data in batch mode:
Table 11-1. Partition Types for Partitioning Points for Sources
Source Type Non-relational Relational Partitioning Point Application Multi-Group Source Qualifier Source Qualifier Partition Type Pass-through Key range Pass-through

Partition Types for Loading Target Data


If you are configuring a session to write data to DB2/390 and DB2/400 targets, you can specify all partition types.

212

Chapter 11: Working with Sessions

Extracting Data from PowerExchange in Batch Mode


To extract data in batch mode, you must select the appropriate ODBC relational connection and configure session properties. The connection you select and the session properties you configure differ depending on the type of source data.

Session Properties for Non-Relational Batch Mode Sessions


The relational connection for non-relational sources should point to an ODBC data source that has a DBType of either NRDB or NRDB2. You should use a connection with the same DBType as used when the source was imported. That is, if you imported the source mapping using NRDB, then use an NRDB ODBC connection in the session connection as opposed to an NRDB2.
Note: The only difference between NRDB and NRDB2 is whether a three or two tier naming

conventions is used in the SQL statements to extract or load data. Non-relational sources and targets mapped in PowerExchange can be referred to using either NRDB or NRDB2. The format is as follows:

NRDB: schema.datamapname.table NRDB2: schema.datamapname_table

Extracting Data from PowerExchange in Batch Mode

213

To configure a batch mode session for non-relational sources: 1. 2.

In the Task Developer, double-click a session with a non-relational source to open the session properties. Click the Sources view on the Mapping tab.

3. 4. 5.

In the Reader field of the Readers settings, Relational Reader is automatically selected. In the Connections Value field, select the non-relational ODBC connection (NRDB or NRDB2). In the Properties settings, configure the Owner Name attribute. For more information about other Properties attributes, see the PowerCenter Workflow Administration Guide. At minimum, the schema name of the PowerExchange data map (or the Owner name displayed when the source mapping is edited) must be specified in order to correct construct the SQL statement during execution. PowerExchange SQL Escape Sequences can also be specified in this attribute field to override specifications in the data map. For a complete list of the SQL Escape Sequences available, see the PowerExchange Reference Manual. The following example indicates how the Owner Name attribute can be configured to provide the schema name for the source (seq) as well as an override for the physical file name in the data map (dtldsn=new.dataset.name):
seq{dtldsn=new.dataset.name}

214

Chapter 11: Working with Sessions

Note: SQL escape sequences and the Owner Name can be specified in any order in the attribute field.
6.

Click OK.

Session Properties for Relational Batch Mode Sessions


To extract data from a relational source in batch mode, you must select the appropriate ODBC relational connection and configure session properties. The relational connection should point to an ODBC data source that has the DBType of the source (DB2, DB2400C, DB2UDB, MSSQL or Oracle). You can then configure the session properties as you would any other PowerExchange ODBC source.
To configure a batch mode session for relational sources: 1.

In the Task Developer, double-click a session with a relational source to open the session properties. Click the Sources view on the Mapping tab.

2. 3. 4.

In the Reader field of the Readers settings, Relational Reader is selected. In the Connections Value field, select the appropriate relational ODBC connection. In the Properties settings, configure the Owner Name attribute. For more information about other Properties attributes, see the PowerCenter Workflow Administration Guide.

Extracting Data from PowerExchange in Batch Mode

215

At minimum, the owner name of the source table must be specified in order to correct construct the SQL statement during execution. Alternatively, the Owner Name can be specified in the source mapping and, if done, would not be required here.
5.

Click OK.

216

Chapter 11: Working with Sessions

Extracting Data from PowerExchange in Change and Real-time Mode


To extract data in change and real-time mode, you must select an ODBC relational connection and configure session properties. The connection you select for change mode should refer to an ODBC data source with a DBType of CAPX whereas a real-time mode connection should refer to an ODBC data source with a DBType of CAPXRT. When using ODBC to extract data from PowerExchange in either Change or Real-Time mode, restart is handled from within PowerExchange.

Session Properties for Change and Real-time Mode Sessions


Use the following procedure to configure a session for change or real-time mode.
To configure a change or real-time mode session: 1. 2.

In the Task Developer, double-click a session with a relational source to open the session properties. Click the Sources view on the Mapping tab.

3.

In the Reader field of the Readers settings, Relational Reader is automatically selected.

Extracting Data from PowerExchange in Change and Real-time Mode

217

4.

In the Connections Value field, select a connection which points to an ODBC data source with DBType CAPX (for Change) or CAPXRT (for Real-Time) and the appropriate Location value. In the Properties settings, configure the Owner Name attribute. For more information about other Properties attributes, see the PowerCenter Workflow Administration Guide. At minimum, the schema name of the source extraction map must be specified in order to correct construct the SQL statement during execution. This name is the first qualifier of extraction map name shown in the PowerExchange Navigator. It can also be determined by checking the Owner Name in the source mapping. PowerExchange SQL Escape Sequences can also be specified in this attribute field to override specifications in the data map. For a complete list of the SQL Escape Sequences available, see the PowerExchange Reference Manual. The following example indicates the manner in which the Owner Name attribute can be configured to provide the schema name for the source (d6vsam) as well as an override for the application name specified in the DBQual2/Application Name field in the ODBC data source (dtlapp=new_appname):
{dtlapp=new_appname}d6vsam

5.

Note: SQL escape sequences and the Owner Name can be specified in any order in the attribute field.
6.

Click OK.

218

Chapter 11: Working with Sessions

Loading Data to PowerExchange Targets


To load data to a PowerExchange target, you must select a relational database connection. Then configure properties for the session as you would any other relational target. For more information about configuring sessions for relational sources, see the PowerCenter Workflow Administration Guide.
To configure a session to load data to a PowerExchange target: 1. 2.

In the Task Developer, double-click a session with a relational source to open the session properties. Click the Targets view on the Mapping tab.

3. 4. 5.

In the Writers settings, ensure that Relational Writer is selected. In the Connections Value field, select a connection which points to an ODBC data source with appropriate DBType and Location value. In the Properties settings, configure the Table Name Prefix attribute. At minimum, the schema name of the target table (if relational) or the PowerExchange data map (if non-relational) must be specified in order to correct construct the SQL statement during execution.

6.

Click OK.

Loading Data to PowerExchange Targets

219

220

Chapter 11: Working with Sessions

Chapter 12

PowerExchange Restart and Recovery


This chapter includes the following topics:

Overview, 222 Restart and Recovery Using PowerExchange ODBC, 223

221

Overview
Recovery and restart need to be considered when designing and configuring sessions and workflows using either PowerExchange Change or Real-Time. The considerations differ depending upon whether the session uses PowerExchange Client for PowerCenter (PWXPC) or PowerExchange ODBC. This is primarily due to the differences in where the restart information is maintained. With PowerExchange ODBC, the restart information is controlled and maintained on the PowerExchange Listener platform in the internal change information file (CDEP) using the application name specified in the connection.

222

Chapter 12: PowerExchange Restart and Recovery

Restart and Recovery Using PowerExchange ODBC


PowerExchange ODBC uses the restart tokens associated with application names in the CDEP file to determine the starting extraction point for a session. The CDEP file used is the one maintained by PowerExchange on the platform targeted by the extraction. The CDEP file contains both begin and end restart tokens for each extraction. This differs from PWXPC where only the end restart tokens are maintained in the restart token file. The restart tokens determine the baseline point from which to extract the changed data for the source database. Since both start and end restart tokens are available when using ODBC, the extraction type decides which ones will be used for restart. The extraction type is specified in the ODBC connection in the CAPXTYPE parameter. This can be overridden at the session level by using the SQL Escape Sequence DTLXTYPE. For more information about ODBC parameters and SQL Escape Sequences see the PowerExchange Reference Manual. If the extraction type specified is Since Last (SL) then the extraction will commence at the last successful ending point. If it is Restart (RS) then it will commence at the starting point of either the last successful extraction that was run or the one that is specified with the Reset Start Point in the extraction application dialog box in the PowerExchange Navigator.
Note: Unique application names should be used for each for each session to prevent any

conflict in the CDEP between multiple sessions. The CDEP information for an extraction is only updated when a session ends successfully. Failed sessions do not update the restart token information in the CDEP with the progress so far.
Warning: Failed sessions that are restarted will extract data from the last successful session (based on CAPXTYPE specified). This means that there is the possibility that duplicated changes will be sent to the target. In the event of a failure, you must either restore the targets to match the restart point prior to restarting the session or design your PowerCenter session to handle the possibility of duplicate records.

Managing Restart Tokens Using PowerExchange ODBC


PowerExchange on the source platform reads the restart tokens from the CDEP for each source included in the session. The first time a session is run with a new application name, an entry for it will be automatically created in the CDEP if it does not already exist. If the application name already exists in the CDEP, PowerExchange will use the appropriate restart tokens to commence extraction from the change stream. Which restart tokens are used depends upon the extraction type (SL or RS) and whether new tokens have been supplied by DTLUAPPL since the last run. If new tokens have been supplied by DTLUAPPL, then those tokens will be used regardless of the extraction type. If there are sources included that have newer restart points, they will not be provided any records from the change stream until their restart points have been reached. This prevents sources from being passed records that they processed in the previous extraction run.

Restart and Recovery Using PowerExchange ODBC

223

After a session completes successfully, PowerExchange updates the CDEP with the ending restart tokens.

CDEP Restart Tokens Example


The following example shows the contents of restart tokens in the CDEP for an application that contains a restart token file for the DB2 sources DB2DEMO1, DB2DEMO2, and DB2DEMO3:
Application name=<odbc_db2demo13ac> Rsttkn=<3> Ainseq=<0> Preconfig=< > FirstTkn =<D2D1D4D340400000003ED5D600000000> LastTkn =<D2D1D4D340400000003ED5D600000000> CurrentTkn=<> Registration name=<db2demo1.1> tag=<DB2DSN7db2demo11> Sequence=<000007337D8A00000000000007337D8A00000000> Restart =<D2D1D4D34040000007337D0200000000> Registration name=<db2demo2.1> tag=<DB2DSN7db2demo21> Sequence=<000007337D8A00000000000007337D8A00000000> Restart =<D2D1D4D34040000007337D0200000000> Registration name=<db2demo3.1> tag=<DB2DSN7db2demo31> Sequence=<000007337D8A00000000000007337D8A00000000> Restart =<D2D1D4D34040000007337D0200000000>

The application name odbc_db2demo13ac was created using DTLUAPPL with RSTTKN GENERATE. An example of the control cards that were used is given below:
mod APPL odbc_db2demo13ac DSN7 RSTTKN GENERATE add rsttkn db2demo1 add rsttkn db2demo2 add rsttkn db2demo3 end APPL odbc_db2demo13ac print appl odbc_db2demo13ac

You can use either ADD APPL or MOD APPL for a new application name as with MOD APPL DTLUAPPL will create the application name if it does not already exist. After the new restart tokens are provided through DTLUAPPL, the session using this application name can be started and it will use this restart tokens.

224

Chapter 12: PowerExchange Restart and Recovery

Part 4: Appendices

This part contains the following appendices:


Tips, 227 Datatypes and Code Pages, 239 Troubleshooting, 247

225

226

Part 4: Appendices

Appendix A

Tips

This appendix provides details about the following:


Organizing Sources by Map Type in Designer, 228 Filtering Source Data Using PWXPC, 230 Using DTLREXE to Submit MVS Batch Jobs, 233 Creating Sequential and GDG Data Sets, 236

227

Organizing Sources by Map Type in Designer


Source metadata imported in Source Analyzer in the PowerCenter Designer using PWXPC is stored into sub-folders based on source type and location. The user cannot choose the subfolder name and the table names within those sub-folders must be unique. With the PWXPC Import from PowerExchange dialog box, these folder names have the following format: <source_type_location>. The source_type value equates to the Source Type specified in the Import from PowerExchange dialog box. The location value equates to the Location specified in the Import from PowerExchange dialog box and is a user-specified name in the PowerExchange dbmover.cfg file. For example, if the Location is MVS2 and the Source Type is IMS, then the folder will be called IMS_MVS2. All IMS sources imported from that location will be stored into that folder. You can use the name you assign for the location as a method of organizing your source metadata in Designer. There are some non-relational source types where the schema name is different but map name can be the same for both PowerExchange data map and extraction map (CDC Datamap) created from that data map. To illustrate, lets assume the following are used to create the PowerExchange data map for an IMS database:

The IMS database is called IMS1T01 and this is used as the PowerExhange Data Map Name A segment in that database results in a table in the data map called IMSSEG1 The PowerExchange Schema Name used when creating the data map is IMS

The PowerExchange map name (in the NRDB2 form) is constructed as follows:
<schema_name>.<datamap_name>_<table_name>

In this example, the PowerEchange data map name is IMS.IMS1T01_IMSSEG1. If you use the IMS database name for the Capture Registration Name as well, the resulting extraction map name will be d2reconid.IMS1T01_IMSSEG1. The map name for both the data map and extraction map are the same. Since the schema name is not used in the source definition table name, the names will be exactly the same when imported in Designer. As a result, only one will be able to be imported from the same Location. So, there are two choices: 1. 2. Use a different name for the capture registration so that a unique extraction map name is created. Use a different Location name to import data maps and extraction maps

If you want to use the same names for both the data map name and the capture registration name, then you will need to use a different location name in the Import from PowerExchange to place these two source definitions in different folders. To help organize sources in Designer, use location names in the PowerExchange dbmover.cfg that indicate the type of data you are retrieving. Creating multiple NODE= statements
228 Appendix A: Tips

(location names) for the same listener is perfectly acceptable. In this example, if you create a NODE called CDCMAPS in the dbmover.cfg and use this as the Location when importing the IMS extraction map, it will be stored in a sub- folder called IMS_CDCMAPS. This strategy of separating extraction maps from regular relational and non-relational source metadata can be a useful way of organizing source metadata in Designer.

Organizing Sources by Map Type in Designer

229

Filtering Source Data Using PWXPC


Using PWXPC, it is possible to filter data at the source so only the relevant rows are sent from PowerExchange to the PowerCenter session. There are many reasons why you might want to do this. Some examples of scenarios in which this capability is useful are:

With some source types you cannot limit change capture changes based on only certain columns changing (e.g., VSAM and IMS). It is possible, for certain source types, to create capture registrations in PowerExchange which only register specific columns (as opposed to all of them). However, if the RDBMS logs are used directly for extraction and they does not support this selective column capture, then the row will be extracted even if none of the columns of interest have changed (e.g., DB2/400). The source type is one where either PowerExchange itself or the RDBMS will only capture changes based on columns of interest. However, additional or all columns are registered for capture because other extractions require them. You only want to extract columns with a specific value. For example, you want to read all of the columns in a table for a specific customer.

In these types of cases, you can use the source Filter Override attribute in the Session Properties to filter the source data. This can be done with sources using a PWXPC Batch, Change, and Real-Time connection. The filters specified are then included in the WHERE clause sent to PowerExchange. Proper SQL syntax should be followed for these overrides to prevent SQL failures. The SQL filter specified can specify any type of column that exists in the source mapping. This includes regular data columns and PowerExchange-generated columns such as DTL__CAPX columns, change indicator columns (DTL__CI) and before image columns (DTL__BI). There are two forms of the filter syntax. The simplest form is for single record sources such as CDC data maps, relational tables, or single record non-relational data maps:
<filter condition1>;<filter condition2>;...

For multi-record non-relational data map sources, there is a more complex form of the syntax:
<group name1>=<filter condition1>;<group name2>=<filter condition2>;...

This more complex form of the syntax allows you to use different filters for different record types or the same filter for only some of the record types in a multi-record source. You can also use the simple form with multi-record source data maps which then causes that filter to be applied to all records.

230

Appendix A: Tips

The following example shows how to use the PowerExchange Change indicator columns (DTL__CI_column) to filter changed data specifically, the change indicator for the ACCOUNT field which is called DTL__CI_ACCOUNT:
Figure A-1. Filter Overrides: Single-Record Filter

In the following example, the multi-record VSAM source contains four records which each have unique field names. The group names for the four records are: V07A_RECORD_LAYOUT, V07B_RECORD_LAYOUT, V07C_RECORD_LAYOUT, and V07D_RECORD_LAYOUT. The filter contains the group-name filter syntax in order to filter data records for the first two records. No filtering is done on the other two records. The filter specified is in the Filter Overrides attribute is:
V07A_RECORD_LAYOUT=V07A_RECORD_KEY=1;V07B_RECORD_LAYOUT=V07B_RECORD_KEY=2

Because there are four records in the multi-record data, there will be four SELECT statements created by PWXPC. The SELECT statements for the two records specified in the Filter Overrides attribute will also have WHERE clauses for their specific filters.

Filtering Source Data Using PWXPC

231

The Mapping tab for this example is as follows:


Figure A-2. Filter Overrides: Multi-Record Filter

Records for V07A_RECORD_LAYOUT and V07B_RECORD_LAYOUT will be filtered whereas the other two records in the file will not be.

232

Appendix A: Tips

Using DTLREXE to Submit MVS Batch Jobs


PowerExchange provides a utility program called DTLREXE which can be used to cause remote execution of a program on another platform running PowerExchange. One option of this utility is the SUBMIT option which provides the ability to submit a MVS batch job remotely. For detailed information on the syntax of the DTLREXE utility PROG=SUBMIT statements, see the PowerExchange Utilities Guide. This utility can be invoked in PowerCenter workflows using PowerCenter Command Tasks. Command tasks can either be stand-alone tasks or pre/post session commands. Which you choose depends upon what you want to do. There are advantages in using a stand-alone command task for repeatable functions as it only needs to be coded once and can then be used by numerous workflows. On the other hand, it is possible to easily configure a session to fail if a pre-session command task fails. For more information about commands tasks and preand post-session commands, see the PowerCenter Workflow Administration Guide. Some examples of the type of tasks that can be performed using DTLREXE PROG=SUBMIT are:

Truncate a database table prior to loading data into it in a session. This is useful for database types for which PowerCenter does not support truncate, such as Adabas. Notify a MVS-based job scheduler that the workflow is starting or ending. Some job schedulers provide batch posting utilities and they can be utilized using DTLREXE to submit a batch job. Unload a database to a flat file so it can then be used in a session to load another database. Clean up DB2 bulk load files when the session completes successfully. Submit any type of MBS Batch JOB for which waiting for the completion and returning a set of messages is required.

Using DTLREXE to Submit MVS Batch Jobs

233

The following example shows how to setup a DTLREXE PROG=SUBMIT command as a pre-session command:
Figure A-3. Pre-Session Command - DTLREXE

In this example, the DTLREXE command specifies mode=(job,wait) which means that the DTLREXE will wait for the job to complete. This, in turn, will cause the session to wait until this pre-session command completes. In the Error Handling section of the Config Object, you can specify how to handle errors for pre-session commands in the On Pre-session command task error field.
Note: Ensure that the JOB submitted through DTLREXE includes the appropriate DTLNTS

steps if WAIT mode is requested. The PowerExchange RUNLIB, in member DTLREXE, contains sample JCL to be used with DTLREXE that includes the required DTLNTS steps. If you are using a stand-alone command task to submit a batch JOB using DTLREXE, then there are no session configuration options to check for success or failure. If you want to test the status of the command task in the following session, you will need to use one of the taskspecific workflow variables available in the Workflow Manager; that is, either PrevTaskStatus

234

Appendix A: Tips

or Status. These variables can be used in link conditions to test the status of tasks in a workflow. For example:
Figure A-4. Workflow Link Condition - DTLREXE
Link Condition

The link condition is created by double-clicking on the link between the DTLREXE command task and the s_bulk_db2demo123_db2demoabc session to which it is connected. This will invoke the Expression Editor which allows you to add the test to ensure that the DTLREXE command task succeeded, as shown below:
Figure A-5. Command Task Expression Editor - DTLREXE

For additional information on link conditions and the expression editor, see the PowerCenter Workflow Administration Guide.

Using DTLREXE to Submit MVS Batch Jobs

235

Creating Sequential and GDG Data Sets


When writing to a sequential or Generation Data Group (GDG) data set using PowerExchange, the data set is created when the first record to be written is received. If there is no data written to the target, then PowerExchange will not created the new data set. Some applications require that a new sequential data set or generation of a GDG data set be created each time a session or workflow runs, even if that data set is empty. If you are using sequential or GDG data sets on MVS with PowerExchange and have this requirement, you can ensure that a new generation is created each time you run a session (task) in a workflow by following the procedure below.
To pre-allocate a sequential or GDG data set in a session: 1. 2. 3. 4.

In Workflow Manager, right-click on the appropriate task in either Task Developer or in your workflow in Workflow Designer. Select Tasks > Edit. The Edit Tasks dialog box is displayed. Select the Mappings tab. In the Pre SQL attribute in the Session Level Properties for the target, enter the following: <CMD>CREATEFILE FN=data_set_name If this is a GDG data set, then the data_set_name should be gdg_base_name(+1) to create a new generation.

5.

Click OK.

236

Appendix A: Tips

The following example show a CREATEFILE command for a new generation of GDG data set my.gdg:
Figure A-6. Session Mapping Tab - File Create Pre-SQL Command

Note: When using this procedure for GDG data sets, the GDG base name specified must exist

and GDGLOCATE=Y must be specified in your PowerExchange DBMOVER configuration file on the MVS platform. When you run the workflow, the new generation of the GDG is created in addition to the normal processing of the workflow. The allocation parameters used to create the data set are specified in the DBMOVER configuration used by the PowerExchange Listener.

Creating Sequential and GDG Data Sets

237

The CREATEFILE command has a number of parameters. Any number of these can be specified. The parameters and their values are separated with a space in the command. The parameters are:
Parameter FN Platform All Description File name to be created. If specifying a relative GDG data set name, the file name must be in double quotes (). This parameter is required. Userid. This parameter is required if your Listener is running with user security (SECURITY=1 or 2). Password for the userid specified in UID. Encrypted password for the userid specified in UID. Only one of PWD or EPWD is required. Model DSCB to be used for the file creation. Generally, this is only required for GDG data sets which are not SMS-managed. Space allocation parameters in the format: SPACE=(u,p,s) where: - u is units (T for tracks and C for cylinders) - p is primary space allocation value - s is secondary space allocation value BS RELEASE VOLSER UNIT LRECL RECFM MVS only MVS only MVS only MVS only MVS, AS400 only MVS, AS400 Block size. Release unused allocated space on CLOSE. Valid value is Y. Volume serial. Unit type. Logical record length. Record format.

UID PWD EPWD MODELDCB SPACE

MVS / AS400 only MVS / AS400 only MVS / AS400 only MVS only MVS only

These value override the equivalent parameters specified in the DBMOVER configuration file. Any values not specified use either those specified in DBMOVER or the standard PowerExchange defaults. See the PowerExchange Reference Manual for further information on these parameters.

238

Appendix A: Tips

Appendix B

Datatypes and Code Pages


This appendix covers the following topics:

Datatype ReferenceOverview, 240 PowerExchange and Transformation Datatypes, 241 Relational Datatypes, 243 Reading and Writing Binary Data in PowerExchange Client for PowerCenter, 244 Using Code Pages, 245

239

Datatype ReferenceOverview
PowerCenter uses the following datatypes when reading source data, transforming the data, and writing target data:

Native datatypes. Specific to the source and target databases or PowerExchange. Native datatypes appear in source and target definitions. Transformation datatypes. Generic datatypes that appear in transformations. The Integration Service uses the datatypes to move data across platforms.

For more information about transformation datatypes, see the PowerCenter Designer Guide.

240

Appendix B: Datatypes and Code Pages

PowerExchange and Transformation Datatypes


PowerExchange datatypes display for non-relational source definitions. You import nonrelational source definitions from a PowerExchange data map. The datatypes of the fields in the source definition match the datatype for the corresponding field in the data map. These datatypes map to PowerCenter transformation datatypes, which display in the Application Multi-Group Source Qualifier for the non-relational source and other transformations in a mapping. For information about how native non-relational database datatypes map to PowerExchange datatypes, see the PowerExchange documentation. Table B-1 compares PowerExchange datatypes and the transformation datatypes that display in the Application Multi-Group Source Qualifier transformation:
Table B-1. PowerExchange and Transformation Datatypes
PowerExchange BIN Precision 10 Transformation Binary Range 1 to 104,857,600 bytes You can pass binary data from a source to a target, but you cannot perform transformations on binary data. PowerCenter does not support binary data for COBOL or flat file sources. 1 to 104,857,600 characters Fixed-length or varying-length string. Jan 1, 1753 AD to Dec 31, 9999 AD Combined date/time value, with precision to the nanosecond. Precision of 15 digits Double-precision floating-point numeric value. Precision of 15 digits Double-precision floating-point numeric value. Precision of 5 and scale of 0 Integer value. Precision of 5 and scale of 0 Integer value. Precision of 5 and scale of 0 Integer value. Precision of 10 and scale of 0 Integer value. Precision of 10 and scale of 0 Integer value. Precision of 15 digits Double-precision floating-point numeric value.

CHAR DATE

10 10

String Date/Time

DOUBLE FLOAT NUM8 NUM8U NUM16 NUM16U NUM32 NUM32U

18 7 3 3 5 5 10 10

Double Double Small Integer Small Integer Small Integer Integer Integer Double

PowerExchange and Transformation Datatypes

241

Table B-1. PowerExchange and Transformation Datatypes


PowerExchange NUM64 Precision 19 Transformation Decimal Range Precision 1 to 28 digits, scale 0 to 28 Decimal value with declared precision and scale. Scale must be less than or equal to precision. If you pass a value with negative scale or declared precision greater than 28, the PowerCenter Server converts it to a double. Precision 1 to 28 digits, scale 0 to 28 Decimal value with declared precision and scale. Scale must be less than or equal to precision. If you pass a value with negative scale or declared precision greater than 28, the PowerCenter Server converts it to a double. 1 to 104,857,600 characters Fixed-length or varying-length string. Precision 1 to 28 digits, scale 0 to 28 Decimal value with declared precision and scale. Scale must be less than or equal to precision. If you pass a value with negative scale or declared precision greater than 28, the PowerCenter Server converts it to a double. Jan 1, 1753 AD to Dec 31, 9999 AD Combined date/time value, with precision to the nanosecond. Jan 1, 1753 AD to Dec 31, 9999 AD Combined date/time value, with precision to the nanosecond. Precision 1 to 28 digits, scale 0 to 28 Decimal value with declared precision and scale. Scale must be less than or equal to precision. If you pass a value with negative scale or declared precision greater than 28, the PowerCenter Server converts it to a double. Precision 1 to 28 digits, scale 0 to 28 Decimal value with declared precision and scale. Scale must be less than or equal to precision. If you pass a value with negative scale or declared precision greater than 28, the PowerCenter Server converts it to a double. 1 to 104,857,600 bytes You can pass binary data from a source to a target, but you cannot perform transformations on binary data. PowerCenter does not support binary data for COBOL or flat file sources. 1 to 104,857,600 characters Fixed-length or varying-length string. Precision 1 to 28 digits, scale 0 to 28 Decimal value with declared precision and scale. Scale must be less than or equal to precision. If you pass a value with negative scale or declared precision greater than 28, the PowerCenter Server converts it to a double.

NUM64U

19

Decimal

NUMCHAR PACKED 15

String Decimal

TIME

Date/Time

TIMESTAMP

Date/Time

UPACKED

15

Decimal

UZONED

15

Decimal

VARBIN

10

Binary

VARCHAR ZONED

10 15

String Decimal

242

Appendix B: Datatypes and Code Pages

Relational Datatypes
PowerExchange Client for PowerCenter supports the same datatypes for DB2/390, DB2/400, and DB2/UDB that PowerCenter supports for DB2. It also supports the same Oracle and the same SQL Server datatypes that PowerCenter supports. For more information about PowerCenter datatypes, see the PowerCenter Designer Guide.

Relational Datatypes

243

Reading and Writing Binary Data in PowerExchange Client for PowerCenter


If you read binary data from any source, or if you write binary data to a DB2/390 or DB2/ 400 target using PowerExchange Client for PowerCenter, the data cannot be larger than 32 KB. Otherwise, the Integration Service truncates the data.

244

Appendix B: Datatypes and Code Pages

Using Code Pages


When you configure a connection object in the Workflow Manager, select a code page for the connection. If you configure the Integration Service for code page validation, the source code page must be a code page that is a subset of the target code page. If you configure the Integration Service for relaxed code page validation this is not the case. You can select any code page supported by PowerCenter for the target. For more information about configuring the code page in connection objects, see Table 4-11 on page 104 which describes the connection attributes you configure for Oracle real-time mode application connections. For more information about code pages, see the PowerCenter Administrator Guide.

Using Code Pages

245

246

Appendix B: Datatypes and Code Pages

Appendix C

Troubleshooting

This chapter includes the following topics:

Troubleshooting, 248

247

Troubleshooting
When I go into Designer, I get messages about failures to load DLLs. This can happen when PowerExchange Client for PowerCenter plug-ins are installed but cannot be loaded for various reasons like incorrect releases of PowerExchange installed or PATH problems. For more information, see KnowledgeBase Article # 15346. I want to import a DB2/400 source definition, but need to determine the name of the DB2/400 database on the AS/400 machine. Use the AS400 DSPRDBDIRE command to see a list of databases on the AS/400 machine. The session failed with an error stating that the PowerExchange message repository cannot be loaded. You can receive this error on UNIX when there is no PWX_HOME environment variable set to the PowerExchange installation directory. Set the PWX_HOME environment variable to the PowerExchange installation directory. I set the Idle Time session condition to -1. However, the session completed with the following message: Idle Time limit is reached. This can occur if EOF=Y is specified in the PowerExchange configuration file (dbmover.cfg) CAPI_CONNECTION statement. When you set EOF=Y, PowerExchange returns an EOF (which stops the session) when it reaches the end of the change stream as determined at the time the session starts reading from it. As a result, the PowerCenter session completes instead of continuing to run. This message can also occur if the connection with PowerExchange is stopped using the PowerExchange STOPTASK command. My session seems to be processing the pipelines serially. The Integration Service may be configured to process master and detail pipelines sequentially as it did in versions prior to 7.0. As a result, it reads data from each source in change and realtime modes sequentially. Clear the PMServer 6.X Joiner Source Order Compatibility option on the Compatibility and Database tab in the Informatica Server Setup. When you rerun the session, the Integration Service will process pipelines concurrently. The session failed with a plug-in error:
MAPPING> SDKS_38007 Error occurred during [initializing] reader plug-in #30nnnn.

This is a generic message indicating the PWXPC encountered an error. Review the session log for other messages indicating what the problem is. If there are no other error messages in the session log, check the PowerExchange logs on both the Integration Service platform and the Listener platform.

248

Appendix C: Troubleshooting

I want to read all of the changes I have captured and have them be inserts into a staging area. How do I do this? When using PowerExchange ODBC to read captured changes, INSERT is the default operation. If you want to apply the changes to the target using the same operation as done on the source (INSERT, UPDATE, or DELETE), you need to explicitly include an Update Strategy transformation in the mapping to make this happen by testing the DTL__CAPXACTION field. In the Update Strategy Expression field, you would code:
DECODE(DTL__CAPXACTION,'I',DD_INSERT,'U',DD_UPDATE,'D',DD_DELETE,DD_REJECT)

When using PWXPC, the DTL__CAPXACTION field is automatically acted upon when processing changed data. If you want to have all changes processed as INSERTs regardless of the DTL__CAPXACTION field, you must code an update strategy specifying DD_INSERT in the Update Strategy Expression field.

Troubleshooting

249

250

Appendix C: Troubleshooting

Index

A
access method CAPX 7 CAPXRT 7, 8 Application Multi-Group Source Qualifiers See source qualifiers application name restart points 117, 167

B
batch extraction mode PowerExchange Condense 7 batch mode configuring sessions 129 Before image Flexible transactions 184 Bulk Load (property) configuring 87

C
CAPX access method 7 CAPXRT access method 7, 8

CBLO See constraint-based loading CDC data group source 8, 72 CDC data map extraction map 163 See also extraction map source definitions CDC sessions adding source 171 recovery example 174 removing source 171 restart 117, 151, 165 restart token file 162 stopping 116, 117, 170 CDEP restart 167 change data capture See change mode See also real-time mode Change Indicator Flexible transactions 184 change mode configuring connections 117 configuring sessions 135 code pages See also PowerCenter Installation and Configuration Guide configuring 245 supported code pages 245

251

compression configuring 108 Condense UOW Cleanser 7, 8 configuring code pages 245 compression 108 connections 83 encryption 108 pacing size 109 sessions 128, 212 workflows 128, 212 connections configuring 83 list by source type 80 list by target type 81 constraint-based loading description 136 FullCBLOSupport 136 continuous extraction mode PowerExchange Condense 7 creating DB2 source definitions 25 DB2 target definitions 25 IMS source definitions 43 Oracle source definitions 33 source qualifiers 75 Sybase source definitions 37 VSAM source definitions 43 custom property FullCBLOSupport 136

DB2/390 change mode application connections 89 configuring bulk load properties 87 connection types 80, 81 datatypes 243 real-time mode application connections 89 DB2/400 change mode application connections 89 connection types 80, 81 datatypes 243 real-time mode application connections 89 default restart points 157 DTL__CAPXACTION in CDC sessions 42, 54 in extraction maps 62 DTL__CAPXRESTART1 restart value 163 DTL__CAPXRESTART2 restart value 163 DTLUAPPL 167 example 168 restart 163 DTLUTSK utility 116 description 170

E
editing Source Qualifier transformations 75 encryption configuring 108 enhanced restart recovery processing 173 environment SQL See also PowerCenter Workflow Administration Guide configuring extraction map CDC data map 135 extraction map source definitions editing 62 viewing 60

D
data maps non-relational source definitions 43 viewing in the source definition 52 Datacom batch mode application connections 92 change mode application connections 93 datatypes DB2/390 243 DB2/400 243 overview 240 PowerExchange 241 transformation 241 transformation datatypes in source qualifiers 75 DB2 creating source definitions 25 creating target definitions 25

F
filelist description 129 flexible key transformations group source 187

252

Index

Flexible Target Key Custom transformations 178

G
group source CDC data 8, 72, 187 description 71 flexible key transformations 187 multiple records 6, 71 sequential 6, 71 VSAM 6, 71

viewing metadata extensions 61 non-relational sources configuring batch mode sessions 129 non-relational target definitions editing 54 editing metadata extensions 54

O
Oracle connection types 80 creating source definitions 33 real-time application connections 99, 104

I
idle time description 115 Idle Time (property) configuring for a PWXPC session 115 IDMS batch mode application connections 92 change mode application connections 93 IMS batch mode application connections 92 change mode application connections 93 connection types 80 datatypes 241 real-time mode application connections 93

P
pacing size configuring 109 pipeline partitioning See also PowerCenter Workflow Administration Guide batch mode 212 description 128, 212 loading to targets 212 $PMRootDir Cache 90, 94, 100, 105 Restart 89, 93, 99, 104, 118, 154 PowerExchange performance 109 PowerExchange Change Data Capture Flexible transformations 182 PowerExchange Condense batch extraction mode 7 continuous extraction mode 7 PowerExchange Configuration File dbmover.cfg 18

L
loading constraints 136 logger token restart value 163

M
metadata extensions editing 54 viewing 53 viewing for non-relational source definitions 61

R
reader time limit description for PWXPC 90 Reader Time Limit (property) configuring for a PWXPC session 90, 94 real-time flush latency description for PWXPC 119 Real-time Flush Latency (property) configuring for a PWXPC session 119 real-time mode configuring sessions 135 recovery creating the tables 161

N
non-relational source definitions editing 54 editing metadata extensions 54 viewing data map details 52

Index

253

enhanced restart 173 example 174 PM_REC_STATE table 152 PM_RECOVERY table 151 PM_TGT_RUN_ID table 151 state file 153 tables 151 relational source definitions editing 41 relational sources configuring batch mode sessions 132 relational target definitions editing 41 relational targets configuring sessions 142, 144 restart $PMRootDir/Cache 90, 94, 100, 105 $PMRootDir/Restart 89, 93, 99, 104, 118, 154 application name 117, 167 CDC sessions 117, 165 CDEP 167 DTL__CAPXRESTART1 163 DTL__CAPXRESTART2 163 DTLUAPPL 163, 167 DTLUAPPL example 168 earliest points 157, 158 logger token 163 null restart tokens 158 operation 165 overview 151 PM_REC_STATE table 152 restart token file 118, 154, 162 restart token file folder 118 RESTART1 163 RESTART2 163 sequence token 163 state file 153 tokens 152, 153 restart points defaults 158 earliest 158 null 158 restart token file archiving 175 comment 162 configuring 162 example 164 explicit override 163 special override 163 syntax 162

S
sequence token restart value 163 sequential data sets group source 71 sessions overview 128, 212 source definitions DB2 25 editing metadata extensions 54 editing, extraction maps 62 editing, non-relational 54 editing, relational 41 IMS 43 viewing metadata extensions 53 viewing, extraction maps 60 VSAM 43 working with non-relational source definitions 43 Source Qualifier transformations See source qualifiers source qualifiers transformation datatypes 75 STOPTASK command CDC sessions, stopping 116, 170 Sybase creating source definitions 37

T
target definitions DB2 25 editing metadata extensions 54 editing non-relational 54 editing relational 41 viewing metadata extensions 53 terminating conditions PWPXC idle time 115 PWPXC real-time flush latency 119 PWXPC reader time limit 90 PWXPC UOW count 118 transformations affecting row ID 136 update strategy 42, 54, 62

U
UOW Cleanser Condense 7, 8

254

Index

UOW count description for PWXPC 118 UOW Count (property) configuring for a PWXPC session 118 update strategy 42, 54, 62

V
VSAM batch mode application connections 92 change mode application connections 93 connection types 80 datatypes 241 extracting data from multiple files 129 group source 71 real-time mode application connections 93

W
workflows overview 128, 212

Index

255

256

Index

Das könnte Ihnen auch gefallen