You are on page 1of 580

Repository Guide

Informatica PowerCenter
(Version 7.1.1)

Informatica PowerCenter Repository Guide Version 7.1.1 August 2004 Copyright (c) 19982004 Informatica Corporation. All rights reserved. Printed in the USA. This software and documentation contain proprietary information of Informatica Corporation, they are provided under a license agreement containing restrictions on use and disclosure and is 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. 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 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 document is subject to change without notice. If you find any problems in the documentation, please report them to us in writing. Informatica Corporation does not warrant that this documentation is error free. Informatica, PowerMart, PowerCenter, PowerChannel, PowerCenter Connect, MX, and SuperGlue 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. Portions of this software are copyrighted by DataDirect Technologies, 1999-2002. Informatica PowerCenter products contain ACE (TM) software copyrighted by Douglas C. Schmidt and his research group at Washington University and University of California, Irvine, Copyright (c) 1993-2002, all rights reserved. Portions of this software contain copyrighted material from The JBoss Group, LLC. Your right to use such materials is set forth in the GNU Lesser General Public License Agreement, which may be found at http://www.opensource.org/licenses/lgpl-license.php. The JBoss materials are provided free of charge by Informatica, as-is, without warranty of any kind, either express or implied, including but not limited to the implied warranties of merchantability and fitness for a particular purpose. Portions of this software contain copyrighted material from Meta Integration Technology, Inc. Meta Integration is a registered trademark of Meta Integration Technology, Inc. This product includes software developed by the Apache Software Foundation (http://www.apache.org/). The Apache Software is Copyright (c) 1999-2004 The Apache Software Foundation. All rights reserved. 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. The information provided in this documentation may include technical inaccuracies or typographical errors. Informatica could make improvements and/or changes in the products described in this documentation at any time without notice.

Table of Contents
List of Figures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xv List of Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xvii Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxiii
New Features and Enhancements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxiv PowerCenter 7.1.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxiv PowerCenter 7.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxvi PowerCenter 7.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxx About Informatica Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxxvi About this Book . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxxvii Document Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxxvii Other Informatica Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxxviii Visiting Informatica Customer Portal . . . . . . . . . . . . . . . . . . . . . . . xxxviii Visiting the Informatica Webzine . . . . . . . . . . . . . . . . . . . . . . . . . . xxxviii Visiting the Informatica Web Site . . . . . . . . . . . . . . . . . . . . . . . . . xxxviii Visiting the Informatica Developer Network . . . . . . . . . . . . . . . . . . xxxviii Obtaining Technical Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxxix

Chapter 1: Understanding the Repository . . . . . . . . . . . . . . . . . . . . . . 1


Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Repository Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Repository Connectivity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Repository Server Notifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Receiving Notifications in the Designer . . . . . . . . . . . . . . . . . . . . . . . . . 6 Receiving Notifications in the Repository Manager . . . . . . . . . . . . . . . . . 6 Receiving Notifications in the Workflow Manager . . . . . . . . . . . . . . . . . . 7 Receiving Notifications in the Workflow Monitor . . . . . . . . . . . . . . . . . . 7 PowerCenter Server Notifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 User-Created Notifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Understanding Metadata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Administering Repositories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Creating the Repository . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Creating Folders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 PowerCenter Domains . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 Building the Domain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 Reusing Metadata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 Reusing Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 Version Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

Chapter 2: Using the Repository Manager . . . . . . . . . . . . . . . . . . . . . 19


Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 Repository Manager Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 Repository Manager Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 Repository Manager Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 Displaying Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 Navigator Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 Main Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 Dependency Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 Output Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 Adding and Removing a Repository . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 Adding a Repository . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 Removing a Repository . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 Working with Repository Connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 Connecting to a Repository . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 Connecting to Multiple Repositories . . . . . . . . . . . . . . . . . . . . . . . . . . 31 Exporting/Importing Repository Connection Information . . . . . . . . . . . 32 Searching for Repository Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 Performing Keyword Searches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 Searching All Repository Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 Viewing Object Dependencies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 Validating Multiple Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 Comparing Repository Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 Truncating Workflow and Session Log Entries . . . . . . . . . . . . . . . . . . . . . . . 48

Chapter 3: Managing the Repository . . . . . . . . . . . . . . . . . . . . . . . . . 49


Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 Permissions and Privileges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 Repository Code Pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 Navigating the Administration Console . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

ii

Table of Contents

Console Tree . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 Main Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 Registering and Connecting to the Repository Server . . . . . . . . . . . . . . . . . . 58 Registering a Repository Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 Connecting to the Repository Server . . . . . . . . . . . . . . . . . . . . . . . . . . 58 Disconnecting from the Repository Server . . . . . . . . . . . . . . . . . . . . . . 59 Tuning Repository Performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 Updating Repository Statistics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 Increasing Repository Copy, Backup, and Restore Performance . . . . . . . 60 Copying a Repository . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 Deleting a Repository . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 Backing Up and Restoring a Repository . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 Backing Up a Repository . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 Restoring a Repository . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 Starting and Stopping the Repository . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 Enabling the Repository . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 Starting the Repository . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 Stopping the Repository . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 Disabling the Repository . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 Sending Repository Notifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 Registering a PowerCenter Repository . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 Migrating the Repository to a Different Repository Server . . . . . . . . . . . . . . 77 Propagating Repository Domain Connection Information . . . . . . . . . . . . . . 78 Viewing User Connections and Locks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 Viewing User Connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 Viewing Locks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 Closing User Connections and Locks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 Closing Connections in the Repository Manager . . . . . . . . . . . . . . . . . . 83 Closing Connections in the Administration Console . . . . . . . . . . . . . . . 84 Registering and Unregistering Repository Plug-ins . . . . . . . . . . . . . . . . . . . 85 Registering a Repository Plug-in . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 Unregistering a Repository Plug-in . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 Registering and Unregistering LDAP Security Modules . . . . . . . . . . . . . . . . 88 Registering an LDAP Security Module . . . . . . . . . . . . . . . . . . . . . . . . . 88 Unregistering an LDAP Security Module . . . . . . . . . . . . . . . . . . . . . . . 95 Reading the Repository Log Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 Log File Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 Process Identification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
Table of Contents iii

Repository Server Log . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 Repository Agent Log File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100

Chapter 4: Configuring the Repository . . . . . . . . . . . . . . . . . . . . . . 103


Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 Adding a Repository Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 Editing a Repository Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 Removing a Repository Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 Exporting and Importing Repository Configurations . . . . . . . . . . . . . . . . . 115 Exporting a Repository Configuration . . . . . . . . . . . . . . . . . . . . . . . . 115 Importing a Repository Configuration . . . . . . . . . . . . . . . . . . . . . . . . 115 Creating or Promoting a Repository . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 Creating a Repository . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 Promoting a PowerCenter Repository . . . . . . . . . . . . . . . . . . . . . . . . . 117 Enabling Version Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 Working with PowerCenter Licenses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 License Key Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 License Key Repository Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 License File Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 Managing License Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 Rules and Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123

Chapter 5: Repository Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125


Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 User Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 Default Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 User Groups and Folder Permissions . . . . . . . . . . . . . . . . . . . . . . . . . . 128 Creating a User Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 Editing a User Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 Deleting a User Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 User Authentication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 Using Default Authentication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 Using LDAP Authentication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 Switching Between Default and External User Authentication . . . . . . . 133 Creating and Editing Repository Users . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 Editing a User Password . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 Creating a Repository User Under an External Directory Service . . . . . 137

iv

Table of Contents

Editing a User . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 Enabling a User . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 Disabling a User . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 Removing a Repository User . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 Repository Privileges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 Default Privileges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 Extended Privileges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 Assigning and Revoking a Privilege . . . . . . . . . . . . . . . . . . . . . . . . . . 146 Permissions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148 Configuring Folder Permissions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148 Configuring Versioning Object Permissions . . . . . . . . . . . . . . . . . . . . 149 Managing User Connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151 Viewing User Connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151 Handling User Connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 Creating an Audit Trail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 Repository Locks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154 Locking the Same Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154 Locking Within Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 Locking with Cubes and Dimensions . . . . . . . . . . . . . . . . . . . . . . . . . 155 Locking Business Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 Handling Locks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 Viewing Locks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 Releasing Locks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158 Tips . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160 Troubleshooting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163

Chapter 6: Working with Folders . . . . . . . . . . . . . . . . . . . . . . . . . . . 165


Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166 Using Folders in the Repository Manager . . . . . . . . . . . . . . . . . . . . . . 166 Using Folders in the Designer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166 Using Folders in the Workflow Manager . . . . . . . . . . . . . . . . . . . . . . . 166 Organizing Folders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166 Folder Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168 Permissions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168 Folder Owner and Owner's Group . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 Shared Folders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 Configuring a Folder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171

Table of Contents

Creating a Folder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 Editing a Folder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173 Deleting a Folder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173 Comparing Folders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174 Compared Attributes and Object Differentiation . . . . . . . . . . . . . . . . . 174 One-Way and Two-Way Comparisons . . . . . . . . . . . . . . . . . . . . . . . . . 176 Editing and Saving Results Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177 Steps for Comparing Folders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177

Chapter 7: Local and Global Shortcuts . . . . . . . . . . . . . . . . . . . . . . 181


Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182 Shortcuts Versus Copies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183 Understanding Shortcut Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184 Default Shortcut Name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184 Describing the Object and the Shortcut . . . . . . . . . . . . . . . . . . . . . . . 184 Locating the Referenced Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185 Creating a Local Shortcut . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187 Creating a Global Shortcut . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190 Configuring the Global Shortcut Environment . . . . . . . . . . . . . . . . . . 192 Working with Shortcuts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194 Refreshing Shortcut Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194 Copying a Shortcut . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195 Renaming Source Qualifiers to Shortcut Sources . . . . . . . . . . . . . . . . . 196 Tips . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197 Troubleshooting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198

Chapter 8: Working with Versioned Objects . . . . . . . . . . . . . . . . . . 199


Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200 Sample Scenario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201 Viewing Results View Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202 Working with Version Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203 Viewing Version Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203 Object Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203 Version Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204 Labels Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205 Object Status Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205 Changing Object Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206

vi

Table of Contents

Changing Folder Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207 Tracking Changes to Versioned Objects . . . . . . . . . . . . . . . . . . . . . . . . . . 208 Viewing Object History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208 Comparing Versions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210 Checking Out and Checking In Objects . . . . . . . . . . . . . . . . . . . . . . . . . . 211 Checking Out Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211 Viewing Checked Out Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211 Undoing a Checkout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213 Checking In Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213 Deleting and Purging Versioned Objects . . . . . . . . . . . . . . . . . . . . . . . . . . 215 Deleting a Versioned Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215 Recovering a Deleted Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215 Purging a Version . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216

Chapter 9: Grouping Versioned Objects . . . . . . . . . . . . . . . . . . . . . 217


Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218 Working with Labels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219 Creating and Editing Labels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219 Applying Labels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221 Working with Object Queries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224 Configuring Query Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225 Validating and Saving a Query . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231 Running a Query . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232 Viewing Query Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233 Sample Queries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233 Working with Deployment Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236 Creating and Editing a Deployment Group . . . . . . . . . . . . . . . . . . . . . 237 Viewing Deployment History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237 Rolling Back a Deployment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238 Working with Static Deployment Groups . . . . . . . . . . . . . . . . . . . . . . 239 Working with Dynamic Deployment Groups . . . . . . . . . . . . . . . . . . . 240

Chapter 10: Copying Folders and Deployment Groups . . . . . . . . . . 241


Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242 PowerCenter Server Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242 Using the Copy Wizards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244 Copy Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244

Table of Contents

vii

Registered PowerCenter Servers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245 Connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245 Metadata Extensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246 Copying Plug-in Application Information . . . . . . . . . . . . . . . . . . . . . . 247 Copying or Replacing a Folder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248 Naming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249 Locking and Checkouts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249 Shortcuts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249 Copying Within a Repository . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250 Copying From Local Repositories . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250 Steps for Copying or Replacing a Folder . . . . . . . . . . . . . . . . . . . . . . . 250 Copying a Deployment Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254 Locking and Checkouts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254 Copying Composite Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255 Copying Shortcuts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256 Object Naming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257 Object Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257 Steps for Copying a Deployment Group . . . . . . . . . . . . . . . . . . . . . . . 258

Chapter 11: Exporting and Importing Objects . . . . . . . . . . . . . . . . . 263


Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264 Working with Objects and Object Types . . . . . . . . . . . . . . . . . . . . . . . 265 Working with Different Repository Versions . . . . . . . . . . . . . . . . . . . . 265 Permissions and Privileges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266 Code Pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266 The XML and DTD Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267 CRCVALUE Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267 Exporting and Importing Multiple Objects and Object Types . . . . . . . . . . . 269 Working with Dependent Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270 Exporting and Importing Parent Objects . . . . . . . . . . . . . . . . . . . . . . . 271 Working with Object Versions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273 Working with Shortcuts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274 Shortcut Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274 Importing Shortcuts to Sources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275 Exporting Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276 Modifying an Exported XML File . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277 Modifiable Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277

viii

Table of Contents

Importing Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280 Validating XML Files Against the DTD . . . . . . . . . . . . . . . . . . . . . . . 280 Validating Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281 Resolving Object Conflicts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281 Steps for Exporting Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285 Steps for Importing Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287 Troubleshooting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296

Chapter 12: Copying Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297


Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298 Resolving Copy Conflicts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300 Steps for Copying Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302 Viewing Object Dependencies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305 Copying Workflow Manager Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306 Copying Workflows and Worklets . . . . . . . . . . . . . . . . . . . . . . . . . . . 306 Copying Sessions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306 Copying Workflow Segments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308 Copying Designer Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310 Copying Mapping and Mapplets Segments . . . . . . . . . . . . . . . . . . . . . 310

Chapter 13: Exchanging Metadata . . . . . . . . . . . . . . . . . . . . . . . . . . 313


Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314 Rules and Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315 Steps for Exporting Metadata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316 Steps for Importing Metadata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319

Chapter 14: Metadata Extensions . . . . . . . . . . . . . . . . . . . . . . . . . . . 325


Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326 Working with Metadata Extensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327 Creating Reusable Metadata Extensions . . . . . . . . . . . . . . . . . . . . . . . . . . 328 Editing Reusable Metadata Extensions . . . . . . . . . . . . . . . . . . . . . . . . . . . 331 Deleting Reusable Metadata Extensions . . . . . . . . . . . . . . . . . . . . . . . . . . 332

Chapter 15: Using Metadata Exchange (MX) Views . . . . . . . . . . . . . 333


Viewing the Repository Metadata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334 MX View Categories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334 Using PowerCenter Metadata Reporter . . . . . . . . . . . . . . . . . . . . . . . . 335
Table of Contents ix

SQL Definition of Views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336 Integrating MX Views with Third-Party Software . . . . . . . . . . . . . . . . 337 Database Definition View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338 REP_DATABASE_DEFS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338 Source Views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339 REP_ALL_SOURCES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339 REP_ALL_SOURCE_FLDS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341 REP_SRC_FILES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343 REP_SRC_TBLS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344 REP_SRC_FILE_FLDS and REP_SEG_FLDS . . . . . . . . . . . . . . . . . . 345 REP_SRC_TBL_FLDS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346 Target Views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347 REP_ALL_TARGETS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347 REP_ALL_TARGET_FIELDS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349 REP_TARG_TBLS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 350 REP_TARG_TBL_COLS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351 Mapping and Mapplet Views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353 REP_ALL_MAPPINGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354 REP_ALL_MAPPLETS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355 REP_TARG_MAPPING . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356 REP_TARG_FLD_MAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357 REP_FLD_MAPPING . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358 REP_SRC_MAPPING . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359 REP_SRC_FLD_MAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359 REP_TBL_MAPPING . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360 REP_TARG_TBL_JOINS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361 REP_MAPPING_UNCONN_PORTS . . . . . . . . . . . . . . . . . . . . . . . . 362 REP_MAPPING_PORT_CONN . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363 Metadata Extension Views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364 REP_METADATA_EXTNS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364 REP_METADATA_EXTN_DEFINES . . . . . . . . . . . . . . . . . . . . . . . . 365 Transformation Views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366 REP_ALL_TRANSFORMS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366 REP_WIDGET_INST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 368 REP_WIDGET_DEP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 368 REP_WIDGET_ATTR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369 REP_WIDGET_FIELD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369 Workflow, Worklet, and Task Views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371
x Table of Contents

REP_WORKFLOWS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372 REP_ALL_TASKS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374 REP_ALL_SCHEDULERS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374 REP_WFLOW_VAR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375 REP_EVENT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376 REP_TASK_INST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377 REP_WORKFLOW_DEP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377 REP_TASK_INST_RUN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 378 REP_WFLOW_RUN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379 REP_LOAD_SESSIONS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380 REP_SESSION_CNXS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381 REP_SESSION_INSTANCES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381 REP_SESSION_FILES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382 REP_SESSION_INSTANCE_FILES . . . . . . . . . . . . . . . . . . . . . . . . . 383 REP_SESS_WIDGET_CNXS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383 REP_COMPONENT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 384 REP_SESS_PARTITION_DEF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385 REP_SESS_CONFIG_PARM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385 REP_TASK_ATTR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386 REP_SESS_LOG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387 REP_SESS_TBL_LOG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 388 Security Views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 390 REP_USERS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 390 REP_USER_GROUPS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391 REP_GROUPS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391 Deployment Views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 392 REP_DEPLOY_GROUP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 392 REP_DEPLOY_GROUP_DETAIL . . . . . . . . . . . . . . . . . . . . . . . . . . 393 Repository View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395 REP_REPOSIT_INFO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395 PowerCenter Server Views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396 REP_SERVER_INFO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396 REP_SERVER_NET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397 REP_SERVER_NET_REF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397 Change Management Views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398 REP_VERSION_PROPS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398 REP_CM_LABEL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399 REP_CM_LABEL_REF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399
Table of Contents xi

Folder View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 401 REP_SUBJECT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 401

Chapter 16: Using pmrep and pmrepagent . . . . . . . . . . . . . . . . . . . 403


Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404 Using pmrep . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404 Using pmrepagent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404 Using Native Connect Strings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404 Running Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 406 Running Commands in Command Line Mode . . . . . . . . . . . . . . . . . . 406 Running Commands in Interactive Mode . . . . . . . . . . . . . . . . . . . . . . 406 Specifying Options and Arguments . . . . . . . . . . . . . . . . . . . . . . . . . . . 407 Using Password Environment Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . 408 Configuring Repository Passwords on UNIX . . . . . . . . . . . . . . . . . . . . 408 Configuring Repository Passwords on Windows . . . . . . . . . . . . . . . . . 409 pmrep System Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 410 Connecting to a Repository (Connect) . . . . . . . . . . . . . . . . . . . . . . . . 410 Getting Help (Help) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 411 Cleaning up Persistent Resources (Cleanup) . . . . . . . . . . . . . . . . . . . . 411 Exiting pmrep (Exit) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 411 pmrep Repository Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 412 Adding a Server (Addserver) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413 Adding Repository Configurations (Addrepository) . . . . . . . . . . . . . . . 414 Backing up a Repository (Backup) . . . . . . . . . . . . . . . . . . . . . . . . . . . 416 Creating a Relational Connection (CreateConnection) . . . . . . . . . . . . . 417 Deleting a Connection (Deleteconnection) . . . . . . . . . . . . . . . . . . . . . 420 Deleting a Server (Deleteserver) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 421 Disabling a Repository (Disablerepository) . . . . . . . . . . . . . . . . . . . . . 421 Enabling a Repository (Enablerepository) . . . . . . . . . . . . . . . . . . . . . . 422 Listing Repository Objects (ListObjects) . . . . . . . . . . . . . . . . . . . . . . . 423 Listing Tables by Session (Listtablesbysess) . . . . . . . . . . . . . . . . . . . . . 428 Listing Object Dependencies (ListObjectDependencies) . . . . . . . . . . . 429 Sending Notification Messages (Notify) . . . . . . . . . . . . . . . . . . . . . . . 431 Exporting Objects (ObjectExport) . . . . . . . . . . . . . . . . . . . . . . . . . . . 432 Importing Objects (ObjectImport) . . . . . . . . . . . . . . . . . . . . . . . . . . 433 Registering Local Repositories (Register) . . . . . . . . . . . . . . . . . . . . . . . 434 Removing Repositories From the Cache (Removerepository) . . . . . . . . 435

xii

Table of Contents

Running Script Files (Run) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 436 Showing Connection Information (ShowConnectioninfo) . . . . . . . . . . 437 Stopping a Repository (StopRepository) . . . . . . . . . . . . . . . . . . . . . . . 437 Changing the Connection Name (SwitchConnection) . . . . . . . . . . . . . 438 Truncating Workflow and Session Logs (Truncatelog) . . . . . . . . . . . . . 439 Unregistering Local Repositories (Unregister) . . . . . . . . . . . . . . . . . . . 440 Updating a Database Connection (UpdateConnection) . . . . . . . . . . . . 441 Updating the Notification Email Addresses (Updateemailaddr) . . . . . . 442 Updating Server Details (Updateserver) . . . . . . . . . . . . . . . . . . . . . . . 443 Updating Sequence Generator Transformations (Updateseqgenvals) . . . 444 Updating the Source Table Owner Name (Updatesrcprefix) . . . . . . . . . 445 Updating Server Variables (Updatesrvvar) . . . . . . . . . . . . . . . . . . . . . . 446 Updating Repository Statistics (UpdateStatistics) . . . . . . . . . . . . . . . . 447 Updating the Target Table Name Prefix (Updatetargprefix) . . . . . . . . . 447 pmrep Security Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 449 Adding a Privilege (Addprivilege) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 450 Adding a User to a Group (Addusertogroup) . . . . . . . . . . . . . . . . . . . . 450 Changing the Repository Password (Changepasswd) . . . . . . . . . . . . . . 450 Creating a Folder (CreateFolder) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 451 Creating a Group (Creategroup) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 452 Creating a User (Createuser) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 452 Deleting a Folder (DeleteFolder) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453 Editing a User (Edituser) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 454 Listing All Groups (Listallgroups) . . . . . . . . . . . . . . . . . . . . . . . . . . . 455 Listing All Privileges (Listallprivileges) . . . . . . . . . . . . . . . . . . . . . . . . 455 Listing All Users (Listallusers) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 455 Modify Folder Properties (ModifyFolder) . . . . . . . . . . . . . . . . . . . . . . 456 Registering a User (Registeruser) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 457 Removing a Group (Rmgroup) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 457 Removing a Privilege (Rmprivilege) . . . . . . . . . . . . . . . . . . . . . . . . . . 458 Removing a User (Rmuser) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 458 Removing a User from a Group (Rmuserfromgroup) . . . . . . . . . . . . . . 459 pmrep Change Management Commands . . . . . . . . . . . . . . . . . . . . . . . . . . 460 Adding to a Deployment Group (AddToDeploymentGroup) . . . . . . . . 461 Labeling (ApplyLabel) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 462 Checking In Objects (Checkin) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 464 Clearing a Deployment Group (ClearDeploymentGroup) . . . . . . . . . . 465 Creating a Deployment Group (CreateDeploymentGroup) . . . . . . . . . 465
Table of Contents xiii

Creating a Label (CreateLabel) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 466 Deleting a Deployment Group (DeleteDeploymentGroup) Deleting a Label (DeleteLabel) . . . . . . . . . 466 . . . . . . . 467 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 467

Deploying a Deployment Group (DeployDeploymentGroup) Executing a Query (ExecuteQuery)

Deploying a Folder (DeployFolder) . . . . . . . . . . . . . . . . . . . . . . . . . . 469 . . . . . . . . . . . . . . . . . . . . . . . . . . 470 Listing Checked Out Items (FindCheckout) . . . . . . . . . . . . . . . . . . . . 472 Undoing a Checkout (UndoCheckout) . . . . . . . . . . . . . . . . . . . . . . . . 473 Validating Objects (Validate) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 474 pmrepagent Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 477 Backing up a Repository (Backup) . . . . . . . . . . . . . . . . . . . . . . . . . . . 477 Restoring Teradata Repositories using Fastload (Bulkrestore) . . . . . . . . 479 Creating a Repository (Create) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 480 Deleting a Repository (Delete) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 481 Registering a Plug-in (Registerplugin) . . . . . . . . . . . . . . . . . . . . . . . . . 482 Restoring a Repository (Restore) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 485 Unregistering Plug-ins (Unregisterplugin) . . . . . . . . . . . . . . . . . . . . . . 487 Upgrading a Repository (Upgrade) . . . . . . . . . . . . . . . . . . . . . . . . . . . 490 Scripting pmrep and pmrepagent Commands . . . . . . . . . . . . . . . . . . . . . . 491 Tips . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 492

Appendix A: Working with pmrep Files . . . . . . . . . . . . . . . . . . . . . . 493


Using the Persistent Input File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 494 Creating a Persistent Input File with pmrep . . . . . . . . . . . . . . . . . . . . 494 Creating a Persistent Input File Manually . . . . . . . . . . . . . . . . . . . . . . 495 Using the Object Import Control File . . . . . . . . . . . . . . . . . . . . . . . . . . . . 496 Object Import Control File Parameters . . . . . . . . . . . . . . . . . . . . . . . . 498 Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 500 Sample Import XML File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 500 Using the Deployment Control File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 504 Deployment Control File Parameters . . . . . . . . . . . . . . . . . . . . . . . . . 505 Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 506 Scripting pmrep and pmrepagent Commands . . . . . . . . . . . . . . . . . . . . . . 507

Appendix B: Permissions and Privileges by Task . . . . . . . . . . . . . . 509


Designer Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 510 Workflow Manager Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 511

xiv

Table of Contents

Workflow Monitor Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 513 pmcmd Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 515 Repository Manager Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 516 pmrep Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 519 pmrepagent Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 520

Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 521

Table of Contents

xv

xvi

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. PowerCenter Repository Connectivity . . . . . . . . . . 2-1. Repository Manager Components . . . . . . . . . . . . . 2-2. Repository Manager Navigator . . . . . . . . . . . . . . . 2-3. Source Definition Object Properties . . . . . . . . . . . 2-4. Dependency Window . . . . . . . . . . . . . . . . . . . . . . 2-5. Output Window . . . . . . . . . . . . . . . . . . . . . . . . . 2-6. Dependencies Dialog Box . . . . . . . . . . . . . . . . . . . 2-7. View Dependencies Window . . . . . . . . . . . . . . . . 2-8. Object Dependencies Saved as HTML . . . . . . . . . 2-9. Validate Objects Results . . . . . . . . . . . . . . . . . . . . 3-1. Administration Console . . . . . . . . . . . . . . . . . . . . 3-2. Repository Details . . . . . . . . . . . . . . . . . . . . . . . . 3-3. Activity Log Window . . . . . . . . . . . . . . . . . . . . . . 3-4. Event Viewer Application Log Message . . . . . . . . . 3-5. Application Log Message Detail . . . . . . . . . . . . . . 5-1. Repository User Names and External Login Names 6-1. One-Way and Two-Way Comparisons . . . . . . . . . 7-1. Object and Shortcut Description . . . . . . . . . . . . . 7-2. Referenced Shortcut Object . . . . . . . . . . . . . . . . . 7-3. Transformation Shortcut Icon . . . . . . . . . . . . . . . 7-4. Create a Global Shortcut . . . . . . . . . . . . . . . . . . . 8-1. Results View Windows List . . . . . . . . . . . . . . . . . 8-2. Object Properties . . . . . . . . . . . . . . . . . . . . . . . . . 8-3. Version Properties . . . . . . . . . . . . . . . . . . . . . . . . 8-4. Labels Properties . . . . . . . . . . . . . . . . . . . . . . . . . 8-5. Object Status Properties . . . . . . . . . . . . . . . . . . . . 8-6. View History Window . . . . . . . . . . . . . . . . . . . . . 9-1. Label Browser . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-2. Label Editor Options . . . . . . . . . . . . . . . . . . . . . . 9-3. Apply Label Dialog Box . . . . . . . . . . . . . . . . . . . . 9-4. Apply Label Wizard . . . . . . . . . . . . . . . . . . . . . . . 9-5. Query Browser . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-6. Query Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-7. Query with Multiple Conditions . . . . . . . . . . . . . . 9-8. Sample Query Results . . . . . . . . . . . . . . . . . . . . . 9-9. Deployment Group Browser . . . . . . . . . . . . . . . . . 9-10. Deployment Group Editor . . . . . . . . . . . . . . . . . 9-11. Deployment Group History . . . . . . . . . . . . . . . . 9-12. Dependency for Deployment Group Dialog Box . 11-1. CRCVALUE Code in an Exported XML File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 4 . 22 . 24 . 25 . 27 . 28 . 39 . 40 . 41 . 43 . 52 . 55 . 56 100 100 132 177 185 186 187 190 202 204 204 205 206 209 220 220 221 223 224 225 226 232 236 237 238 239 268

List of Figures

xv

Figure Figure Figure Figure Figure Figure Figure

11-2. 11-3. 11-4. 11-5. 12-1. 12-2. 12-3.

Export Options Dialog Box . . . . . . . . . . . . . . . . Import Wizard - Resolve General Object Conflicts Import Wizard - Resolve Specific Object Conflicts Conflict Resolution Wizard . . . . . . . . . . . . . . . . The Copy Wizard . . . . . . . . . . . . . . . . . . . . . . . Copy Wizard Resolutions . . . . . . . . . . . . . . . . . . Copy Wizard Mapping Conflicts . . . . . . . . . . . .

... .. .. ... ... ... ...

. . . . . . .

. . . . . . .

.. .. .. .. .. .. ..

. . . . . . .

.. .. .. .. .. .. ..

. . . . . . .

. . . . . . .

.. .. .. .. .. .. ..

. . . . . . .

. . . . . . .

.. .. .. .. .. .. ..

. . . . . . .

.. .. .. .. .. .. ..

. . . . . . .

.271 .282 .283 .284 .298 .301 .303

xvi

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 2-1. Object Details Displayed in Repository Main Window . . . . . . . . . . . . . 2-2. Viewing Object Dependencies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-3. Dependencies Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-4. Object Properties for View Dependencies Window . . . . . . . . . . . . . . . 2-5. Validate Objects Properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-1. Repository Servers Node Details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-2. Repositories Node Details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-3. Repository Details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-4. HTML Links for Performing Repository Tasks . . . . . . . . . . . . . . . . . . 3-5. Repository User Connection Details . . . . . . . . . . . . . . . . . . . . . . . . . . 3-6. Object Lock Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-7. Register Security Module Options. . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-8. LDAP Server Configuration Options . . . . . . . . . . . . . . . . . . . . . . . . . . 3-9. LDAP Login Properties Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-10. LDAP Login Properties Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-11. Repository Log Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-1. New Repository - General Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-2. New Repository - Database Connection Tab . . . . . . . . . . . . . . . . . . . . 4-3. New Repository - Network Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-4. New Repository - Configuration Tab . . . . . . . . . . . . . . . . . . . . . . . . . 4-5. Converting Special Characters in Repository License File Names . . . . . 4-6. License File Compatibility Requirements . . . . . . . . . . . . . . . . . . . . . . . 5-1. Default Repository Privileges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-2. Extended Repository Privileges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-3. Folder Object Security Levels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-4. Versioning Object Security Levels . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-5. Repository Connection Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-6. Repository Locks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-7. Object Lock Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-1. Folder Permissions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-2. Compared Object Types and Attributes . . . . . . . . . . . . . . . . . . . . . . . . 6-3. Compared Objects in Compare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-1. Copying Global or Local Shortcuts . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-1. Tasks Available in View History Window . . . . . . . . . . . . . . . . . . . . . . 8-2. Tasks Available in View Checkouts Window . . . . . . . . . . . . . . . . . . . . 9-1. Label Options and Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-2. Query Parameters and Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-3. Tasks Available in Query Results Window . . . . . . . . . . . . . . . . . . . . . . 10-1. Copy Folder Wizard Prompts (Copying a Folder) . . . . . . . . . . . . . . . 10-2. Change In Object Status After Copying Deployment Group Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 . 37 . 39 . 40 . 43 . 54 . 54 . 55 . 55 . 79 . 81 . 91 . 93 . 94 . 96 . 97 106 107 108 109 120 122 143 145 148 149 151 154 157 169 174 175 196 209 212 222 227 232 251 258

List of Tables

xvii

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 Table Table Table

10-3. Copy Deployment Group Wizard Prompts . . . . . . . . . . . . . 11-1. Exporting and Importing Objects Permissions and Privileges 11-2. Options for Exporting and Importing Multiple Objects . . . . 11-3. Dependent Objects Exported . . . . . . . . . . . . . . . . . . . . . . . 11-4. Options for Exporting Objects . . . . . . . . . . . . . . . . . . . . . . 11-5. Modifiable Repository Objects . . . . . . . . . . . . . . . . . . . . . . 11-6. Resolving General Conflicts During Import. . . . . . . . . . . . . 12-1. Copy Wizard Areas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-2. Copy Wizard Resolutions . . . . . . . . . . . . . . . . . . . . . . . . . . 13-1. Metadata Import Wizard - PowerCenter Options . . . . . . . . . 14-1. Options for Creating Reusable Metadata Extensions . . . . . . 15-1. MX View Categories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-2. SQL Script to Create MX Views . . . . . . . . . . . . . . . . . . . . . 15-3. SQL Script to Drop MX Views . . . . . . . . . . . . . . . . . . . . . . 15-4. REP_DATABASE_DEFS MX View . . . . . . . . . . . . . . . . . . 15-5. Source Views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-6. REP_ALL_SOURCES MX View . . . . . . . . . . . . . . . . . . . . . 15-7. REP_ALL_SOURCE_FLDS MX View . . . . . . . . . . . . . . . . 15-8. REP_SRC_FILES MX View . . . . . . . . . . . . . . . . . . . . . . . . 15-9. REP_SRC_TBLS MX View . . . . . . . . . . . . . . . . . . . . . . . . 15-10. REP_SRC_FILE_FLDS and REP_SEG_FLDS MX Views . 15-11. REP_SRC_TBL_FLDS MX Views . . . . . . . . . . . . . . . . . . 15-12. Target Views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-13. REP_ALL_TARGETS MX View . . . . . . . . . . . . . . . . . . . . 15-14. REP_ALL_TARGET_FIELDS MX View . . . . . . . . . . . . . . 15-15. REP_TARG_TBLS MX View . . . . . . . . . . . . . . . . . . . . . . 15-16. REP_TARG_TBL_COLS MX View . . . . . . . . . . . . . . . . . 15-17. Mapping and Mapplet Views . . . . . . . . . . . . . . . . . . . . . . 15-18. REP_ALL_MAPPINGS MX View . . . . . . . . . . . . . . . . . . . 15-19. REP_ALL_MAPPLETS MX View . . . . . . . . . . . . . . . . . . . 15-20. REP_TARG_MAPPING MX View . . . . . . . . . . . . . . . . . . 15-21. REP_TARG_FLD_MAP MX View . . . . . . . . . . . . . . . . . . 15-22. REP_FLD_MAPPING MX View . . . . . . . . . . . . . . . . . . . 15-23. REP_SRC_MAPPING MX View . . . . . . . . . . . . . . . . . . . 15-24. Mapping Source Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-25. REP_TBL_MAPPING MX View . . . . . . . . . . . . . . . . . . . 15-26. REP_TARG_TBL_JOINS MX View . . . . . . . . . . . . . . . . . 15-27. REP_MAPPING_UNCONN_PORTS MX View . . . . . . . . 15-28. REP_MAPPING_PORT_CONN MX View . . . . . . . . . . . 15-29. Metadata Extension Views . . . . . . . . . . . . . . . . . . . . . . . . 15-30. REP_METADATA_EXTNS MX View . . . . . . . . . . . . . . . 15-31. REP_METADATA_EXTN_DEFINES MX View . . . . . . . . 15-32. Transformation Views . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

.. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

.. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

.. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

.. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

.259 .266 .269 .270 .271 .278 .282 .299 .300 .321 .329 .334 .336 .336 .338 .339 .339 .341 .343 .344 .345 .346 .347 .347 .349 .351 .351 .353 .354 .355 .356 .357 .358 .359 .359 .360 .361 .362 .363 .364 .364 .365 .366

xviii

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 Table Table Table

15-33. 15-34. 15-35. 15-36. 15-37. 15-38. 15-39. 15-40. 15-41. 15-42. 15-43. 15-44. 15-45. 15-46. 15-47. 15-48. 15-49. 15-50. 15-51. 15-52. 15-53. 15-54. 15-55. 15-56. 15-57. 15-58. 15-59. 15-60. 15-61. 15-62. 15-63. 15-64. 15-65. 15-66. 15-67. 15-68. 15-69. 15-70. 15-71. 15-72. 15-73. 15-74. 15-75.

REP_ALL_TRANSFORMS MX View . . . . . . . REP_WIDGET_INST MX View . . . . . . . . . . REP_WIDGET_DEP MX View . . . . . . . . . . . REP_EIDGET_ATTR MX View . . . . . . . . . . . REP_WIDGET_FIELD MX View . . . . . . . . . Workflow, Worklet, and Task Views . . . . . . . . REP_WORKFLOWS MX View . . . . . . . . . . . REP_ALL_TASKS MX View . . . . . . . . . . . . . REP_ALL_SCHEDULERS MX View . . . . . . . REP_WFLOW_VAR MX View . . . . . . . . . . . . REP_EVENT MX View . . . . . . . . . . . . . . . . . REP_TASK_INST MX View . . . . . . . . . . . . . REP_WORKFLOW_DEP MX View . . . . . . . . REP_TASK_INST_RUN MX View . . . . . . . . REP_WFLOW_RUN MX View . . . . . . . . . . . REP_LOAD_SESSIONS MX View . . . . . . . . . REP_SESSION_CNXS MX View . . . . . . . . . . REP_SESSION_INSTANCES MX View . . . . . REP_SESSION_FILES MX View . . . . . . . . . . REP_SESSION_INSTANCE_FILES MX View REP_SESS_WIDGET_CNXS MX View . . . . . REP_COMPONENT MX View . . . . . . . . . . . REP_SESS_PARTITION_DEF MX View . . . . REP_SESS_CONFIG_PARM MX View . . . . . REP_TASK_ATTR MX View . . . . . . . . . . . . . REP_SESS_LOG MX View . . . . . . . . . . . . . . REP_SESS_TBL_LOG MX View . . . . . . . . . . Security Views . . . . . . . . . . . . . . . . . . . . . . . . REP_USERS MX View . . . . . . . . . . . . . . . . . . REP_USER_GROUPS MX View . . . . . . . . . . REP_GROUPS MX View . . . . . . . . . . . . . . . . Deployment Views . . . . . . . . . . . . . . . . . . . . . REP_DEPLOY_GROUP MX View . . . . . . . . . REP_DEPLOY_GROUP_DETAIL MX View . REP_REPOSIT_INFO MX View . . . . . . . . . . PowerCenter Server Views . . . . . . . . . . . . . . . REP_SERVER_INFO MX View . . . . . . . . . . . REP_SERVER_NET MX View . . . . . . . . . . . . REP_SERVER_NET_REF MX View. . . . . . . . Change Management Views . . . . . . . . . . . . . . REP_VERSION_PROPS MX View . . . . . . . . . REP_CM_LABEL MX View . . . . . . . . . . . . . . REP_CM_LABEL_REF MX View . . . . . . . . . .

.. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

.. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

.. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

.. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

.. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

.. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

.. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

366 368 368 369 369 371 372 374 374 375 376 377 377 378 379 380 381 382 382 383 383 384 385 385 386 387 388 390 390 391 391 392 392 393 395 396 396 397 397 398 398 399 399

List of Tables

xix

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 Table Table Table

15-76. REP_SUBJECT MX View . . . . . . . . . . . . . . . . . . . . . . . . 16-1. Native Connect String Syntax . . . . . . . . . . . . . . . . . . . . . . . 16-2. pmrep System Commands . . . . . . . . . . . . . . . . . . . . . . . . . 16-3. Connect Options and Arguments (pmrep) . . . . . . . . . . . . . . 16-4. pmrep Repository Commands . . . . . . . . . . . . . . . . . . . . . . . 16-5. Addserver Options and Arguments (pmrep) . . . . . . . . . . . . . 16-6. Addrepository Options and Arguments (pmrep) . . . . . . . . . . 16-7. Backup Options and Arguments (pmrep) . . . . . . . . . . . . . . . 16-8. CreateConnection Options and Arguments (pmrep) . . . . . . . 16-9. Database Type Strings . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-10. Code Page ID by Name (pmrep) . . . . . . . . . . . . . . . . . . . . 16-11. Deleteconnection Options and Arguments (pmrep) . . . . . . 16-12. Deleteserver Options and Arguments (pmrep) . . . . . . . . . . 16-13. Disablerepository Options and Arguments (pmrep) . . . . . . 16-14. Enablerepository Options and Arguments (pmrep) . . . . . . . 16-15. ListObjects Options and Arguments (pmrep) . . . . . . . . . . . 16-16. Transformation and Task Types to Use with pmrep . . . . . . 16-17. Listtablesbysess Options and Arguments (pmrep) . . . . . . . . 16-18. ListObjectDependencies Options and Arguments (pmrep) . 16-19. Notify Options and Arguments (pmrep) . . . . . . . . . . . . . . 16-20. ObjectExport Options and Arguments (pmrep) . . . . . . . . . 16-21. ObjectImport Options and Arguments (pmrep) . . . . . . . . . 16-22. Register Options and Arguments (pmrep) . . . . . . . . . . . . . 16-23. Removerepository Options and Arguments (pmrep) . . . . . . 16-24. Run Options and Arguments (pmrep) . . . . . . . . . . . . . . . . 16-25. StopRepository Option and Argument (pmrep) . . . . . . . . . 16-26. SwitchConnection Options and Arguments (pmrep) . . . . . 16-27. Truncatelog Options and Arguments (pmrep) . . . . . . . . . . 16-28. Unregister Options and Arguments (pmrep) . . . . . . . . . . . 16-29. UpdateConnection Options and Arguments (pmrep) . . . . . 16-30. Updateemailaddr Options and Arguments (pmrep) . . . . . . 16-31. Updateserver Options and Arguments (pmrep) . . . . . . . . . 16-32. Updateseqgenvals Options and Arguments (pmrep) . . . . . . 16-33. Updatesrcprefix Options and Arguments (pmrep) . . . . . . . 16-34. Updatesrvvar Options and Arguments (pmrep) . . . . . . . . . 16-35. Updatestatistics Options and Arguments (pmrep) . . . . . . . 16-36. Updatetargprefix Options and Arguments (pmrep) . . . . . . . 16-37. pmrep Security Commands . . . . . . . . . . . . . . . . . . . . . . . . 16-38. Addprivilege Options and Arguments (pmrep) . . . . . . . . . . 16-39. Addusertogroup Options and Arguments (pmrep) . . . . . . . 16-40. Changepasswd Options and Arguments (pmrep) . . . . . . . . 16-41. CreateFolder Options and Arguments (pmrep) . . . . . . . . . . 16-42. Creategroup Options and Arguments (pmrep) . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

.. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

.. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

.. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

.. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

.401 .405 .410 .410 .412 .414 .415 .416 .417 .418 .419 .421 .421 .422 .422 .425 .426 .428 .430 .431 .433 .434 .434 .435 .436 .438 .439 .439 .440 .442 .443 .443 .444 .446 .447 .447 .448 .449 .450 .450 .451 .451 .452

xx

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 Table

16-43. Createuser Options and Arguments (pmrep) . . . . . . . . . . . . . . . 16-44. DeleteFolder Options and Arguments (pmrep) . . . . . . . . . . . . . . 16-45. Edituser Options and Arguments (pmrep) . . . . . . . . . . . . . . . . . 16-46. ModifyFolder Option and Argument (pmrep) . . . . . . . . . . . . . . 16-47. Registeruser Option and Argument (pmrep) . . . . . . . . . . . . . . . . 16-48. Rmgroup Option and Argument (pmrep). . . . . . . . . . . . . . . . . . 16-49. Rmprivilege Options and Arguments (pmrep) . . . . . . . . . . . . . . 16-50. Rmuser Option and Argument (pmrep) . . . . . . . . . . . . . . . . . . . 16-51. Rmuserfromgroup Options and Arguments (pmrep) . . . . . . . . . . 16-52. pmrep Change Management Commands . . . . . . . . . . . . . . . . . . 16-53. AddToDeploymentGroup Options and Arguments (pmrep) . . . . 16-54. ApplyLabel Options and Arguments (pmrep) . . . . . . . . . . . . . . . 16-55. Checkin Options and Arguments (pmrep) . . . . . . . . . . . . . . . . . 16-56. ClearDeploymentGroup Options and Arguments (pmrep) . . . . . 16-57. CreateDeploymentGroup Options and Arguments (pmrep) . . . . 16-58. CreateLabel Options and Arguments (pmrep) . . . . . . . . . . . . . . 16-59. DeleteDeploymentGroup Options and Arguments (pmrep) . . . . 16-60. DeleteLabel Options and Arguments (pmrep) . . . . . . . . . . . . . . 16-61. DeployDeploymentGroup Options and Arguments (pmrep) . . . . 16-62. DeployFolder Options and Arguments (pmrep) . . . . . . . . . . . . . 16-63. ExecuteQuery Options and Arguments (pmrep) . . . . . . . . . . . . . 16-64. FindCheckout Options and Arguments (pmrep) . . . . . . . . . . . . . 16-65. UndoCheckout Options and Arguments (pmrep) . . . . . . . . . . . . 16-66. Validate Options and Arguments (pmrep) . . . . . . . . . . . . . . . . . 16-67. pmrepagent Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-68. Backup Options and Arguments (pmrepagent) . . . . . . . . . . . . . . 16-69. Bulkrestore Options and Arguments (pmrepagent) . . . . . . . . . . . 16-70. Create Options and Arguments (pmrepagent) . . . . . . . . . . . . . . 16-71. Delete Options and Arguments (pmrepagent) . . . . . . . . . . . . . . 16-72. Registerplugin Options and Arguments (pmrepagent) . . . . . . . . . 16-73. Restore Options and Arguments (pmrepagent) . . . . . . . . . . . . . . 16-74. Unregisterplugin Options and Arguments (pmrepagent) . . . . . . . 16-75. Upgrade Options and Arguments (pmrepagent) . . . . . . . . . . . . . A-1. Object Import Control File Elements and Attributes (pmrep) . . . . A-2. Deployment Control File Elements and Attributes (pmrep) . . . . . . B-1. Required Privileges and Permissions for Designer Tasks . . . . . . . . . B-2. Required Privileges and Permissions for Workflow Manager Tasks . B-3. Required Privileges and Permissions for Workflow Monitor Tasks . B-4. Required Privileges and Permissions for pmcmd Tasks . . . . . . . . . . B-5. Required Permissions and Privileges for Repository Manager Tasks B-6. Required Permissions and Privileges for pmrep Tasks. . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

.. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

.. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

.. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

453 453 454 456 457 458 458 459 459 460 461 463 464 465 465 466 467 467 468 469 470 472 474 475 477 478 479 480 481 482 485 488 490 498 505 510 511 513 515 516 519

List of Tables

xxi

xxii

List of Tables

Preface
Welcome to PowerCenter, Informaticas software product that delivers an open, scalable data integration solution addressing the complete life cycle for all data integration projects including data warehouses and data marts, data migration, data synchronization, and information hubs. PowerCenter combines the latest technology enhancements for reliably managing data repositories and delivering information resources in a timely, usable, and efficient manner. The PowerCenter metadata repository coordinates and drives a variety of core functions, including extracting, transforming, loading, and managing data. The PowerCenter Server can extract large volumes of data from multiple platforms, handle complex transformations on the data, and support high-speed loads. PowerCenter can simplify and accelerate the process of moving data warehouses from development to test to production.

xxiii

New Features and Enhancements


This section describes new features and enhancements to PowerCenter 7.1.1, 7.1, and 7.0.

PowerCenter 7.1.1
This section describes new features and enhancements to PowerCenter 7.1.1.

Data Profiling

Data sampling. You can create a data profile for a sample of source data instead of the entire source. You can view a profile from a random sample of data, a specified percentage of data, or for a specified number of rows starting with the first row. Verbose data enhancements. You can specify the type of verbose data you want the PowerCenter Server to write to the Data Profiling warehouse. The PowerCenter Server can write all rows, the rows that meet the business rule, or the rows that do not meet the business rule. Session enhancement. You can save sessions that you create from the Profile Manager to the repository. Domain Inference function tuning. You can configure the Data Profiling Wizard to filter the Domain Inference function results. You can configure a maximum number of patterns and a minimum pattern frequency. You may want to narrow the scope of patterns returned to view only the primary domains, or you may want to widen the scope of patterns returned to view exception data. Row Uniqueness function. You can determine unique rows for a source based on a selection of columns for the specified source. Define mapping, session, and workflow prefixes. You can define default mapping, session, and workflow prefixes for the mappings, sessions, and workflows generated when you create a data profile. Profile mapping display in the Designer. The Designer displays profile mappings under a profile mappings node in the Navigator.

PowerCenter Server

Code page. PowerCenter supports additional Japanese language code pages, such as JIPSEkana, JEF-kana, and MELCOM-kana. Flat file partitioning. When you create multiple partitions for a flat file source session, you can configure the session to create multiple threads to read the flat file source. pmcmd. You can use parameter files that reside on a local machine with the Startworkflow command in the pmcmd program. When you use a local parameter file, pmcmd passes variables and values in the file to the PowerCenter Server.

xxiv

Preface

SuSE Linux support. The PowerCenter Server runs on SuSE Linux. On SuSE Linux, you can connect to IBM, DB2, Oracle, and Sybase sources, targets, and repositories using native drivers. Use ODBC drivers to access other sources and targets. Reserved word support. If any source, target, or lookup table name or column name contains a database reserved word, you can create and maintain a file, reswords.txt, containing reserved words. When the PowerCenter Server initializes a session, it searches for reswords.txt in the PowerCenter Server installation directory. If the file exists, the PowerCenter Server places quotes around matching reserved words when it executes SQL against the database. Teradata external loader. When you load to Teradata using an external loader, you can now override the control file. Depending on the loader you use, you can also override the error, log, and work table names by specifying different tables on the same or different Teradata database.

Repository

Exchange metadata with other tools. You can exchange source and target metadata with other BI or data modeling tools, such as Business Objects Designer. You can export or import multiple objects at a time. When you export metadata, the PowerCenter Client creates a file format recognized by the target tool.

Repository Server

pmrep. You can use pmrep to perform the following functions:


Remove repositories from the Repository Server cache entry list. Enable enhanced security when you create a relational source or target connection in the repository. Update a connection attribute value when you update the connection.

SuSE Linux support. The Repository Server runs on SuSE Linux. On SuSE Linux, you can connect to IBM, DB2, Oracle, and Sybase repositories.

Security

Oracle OS Authentication. You can now use Oracle OS Authentication to authenticate database users. Oracle OS Authentication allows you to log on to an Oracle database if you have a logon to the operating system. You do not need to know a database user name and password. PowerCenter uses Oracle OS Authentication when the user name for an Oracle connection is PmNullUser.

Web Services Provider

Attachment support. When you import web service definitions with attachment groups, you can pass attachments through the requests or responses in a service session. The document type you can attach is based on the mime content of the WSDL file. You can attach document types such as XML, JPEG, GIF, or PDF.

Preface

xxv

Pipeline partitioning. You can create multiple partitions in a session containing web service source and target definitions. The PowerCenter Server creates a connection to the Web Services Hub based on the number of sources, targets, and partitions in the session.

XML

Multi-level pivoting. You can now pivot more than one multiple-occurring element in an XML view. You can also pivot the view row.

PowerCenter 7.1
This section describes new features and enhancements to PowerCenter 7.1.

Data Profiling

Data Profiling for VSAM sources. You can now create a data profile for VSAM sources. Support for verbose mode for source-level functions. You can now create data profiles with source-level functions and write data to the Data Profiling warehouse in verbose mode. Aggregator function in auto profiles. Auto profiles now include the Aggregator function. Creating auto profile enhancements. You can now select the columns or groups you want to include in an auto profile and enable verbose mode for the Distinct Value Count function. Purging data from the Data Profiling warehouse. You can now purge data from the Data Profiling warehouse. Source View in the Profile Manager. You can now view data profiles by source definition in the Profile Manager. PowerCenter Data Profiling report enhancements. You can now view PowerCenter Data Profiling reports in a separate browser window, resize columns in a report, and view verbose data for Distinct Value Count functions. Prepackaged domains. Informatica provides a set of prepackaged domains that you can include in a Domain Validation function in a data profile.

Documentation

Web Services Provider Guide. This is a new book that describes the functionality of Real-time Web Services. It also includes information from the version 7.0 Web Services Hub Guide. XML User Guide. This book consolidates XML information previously documented in the Designer Guide, Workflow Administration Guide, and Transformation Guide.

Licensing
Informatica provides licenses for each CPU and each repository rather than for each installation. Informatica provides licenses for product, connectivity, and options. You store
xxvi Preface

the license keys in a license key file. You can manage the license files using the Repository Server Administration Console, the PowerCenter Server Setup, and the command line program, pmlic.

PowerCenter Server

64-bit support. You can now run 64-bit PowerCenter Servers on AIX and HP-UX (Itanium). Partitioning enhancements. If you have the Partitioning option, you can define up to 64 partitions at any partition point in a pipeline that supports multiple partitions. PowerCenter Server processing enhancements. The PowerCenter Server now reads a block of rows at a time. This improves processing performance for most sessions. CLOB/BLOB datatype support. You can now read and write CLOB/BLOB datatypes.

PowerCenter Metadata Reporter


PowerCenter Metadata Reporter modified some report names and uses the PowerCenter 7.1 MX views in its schema.

Repository Server

Updating repository statistics. PowerCenter now identifies and updates statistics for all repository tables and indexes when you copy, upgrade, and restore repositories. This improves performance when PowerCenter accesses the repository. Increased repository performance. You can increase repository performance by skipping information when you copy, back up, or restore a repository. You can choose to skip MX data, workflow and session log history, and deploy group history. pmrep. You can use pmrep to back up, disable, or enable a repository, delete a relational connection from a repository, delete repository details, truncate log files, and run multiple pmrep commands sequentially. You can also use pmrep to create, modify, and delete a folder.

Repository

Exchange metadata with business intelligence tools. You can export metadata to and import metadata from other business intelligence tools, such as Cognos Report Net and Business Objects. Object import and export enhancements. You can compare objects in an XML file to objects in the target repository when you import objects. MX views. MX views have been added to help you analyze metadata stored in the repository. REP_SERVER_NET and REP_SERVER_NET_REF views allow you to see information about server grids. REP_VERSION_PROPS allows you to see the version history of all objects in a PowerCenter repository.

Preface

xxvii

Transformations

Flat file lookup. You can now perform lookups on flat files. When you create a Lookup transformation using a flat file as a lookup source, the Designer invokes the Flat File Wizard. You can also use a lookup file parameter if you want to change the name or location of a lookup between session runs. Dynamic lookup cache enhancements. When you use a dynamic lookup cache, the PowerCenter Server can ignore some ports when it compares values in lookup and input ports before it updates a row in the cache. Also, you can choose whether the PowerCenter Server outputs old or new values from the lookup/output ports when it updates a row. You might want to output old values from lookup/output ports when you use the Lookup transformation in a mapping that updates slowly changing dimension tables. Union transformation. You can use the Union transformation to merge multiple sources into a single pipeline. The Union transformation is similar to using the UNION ALL SQL statement to combine the results from two or more SQL statements. Custom transformation API enhancements. The Custom transformation API includes new array-based functions that allow you to create procedure code that receives and outputs a block of rows at a time. Use these functions to take advantage of the PowerCenter Server processing enhancements. Midstream XML transformations. You can now create an XML Parser transformation or an XML Generator transformation to parse or generate XML inside a pipeline. The XML transformations enable you to extract XML data stored in relational tables, such as data stored in a CLOB column. You can also extract data from messaging systems, such as TIBCO or IBM MQSeries.

Usability

Viewing active folders. The Designer and the Workflow Manager highlight the active folder in the Navigator. Enhanced printing. The quality of printed workspace has improved.

Version Control
You can run object queries that return shortcut objects. You can also run object queries based on the latest status of an object. The query can return local objects that are checked out, the latest version of checked in objects, or a collection of all older versions of objects.

Web Services Provider

Real-time Web Services. Real-time Web Services allows you to create services using the Workflow Manager and make them available to web service clients through the Web Services Hub. The PowerCenter Server can perform parallel processing of both requestresponse and one-way services. Web Services Hub. The Web Services Hub now hosts Real-time Web Services in addition to Metadata Web Services and Batch Web Services. You can install the Web Services Hub on a JBoss application server.

xxviii

Preface

Note: PowerCenter Connect for Web Services allows you to create sources, targets, and

transformations to call web services hosted by other providers. For more informations, see PowerCenter Connect for Web Services User and Administrator Guide.

Workflow Monitor
The Workflow Monitor includes the following performance and usability enhancements:

When you connect to the PowerCenter Server, you no longer distinguish between online or offline mode. You can open multiple instances of the Workflow Monitor on one machine. You can simultaneously monitor multiple PowerCenter Servers registered to the same repository. The Workflow Monitor includes improved options for filtering tasks by start and end time. The Workflow Monitor displays workflow runs in Task view chronologically with the most recent run at the top. It displays folders alphabetically. You can remove the Navigator and Output window.

XML Support
PowerCenter XML support now includes the following features:

Enhanced datatype support. You can use XML schemas that contain simple and complex datatypes. Additional options for XML definitions. When you import XML definitions, you can choose how you want the Designer to represent the metadata associated with the imported files. You can choose to generate XML views using hierarchy or entity relationships. In a view with hierarchy relationships, the Designer expands each element and reference under its parent element. When you create views with entity relationships, the Designer creates separate entities for references and multiple-occurring elements. Synchronizing XML definitions. You can synchronize one or more XML definition when the underlying schema changes. You can synchronize an XML definition with any repository definition or file used to create the XML definition, including relational sources or targets, XML files, DTD files, or schema files. XML workspace. You can edit XML views and relationships between views in the workspace. You can create views, add or delete columns from views, and define relationships between views. Midstream XML transformations. You can now create an XML Parser transformation or an XML Generator transformation to parse or generate XML inside a pipeline. The XML transformations enable you to extract XML data stored in relational tables, such as data stored in a CLOB column. You can also extract data from messaging systems, such as TIBCO or IBM MQSeries.

Preface

xxix

Support for circular references. Circular references occur when an element is a direct or indirect child of itself. PowerCenter now supports XML files, DTD files, and XML schemas that use circular definitions. Increased performance for large XML targets. You can create XML files of several gigabytes in a PowerCenter 7.1 XML session by using the following enhancements:

Spill to disk. You can specify the size of the cache used to store the XML tree. If the size of the tree exceeds the cache size, the XML data spills to disk in order to free up memory. User-defined commits. You can define commits to trigger flushes for XML target files. Support for multiple XML output files. You can output XML data to multiple XML targets. You can also define the file names for XML output files in the mapping.

PowerCenter 7.0
This section describes new features and enhancements to PowerCenter 7.0.

Data Profiling
If you have the Data Profiling option, you can profile source data to evaluate source data and detect patterns and exceptions. For example, you can determine implicit data type, suggest candidate keys, detect data patterns, and evaluate join criteria. After you create a profiling warehouse, you can create profiling mappings and run sessions. Then you can view reports based on the profile data in the profiling warehouse. The PowerCenter Client provides a Profile Manager and a Profile Wizard to complete these tasks.

Data Integration Web Services


You can use Data Integration Web Services to write applications to communicate with the PowerCenter Server. Data Integration Web Services is a web-enabled version of the PowerCenter Server functionality available through Load Manager and Metadata Exchange. It is comprised of two services for communication with the PowerCenter Server, Load Manager and Metadata Exchange Web Services running on the Web Services Hub.

Documentation

Glossary. The Installation and Configuration Guide contains a glossary of new PowerCenter terms. Installation and Configuration Guide. The connectivity information in the Installation and Configuration Guide is consolidated into two chapters. This book now contains chapters titled Connecting to Databases from Windows and Connecting to Databases from UNIX. Upgrading metadata. The Installation and Configuration Guide now contains a chapter titled Upgrading Repository Metadata. This chapter describes changes to repository

xxx

Preface

objects impacted by the upgrade process. The change in functionality for existing objects depends on the version of the existing objects. Consult the upgrade information in this chapter for each upgraded object to determine whether the upgrade applies to your current version of PowerCenter.

Functions

Soundex. The Soundex function encodes a string value into a four-character string. SOUNDEX works for characters in the English alphabet (A-Z). It uses the first character of the input string as the first character in the return value and encodes the remaining three unique consonants as numbers. Metaphone. The Metaphone function encodes string values. You can specify the length of the string that you want to encode. METAPHONE encodes characters of the English language alphabet (A-Z). It encodes both uppercase and lowercase letters in uppercase.

Installation

Remote PowerCenter Client installation. You can create a control file containing installation information, and distribute it to other users to install the PowerCenter Client. You access the Informatica installation CD from the command line to create the control file and install the product.

PowerCenter Metadata Reporter


PowerCenter Metadata Reporter replaces Runtime Metadata Reporter and Informatica Metadata Reporter. PowerCenter Metadata Reporter includes the following features:

Metadata browsing. You can use PowerCenter Metadata Reporter to browse PowerCenter 7.0 metadata, such as workflows, worklets, mappings, source and target tables, and transformations. Metadata analysis. You can use PowerCenter Metadata Reporter to analyze operational metadata, including session load time, server load, session completion status, session errors, and warehouse growth.

PowerCenter Server

DB2 bulk loading. You can enable bulk loading when you load to IBM DB2 8.1. Distributed processing. If you purchase the Server Grid option, you can group PowerCenter Servers registered to the same repository into a server grid. In a server grid, PowerCenter Servers balance the workload among all the servers in the grid. Row error logging. The session configuration object has new properties that allow you to define error logging. You can choose to log row errors in a central location to help understand the cause and source of errors. External loading enhancements. When using external loaders on Windows, you can now choose to load from a named pipe. When using external loaders on UNIX, you can now choose to load from staged files.
Preface xxxi

External loading using Teradata Warehouse Builder. You can use Teradata Warehouse Builder to load to Teradata. You can choose to insert, update, upsert, or delete data. Additionally, Teradata Warehouse Builder can simultaneously read from multiple sources and load data into one or more tables. Mixed mode processing for Teradata external loaders. You can now use data driven load mode with Teradata external loaders. When you select data driven loading, the PowerCenter Server flags rows for insert, delete, or update. It writes a column in the target file or named pipe to indicate the update strategy. The control file uses these values to determine how to load data to the target. Concurrent processing. The PowerCenter Server now reads data concurrently from sources within a target load order group. This enables more efficient joins with minimal usage of memory and disk cache. Real time processing enhancements. You can now use real-time processing in sessions that also process active transformations, such as the Aggregator transformation. You can apply the transformation logic to rows defined by transaction boundaries.

Repository Server

Object export and import enhancements. You can now export and import objects using the Repository Manager and pmrep. You can export and import multiple objects and objects types. You can export and import objects with or without their dependent objects. You can also export objects from a query result or objects history. pmrep commands. You can use pmrep to perform change management tasks, such as maintaining deployment groups and labels, checking in, deploying, importing, exporting, and listing objects. You can also use pmrep to run queries. The deployment and object import commands require you to use a control file to define options and resolve conflicts. Trusted connections. You can now use a Microsoft SQL Server trusted connection to connect to the repository.

Security

LDAP user authentication. You can now use default repository user authentication or Lightweight Directory Access Protocol (LDAP) to authenticate users. If you use LDAP, the repository maintains an association between your repository user name and your external login name. When you log in to the repository, the security module passes your login name to the external directory for authentication. The repository maintains a status for each user. You can now enable or disable users from accessing the repository by changing the status. You do not have to delete user names from the repository. Use Repository Manager privilege. The Use Repository Manager privilege allows you to perform tasks in the Repository Manager, such as copy object, maintain labels, and change object status. You can perform the same tasks in the Designer and Workflow Manager if you have the Use Designer and Use Workflow Manager privileges. Audit trail. You can track changes to repository users, groups, privileges, and permissions through the Repository Server Administration Console. The Repository Agent logs security changes to a log file stored in the Repository Server installation directory. The

xxxii

Preface

audit trail log contains information, such as changes to folder properties, adding or removing a user or group, and adding or removing privileges.

Transformations

Custom transformation. Custom transformations operate in conjunction with procedures you create outside of the Designer interface to extend PowerCenter functionality. The Custom transformation replaces the Advanced External Procedure transformation. You can create Custom transformations with multiple input and output groups, and you can compile the procedure with any C compiler. You can create templates that customize the appearance and available properties of a Custom transformation you develop. You can specify the icons used for transformation, the colors, and the properties a mapping developer can modify. When you create a Custom transformation template, distribute the template with the DLL or shared library you develop.

Joiner transformation. You can use the Joiner transformation to join two data streams that originate from the same source.

Version Control
The PowerCenter Client and repository introduce features that allow you to create and manage multiple versions of objects in the repository. Version control allows you to maintain multiple versions of an object, control development on the object, track changes, and use deployment groups to copy specific groups of objects from one repository to another. Version control in PowerCenter includes the following features:

Object versioning. Individual objects in the repository are now versioned. This allows you to store multiple copies of a given object during the development cycle. Each version is a separate object with unique properties. Check out and check in versioned objects. You can check out and reserve an object you want to edit, and check in the object when you are ready to create a new version of the object in the repository. Compare objects. The Repository Manager and Workflow Manager allow you to compare two repository objects of the same type to identify differences between them. You can compare Designer objects and Workflow Manager objects in the Repository Manager. You can compare tasks, sessions, worklets, and workflows in the Workflow Manager. The PowerCenter Client tools allow you to compare objects across open folders and repositories. You can also compare different versions of the same object. Delete or purge a version. You can delete an object from view and continue to store it in the repository. You can recover or undelete deleted objects. If you want to permanently remove an object version, you can purge it from the repository. Deployment. Unlike copying a folder, copying a deployment group allows you to copy a select number of objects from multiple folders in the source repository to multiple folders in the target repository. This gives you greater control over the specific objects copied from one repository to another.

Preface

xxxiii

Deployment groups. You can create a deployment group that contains references to objects from multiple folders across the repository. You can create a static deployment group that you manually add objects to, or create a dynamic deployment group that uses a query to populate the group. Labels. A label is an object that you can apply to versioned objects in the repository. This allows you to associate multiple objects in groups defined by the label. You can use labels to track versioned objects during development, improve query results, and organize groups of objects for deployment or export and import. Queries. You can create a query that specifies conditions to search for objects in the repository. You can save queries for later use. You can make a private query, or you can share it with all users in the repository. Track changes to an object. You can view a history that includes all versions of an object and compare any version of the object in the history to any other version. This allows you to see the changes made to an object over time.

XML Support
PowerCenter contains XML features that allow you to validate an XML file against an XML schema, declare multiple namespaces, use XPath to locate XML nodes, increase performance for large XML files, format your XML file output for increased readability, and parse or generate XML data from various sources. XML support in PowerCenter includes the following features:

XML schema. You can use an XML schema to validate an XML file and to generate source and target definitions. XML schemas allow you to declare multiple namespaces so you can use prefixes for elements and attributes. XML schemas also allow you to define some complex datatypes. XPath support. The XML wizard allows you to view the structure of XML schema. You can use XPath to locate XML nodes. Increased performance for large XML files. When you process an XML file or stream, you can set commits and periodically flush XML data to the target instead of writing all the output at the end of the session. You can choose to append the data to the same target file or create a new target file after each flush. XML target enhancements. You can format the XML target file so that you can easily view the XML file in a text editor. You can also configure the PowerCenter Server to not output empty elements to the XML target.

Usability

Copying objects. You can now copy objects from all the PowerCenter Client tools using the copy wizard to resolve conflicts. You can copy objects within folders, to other folders, and to different repositories. Within the Designer, you can also copy segments of mappings to a workspace in a new folder or repository. Comparing objects. You can compare workflows and tasks from the Workflow Manager. You can also compare all objects from within the Repository Manager.

xxxiv

Preface

Change propagation. When you edit a port in a mapping, you can choose to propagate changed attributes throughout the mapping. The Designer propagates ports, expressions, and conditions based on the direction that you propagate and the attributes you choose to propagate. Enhanced partitioning interface. The Session Wizard is enhanced to provide a graphical depiction of a mapping when you configure partitioning. Revert to saved. You can now revert to the last saved version of an object in the Workflow Manager. When you do this, the Workflow Manager accesses the repository to retrieve the last-saved version of the object. Enhanced validation messages. The PowerCenter Client writes messages in the Output window that describe why it invalidates a mapping or workflow when you modify a dependent object. Validate multiple objects. You can validate multiple objects in the repository without fetching them into the workspace. You can save and optionally check in objects that change from invalid to valid status as a result of the validation. You can validate sessions, mappings, mapplets, workflows, and worklets. View dependencies. Before you edit or delete versioned objects, such as sources, targets, mappings, or workflows, you can view dependencies to see the impact on other objects. You can view parent and child dependencies and global shortcuts across repositories. Viewing dependencies help you modify objects and composite objects without breaking dependencies. Refresh session mappings. In the Workflow Manager, you can refresh a session mapping.

Preface

xxxv

About Informatica Documentation


The complete set of documentation for PowerCenter includes the following books:

Data Profiling Guide. Provides information about how to profile PowerCenter sources to evaluate source data and detect patterns and exceptions. Designer Guide. Provides information needed to use the Designer. Includes information to help you create mappings, mapplets, and transformations. Also includes a description of the transformation datatypes used to process and transform source data. Getting Started. Provides basic tutorials for getting started. Installation and Configuration Guide. Provides information needed to install and configure the PowerCenter tools, including details on environment variables and database connections. PowerCenter Connect for JMS User and Administrator Guide. Provides information to install PowerCenter Connect for JMS, build mappings, extract data from JMS messages, and load data into JMS messages. Repository Guide. Provides information needed to administer the repository using the Repository Manager or the pmrep command line program. Includes details on functionality available in the Repository Manager and Administration Console, such as creating and maintaining repositories, folders, users, groups, and permissions and privileges. Transformation Language Reference. Provides syntax descriptions and examples for each transformation function provided with PowerCenter. Transformation Guide. Provides information on how to create and configure each type of transformation in the Designer. Troubleshooting Guide. Lists error messages that you might encounter while using PowerCenter. Each error message includes one or more possible causes and actions that you can take to correct the condition. Web Services Provider Guide. Provides information you need to install and configure the Web Services Hub. This guide also provides information about how to use the web services that the Web Services Hub hosts. The Web Services Hub hosts Real-time Web Services, Batch Web Services, and Metadata Web Services. Workflow Administration Guide. Provides information to help you create and run workflows in the Workflow Manager, as well as monitor workflows in the Workflow Monitor. Also contains information on administering the PowerCenter Server and performance tuning. XML User Guide. Provides information you need to create XML definitions from XML, XSD, or DTD files, and relational or other XML definitions. Includes information on running sessions with XML data. Also includes details on using the midstream XML transformations to parse or generate XML data within a pipeline.

xxxvi

Preface

About this Book


The Repository Guide is written for the database administrator and developers who manage the repositories. This guide assumes you have knowledge of relational database concepts, and the database engines, flat files, or mainframe systems in your environment. You should also be familiar with the interface requirements of your supporting applications. For additional information on related database connectivity issues not covered by this guide, refer to the documentation accompanying your database products. The material in this book is available for online use.

Document Conventions
This guide uses the following formatting conventions:
If you see It means The word or set of words are especially emphasized. Emphasized subjects. This is the variable name for a value you enter as part of an operating system command. This is generic text that should be replaced with user-supplied values. The following paragraph provides additional facts. The following paragraph provides suggested uses. The following paragraph notes situations where you can overwrite or corrupt data, unless you follow the specified procedure. This is a code example. This is an operating system command you enter from a prompt to run a task.

italicized text boldfaced text


italicized monospaced text

Note: Tip: Warning:


monospaced text bold monospaced text

Preface

xxxvii

Other Informatica Resources


In addition to the product manuals, Informatica provides these other resources:

Informatica Customer Portal Informatica Webzine Informatica web site Informatica Developer Network Informatica Technical Support

Visiting 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 Knowledgebase, Informatica Webzine, and access to the Informatica user community.

Visiting the Informatica Webzine


The Informatica Documentation team delivers an online journal, the Informatica Webzine. This journal provides solutions to common tasks, detailed descriptions of specific features, and tips and tricks to help you develop data warehouses. The Informatica Webzine is a password-protected site that you can access through the Customer Portal. The Customer Portal has an online registration form for login accounts to its webzine and web support. To register for an account, go to http://my.informatica.com. If you have any questions, please email webzine@informatica.com.

Visiting the Informatica Web Site


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

Visiting the Informatica Developer Network


The Informatica Developer Network is a web-based forum for third-party software developers. You can access the Informatica Developer Network at the following URL: http://devnet.informatica.com

xxxviii Preface

The site contains information on how to create, market, and support customer-oriented addon solutions based on Informaticas interoperability interfaces.

Obtaining Technical Support


There are many ways to access Informatica technical support. You can call or email your nearest Technical Support Center listed below or you can use our WebSupport Service. WebSupport requires a user name and password. You can request a user name and password at http://my.informatica.com.
North America / South America Informatica Corporation 2100 Seaport Blvd. Redwood City, CA 94063 Phone: 866.563.6332 or 650.385.5800 Fax: 650.213.9489 Hours: 6 a.m. - 6 p.m. (PST/PDT) email: support@informatica.com Africa / Asia / Australia / Europe Informatica Software Ltd. 6 Waltham Park Waltham Road, White Waltham Maidenhead, Berkshire SL6 3TN Phone: 44 870 606 1525 Fax: +44 1628 511 411 Hours: 9 a.m. - 5:30 p.m. (GMT) email: support_eu@informatica.com Belgium Phone: +32 15 281 702 Hours: 9 a.m. - 5:30 p.m. (local time) France Phone: +33 1 41 38 92 26 Hours: 9 a.m. - 5:30 p.m. (local time) Germany Phone: +49 1805 702 702 Hours: 9 a.m. - 5:30 p.m. (local time) Netherlands Phone: +31 306 082 089 Hours: 9 a.m. - 5:30 p.m. (local time) Singapore Phone: +65 322 8589 Hours: 9 a.m. - 5 p.m. (local time) Switzerland Phone: +41 800 81 80 70 Hours: 8 a.m. - 5 p.m. (local time)

Preface

xxxix

xl

Preface

Chapter 1

Understanding the Repository


This chapter covers the following topics:

Overview, 2 Repository Architecture, 3 Repository Connectivity, 4 Repository Server Notifications, 6 Understanding Metadata, 9 Administering Repositories, 11 PowerCenter Domains, 13 Version Control, 16

Overview
The PowerCenter repository is a relational database managed by the Repository Server that stores information, or metadata, used by the PowerCenter Server and Client tools. The repository uses database tables to store metadata. Metadata describes different types of objects, such as mappings or transformations, that you can create or modify using the PowerCenter Client tools. The PowerCenter Server uses repository objects to extract, transform, and load data. The repository also stores administrative information such as user names, passwords, permissions, and privileges. All repository client applications access the repository database tables through the Repository Server. The Repository Server protects metadata in the repository by managing repository connections and using object locking to ensure object consistency. The Repository Server also notifies you when objects you are working with are modified or deleted by another user. For each repository database it manages, the Repository Server uses a process called the Repository Agent to access the database tables. The Repository Server uses multiple Repository Agent processes to manage multiple repositories on different machines on the network. The Repository Server uses native drivers to communicate with the repository database. PowerCenter Client tools and the PowerCenter Server communicate with the Repository Server over TCP/IP. When a client application connects to the repository, the Repository Server connects the client application directly to the Repository Agent process. Administer the repository using the Repository Manager client tool or the pmrep and pmrepagent command line programs. Repository administration tasks include the following:

Back up. You can back up the repository to a binary file. Restore. You can restore the repository from a binary backup file. Copy. You can copy the repository to another database. Delete. You can delete all of the repository tables on the database. Create folders. You can create folders in the repository to organize metadata. Configure security. You can create user and group profiles and configure folder permissions.

You can connect multiple repositories in a domain. When you configure shared folders in a repository, you can share the objects in the folder with other repositories in the domain. Sharing objects allows you to reuse metadata. If you purchase the Team-Based Development option with PowerCenter, you can enable the repository for version control. You can store multiple versions of objects in a versioned repository. Enabling version control also allows you to perform change management tasks such as version comparison, change tracking, labeling, querying, and deployment.

Chapter 1: Understanding the Repository

Repository Architecture
The PowerCenter repository resides on a relational database. The repository database tables contain the instructions required to extract, transform, and load data. Repository client applications access the repository database tables through the Repository Server. The Repository Server manages repository connection requests from client applications. The Repository Server can manage multiple repositories on different machines on the network. The Repository Server configures and manages a Repository Agent process for each registered repository database. The Repository Agent is a multi-threaded process that fetches, inserts, and updates metadata in the repository database tables. The Repository Agent uses object locking to ensure the consistency of metadata in the repository. The Repository Server accepts client connections and requests from the following PowerCenter applications:

The PowerCenter Client tools. Use the Designer to create and store mapping metadata in the repository. Use the Workflow Manager to store workflow metadata, connection object information, and PowerCenter Server registration information in the repository. Use the Workflow Monitor to retrieve workflow run status information and session logs written by the PowerCenter Server. Use the Repository Manager to organize and secure metadata by creating folders and creating users and groups. The Repository Server Administration Console allows you to manage the Repository Server and repositories. pmrep and pmrepagent. Use pmrep to perform repository administration tasks such as listing repository objects, and creating and editing users and groups. Use pmrepagent to perform repository functions such as restoring and deleting repositories. The PowerCenter Server. When you start the PowerCenter Server, it connects to the repository to schedule workflows. When you run a workflow, the PowerCenter Server retrieves workflow task and mapping metadata from the repository. During the workflow run, the PowerCenter Server writes workflow status information to the repository. Other Repository Servers. You can use multiple Repository Servers to manage repositories in a domain. The Repository Server managing the local repository communicates as a client application with the Repository Server managing the global repository.

Repository Architecture

Repository Connectivity
PowerCenter applications such as the PowerCenter Client, PowerCenter Server, pmrep, and pmrepagent connect to the repository through the Repository Server. PowerCenter applications communicate with the Repository Server through a specified port over a TCP/IP connection. Configure the Repository Server TCP/IP port number when you install the Repository Server. The Repository Server stores the connectivity information required for the Repository Agent process to connect to the repository database. The Repository Server uses one Repository Agent process for each repository database. The Repository Agent process uses native drivers to communicate directly with the repository database. The Repository Agent maintains a pool of database connections for client applications. These connections remain open, and the Repository Agent re-uses them to service requests from client tools or the server. Each client tool opens a separate connection to the Repository Agent process. The Repository Agent process supports multiple connections from each client. The PowerCenter Server opens additional connections to the Repository Agent process for each Load Manager and DTM process. The Repository Agent creates new database connections only if all the current connections are in use. For example, if ten clients send requests to the Repository Agent one at a time, it requires only one connection. It reuses the same database connection for all the requests. If the ten clients send requests simultaneously, the Repository Agent opens ten connections. You can set the maximum number of open connections for a repository by setting the Database Pool Size parameter in the repository configuration file. Figure 1-1 illustrates the connectivity between the Repository Server, repository database, and repository client applications:
Figure 1-1. PowerCenter Repository Connectivity

Chapter 1: Understanding the Repository

The following process describes how the Repository Server connects a repository client application to the repository: 1. 2. 3. 4. The client application sends a repository connection request to the Repository Server. The Repository Server verifies connectivity information for the target repository. The Repository Server starts the Repository Agent process for the repository database. The Repository Server uses the Repository Agent process to communicate with the repository database server and perform repository metadata transactions for the client application. The Repository Server monitors the repository, and notifies the client application when objects in the repository are created, modified, or deleted.

5.

The Repository Server can manage a repository residing on a database on a different machine on the network. Use the following guidelines when you configure your repository environment:

Improve network speed. Slow network connections can increase transaction times for metadata and slow repository performance. Have your system administrator determine if your network runs at an optimal speed. Decrease the number of network hops between the repository client application, the Repository Server, and the repository database. Check the hard disk on the repository database machine. Slow disk access on the repository database can slow metadata transactions and repository performance. Have the system administrator evaluate the hard disk on the repository database machine.

Repository Connectivity

Repository Server Notifications


The Repository Server sends notification messages when users create, modify, or delete repository objects. Each PowerCenter Client tool and the PowerCenter Server receive notification messages for different types of objects. Repository Server notification messages keep you informed of ongoing changes to metadata you are working with. For example, suppose you are working with a mapping in the Designer. Another user opens and edits the properties of a source definition used in the mapping and save the changes to the repository. The Repository Server notifies you of the change so that you know the source in your mapping is out of date. In this case, you can update the mapping with the version of the source definition saved in the repository. For more information, see Mappings in the Designer Guide.

Receiving Notifications in the Designer


The Designer receives notification messages from the Repository Server when the following objects are created, modified, or deleted:

Mappings Mapplets Shortcuts Source definitions Target definitions Transformations

To receive any type of notification message about an object, you must configure the Designer to receive Repository Server notifications, and the folder containing the object must be open in the Navigator. To receive a modification or deletion notification, the object must be open in the workspace. For details on configuring the Designer to receive Repository Server notifications, see Using the Designer in the Designer Guide.

Receiving Notifications in the Repository Manager


The Repository Manager receives notification messages from the Repository Server when the following objects are created, modified, or deleted:

Folders Users Groups

You must be connected to the repository to receive notifications about folders. For information on the privileges and permissions to receive user and group notifications, see Repository Manager Tasks on page 516.

Chapter 1: Understanding the Repository

Receiving Notifications in the Workflow Manager


The Workflow Manager receives notification messages from the Repository Server when the following objects are created, modified, or deleted:

Sessions Tasks Workflows Worklets

To receive any type of notification message about an object, you must configure the Workflow Manager to receive Repository Server notifications, and the folder containing the object must be open in the Navigator. To receive a modification or deletion notification, you must open the object in the workspace. For details on configuring the Workflow Manager to receive Repository Server notifications, see Configuring the Workflow Manager in the Workflow Administration Guide.

Receiving Notifications in the Workflow Monitor


The Workflow Monitor receives notification messages from the Repository Server when the following objects are created, modified, or deleted:

Folders PowerCenter Servers

To receive any type of notification message about an object, you must configure the Workflow Monitor to receive Repository Server notifications, and you must be connected to the repository. For details on configuring the Workflow Monitor to receive Repository Server notifications, see Monitoring Workflows in the Workflow Administration Guide.

PowerCenter Server Notifications


The PowerCenter Server receives notification messages from the Repository Server when the following objects are created, modified, or deleted:

Workflows Schedulers Folders

If you delete a folder, the PowerCenter Server removes workflows from the schedule when it receives the notification. The Repository Server also sends the PowerCenter Server a notification message when it copies a folder into the repository. The PowerCenter Server reschedules all workflows in the folder when it receives the notification.

Repository Server Notifications

User-Created Notifications
You can create and send notification messages to all users connected to a single repository, or to users connected to all of the repositories managed by a Repository Server. Use notification messages tell users to disconnect if you want to shut down the repository. For more information on creating and sending notification messages, see Sending Repository Notifications on page 74.

Chapter 1: Understanding the Repository

Understanding Metadata
The repository stores metadata that describes how to extract, transform, and load source and target data. PowerCenter metadata describes several different kinds of repository objects. You use different PowerCenter Client tools to develop each kind of object. Use the Designer to create and edit the following repository objects:

Source definitions. Detailed descriptions of database objects (tables, views, and synonyms), flat files, XML files, or COBOL files that provide source data. For example, a source definition might be the complete structure of the EMPLOYEES table, including the table name, column names and datatypes, and any constraints applied to these columns, such as NOT NULL or PRIMARY KEY. Use the Source Analyzer tool in the Designer to import and create source definitions. Target definitions. Detailed descriptions for database objects, flat files, or XML files to receive transformed data. During a session, the PowerCenter Server writes the transformed data to targets. Use the Warehouse Designer tool in the Designer to import or create target definitions. Transformations. A transformation generates, modifies, or passes data through ports that you connect in a mapping or mapplet. When you build a mapping or mapplet, you add transformations and configure them to handle data according to your business purpose. Reusable transformations. You can design a transformation that you can reuse in multiple mappings or mapplets within a folder, a repository, or a domain. Rather than recreate the same transformation each time, you can make the transformation reusable, and add instances of the transformation to individual mappings or mapplets. Use the Transformation Developer tool in the Designer to create reusable transformations. Mappings. A mapping specifies how to move and transform data from sources to targets. Mappings include source and target definitions and transformations. Transformations describe how the PowerCenter Server transforms data. Mappings can also include shortcuts, reusable transformations, and mapplets. Use the Mapping Designer tool in the Designer to create mappings. Mapplets. You can design a mapplet to contain sets of transformation logic to be reused in multiple mappings within a folder, a repository, or a domain. Rather than recreate the same set of transformations each time, you can create a mapplet containing the transformations, then add instances of the mapplet to individual mappings. Use the Mapplet Designer tool in the Designer to create mapplets. Multi-dimensional metadata. Multi-dimensional metadata refers to the logical organization of data used for analysis in OLAP applications. Dimensions and cubes are most often used by end users of OLAP applications. Use the Warehouse Designer tool to create dimensions and cubes. Shortcuts. Shortcuts to metadata in shared folders. You can use shortcuts to repository objects in shared folders. You can create local shortcuts to shared folders within the same repository and global shortcuts to shared folders in the global repository of the domain. Use the Designer to create shortcuts.

Understanding Metadata

For details on using the Designer to work with repository objects, see the Designer Guide and the Transformation Guide. Use the Workflow Manager to create and edit the following repository objects:

Database connections. The PowerCenter Client and Server use database connections to connect to the source and target databases. Connection objects. You create connection objects in the repository when you define database, FTP, and external loader connections in the Workflow Manager. Sessions. Sessions are workflow tasks that contain information about how the PowerCenter Server moves data through mappings. You create a session for each mapping you want to run. To run the session, place it in a workflow. Use the Workflow Designer in the Workflow Manager to create sessions. Workflows. A workflow is a set of instructions, divided into tasks, the PowerCenter Server uses to extract, transform, and load data. Workflow tasks. Workflow tasks are instructions the PowerCenter Server executes when running a workflow. Workflow tasks perform functions supplementary to extracting, transforming, and loading data. Workflow tasks include commands, decisions, timers, and email notification. Worklets. Worklets are objects that represent a set of workflow tasks that allow you to reuse a set of workflow logic in several workflows. You can run worklets in workflows, and nest worklets in other worklets.

For details on working with repository objects using the Workflow Manager, see the Workflow Administration Guide. Use the Repository Manager to create and edit the following repository objects:

Folders. Folders organize and store metadata in the repository. You can control access to a folder by configuring the folder permissions. You can also configure a folder to share stored metadata with other repository users. Users. Repository users have a user name and password that allow access to the repository. You can also configure a repository user with privileges that allow the user to perform specific tasks in the repository. Each repository user belongs to at least one user group. User groups. User groups organize individual repository users. You can assign privileges to a user group. Individual users inherit all privileges assigned to the user group.

If you enable version control, PowerCenter allows you to store multiple versions of metadata objects in the repository. For details on version control and change management, see Version Control on page 16. PowerCenter also allows you to extend the metadata stored in the repository by associating information with repository objects. For example, when someone in your company creates a source definition, you may wish to store the name of that person with the source definition. You associate information with repository metadata using metadata extensions. For details on using metadata extensions, see Metadata Extensions on page 325.

10

Chapter 1: Understanding the Repository

Administering Repositories
You use the Repository Manager to create, organize, and maintain the repository. Repository administration tasks include repository creation, folder creation and organization, and configuring permissions and privileges for users and groups.

Creating the Repository


The Repository Manager connects to the repository database through the Repository Server. The Repository Server uses the Repository Agent process to create and update the repository tables. These tables store metadata in a specific format the PowerCenter Server and the PowerCenter Client tools use.
Warning: The Informatica repository tables have an open architecture. Although you can view the repository tables, you should never manually edit them through other utilities. Informatica is not responsible for corrupted data that is caused by customer alteration of the repository tables or data within those tables.

You use the Repository Server Administration Console to copy, back up, and restore repositories. You can back up the repository to a binary file. You can restore the entire repository from a binary file. You can also copy all the repository tables to another database. For details on working with repositories, see Managing the Repository on page 49 and Configuring the Repository on page 103.

Creating Folders
After you create the repository, you can add folders to it. Folders let you organize repository objects, providing a way to separate different types of metadata or different projects into easily identifiable areas. You can configure a folder to be shared, so its contents are available to all other folders in the same repository. If you plan to use the same object in several projects, you might put it in the shared folder. For example, you can put a definition of the CUSTOMERS table that provides data for a variety of purposes in a shared folder. You can make shortcuts to the table in other folders in the same repository. If you are working in a domain, you can also make shortcuts to the table in folders in local repositories registered to the repository. For details on working with folders, see Working with Folders on page 165.

Security
To secure data in your repository, the repository provides a system of users, user groups, repository privileges, folder permissions, and object locking. After you create a repository, set up users and user groups and determine the repository privileges you want them to have. When you create a folder, you designate a user as the owner of the folder, and then assign different folder permissions to that user, the users group, and others accessing the repository.
Administering Repositories 11

Privileges permit or restrict the ability for users to perform tasks such as creating mappings, running sessions, or backing up the repository. Permissions permit or restrict access to folders and objects in the repository. For details on configuring repository security, see Repository Security on page 125.

12

Chapter 1: Understanding the Repository

PowerCenter Domains
The domain allows you to organize, simplify, and manage the process of developing and maintaining multiple data warehouses. You can connect repositories together within the domain. A domain consists of a single global repository and any number of local repositories. The hub of this system, the global repository, serves several purposes:

Opening connections between repositories. To preserve system security and to simplify the task of connecting from one repository to another, the global repository stores information needed to connect to each repository. If you are connected to a local repository, you can navigate to the global repository without connecting to it separately. If you are connected to a global repository, you can navigate to any local repository in the domain. Storing and reusing shared metadata. You can save any metadata that you plan to share across repositories in the global repository. Local repositories can then use shortcuts to objects in the global repository shared folders, or create copies of objects in non-shared folders. You can also copy objects in shared folders.

PowerCenter allows you to share data and metadata between global and local repositories by copying individual repository objects and entire folders within and between repositories. You can also use the Designer to create shortcuts to reference objects in other repositories.

Building the Domain


Before building your domain, you need to have all of the following:

A licensed copy of PowerCenter, required to create the global repository. A licensed copy of PowerCenter for each local repository you want to create. A Repository Server installed and configured to manage the repositories. You can use one Repository Server to manage all of the repositories in the domain. You can also use multiple Repository Servers to manage the repositories in the domain. The Repository Server accesses the repository faster if it is installed on the machine on which the repository resides.

A database created and configured for each repository. Network connections between the Repository Servers and PowerCenter Servers. Compatible repository code pages. To register a local repository, the code page of the global repository must be a subset of each local repository code page in the domain. To copy objects from the local repository to the global repository, the code pages of the local and global repository must be compatible.

PowerCenter Domains

13

Connecting separate repositories into a domain is a three-step process: 1. Create a repository and configure it as a global repository. You create a global repository by promoting an existing local repository. Once you make a repository a global repository, you cannot demote it to a local repository. For details on creating and configure a repository, see Creating or Promoting a Repository on page 116. 2. Register other repositories with the global repository. Once the local repository is registered, you can connect to the global repository from the local repository, and to the local repository from the global. For details on registering repositories, see Registering a PowerCenter Repository on page 75. 3. Create user profiles for users performing cross-repository work. A user who needs to connect to multiple repositories must have an identical repository user name and password in each repository. Although the user name and password must remain the same, the user can be a member of different user groups and can have a completely different set of privileges in each repository. For details on creating user profiles and configuring repository security, see Repository Security on page 125.

Reusing Metadata
In a domain you frequently need to share metadata across repositories. PowerCenter provides a mechanism for sharing metadata among multiple repositories. Sharing metadata can help you save time and reduce work by reusing metadata. It also helps enforce standards for the design of transformations at the enterprise level. For example, a sales division develops a standard calculation for the profitability of each product. This calculation is likely to be complex, based on variables such as production costs and marketing expenses. Since profitability is important information when investing in product development, building a sales strategy, or making other decisions, you need everyone in all parts of the organization to use the same calculation. If you can share the profitability calculation, you can be sure that everyone looks at the value of each product to the company in the same way. When you develop the component of a mapping that performs this calculation, you might want to reuse it in other mappings, even in other repositories. The profitability calculation might appear in several mappings in the sales division repository. The R&D, marketing, and accounting divisions also need to use the same calculation in many mappings in their repositories.

14

Chapter 1: Understanding the Repository

Shared Folders
You can configure folders in global and local repositories to be shared. Once you designate a folder as shared, you can create shortcuts to objects in that folder. You can use shortcuts in any other folder in the repository. If the shared folder is in a global repository, you can use shortcuts to that folder in any repository in the domain. If a folder is not shared, you cannot create shortcuts to objects in the folder. However, you can still create copies of objects in non-shared folders. Shared folders are useful when you want to use the same repository objects in several projects within the same repository. For example, each folder within a repository might represent a different development project. However, every project in the repository needs to store bug reports in a consistent format, so you might put the source definition for the BUG_REPORTS table in a shared folder. For details on folders, see Working with Folders on page 165.

Reusing Data
The need to share data is just as pressing as the need to share metadata. Often, several departments in the same organization need the same information. For example, each department may need to read the same product data from operational sources, perform the same profitability calculations, and format this information to make it easy to review. If each department reads, transforms, and writes this product data separately, the throughput for the entire organization is lower than it could be. A more efficient approach would be to read, transform, and write the data to one central data store shared by all users. A central data store improves throughput at the level of the entire enterprise. To improve performance further, you might want to capture incremental changes to sources. For example, rather than reading all the product data each time you update the central data store, you can improve performance by capturing only the inserts, deletes, and updates that have occurred in the PRODUCTS table since the last time you updated the central data store. The central data store also allows you to format data in a standard fashion. For example, you can filter employee data that should remain confidential. Or you can display date and time values in a standard format. You can perform these and other data cleansing tasks when you move data into the central data store instead of performing them repeatedly.

PowerCenter Domains

15

Version Control
If you have the Team-Based Development option, you can enable version control for the repository. A versioned repository can store multiple copies, or versions, of an object. Each version is a separate object with unique properties. PowerCenter version control features allow you to efficiently develop, test, and deploy metadata into production. During development, you can use the following change management features to create and manage multiple versions of objects in the repository:

Check out and check in versioned objects. You can check out and reserve an object you want to edit, and check in the object when you are ready to create a new version of the object in the repository. Compare objects. The Repository Manager, Workflow Manager, and Designer allow you to compare two repository objects of the same type to identify differences between them. The PowerCenter Client tools allow you to compare objects across open folders and repositories. You can also compare different versions of the same object. Track changes to an object. You can view an object history that includes all versions of the object. You can also compare any version of the object in the history to any other version. This allows you to see the changes made to an object over time. Delete or purge a version. You can delete an object from view and continue to store it in the repository. You can recover, or undelete, deleted objects. If you want to permanently remove an object version, you can purge it from the repository.

For more information on working with versioned objects, see Working with Versioned Objects on page 199. You can use the following features to group versioned objects:

Labels. A label is an object that you can apply to versioned objects in the repository. This allows you to associate multiple objects in groups defined by the label. You can use labels to track versioned objects during development, mark development milestones, improve query results, and organize groups of objects for deployment or import and export. Queries. You can create a query that specifies conditions to search for objects in the repository. You can save queries for later use. You can make a private query, or you can share it with all users in the repository. Deployment groups. You can create a deployment group that contains references to objects from multiple folders across the repository. You can create a static deployment group that you manually add objects to, or create a dynamic deployment group that uses a query to populate the group. You can also roll back a deployment operation.

For more information on grouping versioned objects, see Grouping Versioned Objects on page 217. You can copy objects in a deployment group from one repository to another. Unlike copying a folder, copying a deployment group allows you to copy one or more objects from multiple folders in the source repository to multiple folders in the target repository. You can also choose to copy part of a composite object, provided that the object is present in the target
16 Chapter 1: Understanding the Repository

repository. This gives you greater control over the specific objects copied from one repository to another and allows you to update only those objects that were modified. For more information on copying objects in a deployment group, see Copying Folders and Deployment Groups on page 241. You can also use pmrep to perform change management tasks. This allows you to use pmrep scripts and files to automate change management tasks. For example, you can automate the process for copying deployment groups. For more information on using pmrep for change management, see Using pmrep and pmrepagent on page 403.

Version Control

17

18

Chapter 1: Understanding the Repository

Chapter 2

Using the Repository Manager


This chapter includes the following topics:

Overview, 20 Repository Manager Windows, 22 Adding and Removing a Repository, 29 Working with Repository Connections, 30 Searching for Repository Objects, 34 Viewing Object Dependencies, 37 Validating Multiple Objects, 42 Comparing Repository Objects, 45 Truncating Workflow and Session Log Entries, 48

19

Overview
The Repository Manager allows you to navigate through multiple folders and repositories and perform basic repository tasks.

Repository Manager Windows


The Repository Manager can display four main windows: the Navigator window, the Main window, the Dependency window, and the Output window. You can dock and undock the Navigator, Dependency, and Output windows. You can also hide and display the Navigator, Dependency, and Output windows. The Navigator window allows you to connect to a repository, navigate through the folders, and browse repository objects. The Navigator window organizes the repository objects of the same type in each folder in groups called nodes. When you select an object in a node, you can view details for the object in the Main window. When you configure the Repository Manager to display object dependencies, the Dependency window displays the dependency details when you select an object in the Navigator window. You can view dependency information for sources, targets, mappings, and shortcuts. The Output window displays detailed information for complex repository operations, such as copying, restoring, or upgrading a repository. The Output window also displays Repository Server notification messages.
Note: Since the status of the repository changes as users access it, refresh your view of the

repository before performing tasks, such as deleting a folder or unlocking an object.

Repository Manager Tasks


You can use the Repository Manager to perform the following tasks:

Add or remove a repository. You can add or remove multiple repositories to the Navigator window and client registry. For more information, see Adding and Removing a Repository on page 29. Work with repository connections. You can connect to one repository or multiple repositories. You can export repository connection information from the client registry to a file. You can import the file on a different machine and add the repository connection information to the client registry. For more information, see Working with Repository Connections on page 30. Search for repository objects or keywords. You can search for repository objects containing specified text. If you add keywords to target definitions, you can use a keyword to search for a target definition. For more information, see Searching for Repository Objects on page 34. View object dependencies. Before you remove or change an object, you can view dependencies to see the impact on other objects. For more information, see Viewing Object Dependencies on page 37.

20

Chapter 2: Using the Repository Manager

Compare repository objects. The Repository Manager allows you to compare two repository objects of the same type to identify differences between the objects. For more information, see Comparing Repository Objects on page 45. Truncate session and workflow log entries. You can truncate the list of session and workflow logs that the PowerCenter Server writes to the repository. You can truncate all logs, or truncate all logs older than a specified date. For more information, see Truncating Workflow and Session Log Entries on page 48. Terminate user connections. You can use the Repository Manager to view and terminate residual user connections. For details, see Managing User Connections on page 151. Release locks. You can use the Repository Manager to release residual locks left by residual connections. Releasing a valid lock can result in repository inconsistencies, so only release a lock when you know that the locked object is not in use. For details, see Releasing Locks on page 158. Exchange metadata with other business intelligence tools. You can export metadata to and import metadata from other business intelligence tools, such as Cognos ReportNet Framework Manager. For more information, see Exchanging Metadata on page 313.

Overview

21

Repository Manager Windows


The Repository Manager has a main window and a status bar for information on the operation you are performing. The Repository Manager can display the following windows:

Navigator Main Dependency Output

Figure 2-1 shows the Repository Manager components:


Figure 2-1. Repository Manager Components

Navigator Window

Dependency Window

Output Window

Status Bar Main Window

When the Repository Manager accesses the repository, the Status Bar reflects the connection in progress with a progress indicator.

Progress Indicator

22

Chapter 2: Using the Repository Manager

Displaying Windows
The Repository Manager allows you to dock and undock the following windows:

Navigator Dependency Output

To dock or undock a window:

Double-click the title bar. Or, drag the title bar toward or away from the Main window.

The Repository Manager displays windows as necessary, depending on the task you perform. When you launch the Repository Manager, the Navigator and the Main windows appear. The Dependency window appears when you want to view dependencies, and the Output window appears when the Repository Manager displays status messages. However, you can also configure the Repository Manager to hide or display any window.
To display a window: 1. 2.

Double-click the title bar. From the menu, choose View. Then select the window you want to open.

To close a window:

Click the small x in the upper right corner of the window.

Navigator Window
Use the Navigator window to connect to a repository and navigate through the folders and objects in the repository. The Navigator window displays the following objects when they exist in the repository:

Repositories. PowerCenter repositories can be standalone, local, or global. Deployment groups. Deployment groups contain collections of objects for deployment to another repository in the domain. Folders. Folders can be shared or not shared. Nodes. Nodes can include sessions, sources, targets, transformations, mapplets, workflows, tasks, worklets, and mappings. Repository objects. Repository objects displayed in the Navigator can include sources, targets, transformations, mappings, mapplets, sessions, tasks, workflows, worklets, workflow logs, and session logs.

Repository Manager Windows

23

Figure 2-2 shows the Navigator components:


Figure 2-2. Repository Manager Navigator

Repositories

Deployment Groups

Shared Folder

Mappings Nodes

Workflows

Viewing Properties
You can view the properties of the objects in the Navigator by selecting the object, and then clicking the View Properties button in the toolbar. You can also right-click the object in the Navigator and select Properties from the shortcut menu. For more information about object properties, see Viewing Version Properties on page 203.
Note: If you enable versioning when you create the repository, you can view all tabs on the

Properties dialog box.

24

Chapter 2: Using the Repository Manager

Figure 2-3 shows the object properties for a source definition:


Figure 2-3. Source Definition Object Properties

Main Window
The Main window of the Repository Manager displays details about the object selected in the Navigator. For example, if you select a repository in the Navigator, the Main window displays all the folders in the repository along with additional folder information, such as whether the folder is shared or in use.

Sorting and Organizing


You can sort items in the Main window by each of the columns. For example, to sort mappings by validity, select the mappings node, then click the Valid column heading. Click the heading again to reverse the order in which the mappings are sorted. You can also change the order in which the columns appear. For example, you might want the Valid column to appear first, on the left side of the Main window. To do this, drag the Valid column heading to the desired location. The Repository Manager displays the columns in the new order until you change the display.
Note: You can double-click an object in the Main window to view its properties.

Viewing Object Details


To view information about repository objects, select a node in the Navigator. Or, to view detailed information about a particular repository object, drill down on a node and select the object.

Repository Manager Windows

25

Table 2-1 shows the object details displayed in the Repository Manager Main window:
Table 2-1. Object Details Displayed in Repository Main Window Node Repository Node Deployment Groups Node Sources Node Targets Node Transformations Node Mapplets Node Mappings Node Information Displayed Displays properties for each folder in the selected repository. Displays properties for each deployment group in the selected repository. Select a static deployment group to view details for deployment group objects. Displays the properties for each source within the selected node. Select a source definition to view details for each port in the selected source definition. Displays the properties for each target with the selected node. Select a target definition to view details for each target definition port. Displays the properties for each reusable transformation in the selected node. Select a transformation to view details for the specified transformation ports. Displays the properties for each mapplet in the selected node. Select a mapplet to view the Transformations node containing the mapplet. Displays the properties for each mapping in the node. Select a mapping to view sources, targets, and transformation nodes that contain the sources, targets, and transformations used in the mapping. Select a target in a mapping to view details for each port in the selected target definition. Displays properties for each task in the selected node. Select a task to view the task details. Displays properties for each session in the folder. Select a session to view session logs, source connections and target connections nodes for the selected session. The Main window also displays information about pre- and post-session email and commands. Displays properties for each worklet in the folder. Select a worklet to view the nodes for sessions, tasks, and other objects associated with the worklet. Displays properties for each workflow in the folder. Select a workflow to view information for tasks and objects associated with the selected workflow. Displays workflow log information for the selected workflow. The Workflow Logs node displays under each workflow in the Workflows node. Displays session log information for the selected session. The Sessions Logs node displays under each session in the Sessions node. Displays connection properties for each source connection associated with the session. The Source Connections node displays under each session in the Sessions node and under each session associated with a workflow under the Workflows node. Displays properties for each source file associated with the session. The Source File Connections node displays under each session in the Sessions node and under each session associated with a workflow under the Workflows node. Displays connection properties for each target connection associated with the session. The Target Connections node displays under each session in the Sessions node and under each session associated with a workflow under the Workflows node.

Tasks Node Sessions Node

Worklets Node Workflows Node Workflow Logs Node Session Logs Node Source Connections Node Source File Connections Node Target Connections Node

26

Chapter 2: Using the Repository Manager

Table 2-1. Object Details Displayed in Repository Main Window Node Target File Connections Node Transformation Logs Node Information Displayed Displays properties for each target file associated with the session. The Target File Connections node displays under each session in the Sessions node and under each session associated with a workflow under the Workflows node. Displays log details for each transformation in the session when you select the Transformation Logs node.

Dependency Window
The Dependency window appears when you configure the Repository Manager to display dependencies. You can view dependencies by using the menu items or the dependency buttons on the toolbar. You can also view dependencies using the Dependency dialog box. For information on using the Dependency dialog box, see Viewing Object Dependencies on page 37. When viewing dependencies, the left pane of the Dependency window lists the object for which you want dependency information, and the dependency information appears in the right pane of the window. Figure 2-4 shows the Dependency window:
Figure 2-4. Dependency Window

Selected Object

Dependencies

The Dependency window can display the following types of dependencies:

Source-target dependencies. When you view source-target dependencies, the Dependency window lists all sources or targets related to the selected object, including relevant details about those sources or targets. For example, if you select a target, you view all sources that provide data for that target, along with details about each source. Mapping dependencies. When you view mapping dependencies, the Dependency window lists all mappings containing the selected object, as well as relevant information about those mappings. For example, if you select a reusable transformation, you view all mappings using that transformation and details about each mapping. Shortcut dependencies. When you view shortcut dependencies, the Dependency window lists all shortcuts to the selected object and relevant details, such as the repository and

Repository Manager Windows

27

folder in which the shortcut exists. When you edit an object referenced by shortcuts, you can use the Repository Manager to see which folders contain the shortcut. When you open the Dependency window, it displays dependencies for the object in the Navigator that you select. You can also view mapping object dependencies in the Designer. The Designer allows you to view dependencies for sources, targets, transformations, mappings, mapplets, and shortcuts. For details, see Using the Designer in the Designer Guide.

Output Window
When possible, the Repository Manager displays status messages in the status bar. With more complex operations, however, the Repository Manager displays detailed information in the Output window. For example, when you connect to a repository, the status bar displays the following message:
Accessing the repository...

Once connected to the repository, the status bar displays the word Ready. When you perform a more lengthy operation, such as copying a folder, the Repository Manager writes details about the operation into the Output window. Figure 2-5 shows the Output window:
Figure 2-5. Output Window

You can change the font type and size displayed in the output window by right-clicking the window and selecting Change Font.

28

Chapter 2: Using the Repository Manager

Adding and Removing a Repository


You can add or remove a repository from the Repository Manager. You add a repository when you want to access an existing repository from the PowerCenter Client. You remove a repository when you want to remove access to an existing repository.

Adding a Repository
Add a repository when a repository already exists but does not appear in the Navigator of the PowerCenter Client. After adding a repository, you can connect to it. For details on connecting to a repository, see Connecting to a Repository on page 30. Adding a repository to the Navigator window does not create the repository. For details on creating a repository, see Creating or Promoting a Repository on page 116.
To add a repository: 1. 2.

In the Repository Manager, choose Repository-Add Repository. Enter the repository name and your repository user name. The Repository Manager adds the repository to the Navigator.

Removing a Repository
When you remove a repository, you remove it from the Navigator of the PowerCenter Client. The repository remains intact, but you can no longer access it. After you remove a repository, you can reverse your action by adding it.
To remove a repository from the Navigator: 1. 2.

In the Navigator of the Repository Manager, select the repository you want to remove. Press Delete.

After you remove a repository from the Navigator, you can also remove it from the PowerCenter Client registry. To reverse this action, you need to add the repository and reconfigure the connection information.
To remove a repository from the client registry: 1. 2. 3. 4.

In the Navigator of the Repository Manager, select the repository you want to remove. Choose Tools-Remove Repository. Select the repository you want to remove, and click Delete. When a message box appears, click OK to remove the repository.

Adding and Removing a Repository

29

Working with Repository Connections


From the Repository Manager, you can connect to single or multiple repositories. You can connect to a repository for the first time or connect to a repository you have previously accessed. When you create a repository, the Repository Server creates two default users in the Administrators group, the database user name used to create the repository and Administrator. The default password for Administrator is Administrator. The repository administrator can connect to the repository as Administrator and change the default password. For more information on the default users in the Administrators group, see Default Groups on page 127. The Repository Manager also saves repository connection information in the registry. To simplify the process of setting up client machines, you can export that information and import it to a different client machine using the same operating system.

Connecting to a Repository
You can connect to a repository for the first time or connect to a repository you have previously accessed.
To connect to a repository for the first time: 1.

Verify the Repository Server is started. For details on starting and stopping the Repository Server, see Installing and Configuring the Repository Server on Windows, or Installing and Configuring the Repository Server on UNIX in the Installation and Configuration Guide.

2. 3.

Launch the PowerCenter Client tool and select the repository you want to connect to in the Navigator window. Click the Connect button. You can also choose Repository-Connect. The Connect to Repository dialog box appears.

4.

Enter the database user name and password used to create the repository.

30

Chapter 2: Using the Repository Manager

5.

Click More. The Connect to Repository dialog box expands.

6. 7.

Enter the host name of the machine the Repository Server is running on and the port number the Repository Server uses for connections. Click Connect.

The Repository Server now opens a connection to the database, and a new icon representing the repository appears in the Repository Manager. Folders within the repository now appear underneath the icon for that repository.
To connect to a repository that you have accessed before: 1. 2.

Launch the PowerCenter Client tool. Select the icon for the repository and click the Connect button on the toolbar. Alternatively, you can select the repository icon and choose Repository-Connect.

3.

Enter your repository user name and password. The password must be in 7-bit ASCII.

4.

Click Connect.

Connecting to Multiple Repositories


The PowerCenter Client allows you to connect to multiple repositories and work in multiple folders at one time. When working in a domain, you can also connect from a local repository to a global repository and from a global repository to any local repository in a domain. To make these connections, you must have identical logins in both repositories. To create a global shortcut, connect from the local repository to the global.
To connect to multiple repositories separately: 1.

In the Navigator, select a repository and choose Repository-Connect. Existing folders in the repository now appear beneath the repository.

Working with Repository Connections

31

2.

Select another repository, choose Repository-Connect.

To connect from a local repository to the global repository: 1.

Connect to the local repository. If the repository is part of a domain, an icon for the global repository appears beneath the local repository icon, as well as folders in the local repository.

2.

Double-click the icon for the global repository. You now open a connection to the global repository. You see the folders within the global repository as well as those in the local repository. By double-clicking a folder in either repository, you can access its contents.

To connect from the global repository to a local repository: 1.

Connect to the global repository. Icons for all the local repositories in the domain appear beneath the global repository.

2.

Double-click the icon for the local repository you wish to access. The contents of the local repository appear.

Exporting/Importing Repository Connection Information


The Repository Manager saves repository connection information in the registry. To simplify the process of setting up client machines, you can export that information, and then import it to a different client machine. Both machines must use the same operating systems. The section of the registry you can import and export contains the following repository connection information:

Repository name Repository user name and 7-bit ASCII password Repository Server host name and port number

The Repository Server uses repository configuration information separate from the connection information stored in the registry to manage repositories. If you want to export or import repository configuration information for the Repository Server, see Exporting and Importing Repository Configurations on page 115.
To export the registry: 1. 2.

In the Repository Manager, choose Tools-Export Registry. Enter the name of the export file. To identify the file, use the extension .reg, such as MySources.reg.

3.

Click OK. A dialog box appears, informing you that the Repository Manager successfully exported the repository registry file.

32

Chapter 2: Using the Repository Manager

You can now distribute this file for import on other client machines with the same operating systems.
To import the registry: 1. 2. 3.

In the Repository Manager, choose Tools-Import Registry. Navigate to the directory containing the import file and select it. Click Open. A dialog box appears, informing you that the Repository Manager successfully merged the repository connection information into your registry.

Working with Repository Connections

33

Searching for Repository Objects


In the Repository Manager, you can search for repository objects using the following methods:

Keyword search Search text

Perform a keyword search when you have associated a keyword with a target definition. Use Search All when you want to search through text in object names, comments, group names or owner names associated with the repository object.

Performing Keyword Searches


Once you add keywords to target definitions, you can use them to perform searches in the Repository Manager.
To search for targets containing a keyword: 1. 2.

In the Repository Manager, connect to a repository. Choose Analyze-Search by Target Keyword. The Search Target Tables For Keyword dialog box appears. You can enter a keyword, or you can select one from the list of all keywords applied to target definitions in the repository.

3.

If you want to select a keyword, click List Keywords, select a keyword, then click OK. or Enter a keyword in the Keyword window.

34

Chapter 2: Using the Repository Manager

4.

Select the options you want to use in the search:


Option Exact Match Description If selected, the Repository Manager only looks for the entire keyword entered. If not selected, the Repository Manager looks for keywords that contain the keyword entered. For example, if you enter REPOS without selecting the Exact Match option, the search would return a keyword match for REPOSITORY. If selected, the Repository Manager does not try to match the case of the keyword entered. Otherwise, the keyword search is case-sensitive.

Ignore Case

5.

Click OK. The Repository Manager now searches for matching keywords in all target definitions in the repository. The screen splits, displaying the list of matching keywords in the bottom window.

Searching All Repository Objects


Use Search All to search for text in the object name, comments, group name, or owner name associated with repository objects. You can search for text in the repository objects such as transformations, source and target fields, and tasks.
To search for text in all repositor y objects: 1.

In the Repository Manager, connect to the repository.

Searching for Repository Objects

35

2.

Choose Analyze-Search All. The Search All dialog box appears.

3. 4. 5. 6.

Select Match Case if you want to perform a case-sensitive search. In the item list, select the repository objects in which you want to search for the text. The Repository Manager selects all objects by default. Select the repository object attributes in which you want to search for the text. The Repository Manager selects all attributes by default. Click Find Next. The Repository Manager displays the first repository object matching the search text in the Main window.

7. 8.

Click Find Next to find the next repository object matching the search text. Click Close to close the Search All dialog box.

36

Chapter 2: Using the Repository Manager

Viewing Object Dependencies


Before you change or delete repository objects, you can view dependencies to see the impact on other objects. For example, before you remove a session, you can find out which workflows use the session. You can view dependencies for repository objects in the Repository Manager, Workflow Manager, and Designer tools. In the Repository Manager, Workflow Manager, and Designer, you can view dependencies when you review the results of the following tasks:

View object history. You can view dependencies from the View History window when you view the history of an object. View checkouts. You can view dependencies from the View Checkouts window when you search for persistent checkouts. View query results. You can view dependencies from the Query Results window when you search for object dependencies or run an object query.

Note: You can check in objects from the View Dependencies dialog box, but you cannot check

in original objects for global shortcuts. In addition, you can view dependencies from the tools in the Workflow Manager and Designer. Table 2-2 lists the Workflow Manager and Designer tools you can use to display dependencies, and the objects that View Dependencies displays when you view dependencies:
Table 2-2. Viewing Object Dependencies Parent Object Mappings Tool Mapping Designer Types of Child Objects Displayed - Global and local shortcuts to the mapping. - Sources the mapping uses. - Targets the mapping uses. - Transformations the mapping uses. - Global and local shortcuts to the mapplet. - Sources the mapplet uses. - Targets the mapplet uses. - Transformations the mapplet uses. - Sources within the same folder that reference the source through a foreign key relationship. - Global and local shortcuts to the source. - Targets within the same folder that reference the target through a foreign key relationship. - Global and local shortcuts to the target. - Global and local shortcuts to the transformation.

Mapplets

Mapping Designer Mapplet Designer

Sources

Mapplet Designer Mapping Designer Source Analyzer Mapping Designer Warehouse Designer Mapplet Designer Mapping Designer Transformation Developer

Targets

Transformations

Viewing Object Dependencies

37

Table 2-2. Viewing Object Dependencies Parent Object Sessions Tool Task Developer Worklet Designer Workflow Designer Types of Child Objects Displayed - Sources the session uses. - Targets the session uses. - Mappings the session uses. - Mapplets the session uses. - Transformations the session uses. - Tasks the session uses. - Mapping the session uses. - Session configuration the session uses. - Sources the workflow uses. - Targets the workflow uses. - Mappings the workflow uses. - Mapplets the workflow uses. - Transformations the workflow uses. - Sessions the workflow uses. - Tasks the workflow uses. - Schedulers the workflow uses. - Session configuration the workflow uses. - Worklet the workflow uses. - Sources the worklet uses. - Targets the worklet uses. - Mappings the worklet uses. - Mapplets the worklet uses. - Transformations the worklet uses. - Sessions the worklet uses. - Tasks the worklet uses. - Schedulers the worklet uses. - Session configuration the worklet uses.

Workflows

Workflow Designer

Worklets

Worklet Designer Workflow Designer

Note: You can perform all searches in this table from the Repository Manager.

You can view object dependencies in the Workflow Manager and Designer when you work with objects in the workspace. You can view object dependencies when you open objects in the following tools:

Mapping Designer Mapplet Designer Workflow Designer Worklet Designer

The Dependencies dialog box displays the object name, object type, and a list of dependent objects and their properties.

38

Chapter 2: Using the Repository Manager

Figure 2-6 shows the Dependencies dialog box:


Figure 2-6. Dependencies Dialog Box

Select options.

Search for dependencies.

Filter by object type when you search for parent or child dependencies.

When you search for dependencies, you can filter the results by selecting options and object types. Table 2-3 shows the options you can select when you search for dependencies:
Table 2-3. Dependencies Options Option All Parents Description View the objects that use the selected object. For example, if you search for the parent objects for a session, the results might include a workflow or worklet. View the objects that the selected object uses. For example, if you search for the child objects for a workflow, the results might include sessions and worklets. View primary and source object dependencies where there is a primary key-foreign key relationship. View global shortcuts across repositories. You can select this option when you search for parents, children, or primary key-foreign key dependencies.

All Children

PK/FK Dependencies Go Across Repositories

When you search for dependencies, the results window displays the properties for each dependent object.

Viewing Object Dependencies

39

Figure 2-7 shows the View Dependencies window:


Figure 2-7. View Dependencies Window

Object Properties

Output Window Comments Window

Labels Window

Table 2-4 describes the object properties that display in the View Dependencies window:
Table 2-4. Object Properties for View Dependencies Window Properties Object Name Group Name Object Type Description The name of the dependent object. DBD associated with the source of the object. For example, the group type can be Oracle, DB2, or XML. The type of dependent object. Dependent objects can be any of the following types: - Foreign key dependency - Shortcuts - Mappings - Mapplets - Sessions - Workflows - Worklets - Target definition - Source definition The version number of the dependent object. Time the object was created or saved. Status of the object, Active or Deleted. Comments associated with the dependent object.

Version Time Stamp Status Version Comments

40

Chapter 2: Using the Repository Manager

Table 2-4. Object Properties for View Dependencies Window Properties Folder Name User Name Host Name Checkout Type Purged by User Is Reusable Is Deleted Repository Description The folder name where the dependent object resides. User who created the object. Host name for the machine hosting the object. Type of checkout for object, Persistent or Non-Persistent. Name of the user who purged the object. Status of object as reusable, Yes or No. Status of object deletion, Yes or No. Repository hosting the object.

The View Dependencies window also displays output, comments, and label information associated with the object. The Output window displays validation information, and the Comments window displays text entered during object check in or check out. The Labels window displays labels associated with the object and information associated with the label object. To save the list of dependent objects as an HTML file, choose File-Save to File. Figure 2-8 shows an example of the HTML file saved from a View Dependencies window:
Figure 2-8. Object Dependencies Saved as HTML

Viewing Object Dependencies

41

Validating Multiple Objects


PowerCenter allows you to validate multiple objects in the repository without fetching them into the workspace. You can save and optionally check in objects that change from invalid to valid status as a result of the validation. You can validate sessions, mappings, mapplets, workflows, and worklets. For information about mapping validation, see the Designer Guide. For information on validating sessions and workflows, see the Workflow Administration Guide. You can select objects to validate from the Repository Manager navigator. You can also select objects from query results or an object dependencies list. If you select objects from the Repository Manager navigator, you can only select objects of the same type, in the same folder. If you select objects from query results or an object dependencies list, you can choose different types of objects to validate, and you can select them from within the Repository Manager, Designer, or Workflow Manager.
To validate multiple objects: 1. 2.

Select the objects you want to validate. Initiate the validation. If you select objects from query results or a list view, you must right-click one of the selected objects and choose Validate. If you are selecting objects from the Navigator, you can also choose Tools-Validate to initiate a validation. The Validate Objects dialog box displays.

3.

Select validation options from the Validate Objects dialog box:


Save validated objects. If you do not choose to save the objects in the repository, the validation just provides a report. Choose whether to check in validated objects. You can automatically check in valid objects. You can only select this option if you have selected the Save Objects option and versioning is enabled in the repository. Check in comments. If you are checking in validated objects you must enter check in comments. Otherwise this option is disabled.

42

Chapter 2: Using the Repository Manager

4.

Click Validate. The validation displays status in a progress dialog box. The output window of your current screen shows the status of each object being validated. You can cancel the validation from the progress dialog box. If you cancel, you do not cancel the current operation, you cancel the remaining operations in the validation. Figure 2-9 shows the Validate Objects results box. The results box displays when validation completes. Use the results box to determine how many objects were validated and saved. To view the objects in each total, click the hyperlink.
Figure 2-9. Validate Objects Results

Hyperlinks to view the objects in the group.

Table 2-5 describes the information that displays in the Validate Objects window.
Table 2-5. Validate Objects Properties Properties Objects provided for validation Skipped objects Description The total number of objects that you selected to validate. The total includes skipped objects. The number of the following types of objects: - Objects that do not require validation, such as sources, targets, transformations, and shortcuts. - Objects that cannot be fetched, such as a deleted mapping associated with a session being validated. The number of invalid objects provided for validation. The number of selected objects that are valid. The number of objects that require fixing or editing. The total number of objects saved. If you do not choose the Save Objects or Check In Objects options, this number is zero. The number of validated objects you cannot save because someone has them locked.

Objects that were invalid before the validation Objects successfully validated Objects still invalid Saved/checked in objects Cannot save objects due to lock conflict

Validating Multiple Objects

43

5.

Click a hyperlink to view the objects in the results group. Validation results that have more than zero objects in them have hyperlinks to the object details. When you click the hyperlink, a dialog box displays each object in the results group you select.

44

Chapter 2: Using the Repository Manager

Comparing Repository Objects


The Repository Manager allows you to compare two repository objects of the same type to identify differences between the objects. For example, you can compare two sessions to check for differences. When you compare two objects, the Repository Manager displays their attributes. You can compare objects across folders and repositories. To do this, you must have both the folders open. You can compare a reusable object with a non-reusable object. You can also compare different versions of the same object. For more information about versioned objects, see Comparing Versions on page 210. To compare objects, you must have read permission on each folder that contains the objects you want to compare. You can compare the following types of objects:

Designer objects. You can compare Designer objects, such as sources, targets, transformations, mapplets and mappings. For more information about comparing objects in the Designer, see the Designer Guide. Workflow Manager objects. You can compare Workflow Manager objects, such as tasks, sessions, worklets, and workflows. You can compare schedulers and session configuration objects in the Repository Manager, but not in the Workflow Manager. For more information about comparing objects in the Workflow Manager, see the Workflow Administration Guide.

You can compare instances of the same type in detail. For example, if the workflows you compare contain worklet instances with the same name, you can compare the instances to see if they differ. You can compare instances of sessions and tasks in a workflow or worklet comparison. You can compare instances of mappings and transformations in a session comparison. Further, you can compare instances of the same type within a mapping or mapplet comparison. You cannot compare objects of different types. For example, you cannot compare a source definition with a target definition. Use the following procedure to compare objects.
To compare repository objects: 1. 2.

In the Repository Manager, connect to the repository. In the Navigator, select the object you want to compare.
Tip: To compare the first two objects in a node, select the node.

Comparing Repository Objects

45

3.

Choose Edit-Compare Objects. A dialog box similar to the following one appears:

4.

Click Compare. If you choose a Designer object, such as a source, the Sources window shows the result of comparing two sources:

View object differences.

46

Chapter 2: Using the Repository Manager

If you choose a Workflow Manager object, such as a session, the Diff Tool window shows the result of comparing two sessions:
Filter nodes that have same attribute values. Compare object instances.

Differences between objects are highlighted and the nodes are flagged. Differences between object properties are marked. Displays the properties of the node you select.

Comparing Repository Objects

47

Truncating Workflow and Session Log Entries


When you configure a session or workflow to archive session logs or workflow logs, the PowerCenter Server saves those logs in local directories. The repository also creates an entry for each saved workflow log and session log. If you move or delete a session log or workflow log from the workflow log directory or session log directory, you can remove the entries from the repository. Use the Repository Manager to truncate the list of workflow logs. You can truncate all of the workflow logs entries in the list, or you can truncate all workflow logs before a specified date. The repository always retains the most recent workflow log entry for each workflow, and it always retains the most recent session log entry for each session. The Repository Server truncates the workflow log list and the session log list at the same time.
To truncate workflow and session log entries: 1. 2.

In the Repository Manager, select the workflow in the Navigator window or in the Main window. Choose Edit-Truncate Log. The Truncate Workflow Log dialog box appears.

3. 4. 5.

Choose whether you want to delete all workflow and session log entries, or all workflow and session log entries with an end time older than a certain date. If you want to delete all entries older than a certain date, enter the date and time. Click OK. The Repository Server deletes the workflow and session log entries from the repository.

48

Chapter 2: Using the Repository Manager

Chapter 3

Managing the Repository


This chapter includes the following topics:

Overview, 50 Navigating the Administration Console, 52 Registering and Connecting to the Repository Server, 58 Tuning Repository Performance, 60 Copying a Repository, 62 Deleting a Repository, 64 Backing Up and Restoring a Repository, 66 Starting and Stopping the Repository, 71 Sending Repository Notifications, 74 Registering a PowerCenter Repository, 75 Migrating the Repository to a Different Repository Server, 77 Propagating Repository Domain Connection Information, 78 Viewing User Connections and Locks, 79 Closing User Connections and Locks, 83 Registering and Unregistering Repository Plug-ins, 85 Registering and Unregistering LDAP Security Modules, 88 Reading the Repository Log Files, 97
49

Overview
The PowerCenter repository is a collection of database tables containing metadata. The Repository Server manages repositories. The Repository Server performs all metadata transactions between the repository database and repository client applications. A Repository Server can manage multiple repositories. You use the Repository Server Administration Console to create and administer the repository through the Repository Server. You can use the Administration Console to perform the following tasks:

Add, edit, and remove repository configurations. Export and import repository configurations. Edit repository license files. Create a repository. Promote a local repository to a global repository. Copy a repository. Delete a repository from the database. Back up and restore a repository. Start, stop, enable, and disable repositories. Send repository notification messages. Register and unregister a repository. Propagate domain connection information for a repository. View repository connections and locks. Close repository connections. Register and remove repository plug-ins. Upgrade a repository.

For details on working with repository configurations, creating repositories, promoting repositories, and licenses, see Configuring the Repository on page 103. For details on upgrading a repository, see Upgrading a Repository in the Installation and Configuration Guide. For details on repository architecture and connectivity, see Repository Architecture on page 3 and Repository Connectivity on page 4.

Permissions and Privileges


When you connect to a Repository Server in the Administration Console, you use the administrator password specified in the Repository Server setup. When you connect to a Repository Server, you can perform all tasks in the Administration Console for repositories the Repository Server manages.

50

Chapter 3: Managing the Repository

Repository Code Pages


Every repository has an associated code page. When you create, copy, or restore a repository, you must choose a repository code page from a list of code pages that are compatible with the PowerCenter Client. The PowerCenter Client and Server code pages must be compatible with the repository code page.
Note: EBCDIC code pages appear in the list of possible repository code pages when they are

compatible with the PowerCenter Client code page. However, since you cannot create a repository on mainframes, do not select an EBCDIC code page for the repository code page. For more information on code pages, see Globalization Overview in the Installation and Configuration Guide.

Overview

51

Navigating the Administration Console


Use the Administration Console to connect to the Repository Server and perform repository administration tasks, such as creating, starting, and backing up repositories. You must start the Repository Server before you can perform repository administration tasks. On Windows, start the Repository Server service from the Services control panel. On UNIX, start the Repository Server from the command line. For details on starting and stopping the Repository Server, see Installing and Configuring the Repository Server on Windows and Installing and Configuring the Repository Server on UNIX in the Installation and Configuration Guide. To launch the Administration Console from the Repository Manager, choose RepositoryManage Repository Server. You can also launch the Administration Console from the Windows Start menu. The Administration Console uses Microsoft Management Console (MMC) technology. MMC is a console framework for server and network management applications called snapins. The Administration Console is a snap-in for MMC. For more information on using MMC, see the online help for MMC. The Administration Console allows you to navigate multiple Repository Servers and repositories and perform repository management tasks. Figure 3-1 shows the Administration Console:
Figure 3-1. Administration Console

Main Window

Console Tree

Nodes

Console Tree
The Console Tree allows you to browse Repository Servers and managed repositories. The Administration Console displays a different set of Action menu items depending on which
52 Chapter 3: Managing the Repository

node you select in the Console Tree. You can also right-click a node to access the Action menu items. The Console Tree contains the following nodes:

Repository Servers. Lists the registered Repository Servers. Expand this node to connect to a Repository Server or to register a Repository Server. Repository Server name. Lists the nodes under it: Repositories, Activity Log, Backups, and Available Packages. Repositories. Lists the managed repositories. Expand this node to add or import a repository configuration, and to start or stop all repositories managed by the Repository Server. Repository name. Lists repository information, locks, and user connections. Expand this node to perform repository functions, such as backing up, upgrading, and registering with a global repository. Connections. Lists user connection details. Select this node to view user connection information and to manually close connections. Locks. Lists repository locks. Select this node to view existing object locks in the repository. Activity Log. Lists recent Repository Server activity, such as copying or backing up a repository. Select this node to view the latest activity performed on all repositories managed by the Repository Server. Backups. Lists the repository backup files available in the Repository Server backup directory. Select this node to restore a repository from a backup file. Available Packages. Lists the plug-ins available to the Repository Server. Select this node to register and remove plug-ins.

Main Window
The Main window displays details of the node you select in the Console Tree. For example, if you select a repository in the Console Tree, the Main window displays the properties of the repository, such as the status and start time. The Main window displays results in the following views:

List view. Displays a collection of items that includes an icon and a label. In List view, you can arrange the items in different ways by choosing the View menu. You can view items as large or small icons, or you can list them with or without item details. Choose ViewDetails to view detailed information for a node in List view. Figure 3-1 on page 52 shows the Administration Console in List view. HTML view. Displays repository information as a dynamic HTML page. HTML view includes hypertext links that allow you to perform actions on the selected node. The hypertext links are shortcuts to some Action menu items. The Administration Console only displays repositories in HTML view. Figure 3-2 on page 55 shows the Administration Console in HTML view.

Navigating the Administration Console

53

Repository Servers Node Details


When you select the Repository Servers node in the Console Tree, the Main window displays details about each registered Repository Server. Table 3-1 lists Repository Servers node details that display in the Administration Console:
Table 3-1. Repository Servers Node Details Column Name Host Name Port Number Status Description The name of the computer hosting the Repository Server. The port number used to access the Repository Server. The connection status of the repository, either connected or not connected.

Repository Server Name Node Details


When you select a Repository Server in the Console Tree, the Main window displays each node under the Repository Server node: Repositories, Activity Log, Backups, and Available Packages.

Repositories Node Details


When you select the Repositories node, the Main window displays details about each repository managed by the Repository Server. Table 3-2 list Repositories node details that display in the Administration Console:
Table 3-2. Repositories Node Details Column Name Name Status Start Time Description The name of the repository. The status of the repository, either running, stopped, or disabled. The start time of the repository.

Repository Name Node Details


When you select a repository in the Console Tree, the Main window displays details about the repository in HTML view. The Main window also displays HTML links that allow you perform some repository tasks.

54

Chapter 3: Managing the Repository

Figure 3-2 shows repository details:


Figure 3-2. Repository Details

HTML View Hypertext Link

Table 3-3 lists repository details displayed in the Administration Console:


Table 3-3. Repository Details Attribute Status Start Time Number of Restarts Process ID Description The status of the repository, either running, starting, stopped, stopping, or disabled. The date and time the repository last started. The date display format is MM/DD/YYYY 24 HH:MI:SS. The total number of times the repository started since the Repository Server started. If you shut down the Repository Server, this property resets to 0. The Windows or UNIX process identification number assigned to the Repository Agent. The Repository Server and Repository Agent append this number to entries in the Repository Server and Repository Agent log files. When you troubleshoot the repository, use this number to identify which error messages apply to the Repository Agent. For more information on the repository log file, see Reading the Repository Log Files on page 97. The type of database where the repository resides.

Database Type

Table 3-4 lists the HTML links for performing some repository tasks:
Table 3-4. HTML Links for Performing Repository Tasks HTML Link Stop Backup Description Stop the repository. For more information, see Stopping the Repository on page 72. Back up the repository to a binary file. For more information, see Backing Up a Repository on page 66.

Navigating the Administration Console

55

Table 3-4. HTML Links for Performing Repository Tasks HTML Link Restore Upgrade Properties Description Recover metadata from a repository binary backup file. For more information see Restoring a Repository on page 67. Upgrade the repository to the latest version. For more information, see Upgrading a Repository in the Installation and Configuration Guide. View general, network, database, and server configuration parameters for the repository. For more information, see Adding a Repository Configuration on page 105.

Connections Node Details


When you select the Connections node, the Main window displays user connections to the repository. For details, see Viewing User Connections on page 79.

Locks Node Details


When you select the Locks node, the Main window displays details about the locks associated with the selected repository. For details, see Viewing Locks on page 80.

Activity Log Node Details


When you select the Activity Log node, the Main window displays all activity the Repository Server performed on all managed repositories since you launched the Administration Console and connected to the Repository Server. This includes activities such as upgrading or starting a repository. When you select the Activity Log node, you can save the activity information to a text file by choosing Action-Save As. When you perform some repository management tasks, such as starting a repository, the Administration Console shows the Activity Log in a popup window. This information also displays in the Main window when you select the Activity Log node. Figure 3-3 shows the Activity Log window:
Figure 3-3. Activity Log Window

56

Chapter 3: Managing the Repository

When you right-click the Activity Log window, you can perform the following tasks:

Select all text. Copy selected text. Clear all text. Change the font of all text. Save the information to a text file.

The Administration Console does not display Repository Server log file messages. For more information about Repository Server log files, see Reading the Repository Log Files on page 97.

Backups Node Details


When you select the Backups node, the Main window displays the repository backup files available in the backup directory specified in the Repository Server setup.

Available Packages Node Details


When you select the Available Packages node, the Main window displays the plug-in files available to register in the Repository Server plug-in directory.

Navigating the Administration Console

57

Registering and Connecting to the Repository Server


To perform repository administration tasks, you must connect to the Repository Server. You must register a Repository Server to connect to it. When you connect to a Repository Server, the Administration Console maintains the connection until you disconnect from the Repository Server or close the Administration Console. The Repository Server icon in the Console Tree changes depending on the connection state. You can connect concurrently to multiple Repository Servers. For details on configuring the Repository Server, see Installing and Configuring the Repository Server on Windows or Installing and Configuring the Repository Server on UNIX in the Installation and Configuration Guide.

Registering a Repository Server


Use the following procedure to register a Repository Server.
To register a Repository Server: 1. 2. 3.

Launch the Administration Console and select the Repository Servers node. Choose Action-New Server Registration. Enter the Repository Server host name and port number, and click OK. The Administration Console adds the Repository Server to the Console Tree.

Connecting to the Repository Server


Use the following procedure to connect to the Repository Server.
To connect to the Repository Server: 1. 2. 3.

Launch the Administration Console and expand the Repository Servers node in the Console Tree. Right-click the Repository Server and choose Connect. In the Connecting to Repository Server dialog box, enter the password you use to administer the Repository Server and the port number used to access the Repository Server. Click OK. The Administration Console connects to the Repository Server and displays the managed repositories.

58

Chapter 3: Managing the Repository

Disconnecting from the Repository Server


Use the following procedure to disconnect from the Repository Server.
To disconnect from the Repository Server: 1. 2.

In the Console Tree, expand the Repository Servers node. Right-click the Repository Server and choose Disconnect.

Registering and Connecting to the Repository Server

59

Tuning Repository Performance


PowerCenter includes features that allow you improve the performance of the repository. You can update statistics and skip information when you copy, backup, or restore the repository.

Updating Repository Statistics


The PowerCenter repository has more than 170 tables, and almost all tables use at least one index to speed up queries. Most databases keep and use column distribution statistics to determine which index to use to execute SQL queries optimally. Database servers do not update these statistics continuously. In frequently-used repositories, these statistics can become outdated very quickly and SQL query optimizers may not choose the best query plan. In large repositories, the impact of choosing a sub-optimal query plan can affect performance drastically. Over time, the repository becomes slower and slower. PowerCenter identifies and updates the statistics of all repository tables and indexes when you copy, upgrade, and restore repositories. You can also update statistics using the pmrep command Updatestatistics. For details, see Updating Repository Statistics (UpdateStatistics) on page 447.

Increasing Repository Copy, Backup, and Restore Performance


Large repositories may contain a lot of log and history information that slows down repository performance. You have the option of skipping the information that is not essential to the function of the repository. When you back up, restore, or copy a repository, you can choose to skip the following types of information:

Workflow and session logs Deploy group history MX data

By skipping this information, you reduce the time it takes to copy, back up, or restore a repository. Each copy, backup, and restore dialog box contains an Advanced button that allows you to choose the information you want to skip. You can also skip this information when you use the pmrepagent commands. For more details, see pmrepagent Commands on page 477.

60

Chapter 3: Managing the Repository

To skip information when copying, backing up, or restoring a repository: 1.

If you are copying a repository, follow the steps to copy a repository in Copying a Repository on page 62. If you are backing up repository, follow the steps to back up a repository in Backing Up a Repository on page 66. If you are restoring a repository, follow the steps to restore a repository in Restoring a Repository on page 67. Click the Advanced button on the Copy From Another Repository dialog box, Backup Repository dialog box, or Restore Repository dialog box. Select the data you want to skip.

2. 3.

4.

Click OK, and continue copying, backing up, or restoring the repository.

Note: You can optimize repository performance for repositories on IBM DB2 EEE. For more

information, see Creating a Repository in the Installation and Configuration Guide.

Tuning Repository Performance

61

Copying a Repository
You can copy a repository from one database to another. Copying repositories provides a quick way to copy all metadata you want to use as a basis for a new repository. Copy a repository to preserve the original repository before upgrading. You can also copy a repository when you want to move a repository from development into a production environment. To copy a repository, you must add or import a repository configuration for the target repository. For details, see Adding a Repository Configuration on page 105 and Importing a Repository Configuration on page 115. When you copy a repository, you must select a code page for the target repository that is compatible with the original repository. If a repository exists in the target database, the copy operation fails. You must back up and delete the existing repository from the target database before copying the repository.
Note: If you want to copy a Sybase repository, set allow nulls by default to TRUE at the

database level. Setting this option changes the default null type of the column to null in compliance with the SQL standard.
To copy a repository: 1.

In the Console Tree, select the target repository configuration. The Repository Server uses the connection information in this repository configuration to connect to the target database when it copies the source repository.

2.

Choose Action-All Tasks-Copy From. The Copy From Another Repository dialog box appears.

3.

If you want to copy a repository managed by the same Repository Server, choose Managed By the Same Repository Server, and select a repository from the repository list.

62

Chapter 3: Managing the Repository

4.

If you want to copy a repository managed by a different Repository Server, select Managed By a Different Repository Server, and enter the repository name, Repository Server host name, and Repository Server port number. Enter the repository user name and password for the source repository. To skip workflow and session logs, deploy history, and MX data, click the Advanced button. For more details, see Increasing Repository Copy, Backup, and Restore Performance on page 60. Click OK. The Repository Server copies the repository from the source repository to the database specified in the destination repository configuration. You can view the progress of the copy in the Activity Log. The Repository Server starts the repository when it finishes copying it.

5. 6.

7.

Copying a Repository

63

Deleting a Repository
Delete a repository when you want to delete all metadata and repository database tables in the repository. You might delete a repository if metadata is obsolete. Deleting a repository is an irreversible action. If the repository contains information that you might need, back up the repository before you delete it. If the repository you want to delete is a global repository, you must choose to unregister all local repositories. Unless you unregister all local repositories, the Repository Server does not delete the global repository. The Administration Console displays the following message:
This repository, <global repository name>, contains registered repositories (<local repository names>). There was an error deleting the repository.

You must stop and disable the repository before you delete it. For more information on stopping and disabling the repository, see Stopping the Repository on page 72 and Disabling the Repository on page 73.
Note: You can also use the pmrepagent Delete command to delete repositories. For more

information, see Deleting a Repository (Delete) on page 481.


To delete a repository: 1. 2.

In the Console Tree, select the repository you want to delete. If the repository is running, choose Action-Stop. The Repository Server stops the repository.

3.

Choose Action-Disable. The Repository Server disables the repository so that other users cannot start it.

4.

Choose Action-Delete. The Deleting a Repository dialog box appears.

Delete the repository in the database.

5.

Select Delete the Repository, and click OK. This option instructs the Repository Server to delete the repository metadata and tables from the database.

64

Chapter 3: Managing the Repository

6.

When prompted to delete the repository, click OK. The Delete Repository Content dialog box appears.

7. 8. 9.

Enter your repository user name and password. If the repository is a global repository, you can choose to unregister all local repositories. Click OK. The Repository Server deletes the repository. You can monitor the progress of the delete operation in the Activity Log. After the Repository Server deletes the repository, you can choose to keep or remove the repository configuration.

10.

Click No to keep the repository configuration, or click Yes to remove it. When you click Yes, the Administration Console removes the repository from the Console Tree, and it keeps a backup of the repository configuration file in the Repository Server configuration directory. When you click No, the Administration Console keeps the repository in the Console Tree.

Deleting a Repository

65

Backing Up and Restoring a Repository


Regularly back up your repositories to prevent data loss due to hardware or software problems. When you back up a repository, the Repository Server saves the repository in a binary file, including the repository objects, connection information, and code page information. If you need to recover the repository, you can restore the contents of the repository from this binary file.

Backing Up a Repository
When you back up a repository, the Repository Server stores the file in the Repository Server backup directory. The Repository Server uses the extension .rep for all repository backups. Specify the backup directory in the Repository Server setup.
To back up a repository: 1. 2.

In the Console Tree, select the repository you want to back up. Choose Action-All Tasks-Backup.
Tip: You can also click Backup in the Main window.

The Backup Repository dialog box appears.

3.

Enter your repository user name, password, and file name for the repository backup file. Specify a name for the backup file. You can also enter a description for the backup file. The Repository Server saves the backup file in the Repository Server backup directory. Use an easily distinguishable name for the file. For example, if the name of the repository is DEVELOPMENT, and the backup occurs the first week of May, you might name the file DEVELOPMENTMay7.rep.

66

Chapter 3: Managing the Repository

4.

If you want to overwrite an existing repository backup file, replace the existing file. If you specify a file name that already exists in the Repository Server backup directory, and you do not choose to replace the existing file, the Repository Server does not back up the repository.

5.

To skip workflow and session logs, deploy history, and MX data, click Advanced. For more details, see Increasing Repository Copy, Backup, and Restore Performance on page 60. Click OK. You can view the backup operation in the Activity Log.

6.

Restoring a Repository
You can recover metadata from a repository binary backup file. When restoring a repository, you must have a database available for the repository. You can restore the repository in a database that has a compatible code page with the original database. In the Administration Console, you can restore a repository from either the Backups node or a repository name node. If a repository already exists at the target database location, you must delete it before restoring a repository backup file. The Repository Server does not restore a repository if one already exists in the target database location. You must delete the repository database before restoring a backup repository. PowerCenter can restore repositories from the current version only. If you have a backup file from an earlier version of PowerCenter or PowerMart, you must use the earlier version to restore the repository. If you want to restore a repository, you must have at least the minimum system resources required to create a repository. For details on the minimum system resources required to create a repository, see Creating a Repository on page 116. The actual amount of disk space required to restore the repository depends on the size of the repository backup file. Verify you add the product, option, and connectivity license keys to the repository license file when you edit the repository configuration you use to restore the repository backup file. For example, you must have a Team-Based Development option license key to restore a versioned repository. For more information on licenses, see Working with PowerCenter Licenses on page 119. You can also use the pmrepagent Restore command to restore repositories, or the Bulkrestore command to restore Teradata repositories. For more information, see Restoring a Repository (Restore) on page 485 and Restoring Teradata Repositories using Fastload (Bulkrestore) on page 479.
Note: If you want to create, restore, or upgrade a Sybase repository, set allow nulls by default to TRUE at the database level. Setting this option changes the default null type of the column to null in compliance with the SQL standard.

Backing Up and Restoring a Repository

67

To restore a repository from the Backups node: 1.

In the Console Tree, select the Backups node. The Main window lists the available backup files in the Repository Server backup directory.

2.

In the Main window, select the repository backup file to restore, and choose ActionRestore. The Restore Repository dialog box appears.

Create a repository configuration.

Use an existing repository configuration.

The Administration Console allows you to create a repository configuration or use an existing repository configuration for the restored repository.
3.

Choose to create a repository configuration or to use an existing repository configuration. For details on creating a repository configuration, see Adding a Repository Configuration on page 105.

4. 5.

To skip workflow and session logs, deploy history, and MX data, click Advanced. For details, see Increasing Repository Copy, Backup, and Restore Performance on page 60. Click OK.

68

Chapter 3: Managing the Repository

If the repository uses a security module, the Restore Repository-Security Module dialog box displays.

6.

If the Restore Repository-Security Module dialog box displays, you must choose whether to restore the repository with the external module or to unregister the security module when you restore. If you choose to keep the external module, you must specify the repository administrator user name and password. The Repository Agent does not assume that the same user authentication module is on the new system, so it verifies that the administrative user can connect to the repository if the restore completes. The Repository Agent verifies that the password is valid for the user name on the target server. If you choose to unregister the security module, the Administrator account password becomes Administrator. The other user names become disabled.

7.

Click OK. The Repository Server restores the repository. You can view the restore process in the Activity Log.

To restore a repository from a repository name node: 1. 2.

In the Console Tree, select a repository configuration under the Repositories node to use for the restored repository. Choose Action-All Tasks-Restore.

Backing Up and Restoring a Repository

69

3.

In the Restore Repository dialog box, select the backup file to restore. The Administration Console lists backup files in the Repository Server backup directory.

4. 5.

To skip workflow and session logs, deploy history, and MX data, click Advanced. For details, see Increasing Repository Copy, Backup, and Restore Performance on page 60. Click OK. If the repository uses an authentication module, the Restore Repository-Security Module dialog box displays.

6.

If the Restore Repository-Security Module dialog box displays, you must choose whether to restore the repository with the external module or to unregister the security module when you restore. If you choose to keep the external module, you must specify the repository administrator user name and password. The Repository Agent does not assume that the same user authentication module is on the new system, so it verifies that the administrative user can connect to the repository if the restore completes. The Repository Agent verifies that the password is valid for the user name on the target server. If you choose to unregister the security module, the Administrator account password becomes Administrator. The other user names become disabled.

7.

Click OK. The Repository Server restores the repository. You can view the restore process in the Activity Log.

70

Chapter 3: Managing the Repository

Starting and Stopping the Repository


The Administration Console allows you to manually start, stop, disable, or enable the repository. Use these commands when you perform repository administration tasks that require you to stop the repository. You must stop the repository to perform the following repository administration tasks:

Upgrade the repository. Delete the repository. Remove the repository configuration.

You should also stop the repository when you edit repository configuration parameters that are not dynamically updated. For more information on dynamic updating, see Editing a Repository Configuration on page 113. Use the following steps as a guideline when you perform these tasks: 1. 2. 3. 4. 5. Stop the repository. Disable the repository to prevent other users or applications from starting it. Perform the repository administration task or edit the repository configuration. After restoring or upgrading the repository, enable the repository to allow other users or applications to start it. Start the repository.

Enabling the Repository


Enable the repository to allow you or other users full access to start a disabled repository. The Enable option is available when the repository is disabled.
To enable the repository: 1. 2.

In the Console Tree, select the repository you want to enable. Choose Action-Enable. The Repository Server enables the repository.

3.

If you want to start the repository, choose Action-Start. The Repository Server starts the repository.

Starting the Repository


The Start command allows you to manually start the repository. You can use the Start command to ensure a repository with a new or edited configuration initializes properly. You can also use the Start command to restart the repository if it stops unexpectedly. The

Starting and Stopping the Repository

71

Repository Server starts an enabled repository for client applications requesting a connection to the repository. The Repository Server only starts a repository if the repository license file exists in the Repository Server installation directory and it contains a valid product license key. For more information on licenses, see Working with PowerCenter Licenses on page 119.
Note: Before you start the repository, you must start the Repository Server. For details on

starting the Repository Server, see Installing and Configuring the Repository Server on Windows and Installing and Configuring the Repository Server on UNIX in the Installation and Configuration Guide.
To start a single repository: 1. 2. 3.

In the Console Tree, select the repository you want to start. If the repository is disabled, choose Action-Enable. Choose Action-Start. The Repository Server starts the repository. You can view the startup progress in the Activity Log.

Stopping the Repository


The Stop command allows you to manually stop the repository to perform administration tasks. The repository closes all connections to repository client applications before stopping. You must stop the repository before upgrading or deleting it. You can also use the Stop All command to stop all repositories managed by the Repository Server. Stop all repositories if you need to shut down the Repository Server. To prevent other repository client applications from starting the repository after you stop it, disable the repository. You can also disable the repository while it is running. For details on disabling the repository, see Disabling the Repository on page 73.
Note: To avoid loss of data, send a notification telling repository users to save work in progress

and disconnect from the repository. Check for active user connections before you stop the repository. For details on viewing user connections, see Viewing User Connections on page 79.
To stop a single repository: 1. 2.

In the Console Tree, select the repository you want to stop. Choose Action-Stop. The Repository Server stops the repository. You can view the progress of the stop operation in the Activity Log.

3.

Choose Action-Disable if you want to prevent other users or applications from restarting the repository.

72

Chapter 3: Managing the Repository

To stop all repositories: 1. 2.

In the Console Tree, select the Repositories node. Choose Action-Stop All. The Repository Server stops all repositories it manages. You can view the progress of the stop operation in the Activity Log.

Disabling the Repository


When you disable the repository, you prevent other users or repository client applications from starting it. Disable the repository when you need to restore or upgrade the repository. You should also disable the repository when you edit configuration parameters that the Repository Server does not dynamically update. You can disable a repository while it is running. When you disable a running repository, the repository continues to run and the repository status indicates it is running. When you stop a disabled repository, the repository status changes from running to disabled. You must enable the repository before starting it again. For details on enabling the repository, see Enabling the Repository on page 71.
To disable the repository: 1. 2.

In the Console Tree, select the repository you want to disable. Choose Action-Disable. The Repository Server disables the repository. If the repository is running, the repository status changes to disabled when you stop the repository. You must enable the repository to start it.

Starting and Stopping the Repository

73

Sending Repository Notifications


You can create and send repository notification messages to users connected to the repository. You might want to send a notification message to notify users of scheduled repository maintenance or other tasks that require you to stop the repository or Repository Server. You can send a repository notification message to users connected to a single repository, or to all users connected to all repositories managed by the Repository Server.
To send a repository notification message: 1. 2.

In the Console Tree, select the repository you want to send the message to. Choose Action-All Tasks-Notify Users. The Notification Message dialog box appears.

3. 4.

Choose whether you want to send the notification message to users connected to the selected repository or all repositories managed by the Repository Server. Enter the message you want to send, and click OK. The Repository Server sends the notification message to all PowerCenter Client users connected to the repository. A message box informs the user that the notification was received. You can view the message text on the Notifications tab of the PowerCenter Client Output window.

74

Chapter 3: Managing the Repository

Registering a PowerCenter Repository


You can register local repositories with a global repository to create a domain. When working in a domain, you can perform the following tasks:

Navigate from local to global repositories without connecting to each repository separately. Promote metadata from a local repository to a global repository, making it accessible to all local repositories in the domain. Copy objects from or create shortcuts to metadata in the global repository. Copy objects from the local repository to the global repository.

When you register a local repository, the code pages of the local and global repository must be compatible. This allows you to copy objects from the local repository to the global repository and to create shortcuts or copy objects from the global repository to the local repository. For details on code page compatibility, see Globalization Overview and Code Pages in the Installation and Configuration Guide. If you unregister a repository from the global repository and then register it again, the Repository Server reestablishes global shortcuts. For example, if you create a copy of the global repository and delete the original, you can register all local repositories with the copy of the global repository. The Repository Server reestablishes all global shortcuts unless you delete objects from the copied repository. You can register a local repository to the global repository managed by a different Repository Server. You might want to have the local and global repositories managed by different Repository Servers if the repositories reside on different machines. A Repository Server running on the same machine on which the repository resides yields higher performance for repository transactions. When you move a registered local or global repository to a different Repository Server in the domain, propagate the domain connection information for the moved repository to other repositories in the domain. For details on propagating repository domain registration information, see Propagating Repository Domain Connection Information on page 78.
To register a local repository: 1. 2.

In the Console Tree, select the global repository. Choose Action-All Tasks-Register.
Tip: You can also click Register in the Main window.

Registering a PowerCenter Repository

75

The Register Repositories dialog box appears.

3. 4.

Choose the global repository from the global repository list, and enter your repository user name and password. If you want to register a local repository managed by the same Repository Server, choose Managed By the Same Repository Server and select a repository from the local repository list. If you want to register a local repository managed by a different Repository Server, choose Managed By a Different Repository Server and enter the name of the local repository, the host name of the Repository Server, and the port number the Repository Server uses for connections. Enter the repository user name and password for the local repository. Click Register. The Repository Server registers the local repository with the global repository.

5.

6. 7.

8.

Click Close.

76

Chapter 3: Managing the Repository

Migrating the Repository to a Different Repository Server


You can change the Repository Server that manages a repository. If you want to migrate a repository that is in a domain, you must propagate domain connectivity information for the repository. The repository contacts other repositories in the domain and updates the domain connectivity information. If you want to move multiple repositories in a domain to different Repository Servers, move and propagate each repository completely before moving another repository. For details on propagating domain connectivity information, see Propagating Repository Domain Connection Information on page 78. Use the following steps to migrate a repository to a different Repository Server: 1. Connect to the Repository Server hosting the repository, and stop the repository. For details, see Connecting to the Repository Server on page 58 and Stopping the Repository on page 72. Connect to the target Repository Server, and add a repository configuration. You can also export the repository configuration from the existing Repository Server, and import the configuration into the target Repository Server. For details, see Exporting and Importing Repository Configurations on page 115. Move the repository license file specified in the repository configuration from the previous the Repository Server installation directory to the new Repository Server installation directory. Select the repository configuration under the new Repository Server, and start the repository. For details, see Starting the Repository on page 71. If the repository you are moving is in a domain, propagate domain connectivity information for the repository. For details, see Propagating Repository Domain Connection Information on page 78. Remove the repository configuration from the existing Repository Server. For details, see Removing a Repository Configuration on page 114.

2.

3.

4. 5.

6.

Migrating the Repository to a Different Repository Server

77

Propagating Repository Domain Connection Information


Each local and global repository in a domain contains connectivity information to connect to the other repositories in the domain. If you want to change the Repository Server that manages a repository, you must update the connection information for other repositories in the domain. Use the Propagate command when you want to perform the following tasks:

Upgrade a domain from a previous version of PowerCenter. When you upgrade a domain, you must configure repository connectivity, upgrade, start, and propagate the connection information for local and global repositories in a specific order. For details on upgrading a domain, see Upgrading a Repository in the Installation and Configuration Guide. Migrate one or more repositories in a domain to another Repository Server. If you want to change the Repository Server managing one or more repositories in a domain, you must stop, configure repository connectivity, start, and propagate connection information for local and global repositories in a specific order. For details on migrating a repository, see Migrating the Repository to a Different Repository Server on page 77.

To update the connection information for a registered repository: 1. 2. 3.

In the Console Tree, select the repository for which you want to change the repository connection information. Choose Action-All Tasks-Propagate. Enter your repository user name and password. Click OK. The Repository Server contacts other registered repositories in the domain and updates the connectivity information for the repository.

78

Chapter 3: Managing the Repository

Viewing User Connections and Locks


The Repository Manager and Administration Console allow you to view the connection details and locks details for users connected to a repository.

Viewing User Connections


You can use the Repository Manager or the Administration Console to view connection details for users and applications connected to the repository. Table 3-5 describes the repository user connection details:
Table 3-5. Repository User Connection Details Property User Connection ID Application Hostname Host Address Login Time Last Active Time Remote Host Port Description The user name associated with the connection. The identification number assigned to the repository connection. The repository client application associated with the connection. The name of the machine running the application. The TCP/IP address of the machine associated with the connection. The time the user connected to the repository. The time of the last metadata transaction between the repository client application and the repository. The port number the machine hosting the repository client application uses to communicate with the repository.

Viewing Connection Details in the Repository Manager


Use the following procedure to view connection details in the Repository Manager.
To view user connection details: 1.

Launch the Repository Manager and connect to the repository.

Viewing User Connections and Locks

79

2.

Choose Edit-Show User Connections. The Repository Connections dialog box appears.

3.

To sort the connections by column, click on the column name.

Viewing Connection Details in the Administration Console


Use the following procedure to view connection details in the Administration Console.
To view user connection details: 1.

In the Console Tree, select the repository containing the user connections you want to view, and select the Connections node. The Administration Console displays the repository user connection details in the Main window:

2.

To sort the connections by column, click on the column name.

Viewing Locks
You can view locks and identify residual locks in the Repository Manager or in the Administration Console.

80

Chapter 3: Managing the Repository

Table 3-6 describes the object lock information in both the Repository Manager and the Administration Console:
Table 3-6. Object Lock Properties Column Name User Connection ID Folder Object Type Object Name Lock Type Lock Time Hostname Application Description User name locking the object. The identification number assigned to the repository connection. Folder in which the locked object is saved. Type of object, such as folder, version, mapping, or source. Name of the locked object. Type of lock: in-use, write-intent, or execute. Time the lock was created. Name of the machine locking the object. Application locking the object: Designer, Workflow Manager, or Repository Manager.

Viewing Locks in the Repository Manager


Use the following procedure to view locks in the Repository Manager.
To show all repository locks: 1. 2.

In the Repository Manager, connect to a repository. To view all locks in the repository, choose Edit-Show locks. The Object Locks dialog box appears.

3. 4.

To sort your view of the locks by column, click on the column name. To view updated lock information, click Refresh.

Viewing User Connections and Locks

81

Viewing Locks in the Administration Console


Use the following procedure to view locks in the Administration Console.
To show all repository locks: 1. 2.

In the Console Tree, select the repository containing the locks you want to view. Select the Locks node under the repository. The Administration Console displays the repository object lock details in the Main window:

3.

To sort your view of the locks by column, click on the column name.

82

Chapter 3: Managing the Repository

Closing User Connections and Locks


Sometimes, the Repository Server does not immediately disconnect a user from the repository. The repository has a residual connection when the repository client application or machine is shut down but the connection remains in the repository. This can happen in the following situations:

Network problems occur. A PowerCenter Client, PowerCenter Server, repository, or database machine shuts down improperly.

A residual repository connection also retains all repository locks associated with the connection. If an object or folder is locked when one of these events occurs, the repository does not release the lock. This is called a residual lock. If a system or network problem causes a repository client application to lose connectivity to the repository, the Repository Agent detects the residual connection. The Repository Agent closes the residual connection after three times the number of seconds specified for KeepAliveTimeout in the repository configuration. When the Repository Agent closes the connection, it also releases all repository locks associated with the connection. You can also use the Repository Manager or Administration Console to manually close residual user connections and release residual locks in the repository. However, Informatica recommends that you allow the Repository Agent to automatically detect and release residual locks. The PowerCenter Server opens additional connections to the repository for each Load Manager and DTM process. If you close a repository connection to a PowerCenter Server, the Repository Server also closes all other connections to the same PowerCenter Server. You do not need special privileges to terminate connections associated with your repository user name. For information on the privileges and permissions to terminate other user connections and unlock objects, see Repository Manager Tasks on page 516.
Warning: Closing an active connection may cause repository inconsistencies. Close residual connections only.

Closing Connections in the Repository Manager


Use the following procedure to close connections in the Repository Manager.
To manually close a connection in the Repository Manager: 1. 2. 3.

Launch the Repository Manager and connect to the repository. Choose Edit-Show User Connections. In the Repository Connections dialog box, select the connection you want to terminate.

Closing User Connections and Locks

83

4.

To terminate a connection associated with a residual lock, first view the repository object locks to identify the connection ID number associated with the locks you want to release. For more information, see Viewing Locks in the Repository Manager on page 81. Verify the user is not connected to the repository. Click End Connection. The Repository Server closes the user connection and releases all locks associated with the connection.

5. 6.

7.

Click Close to return to the Repository Manager.

Closing Connections in the Administration Console


Use the following procedure to close connections in the Administration Console.
To manually close a connection in the Administration Console: 1.

In the Console Tree, select the repository containing the connection you want to release, and select the Connections node. The Main window displays the connections details.

2. 3.

Select the user connection and choose Action-End Connection. To terminate a connection associated with a residual lock, first view the repository object locks to identify the connection ID number associated with the locks you want to release. For more information, see Viewing Locks in the Administration Console on page 82. Verify the user is not connected to the repository. Enter the repository user name and password. You can enter the user name and password associated with the connection, or a user name and password with Super User privilege. The Repository Server closes the connection and releases all locks associated with the connection.

4. 5.

84

Chapter 3: Managing the Repository

Registering and Unregistering Repository Plug-ins


Use the Administration Console to register and remove repository plug-ins. Repository plugins are third-party or other Informatica applications that extend PowerCenter functionality by introducing new repository metadata. The Repository Server registers plug-ins from the plug-in directory specified in the Repository Server setup program. By default, the plug-in directory is \Plugin in the Repository Server installation directory. For installation issues specific to your plug-in, please consult the plug-in documentation.

Registering a Repository Plug-in


Register a repository plug-in to add its functionality to the repository. You can also update an existing repository plug-in.
To register a plug-in: 1.

Stop and disable the repository if it is running. For details, see Starting and Stopping the Repository on page 71.

2.

In the Console Tree, select the Available Packages node. The Repository Server lists the available plug-ins in the Repository Server plug-in directory.

Registering and Unregistering Repository Plug-ins

85

3.

Select the plug-in to register, and choose Action-Register.

4. 5.

In the Register Security Module dialog box, select the repository in which to register the plug-in. Enter your repository user name and password. You can choose to update a plug-in already registered in the repository. You might choose to do this when you upgrade the plug-in to a new version.

6.

Click OK. The Repository Server registers the plug-in with the repository. You can view the registration process in the Activity Log.

Unregistering a Repository Plug-in


When you unregister a repository plug-in, the Repository Server stops and restarts the repository. Verify that all users are disconnected from the repository before you unregister a plug-in. Use the following procedure to remove a plug-in from the repository.
To unregister a plug-in: 1. 2. 3.

Open the Administration Console, and connect to the Repository Server. For the repository with the registered package, drill down to the Registered Packages node in the Console Tree. With the Registered Packages node selected, right-click the package you want to unregister in the Main window.

86

Chapter 3: Managing the Repository

4.

Choose Unregister.

5. 6.

Enter your repository user name and password. Click OK.

Registering and Unregistering Repository Plug-ins

87

Registering and Unregistering LDAP Security Modules


You can register and unregister an LDAP security module by using the Repository Server Administration Console or the appropriate pmrepagent commands.

Registering an LDAP Security Module


If you are using an LDAP directory to maintain users and passwords for a repository, you must register and configure the authentication module with the repository. You can register the authentication module by using the Repository Server Administration Console, or by using the pmrepagent Registerplugin command. For information on the Registerplugin command, see Registering a Plug-in (Registerplugin) on page 482. You can configure the authentication module using the Administration Console, or you can update the configuration file with a text editor. When you install the Repository Server on Windows, the installation places an LDAP external module library file and an associated XML file in the Repository Server security folder.
C:\repserver\bin\security\ldapauthen.dll C:\repserver\bin\security\ldap_authen.xml

The ldap_authen.xml file displays in the Available Packages folder of the Repository Server Administration Console. This XML file specifies the security module. The following is a sample LDAP XML file:
<?xml version="1.0" encoding="us-ascii"?> <POWERMART> <REPOSITORY CODEPAGE ="us-ascii"> <PLUGIN ID ="3014" NAME ="LDAPAuthenPlugin" VERSION ="1.0.0" VENDORID ="1" VENDORNAME ="Informatica" DESCRIPTION ="LDAP Authentication Security module">

<TEMPLATE ID="400100" NAME="LDAP Authentication Module" TYPE="AUTHENTICATIONMODULE" DESCRIPTION="Authentication module implemented using LDAP" COMPONENTVERSION="1.0.0">

<LIBRARY NAME="ldapauthen.dll" OSTYPE="NT" TYPE="REPAGENT"/>

88

Chapter 3: Managing the Repository

</TEMPLATE> </PLUGIN> </REPOSITORY> </POWERMART>

The NAME attribute in the LIBRARY element specifies the .dll file that implements the authentication. The OSTYPE attribute specifies the operating system running the library file. The TYPE should be REPAGENT.
Note: If you back up and restore a repository to a machine with a different operating system,

the restore process might unregister the external security module if it cannot find the security library on the new platform. Change the NAME attribute and the OSTYPE in the XML file to use it on the new machine.

Registering the Authentication Module


Use the Repository Server Administration Console to select and register the LDAP authentication module for a repository server.
To register an LDAP security module using the Administration Console: 1. 2. 3.

Connect to the Repository Server. Stop and disable the repository if it is running. For details, see Starting and Stopping the Repository on page 71. Open the Available Packages node in the Console Tree.

Registering and Unregistering LDAP Security Modules

89

The Repository Server lists the available plug-ins.

4.

Select the Authentication Module, and choose Action-Register.

90

Chapter 3: Managing the Repository

The Register Security Module dialog box displays.

Table 3-7 describes the information to enter in the Register Security Module dialog box:.
Table 3-7. Register Security Module Options Field Repository Update Security Module Registration Username Password External Directory Login Password Enable CRC Description Select the repository in which to register the module. Check this box if you are updating an existing security module. Leave it blank if this is the first time you are registering this module. Enter a user name that has Repository administrator privileges. You must have administrator privileges to register the security module. Enter the password for the Repository administrator. Enter a valid external login name for the module to use to connect to the external directory service. Enter the correct password for the external login name. Select Enable CRC to enable a runtime check the integrity of the authentication module library. This option stores the CRC of the plug-in library in the Repository. When the Repository Agent loads the authentication module, it checks the library against the CRC.

5.

Click OK. The Repository Server registers the plug-in with the repository. The LDAP security module displays under the repository in the Console Tree.
Registering and Unregistering LDAP Security Modules 91

Configuring the LDAP Authentication Module


When you use the LDAP authentication module you must configure it for the repository by updating the ldap_config.txt configuration file. This file resides in the bin\security folder in the Repository Server install directory. You can manually update this file, or you can use the Administration Console to update it.
To update the configuration using the Administration Console: 1. 2.

Open the Repository Server Administration Console and connect to the Repository server. Double-click the Available Packages node in the Navigator. The Repository Server displays the available plug-ins.

3.

Right-click the ldap_authen.xml authentication module and choose Configure. The Configure LDAP Authentication Module dialog box displays. You need to update both tabs to set the configuration.

4.

Enter LDAP server options.

92

Chapter 3: Managing the Repository

Table 3-8 describes the LDAP server configuration file options:


Table 3-8. LDAP Server Configuration Options Field Server name Port Search Base Scope Description The name of the LDAP server. Port number to connect to the LDAP server. The port is usually 636 for SSL enabled servers, or 389 for non-SSL enabled servers. Distinguished name (DN) of the entry that serves as the starting point to search for user names. Scope of the user search. Options are: - base. Search the entry identified by SearchBase. - onelevel. Search all entries one level beneath the SearchBase entry. - subtree. Search the entire subtree at all levels beneath the SearchBase entry. Distinguished name (DN) for the principal user. Leave this blank for anonymous login. Password for the principal user. Leave this blank for anonymous login.

Principal User Name Principal User Password 5.

Click the Login Properties Tab to enter login properties and SSL information.

Registering and Unregistering LDAP Security Modules

93

Table 3-9 describes the Login Properties tab options:


Table 3-9. LDAP Login Properties Options Field Login Attribute Login Filter UseSSL Certificate Database Description The directory attribute that contains login names. Condition to filter results for user search. The filter can specify attribute types, assertion values, and matching criteria. Indicates if the LDAP server uses SSL. The path to the certificate database if you are using SSL. Click the browse button to find and select the certificate file.

Example
The following example shows ldap_config.txt options for a Microsoft Active Directory server running on server6. When a user connects to the repository, the authentication module binds as the principal user JSmith to the LDAP server server6. The LDAP server searches for users within the search base starting at the organizational unit TestUsers, and searches down the subtree. It checks objects in the person object class. The server searches for the object with the sAMAccountName equal to the users login name.
serverName=server6 port=389 principal=CN=JSmith credential=testpasswd searchBase=ou=TestUsers, dc=informatica, dc=com scope=subtree loginAttr=sAMAccountName loginFilter=(objectclass=person) useSSL=no certDB=

The following example shows ldap_config.txt options for a SunONE directory server running on port 503 on server mars. The principal user and credential options are blank, which indicates that the users access the LDAP server through anonymous login.
serverName=mars port=503 principal= credential= searchBase=ou=people, dc=informatica, dc=com scope=subtree loginAttr=uid

94

Chapter 3: Managing the Repository

loginFilter=(objectclass=person) useSSL=no certDB=

Unregistering an LDAP Security Module


You can unregister the LDAP authentication module by using the Repository Server Administration Console or by using the pmrepagent Unregisterplugin command. For information on the Unregisterplugin command, see Unregistering Plug-ins (Unregisterplugin) on page 487. If you unregister the external security module, PowerCenter switches to repository authentication mode. All user passwords reset to the values in the repository instead of the values in the external directory. When you unregister the security module you lose the mapping between the repository user names and the external security login names unless you specify to keep the user name/external login mapping. If you keep the mapping, you can reuse it later if you register a new security module.
Note: Although you can save the associations between external logins and repository user

names, the Repository Manager does not display the external logins while running under repository user authentication. You must specify a new password for the administrator when you unregister the security module. This ensures that you can access the repository once the external security directory is unregistered. You should unregister the LDAP package when no users are accessing the repository. When you unregister the package you have to restart the repository. All users are disconnected.
To unregister an LDAP package: 1. 2.

Open the Repository Server Administration Console and connect to the Repository Server. Double-click the Available Packages node in the Navigator. The Repository Server displays the available plug-ins.

3.

Right-click the ldap_authen.xml authentication module and choose Unregister.

Registering and Unregistering LDAP Security Modules

95

The Unregister Package dialog box displays.

4.

Enter the LDAP Login properties shown in Table 3-10:


Table 3-10. LDAP Login Properties Options Field Administrator Username Password New Administrator Password Confirm Password Keep Username/ External Login Mapping Description The external login name for the repository administrator. The external login password for the repository administrator. The new password for the administrator to use with repository security after unregistering the external security module. Confirms the new password for the administrator. Keeps the mapping between the external user names and the login names in the repository. You can reuse this mapping if you register another external security module.

96

Chapter 3: Managing the Repository

Reading the Repository Log Files


The Repository Server and Repository Agent write error and operation messages to separate log files. The Repository Server log file contains information about managing the Repository Agents for all of the repositories configured to run on the Repository Server. The Repository Agent log file contains information about the operation of the Repository Agent managing each repository. The Repository Server and Repository Agent use a common format to log messages. Each message contains a log file code and process identification number used for troubleshooting purposes. The Repository Server and Repository Agent continuously append error and information messages to the log files. Depending on the number of repository transactions and the message severity level configured for the repository, the log files can grow to contain a large number of messages. Informatica recommends periodically deleting the Repository Server and Repository Agent log files and writing only higher severity level messages to the log files for normal operations.

Log File Codes


You can use the Repository Server and Repository Agent log files to determine the cause of repository problems. To troubleshoot repository problems, locate the relevant log file codes and text prefixes in the repository log file. Table 3-11 describes the codes that can appear in the Repository Server and Repository Agent log files:
Table 3-11. Repository Log Codes Log Code CNX LKM OBJM REP RCORE SF Description Messages related to connections to repository client applications. Messages related to obtaining and releasing repository object locks. Messages related to fetching, inserting, or updating repository objects. Messages related to communication between the Repository Agent and Repository Server. Messages related to Repository Server internal functions. Messages related to Repository Server status and management operations.

Process Identification
The Repository Server and Repository Agent append Windows or UNIX process identification numbers to the prefix of each message it writes to the Repository Server or Repository Agent log file. The process identification number helps you identify messages from a specific Repository Server or Repository Agent if you configure multiple repositories to write log messages to the same file.
Reading the Repository Log Files 97

You can verify the process ID number for the Repository Agent by checking the repository status. The process identification is printed before the message text in the repository log. The following example illustrates a connection message from a Repository Agent using process ID number 2548:
INFO : CNX_53037 [Thu Jul 15 10:45:44 2004]: (476|2548) Thread closing connection to the client.

Repository Server Log


By default, the Repository Server writes messages to the file pmrepserver.log. You can specify a unique log file name by configuring the Output to File option in the Windows Repository Server setup program. You can also configure the Windows Repository Server to log messages in the Windows event log. To view Repository Server messages in the Windows event log, you must be a system administrator on the machine hosting the Repository Server. You can specify a unique log file name on UNIX by configuring the Repository Server LogFileName option.

Repository Server Message Severity Level


You can configure the Repository Server to write the following levels of messages in the Repository Server log:

Error. Indicates the repository failed to perform an operation or respond to a request from a repository client application. Error messages have the highest severity level. Warning. Indicates the Repository Server is performing an operation that may cause an error. This can cause repository inconsistencies. Warning messages have the second highest severity level. Information. Indicates the Repository Server is performing an operation that does not indicate errors or problems. Information messages have the third lowest severity level. Tracing. Indicates Repository Server operations at a more specific level than Information. Tracing messages are generally record message sizes. Trace messages have the second lowest severity level. Debug. Indicates Repository Server operations at the thread level. Debug messages generally record the success or failure of individual internal Repository Server operations. Debug messages have the lowest severity level.

When you configure the repository to write messages of a specific severity level to the Repository Server log file, the Repository Server also writes all messages of greater severity to the log file. For example, if you configure the Repository Server to write Warning severity level messages to the log file, the Repository Server also writes Error severity level messages to the log file.

98

Chapter 3: Managing the Repository

When you configure the Repository Server to write Trace or Debug severity level messages to the Repository Server log file, the file can grow to contain a large number of entries. Informatica recommends setting the Severity Level option in the Repository Server configuration to Warning or Error unless you are troubleshooting a problem with the Repository Server.

Repository Server Log File Sample


The following sample is an excerpt from a Repository Server log file that illustrates log file codes:
INFO : SF_34058 [Fri Jul 16 09:16:46 2004] : (1324|1452) Service started. INFO : SF_34002 [Fri Jul 16 09:16:46 2004] : (1324|1452) Server starting up. INFO : SF_34012 : (1324|1452) Opened Server Port [5001] to listen for client connections. INFO : SF_34003 [Fri Jul 16 09:16:47 2004] : (1324|1452) Server initialization completed. INFO : REP_51003 [Fri Jul 16 09:37:33 2004] : (1396|1952) Copyright (c) Informatica Corporation 2000-2001 INFO : REP_51004 [Fri Jul 16 09:37:33 2004] : (1396|1952) Informatica Repository Agent starting up. INFO : REP_51005 [Fri Jul 16 09:37:33 2004] : (1396|1952) Initialized database connection information. INFO : REP_51007 [Fri Jul 16 09:37:33 2004] : (1396|1952) Repository runtime manager initialized. INFO : REP_51006 [Fri Jul 16 09:37:33 2004] : (1396|1952) Initialized configuration information. INFO : REP_51008 [Fri Jul 16 09:37:33 2004] : (1396|1952) Initialized request dispatcher. INFO : REP_51036 [Fri Jul 16 09:37:37 2004] : (1396|1952) Error logging enabled INFO : REP_51035 [Fri Jul 16 09:37:37 2004] : (1396|1952) Repository agent connected to repository PRODUCTION. Database : penguin@production, Database User : admin1 INFO : REP_51009 [Fri Jul 16 09:37:37 2004] : (1396|1952) Informatica repository agent ready to receive request on port 5003.

Sample Application Log


If you configure the Repository Server to log messages in the event log, the messages appear in the Application Log component of the Windows Event Viewer. Messages sent from the Repository Server display PmRepServer in the Source column. However, since some message codes are embedded within other codes, to ensure you are viewing the true message code, you must view the text of the message.

Reading the Repository Log Files

99

Figure 3-4 shows a sample Windows Event Viewer:


Figure 3-4. Event Viewer Application Log Message

Figure 3-5 shows the text of the message when you double-click it:
Figure 3-5. Application Log Message Detail

Repository Agent Log File


By default, the Repository Agent writes messages to the file pmrepagent.log. You can specify a unique log file name for individual repositories by configuring the LogFileName option when you create or edit a repository configuration. You can write repository log messages from multiple repositories to the same log file. You can view the repository log file using a text editor program such as Windows Notepad.

100

Chapter 3: Managing the Repository

You can also configure the Repository Agent to write messages of different severity levels to the log file depending on the value of the ErrorSeverityLevel configuration option when you create or edit a repository configuration.

Repository Agent Message Severity Level


You can configure the repository to write the following levels of messages in the Repository Agent log:

Error. Indicates the repository failed to perform an operation or respond to a request from a repository client application. Error messages have the highest severity level. Warning. Indicates the repository is performing an operation that may cause an error in a repository client application. For example, the Repository Agent writes a warning message to the Repository Agent log if you stop the repository when it has active connections. This can cause repository inconsistencies or cause repository client applications to report errors. Warning messages have the second highest severity level. Information. Indicates the repository is performing an operation that does not indicate errors or problems with the repository. Information messages have the second lowest severity level. Trace. Indicates repository operations at a more specific level than Information. Trace messages are generally record message sizes and locking operations for specific objects in the repository. Trace messages have the lowest severity level.

When you configure the repository to write messages of a specific severity level to the log file, The Repository Agent also writes all messages of greater severity to the log file. For example, if you configure the repository to write Warning severity level messages to the log file, the Repository Agent also writes Error severity level messages to the log file. When you configure the repository to write Information or Trace severity level messages to the repository log file, the file can grow to contain a large number of entries. Informatica recommends setting the ErrorSeverityLevel option in the repository configuration to Warning or Error unless you are troubleshooting a problem with the repository.

Repository Agent Log File Sample


The following sample is an excerpt from a Repository Agent log file that illustrates log file codes and severity level messages:
INFO : REP_51007 [Fri Jul 16 10:46:16 2004] : (2280|2256) Repository runtime manager initialized. INFO : REP_51006 [Fri Jul 16 10:46:16 2004] : (2280|2256) Initialized configuration information. INFO : REP_51008 [Fri Jul 16 10:46:16 2004] : (2280|2256) Initialized request dispatcher. INFO : REP_51036 [Fri Jul 16 10:46:17 2004] : (2280|2256) Error logging enabled .

Reading the Repository Log Files

101

. . INFO : CNX_53039 [Fri Jul 16 10:46:17 2004] : (2280|1980) Received TCP connection from host p153894.informatica.com (10.1.72.173), port 2706. TRACE : REP_51047 [Fri Jul 16 10:46:17 2004] : (2280|1980) Sending message of size 278 bytes. . . . ERROR : CNX_53021 [Wed Jul 14 13:20:54 2004] : (2588|2336) Received an invalid request. WARNING: CNX_53056 [Wed Jul 14 13:21:51 2004] : (2588|2608) Shutting down the repository server with 3 connection(s) active.

102

Chapter 3: Managing the Repository

Chapter 4

Configuring the Repository


This chapter includes the following topics:

Overview, 104 Adding a Repository Configuration, 105 Editing a Repository Configuration, 113 Removing a Repository Configuration, 114 Exporting and Importing Repository Configurations, 115 Creating or Promoting a Repository, 116 Working with PowerCenter Licenses, 119

103

Overview
Each repository managed by the Repository Server contains connection information saved in a configuration file. You configure this file on the following tabs of the New Repository dialog box:

General. This includes information, such as repository name and version control. Database connection. The Repository Server uses this information to connect to the repository database. Network. This includes receive and send timeout limits. Configuration. This includes repository configuration information, such as refresh interval and maximum connections. When you connect to the repository, the Repository Server starts the repository using the stored connection information.

Licenses. This displays the license key information stored in the repository license file. You can also update the license keys in the license file. Add repository configurations. Edit repository configurations. Remove repository configurations. Export repository configurations. Import repository configurations. Edit repository license files. Create a repository. Promote a local repository to a global repository. Enable version control for a repository.

Use the Administration Console to perform the following tasks:


104

Chapter 4: Configuring the Repository

Adding a Repository Configuration


Use the Administration Console to add repository configurations to the Repository Server. When you add a repository configuration, the Administration Console creates a configuration file in the Repository Server configuration directory, and adds the repository name to the Console Tree. When you add a repository configuration, you can perform the following tasks:

Create a repository in a database. For more information, see Creating a Repository on page 116. Change the Repository Server managing the repository. For more information, see Migrating the Repository to a Different Repository Server on page 77. Restore a repository from a backup file. For more information, see Restoring a Repository on page 67. Upgrade an existing repository from an earlier version of PowerCenter or PowerMart. For more information, see Upgrading a Repository in the Installation and Configuration Guide.

To add a repository configuration: 1.

In the Console Tree, select the Repositories node and choose Action-New Repository. The New Repository dialog box appears, displaying the General tab.

Adding a Repository Configuration

105

2.

Enter general information about the repository. Table 4-1 describes the options available on the General tab:
Table 4-1. New Repository - General Tab Option Name Required/ Optional Required Description The name of the repository. Do not use the following characters when creating a repository name: \ / : * ? < > " | . Creates a global repository. Once created, you cannot change a global repository to a local repository. Only enable this option if you are sure you want to create a global repository. You can promote an existing local repository to a global repository later. Creates a versioned repository. Only enable this option if you are sure you want to create a versioned repository. You can promote an existing repository to a versioned repository later. To enable a repository for version control, you must have the Team-Based Development option license key in the repository license file. Add the license key on the Licenses tab. Choose to create a new repository based on this repository configuration, or to add the repository configuration without creating a repository in the database.

Global Data Repository

Optional

Enable Version Control

Optional

Creation Mode

Required

3.

Click the Database Connection tab.

106

Chapter 4: Configuring the Repository

Table 4-2 describes the options available on the Database Connection tab:
Table 4-2. New Repository - Database Connection Tab Option Database Type CodePage Required/ Optional Required Required Description The type of database storing the repository. The repository code page. The Repository Server uses the character set encoded in the repository code page when writing data to the repository. The native connect string the Repository Server uses to access the database containing the repository. Note that for most databases, this is not an ODBC data source name, but a native connect string (for example, servername@dbname for Microsoft SQL Server, or dbname.world for Oracle). For Teradata databases, use the ODBC data source name. For a list of connect string syntax, see Table 16-1 on page 405. The account for the database containing the repository. Set up this account using the appropriate database client tools. The repository database password corresponding to the database user. Must be in 7-bit ASCII. If selected, the Repository Server uses Windows authentication to access the Microsoft SQL Server database. The user name that starts the Repository Server must be a valid Windows user with access to the Microsoft SQL Server database. The tablespace name for IBM DB2 repositories. When you specify the tablespace name, the Repository Server creates all repository tables in the same tablespace. You cannot use spaces in the tablespace name. To improve repository performance on IBM DB2 EEE repositories, specify a tablespace name with one node. For more information on using the tablespace names, see Creating a Repository in the Installation and Configuration Guide.

ConnectString

Required

DBUser DBPassword Trusted Connection

Required Required Optional

TablespaceName

Optional

Adding a Repository Configuration

107

4.

Click the Network tab.

5.

Enter the network information. Table 4-3 describes the options available on the Network tab:
Table 4-3. New Repository - Network Tab Option MessageReceiveTimeout MessageSendTimeout Required/ Optional Required Required Description Number of seconds the Repository Server waits to receive a message from a client application before timing out. Default is 3. Number of seconds the Repository Server waits while sending a message to a client application before timing out. Default is 3.

108

Chapter 4: Configuring the Repository

6.

Click the Configuration tab.

7.

Enter the repository configuration information. Table 4-4 describes the options available on the Configuration tab:
Table 4-4. New Repository - Configuration Tab Option MaximumConnections ErrorSeverityLevel Required/ Optional Required Required Description The maximum number of connections the repository accepts from repository client applications. Default is 200. The level of error messages written to the Repository Agent log file. Specify one of the following message levels: - Error. Writes ERROR code messages to the log file. - Warning. Writes WARNING and ERROR code messages to the log file. - Information. Writes INFO, WARNING, and ERROR code messages to the log file. - Trace. Writes TRACE, INFO, WARNING, and ERROR code messages to the log file. Informatica recommends using the Trace and Information logging levels for troubleshooting purposes only. The Repository Server validates the date display format and uses it when writing entries to the repository log file. If the date display format is invalid, the Repository Server uses the PowerCenter default date display format. The default date display format is DY MON DD HH 24:MI:SS YYYY.

DateDisplayFormat

Required

Adding a Repository Configuration

109

Table 4-4. New Repository - Configuration Tab Option DynamicConfig RefreshInterval ThreadWaitTimeout Required/ Optional Required Required Description The number of seconds the repository waits to poll for updates to its configuration. Default is 10. The number of seconds the master thread running repository processes waits for process threads to stop before stopping. Default is 60. The maximum number of locks the repository places on metadata objects. Default is 50,000. The path and name of the Repository Agent log file. The default is pmrepagent.log. If you specify the same log file name for multiple repositories, the Repository Agent writes messages for each repository to the same file. The number of seconds the Repository Agent waits for a response from a repository client application before closing the connection. If the Repository Agent receives no response from the repository client application in three times the number of specified seconds, the Repository Agent closes the connection. Default is 60. Minimum is 30. If you set this option to 0, the Repository Agent does not timeout or close connections. The maximum number of connections to the repository database that the Repository Agent can establish. If the Repository Agent tries to establish more connections than specified for DatabasePoolSize, it times out the connection attempt after the number of seconds specified for DatabaseConnectionTimeout. Default is 500. Minimum is 20. The number of seconds the Repository Agent waits to establish a connection to the repository database before timing out. Default is 30 seconds. Requires users to add check in comments. Select to track changes made to users, groups, privileges, and permissions. Logged to pmsecaudit.<repository_name>.log file in the Repository Server installation/bin directory. For more information, see Repository Security on page 125. The number of rows to fetch each time an array database operation, such as insert or fetch, is issued. Default is 100.

MaximumLocks LogFileName

Required Required

KeepAliveTimeout

Required

DatabasePoolSize

Required

DatabaseConnection Timeout CheckinCommentsRequired SecurityAuditTrail

Required

Optional Optional

DatabaseArrayOperationSize

Optional

8.

Click the Licenses tab. The first time you click the Licenses tab when you create a repository configuration, the Administration Console displays a messaging informing you that the license file is empty.

110

Chapter 4: Configuring the Repository

9.

Click OK to close the message dialog box.

Displays the license key repository type, either production or development. Displays the repository license file name. The file is located in the Repository Server installation directory. Add a license key to the repository license file.

Displays the license keys and their properties in the license file.

You can use the Licenses tab to update and view the repository license file. The license file name is repository_name-es.lic and is located in the Repository Server installation directory. However, when you use special characters in the repository name, the Administration Console converts them to an underscore and a letter. For more information about how the Administration Console creates repository file names, see Repository License Files on page 120.
10. 11.

Add the product license key in the License Key field and click Update. PowerCenter adds the product license key to the license file. If you have any option or connectivity license key, enter the key in the License Key field, and click Update. Do this for every option and connectivity license key. Consider the following rules and guidelines when you add license keys:

You must add the product license key to the license file before you enter any option or connectivity license key. PowerCenter only adds option and connectivity license keys to a license file when the license file contains a valid product license key. The option and connectivity license keys you add must match the repository type, either development or production, of the other license keys in the license file. You can also add license keys at any time.

When you enter a valid license key string, the Administration Console informs you it updated the license file successfully. The Administration Console does not add invalid or expired license keys or license keys that already exist in the license file.

Adding a Repository Configuration

111

For more information on licenses, see Working with PowerCenter Licenses on page 119.
12.

Click OK to save the configuration options. The Administration Console saves the repository configuration and adds it to the Repository Server configuration directory. If you select the Create all Database Tables for This Repository option on the General tab, the Repository Server begins building the repository in the database. When the Repository Server finishes creating the repository, the repository appears in the Console Tree under the Repositories node.
Tip: To change the repository code page after you create the repository, you can back it up

and restore it. When you restore a repository, you can specify any compatible code page.

112

Chapter 4: Configuring the Repository

Editing a Repository Configuration


You can edit a repository configuration at any time. To edit a repository configuration, select the repository in the Console Tree and choose Action-Properties. Edit and apply changes in the Properties dialog box. For details on the options in the Properties dialog box, see Adding a Repository Configuration on page 105. If you edit the configuration while the repository is running, the Repository Server updates changes to the configuration at an interval specified in the DynamicConfigRefreshInterval configuration option. The Repository Server can update the following configuration parameters while the repository is running:

MaximumConnections MaximumLocks ErrorSeverityLevel DatabasePoolSize

Changes to other repository configuration parameters take effect the next time you start the repository. Use the following steps if you want changes to the repository configuration to take effect immediately: 1. 2. 3. 4. 5. Stop the repository. Disable the repository to prevent other users or applications from starting it. Edit the repository configuration. Enable the repository to allow other users or applications to start it. Start the repository.

Note: You cannot change the tablespace name in the repository configuration after you enter

it. If you create a repository configuration with a wrong or an invalid tablespace name, remove the repository configuration and create a new one with the correct tablespace name.

Editing a Repository Configuration

113

Removing a Repository Configuration


You can use the Administration Console to remove a repository configuration. You might want to remove a repository configuration if you migrate the repository to a different Repository Server and no longer want to use the old configuration to run the repository. When you remove the repository configuration, the Administration Console removes the repository from the Console Tree, and deletes the configuration file from the Repository Server configuration directory. When you remove the repository configuration, you remove the configuration only. The tables and metadata remain in the database. For details on deleting the repository from the database, see Deleting a Repository on page 64.
To remove a repository configuration: 1.

Stop the repository. For details, see Stopping the Repository on page 72.

2.

Disable the repository to prevent other users or applications from starting it. For details, see Disabling the Repository on page 73.

3.

In the Console Tree, select the repository, and choose Action-Delete. The Deleting a Repository dialog box appears.

Remove the repository configuration.

4.

Choose to remove the repository from the server cache. This instructs the Repository Server to remove the repository configuration only.
Note: If you select Delete the Repository, the Repository Server deletes the repository

from the database. For more information, see Deleting a Repository on page 64.
5.

Click OK. The Repository Server removes the repository configuration. It does not remove the repository license file.

114

Chapter 4: Configuring the Repository

Exporting and Importing Repository Configurations


You can export a repository configuration to a .cfg file. You can import a repository configuration from a .cfg file. When the Repository Server imports a configuration file, it displays the imported repository configuration under the Repositories node in the Console Tree. You can export and import configurations when you want move the repository to a different Repository Server. If you want to export and import the repository registry information stored in the client registry, see Exporting/Importing Repository Connection Information on page 32.

Exporting a Repository Configuration


Use the following procedure to export a repository configuration to a file.
To export a repository configuration: 1.

In the Console Tree, select the repository from which you want to export the configuration information, and choose Action-All Tasks-Export Connection. The Export Repository Configuration to a File dialog box appears.

2.

Enter a name and location to store the export configuration file. By default, the Administration Console saves the file in the Repository Server configuration directory.

3.

Click OK.

Importing a Repository Configuration


Use the following procedure to import a repository configuration from a file.
To import a repository configuration: 1. 2. 3.

In the Console Tree, select the Repositories node. Choose Action-Import Repository Connection. Locate the repository configuration file you want to import, and click OK. The Repository Server imports the configuration information and creates a repository entry under the Repositories node in the Console Tree.

Exporting and Importing Repository Configurations

115

Creating or Promoting a Repository


You can create a repository in a database based on a repository configuration. Before you can create a repository, you must complete the following steps: 1. 2. Create and configure the database to contain the repository. Add or import a repository configuration.

Tip: You can optimize repository performance on IBM DB2 EEE databases when you store an

Informatica repository in a single-node tablespace. When setting up an IBM DB2 EEE database, the database administrator must define the database on a single node. For more information, see Creating a Repository in the Installation and Configuration Guide. You can create the repository on any supported database system. However, to protect your repository and improve performance, consider keeping it separate from overloaded machines. The machine running the repository database system must have a network connection to the machine running the Repository Server. The repository database name must be unique. If you create a repository on a database with an existing repository, the create operation fails. You must delete the existing repository in the target database before creating the new repository. You can promote an existing repository to a global repository. Once you promote a repository to a global repository, you cannot change it to a local or standalone repository. After promoting a repository, you can register local repositories to create a domain. If you have the Team-Based Development option, PowerCenter also allows you to enable version control for a new or existing repository. Once you enable version control for a repository you cannot disable it. You must add the Team-Based Development option license key to the repository license file before you can enable version control.
Note: If you want to create, restore, or upgrade a Sybase repository, set allow nulls by default to TRUE at the database level. Setting this option changes the default null type of the column to null in compliance with the SQL standard.

Creating a Repository
Before you create a repository, verify the repository database system meets the following requirements:

Windows or UNIX operating system 100-150 MB disk space 128 MB RAM Database user name and password. This login must have database permissions to create the repository. In the new repository, this login becomes a default user with full privileges in the repository. The password must be in 7-bit ASCII.

When you create a repository, you must have the following information available:

116

Chapter 4: Configuring the Repository

Code page. Contains the character set of the data in the repository. Once specified, you cannot change the code page. The repository code page must be compatible with the PowerCenter Server and Client code pages. The Administration Console allows you to select from a list of code pages compatible with the PowerCenter Client code page. For more information, see Globalization Overview in the Installation and Configuration Guide. License keys. Verify the repository license file contains a valid product license key and any connectivity and option license key. For more information on licenses, see Working with PowerCenter Licenses on page 119.

Note: You can create a repository after you add a repository configuration. For more

information, see Adding a Repository Configuration on page 105.


To create a repository: 1. 2.

In the Console Tree, select a repository configuration under the Repositories node. Choose Action-Create. The Repository Server begins building the repository. You can see the progress in the Activity Log.
Note: If a repository already exists in the database, the Repository Server does not create

the repository. You must delete the existing repository in the target database before creating the new repository. When the Repository Server finishes creating the repository, it starts the Repository Agent. After creating a repository, you must create at least one folder before you can create objects in the Designer or Workflow Manager. For details, see Creating a Folder on page 171.
Tip: To change the repository code page after you create the repository, you can back up and

restore it. When you restore a repository, you can specify a compatible code page.

Promoting a PowerCenter Repository


After you create a local repository, you can promote it to a global repository. However, once you create a global repository, you cannot change it to a local repository. For details on global and local repositories, see PowerCenter Domains on page 13. When registering local repositories with a global repository, the global and local repository code pages must be compatible. Before promoting a repository to a global repository, make sure the repository code page is compatible with each local repository you want to register. You must start the repository before you can promote it to a global repository.
To promote a repository: 1. 2.

In the Console Tree, select the repository you want to promote. Choose Action-Properties.

Creating or Promoting a Repository

117

3.

In the Properties dialog box, select the Global Data Repository option. The Administrator Console displays the Login Information dialog box.

4.

Enter your repository user name and password, and click OK. The Repository Server promotes the repository to a global repository.

Enabling Version Control


After you create a repository, you can enable it for version control. Version control allows you to maintain multiple versions of an object, control development on the object, and track changes. You can also use labels, queries, and deployment groups to associate and copy specific groups of objects from one repository to another. When you enable version control for a repository, the repository assigns all versioned objects version number 1 and each object has an active status. For more information on working with versioned objects and versioned object properties, see Working with Versioned Objects on page 199. For more information on using labels, queries, and deployment groups, see Grouping Versioned Objects on page 217. You must start the repository before you can enable version control. Once you enable version control for a repository, you cannot disable it.
Note: To enable a repository for version control, you must have the Team-Based Development

option license key in the repository license file.


To enable version control for a repository: 1. 2. 3.

In the Console Tree, select the repository for which you want to enable version control. Choose Action-Properties. In the Properties dialog box, select the Supports Version Control option. The Administrator Console displays the Login Information dialog box.

4.

Enter your repository user name and password and click OK. The Repository Server enables version control for the repository and stops and restarts the repository for the changes to take effect.

118

Chapter 4: Configuring the Repository

Working with PowerCenter Licenses


Informatica provides license keys for each PowerCenter Server and each repository. PowerCenter provides different license key types. PowerCenter stores the license keys in a license file, either a PowerCenter Server license file or a repository license file. PowerCenter provides license keys based on the type of repository you have, development or production. The repository type applies to all license keys and license files. You enter a product license key when you install the PowerCenter Server and Repository Server. The installation program creates a license file in the PowerCenter Server installation directory to store the product license key you enter. You must update the PowerCenter Server license file with option and connectivity license keys after you install the product. When you create or upgrade a repository, you must add the product, option, and connectivity license keys to the license file. For more information about updating a license file, see Managing License Files on page 122.

License Key Types


PowerCenter provides the following types of license keys:

Product. This license key allows you to start the PowerCenter Server and the Repository Server and create repositories. You must have this license key when you install the PowerCenter Server and Repository Server. Connectivity. These license keys allow you to access sources and targets. They also allow you to access PowerCenter Connect sources, such as PowerCenter Connect for SAP R/3. A license file can contain multiple connectivity license keys. Option. These license keys allow you to access options, such as Team-Based Development, Partitioning, and Server Grid. A license file can contain multiple option license keys.

When you buy multiple connectivity license keys at the same time, Informatica gives you one license key string that contains information for multiple connectivity licenses. Also, when you buy multiple option license keys at the same time, Informatica gives you one license key string that contains information for multiple connectivity licenses. However, Informatica gives one product license key for each product you purchase.
Note: You can update license files with option and connectivity license keys at any time.

License Key Repository Types


PowerCenter provides license keys based on the type of repository you have, development or production:

Development. Use development license keys in a development environment. When you purchase development license keys, you can use the set of license keys for all repositories and PowerCenter Servers in your development environment.
Working with PowerCenter Licenses 119

Production. Use production license keys in a production environment. When you purchase production license keys, Informatica gives you a set of license keys for each repository you buy. Use one set of license keys for one repository and one PowerCenter Server only.

You cannot mix development and production license keys in a license file. When you mix development and production license keys, the PowerCenter Server or repository fail to start.
Note: Do not update a license file with a product key of a different repository type. For

example, do not update a license file containing development license keys with a production product license key. When you do this, the Administration Console ignores all existing license keys and adds the product license key you specify. You lose the ability to use those option and connectivity license keys.

License File Types


PowerCenter uses the following types of license files:

Repository license file. The license file necessary to create, run, copy, or restore a repository. PowerCenter Server license file. The license file necessary to run the PowerCenter Server.

Note: You do not need a license file to start a PowerCenter Client tool, such as the Designer.

Repository License Files


PowerCenter creates a repository license file for every repository configuration you create in the Administration Console. The license file is repository_name-es.lic, and it is located in the Repository Server installation directory. You cannot change the repository license file name. However, when you use special characters in the repository name, the Administration Console converts them to an underscore and a letter. Table 4-5 describes how the Administration Console converts special characters in repository license file names:
Table 4-5. Converting Special Characters in Repository License File Names Special Character in Repository Name _ . + = ~ ` Characters Used in Repository License File Name _0 _A _B _C _D _E _F

120

Chapter 4: Configuring the Repository

Table 4-5. Converting Special Characters in Repository License File Names Special Character in Repository Name ! % ^ & * ( ) [ ] { } ' " ; : / ? , < > \ | \t (tab) \r (carriage return) \n (new line) Characters Used in Repository License File Name _G _H _I _J _K _L _M _N _O _P _Q _R _S _T _U _V _W _X _Y _Z _a _b _c _d _e

You must add a valid product license key to the repository license file when you create the repository configuration. If you have option or connectivity license keys, add them to the license file after you add the product license key. For more information on adding license keys to the repository license file, see Adding a Repository Configuration on page 105. When you start a repository, the Repository Server verifies that the license file exists in the Repository Server installation directory. If the Repository Server cannot find the license file, or if the file contains an invalid or expired product license key, it fails to start the repository.
Working with PowerCenter Licenses 121

PowerCenter Server License Files


When you install the PowerCenter Server, the installation program prompts you for the product license key. It creates a license file, pm.lic, in the PowerCenter Server installation directory. You can configure the PowerCenter Server to use a different license file. However, any file you specify must exist in the PowerCenter Server installation directory for the PowerCenter Server to start. You cannot start the PowerCenter Server if the specified license file does not exist, or if the file contains an invalid or expired product license key. The license keys in the PowerCenter Server license file must match the license keys in the repository license file when the PowerCenter Server runs workflows in the repository. If they do not match, the session or workflow might fail. For example, you create multiple partitions in a session. You include the session in a workflow and assign the workflow to a PowerCenter Server that does not have the Partitioning option license key. When you run the workflow, the session fails. To verify the session completes, assign the workflow to a PowerCenter Server that has the Partitioning option license key. Table 4-6 describes the compatibility requirements when a PowerCenter Server runs a workflow:
Table 4-6. License File Compatibility Requirements When a Workflow Contains this Repository Object... A session configured to use multiple partitions. Workflow configured to run on a server grid. Source or target definition using a relational database connection. Application Source Qualifier transformation. Source definition configured to extract data from web services. Parse or Address transformation available with the Data Cleansing option. The PowerCenter Server License File Must Contain... Partitioning option license key. Server grid option license key. The connectivity license key for that relational database. The connectivity license key for the particular PowerCenter Connect product. PowerCenter Connect for Web Services connectivity license key. Data Cleansing option license key.

Managing License Files


You manage license files using different PowerCenter tools, depending on the license file type and the operating system. You can manage license files using the following PowerCenter tools:

Administration Console. You can update and view repository license files for repositories managed by Repository Servers on UNIX and Windows. For more information about using the Administration Console to manage license files, see Adding a Repository Configuration on page 105.

122

Chapter 4: Configuring the Repository

pmlic. You can manage all license file types. To manage a PowerCenter Server license file for a PowerCenter Server on UNIX, you must use pmlic. For more information about using pmlic, see Installing and Configuring the PowerCenter Server on Windows in the Installation and Configuration Guide. PowerCenter Server setup. You can manage license files for a PowerCenter Server on Windows. For information about using the PowerCenter Server Setup to manage PowerCenter Server license files, see Installing and Configuring the PowerCenter Server on Windows in the Installation and Configuration Guide.

Note: Only use the PowerCenter tools to edit a license file. Do not modify license files

manually.

Rules and Guidelines


Use the following rules and guidelines when you work with PowerCenter license keys and license files:

Enter the product license key when you install the PowerCenter Server or Repository Server. Enter the product license key on the Licenses tab of the repository configuration when you create a new repository configuration. Then add option and connectivity license keys. Update PowerCenter Server license file with connectivity and option licenses after you install the PowerCenter Server. Verify that the PowerCenter Server that runs workflows in a repository uses a license file with the same license keys that exist in the repository license file. For details, see PowerCenter Server License Files on page 122. Use development license keys in a development environment. You can use a development license key for all PowerCenter Servers and repositories in your development environment. Use production license keys in a production environment. You must purchase a production license key for every repository and PowerCenter Server in your production environment. All license keys in a license file must be of the same repository type, either production or development. Use the PowerCenter tools to modify license files. Do not edit them manually. Specify the PowerCenter Server license file name in the PowerCenter Server setup. That license file must exist in the PowerCenter Server installation directory for the PowerCenter Server to start. The repository license file specified in the repository configuration must exist in the Repository Server installation directory for the repository to start.

Working with PowerCenter Licenses

123

124

Chapter 4: Configuring the Repository

Chapter 5

Repository Security
This chapter includes the following topics:

Overview, 126 User Groups, 127 User Authentication, 131 Creating and Editing Repository Users, 134 Repository Privileges, 142 Permissions, 148 Managing User Connections, 151 Creating an Audit Trail, 153 Repository Locks, 154 Handling Locks, 157 Tips, 160 Troubleshooting, 163

125

Overview
PowerCenter offers several layers of security that you can customize for your repository. You can plan and implement security using these features:

User groups. Repository groups for user names. You can assign users to multiple groups. You can also assign privileges to groups. Every user in a group receives the privileges for that group. Repository users. User name used to access the repository. You can assign privileges to individual user names. Each user must have a unique repository user name to use folder and object locking properly. You must assign each user to at least one user group. You can use an external directory service to manage your user names and passwords. Repository privileges. The ability to perform actions within the repository and to start and stop the PowerCenter Server. You assign repository privileges to users and groups. Even if you have the repository privilege to perform certain tasks in the repository, you may require permission to perform the task within a given folder. Folder permissions. The ability to perform tasks within an individual folder. You can grant permissions on three levels: to the folder owner, a group to which the owner belongs, and the rest of the repository users. You can perform some tasks with folder permissions only. Most tasks also require the appropriate repository privileges. Versioning objects permissions. The ability to use versioning objects for change management. Versioning objects include labels, deployment groups, and queries. You can grant versioning object permissions to users and groups. User connections. You can use the Repository Manager to monitor user connections to the repository. You can end connections when necessary, but to avoid repository inconsistencies, you need to determine if the user has an active connection before closing the connection. Locking. The repository locks repository objects and folders by user. The repository creates five kinds of locks depending on your task: in-use, write-intent, execute, fetch, and save. The Repository Server locks and unlocks all objects in the repository. You can manually release a lock on an object by ending the connection of the user holding the lock. To avoid repository inconsistencies, you need to determine if the owner of the lock is using the object.

Informatica recommends taking time to plan your overall strategy so that you can implement appropriate security measures to protect your repository.

126

Chapter 5: Repository Security

User Groups
You create custom user groups to manage users and repository privileges efficiently. After creating a new user group, you assign that group a set of privileges. Each repository user must be assigned to at least one user group. When you assign a user to a group, the user:

Receives all group privileges. Inherits any change to group privileges. Loses and gains privileges if you change the user group membership.

You can also assign users to multiple groups. This grants the user the privileges of each group.
Note: When you revoke a privilege from a group, you revoke the privilege from each user in

the group. However, if a user has been granted the privilege individually (as with default privileges), you must revoke the privilege individually to restrict that user. For details, see Repository Privileges on page 142. Use the Repository Manager to create and edit repository user groups. For information on the privileges and permissions to administer repository user groups see Repository Manager Tasks on page 516.

Default Groups
When you create a repository, the Repository Manager creates two repository user groups. These two groups exist so you can immediately create users and begin developing repository objects. However, you can also create custom groups and assign specific privileges and permissions to those groups. There are two default repository user groups:

Administrators Public

You cannot delete these groups from the repository or change the default privileges. For a list of default privileges, see Default Privileges on page 143. The Repository Manager creates two default users in the Administrators group:

Administrator The database user name used to create the repository

You cannot delete these users from the repository or remove them from the Administrators group. The Repository Manager does not create any default user for the Public group.

User Groups

127

User Groups and Folder Permissions


When you create or edit a folder, you can define Owners Group permissions for the folder. You can only grant Owners Group permissions to one of the groups to which the folder owner belongs. If the owner belongs to more than one group, you must select one of those listed groups to receive Owners Group permissions. For example, if the owner of a folder belongs to only one group, Developer, the Developer group receives Owners Group permissions on the folder. If you assign read and write folder permissions to Owners Group, then every user in the Developer group has read and write permission for the folder. If the owner of the folder belongs to both the Developer group and the Production group, you must choose one of those groups to receive Owners Group permissions. If you select the Production group, the Production group receives read and write permissions on the folder.

Creating a User Group


Perform the following steps to create a user group.
To create a user group: 1. 2. 3.

In the Repository Manager, connect to a repository. Choose Security-Manage Users and Privileges. Select the Groups tab.

128

Chapter 5: Repository Security

4.

Click Add.

5. 6.

Enter the name of the group. Click OK. The new group now appears in the list of all groups defined for the repository.

7.

Click OK to return to the Repository Manager.

You can now assign privileges and users to the group.

Editing a User Group


You can edit the description of an existing user group at any time. However, you cannot edit the default groups, Public and Administrators.
To edit a user group: 1. 2. 3. 4.

In the Repository Manager, connect to a repository. Choose Security-Manage Users and Privileges. Select a group in the Groups tab and click Edit. Edit the description, and click OK. You can enter up to 2,000 characters. Only the first 256 characters display in the Manage Users and Privileges window.

5.

Click OK again to save your changes.

Deleting a User Group


You can delete any user group in the repository except the default repository user groups, Public and Administrators.
Note: If you delete a group that contains users, the Repository Manager reassigns those users to

the Public group.


To delete a user group: 1. 2. 3.

In the Repository Manager, connect to a repository. Choose Security-Manage Users and Privileges. Select the group in the Groups tab that you want to delete.
User Groups 129

4.

Click Remove. A message appears stating all users in the group will be assigned to the Public group.

5. 6.

Click OK. Click OK to save your changes.

130

Chapter 5: Repository Security

User Authentication
Each repository user needs a user name and password to access the repository. PowerCenter uses a security module to verify user log in. The security module supports the following types of user authentication:

PowerCenter default authentication Lightweight Directory Access Protocol (LDAP) authentication

PowerCenter default authentication enables you to create users and maintain passwords in the repository. The security module verifies users against these user names and passwords. LDAP defines a network protocol for accessing a directory service. If you use LDAP to authenticate users, the repository security module passes a user login to the external directory for authentication. To accomplish this, the repository maintains an association between repository user names and external login names. The repository administrator maintains the user name-login associations, but does not maintain user passwords in the repository. When you create a repository, the repository creates two default users:

Administrator. The default password for Administrator is Administrator. Database user. The database user name and password used when you created the repository.

These users are in the Administrators user group, with full privileges within the repository. You cannot remove them from the Administrators group or delete them from the repository. If you use an external directory service, you must ensure that the Administrator has a valid external login name when you register the authentication module with the repository. For more information see Registering a Plug-in (Registerplugin) on page 482.
Tip: If you are using default authentication, change the Administrator password immediately

after creating the repository to protect your metadata. For information on the privileges and permissions to administer repository users, see Repository Manager Tasks on page 516.

Using Default Authentication


If you use default authentication, repository users can have one of the following statuses:

Enabled. The user name is valid for accessing the repository. New users receive the enabled status. Disabled. The user cannot access the repository. A user receives this status if the repository administrator disables the user.

Using LDAP Authentication


If you use LDAP authentication for repository users, the repository maintains an association between repository user names and external login names. When you create a new user, you
User Authentication 131

can select the login name from the external directory, or if you know the directory login name, you can use the pmrep Registeruser command to create the user name and associated login name. For more information about Registeruser, see Registering a User (Registeruser) on page 457. For example, you might deploy a repository to a new server. A repository user called JSmith might have a directory login of JohnS on the new server. You must associate JSmith with the directory login JohnS in order for him to access the repository. For more information on associating a user name to a login name, see Enabling a User on page 139. When you view users in the repository, you can see the repository user names and the directory login names. Figure 5-1 shows the repository user names and associated login names:
Figure 5-1. Repository User Names and External Login Names

User Status Login Name Repository User Name

The user status indicates if a user can access the repository. Users can have one of the following statuses:

Enabled. The user name is valid for accessing the repository. When you add new users they receive the enabled status. Disabled. Explicitly disabled from accessing the repository by the Administrator. No login assigned. The repository user name is not linked to an external login name. The user cannot access the repository. This status occurs when you change from the default authentication to an external directory service. The Repository Administrator must explicitly enable the user by linking the user name to the login name.

132

Chapter 5: Repository Security

Login suggested. The user name is in the repository, but is not linked to a login name (as above) in the external directory. This status is similar to no login assigned except that the security module finds a possible matching login name that you can enable. Account removed. The user name is no longer on the external directory, and the user cannot access the repository. For example, if your login changes on the external directory, the security module cannot find the login name. The status changes to account removed. The Repository Administrator must explicitly enable you by linking your repository user name to a new login name in the external directory. The system administrator enables or disables it. The login changes on the LDAP directory. The user authentication mode changes between LDAP and default authentication.

User status changes for the following reasons:


Switching Between Default and External User Authentication


If you switch from default authentication to external directory authentication, your existing repository users receive the no login assigned or login suggested status. You must enable these users by associating their repository user names with valid external directory login names. If you switch from using external directory authentication to default authentication, you can retain the user name-login associations in the repository, but user authentication does not use them. You do not see the associations in the Repository Manager. However, the users you add under the external directory service have the disabled status. When you retain the repository user name-login associations you can reuse the associations if you register another external directory service for authentication. If a login is not valid on the new external directory, the status for the associated user name becomes no login assigned.

User Authentication

133

Creating and Editing Repository Users


In the Repository Manager, you create a different user name for each user accessing the repository. Each user belongs to at least one user group. When you create a user, the Repository Manager assigns the user to the Public group. To change the group, you must first add the user to another group, then remove the user from the Public group.
Tip: Before creating repository users, create user groups, and assign the appropriate privileges

to those groups. For details on groups, see User Groups on page 127. For information on the privileges and permissions to create a repository user, see Repository Manager Tasks on page 516.

Creating a User Under Default Authentication


If you are using default user authentication, you enter user names in the repository and assign a password for each user name you create.
To create a user under default authentication: 1. 2.

In the Repository Manager, connect to a repository. Choose Security-Manage Users and Privileges. The Manage Users and Privileges dialog box displays.

3.

Click Add. The New User dialog box displays.

134

Chapter 5: Repository Security

4.

Enter a user name and password between 1 and 75 characters long, with no leading or trailing spaces. You can use the optional Description and Contact Info fields to further identify the user.

5.

Click Group Memberships.

The group to which the user belongs appears in the Member Of list. The remaining groups appear in the Not Member Of list.
6.

To add the user to a group, select the group in the Not Member list, and click Add.

Creating and Editing Repository Users

135

The group appears in the Member list.

7.

To remove the user from a group, select the group in the Member list, and click Remove.
Note: You cannot remove a user from a group when the user belongs to only one group.

8.

Click OK to return to the Repository Manager.

Editing a User Password


If you are using default authentication, you can edit your user password. For information on the privileges and permissions to edit your own password see Repository Manager Tasks on page 516.
To edit a password: 1. 2.

In the Repository Manager, connect to the repository. Choose Security-Change Current Password.

3. 4. 5.

Enter the old password. Enter the new password twice to confirm it. Click OK.

136

Chapter 5: Repository Security

Creating a Repository User Under an External Directory Service


If you are using an external directory service for maintaining repository users, you add repository users from a list of login names from the external directory. You do not create repository user passwords.
To add users with an external directory service: 1. 2. 3.

In the Repository Manager, connect to a repository. Choose Security-Manage Users and Privileges. Click Add. The Add Users dialog box displays a list of names from the external directory service.

4.

Select a login name from the external directory list and click Add.

The login name displays at the bottom of the screen. If you select more than one name, the names display at the bottom separated by semi-colons.
Note: You can type a name at the bottom of the screen, but it must match a valid login

name in the directory. To check the spelling, click Check Names.

Creating and Editing Repository Users

137

5.

If any of the names you type in do not match a valid directory service login, you must correct the name or remove it from your selections on the Invalid Name dialog box. Click OK.

6.

Click OK on the Add Names dialog box to add your selections to the user name-login name association. The Manage Users and Privileges screen displays the user name, login name and enabled status.

Refer to the next section for information on adding a user to a group, or editing a user description.

Editing a User
You can edit users to maintain their group memberships and change their login status. If you use an external directory service you can change the user name-login association, so the repository user name maps to a new login name. If you use default authentication, you can change a user password. You can edit users with the following exceptions:

You cannot edit passwords if you use an external directory for security. You cannot change group memberships for the Administrator user. You cannot edit any property for the Database user except contact information. You cannot change a user name. If a user name becomes obsolete, you can remove it from the repository.

To edit a user: 1. 2. 3.

In the Repository Manager, connect to a repository. Choose Security-Manage Users and Privileges. Highlight a user and click Edit. The Edit User dialog box displays. If you use default authentication, you can change the password.

4.

To change the password, enter the new password twice. The password can be between 1 and 75 characters long, with no leading or trailing spaces. Passwords must be in 7-bit ASCII only.

138

Chapter 5: Repository Security

5. 6.

To edit the description, enter up to 2,000 characters. The first 256 characters display in the Manage Users window. To edit group memberships, click Group Memberships. If the user belongs to only one group, you must add the user to another group before removing the user from the original group.

7.

To add a group membership, select the group in the Not Member Of list, and click Add. The group appears in the Member Of list.

8.

To remove the user from a group, select the group in the Member Of list, and click Remove. The selected group appears in the Not Member Of list.

9. 10.

To save your changes, click OK. Click OK again to return to the Repository Manager.

Enabling a User
A user with a status other than enabled cannot access the repository. You must explicitly enable the user. When you enable a user and you are using an external directory service, you link their repository user name with their directory login name. When you enable a user under default authentication, only the status changes.
To enable a user: 1. 2. 3.

Choose Security-Manage Users and Privileges. The Manage Users and Privileges dialog box displays. Select the users you want to enable. You can select multiple users at a time. Click Enable. One of the following actions occurs for each selected user:

The user status changes to enabled. This occurs if you use default authentication, or if you are enabling a user that has a suggested login name. The Select Login Name dialog box displays. This dialog box displays a list of valid login names from the external directory service. It displays if you are using an external directory service.

Creating and Editing Repository Users

139

If a user has a suggested login name, you enable the association immediately when you click Enable. To associate the user name with a different login name, you can disable and then enable the user. You can also use the pmrep Edituser command. For more information about Edituser, see Editing a User (Edituser) on page 454.

4.

If you use the Select Login Name dialog box, select a login name from the list and click OK. The Manage Users and Privileges dialog box displays the login name and the associated repository user name. The user status becomes enabled. If you enable more than one user, this dialog box displays again for the next user.

Disabling a User
When you disable a repository user you change the user status from enabled to disabled. Disabled users cannot access the repository. When you disable a user, you retain the user name in the repository, so you can quickly enable the user at a later time. You can disable users when you use default security or external user authentication.
To disable a repository user: 1. 2. 3. 4.

In the Repository Manager, connect to a repository. Choose Security-Manage Users and Privileges. Select the users you want to disable. You can select multiple users at a time. Click Disable. The user status changes to disabled.

Note: You can disable users from the command line. For more information, see Editing a User

(Edituser) on page 454.

140

Chapter 5: Repository Security

Removing a Repository User


When you remove a user from the repository that is using an external directory service, you remove the user name in the user name login association. If you use default authentication, you remove the user name from the repository.
To remove a repository user: 1. 2. 3. 4.

In the Repository Manager, connect to a repository. Choose Security-Manage Users and Privileges. Select a user and click Remove. Click Yes to confirm that you want to remove the user.

Creating and Editing Repository Users

141

Repository Privileges
The Repository Manager grants a default set of privileges to each new user and group for working within the repository. You can add or remove privileges from any user or group except:

Administrators and Public (the default read-only repository groups) Administrator and the database user who created the repository (the users automatically created in the Administrators group)

Ordinarily, you grant privileges to groups. However, you can also grant privileges to individual users. A privilege granted to an individual user remains with the user until you remove it. For example, if you move a user from a group that has the Administer Repository privilege into a group that does not, the user loses the Administer Repository privilege. However, if you grant the Administer Repository privilege to the user, the user retains this privilege regardless of changes in group membership. You can perform some tasks in the repository with only repository privileges, such as stopping the PowerCenter Server or creating user groups. Folder related tasks, however, generally require one or more folder permissions in addition to the related repository privilege to perform the task. Versioning objects and connection objects have separate read, write, and execute permissions. For more information on versioning object permissions, see Configuring Versioning Object Permissions on page 149. The Use Repository Manager privilege enables you to use management functions such as mass validating or applying labels. Users with only the Use Designer or Use Workflow Manager privilege can do many of the tasks that Use Repository Manager allows, but only within the Designer or Workflow Manager. For tighter security, grant the Super User privilege to an individual user, not an entire group. This limits the number of users with the Super User privilege, and ensures that the user retains the privilege even if you remove the user from a group. For a list of common repository tasks and the permissions and privileges necessary to perform those tasks, see Permissions and Privileges by Task on page 509.

142

Chapter 5: Repository Security

Default Privileges
The Repository Manager grants each new user and new group the default privileges. Table 5-1 lists the default repository privileges:
Table 5-1. Default Repository Privileges Default Privilege Browse Repository Permission n/a Permission Object n/a Grants You the Ability to - Add and remove reports. - Change your user password. - Connect to the repository using the Repository Manager. - Import, export, or remove the registry. - Search by keywords. - Browse repository. - Copy a folder. You must also have Administer Repository or Super User privilege in the target repository. - Edit folder properties for folders you own. - Freeze folders you own. - Unlock objects and folders locked by your user name. - View dependencies. - Run query. - Create or edit query. - Configure connection information. - Connect to the repository using the Designer. - Perform Use Repository Manager tasks in the Designer. - Copy objects from the folder. - Create shortcuts to objects in the folder. - Export objects. - View objects in the folder. - Copy objects into the folder. - Create or edit metadata. - Create shortcuts from shared folders. - Import objects. - Remove label references. - Delete from deployment group.

Read

Folder

Read/ Execute Read/Write Use Designer n/a

Query Query n/a

Read

Folder

Read/Write

Folder

Use Repository Manager*

n/a Write

n/a Deployment group

Repository Privileges

143

Table 5-1. Default Repository Privileges Default Privilege Permission Write Permission Object Folder Grants You the Ability to - Change object version comments if not the owner. - Change status of the object. - Check in. - Check out/undo check-out. - Delete objects from folder. - Mass validation (Needs write permission if options selected.) - Recover after delete. - Export objects. - Add to deployment group. - Copy objects. - Import objects. - Apply label.

Read Read Write Read Write Read Write/ Execute Use Workflow Manager n/a

Folder Folder Deployment group Original folders Target folder Folder Label n/a

- Connect to the repository using the Workflow Manager. - Create database, FTP, and external loader connections in the Workflow Manager. - Run the Workflow Monitor. - Perform Use Repository Manager tasks in the Workflow Manager. - Edit database, FTP, and external loader connections in the Workflow Manager. - Abort workflow. - Restart workflow. - Resume workflow. - Stop workflow. - Export objects. - View session details and session performance details. - View sessions. - View tasks. - View workflows. - View session log. - Schedule or unschedule workflows. - Start workflows immediately. - Create and edit workflows and tasks. - Import objects. - Validate workflows and tasks.

Read/Write Execute

Connection Folder

Read

Folder

Read/ Execute Read/ Execute Read/Write

Folder Connection Folder

144

Chapter 5: Repository Security

Table 5-1. Default Repository Privileges Default Privilege Permission Read/Write Read Permission Object Folder Connection Grants You the Ability to - Create and edit sessions.

* The Use Designer and Use Workflow Manager privileges enable you to do many of the tasks that you can do in the Repository Manager with the Use Repository Manager privilege.

Extended Privileges
In addition to the default privileges listed above, the Repository Manager provides extended privileges that you can assign to users and groups. The Repository Manager grants extended privileges to the Administrator group by default. Table 5-2 lists the extended repository privileges:
Table 5-2. Extended Repository Privileges Extended Privilege Administer Repository Permission n/a Permission Object n/a Grants You the Ability to - Create label. - Create deployment group. - Create, upgrade, backup, delete, and restore the repository. - Manage connection object permissions. - Manage passwords, users, groups, and privileges. - Start, stop, enable, disable, and check the status of the repository. - Edit folder properties. - Freeze folder. - Copy a folder within the same repository. - Copy a folder into a different repository when you have Administer Repository privilege on the destination repository. - Create and edit deployment group. - Administer deployment group permissions. - Copy a folder into the repository. - Edit label. - Administer label permissions. - Copy deployment group.

Read Read

n/a Connection

Read/Write Read/Write Read/Write Read Read/ Execute Write

Deployment group Folder Label Original folder Deployment group Folder

- Check in or undo check out for other users. - Purge a version.

Repository Privileges

145

Table 5-2. Extended Repository Privileges Extended Privilege Administer Server Permission n/a Permission Object n/a Grants You the Ability to - Register PowerCenter Servers with the repository. - Edit server variable directories. - Start the PowerCenter Server. The user entered in the PowerCenter Server setup must have this repository privilege. - Stop the PowerCenter Server through the Workflow Manager. - Stop the PowerCenter Server using the pmcmd program. - Perform all tasks, across all folders in the repository. - Manage connection object permissions. - Manage versioning object permissions. - Mass updates. - Connect to the PowerCenter Server. - Schedule and unschedule workflows. - View the session log. - View session details and performance details. - Abort workflow. - Restart workflow. - Resume workflow. - Stop workflow. - Start workflows immediately. - Use pmcmd to start workflows in folders for which you have execute permission.

Super User

n/a

n/a

Workflow Operator

n/a Read

n/a Folder

Execute

Folder

Read Execute Execute Execute

Folder Connection Folder Connection

The default privileges allow you to perform basic tasks in the Designer, Repository Manager, Workflow Manager, and Workflow Monitor. Extended privileges allow you to perform more tasks and expand the access you have to repository objects. Informatica recommends that you reserve extended privileges for individual users and grant default privileges to groups.

Assigning and Revoking a Privilege


You can assign and revoke repository privileges to a user or group. When you change privileges for a group, you change the privileges granted to every user in the group. However, users retain individually granted privileges until you revoke them individually. For information on the privileges and permissions to assign or revoke privileges, see Repository Manager Tasks on page 516.
Note: You cannot change the privileges of the default user groups or the default repository

users.

146

Chapter 5: Repository Security

To assign a privilege to a user or group: 1. 2. 3. 4.

In the Repository Manager, connect to a repository. Choose Security-Manage Users and Privileges. Click Privileges. Select the privileges you want to assign to each user or group.

5.

Click OK to save your changes.

Note: If you assign Super User privileges to a user, you cannot change the other privileges for

them. Super User privilege enables all privileges for that user.
To revoke a privilege from a user or group: 1. 2. 3. 4.

In the Repository Manager, connect to a repository. Choose Security-Manage Users and Privileges. Clear the privileges you want to revoke. Click OK to save your changes.

Repository Privileges

147

Permissions
You can maintain user and group permissions for access to folders and versioning objects. Versioning objects are labels, deployment groups, queries, and connections. For details on configuring connection object permissions, see the Workflow Administration Guide. You can maintain the following permissions for each type of object:

Read permission. Allows you to view the folders and objects. Write permission. Allows you to create or edit objects in a folder, maintain queries or labels, add or delete objects from deployment groups. Execute permission. Allows you to run or schedule a workflow in the folder, run queries, apply labels, or copy deployment groups.

To perform a task you must have the privilege to perform the task in the repository as well as the applicable permission. For example, you might have the Use Designer privilege, which allows you to connect to the repository through the Designer, but you must also have folder read and write permission to open and edit a mapping in a folder. If you do not have both the privilege and permissions, you cannot open or edit mappings in that folder.

Configuring Folder Permissions


Certain privileges require fewer folder permissions to perform a given task, while the Super User privilege requires no folder permissions. For example, if you have the default Use Workflow Manager privilege, you must have both read and execute permission to start a workflow in a folder. If you have the Workflow Operator privilege, you can start a workflow if you have only read permission. If you have the Super User privilege, you do not require any permissions. You can grant folder permissions on three levels of security. Table 5-3 lists folder security levels:
Table 5-3. Folder Object Security Levels Level Owner Owners Group Includes The owner of the folder, as listed in the owner menu. Each member of the group to which the owner belongs, including the owner. If the owner belongs to more than one group, you must select one of those groups in the folder dialog box. This becomes the Owners Group. All groups and users in the repository.

Repository

Each permission level includes the members of the level above it. For example, if you grant only read permission to a folder Owner, and grant read and write permission to the Owners Group, the folder owner has both read and write permission on the folder.

148

Chapter 5: Repository Security

You can edit folder permissions and properties at any time. For information on the privileges and permissions to edit folder properties, see Repository Manager Tasks on page 516.
To edit folder permissions and properties: 1. 2.

In the Repository Manager, connect to a repository. Select the folder in the Navigator. If the folder does not appear in the Navigator, you do not have read permission for the folder.

3. 4. 5. 6. 7.

Choose Folder-Edit. If necessary, select a new owner from the Owner menu. If the owner belongs to more than one group, select a group from the Group menu. Edit the folder permissions as necessary. Click OK to save your changes.

Configuring Versioning Object Permissions


To configure and manage permissions to versioning objects you must have the Super User privilege or be the owner of the versioning object. The object owner is the user who creates the object. You cannot assign permissions to a private query. To enable others to use it, change the query type to public. When you assign privileges to versioning objects you can assign them on two levels. Table 5-4 lists versioning object security levels:
Table 5-4. Versioning Object Security Levels Level User Group User Includes Repository group of user names. Every user in a group receives the privileges for that group. A repository user name for an individual.

Each versioning object has a permissions list. The permissions list contains users or groups and their permissions for the object. When you add users or groups, you can assign them permissions. You also can change the object owner. When you configure versioning object permissions, use the following rules and guidelines:

The object owner receives all permissions by default. Users that belong to the Administrators group receive all permissions by default. World users receive no permissions by default. Users with Super User privilege receive all permissions by default.
Permissions 149

For information on tasks you can perform with user privileges, folder permissions, and versioning object permissions, see Repository Privileges on page 142. To configure permissions for versioning objects, select a versioning object in a versioning objects browser and click Permissions.

Click to define permissions.

The Permissions dialog box displays.

Change owner. Change group. Add a new group or user. You cannot change permissions of users with Super User privilege and users belonging to the Administrators group.

150

Chapter 5: Repository Security

Managing User Connections


The Repository Manager allows you to view the connection details for users connected to the repository. The Repository Manager also allows you to terminate user connections.

Viewing User Connections


Use the Show User Connections menu command in the Repository Manager to show connection details for users and applications connected to the repository.
To view user connection details: 1. 2.

Launch the Repository Manager and connect to the repository. Choose Edit-Show User Connections. The Repository Connections dialog box appears.

Table 5-5 describes the properties in the Repository Connections dialog box:
Table 5-5. Repository Connection Properties Property User Connection ID Application Hostname Host Address Login Time Last Active Time Description The user name of the user associated with the connection. The identification number assigned to the repository connection. The repository client application associated with the connection. The name of the machine running the application. The TCP/IP address of the machine associated with the connection. The time the user connected to the repository. The time of the last metadata transaction between the repository client application and the repository.

3.

Click Close to return to the Repository Manager.

Managing User Connections

151

Handling User Connections


Sometimes, the Repository Server does not disconnect the user from the repository. The repository has a residual connection if the connection remains in the User Connections dialog box when the repository client application or machine is actually shut down. This can happen in the following situations:

Network problems occur. A PowerCenter Client or PowerCenter Server shuts down improperly.

A residual repository connection also retains all repository locks associated with the connection. Use the Repository Manager to terminate residual user connections and release residual locks in the repository. The PowerCenter Server opens additional connections to the repository for each Load Manager and DTM process. If you terminate a repository connection to a PowerCenter Server, the Repository Server also terminates all other connections to the same PowerCenter Server.
Warning: Terminating an active connection may cause repository inconsistencies. Terminate residual connections only.
To terminate a residual connection: 1. 2. 3. 4. 5.

Launch the Repository Manager and connect to the repository. Choose Edit-Show User Connections. In the Repository Connections dialog box, select the connection you want to terminate. Verify the user is no longer connected to the repository. Click End Connection. The Repository Server closes the user connection.

6.

Click Close to return to the Repository Manager.

152

Chapter 5: Repository Security

Creating an Audit Trail


You can track changes to Repository users, groups, privileges, and permissions by selecting the SecurityAuditTrail configuration option in the Repository Server Administration Console. If you check this option, the Repository Agent logs security changes to the pmsecaudit.<repositoryname>.log file in the Repository Server installation directory. For more information on configuring the Repository, see Adding a Repository Configuration on page 105. The audit trail logs the following operations:

Changing the owner, owners group, or permissions for a folder. Changing the password of another user. Adding or removing a user. Adding or removing a group. Adding or removing users from a group. Changing global object permissions. Adding or removing user and group privileges. Changing your own password. Deleting the owner or owners group for a folder. The delete operation causes a log entry, but after you delete the owner or owners group, the ownership defaults to Administrator owner or the Public group. This change does not create a log entry. Changing permissions of queries. Installing or removing an external security authorization module.

The audit trail does not log the following operations:


Creating an Audit Trail

153

Repository Locks
The repository uses locks to prevent users from duplicating or overriding work. The Repository Server creates the following types of locks on repository objects when you view, edit, or execute them in a workflow:

In-use lock. Placed on objects you want to view. Write-intent lock. Placed on objects you want to modify. Execute lock. Locks objects you want to run or execute, such as workflows and sessions.

The Repository Server creates and releases locks on repository objects. The repository allows multiple users to obtain in-use locks on an object. The repository allows only one write-intent lock per object. This keeps multiple users from editing the object at one time, thus preventing repository inconsistencies. If you attempt to modify an object that already has a write-intent lock, the repository displays a message box:
The [object_type] [object_name] is already locked by [user name].

The repository then issues an in-use lock for the object, allowing you to view the object. The repository allows only one execute lock per object. This keeps you from starting a workflow that is already running, which can cause the PowerCenter Server to load duplicate or inaccurate data. Table 5-6 lists each repository lock and the conditions that create it:
Table 5-6. Repository Locks Repository Lock In-use Created When - Viewing an object in a folder for which you do not have write permission. - Viewing an object that is already write-locked. - Exporting an object. - Viewing an object in a folder for which you have write permission. - Editing a repository object in a folder for which you have write permission. - Importing an object. - Starting, restarting aborting, or resuming a workflow. Maximum per Object Unlimited

Write-intent

Execute

Locking the Same Object


The repository permits multiple in-use locks, one write-intent lock, and one execute lock simultaneously on each repository object. This means that you can edit a session while the PowerCenter Server runs the session, and another user can view the session properties at the same time. For example, if you obtain a write-intent lock on a workflow before the PowerCenter Server starts the workflow, the PowerCenter Server runs the version of the workflow existing in the

154

Chapter 5: Repository Security

repository when the workflow starts. If you save changes to the repository before the workflow starts, the PowerCenter Server runs the newly-edited workflow. If you save changes after the workflow starts, the PowerCenter Server runs the original workflow and the repository updates your changes after the workflow completes. When the workflow starts, the PowerCenter Server obtains an execute lock on the workflow and tasks in the workflow. If you try to start the workflow, the repository displays a message stating the workflow is already running. If you try to edit the workflow or task when another user has a write-intent lock, you receive a in-use lock.

Locking Within Objects


Some repository objects contain other repository objects. For example, workflows contain sessions and tasks, sessions contain mappings, and mappings contain at least one source and target definition. You can view an object (obtain an in-use lock) used by another object without affecting the other object. However, if you save changes to an object used by other objects, the repository might mark the other objects invalid. Before you can use invalidated objects, you must validate them. For example, you open a mapping used by a session, delete a transformation, and save your changes. When you save the mapping, the repository notes the mapping has been changed, and marks the session and every other session using the mapping invalid. The change might invalidate any workflow containing the session. For information about validating objects, see Validating Multiple Objects on page 42. For details on validating the workflow, see Working with Workflows in the Workflow Administration Guide.

Locking with Cubes and Dimensions


Editing or deleting cubes and dimensions can affect many objects in the repository. When you edit a property of a cube or dimension, the Repository Server creates a write-intent lock on all related objects until you save your changes or cancel your edit. Therefore, you might notice an object is locked even when no one is working with it, if that object is a part of a cube or dimension being edited. For example, if you use the Dimension Editor to change a Level Property field, the Repository Server locks all related dimension tables until you save your changes. Any user who tries to edit a related dimension table receives an in-use lock on the table.

Locking Business Components


To maintain the integrity of your repository data, the Repository Server locks the business component tree while its contents are being edited, preventing you from copying or editing the business component.

Repository Locks

155

Locking occurs at the root directory of the business component tree. For example, if Finance is the root directory of your tree, with General Ledger and Accounts Receivable as subdirectories, the Repository Server locks the Finance directory while you make changes to the Accounts Receivable or General Ledger subdirectories. The Repository Server releases a lock when you choose Repository-Save. You can use the Show Locks feature to see if the business component or objects it points to are locked. For details, see Handling Locks on page 157.

156

Chapter 5: Repository Security

Handling Locks
Sometimes, the repository does not release a lock. This can happen in the following situations:

Network problems occur. A PowerCenter Client, PowerCenter Server, repository, or database machine shuts down improperly.

If an object or folder is locked when one of these events occurs, the repository does not release the lock. This is called a residual lock. Repository locks are associated with user connections. To release a residual lock, you must identify the connection associated with the lock and close the connection. For more details on user connections, see Managing User Connections on page 151.

Viewing Locks
You can view existing locks in the repository in the Repository Manager. Use the Show Locks menu command to view all locks in the repository.
To show all repository locks: 1. 2.

In the Repository Manager, connect to a repository. To view all locks in the repository, choose Edit-Show Locks. The Object Locks dialog box appears.

Table 5-7 describes the object lock information in the Object Locks dialog box:
Table 5-7. Object Lock Properties Column Name User Connection ID Description User name locking the object. The identification number assigned to the repository connection.

Handling Locks

157

Table 5-7. Object Lock Properties Column Name Folder Object Type Object Name Lock Type Lock Time Hostname Application 3. 4. Description Folder in which the locked object is saved. Type of object: such as folder, mapping, or source. Name of the locked object. Type of lock: in-use, write-intent, or execute. Time the lock was created. Name of the machine locking the object. Application locking the object: Designer, Workflow Manager, or Repository Manager.

To sort your view of the locks by column, click on the column name. To view updated lock information, click the Refresh button.

Releasing Locks
If a system or network problem causes the repository to retain residual locks, you may need to unlock an object before using it.
Warning: Before unlocking any object, note which user owns the lock, verify that the object is not being used and verify that the user is not connected to the repository.

You can unlock objects and folders by identifying the user connection associated with the lock and terminating the user connection. You do not need special privileges to terminate connections associated with your repository user name. For information on the privileges and permissions to terminate other user connections and unlock objects see Repository Manager Tasks on page 516.
To unlock a folder or repository object: 1. 2. 3. 4.

Open the Repository Manager and connect to the repository. View object locks and identify the connection identification number associated with the locks you want to release. After you view the object locks, choose Edit-Show User Connections. In the User Connections dialog box, match the connection identification number from the Object Locks dialog box with the connection identification number in the User Connections dialog box. Verify the user is not connected to the repository.

5.

158

Chapter 5: Repository Security

6.

Select the user connection and click End Connection. The Repository Server closes the user connection and releases all locks associated with the connection.

7.

Click Close to return to the Repository Manager.

Handling Locks

159

Tips
When setting up repository security, keep it simple. You have the tools to create a complex web of security, but the simpler the configuration, the easier it is to maintain. Securing the environment involves the following basic principles:

Limiting users Restricting privileges Defining permissions Who needs access to the repository? What do they need the ability to do? Where can I limit repository privileges by granting folder permissions instead? Who creates transformations and mappings? Do they need access to all folders? Who schedules workflows? Who needs to start workflows manually? Do they need to access all workflows in the repository? Who administers the repository? Who starts and stops the PowerCenter Server? Who needs the ability to perform all functions within the repository, across all folders?

Before implementing security measures, answer the following questions:


After you evaluate the needs of the repository users, you can create appropriate user groups, limit privileges, and limit folder permissions. Create groups with limited privileges. The simplest way to prevent security breaches is to limit the number of users accessing the repository. Then, limit the ability of other repository users to perform unnecessary actions, such as running sessions or administering the repository. To do this, determine how many types of users access the repository. Then create separate user groups for each type. The more distinct your user groups, the tighter your repository security. Once you establish separate groups, assign the appropriate privileges to those groups and design folder permissions to allow their access to particular folders. Do not use shared accounts. Using shared accounts negates the usefulness of the repository locking feature. The repository creates locks on objects in use. Breaking a valid lock can cause repository and inconsistencies. To avoid repository inconsistencies:

Do not use shared accounts.

160

Chapter 5: Repository Security

Before unlocking an object or folder, see who owns the lock and make sure the owner is not using the object. Ask all users to exit the repository before unlocking multiple objects or closing user connections.

For details on locking, see Repository Locks on page 154. Limit user and group access to multiple repositories. When working in a multiple repository environment (PowerCenter only), limit the number of users and groups accessing more than one repository. This becomes more important when repositories contain folders with the same or similar names. Restricting the number of crossover users limits the possibility of a user connecting to the wrong repository and editing objects in the wrong folder. Customize user privileges. If a single user requires more privileges than those assigned to the user's group, and you need to keep the user in that group for the purpose of folder permissions, you can add individual privileges to that user. For example, if you have a user working in the Developers group, but this user also administers the PowerCenter Server, you can add the Administer Server privilege to the individual user. Limit the Super User privilege. The Super User privilege permits you to perform any task despite folder-level restrictions. This includes starting any workflow, and unlocking other user's locks. To protect your repository and target data, restrict the number of users who need this all-encompassing privilege. You can allow users a limited ability to run workflows by granting the Use Workflow Manager privilege with read and execute permission. You can allow users a limited ability to unlock locks by granting them the Browse Repository or Administer Repository privilege. Users with either the Browse Repository or Administer Repository privilege can unlock any object or folder locked by their own user name. The Repository Manager grants the Super User privilege automatically to the Administrators group. Therefore, you must also limit the number of users you assign to the Administrators group. Limit the Administer Repository privilege. The Administer Repository privilege permits a user to copy a folder from one repository to another. Since this feature is often used to deploy folders into production, you should limit this privilege in production repositories.

Tips

161

Restrict the Workflow Operator privilege. With the Workflow Operator privilege, you can use the Workflow Manager to start any workflow within the repository for which you have read permission. You can also use the pmcmd program to start any workflow in the repository. Misuse of the privilege can result in invalid data in your target. Where possible, avoid granting the Workflow Operator privilege. Instead, if the user needs to use the Workflow Manager to start workflows, you can assign the user the Use Workflow Manager privilege, and read and execute permission for the folders in which the user works. If the user uses pmcmd to start workflows, the user needs only execute permission for the folder.

162

Chapter 5: Repository Security

Troubleshooting
The solutions to the following situations might help you with repository security. After creating users and user groups, and granting different sets of privileges, I find that none of the repository users can perform certain tasks, even the Administrator. Repository privileges are limited by the database privileges granted to the database user who created the repository. If the database user (one of the default users created in the Administrators group) does not have full database privileges in the repository database, you need to edit the database user to allow all privileges in the database. I created a new group and removed the Browse Repository privilege from the group. Why does every user in the group still have that privilege? Privileges granted to individual users take precedence over any group restrictions. Browse Repository is a default privilege granted to all new users and groups. Therefore, to remove the privilege from users in a group, you must remove the privilege from the group, and every user in the group. How does read permission affect the use of the pmcmd program? To use pmcmd, you do not need to view a folder before starting a workflow within the folder. Therefore, you do not need read permission to start workflows with pmcmd. You must, however, know the exact name of the workflow and the folder in which it exists. With pmcmd, you can start any workflow in the repository if you have the Workflow Operator privilege or execute permission on the folder. My privileges indicate I should be able to edit objects in the repository, but I cannot edit any metadata. You may be working in a folder with restrictive permissions. Check the folder permissions to see if you belong to a group whose privileges are restricted by the folder owner. I have the Administer Repository Privilege, but I cannot access a repository using the Repository Manager. To perform administration tasks in the Repository Manager with the Administer Repository privilege, you must also have the default privilege Browse Repository. You can assign Browse Repository directly to a user login, or you can inherit Browse Repository from a group.

Troubleshooting

163

164

Chapter 5: Repository Security

Chapter 6

Working with Folders


This chapter contains information on the following topics:

Overview, 166 Folder Properties, 168 Configuring a Folder, 171 Comparing Folders, 174

165

Overview
Folders provide a way to organize and store all metadata in the repository, including mappings, schemas, and sessions. Folders are designed to be flexible, to help you logically organize the repository. Each folder has a set of configurable properties that help you define how users access the folder. For example, you can create a folder that allows all repository users to see objects within the folder, but not to edit them. Or, you can create a folder that allows users to share objects within the folder. You can create shared and non-shared folders.
Note: You must create a folder in a repository before you can connect to the repository using

the Designer or Workflow Manager.

Using Folders in the Repository Manager


You create and maintain folders in the Repository Manager. In the Repository Manager, you can view the users accessing folders and the objects within each folder. You can also copy and replace folders within the repository or across repositories.

Using Folders in the Designer


In the Designer, you use folders to store sources, transformations, cubes, dimensions, mapplets, business components, targets, and mappings. When you create a mapping in a folder, you can use any object in the folder, and you can create shortcuts to objects in shared folders. You can copy objects from one folder to another, so if you want to use an object in a nonshared folder, you can copy it into your working folder. If you work with multiple repositories, you can also copy objects across repositories.

Using Folders in the Workflow Manager


In the Workflow Manager, you use folders to store workflows, tasks, and sessions. When you create a workflow, you can include any session or task in the folder. Use the Copy Wizard to copy individual workflows to other folders. To copy all workflows within a folder to a different location, you can copy the entire folder. When you create a session in a folder, you can use any mapping in the folder. You can copy a session within a folder or to another folder.

Organizing Folders
Folders are designed to be flexible, providing the means to organize the repository in the most logical way. Keep in mind that any mapping in a folder can use only those objects that are stored in the same folder, or stored in a shared folder and accessed through a shortcut.

166

Chapter 6: Working with Folders

In a repository, you might create folders for each development project, subject area, user, or type of metadata. For example:

You might create a single folder for each type of data. For example, if you want to organize accounting data, you might create one folder for accounts payable and another for accounts receivable. You can create a folder for each repository user, designed to store work for that user only. If users work on separate projects, this technique avoids any problems that might occur if two people attempt to edit the same piece of metadata at the same time. You might create a different folder for each type of metadata (source definitions, target definitions, mappings, schemas, and reusable transformations) that you create through the Designer.

Before creating a system of folder organization, you should understand the security measures associated with folders so you can best protect repository objects.

Overview

167

Folder Properties
Each folder has several configurable properties on the folder property sheet. You can use these properties to protect metadata saved in the folder, while permitting the appropriate users access to the folder. Folders have the following properties:

Folder permissions Folder owner Owners group Allow shortcuts

If folder is in a repository enabled for version control, you can apply a status to all versioned objects in the folder. For more information on changing the status of all objects in a folder, see Working with Version Properties on page 203.

Permissions
Permissions allow repository users to perform tasks within a folder. With folder permissions, you can control user access to the folder, and the tasks you permit them to perform. Folder permissions work closely with repository privileges. Privileges grant access to specific tasks while permissions allow you to read, write, and execute tasks within a specific folder. Folders have the following permission types:

Read permission. Allows you to view the folder as well as objects in the folder. Write permission. Allows you to create or edit objects in the folder. Execute permission. Allows you to execute or schedule a workflow in the folder.

Note: Any user with the Super User privilege has read, write, and execute all tasks across all

folders in the repository and can perform any task using the PowerCenter Client tools. For details on how folder permissions interact with repository privileges, see Repository Security on page 125. For list of permissions and privileges combinations allowing you to perform each task, see Permissions and Privileges by Task on page 509.

168

Chapter 6: Working with Folders

Permission Levels
You can grant three levels of security on folder permissions. Table 6-1 lists the users included in each permission level:
Table 6-1. Folder Permissions Permission Level Owner Owners Group Repository Includes Owner of the folder. Each user in the owners repository user group. If the owner belongs to more than one group, you must select one group for the Owners Group. All users and groups in the repository.

Each permission level includes the members in the level above it. If you restrict a permission from the Owner or Owners Group, then grant the same permission to Repository, the Owner and Owners Group retain the permission.
Note: All users in the Administrators group or with the Super User privilege have full access to

all folders in the repository.

Folder Owner and Owner's Group


Because you grant permissions to Owner and Owners Group, your choices for these settings affect how repository users access objects within the folder. When you create a folder, you can select any user in the repository to be the folder owner. If the folder owner belongs to more than one repository group, you can also choose a repository group as the Owners Group. If the owner belongs to only one group, that group automatically becomes the Owners Group. For example, the repository contains users in two user groups. You want a folder allowing full access to one group while limiting access to the other. To do this, you make a user in the fullaccess group the owner of the folder, then grant all folder permissions to Owner and Owners Group. Then restrict Repository permissions, as desired. As long as a group does not have the Super User privilege, restricting Repository permission limits that groups folder permissions. The owner of the folder has an additional ability to edit the folders properties as long as the owner has the Browse Repository privilege and read permission on the folder. Any other user must have Administer Repository and read permission, or the Super User privilege to edit folder properties.

Shared Folders
You can designate a folder to be shared. In the Designer, shared folders allow users to create shortcuts to objects in the folder. If you have an object that you want to use in several mappings or across multiple folders, like an Expression transformation that calculates sales

Folder Properties

169

commissions, you can place the object in a shared folder. You can then access the object from other folders by creating a shortcut to the object. Shortcuts inherit changes to their shared object. So if, for example, you change the way your company calculates sales commissions, you can change the Expression transformation in the shared folder. Then all shortcuts to the Expression transformation inherit the changes. If you want to use an object in a shared folder without inheriting any future changes, you can copy the existing object.
Note: Once you make a folder shared, you cannot reverse it.

Shared Folders in Global Repositories


Shared folders in global repositories can be used by any folder in the domain. For example, if you are working in a folder in a local repository, you can connect to the global repository, and create a shortcut to a shared folder for the official sales commission Expression transformation. As with local shared folders, if changes are made to the original object, the repository updates all shortcuts in the domain to reflect those changes.

170

Chapter 6: Working with Folders

Configuring a Folder
Each folder in the repository must have the following information configured in the folder properties dialog box:

Folder name. The name of the folder in the repository. Folder owner. The owner can have a different level of permissions within the folder, separate from general users, and the ability to administer the folder. Owners group. The group selected can also have a different level of permissions in the folder. Folder status. Specifies a status applied to all objects in the folder. Each status defines the ability of users to check out and edit objects in the folder and whether copy deployment group operations can create new versions of objects in the folder. Folder permissions. Defines the ability of users and groups to access the folder. Allows shortcuts. Determines whether the folder is shared.

You can optionally enter a description of the folder. You can then view these comments in the Repository Manager.

Creating a Folder
For information on the privileges and permissions to create a folder, see Repository Manager Tasks on page 516.
To create a folder: 1.

In the Repository Manager, connect to the repository.

Configuring a Folder

171

2.

Choose Folder-Create.

3.

Enter the following information:


Folder Properties Name Description Owner Owners Group Allow Shortcut Status Required/ Optional Required Optional Required Required Optional Required Description Folder name. Description of the folder that appears in the Repository Manager. Owner of the folder. Any user in the repository can be the folder owner. Repository user group to receive Owners Group permissions. Only groups to which the owner belongs can be selected. If selected, makes the folder shared. The status applied to all objects in the folder. This option applies to versioned repositories only. For more information on object status, see Working with Version Properties on page 203. Folder permissions for users in the repository. For details, see Permissions on page 168.

Permissions

Required

4.

Click OK. The folder appears in the Navigator. If the folder is shared, the folder displays an open hand icon.

172

Chapter 6: Working with Folders

Editing a Folder
For information on the privileges and permissions to edit a folder see Repository Manager Tasks on page 516.
Note: The Repository Server updates changes in folder properties immediately. To avoid

repository inconsistencies due to changes in folder properties, make sure no users are accessing the folder when you edit the folder.
To edit a folder: 1. 2. 3.

In the Repository Manager, connect to a repository and select a folder. Choose Folder-Edit. Enter the desired changes, and click OK.

Deleting a Folder
If a folder becomes obsolete, you can delete that folder from the repository. For information on the privileges and permissions to delete a folder see Repository Manager Tasks on page 516.
To delete a folder: 1. 2. 3.

In the Repository Manager, connect to a repository and select a folder. Choose Folder-Delete. When asked if you really want to delete the folder, click OK.

Configuring a Folder

173

Comparing Folders
Before you copy or replace a folder in a repository, you might want to verify the contents of a folder or compare it with other folders. The Repository Manager lets you quickly and accurately compare the objects in different folders using the Compare Folders Wizard. If you use a versioned repository, the Repository Manager uses the latest checked in version of an object for comparison. The Compare Folders Wizard allows you to perform the following comparisons:

Compare objects between two folders in the same repository. Compare objects between two folders in different repositories. Object types to compare. You can specify the object types to compare and display between folders. The wizard compares objects based on specific object attributes. See Table 6-2 on page 174 for a list of compared attributes for object types. Direction of comparison. The wizard performs directional comparisons. A directional comparison checks the contents of one folder against the contents of the other. You can specify either one-way or two-way comparisons. Similarities between objects Differences between objects Outdated objects

Each comparison also allows you to specify the following comparison criteria:

The wizard displays the following information:


You can edit and save the result of the comparison. You must have read permission for each folder you want to compare. You must also have privileges to access the repositories containing the folders. You can also compare two objects of the same type using Compare Objects. For more information on Compare Objects, see Comparing Objects in the Designer Guide.

Compared Attributes and Object Differentiation


The Compare Folders Wizard compares objects based on specific object attributes. Table 6-2 lists the object types and attributes you can compare:
Table 6-2. Compared Object Types and Attributes Object Type Sources Targets Reusable transformations Compared Attribute Source name and database name Target name and database name Transformation name and type

174

Chapter 6: Working with Folders

Table 6-2. Compared Object Types and Attributes Object Type Mappings Mapplets Source fields Target fields Reusable transformation fields Sessions Session components Tasks Task instances Workflows Workflow events Workflow variables Worklets Shortcuts Transformation instances Mapping variables External procedure initialization properties Schedulers Configurations Compared Attribute Mapping name Mapplet name Column names Column names Port names Session name Component value Task name Task instance name Workflow name Workflow event name Workflow variable name Worklet name Shortcut name and object type Transformation instance name and type Mapping variable name Property name Scheduler name Configuration name

Some objects you choose to compare also cause the wizard to compare other objects, regardless of whether you select the other objects to compare. Table 6-3 lists objects the wizard compares by default when you select certain objects to compare:
Table 6-3. Compared Objects in Compare Selected Object Source field Target field Reusable transformation field Mapping variable External procedure initialization properties Session component Compared Object Source Target Reusable transformation Mapping Transformation instance Session

Comparing Folders

175

Table 6-3. Compared Objects in Compare Selected Object Task Instance Workflow event Workflow variable Compared Object Workflow and worklet Workflow and worklet Workflow and worklet

The wizard compares the attribute of each object in the source folder with the attribute of each object in the target folder. You can choose to compare based on the following criteria:

Different objects. Object name and type exist in one folder but not the other. Similar objects. Object name, type, and modification date are the same in both folders. Outdated objects. Object modification date is older than objects with the same name.

The wizard does not compare the field attributes of the objects in the folders when performing the comparison. For example, if two folders have matching source names and column or port names but differing port or column attributes, such as precision or datatype, the wizard does not note these as different.

One-Way and Two-Way Comparisons


Comparison results depend on the direction of the comparison. One-way comparisons check the selected objects of Folder1 against the objects in Folder2. Two-way comparisons check objects in Folder1 against those in Folder2 and also check objects in Folder2 against those in Folder1. A two-way comparison can sometimes reveal information a one-way comparison cannot. A one-way comparison does not note a difference if an object is present in the target folder but not in the source folder. Figure 6-1 shows two folders in the same repository, ADS1 and ADS2. If you compare the folders using a one-way comparison, the source definition ORDER_ITEMS, present in ADS2

176

Chapter 6: Working with Folders

but not in ADS1, is not noted as a comparison. If you compare the folders using a two-way comparison, the absence of ORDER_ITEMS in ADS1 is noted as a difference.
Figure 6-1. One-Way and Two-Way Comparisons

A one-way comparison does not note the presence of ORDER_ITEMS in ADS2 as a difference.

A two-way comparison notes the absence of ORDER_ITEMS in ADS1 as a difference.

Editing and Saving Results Files


You can edit and save the result of a folder comparison. The Compare Folders wizard displays similar objects in green text, unmatched objects denoting a difference in red text, and outdated objects in blue text. The Compare Folders Wizard always displays the total number of differences, similarities, and outdated objects found during the comparison, even if you do not choose to display differences or similarities in the edit field. You can save the results of the comparison in the edit field to an .rtf or a .txt file. To retain the color and font attributes of the result, save it as an .rtf file. By default the results file is saved in the My Documents directory.

Steps for Comparing Folders


Before comparing folders, verify that you have Read permission for each folder you want to compare. Connect to the repositories containing the folders in the wizard.
To compare folders: 1. 2.

In the Repository Manager, choose Folder-Compare. Click Next.

Comparing Folders

177

3.

Connect to the repositories containing the folders you want to compare and select folders for comparison.

Connect to repository.

4. 5.

Click Next. Select the object types you want to compare.

6.

Click Next.

178

Chapter 6: Working with Folders

7.

Select display options.

8.

Click Next. The wizard always displays the number of differences, similarities, and outdated objects.

9.

View the results of the comparison.

Save the compare results to a file.

10. 11. 12. 13.

If you want to save the comparison results to a file, select Save results to file. Click Finish. If you chose to save the results to a file, specify the file type, name, and directory. Click Save.

Comparing Folders

179

180

Chapter 6: Working with Folders

Chapter 7

Local and Global Shortcuts


This chapter includes the following topics:

Overview, 182 Shortcuts Versus Copies, 183 Understanding Shortcut Properties, 184 Creating a Local Shortcut, 187 Creating a Global Shortcut, 190 Working with Shortcuts, 194 Tips, 197 Troubleshooting, 198

181

Overview
Shortcuts allow you to use metadata across folders without making copies, ensuring uniform metadata. A shortcut inherits all properties of the object to which it points. Once you create a shortcut, you can configure the shortcut name and description. When the object the shortcut references changes, the shortcut inherits those changes. By using a shortcut instead of a copy, you ensure each use of the shortcut matches the original object. For example, if you have a shortcut to a target definition, and you add a column to the definition, the shortcut inherits the additional column. Shortcuts allow you to reuse an object without creating multiple objects in the repository. For example, you use a source definition in 10 mappings in 10 different folders. Instead of creating 10 copies of the same source definition, one in each folder, you can create 10 shortcuts to the original source definition.
Note: In a versioned repository, a shortcut always inherits the properties of the latest version of

the object that it references. You can create shortcuts to objects in shared folders. If you try to create a shortcut to a nonshared folder, the Designer creates a copy of the object instead. You can create shortcuts to the following repository objects:

Source definitions Reusable transformations Mapplets Mappings Target definitions Business components Local shortcut. A shortcut created in the same repository as the original object. Global shortcut. A shortcut created in a local repository that references an object in a global repository.

You can create the following types of shortcuts:


182

Chapter 7: Local and Global Shortcuts

Shortcuts Versus Copies


One of the primary advantages of using a shortcut is maintenance. If you need to change all instances of an object, you can edit the original repository object. All shortcuts accessing the object inherit the changes. In contrast, if you have multiple copies of an object, you need to edit each copy of the object, or recopy the object, to obtain the same results. However, some changes can invalidate mappings and sessions. For example, if you use a shortcut to a reusable transformation, then change a port datatype, you can invalidate all mappings with shortcuts to the transformation, and all sessions using those mappings. Therefore, if you want the object to inherit changes immediately, create a shortcut. Otherwise, create a copy. Shortcuts have the following advantages over copied repository objects:

You can maintain a common repository object in a single location. If you need to edit the object, all shortcuts immediately inherit the changes you make. You can restrict repository users to a set of predefined metadata by asking users to incorporate the shortcuts into their work instead of developing repository objects independently. You can develop complex mappings, mapplets, or reusable transformations, then reuse them easily in other folders. You can save space in your repository by keeping a single repository object and using shortcuts to that object, instead of creating copies of the object in multiple folders or multiple repositories.

For details on exporting and importing objects to makes copies, see Exporting and Importing Objects on page 263.

Shortcuts Versus Copies

183

Understanding Shortcut Properties


When you create a shortcut to a repository object, the shortcut inherits the attributes of the object. The shortcut inherits the following properties that cannot be edited in the shortcut object:

Object business name and owner name Port attributes, including datatype, precision, scale, default value, and port description Object properties (such as tracing level)

The shortcut also inherits a name and description which you can edit in the shortcut.

Default Shortcut Name


The Designer names a shortcut after the object it references based on the object name as it appears in the Navigator when you create the shortcut: Shortcut_To_DisplayedName. By default, the Designer displays all objects in the Navigator by name. If you create a shortcut with this default, the Designer names the shortcut Shortcut_To_ObjectName. However, you can enable the Designer tools option to display sources and targets by business name. When you enable this option, the Designer displays sources and targets by business names if they exist. If you create a shortcut to a source or target when this option is enabled, the Designer names the shortcut Shortcut_To_BusinessName.
Note: If the business name contains characters that are not allowed as in the object name, the

Designer replaces the character with an underscore (_). You can edit the default shortcut name at any time.

Describing the Object and the Shortcut


Shortcuts inherit the description associated with the referenced object when you first create the shortcut. Afterwards, you can add object descriptions for each shortcut. Since the description is unique to the shortcut, if the description of the referenced object subsequently changes, shortcuts do not inherit those changes.

184

Chapter 7: Local and Global Shortcuts

For example, Figure 7-1 shows the shortcut with a description inherited from the original transformation, as well as comments for the shortcut:
Figure 7-1. Object and Shortcut Description

Description from the original object Description added to the shortcut

Shortcuts do not inherit edits to the description of the referenced object. However, any shortcuts created after the change then contain the latest description.

Locating the Referenced Object


Each shortcut tracks the location of the object it references and displays it in the transformation property sheet. The shortcut object displays the following details about the referenced object:

Repository name Folder name Table or transformation name

Understanding Shortcut Properties

185

Figure 7-2 shows the transformation property sheet with the referenced shortcut objects:
Figure 7-2. Referenced Shortcut Object

Original Object Location

Note: If you move or delete an object referenced by a shortcut, the shortcut becomes invalid.

186

Chapter 7: Local and Global Shortcuts

Creating a Local Shortcut


You can reuse metadata within a single repository by creating a local shortcut. You can create a local shortcut to objects in a shared folder in the same repository. If an object is in a nonshared folder, you can make a copy of the object. You can create a local shortcut in any folder in the repository. Once you create a local shortcut, you can reuse it within the same folder. After you create a shortcut, it appears in the Navigator as an available repository object with the shortcut icon. When you drag the resulting shortcut into the workspace, the same shortcut icon appears. The Designer names shortcuts after the original object by default, Shortcut_To_ObjectName. For example, when you create a shortcut to the DetectChanges reusable Expression transformation, the shortcut, named Shortcut_To_DetectChanges appears in the Transformations node of the folder. When you drag it into the workspace, the shortcut icon indicates the transformation is a shortcut. Figure 7-3 shows shortcut icons in the Navigator and Workspace windows:
Figure 7-3. Transformation Shortcut Icon

Shared Folder

Original Object

Shortcut Icon

Shortcut

Creating a Local Shortcut

187

Note: When you drag an object from a shared folder to a business component directory, the

Designer creates a shortcut if the object does not already exist in the destination folder. For details, see Managing Business Components in the Designer Guide. To create a local shortcut, you must have one of the following sets of privileges and permissions for the shared folder containing the original object:

Use Designer privilege with read permission on the folder Super User privilege

You must also have the one of the following sets of privileges and permissions on the destination folder:

Use Designer privilege with read and write permission on the folder Super User privilege

You can create a local shortcut in the Navigator or in the workspace.


To create a local shortcut in the Navigator: 1. 2. 3.

In the Navigator, expand the shared folder containing the object you want to use and drill down to locate the object. Open the destination folder, the folder in which you want the shortcut. Drag the object from the shared folder to the destination folder. After you drop the object, the Designer displays the following message:
Create a shortcut to <object type> <object name>?

Note: If the object is not saved in the repository, the Designer displays a message asking if

you want to create a copy of the object. To create a shortcut, cancel the operation, save the object, then create the shortcut.
4.

When prompted for confirmation, click OK to create a shortcut, or click Cancel to cancel the operation. The shortcut now appears in the Navigator.

5.

Choose Repository-Save.

You can now use the shortcut in this folder.


To create a local shortcut in the workspace: 1. 2. 3.

In the Navigator, expand the shared folder containing the object you want to use and drill down to locate the object. Open the destination folder, the folder in which you want the shortcut. Select the appropriate Designer tool for the shortcut. For example, to create a shortcut for a source, choose the Source Analyzer or Mapping Designer tool. To create a shortcut for a target, choose the Warehouse Designer or Mapping Designer tool.

188

Chapter 7: Local and Global Shortcuts

4.

Drag the object from the shared folder into the workspace. After you drop the object, the Designer displays the following message:
Create a shortcut to <object type> <object name>?

Note: If the object is not saved in the repository, the Designer displays a message asking if

you want to create a copy of the object. To create a shortcut, cancel the operation, save the object, then create the shortcut.
5.

When prompted for confirmation, click OK to create a shortcut, or click Cancel to cancel the operation. The shortcut now appears in the workspace and in the Navigator.

6.

Choose Repository-Save.

You can now use the shortcut in this folder. For details on working with shortcuts, see Working with Shortcuts on page 194.

Creating a Local Shortcut

189

Creating a Global Shortcut


You can reuse metadata between repositories by creating a global shortcut. A global shortcut is a shortcut in a local repository that references an object in a global repository. The local and global repository must be in the same domain. You can create a global shortcut in any folder in the local repository. Once you create the global shortcut in a folder, you can reuse it in the folder as you would any other repository object. You can create a global shortcut to any object in a shared folder in a global repository. If a folder is not shared, you can make a copy of these objects if the global and local repository have compatible code pages. For details on code page compatibility, see Globalization Overview in the Installation and Configuration Guide. To create a global shortcut, you must be able to connect to the global repository through the local repository. That is, if you connect to the local repository directly, the global repository must appear in the local repository. Similarly, if you connect to the global repository directly, the local repository must appear in the global repository. For example, Figure 7-4 shows the DEVELOPMENT repository as a local repository with the PRODUCTION global repository:
Figure 7-4. Create a Global Shortcut

To create a global shortcut: - Connect to the global repository through the local repository. OR - Connect to the local repository through the global repository.

You can use the Designer to connect to both the local and the global repositories individually. However, to create a global shortcut, you must connect to one repository through the other. You can connect to the PRODUCTION global repository first, then the DEVELOPMENT repository directly below PRODUCTION to create a global shortcut. You can also connect to the DEVELOPMENT repository then connect to the PRODUCTION repository appearing below it.

190

Chapter 7: Local and Global Shortcuts

To create a global shortcut, you must have one of the following sets of privileges and permissions in the global repository:

Use Designer with read permission on the shared folder Super User privilege

To create a global shortcut, you must also have one of the following sets of privileges and permissions in the local repository:

Use Designer with read and write permission on the folder Super User privilege

You can create a global shortcut in the Navigator or in the workspace.


To create a global shortcut in the Navigator: 1.

In the Designer, connect to the local repository and open the folder in which you want a shortcut. The global repository appears in the Navigator below the local repository. If it does not, the repository to which you are connected is not registered with the global repository.

2.

In the Navigator, connect to the global repository appearing below the local repository. The Designer expands the global repository, displaying folders for which you have read permission. If the Designer does not allow you to connect to the global repository, you might need to reconfigure aspects of your repository domain. For details, see Configuring the Global Shortcut Environment on page 192.

3. 4.

In the global repository, drill down through the shared folder until you locate the object you want to use. Drag the object into the destination folder in the local repository. After you drop the object, the Designer displays the following message:
Create a shortcut to <object type> <object name>?

Note: If the object is not saved in the repository, the Designer displays a message asking if

you want to create a copy of the object. To create a shortcut, cancel the operation, save the object, then create the shortcut.
5.

When prompted for confirmation, click OK to create a global shortcut, or click Cancel to cancel the operation. The shortcut now appears in the Navigator.

6.

Choose Repository-Save.

You can now use the shortcut in this folder.


To create a global shortcut in the workspace: 1.

In the Designer, connect to the local repository and open the folder in which you want a shortcut.
Creating a Global Shortcut 191

The global repository appears in the Navigator below the local repository. If it does not, the repository to which you are connected is not registered with the global repository.
2.

Select the appropriate Designer tool for the shortcut. For example, to create a shortcut for a source, choose the Source Analyzer or Mapping Designer tool. To create a shortcut for a target, choose the Warehouse Designer or Mapping Designer tool.

3.

In the Navigator, connect to the global repository appearing below the local repository. The Designer expands the global repository, displaying folders for which you have read permission. If the Designer does not allow you to connect to the global repository, you might need to reconfigure aspects of your repository domain. For details, see Configuring the Global Shortcut Environment on page 192.

4. 5.

In the global repository, drill down through the shared folder until you locate the object you want to use. Drag the object from the shared folder into the workspace. After you drop the object, the Designer displays the following message:
Create a shortcut to <object type> <object name>?

Note: If the object is not saved in the repository, the Designer displays a message asking if

you want to create a copy of the object. To create a shortcut, cancel the operation, save the object, then create the shortcut.
6.

When prompted for confirmation, click OK to create a global shortcut, or click Cancel to cancel the operation. The shortcut now appears in the workspace and in the Navigator.

7.

Choose Repository-Save.

You can now use the shortcut in this folder. For details on working with shortcuts, see Working with Shortcuts on page 194.

Configuring the Global Shortcut Environment


To create a global shortcut, configure the following:

Repository code pages Repository user names and passwords for individual users Repository user name and password for the PowerCenter Server

Repository Code Pages


Before you can create a global shortcut in a repository, the repository must be registered with a global repository. To register a local repository with a global repository, the local repository code page must be a superset of the global repository code page. The Repository Manager
192 Chapter 7: Local and Global Shortcuts

validates code page compatibility when you register a repository. Once you register a local repository, you can create global shortcuts to the global repository. For details on code page compatibility between repositories, see PowerCenter Domains on page 13. For details on code page compatibility, see Code Pages in the Installation and Configuration Guide.

Repository User Name and Passwords for Individual Users


To create a global shortcut, you need to connect to the global repository through the local repository, or connect to the local repository through the global repository. To do this, you need to log into the first repository using a repository user name and password that is valid in the second repository. The second connection does not ask for a different user name/password combination. For example, you connect to the ERP repository using the user name/password, dev1/mouse. To create a global shortcut, you need to connect to the Development global repository that appears below the ERP repository. When you try to connect, the Designer verifies your user name/password exists in the Development global repository and checks your permissions and privileges. If your user name/password exists, and if you have the Use Designer repository privilege, the Designer opens the connection to the global repository.

Repository User Name and Password for the PowerCenter Server


To run a workflow with a session that uses a global shortcut, the PowerCenter Server must access both the repository in which the mapping is saved, and the global repository for the shortcut information. You enable this behavior by entering a repository user name and password in the server configuration parameter. This user name and password must exist in both of the following:

The local repository with which the server is registered The global repository in the domain

To access the necessary information, this user name must have one of the following repository privileges in each repository:

Use Workflow Manager with folder read and execute permissions Workflow Operator with folder read permission Super User privilege

Creating a Global Shortcut

193

Working with Shortcuts


Once you create a shortcut, you can reuse it in the folder as often as necessary. When you edit an object referenced by a shortcut, the Designer does not automatically validate mappings using shortcuts to the object. Some changes might invalidate mappings, such as deleting a port or changing the port datatype, precision, or scale. When a mapping is invalid, the PowerCenter Server cannot run the session. When editing a referenced object, use the View Dependencies features in the Repository Manager to determine which mappings contain shortcuts to the object. To ensure mappings are valid, open and validate the mapping. When validating a mapping, make sure you have the most recent version of the mapping. For details on viewing dependencies in the Repository Manager, see Viewing Object Dependencies on page 37. You can also view object dependencies in the Designer. For details on viewing dependencies in the Designer, see Using the Designer in the Designer Guide.

Refreshing Shortcut Properties


When working with shortcuts, it is critical to ensure you have the most recent version of the local or global shortcut in your workspace. If you launch the Designer, then drag a shortcut, or a mapping or mapplet using a shortcut, into the workspace, you view the current version of the object the shortcut references. However, if another user then edits and saves changes to the referenced object, the shortcut displayed in your workspace is no longer an accurate description of the referenced object. Therefore, when working in this type of environment, be sure to update your view of local and global shortcuts. The PowerCenter Server always uses the latest version of a referenced object. When the PowerCenter Server starts a session containing a shortcut, it accesses the repository to retrieve the mapping. If the mapping contains a shortcut, the PowerCenter Server accesses the repository for details about the original object.

Updating Views of Global and Local Shortcuts


The Designer updates properties for a global or local shortcut when it retrieves object information from the repository. If you think the original object referenced by a global or local shortcut has changed, you can refresh your view of the shortcut by performing one of the following:

Open metadata. When you drag an object into the Designer workspace, the Designer retrieves the object from the repository. If the object is a shortcut or contains a shortcut, the Designer retrieves and displays the most recent version of the shortcut. For example, if you open a folder to view a shortcut to a source or a mapping using that shortcut, the Designer displays the most recent version of the source.

194

Chapter 7: Local and Global Shortcuts

Note: When possible, the Designer uses information in memory. If the mapping was open

on your client machine, the Designer might display the version in memory rather than accessing the repository for the latest version. To ensure you have the most recent version, perform one of the following in addition to opening metadata.

Revert to saved. When you use the Designer menu command, Edit-Revert To Saved, the Designer accesses the repository to retrieve the last-saved version of the object. If you select a shortcut or a mapping using a shortcut, then choose Edit-Revert To Saved, the Designer displays the last-saved version of the object in the workspace. Close the folder or close all tools. To ensure you have correct shortcut information, you can clear the Designer memory by closing the folder or closing all tools (Repository-Close All Tools) then reopening the folder or tool.

For example, a mapping includes a shortcut named Shortcut_To_FIL_InsertChanged. This shortcut points to a reusable transformation named FIL_InsertChanged. Another user edits the filter condition in the original transformation, FIL_InsertChanged, and saves changes to the repository. When you open the mapping in the Designer, it retrieves the mapping from the repository. It also retrieves information for Shortcut_To_FIL_InsertChanged (and any other shortcuts used in the mapping). To validate the mapping, choose Mappings-Validate. However, if the mapping is already in memory, the Designer uses the version in memory. To ensure you have the correct version, choose Edit-Revert to Saved. Designer displays the mapping with the latest shortcut properties. To validate the mapping, choose MappingsValidate.

Copying a Shortcut
You can copy a shortcut to other folders. When the Designer copies a shortcut, it creates another shortcut in the new folder. The new shortcut points to the original object used by the original shortcut. The Designer cannot copy a shortcut (resulting in another shortcut), when it cannot find the object the shortcut references. This might occur if, for example, you copy a local shortcut from one repository to an unrelated repository. When the Designer cannot successfully copy a shortcut, it creates a copy of the shortcut object. The copy of the shortcut object is identical to the original object the shortcut references. Unlike an actual shortcut, the copy will not inherit any changes to the original object. You can use the copy of the shortcut as you would the original object. However, if the object is a source definition, you might need to rename the source definition.

Working with Shortcuts

195

Table 7-1 lists the results of copying global and local shortcuts to different repositories:
Table 7-1. Copying Global or Local Shortcuts Shortcut Type Local shortcut Local shortcut Local shortcut Global shortcut Global shortcut Local shortcut Local shortcut Shortcut Location Standalone repository Local repository Local repository Local repository Local repository Global repository Global repository Copied to Another folder, same repository Another folder, same repository Different local repository, same domain* Different local repository, same domain* Different repository, different domain* Local repository, same domain Different repository, different domain* Designer Creates Local shortcut to original object Local shortcut to original object Copy of the shortcut object Global shortcut to original object Copy of the shortcut object Global shortcut to original object Copy of the shortcut object

* To avoid losing metadata during the copy, the code pages of both repositories must be compatible.

For example, if you copy a shortcut named Shortcut_to_Employees from one standalone repository to another, the Designer creates a new source definition in the destination folder named Shortcut_to_Employees. This source definition is a copy of the original shortcut, but is not a shortcut. When you use the source definition in a mapping, the default SQL used to extract data from the source defines the source as Shortcut_to_Employees. If the source table is named Employees in the source database, you must rename the source definition (Employees) or enter a SQL override for the source qualifier connected to the source definition (renaming the source table Employees) for the PowerCenter Server to extract source data. For example, the fourth row of the table indicates when you copy a global shortcut (a shortcut to an object in a global repository) from one local repository to another local repository in the same domain, the Designer creates a global shortcut to the object in the global repository.

Renaming Source Qualifiers to Shortcut Sources


By default, shortcuts are named after their original object, Shortcut_To_ObjectName. If you create a shortcut to a source, and you have enabled the Mapping Designer option to automatically create source qualifiers, the Mapping Designer creates a source qualifier based on the source name. Therefore, if you do not change the name of the source shortcut, the resulting source qualifier is named SQ/ESQ/NRM_Shortcut_To_SourceName. Despite the name, however, the source qualifier is not a shortcut.
Tip: If names of source qualifiers automatically created for shortcut sources cause confusion,

you might want to rename those source qualifiers.


196 Chapter 7: Local and Global Shortcuts

Tips
The following suggestions can extend the capabilities of shortcuts. Keep shared objects in centralized folders. This keeps maintenance simple. This also simplifies the process of copying folders into a production repository. Only create shortcuts to finalized objects. Changes to an object referenced by shortcuts can invalidate the mappings or mapplets using the shortcut, as well as any sessions using these objects. To avoid invalidating repository objects, only create shortcuts objects in their finalized version. After editing a referenced object, make sure affected mappings are still valid. If you need to edit an object referenced by a shortcut, use the Analyze Dependencies feature in the Repository Manager to view affected mappings. After editing the object, see if your changes invalidate the listed mappings. To ensure a mapping is valid, open and validate it in the Designer. Refresh views of shortcuts when working in a multiuser environment. To refresh a shortcut in the workspace, choose Edit-Revert To Saved. You can also use Repository-Close All Tools in the destination folder then reopen the workspace.

Tips

197

Troubleshooting
The solutions to the following situations might help you with local and global shortcuts. The following message appears in the Designer status bar when I try to create a shortcut: The selected folder is not open. You are trying to create a shortcut from a shared folder to a folder that is not open. Open the destination folder (by opening at least one tool in the folder or by choosing Folder-Open) before creating the shortcut. When I try to create a shortcut, the Designer creates a copy instead. This can occur when one of the following is true:

The object is not saved in the repository. You can only create shortcuts to objects that are already in the repository. Save the object to the repository, then try creating the shortcut again. You are trying to create a shortcut for an object in a non-shared folder. You can only create shortcuts to objects in shared folders. You are holding down the Ctrl key when dragging the object. To create a shortcut, drag the object without holding down any additional keys. You are trying to create a shortcut between two local repositories, or between two repositories that are not in the same domain. You can only create a shortcut between repositories in the same domain. In addition, you can only create a shortcut in a local repository, referencing an object in a global repository. You cannot create a shortcut in a global repository that references an object in the local repository. You are dragging an object from a shared folder in the global repository to a folder in the local repository, but you are connecting to the repositories separately. To create a global shortcut, you must connect to one repository, then connect to the second repository through the first repository.

I cannot connect to my global repository through my local repository to create a global shortcut (but I can connect to both separately). This can occur if you do not have the same user name and password in both repositories.

198

Chapter 7: Local and Global Shortcuts

Chapter 8

Working with Versioned Objects


This chapter includes the following topics:

Overview, 200 Working with Version Properties, 203 Tracking Changes to Versioned Objects, 208 Checking Out and Checking In Objects, 211 Deleting and Purging Versioned Objects, 215

199

Overview
If you have the team-based development license, you can configure the repository to store multiple versions of objects. You can configure a repository for versioning when you create it, or you can upgrade an existing repository to support versioned objects. Object versioning allows you to store copies of previous versions of objects in development, track changes to those objects, and prepare them for deployment to a production environment. A versioned repository assigns multiple version numbers to versions of the same object. Each time you check in an object, the repository increments the version number by one and stores a new version of the object in the repository database. A repository enabled for versioning can store multiple versions of the following objects:

Sources Targets Transformations Mappings Mapplets Sessions Tasks Workflows Worklets Session configurations Schedulers Cubes Dimensions View object version properties. Each versioned object has a set of version properties and a status. You can also configure the status of a folder to freeze all objects it contains or make them active for editing. Track changes to an object. You can view a history that includes all versions of a given object, and compare any version of the object in the history to any other version. This allows you to determine changes made to an object over time. Check the object version in and out. You can check out an object to reserve it while you edit the object. When you check in an object, the repository saves a new version of the object and allows you to add comments to the version. You can also find objects checked out by yourself and other users. Delete or purge the object version. You can delete an object from view and continue to store it in the repository. You can recover, or undelete, deleted objects. If you want to permanently remove an object version, you can purge it from the repository.

You can perform the following tasks when you work with a versioned object:

200

Chapter 8: Working with Versioned Objects

You can also apply labels to versioned objects, run queries to search for objects in the repository, and include versioned objects in deployment groups. For more information on working with labels, queries, and deployment groups, see Grouping Versioned Objects on page 217. You can perform these tasks in the Repository Manager, Designer, and Workflow Manager.

Sample Scenario
Suppose your environment includes a development repository and a production repository. You create and test metadata in the development repository, and then copy it to the production repository. While working in the development repository, you want to exclusively edit objects, retain older versions, and freeze the folder when you are finished with development to prevent further changes to the objects it contains.

Creating the Initial Version


You use the Designer to create a mapping, including source definition, target definition, and transformations. While you are working with the mapping, the repository locks the object for your use. Other users are unable to edit the objects you have checked out. When the mapping is ready to test, you check it in to the repository. When you check in the mapping, the repository creates a new version of the object and assigns it a version number. The first time you check in the object, the repository assigns it version number one. You also include comments with the checked in version, noting that it is the initial version of the mapping.

Creating Successive Versions


After creating a session and workflow and testing the initial version of the mapping, you edit the mapping based on the results of your tests. When you finish editing the mapping, you check it in to commit changes to a new version. Each time you check in the mapping, the repository creates a new version and increments the version number by one.

Deleting and Purging an Object


You want to remove a transformation instance from the mapping. When you delete the transformation, it disappears from view in the Navigator window, but the repository retains all versions of the transformation in the repository database. You do not need to use this transformation any more. You purge all versions of the transformation, permanently removing them from the repository and freeing up space in the repository database.

Overview

201

Freezing a Folder
After you finish developing and testing your metadata, you decide to freeze the folder. Freezing the folder prevents other users from checking out objects. You choose to freeze the folder and allow deployment of objects in the folder. Later, a query locates the object in the repository and includes it in a dynamic deployment group. The deployment group specifies objects in the development repository you want to put into production. For more information about creating deployment groups, see Working with Deployment Groups on page 236.

Viewing Results View Windows


You can query the repository for information about versioned objects. You can view results for the following types of versioned objects:

Object dependencies. View object dependencies to see the impact of changing or deleting an object. For more information about viewing object dependencies, see Viewing Object Dependencies on page 37. Object queries. An object query allows you to search for versioned objects in the repository that meet conditions you specify. For more information about viewing object queries, see Working with Object Queries on page 224. Checked out objects. You can view objects you and other users have checked out. For more information about viewing checked out objects, see Checking Out and Checking In Objects on page 211. Object histories. Object histories allow you to see the changes made to the object. For more information about viewing object histories, see Tracking Changes to Versioned Objects on page 208.

To switch between open results view windows, choose Window-Results View List. Figure 8-1 shows the Results View Windows List:
Figure 8-1. Results View Windows List

202

Chapter 8: Working with Versioned Objects

Working with Version Properties


When you enable version control in a repository, you allow the repository to store multiple copies of the same object as you make changes and save it. The repository assigns each copy, or version, of the object a version number. Each time you check in an object, the repository creates a new version and increments the version number by one. By default, the Navigator and workspace always display the latest version of an object. You can view the version history of an object or create a query to search for previous versions of an object. If you rename an object during development, different versions of the same object may have different names. Every version of an object takes up approximately the same amount of space in the repository database. To conserve space, you can purge older versions you no longer need from the Repository Manager. For more information on purging objects, see Purging a Version on page 216.

Viewing Version Properties


You can use the Designer, Workflow Manager, or Repository Manager to view the version properties of an object. You can view the version properties, labels applied to the version, and the status of the object in the Properties dialog box. To access the object properties, select the object in the Navigator and choose View-Properties. Or, right-click the object in the Main window or Navigator and choose Properties. In a versioned repository, the Properties dialog box for a versioned object has the following tabs: Object, Version, Labels, and Object Status. In a non-versioned repository, the Properties dialog box only displays the Object Status tab.

Object Properties
The Object tab of the Properties dialog box shows the object properties. Object properties are associated with the object when you create it. You can also view the current object version number and whether the object is checked out.

Working with Version Properties

203

Figure 8-2 shows the Object tab in the Properties dialog box:
Figure 8-2. Object Properties

Version Properties
On the Version tab, you can view properties that are specific to the latest version of the object. This includes the version number, the user and host that created the version, and any comments associated with the version. Figure 8-3 shows the Version tab in the Properties dialog box:
Figure 8-3. Version Properties

204

Chapter 8: Working with Versioned Objects

Labels Properties
On the Labels tab, you can view all labels applied to the object. For each label, you can also view the name of the user who applied the label, the time the label was applied, and comments associated with the label. Figure 8-4 shows the Labels tab of the Properties dialog box:
Figure 8-4. Labels Properties

For more information on creating and applying labels, see Working with Labels on page 219.

Object Status Properties


On the Object Status tab, you can view the current status of the object. You can also change the object status on this tab from the Repository Manager.

Working with Version Properties

205

Figure 8-5 shows the Object Status tab of the Properties dialog box:
Figure 8-5. Object Status Properties

The object status defines what actions you and other users can perform on the object. An object can have one of the following statuses:

Active. You and other users can edit the object. Deleted. The object is marked as deleted and is not visible in the Navigator. You can find a deleted object through a query.

You can manually change the status of an object from the Repository Manager.

Changing Object Status


You can change the status of individual repository objects from the Repository Manager. Each version of an object maintains its own status. You must check in the object for other users to view changes to the object status. This is true even if you delete the object. If you change the status of an object from Active to Deleted, the repository removes the object from view. No other objects can use or reference the deleted object. You can recover a deleted object by changing its status from Deleted to Active. For more information on deleting objects and recovering deleted objects, see Deleting and Purging Versioned Objects on page 215. You can change the status of an object when you view object history, query results, object dependencies, deployment group contents, or checkouts. To change object status, perform the following steps.

206

Chapter 8: Working with Versioned Objects

To change the status of an object: 1. 2. 3. 4. 5. 6.

In the Repository Manager, right-click the object in the Navigator and choose Versioning-View History. The View History window appears. Select the latest version of the object, and choose Tools-View Properties. The object properties appear. In the Properties dialog box, choose the Object Status tab. From the Object Status list, choose a status for the object. Click OK. Check in the object for other users to view changes to the status.

You can also change the status of folders in the repository. For more information, see Folder Properties on page 168.

Changing Folder Status


Changing the folder status allows you to control what operations you can perform on all versioned objects that the folder contains. To change the folder status, edit the folder in the Repository Manager. You can configure a folder with one of the following statuses:

Active. This status allows users to check out versioned objects in the folder. Frozen, Allow Deploy to Replace. This status does not allow users to check out objects in the folder. Deployment into the folder creates new versions of the objects. Frozen, Do Not Allow Deploy to Replace. This status does not allow users to check out objects in the folder. You cannot deploy objects into this folder.

You might change the status of a folder to serve different purposes depending on the configuration of your environment and your development processes. Suppose the environment contains a developing repository for creating and testing metadata and a production repository for running the workflows and sessions. In the development repository, you might change the status of a folder from Active to Frozen Do Not Allow Deploy to Replace in a code freeze scenario. This prevents other users from checking out objects in the folder and creating new versions. Each of the Frozen statuses allows the Repository Manager to add objects in the folder to a deployment group. In the production repository, you might change the status of a folder from Active to Frozen Allow Deploy to Replace to ensure that copy deployment group operations successfully complete. The Frozen Allow Deploy to Replace status prevents other users from checking out objects in the folder, but allows a copy deployment group operation to create new versions of objects. The Frozen Do Not Allow Deploy to Replace status prevents other users and copy deployment group operations from creating new versions of the objects.
Note: Before you change the status of a folder, you might want to verify that other users do not

have objects in the folder checked out.

Working with Version Properties

207

Tracking Changes to Versioned Objects


A repository enabled for version control maintains an audit trail of version history. It stores multiple versions of an object as you check out, modify, and check it in. As the number of versions of an object grows, you may want to view the object version history. You may want to do this for the following reasons:

Determine what versions are obsolete and no longer necessary to store in the repository. Troubleshoot changes in functionality between different versions of metadata.

To accomplish tasks like these, the PowerCenter Client allows you to view a history of all of the versions of an object stored in the repository. You can also compare two versions of an object displayed in the history.

Viewing Object History


The history of an object is a record of all of the versions of an object stored in the repository, going back to the initial version, version number one. The object history allows you to view user changes to an object, the date and time of changes, and comments associated with and labels applied to each version. If you or another user purges a version from the repository, the object history retains a record of the version in the object history and specifies the user who purged the version. You can view the history of a versioned object in the Designer, Repository Manager, and Workflow Manager. To view object version history in the Repository Manager, right-click the object in the Main window or the Navigator and choose Versioning-View History. Use the following methods to view the object version history in the Designer or Workflow Manager:

Right-click the object in the Navigator and choose Versioning-View History. Right-click the object in the workspace and choose Versioning-View History. Select the object in the workspace and choose Versioning-View History from the menu.

When you choose View History, the View History window displays the object version history.

208

Chapter 8: Working with Versioned Objects

Figure 8-6 shows the View History window:


Figure 8-6. View History Window

Table 8-1 lists additional tasks you can perform from the View History window:
Table 8-1. Tasks Available in View History Window Task Compare versions. View version properties. Apply or remove a label. Purge a version. Add version to deployment group. View object dependencies. Undo check out or check in. Save object version history to a file. Export object version to an XML file. Description See Comparing Versions on page 210. See Viewing Version Properties on page 203. See Working with Labels on page 219. See Deleting and Purging Versioned Objects on page 215. See Working with Deployment Groups on page 236. See Viewing Object Dependencies on page 37. See Checking Out and Checking In Objects on page 211. To save the version history to an HTML file, choose File-Save to File. Export the version to an XML file. For more information on exporting and importing objects, see Exporting and Importing Objects on page 263.

Tracking Changes to Versioned Objects

209

Comparing Versions
When you view the version history of an object, you can compare two selected versions of the object. When you compare two versions of an object, the PowerCenter Client displays the attributes of each object. This allows you to view all of the differences between the objects. To compare two versions of an object, select the versions that you want to compare in the object history and choose Tools-Compare-Selected Versions. Or, select one version and choose Tools-Compare-Previous Version. The interface for comparing two versions of the same object is the same as the interface for comparing two different objects. For information on comparing objects, see Comparing Repository Objects on page 45.

210

Chapter 8: Working with Versioned Objects

Checking Out and Checking In Objects


When you work with versioned objects, you check out an object each time you want to change it, and check it in when you want to commit your changes to the repository. Checking in an object adds a new version to the object history. You can check out and check in objects in the Designer and the Workflow Manager. You cannot check out objects from the Repository Manager.

Checking Out Objects


When you open an object in the workspace, the repository obtains a write-intent lock on the object for you if no other user has checked it out. No other repository users can edit the object while you have it checked out. This allows you to reserve an object while you work on it. When you work with composite objects, the Repository Agent treats non-reusable objects as part of the parent object, so you cannot check in or out individual non-reusable objects. For example, if you have a mapping that contains a non-reusable Aggregator transformation, you cannot check in the Aggregator transformation individually. When you check in the parent mapping, the Repository Agent checks in the non-reusable Aggregator transformation implicitly. If you disconnect from the repository without saving a checkout, the Repository Server releases the write-intent lock on the object and you lose the changes you made to the object. The Repository Agent reverts back to last checked-in version of the object. You must check out the object again when you reconnect. For more information on performing check outs, see Using the Designer in the Designer Guide or Using the Workflow Manager in the Workflow Administration Guide.

Viewing Checked Out Objects


You can view objects you and other users have checked out. You might want to view checkouts to see if an object is available for you to work with, or if you need to check in all of the objects you have checked out. You can choose to narrow or broaden your search for checked out objects in the following ways:

By folder. Search for checkouts in the selected folder, or search all folders in the repository. By user. Search for objects checked out by yourself, or search for objects checked out by all users in the repository.

Use the following steps as a guideline when you search for checked out objects:
To view checkouts: 1.

In the Designer, Workflow Manager, or Repository Manager, choose Versioning-Find Checkouts.

Checking Out and Checking In Objects

211

The Find Checkouts dialog box appears.

Specify folders.

Specify users.

2.

Select options to narrow or broaden your search, and click OK. The View Checkouts window appears. The results depend on the options you select for the search.

Table 8-2 lists additional tasks you can perform from the View Checkouts window:
Table 8-2. Tasks Available in View Checkouts Window Task Compare versions. View version properties. For more information... Compare the selected checkout with the previous checked in version. For more information, see Comparing Versions on page 210. View the object and version properties of the checkout. For more information, see Viewing Version Properties on page 203.

212

Chapter 8: Working with Versioned Objects

Table 8-2. Tasks Available in View Checkouts Window Task View object dependencies. Undo check out or check in. For more information... View dependencies for the selected checkout. For more information, see Viewing Object Dependencies on page 37. Check in or undo check out for the selected unmodified checkouts. See Undoing a Checkout on page 213 and Checking In Objects on page 213. To save the version history to an HTML file, choose File-Save to File. View the object version history for the selected checkout. For more information, see Viewing Object History on page 208. Export the version to an XML file. For more information on exporting and importing objects, see Exporting and Importing Objects on page 263.

Save object version history to a file. View object history. Export object version to an XML file.

Undoing a Checkout
You can undo a checkout. When you undo a checkout, the repository releases the write-intent lock on the object and removes the checkout version from the repository. The most recently checked in version of the object becomes the latest version of the object. If you want to modify the object again, you must check it out. You can undo a check out when you review the results of the following tasks:

View object history. You can undo a check out from the View History window. View checkouts. You can undo a check out from the View Checkouts window. View query results. You can undo a checkout from the Query Results window when you search for object dependencies or run an object query.

To undo a check out, select the checkout object and choose Tools-Undo Checkout.

Checking In Objects
When you finish making changes to a checked out object, you can check it in and commit the changes to the repository. When you check in an object, the repository creates a new version of the object and assigns it a version number. The repository increments the version number each time you check in an object. When you work with composite objects, the Repository Agent treats non-reusable objects as part of the parent object, so you cannot check in or out individual non-reusable objects. For example, if you have a mapping that contains a non-reusable Aggregator transformation, you cannot check in the Aggregator transformation individually. When you check in the parent mapping, the Repository Agent checks in the non-reusable Aggregator transformation implicitly. The Repository Agent does not check in reusable objects when you check in a composite parent object, such as a mapping. If you want to check in all objects used in a mapping, you must check in reusable objects separately.

Checking Out and Checking In Objects

213

You must save an object before you can check it in. You can check in objects from the Designer, Workflow Manager, or Repository Manager. For more information on performing a check in, see Using the Designer in the Designer Guide or Using the Workflow Manager in the Workflow Administration Guide.

214

Chapter 8: Working with Versioned Objects

Deleting and Purging Versioned Objects


When you delete an object in a versioned repository, the repository removes the object from view in the Navigator window or in the workspace, but does not delete the object or any object version from the repository database. Instead, the repository creates a new version of the object and changes the object status to Deleted. You can recover a deleted object by changing its status to Active. If you want to permanently remove a version of an object from the repository, you must purge the version from the Repository Manager. You might want to purge a version if you no longer need to retain the version for development reasons and you want to reduce the size of the repository in the database. If you purge all versions of an object, you permanently remove the object from the repository.

Deleting a Versioned Object


You can delete a versioned object in the Designer, Workflow Manager, or Repository Manager. When you delete a versioned object, the repository changes the object status to Deleted, and removes the object from view in the workspace and the Navigator. You must check in deleted objects for other users to view the changed status. When you delete a composite object, such as a mapping, that contains non-reusable objects, the Repository Server treats the non-reusable object as part of the parent object and deletes it. The repository retains the metadata information for all versions of a deleted object. If you want to permanently remove the object from the repository, you must purge it from the Repository Manager.

Recovering a Deleted Object


You can recover a deleted object by changing the object status to Active. This makes the object visible in the Navigator or the workspace. You can use a query to search for deleted objects. You must use the Repository Manager to recover a deleted object. Use the following process as a guideline when you recover a deleted object: 1. Create and run a query to search for deleted objects in the repository. You can choose to search for all objects marked as deleted, or add conditions to narrow your search. For more information on creating and running queries, see Working with Object Queries on page 224. Change the status of the object you want to recover from Deleted to Active. For information on changing the status of an object, see Changing Object Status on page 206. If the recovered object has the same name as another object that you created after you deleted the recovered object, you must rename the object.

2.

3.

Deleting and Purging Versioned Objects

215

Tip: To query the repository for deleted objects, include the following condition in your

query:
Object Status Is Equal To Deleted

Purging a Version
To permanently remove an object version from the repository, you must purge it from the Repository Manager. When you purge an object version, the repository permanently removes it from the repository database. You can also purge multiple versions of an object from the repository at the same time. To completely purge an object from the repository, you must purge all versions. You can purge a version from the View History window. If you purge a version earlier than the latest version, the repository maintains a record of the purge in the object history. If you purge the latest version, the repository does not maintain or keep a record of the purge. If you purge the latest version, and the prior version has a different name, the prior version takes the name of purged version. For example, you have the source src_Records. The latest version is named src_Records, but the name of the previous version in the history is src_RecordsWeekly. If you purge the latest version, the name of the previous version changes to src_Records. To purge a version, select it from the object version history in the Repository Manager. Choose Tools-Purge Object Version.

216

Chapter 8: Working with Versioned Objects

Chapter 9

Grouping Versioned Objects


This chapter includes the following topics:

Overview, 218 Working with Labels, 219 Working with Object Queries, 224 Working with Deployment Groups, 236

217

Overview
You can use labels, queries, and deployment groups to identify versioned objects that meet a certain criteria. You can create labels, queries, and deployment groups in the Repository Manager, and you can group objects from the Designer, Workflow Manager, and Repository Manager. You can group objects in the following ways:

Apply labels. You use labels to associate groups of versioned objects in a repository. You can apply a label to a group of objects across repositories in a domain. Use labels to track versioned objects. For information about labels, see Working with Labels on page 219. Run queries. You use queries to search for versioned objects in the repository. You might want to run a query to find objects to export or deploy, or to compare versions. For more information about queries, see Working with Object Queries on page 224. Create deployment groups. You create deployment groups to deploy objects to another repository within the domain. You can deploy objects when you move from test to production. For more information about deployment groups, see Working with Deployment Groups on page 236.

You can use labels, queries, and deployment groups to locate and group objects for deployment. For example, your environment includes a development repository and a production repository. You create and test metadata in the development repository, and then deploy it to the production repository. While working in the development repository, you want to track the different versions of objects you create and deploy the latest versions of these objects to the production repository. As you create objects, you assign a deployment label to those objects you have tested and are ready to deploy. You then create a query to locate all the objects that use the deployment label. The query returns objects that reside in different folders in your development repository. Finally, you create a deployment group to identify objects for deployment to another repository. You want to deploy the objects that you test each day. To do this, you create a dynamic deployment group that runs a query against the source database at deployment time. This populates the deployment group with a new set of objects each time you deploy the group.

218

Chapter 9: Grouping Versioned Objects

Working with Labels


A label is a versioning object that you can associate with any versioned object or group of versioned objects in a repository. You may want to apply labels to versioned objects to achieve the following results:

Track versioned objects during development. Improve query results. Associate groups of objects for deployment. Associate groups of objects for import and export.

For example, you might apply a label to sources, targets, mappings, and sessions associated with a workflow so that you can deploy the workflow to another repository without breaking any dependency. You can apply the label to multiple versions of an object. Or you can specify that you can apply the label to one version of the object only. You can create and modify labels in the Label Browser. From the Repository Manager, choose Versioning-Labels to browse for a label.

Creating and Editing Labels


When you create or edit a label, you can specify the label name, specify the number of times users can apply the label, and add comments. You can choose to apply the label to multiple object versions when you do not need to limit label applications. Or you can choose to apply the label to one object version when you need to limit the number of times users apply labels. You can also choose to lock the label, which prevents other users from editing or applying the label. You lock a label to limit access to the label or ensure you apply a label only once. For example, you might want to apply a label to a group of objects to indicate that you tested the objects and are ready to deploy them. Once you apply the label, you can lock it to prevent users from editing the label or applying the label to other objects. To create a label, choose Versioning-Labels from the Repository Manager to open the Label Browser.

Working with Labels

219

Figure 9-1 shows the Label Browser:


Figure 9-1. Label Browser

Note: Click a column heading to sort labels by that column.

Select New to open the Label Editor. Select from the options in the Label Editor to create a label object. Figure 9-2 shows the Label Editor options:
Figure 9-2. Label Editor Options

Enter a name for the label object.

Lock the label to prevent users from editing or applying the label. You can lock the label when you edit it.

When you edit a label object, you can edit the name or the comments associated with it, or you can choose to lock the label to prevent other users from editing or applying the label.

220

Chapter 9: Grouping Versioned Objects

When you delete a label, the Repository Server permanently deletes all instances of the label that have been applied to versioned objects.

Applying Labels
You can apply one or more labels to any versioned object in the repository. You can select any label you have execute permissions for. You can also apply the label to selected dependent objects. For example, if you want to group dependencies for a workflow, you can choose to label all children objects. The Repository Server applies labels to sources, targets, mappings, and tasks associated with the workflow. Or, if you deploy objects to multiple repositories, you can apply the label to global shortcut dependencies. When you deploy labels to global shortcut dependencies, you can apply the label to dependent objects in a global repository from a local repository. Or, you can apply the label to dependent objects in all registered local repositories in a global repository. You can apply labels to objects when you complete one of the following tasks from the Designer, Workflow Manager, or Repository Manager:

View the history of an object. When you view the history of an object, choose ToolsLabels-Apply Label from the View History window. Create an object query. When you run an object query, choose Tools-Labels-Apply Label from the Query Results window.

Or, you can apply labels by selecting Versioning-Apply Labels in the Repository Manager. In the Repository Manager, you open the Label Wizard, which allows you to apply labels to groups of objects. Figure 9-3 shows the Apply Label dialog box:
Figure 9-3. Apply Label Dialog Box

Working with Labels

221

Table 9-1 describes the label options:


Table 9-1. Label Options and Description Label Options Move Label Description Moves the label from a previous version of the object to the latest version of the object. If the Repository Server detects the label is applied to another version of the same object, you can choose to move the label to the selected version of the object. Applies the label to all repository objects that the selected object uses. Applies the label to all repository objects that use the selected object. Applies the label to the source object containing the primary key referenced by the foreign key in the selected source object. Applies the label to global shortcut objects. Select one of the previous options, such as Label all children, and select Global Shortcut dependencies. The Repository Agent applies the label to global shortcuts that meet the conditions you specify. Previews the group of objects that the Repository Agent applies the label to when you apply labels to dependent objects.

Label all Children Label all Parents Primary/Foreign Key Dependencies Global Shortcut Dependencies Preview

When you apply a label to parent or child objects, the Repository Agent applies the label to objects that are checked in to the repository. You cannot apply labels to checked out objects. When you search for an object, view an object history, or view object properties, you can view metadata for the labels applied to an object. You can view the label owner, the timestamp when the label was applied, and the comments you entered when applying the label to the object.

Applying Labels to Groups of Objects


In the Repository Manager, you can use the Label Wizard to apply a label to groups of objects. To open the label wizard, choose Versioning-Apply Labels and click Next. You can apply labels to the following groups of objects:

One or more objects in a folder All objects in one or more folders All objects in one or more selected repositories

222

Chapter 9: Grouping Versioned Objects

Figure 9-4 shows the Apply Label Wizard:


Figure 9-4. Apply Label Wizard

Select the folder or folders containing objects you want to label. Label selected objects.

Label all objects in a selected repository.

After you select objects to label, browse to select the label to apply and choose label options. For more information about label options, see Table 9-1 on page 222. You can select Preview to view the objects the Repository Agent labels.

Working with Labels

223

Working with Object Queries


You use an object query to search for versioned objects in the repository that meet specified conditions. When you run a query, the repository returns results based on those conditions. You may want to create an object query to perform the following tasks:

Track objects during development. You can add Label, User, Last saved, or Comments parameters to queries to track objects during development. For more information, see Query Parameters on page 227. Associate a query with a deployment group. When you create a dynamic deployment group, you can associate an object query with it. For more information, see Working with Deployment Groups on page 236. Find deleted objects you want to recover. For more information about recovering deleted items, see Recovering a Deleted Object on page 215. Find groups of invalidated objects you want to validate. For more information about validating groups of objects, see Validating Multiple Objects on page 42.

The Query Browser allows you to create, edit, run, or delete object queries. You can also view the list of available queries in the Query Browser. Choose Versioning-Queries to browse for a query. You can also configure permissions for the query from the Query Browser. For more information about configuring query permissions, see Permissions on page 148. Figure 9-5 shows the Query Browser:
Figure 9-5. Query Browser

Edit a query. Delete a query. Create a query. Configure permissions. Run a query.

Note: Click a column heading to sort queries by that column.

224

Chapter 9: Grouping Versioned Objects

In the Query Browser, select New or Edit to open the Query Editor. You can create, validate, and run a query in the Query Editor. Figure 9-6 shows the Query Editor:
Figure 9-6. Query Editor Save query. Validate query. Run query. Add a logical operator. Add a query condition.

Specify query conditions.

When you create a query, you can make it personal or shared. You can run personal object queries you own and any shared object query in the repository.

Configuring Query Conditions


Each query condition consists of a parameter, an operator, and a value. You can add, cut, copy, paste, and move query conditions. Each time you add a query parameter, you specify an operator and a value. You can view the valid operators and values for each parameter when you add the parameter to a query. You may need to configure multiple query conditions to effectively narrow your results. You can use the AND or OR logical operators to add multiple query conditions. For example, you might want to deploy a group of objects with the Deployment_2 label, but you also want to ensure that the objects were saved after a particular date.

Working with Object Queries

225

Figure 9-7 shows a query with multiple conditions:


Figure 9-7. Query with Multiple Conditions Add, edit or move query conditions and operators.

Add logical operators. Add multiple query conditions.

When the Repository Agent processes a parameter with multiple conditions, it processes them in the order you enter them. To receive expected results and improve performance, enter parameters in the order you want them to run. If you nest several parameters within a query, the Repository Agent resolves each inner parameter condition until it can resolve the outer parameter condition. For example, when you run the following query with nested conditions, the Repository Agent resolves the innermost conditions and the next outer conditions until it resolves all parameter conditions:
5 2 1

226

Chapter 9: Grouping Versioned Objects

Query Parameters
You build queries using query parameters. Each query parameter uses operators and accepts values. Table 9-2 describes the query parameters and the valid operators and values for each parameter:
Table 9-2. Query Parameters and Values Parameter AND Business Name Description Joins query conditions or groups of query conditions. Displays sources and targets based on their business names. For example, the query Business Name is equal to Informatica returns sources and targets that contain the Informatica business name, and filters out all other objects. The query Business Name is not equal to Informatica, filters out sources and targets with the Informatica business name and keeps all other objects. The Business Name query does not return shortcuts to objects that contain business names. Displays objects that are checked in at, before, or after a specified time or within a specified number of days. Valid Operator None Contains Does Not Contain Does Not End With Does Not Start With Ends With Is Equal To Is Not Equal To Is Not One Of Is One Of Starts With Accepted Values None String

Check-in time

Greater Than Is Between Less Than Is Not Between Within Last (days) Contains Does Not Contain Does Not End With Does Not Start With Ends With Is Equal To Is Not Equal To Is Not One Of Is One Of Starts With Greater Than Is Between Less Than Is Not Between Within Last (days) Greater Than Is Between Less Than Is Not Between Within Last (days)

Date/time Numeric

Comments

Displays comments associated with a source, target, mapping or workflow.

String

Deployment Dispatch History

Displays objects deployed to another folder or repository through deployment groups in a given time period.

Date/time Numeric

Deployment Receive History

Displays objects deployed from another folder or repository using deployment groups in a given time period.

Date/time Numeric

Working with Object Queries

227

Table 9-2. Query Parameters and Values Parameter Folder Description Displays objects in a specified folder. Valid Operator Is Equal To Is Not Equal To Is Not One Of Is One Of Where (Value 1) depends on (Value 2) Accepted Values Folder name

Include Children

Displays child dependent objects. For more information about object dependencies, see Viewing Object Dependencies on page 37.

Any Source Definition Target Definition Transformation Mapplet Mapping Cube Dimension Task Session Worklet Workflow Scheduler SessionConfig Any Source Definition Target Definition Transformation Mapplet Mapping Cube Dimension Task Session Worklet Workflow Scheduler SessionConfig Any Source Definition Target Definition Transformation Mapplet Mapping Cube Dimension Task Session Worklet Workflow Scheduler SessionConfig N/A

Include Children and Parents

Displays child and parent dependent objects. For more information about object dependencies, see Viewing Object Dependencies on page 37.

Where (Value 1) depends on (Value 2)

Include Parents

Displays parent dependent objects. For more information about object dependencies, see Viewing Object Dependencies on page 37.

Where (Value 1) depends on (Value 2)

Include Primary/ Foreign Key Dependencies

Displays primary key-foreign key dependencies.

N/A

228

Chapter 9: Grouping Versioned Objects

Table 9-2. Query Parameters and Values Parameter Invalidated Status Label Description Displays objects invalidated due to changes to a child dependent object. Displays objects associated with a label or group of labels. Valid Operator Is Equal To Is Equal To Is Not Equal To Is Not One Of Is One Of Greater Than Is Between Less Than Is Not Between Within Last (days) Is Equal To Is Not Equal To Is One Of Accepted Values Is invalidated Is not invalidated Labels for which you have execute permissions Date/time Numeric

Last Saved Time

Displays objects saved at a particular time or within a particular time range.

Latest Status

Displays objects based on the object history. The query can return local objects that are checked out, the latest version of checked-in objects, or a collection of all older versions of objects. For more information about restoring deleted objects, see Recovering a Deleted Object on page 215. For more information about purging older versions of objects, see Purging a Version on page 216. Displays objects based on an extension name or value pair. You can use this query parameter to find non-reusable metadata extensions. The query does not return user-defined reusable metadata extensions. Displays objects based on the object name.

Checked-out Latest checked-in Older

Metadata Extension

Is Equal To Is Not Equal To

User-defined metadata domain Any vendor-defined metadata extensions

Object Name

Contains Does Not Contain Does Not End With Does Not Start With Ends With Is Equal To Is Not Equal To Is Not One Of Is One Of Starts With

String

Working with Object Queries

229

Table 9-2. Query Parameters and Values Parameter Object Type Description Displays objects based on the object type. For example, you can find all workflows in a specified folder. Valid Operator Is Equal To Is Not Equal To Is Not One Of Is One Of Accepted Values Cube Dimension Mapping Mapplet Scheduler Session Session Config Source Definition Target Definition Task Transformation Workflow Worklet Unused Used

Object Used Status

Displays objects that are used by other objects. For example, you can find mappings that are not used in any session. If any version of an object is used by another object, the query returns the most recent version of the object. This occurs even when the most recent version of the object is unused. The query does not return workflows or cubes, as these objects cannot be used by other objects. For more information about dependencies, see Viewing Object Dependencies on page 37. Displays objects based on shortcut status. If you select this option, the query returns local and global shortcut objects. Shortcut objects are considered valid regardless of whether the objects they reference are valid. Displays reusable or non-reusable objects. Displays objects checked in or checked out by the specified user.

Is Equal To

Shortcut status

Is Equal To

Is Not Shortcut Is Shortcut

Reusable Status User

Is Equal To Is One of Is Equal To Is Not Equal To Is Not One Of Is One Of Is Equal To Is Equal To Is One of

Non-reusable Reusable Users in specified repository

Valid Status Version Status

Displays valid, invalid, and invalidated objects. Displays objects based on deleted or non-deleted status.

Invalid Valid Deleted Not deleted

Note: Valid operators and values depend upon the tool you use to create and view queries.

230

Chapter 9: Grouping Versioned Objects

Validating and Saving a Query


After you create the object query and specify the conditions, you validate it. Select Validate to run the query validation. The Validate Query window displays the validation results. If the validation returns an error, review the error message and validate the query again. Once you validate the query, you can save it for later use. For example, if you regularly run an object query on checkin histories, you might want to save the object query so that you can easily run it again.

Invalid Queries
The query parameters you can view and use in the Query Editor are determined by the tool you use to create queries. When you create a query in one PowerCenter Client tool, the query may appear invalid when you open it in another tool. For example, you can view query parameters such a workflows, worklets, and sessions in the Workflow Designer. If you open a query that uses Workflow Designer parameters in the Designer, the query may appear invalid. For example, you create a query in the Workflow Manager using the following parameters.

Object Type is equal to Workflow. Valid Status is equal to Invalid.

When you open the query in the Designer, the query appears invalid:
Workflow query invalidated in the Designer.

Queries can be invalidated when you use logical operators with the wrong number or kind of query conditions. For example, an AND logical operator requires at least one parameter to be valid. The following example shows a query that is invalid because the AND operator has no parameters:
The query is invalid because the logical operator requires parameters.

Working with Object Queries

231

Running a Query
After you create and validate the object query, you can run it. The Repository Agent queries the repository and displays the results of the query in the Query Results window. Figure 9-8 shows sample query results from the object query shown in Figure 9-7 on page 226:
Figure 9-8. Sample Query Results

From the Query Results window, you can complete tasks by selecting the object and choosing Tools. Table 9-3 lists additional tasks you can perform from the Query Results window:
Table 9-3. Tasks Available in Query Results Window Task View history. Compare versions. Validate multiple objects. Check in. Undo check out. Export to an XML file. Apply or remove a label. View object dependencies. Task Information See Viewing Object History on page 208. See Comparing Versions on page 210. See Validating Multiple Objects on page 42. See Checking Out and Checking In Objects on page 211. See Checking Out and Checking In Objects on page 211. See Exporting and Importing Objects on page 263. See Working with Labels on page 219. See Viewing Object Dependencies on page 37.

232

Chapter 9: Grouping Versioned Objects

Table 9-3. Tasks Available in Query Results Window Task View version properties. Add version to deployment group. Change object status. Purge a version. Save object version history to a file. Open object in a workspace. Task Information See Viewing Version Properties on page 203. See Working with Deployment Groups on page 236. See Changing Object Status on page 206. See Purging a Version on page 216. To save the version history to an HTML file, choose File-Save to File. Select this option to open an object in the workspace when the object type is compatible with the tool in which you run the query. For example, you can open a workflow in the Workflow Manager using this option.

For more information on managing versioned objects, see Working with Versioned Objects on page 199.

Viewing Query Results


By default, when you run an object query, the Repository Agent returns objects that meet the following criteria:

Objects are the latest version, either local checkout versions or checked-in versions. Objects are reusable. Objects that are not deleted.

If you want to view deleted or older objects, you must specify these values in the query parameter. You can search for deleted objects using the Deleted value in the Version Status parameter. You can search for older versions of objects when you specify the Older value in the Latest Status query parameter.
Note: If you run a query without specifying query conditions, the query returns reusable

objects in the repository.

Sample Queries
The following sample queries illustrate how to create query conditions with different parameters, operators, and values.

Finding Recently Deployed Objects


The following query returns the latest checked-in version of objects deployed within the last seven days and are reusable or non-reusable:

Working with Object Queries

233

Finding Invalidated Mappings


The following query returns the latest checked-in version of objects that are invalidated and whose object type is mapping. The Designer or Workflow Manager invalidates a parent object when you modify a child object in such a way that the parent object may not be able to run. The query returns invalidations for composite objects such as mapplets, mappings, sessions, worklets and workflows:

Note: You can use the invalidated object query to search for invalidated objects and run a

validation on multiple objects. For information about validating multiple objects, see Validating Multiple Objects on page 42.

Finding Invalid Mappings


The following query returns the latest checked-in version of objects in the repository that are invalid and whose object type is mapping. The Designer or Workflow Manager invalidates a parent object when you modify a child object in such a way that the parent object may not be able to run.

Finding The Used Status of Objects


The following query returns the latest checked-in version of objects that are mappings and that are not used by any session:

Finding Older Versions of Objects


The following query returns objects that are mappings and that are older and that are checked in by the Administrator:

234

Chapter 9: Grouping Versioned Objects

Finding Object Dependencies


The following query returns sources and targets in the Vendors folder that are dependent on the mapping, Mapping_deploy. To search for parent and child dependencies, choose to include children and parent dependencies. Select source definitions and target definitions for Value 1 and select mapping for Value 2. To include reusable and non-reusable dependencies, select both reusable and non-reusable dependency in Value 3:

Working with Object Queries

235

Working with Deployment Groups


A deployment group is a versioning object that allows you to group versioned objects for deployment to a different repository. You can create the following types of deployment groups:

Static. You populate the deployment group by manually selecting objects. Dynamic. You use the result set from an object query to populate the deployment group.

To work with deployment groups, choose Versioning-Deployment Groups from the Repository Manager. You can complete the following tasks:

Create or edit a deployment group. For more information, see Creating and Editing a Deployment Group on page 237. Configure permissions for a deployment group. For more information see Permissions on page 148. View the objects in a static or dynamic deployment group. You can run a query to preview the objects that the Repository Agent will deploy. View the history of a deployment group. You can view the history of a deployment group, including the source and target repositories, deployment date, and user who ran the deployment. For more information, see Viewing Deployment History on page 237.

Figure 9-9 shows the Deployment Group Browser:


Figure 9-9. Deployment Group Browser

Preview the objects in a deployment group. View the history of a deployment group.

Note: Click a column heading to sort deployment groups by that column.

236

Chapter 9: Grouping Versioned Objects

Creating and Editing a Deployment Group


To create or edit a deployment group, choose New or Edit from the Deployment Group Browser, and configure the options in the Deployment Group Editor. Figure 9-10 shows the Deployment Group Editor:
Figure 9-10. Deployment Group Editor

Enter a name for the deployment group.

Choose a static or dynamic group. Select a query to associate with a dynamic deployment group.

Once you create the deployment group, you add objects to a static group or associate an object query with a dynamic group.

Viewing Deployment History


To view the history of a deployment group, select a deployment group in the Deployment Group Browser and choose View History. You can view the following information about groups you deployed:

Date/time. The date and time you deployed the group. User name. The user name of the person who deployed the group. Deployment group name. The name of the deployment group. Source repository. The repository you deployed the group from. Target repository. The repository where you deployed the group.

Working with Deployment Groups

237

For more information about deploying objects to repositories, see Copying Folders and Deployment Groups on page 241. Figure 9-11 shows the Deployment Group History:
Figure 9-11. Deployment Group History

Initiate a rollback.

Rolling Back a Deployment


You can roll back a deployment. Rolling back a deployment purges the deployed versions from the target repository. When you roll back a deployment, you roll back all the objects in a deployment group that you deployed at a specific date and time. You cannot roll back part of a deployment. You can initiate a rollback on a deployment as long as you roll back only the latest versions of the objects. The rollback ensures that the check-in time for the repository objects is the same as the deploy time. If the check-in time is different, then the repository object is not the same as the object in the deployment. The rollback fails. The rollback also fails if the rollback process causes you to create duplicate object names. This might occur if you rename a deployed object, create a new object with the same name, and attempt to roll back the original deployment.
To roll back a deployment: 1. 2. 3.

Select a deployment group in the Deployment Group Browser and choose View History. Select a deployment to roll back. Click Rollback.

The Repository Agent checks the object versions in the deployment run against the objects in the target repository. If any of the checks fail, the Repository Agent notifies you of the object that caused the failure. The rollback results display at the end of processing.

238

Chapter 9: Grouping Versioned Objects

Working with Static Deployment Groups


You might want to create a static deployment group if you do not expect the set of deployment objects to change. For example, you might group objects for deployment on a certain date and deploy all objects at once. You manually add or delete objects from a static deployment group. You can add checked in objects to a static deployment group from the Repository Manager. You cannot add checked out objects to a deployment group. You can add objects to a deployment group when you view the results of an object query or view the results of an object history query from the Repository Manager. To add objects from the Query Results or View History windows, choose Tools-Add to deployment group. In the Repository Manager, right-click an object in the Navigator or in a detail window, and choose Versioning-View History. In the View History window, choose Tools-Add to deployment group. To add several objects to a deployment group, select the group of objects in the Navigator and drag them into the deployment group. When you add objects to a static deployment group, you can also add child dependent objects to the deployment group. You can specify the following conditions for adding child dependencies:

All dependencies. Select to deploy all child dependencies. Non-reusable. Select to deploy non-reusable dependent child objects. No dependencies. Select to skip deploying dependent objects.

Figure 9-12 shows the Dependency for deployment group dialog box:
Figure 9-12. Dependency for Deployment Group Dialog Box

When you select All Dependencies, you add all dependent objects to the static deployment group. Dependent objects can include dependent objects within a workflow or mapping as well as objects that shortcuts reference and primary key sources where there is a primary keyforeign key relationship. For information on deploying groups to a repository, see Copying Folders and Deployment Groups on page 241.

Working with Deployment Groups

239

Working with Dynamic Deployment Groups


You might want to create a dynamic deployment group if you expect the set of deployment objects to change frequently. For example, you might use a dynamic deployment group if you develop multiple objects for deployment on different schedules. You can run the dynamic deployment group query multiple times and add new objects to the group each time you run the query. If you want to find the latest versions of objects in a dynamic deployment group, you must create all mappings in the group with labels. If the dynamic deployment group contains a non-reusable object in an unlabeled mapping, the group will not deploy. For more information on deploying groups of objects, see Copying Folders and Deployment Groups on page 241. For more information on managing versioned objects, see Working with Versioned Objects on page 199.

Using Queries with Dynamic Deployment Groups


When you associate an object query with the deployment group, the Repository Agent runs the query at the time of deployment. You can associate an object query with a deployment group when you edit or create a deployment group. The parent object and non-reusable child objects in a dynamic deployment group may not have the same label applied to them in the following circumstances:

You changed the parent object, but did not apply a label to the latest version of the object. You applied different labels to reusable or non-reusable objects when viewing the object history in the results view.

240

Chapter 9: Grouping Versioned Objects

Chapter 10

Copying Folders and Deployment Groups


This chapter contains information on the following topics:

Overview, 242 Using the Copy Wizards, 244 Copying or Replacing a Folder, 248 Copying a Deployment Group, 254

241

Overview
You can use the Repository Manager to copy multiple objects from one repository to another. You can perform the following copy operations:

Copy a folder. You can copy a folder and all of its contents within a repository, or from a source repository into a target repository. Replace a folder. You can copy a folder and all of its contents from a source repository and replace an existing folder of the same name in the target repository. The contents of the replaced folder are overwritten. Copy a deployment group. You can copy the objects in a dynamic or static deployment group to multiple target folders in the target repository. The deployment operation creates new versions of existing objects in the target folders.

If you want to archive or share metadata or deploy metadata into production, you may use copy folder to copy an entire folder. If you want to update the metadata in a folder already in production, you can replace the folder. For example, you have a folder called Sales in the development repository. When it is ready for production, you copy the Sales folder into the production repository. After a week in production, you want to make minor changes. You edit the Sales folder in the development repository and test the changes. When the folder is ready for production, you can either copy the folder into the production repository, resulting in two copies of the folder in production, or you can replace the existing Sales folder with the new one. Replacing the folder allows you to update the production repository without creating multiple copies of the folder. If the repository is enabled for versioning, you may also copy the objects in a deployment group from one repository to another. Copying a deployment group allows you to copy objects in a single copy operation from across multiple folders in the source repository into multiple folders in the target repository. Copying a deployment group also allows you to specify individual objects to copy, rather than the entire contents of a folder. You can also effectively use different copy operations together. You might use copy folder and copy deployment group together in your repository environment at different stages of the development process. For example, you have a development and production repository. When you complete initial development for the metadata in a new folder and you are ready to deploy the objects into production you copy the folder and all of its objects into the production repository. As development continues you make changes to a session in the folder. You do not need to copy all of the metadata in the folder to production, so you add the session to a deployment group. When you copy the deployment group, the Copy Deployment Group wizard creates a new version of the session in the target folder.

PowerCenter Server Processing


When you copy or replace a folder, or copy a deployment group, the repository does not allow the PowerCenter Server to fetch objects from the target repository. When a PowerCenter
242 Chapter 10: Copying Folders and Deployment Groups

Server tries to access the repository to run a workflow, session, or task while a repository is blocked, the repository denies access and returns the following message:
Access to the repository is blocked since a folder/object deployment is in progress. The current operation will be suspended until the deployment is completed.

The error message appears in either the server log, workflow log, or session log, depending on which operation the PowerCenter Server tried to perform. For example, if the PowerCenter Server tried to fetch session information to run a session in a workflow, the message appears in the workflow log. The PowerCenter Server pauses until the repository completes the deploy. It cannot fetch objects in that repository during this time. When the repository allows access again, it displays the following message:
The folder/object deployment has completed. The current operation will resume.

The PowerCenter Server fetches the repository object and completes the workflow, session, or task.

Overview

243

Using the Copy Wizards


The Repository Manager provides a wizard to copy and replace folders and to copy deployment groups. The wizard steps vary depending on the operation and the contents of the folder or deployment group you want to copy. When you copy a folder or deployment group, you must perform many of the same actions to ensure both the Copy Folder and Copy Deployment Group wizards allow you to perform the following actions:

Choose a PowerCenter Server. Use the PowerCenter Server to run all workflows in the folder if a matching server does not exist in the target repository. Retain assigned PowerCenter Server settings. Retain the assigned server settings for workflows and session instances configured to run on specific PowerCenter Servers in a server grid. Copy connections. Copy database, FTP, external loader, and Application connection information if matching connection names do not exist in the target repository. Copy plug-in application information. Copy plug-in application component information that does not exist in the target repository. Copy persisted values. Copy the saved persisted values for mapping variables used in a session and workflow variables used in a workflow. Copy metadata extension values. Copy the metadata extension values associated with repository objects.

For specific instructions on using the Copy Folder Wizard to copy or replace a folder, see Copying or Replacing a Folder on page 248. For specific instructions on using the Copy Deployment Group Wizard to copy a deployment group, see Copying a Deployment Group on page 254.

Copy Modes
When you copy a folder or deployment group, you must choose from the following Copy Wizard modes:

Typical. The wizard uses the defaults for shortcuts to local and global shared folders. Advanced. You can override the defaults for shortcuts to local and global shared folders. You can choose the shared folder to associate shortcuts. The wizard might have to determine how the folders are related before establishing shortcuts.

244

Chapter 10: Copying Folders and Deployment Groups

Registered PowerCenter Servers


Each workflow is configured to run on an associated PowerCenter Server in the repository. The wizard associates or prompts you to associate a copied session with a PowerCenter Server in the target repository under the following circumstances:

If the target repository contains a PowerCenter Server name that matches the PowerCenter Server or servers configured to run the folder workflows, the wizard registers those workflows with the existing PowerCenter Servers. If a PowerCenter Server with the same name does not exist in the target repository, the wizard lists all of the PowerCenter Servers in the target repository. You then select one of those Servers to run all unassociated workflows. If there is only one PowerCenter Server in the target repository, it registers all unassociated workflows. If the target repository has no registered PowerCenter Servers, the wizard does not copy PowerCenter Server connection information. Instead, when you register a PowerCenter Server with the repository, the Workflow Manager assigns all workflows to that first PowerCenter Server.

Associating with Multiple PowerCenter Servers


If the workflows in a folder are associated with multiple PowerCenter Servers in the originating repository, you can associate them with multiple PowerCenter Servers in the target repository. The Copy Folder Wizard uses the following rules to associate servers:

If the target repository contains a PowerCenter Server name that matches the PowerCenter Servers configured to run the folder workflows, the wizard associates the workflow with the same PowerCenter Server in the target repository. If the target repository does not contain a PowerCenter Server with the same name, you can choose a PowerCenter Server to run the workflow.

Tip: If you want to use PowerCenter Servers with the same name, you must register those

servers before you copy the folder. If you associate another PowerCenter Server with a workflow when you copy a folder, make sure that the directory structure for server variables and other directory paths in the session properties match.

Connections
The Copy Wizard copies connections used by sessions in the folder or deployment group. If the connection already exists in the target repository, the Copy Wizard uses the existing connection. The wizard does not overwrite connections in the target repository.

Using the Copy Wizards

245

When you copy a folder or deployment group, the wizard displays the following information about connections:

No Match Found. No match exists in the target repository. The wizard copies the object. You have access to the object in the originating repository. Match Found. A matching object with the same name exists in the target repository. You have access to the objects in both the originating and target repositories. Match Found - Permission Denied, will copy and rename to [new_name]. A matching object with the same name exists in the target repository. You have access to the object in the originating repository, but no access to the object in the target repository. The wizard copies the object and renames it by appending a number to the name. Permissions Denied. You have no access to the object in the originating repository. All sessions using this connection are invalidated.

Metadata Extensions
When you copy objects to another repository, the Copy Wizard copies the metadata extension values associated with those objects to the target repository. The metadata extension values may or may not be available in the target repository. This depends on whether the extensions are non-reusable or reusable.

Non-Reusable Metadata Extensions


Non-reusable metadata extensions apply to single objects such as one source definition or one session. You create non-reusable metadata extensions in the Designer or Workflow Manager. When you copy an object that contains a non-reusable metadata extension, the Copy Wizard copies the extension to the target repository with the object. The extension becomes nonreusable in the target repository. You can edit it, delete it, or promote it to a reusable extension. If the metadata extension contains a value, the wizard retains the value of the metadata extension in the target repository. For more information about non-reusable metadata extensions, see Working with Metadata Extensions on page 327.

Reusable Metadata Extensions


Reusable metadata extensions apply to all repository objects of a certain type, such as all workflows or all Expression transformations. Reusable metadata extensions that you create exist in the User Defined Metadata Extension domain. Reusable extensions that other applications create exist in the appropriate vendor domain.

User-defined extensions. When you copy an object that contain user-defined, reusable metadata extensions, the Copy Wizard copies the extensions to the target repository. If the definition exists in the target repository, the copied extensions become reusable in the target repository. If the definition does not exist in the target repository, the copied extensions become non-reusable.

246

Chapter 10: Copying Folders and Deployment Groups

Vendor-defined extensions. When you copy an object that contains vendor-defined metadata extensions, the Copy Wizard copies the extensions to the target repository and retains their values. If the vendor domain exists in the target repository, the metadata extensions become part of that domain in the target repository. Therefore, you can view them or change the values as you do with the other metadata extensions in that domain. If the vendor domain does not exist in the target repository, the Copy Wizard allows you to cancel the copy or continue. If you continue, the extensions are not available in the target repository. When you install the vendor application, the metadata extensions become available so you can view them and change their values.

For more information about reusable metadata extensions and domains, see Working with Metadata Extensions on page 327.

Copying Plug-in Application Information


When you copy a folder or deployment group, you can copy plug-in application information, if the folder or deployment group depends on the plug-in application information. The source folder or deployment group depends on a plug-in application in the following cases:

The source folder contains metadata extension values from a vendor-defined metadata domain. The source folder contains a source or target with a plug-in application database type. The source folder uses plug-in application connections.

Using the Copy Wizards

247

Copying or Replacing a Folder


In the Repository Manager, you can copy a folder within the same repository. You can also copy a folder into a different repository within the same domain or to a different domain. Use the Copy Folder Wizard to perform the copy or replace operation. Each time you copy or replace a folder, the wizard copies all of the metadata objects in the folder. The Copy Folder Wizard allows you to perform all of the tasks listed in Using the Copy Wizards on page 244. When you copy a folder, the Copy Folder Wizard allows you to perform the following actions:

Reestablish shortcuts. Maintain shortcuts to objects in shared folders. Compare folders. Compare folders to determine how they are related. Rename folders. If a folder in the target repository has the same name as the folder you are copying, you can rename the copy of the source folder created the Copy Folder Wizard creates in the target repository. Copy latest object versions or all object versions. You can choose to copy only the latest version of objects in the source folder, or all versions.

You can also copy and replace a folder across repositories. You might replace a folder when you want to update a folder that is already in production. Instead of creating a second copy of the folder in the production repository, you can replace the existing folder with the updated data. When replacing a folder, the wizard deletes the existing folder. To ensure no metadata is lost, back up your repository before replacing a folder. When you replace a folder, the wizard maintains properties of the replaced folder, such as shortcuts, FTP, and external loader connection information. When you replace folder, the wizard allows you to perform the following additional actions:

Retain current values for Sequence Generator and Normalizer transformations. You can choose to retain existing values, or replace them with values from the source folder. Retain persisted values for mapping variables. You can choose to retain existing values, or replace them with values from the source folder. Retain persisted values for workflow variables. You can choose to retain existing values, or replace them with values from the source folder. Workflow logs. You can choose to retain existing workflow logs, or replace them with workflow logs from the source folder. Copy latest object versions or all object versions. If you copy the latest object version in the source folder, the wizard creates a new version of existing replaced objects in the target folder. It does not overwrite previous versions in the target folder. If you copy all versions from the source folder, the folder replacement operation overwrites the objects in the target folder.

The wizard copies and replaces folders as a single transaction. If you cancel the copy before it completes, the wizard rolls back all changes.
Note: When you copy a folder, the wizard makes you the owner of the copied folder.

248

Chapter 10: Copying Folders and Deployment Groups

Naming
When you copy a folder, the wizard names the copy after the folder. If the folder name already exists in the repository, and you choose not to replace it, the wizard appends the date to the folder name, as follows: <folder_name>_mm/dd/yyyy (where mm=months, dd=days, and yyyy=year).

Locking and Checkouts


To protect the integrity of the repository, the wizard does not allow you to copy a folder when the folder, or objects in the folder, are being saved. Likewise, you cannot save objects in a folder as the wizard copies the folder. Before you copy a folder, view object locks to verify that the folder is not in use. If you are replacing a folder in a repository that is enabled for versioning, verify that no objects in the target folder are checked out. If you a replacing a folder in a target repository enabled for versioning, you must also verify that no objects in the target folder are checked out. For more information on searching for checkouts in the repository, see Viewing Checked Out Objects on page 211. For more information on changing the status of an object, see Working with Version Properties on page 203. For details on locking, see Repository Security on page 125.

Shortcuts
The folder or you want to copy might contain shortcuts to shared folders in the same repository or to shared folders in the global repository. Shortcuts to folders in the same repository are known as local shortcuts. Shortcuts to the global repository are called global shortcuts.

Local Shortcuts
The wizard can reestablish local shortcuts to shared folders if you have a current copy of the shared folders in the target repository. Therefore, you can keep shortcuts intact by copying the necessary local shared folders to the target repository before copying the folder. If you do not copy the shared folders before copying the folder, the wizard deletes all shortcuts and marks all affected mappings invalid. If shared folders exist in the target repository, the wizard verifies whether the copy is current. In typical mode, if you edit the original shared folder after you copy it to the target repository, the wizard asks you to copy it again. In the advanced mode, you can compare the folders to see which folder is most recent. The wizard does not establish shortcuts to an outdated shared folder. Therefore, to copy shortcuts correctly, you must copy shared folders before copying the folder. If you copy the folder from the global repository to a local repository in the same domain, local shortcuts become global shortcuts.

Copying or Replacing a Folder

249

For example, you want to copy a shared folder and a non-shared folder with shortcuts from a global repository to a local repository. First copy the shared folder into the local repository. Then copy the non-shared folder. If you choose to copy the folder in typical mode, you establish global shortcuts to the shared folder in the global repository. If you copy the folder in advanced mode, you can also choose to establish local shortcuts to the shared folder in the local repository.

Global Shortcuts
The wizard can reestablish global shortcuts if you copy the folder or deployment group to another repository in the same domain in the following situations:

When you copy a folder from one local repository to another within the domain, the wizard recreates global shortcuts to the global repository. When you copy a folder from a local repository to its global repository, the global shortcuts become local shortcuts. When you copy a folder from a global repository to a local repository within the domain, local shortcuts become global shortcuts.

If you copy a folder that contains global shortcuts between domains, copy any shared folders from the local and global repositories in the source domain to either the local or global repository in the target domain. The Copy Wizard will either reestablish global shortcuts as a local shortcuts, or establish the copied shortcuts as global shortcuts.

Copying Within a Repository


When you copy a folder within the same repository, the wizard asks you to rename the folder. The wizard reestablishes all shortcuts, and the copied folder continues to use the same connection and server information.

Copying From Local Repositories


When you copy a folder from a local repository to another repository, the wizard verifies whether a folder of the same name exists in the target repository. If it does not, the wizard uses the folder name for the copied folder. If it does, it asks you to rename the folder. If you want to copy the folder again, you might want to rename the existing folder in the target repository, using a naming convention that clearly defines the existing folder. If you have edited objects in any local shared folders used by the folder, you must copy those shared folders into the target repository before copying the folder. You might want to rename existing shared folders before performing the copy.

Steps for Copying or Replacing a Folder


Before you copy a folder, use the Repository Manager to verify no users are accessing objects in the folder. You might want to ask all users to exit the repository Also, copy dependent

250

Chapter 10: Copying Folders and Deployment Groups

shared folders to the target repository before copying a folder. If you are replacing a folder, verify no users are accessing objects in the target repository. For information on the privileges and permissions to copy a folder, see Repository Manager Tasks on page 516.
To copy or replace a folder: 1. 2. 3. 4.

In the Repository Manager, connect to the source repository and select the folder you want to copy. Choose Edit-Copy. If copying to a different repository, connect to the target repository. In the Navigator, select the target repository, and choose Edit-Paste.
Tip: You can also drag and drop the folder into the target repository after connecting to

the repository. The Copy Folder Wizard appears, displaying the folder name and target repository name.
5.

The Copy Folder dialog box prompts you to select a mode:


Typical. The wizard uses the defaults for shortcuts to local and global shared folders. Advanced. You can override the defaults for shortcuts to local and global shared folders. You can choose the shared folder to associate shortcuts. The wizard might have to determine how the folders are related before establishing shortcuts.

6.

Click Next. The Copy Wizard prompts you for more information based on the content of the folders and the copy mode you selected. To stop the replacement, click Cancel. The wizard rolls back all changes.

Table 10-1 lists the dialog boxes and prompts that you may see when you copy a folder:
Table 10-1. Copy Folder Wizard Prompts (Copying a Folder) Copy Folder Wizard Dialog Box Latest Version Only Mode Typical/Advanced Prompt Choose to copy the latest version of objects in the folder, or all versions. If you are replacing a folder, copying the latest version adds a new version to the existing objects in the target folder. List existing copies of the folder or all folders in the repository Specify if objects in the source folder have been created or modified since the last copy. If you specified that the source folder contains new or modified objects, compare the folders to determine the similarities and differences between the folders. Choose to retain current values for Sequence Generator and Normalizer transformations. Copy persisted values for mapping variables if they exist.

Replace Folder Folder Modified Compare Folders

Typical/Advanced Typical/Advanced Typical/Advanced

Sequence Generators and Normalizers Mapping Variables

Typical/Advanced Typical/Advanced

Copying or Replacing a Folder

251

Table 10-1. Copy Folder Wizard Prompts (Copying a Folder) Copy Folder Wizard Dialog Box Retain Mapping Variables Dependency Information Workflow Variables Retain Workflow Variable Persisted Values Copy Workflow Log Retain Workflow Logs Folder Exists Mode Typical/Advanced Typical/Advanced Typical/Advanced Typical/Advanced Typical/Advanced Typical/Advanced Typical/Advanced Prompt If you are replacing a folder, choose to retain persisted values for mapping variables. Copy dependency information for objects in mappings, if it exists. Copy persisted values for workflow variables. Choose to retain persisted values. Choose to copy workflow logs if they exist. Choose to retain existing workflow logs in the target folder if you choose not to copy workflow logs from the source folder. Rename the target folder if a folder of the same name exists in the target repository. Otherwise, it appends the date to the original folder name. Choose to retain the assigned PowerCenter Server information for workflows and sessions configured to run on specific PowerCenter Servers in a server grid. Lists all database connections in the folder, indicating the connections for which you do not have read permission. Lists all MQ connections in the folder. Lists all FTP connections in the folder, indicating the connections for which you do not have read permission. Lists all external loader connections in the folder, indicating the connections for which you do not have read permission. Lists all application connections in the folder, indicating the connections for which you do not have read permission. Lists plug-in application information upon which the source folder depends if the plug-in information does not exist in the target repository. Allows you to select a PowerCenter Server to run all nonassociated workflows. If the target repository contains less than two PowerCenter Servers, the wizard skips this step. Lists local shared folders in the target repository that you need to copy first. To preserve shortcuts and prevent invalid mappings, click Cancel and copy all listed local shared folders before copying the folder. Lists global shared folders in the target repository that you need to copy first. To preserve shortcuts and prevent invalid mappings, click Cancel and copy all listed local shared folders before copying the folder.

Retain Server Settings

Typical/Advanced

Database Connections MQ Connections FTP Connections External Loaders Application Connections Plug-in

Typical/Advanced Typical/Advanced Typical/Advanced Typical/Advanced Typical/Advanced Typical/Advanced

Servers

Typical/Advanced

Local Shared Folders

Typical

Global Shared Folders

Typical

252

Chapter 10: Copying Folders and Deployment Groups

Table 10-1. Copy Folder Wizard Prompts (Copying a Folder) Copy Folder Wizard Dialog Box Outdated Shared Folders Mode Typical Prompt Lists outdated folders in the target repository that you need to copy first. To preserve shortcuts and prevent invalid mappings, click Cancel and copy all listed local shared folders before copying the folder. Lists all dependent local and global shared folders. Also lists the folder that contains shortcuts and the folder to which you can establish shortcuts. You can choose to accept or override the shared folder. Lists folders you can select to establish shortcuts if you choose to override the default folder selection in the Select Shared Folders dialog box. Allows you to compare folders if the folders you choose in Override Shared Folder dialog box are different. Lists the results from the folder compare. Displays objects that exist in the local shared folder but not in the global shared folder. Also displays objects that are older or newer than matching objects in the global shared folder. If there are differences between the folders, a message warns you that shortcuts to missing objects will be removed. The wizard takes you back to Select Shared Folders dialog box.

Select Shared Folders

Advanced

Override Shared Folder

Advanced

Compare Shared Folder Compare Results

Advanced Advanced

Copying or Replacing a Folder

253

Copying a Deployment Group


If the repository is enabled for versioning, you can also use the Copy Deployment Group Wizard to copy objects in a deployment group into multiple deployment folders in the target repository. At the time of deployment, the wizard copies all objects included in a static deployment group. If you are copying a dynamic deployment group, the wizard first runs the query associated with the deployment group and then copies the objects from the results of the query. The first time you copy an object in a deployment group to the target repository, the wizard creates a new object in the target repository. The next time you copy the object, the wizard identifies the previously copied object and replaces it, creating a new version of the object in the target repository. After it creates the new version, the wizard checks in the object. As a result, you must be aware of the relationships between objects in the deployment group and the target repository under the following circumstances:

You copy part of a composite object. When you create a deployment group you can choose to copy all or part of composite objects. If you choose to deploy part of a composite object, you must ensure that dependent objects exist in the target folder. For details on copying composite objects in a deployment group, see Copying Composite Objects on page 255. You copy local and global shortcuts. When you copy a deployment group, the wizard allows you to reestablish local shortcuts to objects in shared folders. The wizard does not allow you to reestablish global shortcuts. As a result, you must ensure that the correct shared folders and necessary global shortcuts exist in the target repository. For more information, see Copying Shortcuts on page 256. Object names in the target repository are different from or conflict with the deployment group object. An object in the target repository may be a copy of the object in the deployment group, but have a different name. In this situation, the wizard replaces the copy of the object and create a new version of the object with the same name as the deployment group object. An object in the target repository may also have the same name as an object in the deployment group, but may not be a copy of the deployment group object. If this naming conflict occurs, the wizard cannot copy the deployment group object. For details on object naming, see Object Naming on page 257.

The status of the object in the target repository is different from the status of the object in the deployment group. The status of an object in a deployment group may change after the copy operation depending on the status of the copy of the object to be replaced. For details on changes to object status when you copy a deployment group, see Object Status on page 257.

Locking and Checkouts


To protect the integrity of repository metadata, the Copy Deployment Group Wizard does not allow you to copy a deployment group when objects targeted for replacement are checked
254 Chapter 10: Copying Folders and Deployment Groups

out or locked. Before you copy a deployment group, search for checkouts in the target repository and verify that no deployment target objects are checked out. You can freeze the target deployment folder to ensure that no target objects are checked out when you copy a deployment group. When you freeze a folder, other users cannot check out objects in the folder, but the wizard can still copy and check in deployment group objects. Change the folder status to Frozen, Allow Deploy. For more information on viewing checked out objects in the repository, see Checking Out and Checking In Objects on page 211. For more information on changing the status of an object, see Working with Version Properties on page 203. For details on locking, see Repository Security on page 125.
Note: If the repository stops unexpectedly during the copy operation, the Repository Agent

rolls back changes. However, the deployment group objects may be copied to the target repository, but not checked in. If this happens, the objects will be stored in the repository as checked out objects. View checkouts and manually check in the objects to complete the copy operation.

Copying Composite Objects


A composite object is one that uses other objects. For example, a mapping may use a reusable source, reusable target, and several non-reusable transformations. Each of these objects is a child dependency of the mapping. You can copy the following composite objects to a deployment group:

Local shortcuts Mappings Mapplets Sessions Worklets Workflows

When you create a deployment group, you can choose to include all dependencies, nonreusable dependencies, or no dependencies for composite objects. If you choose to copy no dependencies or non-reusable dependencies for a composite object, the wizard uses existing copies of objects in the target repository for all child dependencies not included in the deployment group. If the wizard cannot locate necessary dependencies in the target repository, it fails the copy operation. You must ensure that the dependent objects are also included in the deployment group or already exist in the target repository. The first time you deploy a group, you must include all dependencies of the composite object. The next time you deploy the group, you can add all or some object dependencies to the deployment group. For example, you edit a mapping variable in a mapping. You want to update the copy of the mapping currently stored in the production repository. You add the mapping to a deployment group with no dependencies because you do not want to update any non-reusable or reusable transformations in the mapping. When you copy the mapping to the production repository,
Copying a Deployment Group 255

the wizard replaces the current version of the mapping and associates all existing transformations with the new version.
Note: When you deploy composite objects, the Repository Agent treats the non-reusable

objects in the composite object as part of the parent object. For example, if the parent object is deleted, the Repository Agent treats associated non-reusable objects as deleted. For details about the status of deployed objects, see Table 10-2 on page 258. To ensure that necessary dependencies exist in the target repository, you might want to copy the entire folder to the target repository the first time you copy the objects. You can then use deployment groups to update individual objects over time. You can also add dependencies to the deployment group. Use one of the following methods to ensure that you include dependencies in the deployment group:

Manually add the dependencies to the static deployment group. The PowerCenter Client prompts you to do this when you manually add an object to a static deployment group. You may want to add all dependencies the first time you copy an object to another repository. Design the query associated with the dynamic deployment group to find dependencies. You can design the query to search for dependencies of a composite object. You may want to further refine the query for a dynamic deployment group by specifying other parameters.

For more information on creating static and dynamic deployment groups, see Working with Deployment Groups on page 236.

Copying Shortcuts
The deployment group you want to copy might contain shortcuts to shared folders in the same repository or to shared folders in the global repository. Shortcuts to folders in the same repository are known as local shortcuts. Shortcuts to the global repository are called global shortcuts.

Local Shortcuts
The wizard can reestablish local shortcuts to objects in shared folders if you have a current copy of the object in the target repository. You can keep these shortcuts intact by copying the necessary local shared folders to the target repository before you copy the deployment group or by including the object the shortcut references in the deployment group. If the referenced object already exist in the target repository, the wizard verifies that the copy is current. In typical mode, if you edit the original shared folder after you copy it to the target repository, the wizard asks you to copy it again. If you do not copy the shared folders before copying the deployment group, the wizard deletes all shortcuts and marks all affected mappings invalid. In advanced mode, you can compare the contents of the folders to see which contains the most recent copies of referenced objects, and then decide to cancel and copy the shared folder again or proceed with the copy operation. When you compare folders, the wizard compares
256 Chapter 10: Copying Folders and Deployment Groups

the version of the objects in the deployment group with the latest version of objects in the target folder. Also, if you copy a local shortcut into the same folder that contains the object the shortcut references, the wizard cannot reestablish the shortcut. The wizard deletes the shortcut and marks all affected mappings invalid.

Global Shortcuts
If the deployment group contains global shortcuts, the wizard does not reestablish them when you copy them to the target repository. If you copy a global shortcut alone, the wizard completes the copy operation but does not copy the shortcut. If the global shortcut is part of a composite object you want to copy, the copy operation fails. To ensure that global shortcuts are preserved when you copy a composite object, verify that a copy of the object, including the shortcut, exists in the target repository. If you are copying the object for the first time, consider copying the entire folder. You can then use a deployment group to copy subsequent versions of the object.

Object Naming
Different versions of an object may have different names. As a result, you might add an object to a deployment group that has an existing copy in the target folder, but the copy has a different name. In this situation, the wizard detects the relationship between the two objects and replaces the copy in the target folder with the deployment group object. For example, you have the mapping m_Orders in the development repository. You add it to a deployment group and copy it to the production repository. As you continue development, you change the name of the mapping in the development repository to m_OrdersWeekly. You add this new version of the mapping to a deployment group and copy it to the production repository. The wizard determines that m_Orders is an older copy of m_OrdersWeekly, and replaces it, creating a new version. The latest version of the mapping in the production repository is now m_OrdersWeekly. You might also have an object in the target repository that has the same name as a deployment group object, but is not a copy of the object. The object may be of a different type. If this happens, the naming conflict causes the copy operation to fail. For example, you have a mapping that uses relational source src_Records in the development repository. You add the mapping to a deployment group and copy it to the production repository. Later, you delete src_Records from the production repository and create a new XML source, also named src_Records. If you then use a deployment group to copy the relational source src_Records to the target repository, the copy operation fails because the XML source src_Records has the same name, but is a different object.

Object Status
When you copy an object in a deployment group, the status of the source object may change if a copy of the object already exists in the target folder.
Copying a Deployment Group 257

Table 10-2 describes the status an object may take after copying the deployment group, depending on the status of the source and target objects:
Table 10-2. Change In Object Status After Copying Deployment Group Objects Status of Deployment Group Object Active Object Active Object Deleted Object Deleted Object Deployment Wizard Action Deploys the object Deploys the object Deploys the object Skips the object Status of Target Repository Object Deleted Active Active Deleted Status of Target Repository Object After Copying Active Active Deleted Deleted

Note: Non-reusable objects derive status from their parent composite objects. If a parent composite object has a deleted status, associated non-reusable objects also have a deleted status.

Steps for Copying a Deployment Group


Use the Copy Deployment Group Wizard to copy objects in a deployment group. The Copy Deployment Group Wizard allows you to perform all of the tasks listed in Using the Copy Wizards on page 244. It also allows you to perform the following tasks:

Choose deployment folders. You can choose the specific folders in the target repository you want to deploy. Apply labels to source and target objects. You can apply labels to the deployment group objects in the source and target repositories. For example, you may want to apply a label to the source and target objects that specifies when the source object version was deployed and when the target object version was created. Move labels. You can move labels from version to version in source and target repositories. For example, you might want to move a label from the last version to the latest version before you deploy an object. Or, you might want to deploy an earlier version of an object and apply the latest label to the object. Clear the static deployment group when you finish copying. You can remove the copied objects from a static deployment group when you finish copying them into the target repository.

You can copy a deployment group only if the source and target repositories are both enabled for version control. The repository stores a deployment history for each deployment group. For details on viewing a deployment history, see Working with Deployment Groups on page 236. Before you copy a deployment group, verify that existing objects in the target repository are not checked out or locked. Also, copy dependent shared folders for shortcuts in the deployment group.

258

Chapter 10: Copying Folders and Deployment Groups

Use the following steps as a guideline when you copy a deployment group.
To copy a deployment group: 1. 2. 3.

Connect to the source and target repositories. Select the deployment group to copy. Click and drag or paste the deployment group to the target repository. The Copy Deployment Group Wizard appears, displaying the folder name and target repository name.

4.

The Copy Deployment Group Wizard dialog box prompts you to select a mode:

Typical. The wizard uses the defaults for shortcuts to local and global shared folders. Advanced. You can override the defaults for shortcuts to local and global shared folders. You can choose the shared folders to associate shortcuts. The wizard might have to determine how the folders are related before establishing shortcuts.

5.

Click Next. The Copy Wizard prompts you for more information based on the content of the folders and the copy mode you selected. To stop the replacement, click Cancel. The wizard rolls back all changes.

Table 10-3 lists the dialog boxes and prompts that you may see when you copy a deployment group:
Table 10-3. Copy Deployment Group Wizard Prompts Copy Deployment Group Wizard Dialog Box Select Deployment Folders Override Deployment Folder Select Compare Folders Select Labels Mode Typical/Advanced Typical/Advanced Typical/Advanced Typical/Advanced Prompt Choose the folders you want to deploy objects to. Override the default selections for deployment folders. Select the folders you want to compare. Select a label in the source repository to apply to the copied object versions, and select a label in the target repository to apply to the newly created object versions. Choose to remove objects from the deployment group after the wizard completes the deployment operation. Choose to retain current values for Sequence Generator and Normalizer transformations. Choose to retain persisted values for mapping variables. Copy dependency information for objects in mappings, if they exist. Choose to retain persisted values.

Clear Source Deployment Group Sequence Generators and Normalizers Retain Mapping Variables Dependency Information Retain Workflow Variable Persisted Values

Typical/Advanced Typical/Advanced Typical/Advanced Typical/Advanced Typical/Advanced

Copying a Deployment Group

259

Table 10-3. Copy Deployment Group Wizard Prompts Copy Deployment Group Wizard Dialog Box Retain Workflow Logs Retain Server Settings Mode Typical/Advanced Typical/Advanced Prompt Choose to retain existing workflow logs in the target folder if you choose not to copy workflow logs from the source folder. Choose to retain the assigned PowerCenter Server information for workflows and sessions configured to run on specific PowerCenter Servers in a server grid. Lists all database connections in the folder, indicating the connections for which you do not have read permission. Lists all MQ connections in the folder. Lists all FTP connections in the folder, indicating the connections for which you do not have read permission. Lists all external loader connections in the folder, indicating the connections for which you do not have read permission. Lists all application connections in the folder, indicating the connections for which you do not have read permission. Lists plug-in application information upon which the source folder depends if the plug-in information does not exist in the target repository. Allows you to select a PowerCenter Server to run all nonassociated workflows. If the target repository contains less than two PowerCenter Servers, the wizard skips this step. Lists local shared folders in the target repository that you need to copy first. To preserve shortcuts and prevent invalid mappings, click Cancel and copy all listed local shared folders before copying the folder. Lists outdated folders in the target repository that you need to copy first. To preserve shortcuts and prevent invalid mappings, click Cancel and copy all listed local shared folders before copying the folder. Lists all dependent local and global shared folders. Also lists the folder that contains shortcuts and the folder to which you can establish shortcuts. You can choose to accept or override the shared folder. Lists folders you can select to establish shortcuts if you choose to override the default folder selection in the Select Shared Folders dialog box.

Database Connections MQ Connections FTP Connections External Loaders Application Connections Plug-in

Typical/Advanced Typical/Advanced Typical/Advanced Typical/Advanced Typical/Advanced Typical/Advanced

Servers

Typical/Advanced

Local Shared Folders

Typical

Outdated Shared Folders

Typical

Select Shared Folders

Advanced

Override Shared Folder

Advanced

260

Chapter 10: Copying Folders and Deployment Groups

Table 10-3. Copy Deployment Group Wizard Prompts Copy Deployment Group Wizard Dialog Box Compare Shared Folder Compare Results Mode Advanced Advanced Prompt Allows you to compare folders if the folders you choose in Override Shared Folder dialog box are different. Lists the results from the folder compare. Displays objects that exist in the local shared folder but not in the global shared folder. Also displays objects that are older or newer than matching objects in the global shared folder. If there are differences between the folders, a message warns you that shortcuts to missing objects will be removed. The wizard takes you back to Select Shared Folders dialog box.

Copying a Deployment Group

261

262

Chapter 10: Copying Folders and Deployment Groups

Chapter 11

Exporting and Importing Objects


This chapter includes information on the following topics:

Overview, 264 The XML and DTD Files, 267 Exporting and Importing Multiple Objects and Object Types, 269 Working with Dependent Objects, 270 Working with Object Versions, 273 Working with Shortcuts, 274 Exporting Objects, 276 Importing Objects, 280 Steps for Exporting Objects, 285 Steps for Importing Objects, 287 Troubleshooting, 296

263

Overview
In the PowerCenter Client, you can export repository objects to an XML file and then import repository objects from the XML file. You can use the following client applications to export and import repository objects:

Repository Manager. You can export and import both Designer and Workflow Manager objects. Designer. You can export and import only Designer objects. Workflow Manager. You can export and import only Workflow Manager objects. pmrep. You can export and import both Designer and Workflow Manager objects. You might use pmrep to automate exporting objects on a daily or weekly basis. For more information on using pmrep to export and import objects, see Exporting Objects (ObjectExport) on page 432 and Importing Objects (ObjectImport) on page 433.

Exporting and importing an object is similar to copying an object from one folder or repository to another. For example, when you copy an object between folders or export and import that object, you can resolve object name conflicts. However, when you copy objects between folders or repositories, you must be connected to both repositories. When you export an object from one repository and import the object into another repository, you do not need to be connected to both repositories. You can export and import repository objects to accomplish the following tasks:

Deploy metadata into production. After you test a mapping in a development repository, you can export it to an XML file and then import it from the XML file into a production repository. You might export and import objects to incrementally deploy metadata by exporting and importing part of a composite object. Archive metadata. You can export objects to an XML file that you no longer need before removing them from the repository. Share metadata. You can share metadata with a third party. For example, you want to send a mapping to someone else for testing or analysis, but you do not want to disclose repository connection information for security reasons. You can export the mapping to an XML file and edit the repository connection information before sending the XML file. The third party can import the mapping from the XML file and analyze the metadata. Search and replace property names in an entire repository object. You can search for a property name and replace all occurrences of it with a different name. For example, you have a mapping with an unconnected Lookup transformation. You want to change the name of a port in the unconnected Lookup transformation. Several other transformations call the lookup port through an expression, so you want to make sure you change the port name in all other expressions. You can export the mapping to an XML file and open it in a text editor. Search for the old port name and replace all references to it with the new port name. Then import the mapping into the repository. Copy metadata between repositories. You can copy objects between repositories that you cannot connect to from the same client. Export the object and transfer the XML file to the target machine. Then import the object from the XML file into the target repository.

264

Chapter 11: Exporting and Importing Objects

You can also export and import relational sources and targets to share metadata with other business intelligence and data modeling tools. For more information on exchanging metadata, see Exchanging Metadata on page 313.

Working with Objects and Object Types


You can export and import the following repository objects:

Sources Targets Transformations Mapplets Mappings Tasks Sessions Schedulers Session configurations Worklets Workflows

When you export and import repository objects, you can choose to export and import the following types of objects:

Multiple object types. You can export and import one or more object types. The combination of object types you can export and import depends on the PowerCenter Client you use. For more information, see Exporting and Importing Multiple Objects and Object Types on page 269. Multiple objects. You can export and import one or more objects. For more information, see Exporting and Importing Multiple Objects and Object Types on page 269. Objects from multiple folders. Using the Repository Manager or pmrep, you can export and import objects from one or more folders in the same repository. Also, you can do this when you access a query result from the Designer, Workflow Manager, or Repository Manager. Dependent objects. You can export and import an object with or without its dependent objects. For more information, see Working with Dependent Objects on page 270.

Working with Different Repository Versions


You can share objects with other repositories by exporting and importing objects between repositories with the same version. You can also import objects exported from a repository version PowerCenter supports upgrading. However, you can only import sessions exported from version 6.0 and later.

Overview

265

When you import an object exported from an earlier repository version, the repository updates the object metadata to conform with the current repository version. For example, you export an Advanced External Procedure transformation from an earlier repository version. You import the transformation in the current repository version. The PowerCenter Client imports the transformation and changes it to a Custom transformation. For more information on changes the upgrade process makes on repository metadata, see Upgrading Repository Metadata in the Installation and Configuration Guide.

Permissions and Privileges


To export and import repository objects, you must have the proper folder permissions and user privileges. The permissions and privileges required to import and export objects change depending on whether you are using the Designer, Workflow Manager, or Repository Manager. Table 11-1 lists the permissions and privileges you need to export and import objects:
Table 11-1. Exporting and Importing Objects Permissions and Privileges PowerCenter Client Designer Repository Privilege Use Designer Super User Workflow Manager Use Workflow Manager Super User Repository Manager Use Repository Manager Super User Folder Permission Read for exporting Read/Write for importing N/A Read for exporting Read/Write for importing N/A Read for exporting Read/Write for importing N/A

Code Pages
To ensure no data is lost when you import an object, the PowerCenter Client only allows you to export and import objects between repositories with compatible code pages. The code page of the originating repository must be a subset of the destination repository code page. If the two repository code pages are not compatible, the PowerCenter Client displays an error message and does not import any object. For details on code page compatibility, see Globalization Overview and Code Pages in the Installation and Configuration Guide.

266

Chapter 11: Exporting and Importing Objects

The XML and DTD Files


When you export repository objects, the PowerCenter Client creates an XML file that contains the metadata of the exported repository objects. You can use this same file to import the repository objects into a repository. The XML file has an associated Document Type Definition (DTD) file called powrmart.dtd. When you export repository objects, the PowerCenter Client creates the XML file based on the structure specified in powrmart.dtd. When you import repository objects, the PowerCenter Client validates the XML file against powrmart.dtd. When you install PowerCenter, the installation program copies powrmart.dtd into the client installation directory. When you export or import an object, the PowerCenter Client looks for powrmart.dtd in the client installation directory. If powrmart.dtd is not in the client installation directory, you cannot import repository objects. An XML file is valid if it complies with the constraints expressed in its associated DTD. Therefore, an exported XML file is valid if it complies with the constraints expressed in powrmart.dtd. For example, if powrmart.dtd states that an element must occur once in an XML file, the XML file is invalid if the element occurs more than once or not at all. For more information on reading DTD files, see XML Concepts in the XML User Guide. Or, for more information on XML, see the W3C specifications for XML at http:// www.w3.org/.
Note: If you modify an exported XML file, you need to make sure that the XML file conforms

to the structure of powrmart.dtd. You also need to make sure the metadata in the XML file conforms to Designer and Workflow Manager rules. For example, when you define a shortcut to an object, define the folder in which the referenced object resides as a shared folder. Although PowerCenter validates the XML file before importing repository objects from it, it might not catch all invalid changes. If you import into your repository an object that does not conform to Designer or Workflow Manager rules, you might cause data inconsistencies in your repository. For information on modifying XML files, see Modifying an Exported XML File on page 277. Do not modify the powrmart.dtd file.

CRCVALUE Codes
Informatica restricts which elements you can modify in the XML file. When you export a Designer object, the PowerCenter Client might include a CRCVALUE (Cyclic Redundancy Checking) code in one or more elements in the XML file. The CRCVALUE code is another attribute in an element. When the PowerCenter Client includes a CRCVALUE code in the exported XML file, you can only modify some attributes and elements before importing the object into a repository. For example, VSAM source objects always contain a CRCVALUE code, so you can only

The XML and DTD Files

267

modify some attributes in a VSAM source object. If you modify certain attributes in an element that contains a CRCVALUE code, you cannot import the object. For example, if you modify the OWNERNAME attribute in the source object in Figure 11-1, you cannot import the source into the Designer. For details on which attributes and objects you can modify, see Modifying an Exported XML File on page 277. Figure 11-1 shows part of the element for a source object with the CRCVALUE code:
Figure 11-1. CRCVALUE Code in an Exported XML File
<SOURCE NAME ="SALES_FILE" DBDNAME ="SALES.CBL" IBMCOMP ="YES" CRCVALUE ="3108520154" OWNERNAME ="" DESCRIPTION ="" BUSINESSNAME ="" DATABASETYPE ="VSAM" ...> ... </SOURCE>

CRCVALUE code

The CRCVALUE attribute for the element SOURCE in Figure 11-1 is 3108520154.
Note: The PowerCenter Client only includes CRCVALUE codes in the XML file when you

export Designer objects.

268

Chapter 11: Exporting and Importing Objects

Exporting and Importing Multiple Objects and Object Types


You can export and import multiple objects and multiple object types at the same time. However, the combination of object types depends on the PowerCenter Client application you use. Table 11-2 lists the multiple objects you can export and import:
Table 11-2. Options for Exporting and Importing Multiple Objects PowerCenter Client Application Repository Manager Options for Exporting - Multiple objects from one folder - Multiple object types from one folder For example, you can export multiple mappings to the same file. - Multiple objects from multiple folders - Multiple object types from multiple folders For example, you can export reusable transformations and reusable worklets to the same file. - Multiple sources, targets, or reusable transformations from one folder For example, you cannot export both sources and targets from the Navigator. You cannot export multiple mappings or mapplets. You cannot export multiple object types. - Multiple reusable Email, Session, and Command tasks from one folder - Multiple worklets from one folder - Multiple workflows from one folder For example, you can export a reusable Email task and a reusable Session task. Options for Importing - Multiple objects from multiple folders - Multiple object types from multiple folders When you import objects from multiple folders, you can choose which folders to import into. - Multiple objects from multiple folders - Multiple object types from multiple folders When you import objects from multiple folders, you can choose which folders to import into using the control file. - Multiple objects from one folder - Multiple object types from one folder You can import Designer objects only.

pmrep

Designer

Workflow Manager

- Multiple objects from one folder - Multiple object types from one folder You can import Workflow Manager objects only.

Note: You can export different object types from all PowerCenter Client tools by exporting the results of an object query.

Exporting and Importing Multiple Objects and Object Types

269

Working with Dependent Objects


When you export an object, the PowerCenter Client exports certain dependent objects by default. The PowerCenter Client does not export all dependent objects. A dependent object is an object that is used by another object. For example, a source definition referenced by a shortcut is a dependent object of that shortcut. A dependent object is a child object to the parent object that uses the dependent object. Table 11-3 lists the dependent objects that the PowerCenter Client includes in the XML file by default:
Table 11-3. Dependent Objects Exported Parent Object Mapping Mapplet Source with foreign key Target with foreign key Shortcut Any repository object Session Dependent Child Objects Exported Sources, targets, reusable and non-reusable transformations, and mapplets. Sources and reusable transformations. Source definition containing the primary key. Target definition containing the primary key. The object the shortcut references. For information on exporting and importing shortcuts, see Working with Shortcuts on page 274. Any reusable or non-reusable metadata extension associated with the object.* Session configuration and reusable and non-reusable tasks when you export from any client application. Mapping used by the session when you export from the Repository Manager or pmrep. Reusable and non-reusable tasks, sessions, and worklets. Scheduler and reusable and non-reusable tasks, sessions, and worklets.

Worklet Workflow

*The PowerCenter Client always exports metadata extensions. Verify you register a plug-in in the destination repository before you import an object using a vendor-defined metadata extension associated with the plug-in. If the plug-in is not registered, the PowerCenter Client imports the object without the metadata extension. For more information on registering plug-ins, see your PowerCenter Connect documentation.

When you export and import objects, you can export and import any of the following combination of objects:

Parent object with dependent child objects. The XML file contains metadata for parent and child objects. The PowerCenter Client exports the dependent child objects listed in Table 11-3 by default. For more information, see Exporting and Importing Parent Objects on page 271. Parent object without dependent child objects. The XML file contains metadata for the parent object, but not the child object. For more information, see Exporting and Importing Parent Objects on page 271.

270

Chapter 11: Exporting and Importing Objects

Exporting and Importing Parent Objects


You can choose to export a parent object with or without its dependent child objects. You might want to export and import an object without its dependent objects if you change a workflow property, such as a workflow variable, but you did not change any task in the workflow. You can choose the export options in the Export Options dialog box. Figure 11-2 shows the export options for dependent objects:
Figure 11-2. Export Options Dialog Box

Table 11-4 describes the options in the Export Options dialog box:
Table 11-4. Options for Exporting Objects Export Option Export primary key tables when exporting sources/targets with foreign keys. Export original object referred by the shortcut when exporting shortcuts. Export reusable objects used by objects being exported. Description When you export a source or target containing a foreign key, the PowerCenter Client exports the source or target containing the primary key. When you export a shortcut, the PowerCenter Client exports the actual object referenced by the shortcut. When you export a mapping, mapplet, worklet, or workflow, the PowerCenter Client exports all reusable objects used by the parent object. For example, the PowerCenter Client exports all sources, targets, and reusable transformations when you export a mapping. When you export a mapping, mapplet, worklet, or workflow, the PowerCenter Client exports all non-reusable objects used by the parent object. For example, the PowerCenter Client exports all non-reusable transformations for a mapping or mapplet, and all non-reusable tasks for a worklet or workflow.

Export non-reusable objects used by objects being exported.

To access the Export Options dialog box, click the Advanced Options link in the Export dialog box when you export objects. When you export an object with its dependent child objects, the PowerCenter Client exports the metadata for the parent object and the dependent objects. When you export an object without its dependent objects, the PowerCenter Client exports the metadata for the object,
Working with Dependent Objects 271

but does not export metadata for the dependent objects. However, the object you export still references the dependent objects even though they do not exist in the XML file. When you import an object that uses dependent objects, the results differ depending on whether or not the dependent objects exist in the XML file:

Dependent objects exist in XML file. When you import an object, the PowerCenter Client imports all dependent objects. For example, you export a mapping including its dependent objects. When you import the mapping, the PowerCenter Client imports all objects used by the mapping, such as the sources. Dependent objects do not exist in XML file. When you import an object, the PowerCenter Client looks for an object in the destination folder with the same name. If the PowerCenter Client finds an object with the same name, it uses the object in the destination folder. If the PowerCenter Client does not find an object with the same name, it does not import the object. For example, you create a workflow with multiple worklets, sessions, and tasks. You change the link condition between two tasks. You want to update only the link condition when you import the workflow into a different folder. Export the workflow and do not export the reusable and non-reusable tasks. When you import the workflow, the PowerCenter Client imports the workflow metadata only. The PowerCenter Client uses the worklets, sessions, and tasks that exist in the destination folder.

Working with Sessions


When you export a session, the associated mapping must be valid. However, the session does not need to be valid before you export it. You might want to export an invalid session to send to someone else to troubleshoot. When you export a session from the Workflow Manager, the PowerCenter Client exports the session, but not the associated mapping. However, when you export a session from the Repository Manager, the PowerCenter Client exports the session and the associated mapping. You can also create an XML file that contains both the session and mapping objects by using pmrep or the query results accessed from the Repository Manager to select both objects and export them. Or, you can use the Designer to export the mapping and the Workflow Manager to export the session. Then edit one of the XML files to include both objects. To import a session, the associated mapping must exist in the target folder and be valid. If the mapping does not exist or is invalid, the PowerCenter Client does not import the session. However, when you use the Repository Manager or pmrep, you can import the session if the XML file contains the metadata for the associated mapping.

272

Chapter 11: Exporting and Importing Objects

Working with Object Versions


You can export one version of an object at a time. When you export an object from the Navigator or workspace, the PowerCenter Client exports the latest version of the object. If you want to export an earlier version of an object, you can select it from a query result or object history. In the View History or Query Results window, select the objects to export and choose Tools-Export to XML File. You can select multiple object versions to export, but the PowerCenter Client exports only the latest version selected for that object. For example, your query results contain two mappings that use different versions of the same source. If you export both mappings, the PowerCenter Client exports only the latest version of the source. For more information on running an object query, see Running a Query on page 232. For more information on viewing object history, see Viewing Object History on page 208. When you import an object that exists in the target folder, the PowerCenter Client handles object versions differently depending on how you resolve the object conflict. You can resolve an object conflict by replacing, renaming, or reusing the object. For example, the target folder contains a target called WEEKLY_ORDERS and the latest version is three. You import a target with the same name. When you replace the target, the PowerCenter Client changes the existing target definition to version four. When you reuse the target, the PowerCenter Client does not change the version of the existing target definition. When you rename the target, the PowerCenter Client creates a new target definition and assigns it a version of one, and does not change the version of the existing target definition.
Note: You cannot export deleted objects from a query result or object history.

For information on versioned objects, see Working with Versioned Objects on page 199.

Working with Object Versions

273

Working with Shortcuts


You can export and import local and global shortcuts. When you export a shortcut, you can choose to export the object the shortcut references. You might want to export the referenced object if it does not exist in the destination repository. You can import the shortcut and the referenced object concurrently. For more information on exporting the object a shortcut references, see Working with Dependent Objects on page 270. When you import a shortcut, you can specify folders for the shortcut and the referenced object. The PowerCenter Client creates a shortcut in the folder you specify. The new shortcut points to the object in the folder you specify for the referenced object. You always specify a folder for the referenced object, whether or not you also import the referenced object into that folder. The PowerCenter Client searches for the referenced object in the folder you specify to establish the shortcut. However, the import behavior is based on whether or not the PowerCenter Client finds the referenced object in the folder you specify:

The PowerCenter Client finds the referenced object. The PowerCenter Client imports the shortcut object into the destination repository using the metadata in the XML file. The PowerCenter Client finds the referenced object in the folder because the object already existed in the folder, or because you imported it along with the shortcut. The PowerCenter Client does not find the referenced object. When the XML file contains the metadata for the referenced object, the PowerCenter Client imports the actual object into the destination repository using the metadata in the XML file. The PowerCenter Client writes a message notifying you it imported the actual object instead of the shortcut object. When the XML file does not contain the metadata for the referenced object, it does not import the shortcut.

When you import a shortcut into a local repository, you can specify a folder from the local repository or the global repository in the domain. When you import a shortcut into a global repository, you can specify a folder from the global repository only.

Shortcut Types
The type of shortcut the PowerCenter Client creates in the destination repository depends on the folders you specify for the shortcut and the referenced object. When both the shortcut and referenced object exist in the same repository, the PowerCenter Client creates a local shortcut. When the shortcut exists in a local repository, and the referenced object exists in a global repository in the same domain, the PowerCenter Client creates a global shortcut. The type of shortcut the PowerCenter Client creates does not depend on the shortcut type specified in the XML file.

274

Chapter 11: Exporting and Importing Objects

Importing Shortcuts to Sources


When the PowerCenter Client imports the object instead of the shortcut, the imported object does not inherit any changes you make to the original object in the source repository. The XML file defines the metadata for the object. You can use the imported object as you would the original object. However, if the object is a source definition, you might need to rename the source definition. For example, you export a shortcut named Shortcut_To_Employees and you also export the referenced object. You use the Designer to import the shortcut into a different repository. In the Import Wizard, you choose to import the shortcut, but you do not import the referenced object. Also in the Import Wizard, you choose a folder in the destination repository to specify the location of an existing referenced object. However, the folder does not contain an object with the same name as the referenced object specified in the XML file. The PowerCenter Client does not find an object with the same name in the folder you specified, so it imports the actual object instead. The Designer creates a new source definition in the destination folder named Shortcut_To_Employees. This source definition is a copy of the original object, and is not a shortcut. When you use the source definition in a mapping, the default SQL used to extract data from the source defines the source as Shortcut_To_Employees. If the source table in the source database is named Employees, you must rename the source definition (Employees) or enter a SQL override for the source qualifier connected to the source definition (renaming the source table Employees) for the PowerCenter Server to extract source data.

Working with Shortcuts

275

Exporting Objects
When you export an object, the PowerCenter Client writes the definition of the object to an XML file. The XML file complies with powrmart.dtd. After you export objects, you can modify the XML file. For more information, see Modifying an Exported XML File on page 277. When you export the latest version of an object, the PowerCenter Client exports either the version of the object saved in the repository or the version of the object you have open in the Designer or Workflow Manager:

Version saved in the repository. When you export an object from the Repository Manager, pmrep, or the query results accessed from the Repository Manager, the PowerCenter Client exports the version of the object saved in the repository. Version you have open in the Designer or Workflow Manager. When you export an object from the Designer, Workflow Manager, or query results accessed from the Designer or Workflow Manager, the PowerCenter Client exports the latest version of the object, including any change you made to it since you last saved it to the repository.

However, when you export shortcuts from the query results accessed from the Designer, the Designer exports either the version of the referenced object you have open in the Designer or the version of referenced object saved in the repository, depending on the other objects you export. For example, you run an object query from the Designer. The query result contains the following objects:

Shortcut_to_Source1 in the Orders folder. The shortcut references Source1 in the Items folder. Source1 in the Items folder Mapping1 in the Items folder Target1 in the Sales folder

The Designer behavior depends on the other objects you export:


Exported Objects - Shortcut_to_Source1 from the Orders folder - Target1 from the Sales folder - Shortcut_to_Source1 from the Orders folder - Mapping1 from the Items folder Designer Export Behavior The Designer exports the saved version of Source1 because you do not export any object from the same folder that contains the referenced object, Source1. The Designer exports the version of Source1 you have open in the Designer because you export an object, Mapping1, from the same folder that contains the referenced object, Source1. Therefore, the Designer exports the latest versions of all objects in the Items folder, including changes you made to them since you last saved the repository.

276

Chapter 11: Exporting and Importing Objects

Modifying an Exported XML File


After exporting an object, you can modify the XML attributes before importing the object into a repository. For example, suppose you have inconsistent column names across a mapping. You want to globally search and replace Cust_ID and Customers_ID with Customer_ID. You can export the mapping into an XML file, modify the values in the XML file, and then import the mapping with the new values. Modifying an XML file is an easy way to change the metadata for a repository object. However, Informatica restricts the elements and attributes you can modify in the XML file. Use the following rules when you modify XML files:

Make sure you define metadata that you could create in the Designer or Workflow Manager. For example, do not associate a Source Qualifier transformation with a VSAM source. Do not modify powrmart.dtd. Make sure the structure of the XML file complies with the constraints in powrmart.dtd. For example, if powrmart.dtd says that an element must include a specified child element, make sure you include the child element. You can modify the BUSINESSNAME and DESCRIPTION attributes in any element. You can modify all attributes listed in Table 11-5 on page 278, regardless of CRCVALUE codes. You cannot modify attributes in an element containing a CRCVALUE unless the attribute is listed in Table 11-5 on page 278. You cannot modify attributes in an element if its parent element contains a CRCVALUE code, unless the attributes are listed in Table 11-5 on page 278.

Modifiable Objects
You can modify some attributes and elements in an XML file. Table 11-5 on page 278 lists the repository objects you can modify. The Modifiable Attributes column lists the attributes

Exporting Objects

277

you can modify for an exported object and then import. The Create New column indicates which objects you can define directly in the XML file and then import.
Table 11-5. Modifiable Repository Objects Repository Object Source Type Relational Flat File VSAM MQ XML PeopleSoft Siebel SAP table SAP ALE IDoc TIBCO Null source Target Relational SAP BW XML MQ TIBCO Null target Reusable Transformation Mapping All Relational Flat File VSAM MQ XML PeopleSoft Siebel SAP table SAP ALE IDoc TIBCO Modifiable Attributes All All BUSINESSNAME DESCRIPTION BUSINESSNAME DESCRIPTION BUSINESSNAME DESCRIPTION BUSINESSNAME DESCRIPTION BUSINESSNAME DESCRIPTION BUSINESSNAME DESCRIPTION All All All All BUSINESSNAME DESCRIPTION BUSINESSNAME DESCRIPTION BUSINESSNAME DESCRIPTION All All All All All All All All BUSINESSNAME DESCRIPTION BUSINESSNAME DESCRIPTION BUSINESSNAME DESCRIPTION All All Create New Yes Yes No No No No No No Yes Yes Yes Yes No No No Yes Yes Yes Yes Yes No No No No No No Yes Yes

278

Chapter 11: Exporting and Importing Objects

Table 11-5. Modifiable Repository Objects Repository Object Mapplet Type Relational Flat File PeopleSoft Siebel SAP table SAP ALE IDoc TIBCO Session Task Worklet Workflow Reusable Non-reusable Reusable Non-reusable Reusable Non-reusable N/A Modifiable Attributes All All BUSINESSNAME DESCRIPTION BUSINESSNAME DESCRIPTION BUSINESSNAME DESCRIPTION All All All All All All All All All Create New Yes Yes No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes

Exporting Objects

279

Importing Objects
You can import objects from a valid XML file. The XML file must comply with powrmart.dtd. You can import objects that you exported from the same repository or a different repository. When you import an object, the PowerCenter Client performs the following tasks: 1. 2. 3. 4. Validates the XML file against powrmart.dtd. Parses the XML file. Validates the objects in the XML file. Creates the objects in the repository.

When you import an object in the Designer, Workflow Manager, or Repository Manager, the Import Wizard appears. When you import using pmrep, you use a control file to specify the same import options in the Import Wizard. For information on using pmrep to import objects, see Importing Objects (ObjectImport) on page 433. The Import Wizard allows you to perform the following actions:

Choose the XML file. Choose which objects to import. You can choose all or some objects listed in the XML file. If the XML file contains both Designer and Workflow Manager objects, the Import Wizard only shows Designer objects when you use the Designer, and only Workflow Manager objects when you use the Workflow Manager. You can import all object types using the Repository Manager. Match folders. When you use the Repository Manager to import, you can match folders listed in the XML file with folders in the destination repository. Check in the objects and apply a label. When you use the Repository Manager to import objects into a versioned repository, you can check in the objects after you import them. You can enter check in comments in the Import Wizard. If you check in the objects, you can apply a label to them. Choose an existing label or create a new one. Resolve object conflicts. When you import an object into a folder that contains an object with the same name, you can choose to rename, replace, or reuse the object. For more information on resolving object conflicts, see Resolving Object Conflicts on page 281.

Validating XML Files Against the DTD


You can only import objects from a valid XML file. The PowerCenter Client validates the XML file against the DTD and parses the XML file before importing. If the XML file is not valid, the PowerCenter Client displays an error message and does not import the objects. The DTD file, powrmart.dtd, is located in the PowerCenter Client directory. For details, see The XML and DTD Files on page 267.

280

Chapter 11: Exporting and Importing Objects

Validating Objects
You can only import valid objects into the repository. The PowerCenter Client validates each object in the XML file to ensure that it conforms to the PowerCenter specifications for that object. For example, a mapplet cannot contain a target definition. In addition, the PowerCenter Client validates objects with CRCVALUE codes to ensure that certain elements and attributes of Designer objects in the XML file have not been modified. The CRCVALUE code determines whether or not you can modify certain elements and attributes. For details on CRCVALUE codes, see The XML and DTD Files on page 267. The PowerCenter Client does not import objects with CRCVALUE codes that have been modified nor objects that do not conform to PowerCenter specifications.

Resolving Object Conflicts


When you import objects, sometimes an object in the XML file has the same name as an object in the destination folder. You can choose to resolve object conflicts in the following ways:

Create general object resolution rules. Resolve specific object conflicts.

For more information on the Import Wizard, see Steps for Importing Objects on page 287.

Resolving General Object Conflicts


You can resolve some object conflicts by creating rules that apply to a set of objects. Create rules on the Specify Rules for Conflict Resolutions page of the Import Wizard. When you create an object resolution rule, the PowerCenter Client resolves object conflicts for objects to which the rule applies.

Importing Objects

281

Figure 11-3 shows where you can resolve general object conflicts in the Import Wizard:
Figure 11-3. Import Wizard - Resolve General Object Conflicts

Apply rule to these objects.

Choose how to resolve object conflicts.

You can create multiple rules. Use the buttons in the Import Wizard to move the rules up and down. The PowerCenter Client applies the rules to objects in order. If multiple rules apply to one object, the PowerCenter Client applies the uppermost rule only. Table 11-6 describes the different columns you define for each rule:
Table 11-6. Resolving General Conflicts During Import Column Select Criteria Description Choose the set of objects the rule applies to. You can choose the following sets of objects: - Objects with label. Applies to all objects with the label you choose. You can select this option when you import objects into a versioned repository. - Objects in query. Applies to all objects that result from the object query you choose. You can select this option when you import objects into a versioned repository. - Objects of type. Applies to objects of the type you choose. - All objects. Applies to all objects you import.

282

Chapter 11: Exporting and Importing Objects

Table 11-6. Resolving General Conflicts During Import Column Select Value Select Resolution Description Choose a value that modifies the first column. For example, if you select Objects with label in the first column, choose the label name in this column. Choose how to resolve the object conflicts. You can resolve conflicts using the following methods: - Replace. Replaces the existing object in the destination folder. - Reuse. Uses the existing object in the destination folder. - Rename. Creates a new object in the destination folder with a new name. When you choose Rename, you can specify a different name in the Conflict Resolution Wizard. For more information on the Conflict Resolution Wizard, see Resolving Specific Object Conflicts on page 283. - Prompt User. Allows you to choose a resolution on an object by object basis. When you choose Prompt User, you can define the specific conflict resolutions in the Conflict Resolution Wizard. For more information on the Conflict Resolution Wizard, see Resolving Specific Object Conflicts on page 283.

After you create general object resolution rules, you can resolve specific object conflicts using the Import Wizard.

Resolving Specific Object Conflicts


Some object conflicts may still exist after you define rules to resolve conflicts. You can resolve specific object conflicts in the Import Wizard. Figure 11-4 shows where you can resolve specific object conflicts in the Import Wizard:
Figure 11-4. Import Wizard - Resolve Specific Object Conflicts

Importing Objects

283

The Import Wizard displays all folders listed in the XML file. It also displays the object resolution status for objects in each folder:

Unresolved. Some objects in this folder conflict with objects in the target folder. Click Resolve to resolve the object conflicts. You must resolve all object conflicts before you can import objects. Resolved. No object in this folder conflicts with objects in the target folder. The Import Wizard is ready to import these objects. However, you can view or edit the object conflict resolutions by clicking View/Edit.

When the Import Wizard detects unresolved conflicts for objects in a folder, it opens the Conflict Resolution Wizard. Figure 11-5 shows the Conflict Resolution Wizard:
Figure 11-5. Conflict Resolution Wizard

The Conflict Resolution Wizard is similar to the Copy Wizard. The user interface is similar and you resolve the same type of object conflicts in both. For information on resolving conflicts in the Copy Wizard, see Copying Objects on page 297. After you resolve object conflicts in the Conflict Resolution Wizard, you return to the Import Wizard.

284

Chapter 11: Exporting and Importing Objects

Steps for Exporting Objects


You can export objects from the repository using the Designer, Workflow Manager, Repository Manager, query result, or object history. To export objects from the query result or object history, select the objects to export and choose Tools-Export to XML File. For information on using pmrep to export objects, see Exporting Objects (ObjectExport) on page 432.
To export an object from the Designer, Workflow Manager, or Repository Manager: 1. 2. 3.

Open the folder that contains the objects you want to export. In the Navigator or workspace, select the objects to export. Choose Repository-Export Objects.

Choose which dependent objects to export. 4.

To choose which dependent objects to export, click Advanced Options.

5. 6.

In the Export Options dialog box, choose which dependent objects to export and click OK. For more information, see Working with Dependent Objects on page 270. In the Export dialog box, navigate to the directory where you want to save the XML file. Enter a name for the XML file and click Save.

Steps for Exporting Objects

285

The PowerCenter Client exports the objects to an XML file, and displays export status in the Exported Objects dialog box:
View the XML file the PowerCenter Client creates.

You can click View File to view the XML file the PowerCenter Client creates.
7.

Click Close in the Exported Objects dialog box.

286

Chapter 11: Exporting and Importing Objects

Steps for Importing Objects


You can import objects into the repository using the Designer, Workflow Manager, or Repository Manager. For information on using pmrep to import objects, see Importing Objects (ObjectImport) on page 433. You can compare objects when importing objects with the Import Wizard.
To import an object: 1. 2.

Open the folder into which you want to import an object. Choose Repository-Import Objects. The Import Wizard opens to guide you through the process of importing the objects into the target folder.

3.

In the Import Wizard, click Browse to locate the XML file. Navigate to the directory where the XML file is located. Select the XML file and click OK.

Steps for Importing Objects

287

4.

Click Next.

5.

Select the objects to import and click Add. When you select a node in the Objects in File pane and click Add, the Import Wizard adds all objects listed under that node. For example, when you select Sources and click Add, the Import Wizard adds all sources for that folder. Or, when you click a particular database definition node, the Import Wizard imports all sources listed under that database definition node. After you add an object to the list of objects to import, the Import Wizard displays a check mark on the icon for objects in the Objects in File pane. To remove an object from the Objects to Import pane, select the object and click Remove. You can right-click an object and choose Properties to view the properties associated with an object. You can filter which objects to view in the Objects in File pane. Select a folder or repository in the Folders field.
Note: When you import objects using the Designer or Workflow Manager, you can select

objects from one folder. When you import objects using the Repository Manager, you can select objects from multiple folders from one repository.

288

Chapter 11: Exporting and Importing Objects

6.

Click Next.

Open Button

This step of the Import Wizard appears when you import objects using the Repository Manager, or when you import a shortcut object in the Designer. You can match folders listed in the XML file to folders in the destination repository.
7.

Click the Open button for a folder listed in the Import Wizard. The Folder Selection dialog box appears.

8.

Select a folder in the destination repository and click OK. You must select a different folder for each folder listed in the Import Wizard.
Tip: You can create a new folder in the destination repository by clicking Create Folder.

Specify the folder properties in the Create Folder dialog box.


Steps for Importing Objects 289

9.

Click Next.

This step of the Import Wizard appears when you use the Repository Manager to import objects into a versioned repository. You can check in the objects and apply labels to the them after importing.
10. 11.

To check in all objects after importing them, select Check In and enter comments in the comment field. To apply a label to all objects you import, select Apply Label and click Select Label. In the Label Browser dialog box, choose the label and click OK. You can only apply a label to the objects if you choose to check them in.

290

Chapter 11: Exporting and Importing Objects

12.

Click Next.

This step of the Import Wizard appears when you import objects using the Repository Manager. You can create rules to resolve general object conflicts. You can apply rules to objects with a certain label, objects listed in an object query, objects of the same type, or all objects.
13.

To create a new rule, click New Rule. Choose to which objects to apply the rule and select a resolution. For more information on resolving object conflicts, see Resolving Object Conflicts on page 281.

14.

Click Next.

Steps for Importing Objects

291

The Import Wizard opens the Conflict Resolution Wizard for objects in one of the folders listed in the XML file.

The Conflict Resolution Wizard is similar to the Copy Wizard. Use the Conflict Resolution Wizard to resolve specific object conflicts. For information on resolving conflicts in the Copy Wizard, see Copying Objects on page 297.
15.

Click Compare Conflict to compare conflicting objects in the XML file and target repository. The Diff Tool window appears.

You can save the comparison as a text or HTML file.

292

Chapter 11: Exporting and Importing Objects

If the objects in the XML file exist in the target repository, the Targets window appears instead of the Diff Tool window.

16. 17.

Resolve object conflicts as they appear in the Conflict Resolution Wizard. Click Next to proceed through the Conflict Resolution Wizard. Click Close when you resolve all the conflicts for this folder.

Steps for Importing Objects

293

The Import Wizard opens the Conflict Resolution Wizard for objects in any other folder listed in the XML file. When you resolve conflicts for all objects in all folders, the Import Wizard proceeds with the import process.

You can click View/Edit to view or edit the object conflicts for the objects in that folder.
Note: If you cancel the Conflict Resolution Wizard for a folder, the Import Wizard

displays the status of that folder as unresolved. Click Resolve in the Action column for that folder to open the Conflict Resolution Wizard and resolve the object conflicts.

294

Chapter 11: Exporting and Importing Objects

18.

Click Import in the Import Wizard to import the objects into the repository. The PowerCenter Client imports the objects into the destination repository, and displays the progress of the import process.

The Output window displays the results of the import process. Errors and warnings are designated by colored text.
19.

Click Done.

Steps for Importing Objects

295

Troubleshooting
The solutions to the following situations might help you with exporting and importing objects. When I tried to import a shortcut to an object, the Designer imported the actual object instead of the shortcut. To import a shortcut to an object into a repository, the Designer must be able to connect to the source repository to re-establish the shortcut. When it cannot connect to the source repository, it imports the object the shortcut references using the metadata in the XML file. I imported a mapping from an XML file I modified, but the Designer marked it invalid. Make sure that the metadata you define in the XML file is valid. You must be able to create the object you define in the Designer or Workflow Manager. For example, if you edit the metadata for a mapplet, make sure the source is not a VSAM source. The Designer marks mapplets with VSAM sources as invalid.

296

Chapter 11: Exporting and Importing Objects

Chapter 12

Copying Objects
This chapter includes the following topics:

Overview, 298 Resolving Copy Conflicts, 300 Steps for Copying Objects, 302 Viewing Object Dependencies, 305 Copying Workflow Manager Objects, 306 Copying Designer Objects, 310

297

Overview
The Workflow Manager, Designer, and Repository Manager provide a Copy Wizard that allows you to copy repository objects. You can copy repository objects such as workflows, worklets, tasks, sessions, mappings, mapplets, sources, targets, and transformations. You can also copy segments of workflows or mappings. You can copy objects within the same folder, to a different folder, or to a different repository. If you want to copy an object to another folder, you must first open the target folder. The Copy Wizard checks for conflicts in the target folder and provides choices to resolve the conflicts. For example, if an item exists in the target folder, a description of the conflict displays in the Conflict Message section of the screen. The Copy Wizard displays possible resolutions in the Resolution area of the screen. For a duplicate object you can rename, reuse, replace, or skip copying the object. Figure 12-1 shows the Copy Wizard:
Figure 12-1. The Copy Wizard Copy From/ Copy To

Conflict Message Edit name. Compare Conflict Link Apply resolution to other conflicts. Next Conflict/ Option

View Object Dependencies

Overview Area

298

Chapter 12: Copying Objects

Table 12-1 describes the areas of the Copy Wizard:


Table 12-1. Copy Wizard Areas Area Copy From/Copy To Overview Area Description Displays the original repository and folder name and the target repository and folder name. Displays the items to copy, existing conflicts, original instance name, target instance name, and action taken to resolve the conflict.It displays a red icon next to each object with a conflict, and a green icon next to each object without a conflict. Identifies the current conflict and the name of the object with the conflict, if any. After you choose a resolution, the message describes the resolution. Displays the elected resolution or a list of choices for resolution. Choices might be different, depending on the conflict. Enables you to edit the object name if you choose to rename the object. Applies the resolution to all unresolved conflicts or just the conflicts for the same object type. Compares duplicate objects in the target folder to the objects you are copying. For more information, see Comparing Repository Objects on page 45. Allows you to choose additional options for session and workflow resolutions, such as applying default connections or retaining server connections during the copy. Next Conflict/Option displays only with session or workflow conflicts that you resolve by renaming or replacing the target. Displays object dependencies for the current object. For more information, see Viewing Object Dependencies on page 305.

Conflict Message Resolution Edit ApplyThisResolution to Other Conflicts Compare Conflict Next Conflict/Option

View Object Dependencies

You can configure display settings and functions of the Copy Wizard by choosing ToolsOptions in the Designer or Workflow Manager.

Overview

299

Resolving Copy Conflicts


When the Copy Wizard encounters a conflict, it prompts you to resolve the conflict before continuing the copy process. The Copy Wizard provides you with the resolutions depending on the type of conflict. Table 12-2 describes the Copy Wizard resolutions:
Table 12-2. Copy Wizard Resolutions Resolution Name Copy Browse Description Copy a connection object. Click Browse to choose a server, connection, or mapping. You must select a valid object in the target folder for the copy process to succeed. Change the object name when copying it to the target folder. Replace the existing object in the target folder. Availability When the Copy Wizard cannot find a connection object in the target repository. When the Copy Wizard cannot find a server, connection, or mapping in the target folder it displays the Browse button. When an object with the same name exists in the target folder. When copying to another folder in the same repository or another folder in a different repository and an object with the same name exists in the target folder. When a reusable object exists in the target folder. When an object with the same name exists in the target folder.

Rename Replace

Reuse Skip

Use the existing object in the target folder. Skips copying the object.

If the target folder has duplicate objects, you can compare them to the objects you are copying to determine the differences. Click the Compare Conflict link on the Copy Wizard to display source and target views of the objects. For more information about comparing repository objects, see Comparing Repository Objects on page 45.

300

Chapter 12: Copying Objects

Figure 12-2 shows the conflict that occurs when you try to copy an object to a folder that already contains an object of the same name. The selected resolution reuses the object.
Figure 12-2. Copy Wizard Resolutions

The wizard prompts you to select a resolution for each unresolved object in your copy. Optionally, you can apply the resolution to all unresolved objects of the same type, or to all conflicts in your copy. To apply the resolution to more objects, click Apply This Resolution To and choose either All Conflicts or conflicts for just the specified object type.

Resolving Copy Conflicts

301

Steps for Copying Objects


Use the following procedure to copy an object using the Copy Wizard. To cancel the copy operation, click the Cancel button or press the Esc key.
To copy an object using the Copy Wizard: 1. 2. 3. 4.

Open the target folder. In the Navigator, select the object you want to copy. Drag or copy the object into the target folder. Click Yes on the Copy Confirmation prompt.

The Copy Wizard appears. The Copy Wizard displays objects by type. For example, the sessions display under the Sessions node, and mappings display under the Mappings node. The Copy Wizard displays a red icon on objects with conflicts. It displays conflicts one object type at a time.
5.

Click Next if you do not encounter a conflict. If you encounter a conflict, choose a resolution from the Resolution options. For example, Figure 12-3 shows the first of two unresolved mapping conflicts to resolve. The

302

Chapter 12: Copying Objects

resolution option requires you to browse for an appropriate mapping. Click Browse to select a mapping.
Figure 12-3. Copy Wizard Mapping Conflicts

Copy Conflict

6.

Click Next to view the next conflict. If you work with session or workflow conflicts, you can click Next Conflict/Option to configure additional options for sessions or workflows with conflicts. For example, use Next Conflict/Option if you want to apply default connections in the target during the copy. Next Conflict/Option displays when you have session and workflow conflicts, and you choose to Rename or Replace the target objects. Figure 12-1 on page 298 shows the Next Conflict/Option button.

7.

Repeat steps 5-6 until you resolve all conflicts.

Steps for Copying Objects

303

The Copy Summary information displays:

8.

Click Finish to complete the copy process.

304

Chapter 12: Copying Objects

Viewing Object Dependencies


When you copy an object, the Copy Wizard copies all dependent objects. While you set up a copy, you might want to view the objects or instances that depend on the object you are copying. For example, if you are going to copy a session and an associated connection object in a workflow, you can select the connection object in the Copy Wizard and see which sessions in the workflow use the connection. The Dependency dialog box displays the objects that use a selected object. The objects display upward in a hierarchy. For example, if you view the object dependencies of a connection object when you copy a workflow, the Dependency dialog box shows the session that uses the source object and the workflow that uses the session. If there are no object dependencies, the View Object Dependencies dialog box displays the following message:
<<No dependencies found for this object.>> To view dependencies for an object: 1. 2.

Select the object from the Overview area of the Copy Wizard. Click the View Object Dependencies button. The Dependency dialog box appears.
Object You Selected In the Overview Area Dependent Objects

Viewing Object Dependencies

305

Copying Workflow Manager Objects


The Workflow Manager allows you to copy workflows, worklets, workflow segments, and sessions using the Copy Wizard. You can also use the Copy Wizard to copy segments of a workflow. To copy these objects, you must resolve all conflicts that occur in the target folder. For details on resolving conflicts, see Resolving Copy Conflicts on page 300. For information on the privileges and permissions to copy Workflow Manager objects, see Workflow Manager Tasks on page 511.
Note: The Workflow Manager provides an Import Wizard that allows you to import objects

from an XML file. The Import Wizard also provides options to resolve conflicts. For more information about the Import Wizard, see Importing Objects on page 280.

Copying Workflows and Worklets


When you copy a workflow or a worklet, the Copy Wizard copies all of the worklets, sessions, and tasks included in the original workflow or worklet. When you copy a workflow or worklet, you might encounter the following copy conflicts:

Duplicate name. A workflow, worklet, or workflow component with the same name exists in the target folder. Cannot find server connection. Server connections from the original workflow do not exist for the target. If a server connection does not exist, you can select a connection or skip the conflict and choose a server connection after you copy the workflow. You cannot copy server connections. Session conflicts. When you copy a workflow, the Copy Wizard checks session components for possible conflicts. This includes the associated mapping and the database connection.

Copying Sessions
When you copy a Session task, the Copy Wizard looks for the database connections and associated mappings in the target folder. If the mapping or connection does not exist, you can select a new mapping or connection. If the target folder has no mappings, you must first copy a mapping to the target folder in the Designer before you can copy the session. When you copy a session, you might encounter the following copy conflicts:

Duplicate name. A session with the same name exists in the target folder. You can rename the existing session, reuse the session in the target folder or replace it. If you rename or replace the session you can use default mappings and connections. Otherwise, you may need to choose the connections and mappings after you copy the session. Cannot find server connection. The server connection for this session does not exist in the target.

306

Chapter 12: Copying Objects

Cannot find mapping. The associated mapping is not in the target folder. You can select an available mapping in the target folder. If you have no mappings in the target, you must cancel the session copy. Cannot find database connections. A database connection object does not exist in the target repository. Select connections from the target repository.

Mapping Conflicts
When you copy a session, the Copy Wizard verifies that the associated mapping exists in the target folder. If the mapping does not exist, you can choose a different mapping from the target folder. To find available mappings in the target folder, click Browse. If the target folder does not have any mapping in it, the Copy Wizard prompts you to create one:
There are no mappings in this folder. Please create a mapping in the Mapping Designer.

You must cancel the copy process to create a mapping. When you cancel, the Copy Wizard does not copy any object. To avoid this problem you can copy the mapping to the target folder in the Designer before copying the session. If you replace a mapping with an invalid mapping, the associated sessions become invalid.

Database Connection Conflicts


When you copy a session to a different repository, the session uses the same database connection name and type as it has in the source folder. If a connection of the same name does not exist in the target, you can do one of the following:

Select any connection of the same type in the target folder. Copy the connection to the target repository. Skip the connection conflict.

If you override the lookup or stored procedure database connection in the session properties, the Copy Wizard prompts you to either copy the connection information or choose another connection. Otherwise it uses the connection name in the session properties, even if the connection does not exist in the target folder. After you copy the session, you must verify that the lookup or stored procedure database connection exists in the target folder to validate the session.
Note: You cannot copy server connections when you copy workflows.

Mapping Variables
When you copy a session that uses mapping variable values, the Copy Wizard either copies the variables to the target folder or retains the saved variable values already in the folder.

Copying Workflow Manager Objects

307

The Workflow Manager copies the variable values to the target folder under the following conditions:

You copy a session into a folder to create a new session. The new session contains a mapping that has an associated mapping variable from the copied session. You copy a session into a folder to replace an existing session. The replaced session in the target folder does not have saved variable values.

The Workflow Manager retains the saved variable values in the target folder if you replace a session that already has saved variable values.

Copying Workflow Segments


You can copy segments of workflows and worklets when you want to reuse a portion of workflow logic. A segment consists of one or more tasks, the links between the tasks, and any condition in the links. You can copy reusable and non-reusable objects in segments. You can copy segments into workflows and worklets within the same folder, within another folder, or within a folder in a different repository. You can also paste segments of workflows or worklets into an empty Workflow or Worklet Designer workspace.
Note: You can copy individual non-reusable tasks by selecting the task and following the

instructions for copying segments. When you copy a segment, you might encounter the following copy conflicts:

Duplicate name. You paste a segment into another workflow or worklet containing a task instance with the same name as the one you are copying. For example, if you copy a segment from Workflow_A containing s_Session1 into Workflow_B containing a session named s_Session1. For reusable objects, you can resolve this conflict by replacing the task instance or renaming the task instance with a unique name. If you replace the task instance, the Copy Wizard overwrites the task instance in the target workspace. When you overwrite the segment, the conditions in the copied link overwrite the link conditions in the target workflow or worklet. If you copy and paste a task within the same workflow or worklet, you cannot overwrite the original task with the copied task. The Copy Wizard creates a copy of the task and assigns it a new name. To avoid overwriting an object instance in a target workflow or worklet, choose to create a copy of the instance instead of replace it. Each time the Copy Wizard locates a duplicate instance in the target workflow or worklet, it creates a new copy of the object you are pasting and renames it so that it does not overwrite any objects.

Cannot find mapping. You paste a segment to another folder without the associated mappings in the target folder. You must select a new mapping. If the target folder does not contain a mapping, you must copy a mapping to the target folder before you can copy the segment. Cannot find database connection. You paste a segment to another folder, but the target folder does not contain the associated database connection. If you copy to a folder in a different repository, and a connection of the same name does not exist, select any

308

Chapter 12: Copying Objects

connection of the same type in the target folder, copy the connection to the target repository, or skip the connection conflict.

Segment contains user-defined workflow variable. If you paste a segment containing a user-defined workflow or worklet variable, expressions using the variable become invalid. User-defined workflow variables are only valid in the workflow or worklet in which they were created.

To copy a segment from a workflow or worklet: 1. 2.

Open the workflow or worklet. Select a segment by highlighting each task you want to copy. You can select multiple reusable or non-reusable objects. You can also select segments by dragging the pointer in a rectangle around objects in the workspace. Copy the segment to the clipboard. Open the workflow or worklet into which you want to paste the segment. You can also copy the object into the Workflow or Worklet Designer workspace. Choose Edit-Paste or press Ctrl+V.

3. 4. 5.

The Copy Wizard opens and notifies you if it finds copy conflicts.

Copying Workflow Manager Objects

309

Copying Designer Objects


You can copy Designer objects within the same folder, to a different folder, or to a different repository. You can copy any of the Designer objects such as sources, targets, mappings, mapplets, transformations, and dimensions. You must open the target folder before you can copy to it. For information on the privileges and permissions to copy designer objects, see Designer Tasks on page 510. To copy these objects, you must resolve all conflicts that occur in the target folder. For details on resolving conflicts, see Resolving Copy Conflicts on page 300. When you copy Designer objects, you might have the following copy conflicts or options:

Duplicate item name. When you copy objects you might have duplicate objects in the target folder. When you copy a mapping or mapplet, the wizard attempts to copy all the components of the mapping to the target. You might have some duplicate components in the target folder. You can resolve these conflicts individually, or you select resolutions all at once. For more information on resolving conflicts, see Resolving Copy Conflicts on page 300. Copy a source included in a primary key-foreign key relationship that is not included in the mapping. When you copy a mapping with a source object that has a primary keyforeign key relationship with another object not included in the mapping, the Copy Wizard asks you if you want to copy the referenced object. Retain current values in reusable Sequence Generator or Normalizer transformations. If you copy Sequence Generator transformations, select the Sequence Generator and Normalizer Current Value to retain the current value of the sequence number. When copying a Normalizer transformation, select this option to retain the current value of the generated key sequence. This option displays only when you copy Sequence Generator or Normalizer transformations. Copy SAP Program information. If you copy an SAP R/3 mapping, you can choose to copy the associated installed ABAP program. Choose the Copy SAP Program Information checkbox. This option displays when you copy an SAP R/3 mapping across repositories. For more information about ABAP programs see the PowerCenter Connect for SAP R/3 documentation.

Copying Mapping and Mapplets Segments


You can copy segments of mappings and mapplets when you want to reuse a portion of the mapping logic. A segment consists of one or more objects in a mapping or mapplet. A segment can include a source, target, transformation, mapplet, or shortcut. To copy mapping segments, select and copy the segments from the Mapping Designer and paste them into a target mapping or an empty mapping or mapplet workspace. You can copy segments across folders or repositories.

310

Chapter 12: Copying Objects

To copy a segment of a mapping or mapplet: 1. 2.

Open a mapping or mapplet. Select a segment by highlighting each object you want to copy. You can select multiple objects. You can also select segments by dragging the pointer in a rectangle around objects in the workplace. Copy the segment to the clipboard by pressing Ctrl+C or choosing Edit-Copy. Open a target mapping or mapplet. You can also paste the segment into an empty workspace. Choose Edit-Paste or press Ctrl+V. If you are creating duplicate objects in a folder, the Designer assigns a unique name to the new object.

3. 4. 5.

Copying Designer Objects

311

312

Chapter 12: Copying Objects

Chapter 13

Exchanging Metadata
This chapter includes the following topics:

Overview, 314 Steps for Exporting Metadata, 316 Steps for Importing Metadata, 319

313

Overview
You can use the Repository Manager to share source and target metadata with other business intelligence (BI) and data modeling tools, such as Business Objects Designer. PowerCenter uses the Meta Integration Model Bridge (MIMB) from Meta Integration Technology, Inc. to exchange metadata with other BI and data modeling tools. MIMB uses the specifications in powrmart.dtd to exchange metadata with PowerCenter. The Repository Manager uses a wizard to guide you through the export or import process. The wizard prompts you for different options, depending on the BI or data modeling tool. When the Metadata Import Wizard detects object conflicts during import, it opens the Conflict Resolution Wizard. The Conflict Resolution Wizard is similar to the Copy Wizard. For information on resolving conflicts in the Copy Wizard, see Copying Objects on page 297. To exchange metadata you export the metadata from the source tool and import the metadata into the target tool. PowerCenter can be the source or target tool. To exchange metadata between PowerCenter and another tool, you can use one of the follow methods:

Use PowerCenter as the source tool. In PowerCenter, export metadata to a file recognized by the target tool, and then use the target BI or data modeling tool to import metadata from the file. Use the BI or data modeling tool as the source tool. In the source BI or data modeling tool, export metadata to a file recognized by the source tool, and then use PowerCenter to import metadata from the file.

To export metadata, select an object and choose Repository-Export Metadata. To import metadata, select a folder and choose Repository-Import Metadata. For more information on exporting metadata, see Steps for Exporting Metadata on page 316. For more information on importing metadata, see Steps for Importing Metadata on page 319. You can export to and import from the following BI and data modeling tools:

Business Objects Designer Cognos ReportNet Framework Manager IBM DB2 Cube Views IBM Rational Rose Microsoft Visio Database Oracle Warehouse Builder Cognos Impromptu

You can import from the following BI tool:

Note: You can also exchange metadata with BI and data modeling tools by using the Export

Objects and Import Objects menu commands. You do not need a PowerCenter Metadata Exchange option license key, but you must be able to export or import XML files that conform to powrmart.dtd. For more information on exporting and importing objects, see Exporting and Importing Objects on page 263.
314 Chapter 13: Exchanging Metadata

Rules and Guidelines


Consider the following rules and guidelines when you exchange metadata with BI or data modeling tools:

You can export and import relational source and target definitions. You can import multiple source and target definitions at a time. You can export multiple source definitions or multiple target definitions at a time. You cannot export source and target definitions at the same time. You cannot export cubes and dimensions. However, you can export targets to some tools as dimensions. You cannot export shortcuts. When you export a source or target with a foreign key, the Repository Agent also exports the source or target containing the corresponding primary key. You must have a Metadata Exchange option license key to exchange metadata for a specific tool. For more information on licenses, see Working with PowerCenter Licenses on page 119.

Overview

315

Steps for Exporting Metadata


Use the following procedure to export metadata from PowerCenter to a file recognized by the target BI or data modeling tool.
To export metadata: 1.

In the Repository Manager Navigator, select the object or objects you want to export, and choose Repository-Export Metadata. The Metadata Export Wizard appears.

Choose a path and file name.

2.

Choose the target tool you want to export the object to. You can click More Info to read about the tool requirements.

316

Chapter 13: Exchanging Metadata

3.

Choose a path and file name for the target file, and click Next.

4.

Choose the level of consistency checking you want MIMB to perform. The consistency check verifies the object meets the metadata requirements for the target tool.

5.

Click Next. The Metadata Export Wizard displays options specific to the tool you select.

6.

Enter the options specific for the tool to which you are exporting.

Steps for Exporting Metadata

317

7.

Click Export.

You can click Show Details to view detailed messages about the metadata conversion. You can click Save Log to save the message log to a text file.
8.

Click Finish to close the wizard.

318

Chapter 13: Exchanging Metadata

Steps for Importing Metadata


Use the following procedure to import metadata from a file created by another BI or data modeling tool.
To import metadata: 1.

In the Repository Manager, select the folder into which you want to import metadata, and choose Repository-Import Metadata. The Metadata Import Wizard appears.

The wizard uses the file name as the source database name for each object you import.

2.

Choose the target tool from which you want to import the object. You can click More Info to read about the tool requirements.

Steps for Importing Metadata

319

3.

Click the Browse button to navigate to the file that contains the metadata, and click Next.

The Metadata Import Wizard displays options specific to the tool you select, such as IBM DB2 Cube Views.
4. 5.

Enter the options specific for the tool from which you are importing. Click Next. The PowerCenter Options page of the wizard appears.

6.

Enter the PowerCenter options.

320

Chapter 13: Exchanging Metadata

Table 13-1 describes the PowerCenter options you define in the Metadata Import Wizard:
Table 13-1. Metadata Import Wizard - PowerCenter Options Option Table Type Database Type Require/ Optional Required Required Description The type of repository objects to create. You can create source or target definitions. Default is source. Choose the database type for the source or target definitions the wizard creates. The wizard can define the object definition database type based on the metadata defined in the file, or you can override the database type by choosing a database type here. Default is auto detect. The DBD under which you want to group the repository objects in the Navigator. If you do not specify a DBD, the Metadata Import Wizard groups all objects under a DBD based on the source or target database. The code page of the repository you import the metadata into. Default is MS1252. The number of spaces used to indent the file you import. Default is no indentation. Indicates whether or not to retain the column properties when you replace an existing object. Default is False.

Database Name

Optional

Codepage Indentation Retain Physical Properties

Required Optional Optional

7.

Click Next. The Metadata Import Wizard converts the metadata in the file to a format recognized by PowerCenter.

Steps for Importing Metadata

321

You can click Save Log to save the message log to a text file. You can click Show Details to view detailed messages about the metadata conversion.
8. 9.

Click Next. In the Object Selection page, select which objects to import into the repository, and click Finish.

The Metadata Import Wizard adds the objects to the folder in the repository. If the folder contains objects with the same name as those you import, the Metadata Import Wizard opens the Conflict Resolution Wizard.

The Conflict Resolution Wizard is similar to the Copy Wizard. Use the Conflict Resolution Wizard to resolve specific object conflicts. For information on resolving conflicts in the Copy Wizard, see Copying Objects on page 297.

322

Chapter 13: Exchanging Metadata

10.

Click Compare Conflict to compare conflicting objects in the import file and target repository. For more information on comparing sources or targets, see Comparing Objects in the Designer Guide.

11. 12.

Resolve object conflicts as they appear in the Conflict Resolution Wizard. Click Next to proceed through the Conflict Resolution Wizard. Click Close when you resolve all conflicts. The Metadata Import Wizard imports all objects.

Steps for Importing Metadata

323

324

Chapter 13: Exchanging Metadata

Chapter 14

Metadata Extensions
This chapter covers the following topics:

Overview, 326 Working with Metadata Extensions, 327 Creating Reusable Metadata Extensions, 328 Editing Reusable Metadata Extensions, 331 Deleting Reusable Metadata Extensions, 332

325

Overview
Informatica allows end users and partners to extend the metadata stored in the repository by associating information with individual objects in the repository. For example, when you create a mapping, you can store your contact information with the mapping. You associate information with repository metadata using metadata extensions. PowerCenter Client applications can contain the following types of metadata extensions:

Vendor-defined. Third-party application vendors create vendor-defined metadata extensions. You can view and change the values of vendor-defined metadata extensions, but you cannot create, delete, or redefine them. User-defined. You create user-defined metadata extensions using PowerCenter. You can create, edit, delete, and view user-defined metadata extensions. You can also change the values of user-defined extensions.

All metadata extensions exist within a domain. You see the domains when you create, edit, or view metadata extensions. Vendor-defined metadata extensions exist within a particular vendor domain. If you are using third-party applications or other Informatica products, you may see domains such as Ariba or PowerCenter Connect for Siebel. You cannot edit vendordefined domains or change the metadata extensions in them. User-defined metadata extensions exist within the User Defined Metadata Domain. When you create metadata extensions for repository objects, you add them to this domain. Both vendor and user-defined metadata extensions can exist for the following repository objects:

Source definitions Target definitions Transformations Mappings Mapplets Sessions Tasks Workflows Worklets

326

Chapter 14: Metadata Extensions

Working with Metadata Extensions


You can create reusable or non-reusable metadata extensions. You associate reusable metadata extensions with all repository objects of a certain type. So, when you create a reusable extension for a mapping, it is available for all mappings. Vendor-defined metadata extensions are always reusable. Non-reusable extensions are associated with a single repository object. Therefore, if you edit a target and create a non-reusable extension for it, that extension is available only for the target you edit. It is not available for other targets. You can promote a non-reusable metadata extension to reusable, but you cannot change a reusable metadata extension to non-reusable. You can create, edit, and delete user-defined metadata extensions using the following tools:

Designer. Create, edit, and delete non-reusable metadata extensions for sources, targets, transformations, mappings, and mapplets. You can also promote non-reusable metadata extensions to reusable extensions. For details, see Using the Designer in the Designer Guide. Workflow Manager. Create, edit, and delete non-reusable metadata extensions for sessions, workflows, and worklets. You can also promote non-reusable metadata extensions to reusable extensions. For details, see Using the Workflow Manager in the Workflow Administration Guide. Repository Manager. Create, edit, and delete reusable metadata extensions for all types of repository objects. If you want to create, edit, and delete metadata extensions for multiple objects at one time, use the Repository Manager.

To create, edit, and delete reusable user-defined metadata extensions, you must have one of the following privileges:

Administer Repository Super User

Working with Metadata Extensions

327

Creating Reusable Metadata Extensions


You can create reusable metadata extensions for repository objects using the Repository Manager. When you create a reusable metadata extension for any type of repository object, the metadata extension becomes part of the properties of that type of object. For example, suppose you create a reusable metadata extension for source definitions called SourceCreator. When you create or edit any source definition in the Designer, the SourceCreator extension appears on the Metadata Extensions tab. Anyone who creates or edits a source can enter the name of the person that created the source into this field.
To create a reusable metadata extension: 1. 2.

In the Repository Manager, connect to the appropriate repository. Choose Edit-Metadata Extensions. The Edit Metadata Extensions dialog box opens.

User-Defined Metadata Extensions

This dialog box lists the existing user-defined and vendor-defined metadata extensions. User-defined metadata extensions appear in the User Defined Metadata Domain. If vendor-defined metadata extensions exist, they appear in their own domains.
3. 4.

Open the User Defined Metadata Domain. Click Add.

328

Chapter 14: Metadata Extensions

The Add Metadata Extensions dialog box opens.

5.

Enter the metadata extension information. Table 14-1 describes the options available in the Add Metadata Extension dialog box:
Table 14-1. Options for Creating Reusable Metadata Extensions Field Extension Name Required/ Optional Required Description Name of the metadata extension. Metadata extension names must be unique for each type of object in a domain. Metadata extension names cannot contain any special character except underscore, and they cannot begin with a number. The type of repository object to which the metadata extension is associated. This can be a source definition, target definition, transformation, mapping, mapplet, session, workflow, worklet, or all of these objects. You associate metadata extensions with specific types of transformations. For example, if you create a metadata extension for Expression transformations, it is available only for Expression transformations. The database type. The database type is required for source and target definition objects. You can select a single database type or all database types. The datatype: numeric (integer), string, or boolean. An optional default value. For a numeric metadata extension, the value must be an integer between -2,147,483,647 and 2,147,483,647. For a boolean metadata extension, choose true or false. For a string metadata extension, you can enter a default value of more than one line, up to 2,147,483,647 bytes.

Object Type

Required

Database Type

Required for source and target definition objects Required Optional

Datatype Default Value

Creating Reusable Metadata Extensions

329

Table 14-1. Options for Creating Reusable Metadata Extensions Field Maximum Length Client Visible Client Editable Required/ Optional Required for string objects Optional Optional Description The maximum length for string metadata extensions. Specifies whether the metadata extension is visible in PowerCenter. Specifies whether the value of the metadata extension is editable in PowerCenter. If you select this option, the Repository Manager grants Client Visible permission as well. Specifies whether the metadata extension is visible in vendor domains. Specifies whether the value of the metadata extension is editable across vendor domains. If you enable Share Write permission, the Repository Manager grants Share Read permission as well. Specifies whether the metadata extension is private to the domain in which it is created. The Repository Manager enables this option when third-party application vendors create vendor-defined metadata extensions only. Optional description of the metadata extension.

Share Read Share Write

Optional Optional

Private

Optional

Description 6. 7.

Optional

Click Create. Click Done.

330

Chapter 14: Metadata Extensions

Editing Reusable Metadata Extensions


You can edit user-defined, reusable metadata extensions for repository objects using the Repository Manager. When you edit a reusable metadata extension, you change the properties of the metadata extension. To change the value of a metadata extension, edit the repository object using the Designer or Workflow Manager.
Note: You cannot edit vendor-defined metadata extensions.

To edit a reusable metadata extension, select the appropriate metadata extension in the Metadata Extensions dialog box, and then click Edit. You can modify the following fields:

Default Value Permissions Description

Editing Reusable Metadata Extensions

331

Deleting Reusable Metadata Extensions


You can delete user-defined, reusable metadata extensions for repository objects using the Repository Manager. When you delete a reusable metadata extension for a repository object, you remove the metadata extension and its values from the properties of all objects of that type.
Note: You cannot delete vendor-defined metadata extensions.

To delete a reusable metadata extension, select the appropriate extension in the Metadata Extensions dialog box, and click Delete.

332

Chapter 14: Metadata Extensions

Chapter 15

Using Metadata Exchange (MX) Views


This chapter includes the following topics:

Viewing the Repository Metadata, 334 Database Definition View, 338 Source Views, 339 Target Views, 347 Mapping and Mapplet Views, 353 Metadata Extension Views, 364 Transformation Views, 366 Workflow, Worklet, and Task Views, 371 Security Views, 390 Deployment Views, 392 Repository View, 395 PowerCenter Server Views, 396 Change Management Views, 398 Folder View, 401

333

Viewing the Repository Metadata


Informatica Metadata Exchange (MX) provides a set of relational views that allow easy SQL access to the Informatica metadata repository. The Repository Manager generates these views when you create or upgrade a repository.
Warning: The PowerCenter repository tables have an open architecture. Although you can view the repository tables, Informatica strongly advises against altering the tables or data within the tables. Informatica is not responsible for corrupted data that is caused by customer alteration of the repository tables or data within those tables. Therefore, do not directly access the actual repository tables. Instead, use MX to access the repository.

MX View Categories
MX views provide information to help you analyze metadata stored in the repository. Table 15-1 lists the available MX views by category:
Table 15-1. MX View Categories Category Database Sources Targets Mappings and Mapplets Description Provides a list of database definitions in the repository. For more information, see Database Definition View on page 338. Provides a list of source definitions by folder. For more information, see Source Views on page 339. Provides a list of target definitions by folder. For more information, see Target Views on page 347. Provides a list of sources, targets, and transformations used in mappings and mapplets by folder. For more information, see Mapping and Mapplet Views on page 353. Provides details of metadata extensions defined for objects. For more information, see Metadata Extension Views on page 364. Provides details of transformation instances by folder. For more information, see Transformation Views on page 366. Provides static and run time details for workflows and worklets by folder. For more information, see Workflow, Worklet, and Task Views on page 371. Provides user and group information. For more information, see Security Views on page 390. Provides deployment details such as deployment groups and objects that were deployed from one repository to another. For more information, see Deployment Views on page 392. Provides repository details such as repository name and connection information. For more information, see Repository View on page 395. Provides details such as server name and host name. For more information, see PowerCenter Server Views on page 396.

Metadata Extensions Transformations Workflows, Worklets, and Tasks Security Deployment

Repository PowerCenter Server

334

Chapter 15: Using Metadata Exchange (MX) Views

Table 15-1. MX View Categories Category Changed Management Folders Description Provide version history of object and label details. For more information, see Change Management Views on page 398. Provides details such as folder name and description. For more information, see Folder View on page 401.

For example, if a source table changes, and you need to re-import the source definition into your repository, you could use the REP_SRC_MAPPING view to see how many mappings include this source. Likewise, if you want to view source and target dependencies for a mapping, you could use REP_TBL_MAPPING. Almost all views support access to comment information. You can add comments to any object within PowerCenter through the Designer and Workflow Manager. You can access comments about individual tables, table relationships, data fields, and data transformations. You can use these views to create reports using third-party reporting tools, such as Crystal Reports. MX facilitates the integration of decision support metadata between the PowerCenter repository and popular Decision Support System (DSS) tools, data modeling tools, and any other metadata resources. MX allows you to drill down to the operational metadata level and expose information needed to support decisions. MX also helps you make precise information requests that draw from data models, mappings, and transformation data. For IS professionals, the MX architecture provides the following benefits:

Improves warehouse maintenance and management capability. Reduces time and resources required to support end-user requests. Expands the ability to provide information resources in a controlled manner.

Note: The Designer includes an option to Save MX Data, which is enabled by default.

Using PowerCenter Metadata Reporter


PowerCenter Metadata Reporter is a reporting tool that enables you to browse and analyze PowerCenter metadata. The Metadata Reporter prepackages a set of reports and dashboards, which can be easily customized to meet your business needs. The prepackaged dashboards and reports enable you to analyze the following types of metadata stored in a PowerCenter repository:

Source and target metadata Transformation metadata Mapping and mapplet metadata Workflow and worklet metadata Session metadata Change management metadata

Viewing the Repository Metadata

335

User and group metadata Operational metadata

See the PowerCenter Installation and Configuration Guide for more information.

SQL Definition of Views


PowerCenter provides two sets of SQL scripts: one to create the MX views and one to drop MX views.

Creating MX Views
Each time you create or upgrade a repository, the Repository Server executes a SQL script, that creates the MX views. Table 15-2 lists the SQL scripts to create MX views:
Table 15-2. SQL Script to Create MX Views Repository Database DB2 Informix Oracle Microsoft SQL Server Sybase Teradata SQL Script db2mxbld.sq_ infmxbld.sq_ oramxbld.sq_ sqlmxbld.sq_ sybmxbld.sq_ termxbld.sq_

These SQL scripts are stored in the PowerCenter Repository Server installation directory.

Dropping MX Views
If you delete a repository, the Repository Server executes a SQL script that drops the MX views. You can run these SQL scripts (*mxdrp.sq_) in the Designer. Table 15-3 lists the SQL scripts to drop MX views:
Table 15-3. SQL Script to Drop MX Views Repository Database DB2 Informix Oracle Microsoft SQL Server SQL Script db2mxdrp.sq_ infmxdrp.sq_ oramxdrp.sq_ sqlmxdrp.sq_

336

Chapter 15: Using Metadata Exchange (MX) Views

Table 15-3. SQL Script to Drop MX Views Repository Database Sybase Teradata SQL Script sybmxdrp.sq_ termxdrp.sq_

These SQL scripts are stored in the PowerCenter Repository Server installation directory.

Integrating MX Views with Third-Party Software


With MX software and support from Informatica, vendors of popular query and reporting tools can quickly create a metadata link between their products and the PowerCenter repository. Software vendors can integrate Informatica metadata with their products through different methods, from pulling the Informatica metadata into product or user repositories to providing dynamic desktop pass-through access. The next generation of MX, called Metadata Exchange SDK, provides an object-based Application Programming Interface (API) to read and write metadata in Informatica repositories.

Viewing the Repository Metadata

337

Database Definition View


The database definition view provides a list of all database definitions in the repository. A database definition includes the source database names, flat file or RDBMS, and the folder where the database definition resides. MX provides the REP_DATABASE_DEFS view to help you analyze database definitions.

REP_DATABASE_DEFS
Table 15-4 lists database definition details:
Table 15-4. REP_DATABASE_DEFS MX View Column Name DATABASE_NAME DEF_SOURCE SUBJECT_AREA VERSION_ID Datatype VARCHAR2 (240) VARCHAR2 (240) VARCHAR2 (240) INTEGER Description Database definition name. Source of the definition. Folder name. Version ID of the source.

Informatica recommends using the fields in bold to join views.

338

Chapter 15: Using Metadata Exchange (MX) Views

Source Views
Source views provide a list of the latest version of all source definitions defined by folder of any PowerCenter repository. Source definitions can be defined for both relational and nonrelational sources. These views also show source properties such as shortcuts, creation date, version, description, and business name. They also provide information such as source columns, column properties, source metadata extensions, and mappings and mapplets where these sources are used. Table 15-5 lists the different views that help you analyze source metadata:
Table 15-5. Source Views View REP_ALL_SOURCES REP_ALL_SOURCE_FLDS Description This view provides a list of the latest version of sources defined in each folder of a repository. For more information, see REP_ALL_SOURCES on page 339. This view provides all the fields and field properties for all sources defined in REP_ALL_SOURCES MX View. For more information, see REP_ALL_SOURCE_FLDS on page 341. This view provides a list of all file definitions in the repository. For more information, see REP_SRC_FILES on page 343. This view provides a list of relational database table sources that have been analyzed through the Source Analyzer tool or imported from a DDL (Data Definition Language) file. For more information, see REP_SRC_TBLS on page 344. These views provide access to the fields in a non-relational source. For more information, see REP_SRC_FILE_FLDS and REP_SEG_FLDS on page 345. This view provides access to the fields in relational sources. You can use the source name to retrieve all the fields belonging to the source. For more information, see REP_SRC_TBL_FLDS on page 346.

REP_SRC_FILES REP_SRC_TBLS

REP_SRC_FILE_FLDS REP_SEG_FLDS REP_SRC_TBL_FLDS

REP_ALL_SOURCES
This view provides a list of the latest version of sources defined in each folder of a repository. Sources include both relational sources and non-relational sources such as XML files and flat files. Table 15-6 lists source information in the REP_ALL_SOURCES view:
Table 15-6. REP_ALL_SOURCES MX View Column Name PARENT_SUBJECT_AREA PARENT_SUBJECT_ID PARENT_SOURCE_NAME PARENT_SOURCE_BUSINESS_NAME Datatype VARCHAR2 (240) NUMBER VARCHAR2 (240) VARCHAR2 (240) Description Folder name. Folder ID. Name of the parent source Business name of the parent source.

Source Views

339

Table 15-6. REP_ALL_SOURCES MX View Column Name PARENT_SOURCE_ID PARENT_SOURCE_DESCRIPTION PARENT_SOURCE_VERSION_NUMBER PARENT_SOURCE_VERSION_STATUS PARENT_SOURCE_UTC_CHECKIN PARENT_SOURCE_UTC_LAST_SAVED PARENT_SOURCE_CREATION_TIME PARENT_SOURCE_SCHEMA_NAME PARENT_SOURCE_FIRST_FIELD_ID PARENT_SOURCE_SELECT_INFO_ID PARENT_SOURCE_DISPLAY_SIZE PARENT_SOURCE_PHYSICAL_SIZE PARENT_SRC_MIN_PHYSICAL_SIZE PARENT_SOURCE_DATABASE_NAME PARENT_SOURCE_TYPE PARENT_SOURCE_DATABASE_TYPE SUBJECT_AREA SUBJECT_ID SOURCE_NAME SOURCE_ID SOURCE_DESC SOURCE_VERSION_NUMBER SOURCE_VERSION_STATUS SOURCE_UTC_CHECKIN SOURCE_UTC_LAST_SAVED SOURCE_LAST_SAVED Datatype NUMBER VARCHAR2 (2000) NUMBER NUMBER NUMBER NUMBER VARCHAR2 (30) VARCHAR2 (240) NUMBER NUMBER NUMBER NUMBER NUMBER VARCHAR2 (240) NUMBER VARCHAR2 (50) VARCHAR2 (240) NUMBER VARCHAR2 (240) NUMBER VARCHAR2 (2000) NUMBER NUMBER NUMBER NUMBER NUMBER Description ID of the parent source. Description of the parent source. Source version number. Parent source version status. UTC time (Coordinated Universal Time) when the parent source was checked in. UTC time when the parent source was last modified. Time when the parent source was last modified. Name of the source schema. ID of the first field in the source. File organization information. Parent source display size (uncompressed binary). Parent source physical size (compressed binary). Physical size (compressed binary). Database name of the parent source. Specifies whether the source is a relational or a non-relational source. Name of the database type of the parent source. Folder name. Folder ID. Source name. Source ID. Source description. Source version number. Specifies whether the source version is active or has been deleted. UTC time for source checkin. UTC time when the source display was last saved. Time when the source was last saved.

340

Chapter 15: Using Metadata Exchange (MX) Views

Table 15-6. REP_ALL_SOURCES MX View Column Name SOURCE_DATABASE_NAME REPOSITORY_NAME IS_SHORTCUT IS_GLOBAL_SHORTCUT Datatype VARCHAR2 (240) VARCHAR2 (240) NUMBER NUMBER Description Source database name. The repository name. Specifies whether the source is a shortcut. 1 = shortcut; 0 = not a shortcut. Specifies whether the source is a global shortcut. 1 = shortcut; 0 = not a shortcut.

Informatica recommends using the fields in bold to join views.

REP_ALL_SOURCE_FLDS
This view provides all the fields and field properties for all sources defined in REP_ALL_SOURCES MX View. For global shortcuts, the name of the shortcut displays. For local shortcuts, the names of shortcut and the parent targets display. Table 15-7 lists source field information in the REP_ALL_SOURCE_FLDS view:
Table 15-7. REP_ALL_SOURCE_FLDS MX View Column Name PARENT_SUBJECT_AREA PARENT_SUBJECT_ID PARENT_SOURCE_NAME PARENT_SOURCE_BUSINESS_NAME PARENT_SOURCE_ID PARENT_SOURCE_DESCRIPTION PARENT_SOURCE_VERSION_NUMBER PARENT_SOURCE_VERSION_STATUS PARENT_SOURCE_UTC_CHECKIN PARENT_SOURCE_UTC_LAST_SAVED PARENT_SOURCE_CREATION_TIME PARENT_SOURCE_TYPE PARENT_SOURCE_DATABASE_NAME PARENT_SOURCE_DATABASE_TYPE Datatype VARCHAR2 (240) NUMBER VARCHAR2 (240) VARCHAR2 (240) NUMBER VARCHAR2 (2000) NUMBER NUMBER NUMBER NUMBER VARCHAR2 (30) NUMBER VARCHAR2 (240) VARCHAR2 (50) Description Parent folder name. Parent folder ID. Parent source name. Business name of the parent source. Parent source ID. Description of the parent source. Version number of the parent source. Status of the parent source version. UTC time when the parent source was checked in. UTC time when the parent source was last saved. Time when the parent source was last modified. Source type such as relational database or flat file. Database name of the parent source. Database type of the parent source.

Source Views

341

Table 15-7. REP_ALL_SOURCE_FLDS MX View Column Name SUBJECT_AREA SUBJECT_ID SOURCE_NAME SOURCE_ID SOURCE_DESCRIPTION SOURCE_VERSION_NUMBER SOURCE_VERSION_STATUS SOURCE_UTC_CHECKIN SOURCT_UTC_LAST_SAVED SOURCE_LAST_SAVED SOURCE_DATABASE_NAME SOURCE_FIELD_NAME SOURCE_FIELD_BUSINESS_NAME SOURCE_FIELD_ID SOURCE_FIELD_DESCRIPTION SOURCE_FIELD_NUMBER SOURCE_FIELD_NEXT_FIELD_ID SOURCE_FIELD_LEVEL SOURCE_FIELD_PICTURE_TEXT SOURCE_FIELD_OCCURS_TIME SOURCE_FIELD_REDEFINES_FIELD SOURCE_FIELD_DISPLAY_OFFSET SOURCE_FIELD_DISPLAY_LENGTH SOURCE_FIELD_PHYSICAL_OFFSET SOURCE_FIELD_PHYSICAL_LENGTH SOURCE_FIELD_CHILD_FIELD_ID Datatype VARCHAR2 (240) NUMBER VARCHAR2 (240) NUMBER VARCHAR2 (2000) NUMBER NUMBER NUMBER NUMBER VARCHAR2 (30) VARCHAR2 (240) VARCHAR2 (240) VARCHAR2 (240) NUMBER VARCHAR2 (2000) NUMBER NUMBER NUMBER VARCHAR2 (240) NUMBER VARCHAR2 (240) NUMBER NUMBER NUMBER NUMBER NUMBER Description Folder name. Folder ID. Source name. Source ID. Source description. Source version number. Specifies whether the source version is active or has been deleted. UTC time when the source was last checked in. UTC time when the source was last saved. Time when the source was last saved. Name of the database for the source. Source field name. Business name of the source field. ID of the source field (primary key). Description of the source field. Source field number. ID of the field that follows the current field. Field level number for non-relational sources. Picture text that a COBOL source uses. Null for relational sources. Number of time that the field (or record) occurs in the source. Identifies the field/record that this field/ record redefines. Offset of this field within the source. Display field length. Offset of this field within this FD. Physical field length. The next child, if any, for a non-relational COBOL source.

342

Chapter 15: Using Metadata Exchange (MX) Views

Table 15-7. REP_ALL_SOURCE_FLDS MX View Column Name SOURCE_FIELD_KEY_TYPE SOURCE_FIELD_DATATYPE SOURCE_FIELD_PRECISION SOURCE_FIELD_SCALE SOURCE_FIELD_PIC_USAGE_NAME SOURCE_FIELD_NULLTYPE REPOSITORY_NAME IS_SHORTCUT IS_GLOBAL_SHORTCUT Datatype VARCHAR2 (50) VARCHAR2 (40) NUMBER NUMBER NUMBER NUMBER VARCHAR2 (240) NUMBER NUMBER Description Specifies whether the source field key is a primary key or a foreign key. Field datatype. Length or precision for the field. Scale for the field. Source field picture usage name. Specifies whether nulls are allows. 0= nulls allowed, 1 = nulls not allowed. Repository name. Specifies whether the source is a shortcut. 1 = shortcut; 0 = not a shortcut. Specifies whether the source is a global shortcut. 1 = shortcut; 0 = not a shortcut.

Informatica recommends using the fields in bold to join views.

REP_SRC_FILES
This view provides a list of all file definitions in the repository. You can use FIRST_FIELD_ID to retrieve the fields belonging to a non-relational source by following the links in the REP_SRC_FILE_FLDS view. Any flat file imported through the Source Analyzer has an entry. Table 15-8 lists file information in the REP_SRC_FILES view:
Table 15-8. REP_SRC_FILES MX View Column Name FILE_ID SUBJECT_AREA DATABASE_TYPE DATABASE_NAME FILE_NAME SCHEMA_FILE_NAME SELECT_INFO_ID DISPLAY_SIZE PHYSICAL_SIZE MIN_PHYSICAL_SIZE Datatype INTEGER VARCHAR2 (240) VARCHAR2 (240) VARCHAR2 (240) VARCHAR2 (240) VARCHAR2 (240) INTEGER INTEGER INTEGER INTEGER Description Source ID (primary key). Folder name. Type of database extracted from. Name of database extracted from (DSN). Name of file definitions. File from which schema was extracted. File organization information. Display size (uncompressed). Physical size (compressed binary). Minimum physical size (varying records).

Source Views

343

Table 15-8. REP_SRC_FILES MX View Column Name FIRST_FIELD_ID SOURCE_DESCRIPTION VERSION_ID SOURCE_VERSION_NUMBER Datatype INTEGER VARCHAR2 (2000) INTEGER NUMBER Description Link to first field of file definitions. Source description. Version ID. Source version number.

Informatica recommends using the fields in bold to join views.

REP_SRC_TBLS
This view provides a list of relational database table sources that have been analyzed through the Source Analyzer tool or imported from a DDL (Data Definition Language) file. Table 15-9 lists relational database table information in the REP_SRC_TBLS view:
Table 15-9. REP_SRC_TBLS MX View Column Name TABLE_NAME TABLE_BUSNAME TABLE_ID SUBJECT_AREA DATABASE_TYPE DATABASE_NAME SCHEMA_NAME FIRST_FIELD_ID SOURCE_DESCRIPTION VERSION_ID VERSION_NAME LAST_SAVED SOURCE_VERSION_NUMBER SUBJECT_ID Datatype VARCHAR2 (240) VARCHAR2 (240) NUMBER VARCHAR2 (240) VARCHAR2( 240) VARCHAR2 (240) VARCHAR2 (240) NUMBER VARCHAR2 (240) INTEGER VARCHAR2 (240) VARCHAR2 (240) NUMBER NUMBER Description Table name. Business name of the table. Unique key. Folder name. Type of database extracted from. Name of database extracted from. Name of schema extracted from. Link to first field. Source description. Folder version ID. Folder version name. Last time the source table was saved. Source version number. Folder ID.

Informatica recommends using the fields in bold to join views.

344

Chapter 15: Using Metadata Exchange (MX) Views

REP_SRC_FILE_FLDS and REP_SEG_FLDS


These views provide access to the fields in a non-relational source. Each field is contained in the scanned tables listed in the REP_SEG_FLDS view. Table 15-10 lists source field information in the REP_SRC_FILE_FLDS and REP_SEG_FLDS views:
Table 15-10. REP_SRC_FILE_FLDS and REP_SEG_FLDS MX Views Column Name FIELD_ID SUBJECT_AREA FILE_ID FIELD_NAME FIELD_LEVEL FIELD_NUMBER FIELD_DESCRIPTION PICTURE_TEXT OCCURS REDEFINES_FIELD KEY_TYPE DISPLAY_OFFSET DISPLAY_LENGTH PHYSICAL_OFFSET PHYSICAL_LENGTH USAGE_TYPE DATA_PRECISION DATA_SCALE CHILD_ID SIBLING_ID VERSION_ID Datatype INTEGER VARCHAR2 (240) INTEGER VARCHAR2 (240) INTEGER INTEGER VARCHAR2 (2000) VARCHAR2 (240) INTEGER VARCHAR2 (240) INTEGER INTEGER INTEGER INTEGER INTEGER VARCHAR2 (240) INTEGER INTEGER INTEGER INTEGER INTEGER Description Field ID (primary key). Folder name. Source ID (primary key). Field name. Field level (i.e., 01, 02). Order number of the field. Comments for this field. PIC clause. Number of OCCURS. Redefines this field. Key type. 1 = primary key, 0 = not a key. Offset using display length. Display length. Physical offset. Physical length. COMP type (binary compressed fields). Decimal precision for numeric fields or field length for CHAR fields. Decimal scale for numeric fields. Link to child field if this is a group item. Link to next field at this level. Version ID of the source.

Informatica recommends using the fields in bold to join views.

Source Views

345

REP_SRC_TBL_FLDS
This view provides access to the fields in relational sources. You can use the source name to retrieve all the fields belonging to the source. The columns in this view are part of the tables listed in the REP_SRC_TBLS views. Table 15-11 lists relational source fields in the REP_SRC_TBL_FLDS view:
Table 15-11. REP_SRC_TBL_FLDS MX Views Column Name COLUMN_NAME COLUMN_BUSNAME COLUMN_ID SUBJECT_AREA TABLE_ID TABLE_NAME TABLE_BUSNAME COLUMN_NUMBER COLUMN_DESCRIPTION KEY_TYPE SOURCE_TYPE DATA_PRECISION DATA_SCALE NEXT_COLUMN_ID VERSION_ID VERSION_NAME SOURCE_VERSION_NUMBER SUBJECT_ID Datatype VARCHAR2 (240) VARCHAR2 (240) INTEGER VARCHAR2 (240) INTEGER VARCHAR2 (240) VARCHAR2 (240) INTEGER VARCHAR2 (2000) VARCHAR2 (240) INTEGER INTEGER INTEGER INTEGER INTEGER VARCHAR2 (240) NUMBER NUMBER Description Field name. Business name of the field. Field ID (primary key). Folder name. Source table ID. Table name. Business name of the table. Order number of the column. Description of the column. Key type for this column. Data type for this column. Decimal precision for numeric fields or field length for CHAR fields. Decimal scale for numeric fields. Link to next field in source table. Folder version ID. Folder version name. Source version number. Folder ID.

Informatica recommends using the fields in bold to join views.

346

Chapter 15: Using Metadata Exchange (MX) Views

Target Views
Target views provide a list of the latest version of all target definitions defined by folder of a PowerCenter repository for both relational and non-relational sources. These views also show target properties such as shortcuts, creation date, version, description, and business name. They also provide information such as target columns, column properties, target metadata extensions, and mappings and mapplets where these target are used. Table 15-12 lists the different views that help you analyze target metadata:
Table 15-12. Target Views View REP_ALL_TARGETS REP_ALL_TARGET_FIELDS Description This view provides a list of the latest version of all targets defined in each folder of a repository. For more information, see REP_ALL_TARGETS on page 347. This view provides all the fields and field properties for targets defined in REP_ALL_TARGETS view. For more information, see REP_ALL_TARGET_FIELDS on page 349. This view provides a list of targets in the repository. FIRST_COLUMN_ID is a link to the set of columns for this table. For more information, see REP_TARG_TBLS on page 350. This view provides the properties of columns defined for the target tables in a data warehouse or data mart. For more information, see REP_TARG_TBL_COLS on page 351.

REP_TARG_TBLS

REP_TARG_TBL_COLS

REP_ALL_TARGETS
This view provides a list of the latest version of all targets defined in each folder of a repository. Targets include both relational and non-relational targets such as XML files and flat files. For global shortcuts, the name of the shortcut displays. For local shortcuts, the names of shortcut and the parent targets display. Table 15-13 lists target details in the REP_ALL_TARGETS view:
Table 15-13. REP_ALL_TARGETS MX View Column Name PARENT_SUBJECT_AREA PARENT_SUBJECT_ID PARENT_TARGET_NAME PARENT_TARGET_BUSINESS_NAME PARENT_TARGET_ID PARENT_TARGET_DESCRIPTION PARENT_TARGET_VERSION_NUMBER Datatype VARCHAR2 (240) NUMBER VARCHAR2 (240) VARCHAR2 (240) NUMBER VARCHAR2 (2000) NUMBER Description Parent folder name. Folder ID. Target name. Business name for the target. Target ID (primary key). Target description. Target version number.

Target Views

347

Table 15-13. REP_ALL_TARGETS MX View Column Name PARENT_TARGET_VERSION_STATUS PARENT_TARGET_UTC_CHECKIN PARENT_TARGET_UTC_LAST_SAVED PARENT_TARGET_CREATION_TIME PARENT_TARGET_FIRST_FIELD_ID PARENT_TARGET_CONSTRAINT PARENT_TARGET_CREATE_OPTIONS PARENT_TARGET_FIRST_INDEX_ID PARENT_TARGET_FILE_ID PARENT_TARGET_DATABASE_TYPE SUBJECT_AREA SUBJECT_ID TARGET_NAME TARGET_ID TARGET_DESCRIPTION TARGET_VERSION_NUMBER TARGET_VERSION_STATUS TARGET_UTC_CHECKIN TARGET_UTC_LAST_SAVED TARGET_CREATION_TIME REPOSITORY_NAME IS_SHORTCUT IS_GLOBAL_SHORTCUT Datatype NUMBER NUMBER NUMBER VARCHAR2 (30) VARCHAR2 VARCHAR2 (2000) VARCHAR2 (2000) NUMBER NUMBER VARCHAR2 (50) VARCHAR2 (240) NUMBER VARCHAR2 (240) NUMBER VARCHAR2 (2000) NUMBER NUMBER NUMBER NUMBER NUMBER VARCHAR2 (240) NUMBER NUMBER Description Status of the parent target version. UTC time (Coordinated Universal Time) when the parent target was checked in. UTC time when the target was last saved. Time when the target was last modified. Link to first field of this table. User-specified constraint string used when the DDL is generated. Options for use when generating DDL. Link to first field of this table. ID for the parent target file. Database type for the parent target. Folder name. Folder ID. Target name. Target ID. Target description. Target version number. Status of the target version. UTC time (Coordinated Universal Time) when the target was last checked in. UTC time when the target was last saved. Time when the target was last saved. Repository name. Specifies whether the target is a shortcut. 1 = shortcut; 0 = not a shortcut. Specifies whether the target is a global shortcut. 1 = shortcut; 0 = not a shortcut.

Informatica recommends using the fields in bold to join views.

348

Chapter 15: Using Metadata Exchange (MX) Views

REP_ALL_TARGET_FIELDS
This view provides all the fields and field properties for targets defined in REP_ALL_TARGETS view. For global shortcuts, the shortcut name displays. For local shortcuts, the names of the shortcut and the parent targets display. Table 15-14 lists target field data in the REP_ALL_TARGET_FIELDS view:
Table 15-14. REP_ALL_TARGET_FIELDS MX View Column Name PARENT_SUBJECT_AREA PARENT_SUBJECT_ID PARENT_TARGET_NAME PARENT_TARGET_BUSINESS_NAME PARENT_TARGET_ID PARENT_TARGET_DESCRIPTION PARENT_TARGET_VERSION_NUMBER PARENT_TARGET_VERSION_STATUS PARENT_TARGET_UTC_CHECKIN PARENT_TARGET_UTC_LAST_SAVED PARENT_TARGET_LAST_SAVED PARENT_TARGET_FILE_ID PARENT_TARGET_FIRST_FIELD_ID PARENT_TARGET_DATABASE_TYPE SUBJECT_AREA SUBJECT_ID TARGET_NAME TARGET_ID TARGET_DESCRIPTION TARGET_VERSION_NUMBER TARGET_VERSION_STATUS TARGET_UTC_CHECKIN TARGET_UTC_LAST_SAVED TARGET_CREATION_TIME Datatype VARCHAR2 (240) NUMBER VARCHAR2 (240) VARCHAR2 (2000) NUMBER VARCHAR2 (2000) NUMBER NUMBER NUMBER NUMBER NUMBER NUMBER NUMBER VARCHAR2 (50) VARCHAR2 (240) NUMBER VARCHAR2 (240) NUMBER VARCHAR2 (2000) NUMBER NUMBER NUMBER NUMBER VARCHAR2 (30) Description Folder name. Folder ID. Name of parent target. Business name of the parent target. Parent target ID. Description of parent target. Target version number. Status of the parent target version. UTC time (Coordinated Universal Time) when the parent target was last checked in. UTC time when the parent target was last saved. Time when the parent target was last modified. ID of parent target file. ID of the first field of parent target. Database type of parent target. Folder name. Folder ID. Target name. Target ID. Target description. Target version number. Status of the target version. UTC time when the target was last checked in. UTC time when the target was last saved. Time when target was last modified.

Target Views

349

Table 15-14. REP_ALL_TARGET_FIELDS MX View Column Name TARGET_FIELD_NAME TARGET_FIELD_BUSINESS_NAME TARGET_FIELD_ID TARGET_FIELD_DESC TARGET_FIELD_NUMBER TARGET_FIELD_NEXT_FIELD_ID TARGET_FIELD_PICTURE_TEXT TARGET_FIELD_IS_NULLABLE TARGET_FIELD_SOURCE_FIELD_ID TARGET_FIELD_KEY_TYPE TARGET_FIELD_DATATYPE TARGET_FIELD_DATATYPE_GROUP Datatype VARCHAR2 (240) VARCHAR2 (240) NUMBER VARCHAR2 (2000) VARCHAR2 (240) NUMBER VARCHAR2 (240) NUMBER NUMBER NUMBER VARCHAR2 (240) CHAR (1) Description Target field name. Business name of target field. Target field ID. Description of target field. Target field number. ID of the next field in target. Picture text that COBOL sources use. Specifies whether target field is null. 0 = Null; 1 = Not Null. Link to source from which this field was created. Key type of target field. Datatype of target field. Datatype group codes. B = Binary and Bit C = Character, String, Text, and Byte D = Date N = Numeric, Money, and Bigint Precision for target field. Scale for target field. Repository name. Specifies whether the target is a shortcut. 1 = shortcut; 0 = not a shortcut. Specifies whether the target is a global shortcut. 1 = shortcut; 0 = not a shortcut.

TARGET_FIELD_PRECISION TARGET_FIELD_SCALE REPOSITORY_NAME IS_SHORTCUT IS_GLOBAL_SHORTCUT

NUMBER NUMBER VARCHAR2 (240) NUMBER NUMBER

Informatica recommends using the fields in bold to join views.

REP_TARG_TBLS
This view provides a list of targets in the repository. FIRST_COLUMN_ID is a link to the set of columns for this table. All tables contained in the target table model are part of this view. It is the primary table list used to delineate a PowerCenter data model. The tables are virtual, not physically created. Therefore, verify that the table exists before using this view.

350

Chapter 15: Using Metadata Exchange (MX) Views

Table 15-15 lists the columns in the REP_TARG_TBLS view:


Table 15-15. REP_TARG_TBLS MX View Column Name SUBJECT_AREA TABLE_NAME BUSNAME VERSION_ID VERSION_NAME DESCRIPTION FIRST_COLUMN_ID TABLE_CONSTRAINT CREATE_OPTIONS FIRST_INDEX_ID LAST_SAVED TARGET_VERSION_NUMBER SUBJECT_ID TABLE_ID Datatype VARCHAR2 (240) VARCHAR2 (240) VARCHAR2 (240) INTEGER VARCHAR2 (240) VARCHAR2 (2000) INTEGER VARCHAR2 (240) VARCHAR2 (240) VARCHAR2 (240) VARCHAR2 (240) NUMBER NUMBER NUMBER Description Folder name. Table name. Table business name. Folder version ID. Folder version name. Description of the table. Link to first field of this table. Table constraint specified in Warehouse Designer. Table creation options specified in the Warehouse Designer. Link to first index. Time target table was last saved. Target version number. Folder ID. Table ID.

Informatica recommends using the fields in bold to join views.

REP_TARG_TBL_COLS
This view provides the properties of columns defined for the target tables in a data warehouse or data mart. Table 15-16 lists target table column properties for the REP_TARG_TBL_COLS view:
Table 15-16. REP_TARG_TBL_COLS MX View Column Name SUBJECT_AREA TABLE_NAME TABLE_BUSNAME COLUMN_NAME COLUMN_BUSNAME COLUMN_NUMBER COLUMN_ID Datatype VARCHAR2 (240) VARCHAR2 (240) VARCHAR2 (240) VARCHAR2 (240) VARCHAR2 (240) INTEGER INTEGER Description Folder name. Table this column belongs to. Business name of the table. Column name. Business name of this column. Order number of the column. Column ID (primary key).

Target Views

351

Table 15-16. REP_TARG_TBL_COLS MX View Column Name VERSION_ID VERSION_NAME DESCRIPTION COLUMN_KEYTYPE DATA_TYPE DATA_TYPE_GROUP Datatype INTEGER VARCHAR2 (240) VARCHAR2 (2000) VARCHAR2 (240) VARCHAR2 (240) CHAR (1) Description Folder version ID. Folder version name. Column description. Primary Key, Not a Key, Foreign Key, Primary and Foreign Key. Native database datatype. Datatype group. C = Character D = Date N = Numeric Decimal precision for numeric fields or field length for CHAR fields. Decimal scale for numeric columns. Link to next column. Whether NULLs are accepted. Link to source this column was created from. Target version number.

DATA_PRECISION DATA_SCALE NEXT_COLUMN_ID IS_NULLABLE SOURCE_COLUMN_ID TARGET_VERSION_NUMBER

INTEGER INTEGER INTEGER INTEGER INTEGER NUMBER

Informatica recommends using the fields in bold to join views.

352

Chapter 15: Using Metadata Exchange (MX) Views

Mapping and Mapplet Views


Mapping and mapplet views allow you to see the sources, targets, and transformations used in a mapping or a mapplet by folder in a PowerCenter repository. These views also display properties of mappings and mapplets such as description, version and creation date, the validity of the mapping or mapplet, and whether the mapping or the mapplet is a shortcut. Table 15-17 lists the different views that help you analyze mapping and mapplet metadata:
Table 15-17. Mapping and Mapplet Views View REP_ALL_MAPPINGS Description This view provides a list of the latest version of all mappings defined in each folder of a repository. For more information, see REP_ALL_MAPPINGS on page 354. This view provides a list of the latest version of all mapplets defined in each folder of a repository. For more information, see REP_ALL_MAPPLETS on page 355. This view provides access to the compound table-level transformation expressions for each target table. For more information, see REP_TARG_MAPPING on page 356. This view shows compound field-level transformation expressions associated with a target. For more information, see REP_TARG_FLD_MAP on page 357. This view shows the source fields used by the target fields in a mapping. This is the companion view for the REP_TBL_MAPPING view. For more information, see REP_FLD_MAPPING on page 358. This view shows all sources used in a mapping. For more information, see REP_SRC_MAPPING on page 359. This view shows all of the source fields used in a mapping. For more information, see REP_SRC_FLD_MAP on page 359. This view shows all of the target tables used in a mapping and provides source to target mapping information. For more information, see REP_TBL_MAPPING on page 360. This view contains join information between target tables. For more information, see REP_TARG_TBL_JOINS on page 361. This view displays the unconnected ports in sources, targets, and transformations in a mapping. For more information, see REP_MAPPING_UNCONN_PORTS on page 362. This view displays the port-level connections between the objects of a mapping. For more information, see REP_MAPPING_PORT_CONN on page 363.

REP_ALL_MAPPLETS

REP_TARG_MAPPING

REP_TARG_FLD_MAP

REP_FLD_MAPPING

REP_SRC_MAPPING REP_SRC_FLD_MAP REP_TBL_MAPPING

REP_TARG_TBL_JOINS REP_MAPPING_UNCONN_PORTS

REP_MAPPING_PORT_CONN

Mapping and Mapplet Views

353

REP_ALL_MAPPINGS
This view provides a list of the latest version of all mappings defined in each folder of a repository. For local shortcuts, the names of the shortcut and the parent mappings display. For global shortcuts, the name of the shortcut displays. Table 15-18 lists mapping information in the REP_ALL_MAPPINGS view:
Table 15-18. REP_ALL_MAPPINGS MX View Column Name PARENT_SUBJECT_AREA PARENT_SUBJECT_ID SUBJECT_AREA SUBJECT_ID PARENT_MAPPING_NAME PARENT_MAPPING_ID PARENT_MAPPING_VERSION_NUMBER PARENT_MAPPING_VERSION_STATUS PARENT_MAPPING_UTC_CHECKIN PARENT_MAPPING_UTC_LAST_SAVED PARENT_MAPPING_LAST_SAVED PARENT_MAPPING_IS_VALID PARENT_MAPPING_DESCRIPTION MAPPING_NAME MAPPING_ID MAPPING_VERSION_NUMBER MAPPING_VERSION_STATUS MAPPING_UTC_CHECKIN MAPPING_UTC_LAST_SAVED MAPPING_LAST_SAVED MAPPING_DESCRIPTION REPOSITORY_NAME IS_GLOBAL_SHORTCUT Datatype VARCHAR2 (240) NUMBER VARCHAR2 (240) NUMBER VARCHAR2 (240) NUMBER INTEGER NUMBER NUMBER NUMBER NUMBER NUMBER VARCHAR2 (2000) VARCHAR2 (240) NUMBER NUMBER NUMBER NUMBER NUMBER NUMBER VARCHAR2 (2000) VARCHAR2 (240) NUMBER Description Parent folder name. Parent folder ID. Folder name. Folder ID. Name of the parent mapping. Sequence ID of the parent mapping. Parent mapping version number. Parent mapping version status. UTC time (Coordinated Universal Time) when the parent mapping was checked in. The UTC time when mapping was last saved. Date and time when parent mapping was last saved. Specifies whether the parent mapping is valid. Parent mapping description. Name of mapping. Sequence ID for mapping. Mapping version number. Status of the mapping version. UTC time when the mapping was checked in. UTC time when the mapping was last saved. Time when the mapping was last saved. Mapping description. Repository name. Specifies whether the mapping is a global shortcut. 1 = shortcut; 0 = not a shortcut.

354

Chapter 15: Using Metadata Exchange (MX) Views

Table 15-18. REP_ALL_MAPPINGS MX View Column Name IS_SHORTCUT Datatype NUMBER Description Specifies whether the mapping is a shortcut. 1 = shortcut; 0 = not a shortcut.

Informatica recommends using the fields in bold to join views.

REP_ALL_MAPPLETS
This view provides a list of the latest version of all mapplets defined in each folder of a repository. For local shortcuts, the names of the shortcut and the parent mapplets display. For global shortcuts, the name of the shortcut displays. Table 15-19 lists mapplet metadata in the REP_ALL_MAPPLETS view:
Table 15-19. REP_ALL_MAPPLETS MX View Column Name PARENT_SUBJECT_AREA PARENT_SUBJECT_ID SUBJECT_AREA SUBJECT_ID PARENT_MAPPLET_NAME PARENT_MAPPLET_ID PARENT_MAPPLET_VERSION_NUMBER PARENT_MAPPLET_VERSION_STATUS PARENT_MAPPLET_UTC_CHECKIN PARENT_MAPPLET_UTC_LAST_SAVED PARENT_MAPPLET_LAST_SAVED PARENT_MAPPLET_IS_VALID PARENT_MAPPLET_DESCRIPTION MAPPLET_NAME MAPPLET_ID MAPPLET_VERSION_NUMBER MAPPLET_VERSION_STATUS MAPPLET_UTC_CHECKIN MAPPLET_UTC_LAST_SAVED MAPPLET_LAST_SAVED Datatype VARCHAR2 (240) NUMBER VARCHAR2 (240) NUMBER VARCHAR2 (240) NUMBER INTEGER NUMBER NUMBER NUMBER NUMBER NUMBER VARCHAR2 (2000) VARCHAR2 (240) NUMBER NUMBER NUMBER NUMBER NUMBER NUMBER Description Parent folder name. Parent folder ID. Folder name. Folder ID. Name of parent mapplet. Sequence ID of parent mapplet. Field ID (primary key). Parent mapplet version status. UTC time (Coordinated Universal Time) when the parent mapplet was checked in. The UTC time when mapplet was last saved. The date and time when parent mapplet was last saved. Specifies whether the parent mapplet is valid. Parent mapplet description. Name of mapplet. Mapplet ID. Mapplet version number. Status of the mapplet version. UTC time when the mapplet was checked in. UTC time when the mapplet was last saved. Time when the mapplet was last saved.

Mapping and Mapplet Views

355

Table 15-19. REP_ALL_MAPPLETS MX View Column Name MAPPLET_DESCRIPTION REF_WIDGET_ID REPOSITORY_NAME IS_GLOBAL_SHORTCUT Datatype VARCHAR2 (2000) NUMBER VARCHAR2 (240) NUMBER Description Mapplet description. Foreign key that points to generated mapplet transformation. Repository name. Specifies whether the mapplet is a global shortcut. 1 = shortcut; 0 = not a shortcut. Specifies whether the mapplet is a shortcut. 1 = shortcut; 0 = not a shortcut.

IS_SHORTCUT

NUMBER

Informatica recommends using the fields in bold to join views.

REP_TARG_MAPPING
This view provides access to the compound table-level transformation expressions for each target table. This view pulls information from all the transformation objects that contribute to the target table in a valid mapping. This view contains information about mappings defined for target tables only. It does not contain information about sources.
Note: Use the REP_TBL_MAPPING view to analyze source and target relationships. Join

REP_TBL_MAPPING and REP_TARG_MAPPING by MAPPING_NAME to include column-level mapping information in the REP_FLD_MAPPING view. Table 15-20 lists expression information in the REP_TARG_MAPPING view:
Table 15-20. REP_TARG_MAPPING MX View Column Name TARGET_NAME TARG_BUSNAME SUBJECT_AREA MAPPING_NAME VERSION_ID VERSION_NAME SOURCE_FILTER CONDITIONAL_LOAD GROUP_BY_CLAUSE SQL_OVERRIDE DESCRIPTION MAPPING_COMMENT Datatype VARCHAR2 (240) VARCHAR2 (240) VARCHAR2 (240) VARCHAR2 (240) INTEGER VARCHAR2 (240) VARCHAR2 (2000) VARCHAR2 (2000) VARCHAR2 (2000) VARCHAR2 (2000) VARCHAR2 (2000) VARCHAR2 (2000) Description Target name. Target business name. Folder name. Mapping name. Folder version ID. Folder version name. Compound source filter condition. Compound conditional load. Compound group by expression. Compound SQL override expression. Description of transformation expression. Description of mapping.

356

Chapter 15: Using Metadata Exchange (MX) Views

Table 15-20. REP_TARG_MAPPING MX View Column Name MAPPING_LAST_SAVED MAPPING_VERSION_NUMBER TARGET_VERSION_NUMBER Datatype VARCHAR2 (240) NUMBER NUMBER Description Time the mapping was saved last. Mapping version number. Target version number.

Informatica recommends using the fields in bold to join views.

REP_TARG_FLD_MAP
This view shows compound field-level transformation expressions associated with a target. This view pulls information from all transformation objects that contribute to the target table in a valid mapping. There might be many mappings for a set of fields, each distinguished by the MAPPING_NAME field. The field-level expression contains all the source fields (both file definition/non-relational source) that make up the value of the target field. For details on the syntax of the transformation expression, see the Transformation Language Reference. Table 15-21 lists expression metadata that you find in the REP_TARG_FLD_MAP view:
Table 15-21. REP_TARG_FLD_MAP MX View Column Name TARGET_COLUMN_NAME TARG_COL_BUSNAME TARGET_NAME TARG_BUSINESS_NAME SUBJECT_AREA MAPPING_NAME VERSION_ID VERSION_NAME TRANS_EXPRESSION USER_COMMENT DBA_COMMENT MAPPING_COMMENT MAPPING_LAST_SAVED MAPPING_VERSION_NUMBER TARGET_VERSION_NUMBER Datatype VARCHAR2 (240) VARCHAR2 (240) VARCHAR2 (240) VARCHAR2 (240) VARCHAR2 (240) VARCHAR2 (240) INTEGER VARCHAR2 (240) VARCHAR2 (2000) VARCHAR2 (2000) VARCHAR2 (2000) VARCHAR2 (2000) VARCHAR2 (240) NUMBER NUMBER Description Name of target field (table field). Business name of target field. Name of target (table). Business name of target table. Folder name. Mapping name. Folder version ID. Folder version name. Compound transformation expression. End user comment. Administrator comment. Mapping comment. Time the mapping was saved last. Mapping version number. Target version number.

Informatica recommends using the fields in bold to join views.

Mapping and Mapplet Views

357

REP_FLD_MAPPING
This view shows the source fields used by the target fields in a mapping. This is the companion view for the REP_TBL_MAPPING view. It contains both source and target column names and details. Table 15-22 lists the source and target field metadata in the REP_FLD_MAPPING view:
Table 15-22. REP_FLD_MAPPING MX View Column Name SOURCE_FIELD_NAME SRC_FLD_BUSNAME SOURCE_NAME SRC_BUSNAME TARGET_COLUMN_NAME TARG_COL_BUSNAME TARGET_NAME TARG_BUSNAME SUBJECT_AREA SUBJECT_ID MAPPING_NAME VERSION_ID VERSION_NAME TRANS_EXPRESSION USER_COMMENT DBA_COMMENT MAPPING_COMMENT MAPPING_LAST_SAVED MAPPING_VERSION_NUMBER SOURCE_VERSION_NUMBER TARGET_VERSION_NUMBER SOURCE_ID TARGET_ID MAPPING_ID Datatype VARCHAR2 (240) VARCHAR2 (240) VARCHAR2 (240) VARCHAR2 (240) VARCHAR2 (240) VARCHAR2 (240) VARCHAR2 (240) VARCHAR2 (240) VARCHAR2 (240) NUMBER VARCHAR2 (240) NUMBER VARCHAR2 (240) VARCHAR2 (2000) VARCHAR2 (2000) VARCHAR2 (2000) VARCHAR2 (2000) VARCHAR2 (240) NUMBER NUMBER NUMBER NUMBER NUMBER NUMBER Descriptions Name of the source field. Business name of the source field. Name of the source table. Business name of the source table. Name of the target field. Business name of the target column. Target name. Business name of the target. Folder name. Folder ID. Name of the mapping. Folder version ID. Folder version name. Target field transformation expression. End user comment. Administrator comment. Mapping comment. Time the mapping was saved last. Mapping version number. Source version number. Target version number. Source table ID. Target table ID. Mapping ID.

Informatica recommends using the fields in bold to join views.

358

Chapter 15: Using Metadata Exchange (MX) Views

REP_SRC_MAPPING
This view shows all sources used in a mapping. Query this view by MAPPING_NAME and VERSION_NAME. A mapping might contain several sources. This view contains the mapping names defined for an individual source table. It does not contain information about the targets involved in a mapping. The REP_TBL_MAPPING view contains the entire source and target mapping relationship. Table 15-23 lists mapping source metadata in the REP_SRC_MAPPING view:
Table 15-23. REP_SRC_MAPPING MX View Column Name SOURCE_NAME SOURCE_ID SRC_BUSNAME SUBJECT_AREA SUBJECT_ID MAPPING_NAME MAPPING_ID VERSION_ID VERSION_NAME MAPPING_COMMENT MAPPING_LAST_SAVED MAPPING_VERSION_NUMBER SOURCE_VERSION_NUMBER Datatype VARCHAR2 (240) NUMBER VARCHAR2 (240) VARCHAR2 (240) NUMBER VARCHAR2 (240) NUMBER INTEGER VARCHAR2 (240) VARCHAR2 (2000) VARCHAR2 (240) NUMBER NUMBER Description Name of the source. Source ID. Business name of source table. Folder name. Folder ID. Mapping name. Mapping ID. Folder version ID. Folder version name. Mapping comment. Time the mapping was last saved. Mapping version number. Source version number.

Informatica recommends using the fields in bold to join views.

REP_SRC_FLD_MAP
This view shows all of the source fields used in a mapping. The transformation expression corresponds to the target fields that get data from a particular source field. This view creates these expressions by pulling information from all transformation objects that contribute to the target table in a valid mapping. Table 15-24 lists mapping source fields:
Table 15-24. Mapping Source Fields Column Name SOURCE_FIELD_NAME SRC_FLD_BUSNAME Datatype VARCHAR2 (240) VARCHAR2 (240) Description Source field name. Business name of the field.

Mapping and Mapplet Views

359

Table 15-24. Mapping Source Fields Column Name SOURCE_NAME SRC_BUSNAME SUBJECT_AREA MAPPING_NAME VERSION_ID VERSION_NAME TRANS_EXPRESSION USER_COMMENT DBA_COMMENT MAPPING_COMMENT MAPPING_LAST_SAVED MAPPING_VERSION_NUMBER SOURCE_VERSION_NUMBER TARGET_VERSION_NUMBER Datatype VARCHAR2 (240) VARCHAR2 (240) VARCHAR2 (240) VARCHAR2 (240) INTEGER VARCHAR2 (240) VARCHAR2 (2000) VARCHAR2 (2000) VARCHAR2 (2000) VARCHAR2 (2000) VARCHAR2 (240) NUMBER NUMBER NUMBER Description Name of the source. Business name of the source table. Folder name. Name of the mapping. Folder version ID. Folder version name. Compound target. Field transformation expression. End user comment. Administrator comment. Mapping comment. Time the mapping was saved last. Mapping version number. Source version number. Target version number.

Informatica recommends using the fields in bold to join views.

REP_TBL_MAPPING
This view shows all of the target tables used in a mapping and provides source to target mapping information. This view pulls information from all transformation objects that contribute to the target table in a valid mapping to provide the table-level expressions. Table 15-25 lists mapping target metadata in the REP_TBL_MAPPING view:
Table 15-25. REP_TBL_MAPPING MX View Column Name SOURCE_NAME SOURCE_ID SRC_BUSNAME TARGET_NAME TARGET_ID TARG_BUSNAME SUBJECT_AREA SUBJECT_ID Datatype VARCHAR2 (240) NUMBER VARCHAR2 (240) VARCHAR2 (240) NUMBER VARCHAR2 (240) VARCHAR2 (240) NUMBER Description Name of the source object. Source ID. Business name of the source. Target name. Target ID. Business name of the target. Folder name. Folder ID.

360

Chapter 15: Using Metadata Exchange (MX) Views

Table 15-25. REP_TBL_MAPPING MX View Column Name MAPPING_NAME MAPPING_ID VERSION_ID VERSION_NAME SOURCE_FILTER CONDITIONAL_LOAD GROUP_BY_CLAUSE SQL_OVERRIDE DESCRIPTION MAPPING_COMMENT MAPPING_LAST_SAVED MAPPING_VERSION_NUMBER SOURCE_VERSION_NUMBER TARGET_VERSION_NUMBER Datatype VARCHAR2 (240) NUMBER INTEGER VARCHAR2 (240) VARCHAR2 (2000) VARCHAR2 (2000) VARCHAR2 (2000) VARCHAR2 (2000) VARCHAR2 (2000) VARCHAR2 (2000) VARCHAR2 (240) NUMBER NUMBER NUMBER Description Name of the mapping. Mapping ID. Folder version ID. Folder version name. Compound source filter condition. Compound conditional load. Compound group by clause. Compound SQL override expression. Description of transformation. Mapping comment. Time the mapping was saved last. Mapping version number. Source version number. Target version number.

Informatica recommends using the fields in bold to join views.

REP_TARG_TBL_JOINS
This view contains join information between target tables. Use this view to query the PowerCenter defined joins for a target table model. It is populated when you link fields in the Warehouse Designer, or through primary key-foreign key relationships. Table 15-26 lists target table join metadata in the REP_TARG_TBL_JOINS view:
Table 15-26. REP_TARG_TBL_JOINS MX View Column Name SUBJECT_AREA VERSION_ID VERSION_NAME TABLE1_NAME TABLE1_BUSNAME TABLE1_ID COLUMN1_NAME COLUMN1_BUSNAME Datatype VARCHAR2 (240) NUMBER VARCHAR2 (240) VARCHAR2 (240) VARCHAR2 (240) NUMBER VARCHAR2 (240) VARCHAR2 (240) Description Folder name. Folder version ID. Folder version name. Name of first table in the join. Business name of first table. ID of first table in the join. Name of column in first table. Business name of column in first table.

Mapping and Mapplet Views

361

Table 15-26. REP_TARG_TBL_JOINS MX View Column Name COLUMN1_NUMBER COLUMN1_ID TABLE2_NAME TABLE2_BUSNAME TABLE2_ID COLUMN2_NAME COLUMN2_BUSNAME COLUMN2_NUMBER COLUMN2_ID TABLE1_VERSION_NUMBER TABLE2_VERSION_NUMBER Datatype NUMBER NUMBER VARCHAR2 (240) VARCHAR2 (240) NUMBER VARCHAR2 (240) VARCHAR2 (240) VARCHAR2 (240) NUMBER NUMBER NUMBER Description Number of column in first table. ID of column in first table. Name of second table in the join. Business name of second table. ID of second table in the join. Name of column in second table. Business name of column in second table. Number of column in second table. ID of column in second table. Table1 version number. Table2 version number.

Informatica recommends using the fields in bold to join views.

REP_MAPPING_UNCONN_PORTS
This view displays the unconnected ports in sources, targets, and transformations in a mapping. Table 15-27 lists unconnected port metadata in the REP_MAPPING_UNCONN_PORTS view:
Table 15-27. REP_MAPPING_UNCONN_PORTS MX View Column Name SUBJECT_AREA SUBJECT_ID MAPPING_NAME MAPPING_ID MAPPING_VERSION_NUMBER OBJECT_INSTANCE_NAME OBJECT_INSTANCE_ID OBJECT_TYPE OBJECT_TYPE_NAME FIELD_ID FIELD_NAME Datatype VARCHAR2 (240) NUMBER VARCHAR2 (240) NUMBER NUMBER VARCHAR2 (240) NUMBER NUMBER VARCHAR2 (240) NUMBER VARCHAR2 (240) Description Folder name. Folder ID (primary key). Name of the mapping. Sequence ID for the mapping (primary key). Mapping version number. Name of the instance. Unique ID for the instance in a mapping. Object type. Object type name. Source field ID (primary key). Source field name.

362

Chapter 15: Using Metadata Exchange (MX) Views

Table 15-27. REP_MAPPING_UNCONN_PORTS MX View Column Name OBJECT_VERSION_NUMBER Datatype NUMBER Description Version number of the source, target, or transformation.

Informatica recommends using the fields in bold to join views.

REP_MAPPING_PORT_CONN
This view displays the port-level connections between the objects of a mapping. Objects include sources, targets, transformations, and mapplets. Unconnected transformations are not included. Table 15-28 lists port-level connection metadata in the REP_MAPPING_PORT_CONN view:
Table 15-28. REP_MAPPING_PORT_CONN MX View Column Name SUBJECT_ID SUBJECT_AREA MAPPING_ID MAPPING_NAME MAPPING_VERSION_NUMBER FROM_OBJECT_ID FROM_OBJECT_TYPE FROM_OBJECT_TYPE_NAME FROM_OBJECT_NAME FROM_OBJECT_INSTANCE_ID FROM_OBJECT_FIELD_NAME FROM_OBJECT_VERSION_NUMBER TO_OBJECT_ID TO_OBJECT_TYPE TO_OBJECT_TYPE_NAME TO_OBJECT_NAME TO_OBJECT_INSTANCE_ID TO_OBJECT_FIELD_NAME TO_OBJECT_VERSION_NUMBER Datatype NUMBER VARCHAR2 (240) NUMBER VARCHAR2 (240) NUMBER NUMBER NUMBER VARCHAR2 (240) VARCHAR2 (240) NUMBER VARCHAR2 (240) NUMBER NUMBER NUMBER VARCHAR2 (240) VARCHAR2 (240) NUMBER VARCHAR2 (240) NUMBER Description Folder ID. Folder name. Sequence ID for the mapping (primary key). Mapping name. Mapping version number. Source object ID. Source object type. Name of the source object type. Source object name. Source object instance ID. Source object field name. Source object version number. Target object ID. Target object type such as port, target, mapplet, and transformation. Target object type name. Target object name. Target object instance ID. Target object field name. Target object version number.

Informatica recommends using the fields in bold to join views.

Mapping and Mapplet Views

363

Metadata Extension Views


Metadata views allow you to see metadata extension details including reusable metadata extensions defined for objects in metadata extension domains. Table 15-29 lists the different views that help you analyze metadata extensions metadata:
Table 15-29. Metadata Extension Views View REP_METADATA_EXTNS REP_METADATA_EXTN_DEFINES Description This view displays the details of all metadata extensions in the repository. For more information, see REP_METADATA_EXTNS on page 364. This view displays reusable metadata extensions defined for objects in metadata extension domains. For more information, see REP_METADATA_EXTN_DEFINES on page 365.

REP_METADATA_EXTNS
This view displays the details of all metadata extensions in the repository. Table 15-30 lists metadata extension information in the REP_METADATA_EXTNS view:
Table 15-30. REP_METADATA_EXTNS MX View Column Name OBJECT_ID SUBJECT_ID METADATA_EXTN_NAME METADATA_EXTN_OBJECT_TYPE METADATA_EXTN_OBJECT_ID METADATA_EXTN_DATA_TYPE PERMISSIONS METADATA_EXTN_VALUE LINE_NO METADATA_EXTN_DESCRIPTION VERSION_NUMBER OBJECT_TYPE_NAME DOMAIN_ID DOMAIN_NAME Datatype NUMBER NUMBER VARCHAR2 (240) NUMBER NUMBER NUMBER NUMBER VARCHAR2 (2000) NUMBER VARCHAR2 (2000) NUMBER NUMBER NUMBER VARCHAR2 (240) Description Object the metadata is associated with. Folder ID. Metadata extension name. Object type the metadata is associated with. Object the metadata value is associated with. Datatype of the metadata extension value. Permissions type. Metadata extension value. Line number of the text when there are multiple lines of text. Description of the metadata extension. Object version number. Name of the object type. Globally unique domain identifier. Unique name for a user-defined metadata domain.

364

Chapter 15: Using Metadata Exchange (MX) Views

Table 15-30. REP_METADATA_EXTNS MX View Column Name DOMAIN_KEY DOMAIN_USAGE Datatype VARCHAR2 (240) NUMBER Description Domain password. Specifies domain usage. 1= Domain is visible through client tool. 2= Domain is editable through client tool. 4 = Domain has full access without a key. Domain description.

DOMAIN_DESCRIPTION

VARCHAR2 (2000)

Informatica recommends using the fields in bold to join views.

REP_METADATA_EXTN_DEFINES
This view displays reusable metadata extensions defined for objects in metadata extension domains. Table 15-31 lists information in the REP_METADATA_EXTN_DEFINES view:
Table 15-31. REP_METADATA_EXTN_DEFINES MX View Column Name DOMAIN_NAME DOMAIN_ID METAEXT_NAME OBJECT_TYPE_NAME DATABASE_TYPE METAEXT_DESC VENDOR_NAME Datatype VARCHAR2 (240) NUMBER VARCHAR2 (240) VARCHAR2 (240) VARCHAR2 (240) VARCHAR2 (2000) VARCHAR2 (240) Description Unique name for a user-defined domain Globally unique domain identifier. Unique name for metadata within a domain. Object type name. Name of the database type. Description of the metadata extension. Name of the vendor.

Informatica recommends using the fields in bold to join views.

Metadata Extension Views

365

Transformation Views
Transformation views display details of all reusable and non-reusable transformation instances by folder in a PowerCenter repository. These views also display properties such as attributes, dependencies, port-level connections, and field level details of transformations. Table 15-32 lists the different views that help you analyze transformation metadata:
Table 15-32. Transformation Views View REP_ALL_TRANSFORMS Description This view provides a list of the latest version of all transformations and their properties in each folder of a repository. For more information, see REP_ALL_TRANSFORMS on page 366. This view displays the details of all transformation instances. For more information, see REP_WIDGET_INST on page 368. This view displays the details of dependencies between transformation instances in a mapping. For more information, see REP_WIDGET_DEP on page 368. This view displays attribute details for transformations, instances, and sessions. For more information, see REP_WIDGET_ATTR on page 369. This view displays field level details for transformations. For more information, see REP_WIDGET_FIELD on page 369.

REP_WIDGET_INST REP_WIDGET_DEP REP_WIDGET_ATTR REP_WIDGET_FIELD

REP_ALL_TRANSFORMS
This view provides a list of the latest version of all transformations and their properties in each folder of a repository. This view displays both reusable transformations defined in the Transformation Designer and transformation instances defined in mapping and mapplets. It also shows all shortcut transformations in a folder. For local shortcuts, the names of the shortcut and the parent transformation display. For global shortcuts, the name of the shortcut displays. Table 15-33 lists transformation metadata in the REP_ALL_TRANFORMS view:
Table 15-33. REP_ALL_TRANSFORMS MX View Column Name PARENT_SUBJECT_AREA PARENT_SUBJECT_ID SUBJECT_AREA SUBJECT_ID PARENT_WIDGET_NAME PARENT_WIDGET_ID Datatype VARCHAR2 (240) NUMBER VARCHAR2 (240) NUMBER VARCHAR2 (240) NUMBER Description Parent folder name. Parent folder ID. Folder name. Folder ID. Name of the parent transformation. Parent transformation ID (primary key).

366

Chapter 15: Using Metadata Exchange (MX) Views

Table 15-33. REP_ALL_TRANSFORMS MX View Column Name PARENT_WIDGET_VERSION_NUMBER PARENT_WIDGET_VERSION_STATUS PARENT_WIDGET_UTC_CHECKIN PARENT_WIDGET_UTC_LAST_SAVED PARENT_WIDGET_LAST_SAVED PARENT_WIDGET_IS_REUSABLE PARENT_WIDGET_DESCRIPTION WIDGET_NAME WIDGET_ID WIDGET_VERSION_NUMBER WIDGET_VERSION_STATUS WIDGET_UTC_CHECKIN WIDGET_UTC_LAST_SAVED WIDGET_LAST_SAVED WIDGET_TYPE_ID WIDGET_TYPE_NAME WIDGET_DESCRIPTION REPOSITORY_NAME IS_GLOBAL_SHORTCUT Datatype NUMBER NUMBER NUMBER NUMBER VARCHAR2 (30) NUMBER VARCHAR2 (2000) VARCHAR2 (240) NUMBER NUMBER NUMBER NUMBER NUMBER NUMBER NUMBER VARCHAR2 (240) VARCHAR2 (2000) VARCHAR2 (240) NUMBER Description Parent transformation ID. Status of the parent transformation version. UTC time (Coordinated Universal Time) when the parent transformation was last checked in. UTC time when the parent transformation was last saved. Date and time when transformation was last saved. Specifies whether the transformation is reusable. 1= reusable; 0 = not reusable. Parent transformation description. Name of the transformation. Transformation ID. Version number of the transformation. Status of the transformation version. UTC time when the transformation was checked in. UTC time when the transformation was last saved. Time when the transformation was last saved. Transformation type ID. Transformation type name. Transformation description. Repository name. Specifies whether the transformation is a global shortcut. 1 = shortcut; 0 = not a shortcut. Specifies whether the transformation is a shortcut. 1 = shortcut; 0 = not a shortcut.

IS_SHORTCUT

NUMBER

Informatica recommends using the fields in bold to join views.

Transformation Views

367

REP_WIDGET_INST
This view displays the details of all transformation instances. Table 15-34 list transformation metadata in the REP_WIDGET_INST view:
Table 15-34. REP_WIDGET_INST MX View Column Name MAPPING_ID WIDGET_ID SUBJECT_ID WIDGET_TYPE WIDGET_TYPE_NAME INSTANCE_ID INSTANCE_NAME COMMENTS VERSION_NUMBER Datatype NUMBER NUMBER NUMBER NUMBER VARCHAR2 (240) NUMBER VARCHAR2 (240) VARCHAR2 (2000) NUMBER Description Mapping ID Transformation ID Folder ID. Transformation type. Transformation name. ID of the transformation instance. Name of the transformation instance. Description of the transformation instance. Version number of the transformation.

Informatica recommends using the fields in bold to join views.

REP_WIDGET_DEP
This view displays the details of dependencies between transformation instances in a mapping. Table 15-35 lists transformation dependency information in the REP_WIDGET_DEP view:
Table 15-35. REP_WIDGET_DEP MX View Column Name MAPPING_ID FROM_INSTANCE_ID FROM_FIELD_ID TO_INSTANCE_ID TO_FIELD_ID INSTANCE_NAME COMMENTS VERSION_NUMBER Datatype NUMBER NUMBER NUMBER NUMBER NUMBER VARCHAR2 (240) VARCHAR2 (2000) NUMBER Description Mapping ID Source transformation instance ID. Field ID of the source transformation instance. Field ID of the target transformation instance. Target field ID. Name of the transformation instance. Description of the transformation instance. Version number of the mapping.

Informatica recommends using the fields in bold to join views.

368

Chapter 15: Using Metadata Exchange (MX) Views

REP_WIDGET_ATTR
This view displays attribute details for transformations, instances, and sessions. Table 15-36 lists attribute details for transformations, instances, and sessions.
Table 15-36. REP_EIDGET_ATTR MX View Column Name WIDGET_ID WIDGET_TYPE MAPPING_ID INSTANCE_ID ATTR_ID ATTR_COMMENT ATTR_DATATYPE ATTR_NAME ATTR_TYPE OBJECT_TYPE_ID LINE_NO ATTR_VALUE PARTITION_ID SESSION_TASK_ID VERSION_NUMBER Datatype NUMBER NUMBER NUMBER NUMBER NUMBER VARCHAR2 (2000) NUMBER VARCHAR2 (240) NUMBER NUMBER NUMBER VARCHAR2 (2000) NUMBER NUMBER NUMBER Description Transformation ID. Transformation type. Mapping ID. Instance ID. Attribute ID. Description of the attribute. Attribute data type Attribute name. Attribute type. Object type ID. Used to break up long strings into multiple rows. Attribute value. Partition ID. Session task ID. Object (session, mapping, or transformation) version number.

Informatica recommends using the fields in bold to join views.

REP_WIDGET_FIELD
This view displays field level details for transformations. Table 15-37 lists transformation field information in the REP_WIDGET_FIELD view:
Table 15-37. REP_WIDGET_FIELD MX View Column Name WIDGET_ID FIELD_NAME FIELD_ID WGT_PREC Datatype NUMBER VARCHAR2 (240) NUMBER NUMBER Description Transformation ID. Transformation field name. Transformation field ID. Transformation field precision.

Transformation Views

369

Table 15-37. REP_WIDGET_FIELD MX View Column Name WGT_SCALE WGT_DATATYPE PORTTYPE FIELD_ORDER COMMENTS WIDGET_FLD_PROP DEFAULT_VALUE SRC_FIELD_ID GROUP_ID VERSION_NUMBER DATATYPE_NUM DATATYPE DATATYPE_GROUP_CODE DATABASE_TYPE EXPRESSION EXPR_COMMENT EXPR_TYPE Datatype NUMBER NUMBER NUMBER NUMBER VARCHAR2 (2000) NUMBER VARCHAR2 (2000) NUMBER NUMBER NUMBER NUMBER VARCHAR2 (40) CHAR (1) NUMBER VARCHAR2 (2000) VARCHAR2 (2000) NUMBER Description Transformation field scale. Transformation field data type. Transformation port type. Transformation order. Comments on the field. Field-level property used by transformations. Default value of the transformation field. Source field ID for normalizer transformation. The ID of the corresponding instance in the mapplet's mapping. Transformation version number. Datatype number. Transformation datatype of the port. Datatype group code. External database type. Expression name. Comments on the expression. Expression type.

Informatica recommends using the fields in bold to join views.

370

Chapter 15: Using Metadata Exchange (MX) Views

Workflow, Worklet, and Task Views


Workflow, worklet, and task views provide both static and run time details about all workflows and worklets created in each folder in a PowerCenter repository. These views provide information on worklets and sessions inside a workflow. The views also provide information on events, schedules, tasks, connections, and metadata extensions associated with a workflow or a worklet; workflow and worklet execution details such as start time, end time, and the PowerCenter Server on which a workflow or worklet runs and its run status. Task views provide both static and run time details about tasks such as sessions created in each folder of a PowerCenter repository. These views provide information such as the validity of a session, creation date, sources and targets defined in a session, session connections, and metadata extensions associated with a sessions. These views also give information on session runtime details like start time, end time, and run status. Table 15-38 lists the different views that help you analyze workflow, worklet, and task metadata:
Table 15-38. Workflow, Worklet, and Task Views View REP_WORKFLOWS REP_ALL_TASKS REP_ALL_SCHEDULERS REP_WFLOW_VAR REP_EVENT REP_TASK_INST REP_WORKFLOW_DEP REP_TASK_INST_RUN REP_WFLOW_RUN REP_LOAD_SESSIONS REP_SESSION_CNXS Description This view contains information about individual workflows and workflow scheduling. For more information, see REP_WORKFLOWS on page 372. This view provides a list of all reusable and non-reusable tasks that can be used by a workflow or a worklet. For more information, see REP_ALL_TASKS on page 374. This view displays a list of schedulers by folder. For more information, see REP_ALL_SCHEDULERS on page 374. This view displays a list of all variables declared within a workflow or worklet. For more information, see REP_WFLOW_VAR on page 375. This view displays the details of events created at the workflow or worklet level. For more information, see REP_EVENT on page 376. This view displays all task instances within workflows and worklets. For more information, see REP_TASK_INST on page 377. This view shows how individual tasks and worklets are connected within a worklet or a workflow. For more information, see REP_WORKFLOW_DEP on page 377. This view displays the run statistics and folder reference for tasks within a workflow or worklet. For more information, see REP_TASK_INST_RUN on page 378. This view displays the run statistics for all workflows by folder. For more information, see REP_WFLOW_RUN on page 379. This view provides information about reusable sessions in the repository. For more information, see REP_LOAD_SESSIONS on page 380. This view contains information about connections associated with reusable sessions. For more information, see REP_SESSION_CNXS on page 381.

Workflow, Worklet, and Task Views

371

Table 15-38. Workflow, Worklet, and Task Views View REP_SESSION_INSTANCES REP_SESSION_FILES REP_SESSION_INSTANCE_F ILES REP_SESS_WIDGET_CNXS REP_COMPONENT REP_SESS_PARTITION_DEF REP_SESS_CONFIG_PARM Description This view contains connection information for session instances. For more information, see REP_SESSION_INSTANCES on page 381. This view contains file connections associated with reusable sessions. For more information, see REP_SESSION_FILES on page 382. This view contains file connections associated with reusable sessions. For more information, see REP_SESSION_INSTANCE_FILES on page 383. This view contains information about the sources and targets used in a session. For more information, see REP_SESS_WIDGET_CNXS on page 383. This view displays the list of tasks such as a command or an email for each session. For more information, see REP_COMPONENT on page 384. This view provides partition details of the sources, targets, and transformations in a session. For more information, see REP_SESS_PARTITION_DEF on page 385. This view displays session configuration parameter details. If the session overrides a parameter in the configured object, the view displays two rows. For more information, see REP_SESS_CONFIG_PARM on page 385. This view displays the attribute values and overridden values for session and workflow tasks. For more information, see REP_TASK_ATTR on page 386 This view provides log information about sessions. For more information, see REP_SESS_LOG on page 387. This view contains information about the status of an individual session run against a target. For more information, see REP_SESS_TBL_LOG on page 388.

REP_TASK_ATTR REP_SESS_LOG REP_SESS_TBL_LOG

REP_WORKFLOWS
This view contains information about individual workflows and workflow scheduling. Table 15-39 lists workflow and scheduling information in the REP_WORKFLOWS view:
Table 15-39. REP_WORKFLOWS MX View Column Name SUBJECT_AREA WORKFLOW_NAME SCHEDULER_NAME START_TIME END_TIME IS_RUN_ON_LIMIT Datatype VARCHAR2 (240) VARCHAR2 (240) VARCHAR2 (240) TIMESTAMP TIMESTAMP NUMBER Description Folder name. Workflow name. Scheduler associated with the workflow. Start time configured for the scheduler. End time configured for the scheduler.

372

Chapter 15: Using Metadata Exchange (MX) Views

Table 15-39. REP_WORKFLOWS MX View Column Name RUN_OPTIONS Datatype INTEGER Description The workflow schedule type. Records the following values for each schedule type: 1 = Run on demand. 2 = Run once. 4 = Run every DELTA_VALUE seconds. 8 = Customized repeat. 16 = Run on server initialization. 32 = Run continuously. The stop condition option for the workflow schedule type. Records the following values for each stop condition option: 0 = End on a date. 1 = End after the number of runs stored in RUN_COUNT. 2 = Run forever. Number of times the PowerCenter Server runs the workflow before stopping the workflow. Workflow version number. Version number of the scheduler. Folder ID. Workflow ID. Specifies whether the workflow is valid or not. 0 = invalid; 1 = valid. Date and time when the workflow was last saved. Description of the workflow. Scheduler ID. Specifies if scheduler is reusable. Scheduler description. Number of seconds the PowerCenter Server waits between successive workflow runs. Name of the PowerCenter server registered with the repository. PowerCenter Server ID.

END_OPTIONS

INTEGER

RUN_COUNT WORKFLOW_VERSION_NUMBER SCHEDULER_VERSION_NUMBER SUBJECT_ID WORKFLOW_ID WORKFLOW_IS_VALID WORKFLOW_LAST_SAVED WORKFLOW_COMMENTS SCHEDULER_ID SCHEDULER_IS_REUSABLE SCHEDULER_COMMENTS DELTA_VALUE SERVER_NAME SERVER_ID

INTEGER NUMBER NUMBER NUMBER NUMBER NUMBER VARCHAR2 (30) VARCHAR2 (2000) NUMBER NUMBER VARCHAR2 (2000) NUMBER VARCHAR2 (240) NUMBER

Informatica recommends using the fields in bold to join views.

Workflow, Worklet, and Task Views

373

REP_ALL_TASKS
This view provides a list of all reusable and non-reusable tasks that can be used by a workflow or a worklet. Table 15-40 lists reusable and non-reusable task information in the REP_ALL_TASKS view:
Table 15-40. REP_ALL_TASKS MX View Column Name SUBJECT_AREA SUBJECT_ID TASK_NAME TASK_ID IS_VALID DESCRIPTION VERSION_NUMBER IS_ENABLED UTC_CHECKIN UTC_LAST_SAVED IS_REUSABLE TASK_TYPE TASK_TYPE_NAME Datatype VARCHAR2 (240) NUMBER VARCHAR2 (240) NUMBER NUMBER VARCHAR2 (2000) NUMBER NUMBER NUMBER VARCHAR2 (30) NUMBER NUMBER VARCHAR2 (240) Description Folder name. Folder ID. Task name. Task ID. Specifies whether a workflow, worklet, or session is valid. 1 = valid; 0 = invalid. Description of the task. Version number of the task. Specifies whether the task is enabled or not. 1 = enabled; 0 = disabled. UTC checkin time. UTC time when task was last saved. Specifies whether the task is reusable or not. Values are: 1 = reusable; 0 = not reusable. Task type. Task type name.

Informatica recommends using the fields in bold to join views.

REP_ALL_SCHEDULERS
This view displays a list of schedulers by folder. Table 15-41 lists information in the REP_ALL_SCHEDULERS view:
Table 15-41. REP_ALL_SCHEDULERS MX View Column Name SUBJECT_ID SCHEDULER_ID SCHEDULER_NAME START_TIME Datatype NUMBER NUMBER VARCHAR2 (240) VARCHAR2 (30) Description Folder ID. Scheduler ID (primary key). Name of the scheduler. Start time configured for the object associated with the scheduler.

374

Chapter 15: Using Metadata Exchange (MX) Views

Table 15-41. REP_ALL_SCHEDULERS MX View Column Name END_TIME RUN_OPTIONS Datatype VARCHAR2 (30) NUMBER Description End time configured for the object associated with the scheduler. The scheduler type. Records the following values for each schedule type: 1 = Run on demand. 2 = Run once schedule. 3 = Run on demand and Run once schedule. 5 = Run on demand and Delta schedule. 9 = Run on demand and Custom repeat. 18 = Run on server init and Run once schedule. 20 = Run on server init and Delta schedule. 24 = Run on server init and Custom repeat. 34 = Run continuously and Run once schedule. 36 = Run continuously and Delta schedule. 40 = Run continuously and Custom repeat. Specifies when the task must stop running. Delta between successive runs (stored as seconds). Number of workflow runs. Used by END_OPTIONS column. Description of the scheduler. Specifies whether the scheduler is reusable or not. Date and time when this task was last saved. Version number of the scheduler. UTC time (Coordinated Universal Time) when the scheduler was last saved. UTC checkin time.

END_OPTIONS DELTA_VALUE RUN_COUNT DESCRIPTION IS_REUSABLE LAST_SAVED VERSION_NUMBER UTC_LAST_SAVED UTC_CHECKIN

NUMBER NUMBER NUMBER VARCHAR2 (2000) NUMBER NUMBER NUMBER NUMBER NUMBER

Informatica recommends using the fields in bold to join views.

REP_WFLOW_VAR
This view displays a list of all variables declared within a workflow or worklet. Figure 15-42 lists variable information in the REP_WFLOW_VAR view:
Table 15-42. REP_WFLOW_VAR MX View Column Name SUBJECT_ID WORKFLOW_ID VARIABLE_ID Datatype NUMBER NUMBER NUMBER Description Folder ID. Workflow ID (primary key). Unique ID for a variable within a workflow (primary key).

Workflow, Worklet, and Task Views

375

Table 15-42. REP_WFLOW_VAR MX View Column Name VARIABLE_NAME VARIABLE_TYPE VARIABLE_DESCRIPTION VARIABLE_DATATYPE Datatype VARCHAR2 (30) NUMBER VARCHAR2 (2000) NUMBER Description Name of the variable. Variable type. 0 = built in; 1 = user-defined. Comments on the variable. Datatype of a workflow variable. 3 = decimal 4 = integer 5 = small integer 7 = real 8 = double 11 = date/time 12 = string Default value of a variable. Date and time that this task was last saved. ID of the instance where the variable is defined. Name of the task instance. Specifies whether the workflow variable is null or persistent. 1 = workflow variable is persistent; 2 = workflow variable is NULL. Workflow version number.

VARIABLE_DEFAULT_VALUE LAST_SAVED TASK_INST_ID TASK_INST_NAME BIT_OPTIONS

VARCHAR2 (2000) VARCHAR2 (30) NUMBER VARCHAR2 (240) NUMBER

VERSION_NUMBER

NUMBER

Informatica recommends using the fields in bold to join views.

REP_EVENT
This view displays the details of events created at the workflow or worklet level. Table 15-43 lists event information in the REP_EVENT view:
Table 15-43. REP_EVENT MX View Column Name SUBJECT_ID WORKFLOW_ID EVENT_ID EVENT_NAME EVENT_TYPE EVENT_SCOPE EVENT_DESCRIPTION LAST_SAVED Datatype NUMBER NUMBER NUMBER VARCHAR2 (30) NUMBER VARCHAR2 (2000) NUMBER VARCHAR2 (30) Description Folder ID. Workflow ID (primary key). Event ID (primary key). Name of the event. Event type. 0 = built in; 1 = user-defined. Event scope. Event description. Date and time that this event was last saved.

376

Chapter 15: Using Metadata Exchange (MX) Views

Table 15-43. REP_EVENT MX View Column Name VERSION_NUMBER Datatype NUMBER Description Workflow version number.

Informatica recommends using the fields in bold to join views.

REP_TASK_INST
This view displays all task instances within workflows and worklets. Table 15-44 lists task instance information in the REP_TASK_INST view:
Table 15-44. REP_TASK_INST MX View Column Name WORKFLOW_ID INSTANCE_ID TASK_ID TASK_TYPE TASK_TYPE_NAME INSTANCE_NAME IS_ENABLED DESCRIPTION IS_VALID VERSION_NUMBER SERVER_ID Datatype NUMBER NUMBER NUMBER NUMBER VARCHAR2 (240) VARCHAR2 (240) NUMBER VARCHAR2 (2000) NUMBER NUMBER NUMBER Description Workflow ID (primary key). Instance ID (primary key). Task ID. Task type. Name of the object. Name of the instance. Specifies whether the task instance is enabled. Description of the task. Specifies whether the task is valid. 0 = invalid; 1 = valid. Workflow version number. Server ID associated with the workflow.

Informatica recommends using the fields in bold to join views.

REP_WORKFLOW_DEP
This view shows how individual tasks and worklets are connected within a worklet or a workflow. Table 15-45 lists task and worklet connection information in the REP_WORKFLOW_DEP view:
Table 15-45. REP_WORKFLOW_DEP MX View Column Name WORKFLOW_ID FROM_INSTANCE_ID Datatype NUMBER NUMBER Description Workflow ID. The ID of the source task instance.

Workflow, Worklet, and Task Views

377

Table 15-45. REP_WORKFLOW_DEP MX View Column Name TO_INSTANCE_ID CONDITION_ID VERSION_NUMBER CONDITION Datatype NUMBER NUMBER NUMBER VARCHAR2 (2000) Description The ID of the target task instance. Condition ID. Version number. The value that identifies the condition associated with the link.

Informatica recommends using the fields in bold to join views.

REP_TASK_INST_RUN
This view displays the run statistics and folder reference for tasks within a workflow or worklet. Table 15-46 lists run statistics and folder reference information in the REP_TASK_INST_RUN view:
Table 15-46. REP_TASK_INST_RUN MX View Column Name SUBJECT_AREA WORKFLOW_NAME VERSION_NUMBER SUBJECT_ID WORKFLOW_ID WORKFLOW_RUN_ID WORKLET_RUN_ID CHILD_RUN_ID INSTANCE_ID INSTANCE_NAME TASK_ID TASK_TYPE_NAME TASK_TYPE START_TIME END_TIME RUN_ERR_CODE RUN_ERR_MSG Datatype VARCHAR2 (240) VARCHAR2 (240) NUMBER NUMBER NUMBER NUMBER NUMBER NUMBER NUMBER VARCHAR2 (240) NUMBER VARCHAR2 (240) NUMBER DATE DATE NUMBER VARCHAR2 (2000) Description Folder name. Workflow name. Version number. Folder ID. ID of the parent workflow. Run ID of the parent workflow. Run ID of a worklet in a workflow. Run ID of a child task in a worklet. ID of an instance within a workflow or a worklet. Name of the task instance. Task ID. Object name. Task type. Start time configured for task execution. End time configured for task execution. Task error code. Task error message.

378

Chapter 15: Using Metadata Exchange (MX) Views

Table 15-46. REP_TASK_INST_RUN MX View Column Name RUN_STATUS_CODE Datatype NUMBER Description Status code of the task. 1 = Suceeded 2 = Disabled 3 = Failed 4 = Stopped 5 = Aborted 6 = Running 7 = Suspending 8 = Suspended 9 = Stopping 10 = Aborting 11 = Waiting 12 = Scheduled 13 = Unscheduled 14 = Unknown 15 = Terminated Task name. Task version number. ID of the PowerCenter Server. Name of the server.

TASK_NAME TASK_VERSION_NUMBER SERVER_ID SERVER_NAME

VARCHAR2 (240) NUMBER NUMBER VARCHAR2 (240)

Informatica recommends using the fields in bold to join views.

REP_WFLOW_RUN
This view displays the run statistics for all workflows by folder. Table 15-47 lists workflow run statistic information in the REP_WFLOW_RUN view:
Table 15-47. REP_WFLOW_RUN MX View Column Name SUBJECT_ID WORKFLOW_ID WORFLOW_RUN_ID WORKFLOW_NAME SERVER_ID SERVER_NAME START_TIME END_TIME LOG_FILE RUN_ERR_CODE Datatype NUMBER NUMBER NUMBER VARCHAR2 (240) NUMBER VARCHAR2 (240) DATE DATE VARCHAR2 (2000) NUMBER Description Folder ID. Workflow ID. Workflow run ID. Workflow name. PowerCenter Server ID. Server name. Start time configured for the workflow. End time configured for the workflow. Full path and name of the log file. Error message code.

Workflow, Worklet, and Task Views

379

Table 15-47. REP_WFLOW_RUN MX View Column Name RUN_ERR_MSG RUN_STATUS_CODE USER_NAME RUN_TYPE VERSION_NUMBER SUBJECT_AREA Datatype VARCHAR2 (2000) NUMBER VARCHAR2 (240) NUMBER NUMBER VARCHAR2 (240) Description Error message. Status code for the workflow run. Name of the user who ran the workflow. Specifies how the workflow was run. 1 = Normal; 2 = Recovery. Workflow version number. Folder name.

Informatica recommends using the fields in bold to join views.

REP_LOAD_SESSIONS
This view provides information about reusable sessions in the repository. Table 15-48 lists reusable session information in the REP_LOAD_SESSIONS view:
Table 15-48. REP_LOAD_SESSIONS MX View Column Name SUBJECT_AREA SESSION_NAME LAST_SAVED SESSION_ID MAPPING_NAME VERSION_ID VERSION_NAME IS_ACTIVE STARTTIME SESS_INTERVAL REPEAT_COUNT SESSION_LOG_FILE BAD_FILE_LOCATION TARGET_ID SOURCE_ID SESSION_VERSION_NUMBER MAPPING_VERSION_NUMBER Datatype VARCHAR2 (240) VARCHAR2 (240) VARCHAR2 (240) NUMBER VARCHAR2 (240) NUMBER VARCHAR2 (240) NUMBER NUMBER NUMBER NUMBER VARCHAR2 (240) NUMBER NUMBER NUMBER NUMBER NUMBER Description Folder name. Name of the session. Time the session was last saved. Session ID. Name of the mapping this session uses. Folder version ID. Folder version name. Specifies whether the session is active. Session start time. Session interval. Repeat count. Session log file name. Location of the reject file. Target ID. Source ID. Version number of the session. Version number of the mapping.

380

Chapter 15: Using Metadata Exchange (MX) Views

Table 15-48. REP_LOAD_SESSIONS MX View Column Name SUBJECT_ID IS_VALID IS_REUSABLE COMMENTS MAPPING_ID Datatype NUMBER NUMBER NUMBER VARCHAR2 (2000) NUMBER Description Folder ID. Specifies whether the session is valid or not. 0 = invalid; 1 = valid. Specifies whether the session is reusable or not. 0 = not reusable; 1= reusable. Description of the session. Sequence ID for the mapping associated with the session.

Informatica recommends using the fields in bold to join views.

REP_SESSION_CNXS
This view contains information about connections associated with reusable sessions. Table 15-49 lists reusable session connection information in the REP_SESSION_CNXS view:
Table 15-49. REP_SESSION_CNXS MX View Column Name SUBJECT_AREA SUBJECT_ID SESSION_NAME SESSION_ID IS_TARGET Datatype VARCHAR2 (240) NUMBER VARCHAR2 (240) NUMBER INTEGER Description Folder name in which the session is stored. Folder ID. Name of the session. Session ID. Specifies whether the connection is the target or the source. 0 = source connection; 1 = target connection. Name of the connection. Connection ID. Version number of the session.

CONNECTION_NAME CONNECTION_ID SESSION_VERSION_NUMBER

VARCHAR2 (240) INTEGER NUMBER

Informatica recommends using the fields in bold to join views.

REP_SESSION_INSTANCES
This view contains connection information for session instances. If a session instance overrides the connection information in a reusable session, this view shows the connection in the session instance and the connection information in the reusable session. This view does not show connection information for reusable sessions that are not associated with any workflows.

Workflow, Worklet, and Task Views

381

Table 15-50 lists session instance connection information in the REP_SESSION_INSTANCES view:
Table 15-50. REP_SESSION_INSTANCES MX View Column Name SUBJECT_AREA SUBJECT_ID WORKFLOW_NAME WORKFLOW_ID SESSION_INSTANCE_NAME SESSION_INSTANCE_ID SESSION_ID IS_TARGET CONNECTION_NAME CONNECTION_ID WORKFLOW_VERSION_NUMBER SESSION_VERSION_NUMBER Datatype VARCHAR2 (240) NUMBER VARCHAR2 (240) NUMBER VARCHAR2 (240) NUMBER NUMBER INTEGER VARCHAR2 (240) INTEGER NUMBER NUMBER Description Folder name. Folder ID. Name of the workflow the session instance belongs to. Workflow ID. Session instance name. Session instance ID. Session ID. Specifies the connection type. 1 = target connection; 0 = source connection. Name of the connection associated with the session instance. Connection ID associated with the session instance. Workflow version number. Version number of the session.

Informatica recommends using the fields in bold to join views.

REP_SESSION_FILES
This view contains file connections associated with reusable sessions. Table 15-51 lists reusable session file connection information in the REP_SESSION_FILES view:
Table 15-51. REP_SESSION_FILES MX View Column SUBJECT_AREA SESSION_NAME SESSION_VERSION_NUMBER IS_TARGET FILE_NAME DIR_NAME Datatype VARCHAR2 (240) VARCHAR2 (240) NUMBER INTEGER VARCHAR2 (240) VARCHAR2 (240) Description Name of the folder containing the session. Name of the session. Session version number. Specifies the connection type. 1 = target file connection; 0 =source file connection. Name of the source or target file. Directory where the source or target file is stored.

382

Chapter 15: Using Metadata Exchange (MX) Views

Table 15-51. REP_SESSION_FILES MX View Column CODE_PAGE Datatype VARCHAR2 (240) Description Code page associated with the source or target file.

Informatica recommends using the fields in bold to join views.

REP_SESSION_INSTANCE_FILES
This view contains file connection information for session instances associated with workflows. If a reusable session is not associated with a workflow, this view does not show file connection information for the session. Table 15-52 lists session instance file connection information in the REP_SESSION_INSTANCE_FILES view:
Table 15-52. REP_SESSION_INSTANCE_FILES MX View Column SUBJECT_AREA WORKFLOW_NAME WORKFLOW_VERSION_NUMBER SESSION_INSTANCE_NAME IS_TARGET FILE_NAME DIR_NAME CODE_PAGE Datatype VARCHAR2 (240) VARCHAR2 (240) NUMBER VARCHAR2 (240) INTEGER VARCHAR2 (240) VARCHAR2 (240) VARCHAR2 (240) Description Name of the folder containing the session. Name of the workflow to which the session instance belongs. Workflow version number. Name of the session instance. Specifies the connection type. 1 = target file connection; 0 = source file connection. Name of the source or target file. Directory where the source or target file is stored. Code page associated with the source or target file.

Informatica recommends using the fields in bold to join views.

REP_SESS_WIDGET_CNXS
This view contains information about the sources and targets used in a session. The reader and writer types and the connection name also display. Table 15-53 lists connection information in the REP_SESS_WIDGET_CNXS view:
Table 15-53. REP_SESS_WIDGET_CNXS MX View Column WIDGET_INSTANCE_ID WIDGET_TYPE INSTANCE_NAME Datatype NUMBER NUMBER VARCHAR2 (240) Description The instance ID of a source, target, or transformation. Identifies a source, target, or transformation. Instance name.

Workflow, Worklet, and Task Views

383

Table 15-53. REP_SESS_WIDGET_CNXS MX View Column READER_WRITER_TYPE CNX_NAME SESSION_ID SESSION_WIDG_INST_ID SESS_EXTN_OBJECT_TYPE SESS_EXTN_OBJECT_SUBTYPE SESS_CNX_REFS_OBJECT_TYPE SESS_CNX_REFS_OBJECT_SUBTYPE SESS_CNX_REFS_OBJECT_ID WORKFLOW_ID SESSION_INSTANCE_ID SESSION_VERSION_NUMBER Datatype VARCHAR2 (240) VARCHAR2 (240) NUMBER NUMBER NUMBER NUMBER NUMBER NUMBER NUMBER NUMBER NUMBER NUMBER Description Type of reader or writer used. Connection name. Session ID. Transformation instance ID referenced by a session (primary key). Indicates whether the object is a reader or a writer. 78 = reader; 79 = writer. Indicates a specific reader or writer. Type of referenced object. Indicates a specific object. ID of the referenced object. Workflow ID. Session instance ID. Session version number.

Informatica recommends using the fields in bold to join views.

REP_COMPONENT
This view displays the list of tasks such as a command or an email for each session. Figure 15-54 lists session component information in the REP_COMPONENT view:
Table 15-54. REP_COMPONENT MX View Column WORKFLOW_ID TASK_ID TASK_INST_ID REF_OBJ_TYPE OBJECT_TYPE OBJECT_SEQ_TYPE VERSION_NUMBER PM_VALUE VAL_NAME DESCRIPTION Datatype NUMBER NUMBER NUMBER NUMBER NUMBER NUMBER NUMBER VARCHAR2 (2000) VARCHAR2 (240) VARCHAR2 (2000) Description ID of the workflow to which the session belongs. Session ID. Session instance ID. ID of a task within a session. Object type. Identifies the referred object's sequence type. Object version number. Component value. Name of the value. Description of the value.

Informatica recommends using the fields in bold to join views.

384

Chapter 15: Using Metadata Exchange (MX) Views

REP_SESS_PARTITION_DEF
This view provides partition details of the sources, targets, and transformations in a session. Table 15-55 lists partition information in the REP_SESS_PARTITION_DEF view:
Table 15-55. REP_SESS_PARTITION_DEF MX View Column SESSION_ID SESS_WIDG_INST_ID PARTITION_ID PARTITION_NAME DESCRIPTION LAST_SAVED VERSION_NUMBER MAPPING_ID WIDGET_ID WIDGET_TYPE INSTANCE_ID INSTANCE_NAME TYPE_NAME Datatype NUMBER NUMBER NUMBER VARCHAR2 (240) VARCHAR2 (2000) VARCHAR2 (30) NUMBER NUMBER NUMBER NUMBER NUMBER VARCHAR2 (240) VARCHAR2 (240) Description Session ID. Session instance ID. Partition ID Partition name. Description of the partition. Time when the partition was last modified. Session version number. ID of the mapping used by the session. ID of a source, target, or transformation in a session. Identifies a source, target, or transformation. Instance ID of a source, target, or transformation. Instance name. Object type name.

Informatica recommends using the fields in bold to join views.

REP_SESS_CONFIG_PARM
This view displays session configuration parameter details. If the session overrides a parameter in the configured object, the view displays two rows. Select the row which contains the session ID reference. Table 15-56 lists session configuration information in the REP_SESS_CONFIG_PARM view:
Table 15-56. REP_SESS_CONFIG_PARM MX View Column SESSION_ID SESSION_VERSION_NUMBER CONFIG_ID ATTR_ID ATTR_TYPE Datatype NUMBER NUMBER NUMBER NUMBER NUMBER Description Session ID. Session version number. Session configuration ID. Session configuration attribute ID. Session configuration attribute type.

Workflow, Worklet, and Task Views

385

Table 15-56. REP_SESS_CONFIG_PARM MX View Column ATTR_NAME ATTR_VALUE Datatype VARCHAR2 (240) VARCHAR2 (2000) Description Session configuration attribute name. Attribute value.

Informatica recommends using the fields in bold to join views.

REP_TASK_ATTR
This view displays the attribute values and overridden values for session and workflow tasks. Table 15-57 lists attribute information in the REP_TASK_ATTR view:
Table 15-57. REP_TASK_ATTR MX View Column WORKFLOW_ID INSTANCE_ID TASK_ID TASK_TYPE REF_SESSION_ID TASK_TYPE_NAME ATTR_ID ATTR_NAME ATTR_VALUE LINE_NO GROUP_ID VERSION_NUMBER Datatype NUMBER NUMBER NUMBER NUMBER NUMBER VARCHAR2 (240) NUMBER NUMBER VARCHAR2 (2000) NUMBER NUMBER NUMBER Description Workflow ID. Task instance ID. Task ID. Task type. Session ID. Task type name. Task attribute ID. Task attribute name. Attribute value. Line number of attribute values. Used for storing multiple lines of attribute values. Group ID. Workflow version number if task attribute is overridden at workflow level. Session version number if task attribute is overridden at session level.

Informatica recommends using the fields in bold to join views.

386

Chapter 15: Using Metadata Exchange (MX) Views

REP_SESS_LOG
This view provides log information about sessions. This view supplies the status of the last session, which might contain one or many target tables. Table 15-58 lists session log information in the REP_SESS_LOG view:
Table 15-58. REP_SESS_LOG MX View Column SUBJECT_AREA SUBJECT_ID SESSION_ID SESSION_INSTANCE_NAME ACTUAL_START SESSION_TIMESTAMP RUN_STATUS_CODE Datatype VARCHAR2 (240) NUMBER NUMBER VARCHAR2 (240) DATE (DB SPECIFIC) DATE (DB SPECIFIC) NUMBER Description Folder name. Folder ID. Session ID. Session instance name. Actual time session started. Time completed. Run status code. 1 = Suceeded 2 = Disabled 3 = Failed 4 = Stopped 5 = Aborted 6 = Running 7 = Suspending 8 = Suspended 9 = Stopping 10 = Aborting 11 = Waiting 12 = Scheduled 13 = Unscheduled 14 = Unknown 15 = Terminated Last error code. Last error message. Version number of the task. Workflow version number. Session log file name. Location of the reject file. Number of successfully read source rows. Number of failed source rows. Number of successfully loaded target rows. Number of failed target rows. First error code.

LAST_ERROR_CODE LAST_ERROR TASK_VERSION_NUMBER WORKFLOW_VERSION_NUMBER SESSION_LOG_FILE BAD_FILE_LOCATION SUCCESSFUL_SOURCE_ROWS FAILED_SOURCE_ROWS SUCCESSFUL_ROWS FAILED_ROWS FIRST_ERROR_CODE

NUMBER VARCHAR2 (2000) NUMBER NUMBER VARCHAR2 (240) VARCHAR2 (240) NUMBER NUMBER NUMBER NUMBER NUMBER

Workflow, Worklet, and Task Views

387

Table 15-58. REP_SESS_LOG MX View Column FIRST_ERROR_MSG WORKFLOW_NAME MAPPING_NAME SESSION_NAME WORKFLOW_ID WORKFLOW_RUN_ID WORKLET_RUN_ID INSTANCE_ID TOTAL_ERR Datatype VARCHAR2 (2000) VARCHAR2 (240) VARCHAR2 (240) VARCHAR2 (240) NUMBER NUMBER NUMBER NUMBER NUMBER Description First error message. Name of the workflow that contains the session instance. Mapping name. Session name. Workflow ID. Workflow run ID. Run ID of a worklet in a workflow. Instance ID. Total error code.

Informatica recommends using the fields in bold to join views.

REP_SESS_TBL_LOG
This view contains information about the status of an individual session run against a target. It provides the last update time, row counts, and error status based on a last update timestamp on a per target basis. Table 15-59 lists individual session information in the REP_SESS_TBL_LOG view:
Table 15-59. REP_SESS_TBL_LOG MX View Column Name SUBJECT_AREA SUBJECT_ID SESSION_NAME SESSION_ID SESSION_INSTANCE_NAME SESSION_INSTANCE_ID WORKFLOW_ID WORKFLOW_VERSION_NUMBER TABLE_NAME TABLE_ID TABLE_VERSION_NUMBER TABLE_BUSNAME TABLE_INSTANCE _NAME Datatype VARCHAR2 (240) NUMBER VARCHAR2 (240) NUMBER VARCHAR2 (240) NUMBER NUMBER NUMBER VARCHAR2 (240) NUMBER NUMBER VARCHAR2 (240) VARCHAR2 (240) Description Folder name. Folder ID. Session name. Session ID. Name of the session instance. Session instance ID. Workflow ID. Workflow version number. Name of the table for this log. Target table ID. Version number of the target. Business name of the target. Target instance name for the session.

388

Chapter 15: Using Metadata Exchange (MX) Views

Table 15-59. REP_SESS_TBL_LOG MX View Column Name SUCCESSFUL_ROWS SUCCESSFUL_AFFECTED_ROWS FAILED_ROWS LAST_ERROR LAST_ERROR_CODE START_TIME END_TIME SESSION_TIMESTAMP BAD_FILE_LOCATION SESSION_VERSION_NUMBER PARTITION_NAME MAPPLET_INSTANCE_NAME WIDGET_NAME TYPE_NAME GROUP_NAME THROUGHPUT TYPE_ID Datatype NUMBER NUMBER NUMBER VARCHAR2 (2000) NUMBER DATE DATE NUMBER NUMBER NUMBER VARCHAR2 (240) VARCHAR2 (240) VARCHAR2 (240) VARCHAR2 (240) VARCHAR2 (240) NUMBER NUMBER Description Number of successfully loaded target rows. Number of affected target rows Number of failed target rows. Last error message. Last error code. Time the target load started. Time the target load ended. Session timestamp. Location of the reject file. Version number of the session. Name of the partition. Mapplet instance name. Transformation name. Object name. Group name. Performance numbers for the target. Object unique type ID.

Informatica recommends using the fields in bold to join views.

Workflow, Worklet, and Task Views

389

Security Views
Security views allow you to see user and group information such as privileges and contact information. Table 15-60 lists the different views that help you analyze security metadata:
Table 15-60. Security Views View REP_USERS REP_USER_GROUPS REP_GROUPS Description This view provides a list of all PowerCenter users along with details on user privileges and contact information. For more information, see REP_USERS on page 390. This view provides association details between PowerCenter users and the group to which they belong. For more information, see REP_USER_GROUPS on page 391. This view provides a list of PowerCenter groups along with details on group privileges and contact information. For more information, see REP_GROUPS on page 391.

REP_USERS
This view provides a list of all PowerCenter users along with details on user privileges and contact information. Table 15-61 lists user information in the REP_USERS view:
Table 15-61. REP_USERS MX View Column USER_ID USER_NAME USER_PRIVILEGES1 USER_DESCRIPTION USER_FLAGS CONTACT_INFO IS_VISIBLE USER_ISENABLED USER_EXTERNAL_ID USER_EXTERNAL_LOGIN Datatype NUMBER VARCHAR2 (240) NUMBER VARCHAR2 (2000) NUMBER VARCHAR2 (2000) NUMBER NUMBER VARCHAR2 (240) VARCHAR2 (240) Description User ID (primary key). User name. Privileges granted to the user. Description of the user. Specifies whether the user is system-created or usercreated. 0 = system-created; 1 = user-created. User contact information. Specifies whether user is valid. 1 = valid; 0 = deleted. Specifies whether user can log in. 1 = enabled; 0 = disabled. Unique global user ID. User login ID used by external authentication modules.

Informatica recommends using the fields in bold to join views.

390

Chapter 15: Using Metadata Exchange (MX) Views

REP_USER_GROUPS
This view provides an association between PowerCenter users and the group to which they belong. Table 15-62 lists group association information in the REP_USER_GROUPS view:
Table 15-62. REP_USER_GROUPS MX View Column USER_ID GROUP_ID Datatype NUMBER NUMBER Description User ID. Group ID.

Informatica recommends using the fields in bold to join views.

REP_GROUPS
This view provides a list of PowerCenter groups along with details on group privileges and contact information. Table 15-63 lists group information in the REP_GROUPS view:
Table 15-63. REP_GROUPS MX View Column GROUP_ID GROUP_NAME GROUP_PRIVILEGES GROUP_DESCRIPTION GROUP_FLAGS Datatype NUMBER VARCHAR2 (240) NUMBER VARCHAR2 (2000) NUMBER Description Group ID (primary key). Group name. Group privileges. Group description. Specifies whether the group is system-created or usercreated. 0 = system-created; 1 = user-created. Contact information for the group.

CONTACT_INFO

VARCHAR2 (2000)

Informatica recommends using the fields in bold to join views.

Security Views

391

Deployment Views
Deployment views allow you to see deployment information such as deployment groups, deployment date, source and target repository names associated with deployment, and objects which were deployed from one repository to another. Table 15-64 lists the different views that help you analyze deployment metadata:
Table 15-64. Deployment Views View REP_DEPLOY_GROUP REP_DEPLOY_GROUP_DETAIL Description This view provides information on deployment group in Change Management. For more information, see REP_DEPLOY_GROUP on page 392. This view provides Change Management deployment details. For more information, see REP_DEPLOY_GROUP_DETAIL on page 393.

REP_DEPLOY_GROUP
This view provides information on deployment groups. Table 15-65 lists deployment group information in the REP_DEPLOY_GROUP view:
Table 15-65. REP_DEPLOY_GROUP MX View Column DEP_GROUP_ID DEP_GROUP_NAME DESCRIPTION CREATED_BY OWNER_ID GROUP_ID CREATION_TIME LAST_SAVED GROUP_TYPE QUERY_ID QUERY_NAME QUERY_DESCRIPTION QUERY_CREATED_BY QUERY_OWNER_ID QUERY_GROUP_ID Datatype NUMBER VARCHAR2 (240) VARCHAR2 (2000) VARCHAR2 (240) NUMBER NUMBER VARCHAR2 (30) VARCHAR2 (30) NUMBER NUMBER VARCHAR2 (240) VARCHAR2 (2000) VARCHAR2 (240) NUMBER NUMBER Description Deployment group ID. Deployment group name. Description of the group. Name of user who created the deployment group. User ID. Group ID. Creation time. Last saved time. Deployment group type. 0 = static; 1 = dynamic. Query ID associated with a dynamic group. Query name associated with a dynamic group. Query description. Name of user who created the query. Query user. Query group ID.

392

Chapter 15: Using Metadata Exchange (MX) Views

Table 15-65. REP_DEPLOY_GROUP MX View Column QUERY_CREATION_TIME QUERY_LAST_SAVED QUERY_TYPE Datatype VARCHAR2 (30) VARCHAR2 (30) NUMBER Description Query creation time. Query last saved time. Query type. 1 = public; 2 = personal.

Informatica recommends using the fields in bold to join views.

REP_DEPLOY_GROUP_DETAIL
This view provides deployment details. Table 15-66 lists deployment information in the REP_DEPLOY_GROUP_DETAIL view:
Table 15-66. REP_DEPLOY_GROUP_DETAIL MX View Column DEP_RUN_ID OBJECT_ID OBJECT_NAME OBJECT_TYPE OBJECT_TYPE_NAME SRC_VERSION_NUMBER TARG_VERSION_NUMBER SRC_SUBJECT_ID SRC_SUBJECT_AREA TARG_SUBJECT_AREA IS_SHORTCUT DEP_GROUP_ID DEP_GROUP_NAME DEPLOY_TIME DEPLOY_TYPE Datatype NUMBER NUMBER VARCHAR2 (240) NUMBER VARCHAR2 (240) NUMBER NUMBER NUMBER VARCHAR2 (240) VARCHAR2 (240) NUMBER NUMBER VARCHAR2 (240) NUMBER NUMBER Description Unique deployment run ID. Object ID. Name of the object. Object type. Object type name. Object version number in the source repository. Object version number in the target repository. Folder ID in the source repository. Folder name in the source repository. Folder name in the target repository. Specifies whether the object is a shortcut. 1 = shortcut; 0 = not a shortcut Deployment group ID. Deployment group name. Deployment start time. Deployment type. 0 = invalid. 1 = deploy to. 2 = deploy from. Target repository name. Global ID of the repository. Deployment user ID.

TARGET_REP_NAME REP_GID USER_ID

VARCHAR2 (240) VARCHAR2 (240) NUMBER

Deployment Views

393

Table 15-66. REP_DEPLOY_GROUP_DETAIL MX View Column GROUP_ID USER_NAME UTC_DEPLOY_TIME DEPLOY_STATUS Datatype NUMBER VARCHAR2 (240) NUMBER NUMBER Description Group ID. Deployment user name. UTC deployment time. Deployment status. 0 = deployed. 1 = rollback. 2 = rollback failed. Deployment rollback time.

ROLLBACK_TIME

NUMBER

Informatica recommends using the fields in bold to join views.

394

Chapter 15: Using Metadata Exchange (MX) Views

Repository View
The repository view allows you to see repository name, database type, connection information on which the repository is created, and whether the repository is local or global. MX provides the REP_REPOSIT_INFO view to help you analyze repository metadata.

REP_REPOSIT_INFO
This view provides repository information such as repository name and type, domain name, and database type. Table 15-67 lists repository information in the REP_REPOSIT_INFO view:
Table 15-67. REP_REPOSIT_INFO MX View Column RECID REPOSIT_NAME REPOSIT_DESCRIPTION REPOSITORY_ID REPOSITORY_TYPE Datatype NUMBER VARCHAR2 (240) VARCHAR2 (2000) NUMBER NUMBER Description Repository record ID. Repository name. Description of the repository. Repository ID. Repository type. 1 = global. 2 = standalone. 3 = local. Global domain name. Database user name used to connect to the repository. Repository type. Name of the machine hosting the Repository Server. Port number of the Repository Server.

DOMAIN_NAME DATABASE_USER DATABASE_TYPE HOSTNAME PORTNUM

VARCHAR2 (240) VARCHAR2 (240) NUMBER VARCHAR2 (240) NUMBER

Informatica recommends using the fields in bold to join views.

Repository View

395

PowerCenter Server Views


The PowerCenter Server views allow you to see information about PowerCenter Server resources, such as the server name and host name that can be used to run workflows in PowerCenter. The views allow you to see information about your server grid, such as server locations, descriptions, and recent activity. Table 15-68 lists the different views that help you analyze server resources and your access to them:
Table 15-68. PowerCenter Server Views View REP_SERVER_INFO Description This view provides information about PowerCenter Server name, host name, IP address, and timeout. For more information, see REP_REPOSIT_INFO on page 395. This view provides information on PowerCenter Server description, location, and usage. For more information, see REP_SERVER_NET on page 397. This view provides information about PowerCenter Server identification and usage. For more information, see REP_SERVER_NET_REF on page 397.

REP_SERVER_NET REP_SERVER_NET_REF

REP_SERVER_INFO
This view provides PowerCenter Server information such as server name, host name, IP address, and timeout. Table 15-69 lists PowerCenter Server information in the REP_SERVER_INFO view:
Table 15-69. REP_SERVER_INFO MX View Column SERVER_ID SERVER_NAME HOST_INFO TIMEOUT PORT_NO HOSTNAME IP_ADDRESS LAST_SAVED Datatype NUMBER VARCHAR2 (240) VARCHAR2 (240) NUMBER NUMBER VARCHAR2 (240) VARCHAR2 (240) VARCHAR2 (30) Description PowerCenter Server ID (primary key). PowerCenter Server name. Information on the machine hosting the PowerCenter Server. Specified timeout when attempting to communicate with the server. Port number of the machine hosting the PowerCenter Server. Name of the machine hosting the PowerCenter Server. IP address of the host machine. Time when an object was last saved.

Informatica recommends using the fields in bold to join views.

396

Chapter 15: Using Metadata Exchange (MX) Views

REP_SERVER_NET
This view provides PowerCenter Server grid information and provides description and usage information. Table 15-70 lists PowerCenter Server information in the REP_SERVER_NET view:
Table 15-70. REP_SERVER_NET MX View Column SERVER_NET_ID SERVER_NET_NAME SERVER_NET_DESCRIPTION LAST_SAVED Datatype NUMBER VARCHAR2 (240) VARCHAR2 (2000) VARCHAR2 (30) Description Server ID within the grid (primary key). Server name. Description of the server. Time when the server was last saved.

Informatica recommends using the fields in bold to join views.

REP_SERVER_NET_REF
This view provides PowerCenter Server identification within the grid and usage information. Table 15-71 lists PowerCenter Server identification and usage information within the grid in the REP_SERVER_NET_REF view:
Table 15-71. REP_SERVER_NET_REF MX View Column SERVER_NET_ID SERVER_ID BIT_OPTIONS Datatype NUMBER NUMBER NUMBER Description PowerCenter Server ID within the grid (primary key). PowerCenter Server ID (primary key). PowerCenter Server job distribution options. Use network = 1. Use network and used by network = 3.

Informatica recommends using the fields in bold to join views.

PowerCenter Server Views

397

Change Management Views


Change Management views allow you to see the version history of all objects in a PowerCenter repository and label metadata. Objects can be defined as tables, mappings, mapplets, transformations, sessions, workflows, worklets, and tasks. Labels can be defined on all objects. Table 15-72 lists the different views that help you analyze version history of objects and label metadata:
Table 15-72. Change Management Views View REP_VERSION_PROPS REP_CM_LABEL REP_CM_LABEL_REF Description Provides information on the version history of all objects in a PowerCenter repository. For more information, see REP_VERSION_PROPS on page 398. Provides information on labels in Change Management. For more information, see REP_CM_LABEL on page 399. Provides information on label details in Change Management. For more information, see REP_CM_LABEL_REF on page 399.

REP_VERSION_PROPS
This view provides the version history of all objects in a PowerCenter repository. Table 15-73 lists label information in the REP_VERSION_PROPS view:
Table 15-73. REP_VERSION_PROPS MX View Column OBJECT_ID OBJECT_TYPE OBJECT_SUBTYPE VERSION_NUMBER SUBJECT_ID USER_ID OBJECT_NAME GROUP_NAME LAST_SAVED UTC_LAST_SAVED COMMENTS SAVED_FROM Datatype NUMBER NUMBER NUMBER NUMBER NUMBER NUMBER VARCHAR2 (240) VARCHAR2 (240) VARCHAR2 (30) NUMBER VARCHAR2 (2000) VARCHAR2(240) Description Object ID. Object type ID (primary key). Object subtype ID. Object version number. Folder ID. User who last modified this version of the object. Name of the object. Database name used by source objects. Time when object was last saved. UTC time when the object was last modified. Description of the object. Host machine name from which the version of the object is saved.

398

Chapter 15: Using Metadata Exchange (MX) Views

Table 15-73. REP_VERSION_PROPS MX View Column PURGED_BY_USERID Datatype NUMBER Description User ID who purged the object from the repository.

Informatica recommends using the fields in bold to join views.

REP_CM_LABEL
This view provides label information. Table 15-74 lists label information in the REP_CM_LABEL view:
Table 15-74. REP_CM_LABEL MX View Column LABEL_ID LABEL_NAME DESCRIPTION CREATED_BY OWNER_ID GROUP_ID CREATION_TIME LAST_SAVED LABEL_TYPE LABEL_STATUS Datatype NUMBER VARCHAR2 (240) VARCHAR2 (2000) VARCHAR2 (240) NUMBER NUMBER VARCHAR2 (30) VARCHAR2 (30) NUMBER NUMBER Description Label ID. Label name. Label description. Name of user who created the label. User ID. Group ID. Label creation time. Time when label was last saved. Label type. 2 = Can apply label to only one version of the object. Label status. 1 = label unlocked; 2 = label locked.

Informatica recommends using the fields in bold to join views.

REP_CM_LABEL_REF
This view provides information on label details. Table 15-75 lists label information in the REP_CM_LABEL_REF view:
Table 15-75. REP_CM_LABEL_REF MX View Column LABEL_ID OBJECT_ID OBJECT_TYPE VERSION_NUMBER SUBJECT_ID Datatype NUMBER NUMBER NUMBER NUMBER NUMBER Description Label ID. Object ID. Object type ID. Object version number. Folder ID.

Change Management Views

399

Table 15-75. REP_CM_LABEL_REF MX View Column USER_ID DESCRIPTION APPLY_TIME Datatype NUMBER VARCHAR2 (2000) VARCHAR2 (30) Description User ID. Label description. Time when label was applied to the object.

Informatica recommends using the fields in bold to join views.

400

Chapter 15: Using Metadata Exchange (MX) Views

Folder View
The folder view allows you to see all the folders defined in the PowerCenter repository. It describes the name, ID, and description of each folder. MX provides the REP_SUBJECT view to help you analyze folder metadata:

REP_SUBJECT
This view displays folder information such as folder name and description. Table 15-76 lists folder information in the REP_SUBJECT view:
Table 15-76. REP_SUBJECT MX View Column SUBJECT_AREA SUBJECT_ID DESCRIPTION Datatype VARCHAR2 (240) NUMBER VARCHAR2 (2000) Description Folder name. Folder ID. Folder description.

Informatica recommends using the fields in bold to join views.

Folder View

401

402

Chapter 15: Using Metadata Exchange (MX) Views

Chapter 16

Using pmrep and pmrepagent


This chapter includes the following topics:

Overview, 404 Running Commands in Command Line Mode, 406 Running Commands in Interactive Mode, 406 Specifying Options and Arguments, 407 pmrep System Commands, 410 pmrep Repository Commands, 412 pmrep Security Commands, 449 pmrep Change Management Commands, 460 pmrepagent Commands, 477 Scripting pmrep and pmrepagent Commands, 491 Tips, 492

403

Overview
pmrep and pmrepagent are command line programs that you use to update repository information and perform repository functions. pmrep and pmrepagent install in the Repository Server installation directory and also in the PowerCenter Client installation directory. When you use pmrep and pmrepagent, you can enter commands in interactive mode or command line mode. For more information on running commands in these modes, see Running Commands on page 406.

Using pmrep
Use pmrep to update session-related parameters and security information in the Informatica PowerCenter repository. You can use pmrep in either command line mode or interactive mode. pmrep uses the following types of commands to perform repository tasks:

System commands. Connect to the repository, get help information, clean up persistent resources, and exit pmrep. Use system commands when you work with pmrep repository and security commands. For more information on system commands, see pmrep System Commands on page 410. Repository commands. Back up a repository, create relational connections, change connection names, update session notification email addresses, and update server variables. For more information on repository commands, see pmrep Repository Commands on page 412. Security commands. Add or remove users and groups. Edit user profiles and password information. Add or remove user and group privileges. For more details on security commands, see pmrep Security Commands on page 449. Change management commands. Add, copy, or delete deployment groups. Check in objects. Add or delete labels. Import or export objects. Execute queries. For more details on change management commands, see pmrep Change Management Commands on page 460.

Using pmrepagent
Use pmrepagent to perform repository functions, such as restoring repositories. pmrepagent runs in command line mode only. For more information on pmrepagent commands, see pmrepagent Commands on page 477.

Using Native Connect Strings


Some pmrep and pmrepagent commands, such as pmrep CreateConnection and pmrepagent Restore, require a native connect string.

404

Chapter 16: Using pmrep and pmrepagent

Table 16-1 lists the native connect string syntax for each supported database when you create or update connections:
Table 16-1. Native Connect String Syntax Database IBM DB2 Informix Microsoft SQL Server Oracle Sybase Teradata* Connect String Syntax dbname dbname@servername servername@dbname dbname.world (same as TNSNAMES entry) servername@dbname ODBC_data_source_name or ODBC_data_source_name@db_name or ODBC_data_source_name@db_user_name Example mydatabase mydatabase@informix sqlserver@mydatabase oracle.world sambrown@mydatabase TeradataODBC TeradataODBC@mydatabase TeradataODBC@jsmith

*Use Teradata ODBC drivers to connect to source and target databases.

Overview

405

Running Commands
When you use pmrep and pmrepagent, you can enter commands in interactive mode or command line mode.

Interactive mode. You can issue pmrep commands from an interactive prompt. pmrep does not exit after it completes a command. You cannot use pmrepagent in interactive mode. Command line mode. You can issue pmrep and pmrepagent commands directly from the system command line. You can use command line mode to script pmrep and pmrepagent commands.

The Command syntax contains options and arguments you use when you specify commands.

Running Commands in Command Line Mode


The command line mode invokes and exits pmrep or pmrepagent each time you issue a command. The command line mode is useful if you want to run pmrep or pmrepagent commands through batch files, scripts, or other programs. For more information on scripting pmrep or pmrepagent commands, see Scripting pmrep and pmrepagent Commands on page 491.
To run pmrep commands in command line mode: 1. 2. 3.

At the command prompt, switch to the directory where the pmrep executable is located. Enter pmrep followed by the command name and its required options and arguments. At the command prompt, type the following command to run pmrep:
pmrep command_name [-option1] argument_1 [-option2] argument_2...

To run pmrepagent commands in command line mode: 1. 2. 3.

At the command prompt, switch to the directory where the pmrepagent executable is located. Enter pmrepagent followed by the command name and its required options and arguments. At the command prompt, type the following command to run pmrepagent:
pmrepagent command_name [-option1] argument_1 [-option2] argument_2...

Running Commands in Interactive Mode


The interactive mode invokes pmrep and allows you to issue a series of commands from a pmrep prompt without exiting after each command.
To run pmrep commands in interactive mode: 1.

Enter pmrep at the command prompt to invoke interactive mode.

406

Chapter 16: Using pmrep and pmrepagent

This starts pmrep in interactive mode and displays a pmrep> prompt. You do not have to type pmrep before each command in interactive mode.
2.

Type a command and its options and arguments. At the pmrep> prompt, type:
command_name [-option1] argument_1 [-option2] argument_2...

pmrep runs the command and displays the pmrep> prompt again.
3.

Type exit to end an interactive session.

Specifying Options and Arguments


Commands in pmrep and pmrepagent may require you to specify options and arguments.

Options
Use the following rules when you specify command options and arguments:

Specify options by typing a minus sign followed by a letter, as shown using the Connect command:
connect -r

Most options require arguments. For example, you must provide the name of the repository when using the connect command:
connect -r production

Specify options in any order. For example, both of the following commands are valid:
connect -r production -n sambrown connect -n sambrown -r production

Options are case-sensitive when the command contains an upper-case and lower-case option, such as -x and -X.

Option Arguments
Use the following rules to specify arguments:

The first word after the option letter is considered the argument. An option and its argument do not have to be separated by a space. For example, you can use both of the following Connect commands to connect to a repository:
connect -r production connect -rproduction

If any argument for an option or command contains more than one word, you must enclose the argument in double quotes. Back quotes () are not allowed. pmrep and pmrepagent ignore quotes that do not enclose an argument. Commands fail and display an error message if any required option or argument is missing or not specified.
Running Commands 407

Using Password Environment Variables


Some pmrep commands use password environment variable options. When you use password environment variables, you must encrypt your repository password. You set the password on the PowerCenter Repository Server and encrypt it with the pmpasswd utility. Use the following steps as a guideline to use an encrypted password as an environment variable: 1. 2. 3. Use the command line program, pmpasswd, to encrypt your repository password. Configure the PASSWORD environment variable to set the encrypted value. Use the environment variable with the appropriate pmrep, pmrepagent, or pmrepserver command. For more details on the pmrepserver command, see Installing and Configuring the Repository Server on Windows and Installing and Configuring the Repository Server on UNIX in the Installation and Configuration Guide.

You may want to encrypt your repository password to maintain security when you use pmrep, pmrepagent, and pmrepserver in scripts. You can use the PASSWORD environment variable for commands such as Connect, Create, and Backup.

Configuring Repository Passwords on UNIX


You can enter your repository password at the command line as an environment variable. The password is an encrypted value.
To encrypt a password: 1. 2.

In a UNIX session, navigate to the PowerCenter Server installation directory. At the shell prompt, type:
pmpasswd YourPassword

This command runs the encryption utility pmpasswd located in the PowerCenter Server installation directory. The encryption utility generates and displays your encrypted password. The following is sample output. In this example, the password entered was monday.
Encrypted string -->bX34dqq<-Will decrypt to -->monday<--

Your encrypted password is bX34dqq.


To configure a password environment variable:

If you are in a UNIX C shell environment, type:


setenv PASSWORD YourEncryptedPassword

408

Chapter 16: Using pmrep and pmrepagent

If you are in a UNIX Bourne shell environment, type:


PASSWORD= YourEncryptedPassword export PASSWORD

You can assign the environment variable any valid UNIX name.

Configuring Repository Passwords on Windows


You can enter your repository password at the command line as an environment variable. The password is an encrypted value.
To encrypt a password: 1. 2.

In Windows DOS, navigate to the PowerCenter Server installation directory. At the command line, type:
pmpasswd YourPassword

The encryption utility generates and displays your encrypted password. The following is sample output. In this example, the password entered was monday.
Encrypted string -->bX34dqq<-Will decrypt to -->monday<--

Your encrypted password is bX34dqq.


To configure a password environment variable: 1.

Enter environment variables in the Windows System Properties. For information about setting environment variables for your Windows operating system, consult your Windows documentation.

2.

Enter the name of your password environment variable in the Variable field. Enter your encrypted password in the Value field. You can set these up as either a user or system variable. User variables take precedence over system variables.

Using Password Environment Variables

409

pmrep System Commands


This section describes basic pmrep commands that you use in conjunction with other pmrep repository and security commands. Table 16-2 lists pmrep system commands:
Table 16-2. pmrep System Commands pmrep Command Connect Help Cleanup Exit Command Description Connects to the repository. See Connecting to a Repository (Connect) on page 410. Displays help for all commands or for a specified command. See Getting Help (Help) on page 411. Cleans up persistent resources created by pmrep during a session. See Cleaning up Persistent Resources (Cleanup) on page 411. Exits from pmrep. Exiting pmrep (Exit) on page 411.

Connecting to a Repository (Connect)


The first time you use pmrep in either command line or interactive mode, you must call the Connect command. All commands require a connection to the repository. Connect uses the following command syntax:
connect -r repository_name -n repository_username -x repository_password -X repository_password_environment_variable -h repserver_host_name -o repserver_port_number

Table 16-3 lists pmrep Connect options and arguments:


Table 16-3. Connect Options and Arguments (pmrep) Option -r -n -x -X -h -o Required/ Optional Required Required Required/ Optional Required/ Optional Required Required Argument Name repository_name repository_username repository_password repository_password_ environment_variable repserver_host_name repserver_port_number Argument Description Name of the repository you want to connect to. Repository user name used to connect to the repository. Password for the repository user name. Use the -x or -X option, but not both. The password environment variable for the repository. Use the -x or -X option, but not both. The host name of the machine running the Repository Server. The port number the Repository Server uses for connections.

410

Chapter 16: Using pmrep and pmrepagent

In the command line mode, pmrep uses the information specified by the last call to connect to the repository. If pmrep is called without a successful connect, it returns an error. In command line mode, pmrep connects to and disconnects from the repository with every command. If you use pmrep to perform tasks in multiple repositories in a single session, you must issue the Connect command each time you want to switch to a different repository. In the interactive mode, pmrep retains the connection until you exit pmrep or connect again. If you call Connect again, pmrep disconnects from the first repository and then connects to the second repository. If the second connection fails, the previous connection remains disconnected and you will not be connected to any repository. If you issue a command that requires a connection to the repository, and you are not connected to that repository, pmrep uses the connection information specified in the last successful connection made to the repository from any previous session of pmrep. pmrep retains information from the last successful connection until you use the Cleanup command.

Getting Help (Help)


The Help command prints help for all commands or for a specified command. The help information printed to the screen shows the command name, options, and specifies which arguments to provide. Help uses the following command syntax:
help [command]

Cleaning up Persistent Resources (Cleanup)


The Cleanup command cleans up any persistent resource created by pmrep. This command also cleans up any connection information from previous sessions of pmrep. Calling Cleanup as the first command in a session always returns an error. Informatica recommends calling Cleanup in the command line mode only. If you call Cleanup in the interactive mode, pmrep disconnects any repository you are connected to. To clean up persistent resources, use the following syntax:
cleanup

Exiting pmrep (Exit)


The Exit command exits from the pmrep interactive mode. To exit the pmrep interactive mode, type exit. The command line mode invokes and exits pmrep each time you issue a command.

pmrep System Commands

411

pmrep Repository Commands


pmrep allows you to perform repository administration tasks, such as backing up the repository, creating relational connections, and updating PowerCenter Server variables. Table 16-4 describes pmrep repository administration commands:
Table 16-4. pmrep Repository Commands pmrep Command Addserver Addrepository Backup CreateConnection Deleteconnection Deleteserver Disablerepository Enablerepository ListObjects Listtablesbysess ListObjectDependencies Notify ObjectExport ObjectImport Register Removerepository Run Command Description Adds a PowerCenter Server. See Adding a Server (Addserver) on page 413. Adds a repository configuration to the Repository Server. See Adding Repository Configurations (Addrepository) on page 414. Backs up a repository. See Backing up a Repository (Backup) on page 416. Creates a relational connection. See Creating a Relational Connection (CreateConnection) on page 417. Deletes an existing relational connection. See Deleting a Connection (Deleteconnection) on page 420. Deletes a PowerCenter Server. See Deleting a Server (Deleteserver) on page 421. Disables a repository. See Disabling a Repository (Disablerepository) on page 421. Enables a repository. See Enabling a Repository (Enablerepository) on page 422. Lists objects in the repository. See Listing Repository Objects (ListObjects) on page 423. Lists sources or targets in a session. See Listing Tables by Session (Listtablesbysess) on page 428. Lists dependent objects. See Listing Object Dependencies (ListObjectDependencies) on page 429. Sends notification messages. See Sending Notification Messages (Notify) on page 431. Exports objects to an XML file. See Exporting Objects (ObjectExport) on page 432. Imports objects from an XML file. See Importing Objects (ObjectImport) on page 433. Registers local repositories with global repositories. See Registering Local Repositories (Register) on page 434. Removes a repository from the Repository Server cache entry list. See Removing Repositories From the Cache (Removerepository) on page 435. Displays messages stating whether a run has completed or failed. See Running Script Files (Run) on page 436.

412

Chapter 16: Using pmrep and pmrepagent

Table 16-4. pmrep Repository Commands pmrep Command ShowConnectioninfo Command Description Shows repository name, server, port and user information for the current connection. See Showing Connection Information (ShowConnectioninfo) on page 437. Stops the repository you last connected to using pmrep. See Stopping a Repository (StopRepository) on page 437. Changes the name of an existing connection. See Changing the Connection Name (SwitchConnection) on page 438. Truncates log details from repository level, folder level, or workflow level. See Truncating Workflow and Session Logs (Truncatelog) on page 439. Unregisters local repositories from global repositories. See Unregistering Local Repositories (Unregister) on page 440. Changes user name, password, and connect string for a connection. See Updating a Database Connection (UpdateConnection) on page 441. Updates the session notification email addresses. See Updating the Notification Email Addresses (Updateemailaddr) on page 442. Updates transformation properties for Sequence Generator transformations. See Updating Sequence Generator Transformations (Updateseqgenvals) on page 444. Edit server details. See Updating Server Details (Updateserver) on page 443. Updates source table owner names. See Updating the Source Table Owner Name (Updatesrcprefix) on page 445. Updates server variables. See Updating Server Variables (Updatesrvvar) on page 446. Updates statistics for repository tables and indexes. See Updating Repository Statistics (UpdateStatistics) on page 447. Updates target table name prefixes. See Updating the Target Table Name Prefix (Updatetargprefix) on page 447.

StopRepository SwitchConnection Truncatelog Unregister UpdateConnection Updateemailaddr Updateseqgenvals

Updateserver Updatesrcprefix Updatesrvvar UpdateStatistics Updatetargprefix

Adding a Server (Addserver)


Use the Addserver command to add PowerCenter Servers. For more information about adding a PowerCenter Server see Registering the PowerCenter Server in the Installation and Configuration Guide. To add a server, you must have the Administer Repository privilege. Addserver uses the following command syntax:
addserver -v server_name -h new_host_name -o new_port_number -t new_timeout_value -p new_protocol_name -l new_codepage_name

pmrep Repository Commands

413

Table 16-5 lists pmrep Addserver options and arguments:


Table 16-5. Addserver Options and Arguments (pmrep) Option -v -h -o -t -p -l Required/ Optional Required Required Optional Optional Optional Optional Argument Name server_name new_host_name new_port_number new_timeout_value new_protocol_name new_codepage_name Argument Description The name of the PowerCenter Server you want to change. The server host name or IP address of the server machine. The port number of the server machine. The number of seconds the Workflow Manager waits for a response from the server. The protocol the server uses. The character set associated with the PowerCenter Server. Select the code page identical to the PowerCenter Server operating system code page. Must be identical to or compatible with the repository code page.

Adding Repository Configurations (Addrepository)


The Addrepository command adds repository configurations to the Repository Server. You might use Addrepository to add a repository configuration after restoring or creating a repository in the database using pmrepagent. When you add a repository configuration, pmrep connects to the Repository Server and adds a configuration file to the Repository Server installation directory. You do not need to connect to a repository to use this command.
Note: To configure other repository options, edit the repository configuration in the

Repository Server Administration Console. For more information on adding and editing repository configurations, see Adding a Repository Configuration on page 105. Addrepository uses the following command syntax:
addrepository -h repserver_host_name -o repserver_port_number -a repserver_password -A repserver_password_environment_variable -r repository_name -t database_type -u database_user_name -p database_password -P database_password_environment_variable -m -c database_connect_string -d code_page -e DB2_tablespace_name -l license_file_name

414

Chapter 16: Using pmrep and pmrepagent

Table 16-6 lists pmrep Addrepository options and arguments:


Table 16-6. Addrepository Options and Arguments (pmrep) Option -h -o -a Required/ Optional Required Required Required/ Optional Required/ Optional Required Required Required Argument Name repserver_host_name repserver_port_number repserver_password Argument Description The host name of the Repository Server that manages the repository. The port number of the Repository Server that manages the repository. The password you use to administer the Repository Server that manages the repository. Use the -a or -A option, but not both. The password environment variable you use to administer the Repository Server that manages the repository. Use the -a or -A option, but not both. The name of the repository. The type of database storing the repository. The account for the database containing the repository. Set up this account using the appropriate database client tools. Use a trusted connection to connect to the database. Valid for Microsoft SQL Server only. The repository database password corresponding to the database user. Must be in 7-bit ASCII. Not required if you are using option -m. Use the -p or -P option, but not both. The repository database password environment variable corresponding to the database user. Must be in 7-bit ASCII. Not required if you are using option -m. Use the -p or -P option, but not both. The native connect string the Repository Server uses to access the database containing the repository. For information on connect string syntax, see Table 16-1 on page 405. The repository code page. The Repository Server uses the character set encoded in the repository code page when writing data to the repository. If you omit this option, pmrep uses the code page of the global locale for the Repository Server.

-A

repserver_password_ environment_variable repository_name database_type database_user_name

-r -t -u

-m -p

Optional Required/ Optional

n/a database_password

-P

Required/ Optional

database_password_ environment_variable

-c

Required

database_connect_string

-d

Optional

code_page

pmrep Repository Commands

415

Table 16-6. Addrepository Options and Arguments (pmrep) Option -e Required/ Optional Optional Argument Name DB2_tablespace_name Argument Description The tablespace name for IBM DB2 repositories. When you specify the tablespace name, the Repository Server creates all repository tables in the same tablespace. You cannot use spaces in the tablespace name. Use the same tablespace name with this command and the pmrepagent Create and Restore commands. To improve repository performance on IBM DB2 EEE repositories, use a tablespace name with a single node. For more information on specifying the tablespace name, see Adding a Repository Configuration on page 105. The name of the license file.

-l

Optional

license_file_name

Backing up a Repository (Backup)


The Backup command backs up the repository to the file specified with the -o option. You must provide the backup filename. You can use this command when the repository is running. You must be connected to a repository to use this command. Backup uses the following command syntax:
backup -o output_file_name -f -d description -b skip_workflow/ session_logs -j skip_deploy_group_history -q skip_MX_data

Table 16-7 lists pmrep Backup options and arguments:


Table 16-7. Backup Options and Arguments (pmrep) Option -o -f -d Required/ Optional Required Optional Optional Argument Name output_file_name n/a description Argument Description The name and path of the file for the repository backup. Overwrites an existing file with the same name. Creates a description of the backup file based on the string that follows the option. The backup process truncates any character beyond 2,000. Specify this option if you want to skip tables related to workflow and session logs during backup. Skips deployment group history during backup. Skips tables related to MX data during backup.

-b -j -q

Optional Optional Optional

skip_workflow/ session_logs skip_deploy_group _history skip_MX_data

To restore the backup file, use the Repository Manager Administration Console, or use the pmrepagent Restore command. For details, see Restoring a Repository (Restore) on page 485.

416

Chapter 16: Using pmrep and pmrepagent

Note: You can also use the pmrepagent Backup command to back up a repository that is not

running. For details, see Backing up a Repository (Backup) on page 477.

Creating a Relational Connection (CreateConnection)


The CreateConnection command creates a relational source or target connection in the repository. You must be connected to a repository to use this command. Relational database connections for each relational subtype require a subset of all CreateConnection options and arguments. For example, Oracle connections do not accept the -z, -d, or -t options. CreateConnection uses the following command syntax:
createconnection -a data_source_name -s database_type -n connection_name -u username -p password -P password_environment_variable -c connect_string -l code_page -r rollback_segment -e environment_sql -z packet_size -b database_name -v server_name -d domain_name -t trusted_connection -x

Table 16-8 lists pmrep CreateConnection options and arguments:


Table 16-8. CreateConnection Options and Arguments (pmrep) Option -a -s -n -u -p Required/ Optional Required Required Required Required Required/ Optional Required/ Optional Required Argument Name data_source_name database_type connection_name username password Argument Description The Teradata ODBC data source name. Valid for Teradata connections only. The type of relational connection. For a list of valid database types, see Table 16-9 on page 418. The name of the connection. The user name used for authentication when you connect to the relational database. The password used for authentication when you connect to the relational database. Use the -p or -P option, but not both. The password environment variable used for authentication when you connect to the relational database. Use the -p or -P option, but not both. The connect string the PowerCenter Server uses to connect to the relational database. For a list of native connect strings, see Table 16-1 on page 405. The code page associated with the connection. For a list of valid code page IDs, see Table 16-10 on page 419. Valid for Oracle connections only. The name of the rollback segment. A rollback segment records database transactions that allow you to undo the transaction.

-P

password_environm ent_variable connect_string

-c

-l -r

Required Optional

code_page rollback_segment

pmrep Repository Commands

417

Table 16-8. CreateConnection Options and Arguments (pmrep) Option -e -z Required/ Optional Optional Optional Argument Name environment_sql packet_size Argument Description Enter SQL commands to set the database environment when you connect to the database. Valid for Sybase and Microsoft SQL Server connections only. Optimizes the ODBC connection to Sybase and Microsoft SQL Server. The name of the database. Valid for Sybase and Microsoft SQL Server connections only. The name of the database server. Valid for Sybase and Microsoft SQL Server connections only. Valid for Microsoft SQL Server connections only. The name of the domain. Used for Microsoft SQL Server on Windows. Valid for Microsoft SQL Server connections only. If selected, the PowerCenter Server uses Windows authentication to access the Microsoft SQL Server database. The user name that starts the PowerCenter Server must be a valid Windows user with access to the Microsoft SQL Server database. Enables enhanced security. Grants you read, write, and execute permissions. Public and world groups are not granted any permissions. If this option is not enabled, all groups and users are granted read, write, and execute permissions. For more information about enhanced security, see Configuring the Workflow Manager in the Workflow Administration Guide.

-b -v -d -t

Optional Optional Optional Optional

database_name server_name domain_name trusted_connection

-x

Optional

n/a

Specifying Database Type


When you create a new connection, you must specify a database type using the exact string associated with that database type in pmrep. The strings are not case-sensitive. Use quotes when specifying a string with spaces in an argument. Table 16-9 lists the required pmrep database type strings according to database:
Table 16-9. Database Type Strings Database IBM DB2 Informix Microsoft SQL Server ODBC Oracle Sybase Teradata Database Type String DB2 Informix Microsoft SQL Server ODBC Oracle Sybase Teradata

418

Chapter 16: Using pmrep and pmrepagent

Specifying Database Code Page Information


The -l option specifies the code page information for the database connection. To specify database code page information, you must use the string associated with the code page you want to assign to the database connection. If you configure the PowerCenter Server for data code page validation, changing the database connection code page can cause sessions to fail under the following conditions:

The source database connection code page is not a subset of the PowerCenter Server code page. The target database connection code page is not a superset of the PowerCenter Server code page.

If you configure the PowerCenter Server for relaxed data code page validation, changing the database connection code page can cause data inconsistencies if the new code page is not compatible with the source or target database connection code pages. For details on data code page validation, see Globalization Overview in the Installation and Configuration Guide. For a list of supported code pages and code page compatibility reference, see Code Pages in the Installation and Configuration Guide. Table 16-10 lists the code page ID strings pmrep accepts to update database connection code page information:
Table 16-10. Code Page ID by Name (pmrep) Code Page Name 7-bit ASCII IBM EBCDIC Chinese (Simplified) IBM EBCDIC Chinese (Traditional) IBM EBCDIC French IBM EBCDIC German IBM EBCDIC International Latin-1 IBM EBCDIC Italian IBM EBCDIC Japanese IBM EBCDIC UK English IBM EBCDIC US English ISO 8859-1 Western European ISO 8859-2 Eastern European ISO 8859-3 Southeast European ISO 8859-4 Baltic ISO 8859-5 Cyrillic ISO 8859-6 Arabic pmrep ID String US-ASCII IBM935 IBM937 IBM297 IBM273 IBM500 IBM280 IBM930 IBM285 IBM037 Latin1 ISO-8859-2 ISO-8859-3 ISO-8859-4 ISO-8859-5 ISO-8859-6

pmrep Repository Commands

419

Table 16-10. Code Page ID by Name (pmrep) Code Page Name ISO 8859-7 Greek ISO 8859-8 Hebrew ISO 8859-9 Latin 5 (Turkish) ISO 8859-10 Latin 6 (Nordic) ISO 8859-15 Latin 9 (Western European) Japan Extended UNIX Code (incl. JIS x 0212) MS-DOS Thai, superset of TIS 620 MS Windows Arabic MS Windows Baltic Rim MS Windows Chinese (Simplified), superset of GB 2312-80, EUC encoding MS Windows Chinese (Traditional), superset of Big 5 MS Windows Cyrillic (Slavic) MS Windows Greek MS Windows Hebrew MS Windows Japanese, superset of Shift-JIS MS Windows Korean superset of KS C 5601-1992 MS Windows Korean (Johab) MS Windows Latin 1 (ANSI), superset of Latin 2 MS Windows Latin 2 (Central Europe) MS Windows Latin 5 (Turkish), superset of ISO 8859-9 MS Windows Vietnamese UTF-8 encoding of Unicode pmrep ID String ISO-8859-7 ISO-8859-8 ISO-8859-9 ISO-8859-10 ISO-8859-15 JapanEUC MS874 MS1256 MS1257 MS936 MS950 MS1251 MS1253 MS1255 MS932 MS949 MS1361 MS1252 MS1250 MS1254 MS1258 UTF-8

Deleting a Connection (Deleteconnection)


The Deleteconnection command deletes a relational connection from the repository. To delete a connection, you must have Administer Repository privilege, be the owner of the connection object, have write permission on the object, or belong to the same group as the owner. Deleteconnection uses the following command syntax:
deleteconnection -n relational_connection_name -f force_delete

420

Chapter 16: Using pmrep and pmrepagent

Table 16-11 lists pmrep Deleteconnection option and argument:


Table 16-11. Deleteconnection Options and Arguments (pmrep) Option -n -f Required/ Optional Required Optional Argument Name relational_connection_name force_delete Argument Description Name of the relational connection to delete. Connection will be deleted without further confirmation.

The command returns deleteconnection completed successfully or returns Failed to execute deleteconnection message. The delete might fail for the following reasons:

The database connection does not exist. You do not have the appropriate privilege. The Repository Server cannot obtain a lock on the connection object.

Deleting a Server (Deleteserver)


The Deleteserver command deletes a server from the repository. To delete a server, you must have Administer Repository privilege. Deleteserver uses the following command syntax:
deleteserver -v server_name

Table 16-12 lists pmrep Deleteserver option and argument:


Table 16-12. Deleteserver Options and Arguments (pmrep) Option -v Required/ Optional Required Argument Name server_name Argument Description Name of the PowerCenter Server to delete.

The command returns an operation successfully completed or returns operation failed message. The delete might fail for the following reasons:

The server does not exist. You do not have the appropriate permissions to delete a server. The Repository Server cannot acquire a lock on the object.

Disabling a Repository (Disablerepository)


The Disablerepository command disables a repository. If a running repository is disabled, it will continue to run. Once a disabled repository is stopped, it cannot be restarted until it is enabled. When you disable the repository, you must enable it before you can start it again. To disable a repository, you must have Administer Repository privilege.
pmrep Repository Commands 421

Disablerepository uses the following command syntax:


disablerepository -h host_name -o port_number -a repserver_password -A repserver_password_environment_variable -r repository_name

Table 16-13 lists pmrep Disablerepository option and argument:


Table 16-13. Disablerepository Options and Arguments (pmrep) Option -h -o -a -A Required/ Optional Required Required Required/ Optional Required/ Optional Required Argument Name host_name port_number repserver_password repserver_password_ environment_variable repository_name Argument Description Name of the machine hosting the Repository Server. Port number where the Repository Server is running. Repository Server administrator password. Use the -a or -A option, but not both. Repository Server administrator password environment variable. Use the -a or -A option, but not both. Name of the repository to disable.

-r

The command returns a disablerepository completed successfully or returns Failed to execute disablerepository message. The command might fail for the following reasons:

You did not give the repository name in the argument. The connection to the repository server failed. The Repository Server failed to disable the repository.

Enabling a Repository (Enablerepository)


The Enablerepository command enables a repository that has been disabled. To enable a repository, you must have Administer Repository privilege. Enablerepository uses the following command syntax:
ensablerepository -h host_name -o port_number -a repserver_password -A repserver_password_environment_variable -r repository_name

Table 16-14 lists pmrep Enablerepository options and arguments:


Table 16-14. Enablerepository Options and Arguments (pmrep) Option -h -o -a Required/ Optional Required Required Required/ Optional Argument Name host_name port_number repserver_password Argument Description Name of the machine hosting the Repository Server. Port number where the Repository Server is running. Repository Server administrator password. Use the -a or -A option, but not both.

422

Chapter 16: Using pmrep and pmrepagent

Table 16-14. Enablerepository Options and Arguments (pmrep) Option -A Required/ Optional Required/ Optional Required Argument Name repserver_password_ environment_variable repository_name Argument Description Repository Server administrator password environment variable. Use the -a or -A option, but not both. Name of the repository to enable.

-r

The command returns an enablerepository completed successfully or returns Failed to execute enablerepository message. The command might fail for the following reasons:

You did not give the repository name in the argument. The connection to the Repository Server failed. The Repository Server failed to enable the repository because the repository is not currently disabled.

Listing Repository Objects (ListObjects)


The ListObjects command returns objects in the repository. When you list objects, pmrep returns object metadata to the screen. You can use ListObjects in a shell script to return the object metadata, parse the metadata, and then use the parsed data in another pmrep command. For example, you can use ListObjects to list all Sequence Generator transformations in the repository. Create a shell script that uses ListObjects to return Sequence Generator transformation information, parse the data ListObjects returns, and use Updateseqgenvals to update the sequence values. pmrep returns each object in a record and returns each object metadata in a column. It separates records by a new line by default. You can specify the character or characters to use to separate records and columns. You can also specify the character or characters to indicate the end of the listing.
Tip: When you specify characters to separate records and columns and to indicate the end of

the listing, use characters that are not used in repository object names. This helps you use a shell script to parse the object metadata. You must connect to a repository to use this command. To list objects, you must have one of the following sets of privileges and permissions:

Browse Repository privilege with read permission on the folder Super User privilege

Note: When you list folders, you do not need read permission on the folders.

pmrep Repository Commands

423

You can use the object_type option to define the objects you want to list. The command lists the latest versions or checked out versions of objects, including shortcuts, but excluding objects according to the following rules for each object type:

Deploymentgroup. List deployment groups in the repository. Folder. List folders in the repository Label. List labels in the repository. Mapplet. List mapplets with latest or checked out version in a folder, including shortcuts but excluding instances of reusable mapplets. Mapping. List mappings with latest or checked out version in a folder, including shortcuts but excluding instances of reusable mapplets. Query. List queries in the repository. Scheduler. List reusable and non-reusable schedulers with latest or checked out version in a folder. Session. List reusable and non-reusable sessions with latest or checked out version in a folder, excluding instances of reusable sessions. Sessionconfig. List the session configurations with latest or checked out version in a folder. Source. List sources with latest or checked out version in a folder, including shortcuts but excluding source instances. Target. List targets with latest or checked out version in a folder, including shortcuts but excluding target instances. Task. List reusable and non-reusable tasks with latest or checked out version in a folder. Transformation. List reusable and non-reusable transformations with latest or checked out version in a folder, including shortcuts and excluding instances of reusable transformations. Workflow. List the workflows with latest version or checked out version in a folder. Worklet. List reusable and non-reusable worklets with latest version or checked out version in a folder, excluding instances of reusable worklets.

ListObjects uses the following command syntax:


listobjects -o object_type -t object_subtype -f folder_name -c column_separator -r end_of_record_separator -l end-of-listing_indicator -b verbose

Do not use the -f option if the object type you list is not associated with a folder. The deploymentgroup, folder, label, and query object types are not associated with folders. All other object types require the -f option.

424

Chapter 16: Using pmrep and pmrepagent

Table 16-15 lists pmrep ListObjects options and arguments:


Table 16-15. ListObjects Options and Arguments (pmrep) Option -o Required/ Optional Required Argument Name object_type Argument Description The type of object to list. - When you specify folder, you do not need to include any other option. pmrep ignores the -t and -f options. - When you specify objects other than folders, you must include the -f option. - When you specify transformation or task, you must include the -f option, and you can optionally include the -t option. The type of transformation or task to list. When you specify transformation or task for the object type, you can include this option to return a specific type. For a list of subtypes to use with ListObjects, see Table 1616 on page 426. The folder to search. Use this option for all object types except deploymentgroup, folder, label, and query. The character or set of characters used to separate object metadata columns. Use a character or set of characters that is not used in repository object names. If any repository object name contains spaces, you might want to avoid using a space as a column separator. If you omit this option, pmrep uses a single space. The character or set of characters used to specify the end of the object metadata. Use a character or set of characters that is not used in repository object names. The default is newline /n. The character or set of characters used to specify the end of the object list. Specify a character or set of characters that is not used in repository object names. If you omit this option, pmrep uses a period. Print more than the minimum information about the objects. If you omit this option, you print a shorter format including the object type, the word reusable or nonreusable, the object name and path. Verbose format includes the object status, version number, folder name, and checked out information. The short format for versioning objects, such as label, query, deployment group, and connection, includes the object type and object name. Verbose format includes the label type, query type, deployment group type, creator name and creation time.

-t

Optional

object_subtype

-f -c

Required Optional

folder_name column_separator

-r

Optional

end_of_record_separator

-l

Optional

end_of_listing_indicator

-b

Optional

verbose

pmrep Repository Commands

425

Table 16-16 lists the transformation types and values to use with pmrep commands:
Table 16-16. Transformation and Task Types to Use with pmrep Object Type Transformation Transformation Transformation Transformation Transformation Transformation Transformation Transformation Transformation Transformation Transformation Transformation Transformation Transformation Transformation Transformation Transformation Transformation Transformation Transformation Transformation Transformation Transformation Task Task Task Task Task Task Task Subtype Custom Aggregator Application Source Qualifier Application Multi-Group Source Qualifier Expression External Procedure Filter Input Joiner Lookup Mapplet MQ Source Qualifier Normalizer Output Rank Router Sequence Generator Sorter Source Qualifier Stored Procedure Transaction Control Update Strategy XML Source Qualifier Assignment Command Control Decision Email Event-raise Event-wait Subtype Value custom_transformation aggregator application_source_qualifier app_multi-group_source_qualifier expression external_procedure filter input_transformation joiner lookup_procedure mapplet mq_source_qualifier normalizer output_transformation rank router sequence sorter source_qualifier stored_procedure transaction_control update_strategy xml_source_qualifier assignment command control decision email event_raise event_wait

426

Chapter 16: Using pmrep and pmrepagent

Table 16-16. Transformation and Task Types to Use with pmrep Object Type Task Task Subtype Start Timer Subtype Value start timer

Listing Folders
You can use ListObjects to return each folder in the repository. When you specify folder for the object type, pmrep ignores the subtype and folder name. For example, to list all folders in the repository, enter the following text at the pmrep> prompt:
listobjects -o folder

Or, you can specify a different column separator and end of listing indicator:
listobjects -o folder -c ** -l #

Listing Objects
You can use ListObjects to list reusable and non-reusable objects in the repository or in a folder. pmrep does not include instances of reusable objects. When you list objects, you must include the folder name for all objects that are associated with a folder. pmrep returns the name of the object with the path when applicable. For example, when a transformation is in a mapping or mapplet, pmrep returns mapping_name.transformation_name or mapplet_name.transformation_name. For a list of transformation or task return values, see Table 16-16 on page 426. For example, to list all transformation types in a folder, enter the following text at the pmrep> prompt:
listobjects -o transformation -f myfolder

pmrep returns the following information:


stored_procedure reusable sp_sproc1 expression reusable exp1 stored_procedure non-reusable mapping1.sp_nsproc sequence non-reusable smallmapplet.seqgen_empid .listobjects completed successfully.

Or, to list all Stored Procedure transformations in a folder, enter the following text at the pmrep> prompt:
listobjects -o transformation -t stored_procedure -f myfolder

pmrep returns the following information:


stored_procedure reusable sp_sproc1 stored_procedure non-reusable mapping1.sp_nsproc

pmrep Repository Commands

427

.listobjects completed successfully.

To list all sessions in a folder, enter the following text at the pmrep> prompt:
listobjects -o session -f myfolder

pmrep returns the following information:


session reusable s_sales_by_CUSTID session non-reusable wf_sales.s_sales_Q3 session non-reusable wf_orders.wl_shirt_orders.s_shirt_orders .listobjects completed successfully.

Listing Tables by Session (Listtablesbysess)


The Listtablesbysess command returns sources or targets used in a session. When you list sources or targets, pmrep returns source or target instance names to the screen. You can use Listtablesbysess in a shell script with other pmrep commands. For example, you can create a shell script that uses Listtablesbysess to return source instance names and uses Updatesrcprefix to update the source owner name. When you use Listtablesbysess, pmrep returns source and target instance names as they appear in the session properties. For example, if the mapping contains a mapplet with a source, pmrep returns the source instance name in the following format:
mapplet_name.source_name

You must connect to a repository to use this command. To list sources or targets, you must have one of the following sets of privileges and permissions:

Use Workflow Manager privilege with read permission on the folder Super User privilege

Listtablesbysess uses the following command syntax:


listtablesbysess -f folder_name -s session_name -t table_type

Table 16-17 lists pmrep Listtablesbysess options and arguments:


Table 16-17. Listtablesbysess Options and Arguments (pmrep) Option -f -s Required/ Optional Required Required Argument Name folder_name session_name Argument Description The name of the folder containing the session. The name of the session containing the sources or targets. You can specify a reusable or non-reusable session. However, you cannot specify an instance of a reusable session. To specify a non-reusable session in a workflow, enter the workflow name and the session name as workflow_name.session_name. Specify source to list sources, or specify target to list targets.

-t

Required

table_type

428

Chapter 16: Using pmrep and pmrepagent

For example, to list all sources in a reusable session, enter the following text at the pmrep> prompt:
listtablesbysess -f myfolder -s s_reus_sess1 -t source

pmrep returns the following information:


ITEMS mapplet1.ORDERS Shortcut_To_ITEM_ID listtablesbysess completed successfully.

Note: When the mapping contains a mapplet with a source, pmrep includes the mapplet name with the source, such as mapplet1.ORDERS.

For example, you can list all targets in a non-reusable session in a workflow:
listtablesbysess -f myfolder -s wf_workkflow1.s_nrsess1 -t target

pmrep returns the following information:


target1_inst ORDERS_BY_CUSTID Shortcut_To_tgt2_inst listtablesbysess completed successfully.

Listing Object Dependencies (ListObjectDependencies)


Use the ListObjectDependencies command list dependency objects for reusable and nonreusable objects. If you want to list dependencies for non-reusable objects, you must use a persistent input file containing object IDs. You can create this file by running a query and choosing to create a text file.
Note: ListObjectDependencies accepts a persistent input file and it can create a persistent

output file. These files are the same format. If you create an output file, you can use it as input to the ApplyLabel, AddToDeployment Group, or Validate pmrep commands. For more information on using a persistent input file, see Using the Persistent Input File on page 494. ListObjectDependencies returns the number of records if the command runs successfully. To list object dependencies, you must have the following privileges and permissions:

Browse Repository privilege Read permission on the folder

ListObjectDependencies uses the following command syntax:


ListObjectDependencies -n object_name -o object_type_name -t object_subtype -v version_number -f folder_name -i persistent_input_file -d dependency_object_type -p dependency_direction -s include_pk-fk_dependency -g across_repositories -u persistent_output_file_name -a append -c column_separator -r end-ofrecord_separator -l end-of-listing_indicator -b verbose

pmrep Repository Commands

429

Note: ListObjectDependencies displays non-reusable objects as

parent.parentobject_name.nonreusableobject_name. Table 16-18 lists pmrep ListObjectDependencies options and arguments:


Table 16-18. ListObjectDependencies Options and Arguments (pmrep) Option -n -o Required/ Optional Optional Required Argument Name object_name object_type_name Argument Description The name of a specific object to list dependencies for. The object type to list dependencies for. You can specify source, target, transformation, mapping, session, worklet, workflow, scheduler, session, session config, task, cube, and dimension. The type of transformation or task. Ignored for other object types. For valid subtypes, see Table 16-16 on page 426. List dependent objects for an object version other than the latest version. The folder containing object_name. Folder is required if object type is not a folder and you are not using the -i option. The text file of objects generated from ExecuteQuery or Validate commands. You must use this file if you want to list dependencies for non-reusable objects. For more information on using the persistent input file, see Using the Persistent Input File on page 494. If you use this option, then you cannot use the -n, -o, -f options to specify objects. The type of dependent objects to list. You can specify ALL or one or more object types. The default is ALL. If ALL, then pmrep lists all supported dependent objects. If you choose one or more objects, then pmrep lists dependent objects only for these types. To specify multiple objects, separate them by commas without spaces. The parents or children dependent objects to list. You can specify parents, children, or both. Required if you do not use the -s option. Include the primary key-foreign key dependency object regardless of the direction of the dependency. Required if you do not use the -p option. Find object dependencies across repositories. Send the dependency result to a text file. You can use the text file as input to the ApplyLabel, AddToDeployment Group, or Validate pmrep commands. The default sends the query result to stdout. Append the result to the persistent output file name file instead of overwriting it.

-t -v -f

Required/ Optional Optional Required/ Optional Optional

object_subtype version_number folder_name

-i

persistent_input_file

-d

Optional

dependency_object_t ype

-p

Required/ Optional Required/ Optional Optional Optional

dependency_direction

-s

include_pkfk_dependency across_repositories persistent_output_file _name

-g -u

-a

Optional

append

430

Chapter 16: Using pmrep and pmrepagent

Table 16-18. ListObjectDependencies Options and Arguments (pmrep) Option -c Required/ Optional Optional Argument Name column_separator Argument Description The character or set of characters used to separate object metadata columns. Use a character or set of characters that is not used in repository object names. If any repository object name contains spaces, you might want to avoid using a space as a column separator. If you omit this option, pmrep uses a single space. The character or set of characters used to specify the end of the object metadata. Use a character or set of characters that is not used in repository object names. The default is newline /n. The character or set of characters used to specify the end of the object list. Specify a character or set of characters that is not used in repository object names. If you omit this option, pmrep uses a period. Print more than the minimum information about the objects. If you omit this option, pmrep prints a shorter format including the object type, the word reusable or nonreusable, the object name and path. Verbose format includes the version number and folder name. The short format for versioning objects, such as label, query, deployment group, and connection, includes the object type and object name. Verbose format includes the creator name and creation time.

-r

Optional

end-ofrecord_separator

-l

Optional

end-oflisting_indicator

-b

Optional

verbose

Sending Notification Messages (Notify)


Use the Notify command to send notification messages to users connected to a repository or users connected to all repositories managed by a Repository Server. To send notification messages, you must have Administer Repository privilege. The Notify command uses the following command syntax:
Notify -h hostname -o port_number [-a repserver_password | -A repserver_password_environment_variable] -r repository_name -t notify | broadcast -m message

Table 16-19 lists pmrep Notify options and arguments:


Table 16-19. Notify Options and Arguments (pmrep) Option -h -o Required/ Optional Required Required Argument Name hostname port_number Argument Description The name of the machine hosting the Repository Server. The number of the port where the Repository Server is running.

pmrep Repository Commands

431

Table 16-19. Notify Options and Arguments (pmrep) Option -a -A Required/ Optional Required/ Optional Required/ Optional Required Required Argument Name repserver_password repserver_password_ environment_variable repository_name notify | broadcast Argument Description The Repository Server password. Use the -a or -A option, but not both. The Repository Server password environment variable. Use the -a or -A option, but not both. The name of the repository whose users you want to notify. The type of message you want to send to user. Notify sends a message to users connected to the repository. Broadcast sends a message to users connected to all repositories managed by the given Repository Server. The message you want to send.

-r -t

-m

Required

message

The command returns notify successfully completed or returns failed to execute notify message. The notification might fail for the following reasons:

The message type you entered is invalid. You failed to connect to the Repository Server. The Repository Server failed to notify users.

Exporting Objects (ObjectExport)


Use the ObjectExport command to export objects to an XML file defined by the powrmart.dtd file. You export an object by name. If you specify an object, you must specify the folder that contains it. If you do not specify a version number, you export the latest version of the object. You can use a persistent input file to specify different objects to export at one time. You can create this file by using the ExecuteQuery, Validate, or ListObjectDependencies pmrep commands. If you use the persistent input file then you do not use the other parameters to specify objects. For more information on using the persistent input file, see Using the Persistent Input File on page 494. For more information on exporting objects, see Overview on page 264. If you export a mapping, by default the PowerCenter client exports only the mapping and its instances. If you want to include dependent objects, you must add the appropriate pmrep options. You can optionally include reusable and non-reusable dependent objects, objects referred by shortcut, and related objects in a primary key-foreign key relationship. To export objects, you must have the following privileges and permissions:

Browse Repository privilege Read permission on the source folder

432

Chapter 16: Using pmrep and pmrepagent

ObjectExport uses the following command syntax:


ObjectExport -n object_name -o object_type -t object_subtype -v version_number -f folder_name -i persistent_input_file -u xml_output_file_name -l log_file_name

Table 16-20 lists pmrep ObjectExport options and arguments:


Table 16-20. ObjectExport Options and Arguments (pmrep) Option -n Required/ Optional Optional Argument Name object_name Argument Description The name of a specific object to export. If you do not specify this option, all the latest or checked out objects in the folder export. The object type of the object name. You can specify source, target, transformation, mapping, session, worklet, workflow, scheduler, session config, task. The type of transformation or task. This argument is ignored for other object types. For valid subtypes, see Table 16-16 on page 426. Export a version other than the latest version of the object. The name of the folder containing the object to export. If you do not specify an object name, then all the objects in this folder export. If you do specify an object name, then you must specify the folder containing the object. The text file list of objects generated from ExecuteQuery, Validate, or ListObjectDependencies. It contains object records with encoded IDs. If you use this parameter, then you cannot use the -n, -o, -f options to specify objects. The name of the XML file to contain the object information. Specifies a log file to collect all the export files.

-o

Required/ Optional Required/ Optional Optional Required

object_type

-t

object_subtype

-v -f

version_number folder_name

-i

Optional

persistent_input_file

-u -l

Required Optional

xml_output_file_name log_file_name

Importing Objects (ObjectImport)


Use the ObjectImport command to import objects from an XML file. This command requires a control file to specify the objects to import and how to resolve conflicts. The control file is an XML file defined by the impcntl.dtd file. For more details about the control file, see Using the Object Import Control File on page 496. For more information on importing objects, see Importing Objects on page 280. To import objects, you must have the following privileges and permissions:

Use Repository Manager privilege

pmrep Repository Commands

433

Write permission on the target folder

ObjectImport uses the following command syntax:


ObjectImport -i input_XML_file_name -c control_file_name

Table 16-21 lists pmrep ObjectImport options and arguments:


Table 16-21. ObjectImport Options and Arguments (pmrep) Option -i -c Required/ Optional Required Required Argument Name input_XML_file_name control_file_name Argument Description The name of the XML file to import. The name of the control file that defines import options. See Using the Object Import Control File on page 496.

Note: The ObjectImport command does not automatically create a folder if the folder you

specify does not exist in the repository.

Registering Local Repositories (Register)


Use the Register command to register a local repository with a connected global repository. You must connect to the global repository before you register the local repository. To register a local repository, you must have Administer Repository privilege. Register uses the following command syntax:
Register -r repository_name -n repository_user_name [-x repository_password -X repository_password_environment_variable] [-a global_repserver_password | -A global_repserver_password_environment_variable] -h local_repository_host_name -o local_repository_port_number

Table 16-22 lists pmrep Register options and arguments:


Table 16-22. Register Options and Arguments (pmrep) Option -r -n -x -X Required/ Optional Required Required Required/ Optional Required/ Optional Required/ Optional Argument Name repository_name repository_user_name repository_password repository_password_ environment_variable global_repserver_password Argument Description The name of the local repository to register. The local repository user name. The login password for the local target repository. Use the -x or -X option, but not both. The login password environment variable for the local target repository. Use the -x or -X option, but not both. The password you use to administer the global Repository Server. Use the -a or -A option, but not both.

-a

434

Chapter 16: Using pmrep and pmrepagent

Table 16-22. Register Options and Arguments (pmrep) Option -A Required/ Optional Required/ Optional Optional Argument Name global_repserver_password _environment_variable local_repository_host_name Argument Description The password environment variable you use to administer the global Repository Server. Use the -a or -A option, but not both. The hostname of the local repository. Use this option when the local repository is managed by a different Repository Server. If you use this option, you must use the -o option as well. The number of the port where the Repository Server is running. Use this option when the local repository is managed by a different Repository Server. If you use this option, you must use the -h option as well.

-h

-o

Optional

local_repository_port_numb er

The command returns register successfully completed or returns failed to execute register message. The registration might fail for the following reasons:

You do not have Administer Repository privilege. You failed to connect to the Repository Server. The Repository Server failed to initialize information about the global repository. The Repository Server failed to register the local repository with the global repository.

Removing Repositories From the Cache (Removerepository)


The Removerepository command removes repositories from the Repository Server cache entry list. Removerepository uses the following command syntax:
Removerepository -h hostname -o port_number -a repository_password -A repository_server_password_environment_variable -r repository_name

Table 16-23 lists pmrep Removerepository options and arguments:


Table 16-23. Removerepository Options and Arguments (pmrep) Option -h -o -a Required/ Optional Required Required Required/ Optional Argument Name hostname port_number repository_password Argument Description The hostname of the machine hosting the Repository Server. The port number of the Repository Server. The login password for the repository. Use the -a or -A option, but not both.

pmrep Repository Commands

435

Table 16-23. Removerepository Options and Arguments (pmrep) Option -A Required/ Optional Required/ Optional Required Argument Name repository_password_ environment_variable repository_name Argument Description The login password environment variable for the repository. Use the -a or -A option, but not both. The name of the repository to remove.

-r

The command returns removerepository successfully completed or failed to execute removerepository message. The removal might fail for the following reasons:

The repository name does not exist. You failed to connect to the Repository Server.

Running Script Files (Run)


The Run command takes a file containing multiple pmrep commands and runs those commands sequentially. All repository users can run script files. The Run command uses the following command syntax:
run -f script_file_name -o output_file_name -e echo_commands -s stop_at_first_error

Table 16-24 lists pmrep Run options and arguments:


Table 16-24. Run Options and Arguments (pmrep) Option -f -o Required/ Optional Required Optional Argument Name script_file_name output_file_name Argument Description The name of the script file. The name of the output file. This option writes all messages generated by the commands in the script file into the output file. The commands are echoed back to the script. Stops the running of the script after a command returns an error.

-e -s

Optional Optional

echo_commands stop_at_first_error

The command returns run successfully completed or returns run failed message. The run might fail if the Repository Server cannot open the script file or output file.

436

Chapter 16: Using pmrep and pmrepagent

Showing Connection Information (ShowConnectioninfo)


The ShowConnectioninfo command returns the repository name, server, port, and user information for the current connection. You must be connected to a repository to use this command. ShowConnectioninfo requires no parameters. For example, if you run pmrep and enter:
showconnectioninfo

pmrep returns information similar to the following:


connected to Repository MyRepository [servername:port#] connected as user MyUserName

Use the ShowConnectioninfo command in interactive mode. When you connect to a repository in interactive mode, the pmrep keeps the connection information in memory until you exit the repository or connect to a different repository. When you use the ShowConnectioninfo command in command line mode, a message indicating failure to execute the command is given. pmrep does not keep connection information in command line mode. The ShowConnectioninfo command does not connect to the repository. For more information about connections in command line mode and interactive mode, see Connecting to a Repository (Connect) on page 410.

Stopping a Repository (StopRepository)


The StopRepository command stops the repository you specify. However, if you do not specify a repository, StopRepository stops the repository you last connected to. When you use the StopRepository command, pmrep connects to the Repository Server and stops the Repository Agent. StopRepository uses the following command syntax:
stopRepository [-a repserver_password -A repserver_password_environment_variable] -h hostname -o port_number -r repository_name

Note: If you use the -h, -o, and -r options, the named repository stops. Otherwise, the

repository that you last connected to stops.

pmrep Repository Commands

437

Table 16-25 lists pmrep StopRepository option and argument:


Table 16-25. StopRepository Option and Argument (pmrep) Option -a Required/ Optional Required/ Optional Required/ Optional Argument Name repserver_password Argument Description The password you use to administer the Repository Server that manages the repository. Use the -a or -A option, but not both. The password environment variable you use to administer the Repository Server that manages the repository. Use the -a or -A option, but not both. The hostname of the Repository Server that manages the repository to stop. When you use this option, you must also use the -o and -r options. The Repository Server port number. When you use this option, you must also use the -h and -r options. The name of the repository to stop. When you use this option, you must also use the -h and -o options.

-A

repserver_password_ environment_variable

-h

Optional

hostname

-o -r

Optional Optional

port_number repository_name

Changing the Connection Name (SwitchConnection)


The SwitchConnection command changes the name of an existing connection. You must be connected to a repository to use this command. When you use SwitchConnection, the Repository Server replaces the relational database connections for all sessions using the connection in one of the following locations:

Source connection Target connection Connection Information property in Lookup transformations Connection Information property in Stored Procedure transformations $Source Connection Value session property $Target Connection Value session property

If the repository contains both relational and application connections with the same name and you specified the connection type as relational in all locations in the repository, the Repository Server replaces the relational connection. For example, you have a relational and an application source, each called ITEMS. In a session, you specified the name ITEMS for a relational source connection instead of Relational:ITEMS. When you use SwitchConnection to replace the relational connection ITEMS with another relational connection, pmrep does not replace any relational connection in the repository because it cannot determine the connection type for the source connection entered as ITEMS.
438 Chapter 16: Using pmrep and pmrepagent

SwitchConnection uses the following command syntax:


switchconnection -o old_connection_name -n new_connection_name

To replace connections with pmrep, you must have Super User privilege. Table 16-26 lists pmrep SwitchConnection options and arguments:
Table 16-26. SwitchConnection Options and Arguments (pmrep) Option -o -n Required/ Optional Required Required Argument Name old_connection_name new_connection_name Argument Description The name of the existing connection you want to change. The new connection name.

Truncating Workflow and Session Logs (Truncatelog)


The Truncatelog command deletes details from the repository. You can delete all logs, or delete logs for a folder or workflow. You can also specify a date and delete all logs older than that date. To run Truncatelog, you must have Administer Repository privilege. Truncatelog uses the following command syntax:
Truncatelog -t all| endtime -f folder_name -w workflow_name

Table 16-27 lists pmrep Truncatelog options and arguments:


Table 16-27. Truncatelog Options and Arguments (pmrep) Option -t Required/ Optional Required Argument Name all | endtime Argument Description Use all or endtime. Use all to delete all the logs. Otherwise, use endtime and specify a time with a format of: MM/DD/YYYY HH24:MI:SS. pmrep deletes all logs older than the endtime. Deletes logs associated with the folder. If you do not give both the folder name and the workflow name, then you delete all logs from the repository. Deletes logs associated with the workflow. The Repository Server deletes all logs from the repository if you do not give both the folder name and the workflow name. If you give both the folder name and workflow name, the Repository Server deletes logs associated with the workflow. If you specify the workflow name, you must also provide the folder name.

-f

Optional

folder_name

-w

Optional

workflow_name

pmrep Repository Commands

439

The command returns truncatelog completed successfully or returns Failed to execute truncatelog message. The truncation might fail for the following reasons:

You do not have Administer Repository privilege. The folder name is invalid. The workflow does not exist in the given folder. You specified a workflow, but no folder name.

Unregistering Local Repositories (Unregister)


Use the Unregister command to unregister a local repository from a connected global repository. You must connect to the global repository before you unregister the local repository. To unregister a local repository, you must have Administer Repository privilege. Unregister uses the following command syntax:
Register -r repository_name -n repository_user_name [-x repository_password | -X repository_password_environment_variable] [-a global_repserver_password | -A global_repserver_password_environment_variable] -h local_repository_host_name -o local_repository_port_number

Table 16-28 lists pmrep Unregister options and arguments:


Table 16-28. Unregister Options and Arguments (pmrep) Option -r -n -x -X Required/ Optional Required Required Required/ Optional Required/ Optional Required/ Optional Required/ Optional Argument Name repository_name repository_user_name repository_password repository_password_ environment_variable global_repserver_password Argument Description The name of the local repository to unregister. The local repository user name. The login password for the local target repository. Use the -x or -X option, but not both. The login password environment variable for the local target repository. Use the -x or -X option, but not both. The password you use to administer the global Repository Server. Use the -a or -A option, but not both. The password environment variable you use to administer the global Repository Server. Use the -a or -A option, but not both.

-a

-A

global_repserver_password_ environment_variable

440

Chapter 16: Using pmrep and pmrepagent

Table 16-28. Unregister Options and Arguments (pmrep) Option -h Required/ Optional Optional Argument Name local_repository_host_name Argument Description The hostname of the local repository. Use this option when the local repository is managed by a different Repository Server. If you use this option, you must use the -o option as well. The number of the port where the Repository Server is running. Use this option when the local repository is managed by a different Repository Server. If you use this option, you must use the -h option as well.

-o

Optional

local_repository_port_number

The command returns unregister successfully completed or returns failed to execute unregister message. The registration might fail for the following reasons:

You do not have Administer Repository privilege. The Repository Server failed to initialize information about the global repository. You failed to connect to the Repository Server. The Repository Server failed to unregister the local repository to the global repository.

Updating a Database Connection (UpdateConnection)


The UpdateConnection command updates the user name, password, connect string, and attributes for a database connection. To update a connection, you must have one of the following privileges and permissions:

Write permission for the connection object Ownership of the object Membership in a group that owns the object

The command returns an operation successfully completed or returns operation failed message. A failure might occur for the following reasons:

The database type is not supported. The connection object does not exist. The current user does not have the appropriate permissions. pmrep cannot acquire a lock on the object. One of the required parameters is missing.

UpdateConnection uses the following command syntax:


updateconnection -t database_type -d database_connection_name -u new_user_name -p new_database_password -P new_database_password_environment_variable -c new_database_connection_string -a attribute_name -v new_attribute_value

pmrep Repository Commands

441

Table 16-29 lists pmrep UpdateConnection options and arguments:


Table 16-29. UpdateConnection Options and Arguments (pmrep) Option -t -d -u -p Required/ Optional Required Required Required Required/ Optional Required/ Optional Argument Name database_type database_connection_na me new_user_name new_database_password Argument Description The type of relational connection. For a list of valid database types, see Table 16-9 on page 418. The database connection name. The user name used for authentication when you connect to the relational database. The password used for authentication when you connect to the relational database. Use the -p or -P option, but not both. The password environment variable used for authentication when you connect to the relational database. Use the -p or -P option, but not both. The connect string the PowerCenter Server uses to connect to the relational database. For a list of native connect strings, see Table 16-1 on page 405. The name of the attribute. The new attribute value of the connection. Enter yes or no for attributes you enable through a checkbox.

-P

new_database_password_ environment_variable

-c

Required

new_database_connection _string attribute_name new_attribute_value

-a -v

Optional Optional

Updating the Notification Email Addresses (Updateemailaddr)


The Updateemailaddr command updates the session notification email addresses associated with the Email tasks assigned to the session. If you did not previously specify a success or failure Email task for the session, the command does not update the email addresses. You can update the email notification addresses only for a non-reusable session with a unique name in the folder. You can specify different addresses to receive either success or failure notifications. This command requires you to connect to a repository. Updateemailaddr uses the following command syntax:
updateemailaddr -d folder_name -s session_name -u success_email_address f failure_email_address

442

Chapter 16: Using pmrep and pmrepagent

Table 16-30 lists pmrep Updateemailaddr options and arguments:


Table 16-30. Updateemailaddr Options and Arguments (pmrep) Option -d -s -u -f Required/ Optional Required Required Required Required Argument Name folder_name session_name success_email_address failure_email_address Argument Description Name of the session folder. Name of the session. Email address to send session success notifications. Email address to send session failure notifications.

Updating Server Details (Updateserver)


The Updateserver command updates PowerCenter Server details with the values that you specify in the command. Only the values that you specify update. For more information about PowerCenter Server details see Registering the PowerCenter Server in the Installation and Configuration Guide. To update server details, you must have the Administer Repository privilege. Updateserver uses the following command syntax:
updateserver -v server_name -h new_host_name -k new_servername -o new_port_number -t new_timeout_value -p new_protocol_name -l new_codepage_name

Table 16-31 lists pmrep Updateserver options and arguments:


Table 16-31. Updateserver Options and Arguments (pmrep) Option -v -h -k -o -t -p -l Required/ Optional Required Optional Optional Optional Optional Optional Optional Argument Name server_name new_host_name new_servername new_port_number new_timeout_value new_protocol_name new_codepage_name Argument Description The name of the PowerCenter Server you want to change. The server host name or IP address of the server machine. The new name of the PowerCenter Server. The port number the PowerCenter Server. The number of seconds the Workflow Manager waits for a response from the PowerCenter Server. The protocol the PowerCenter Server uses. The character set associated with the PowerCenter Server. Select the code page identical to the PowerCenter Server operating system code page. Must be identical to or compatible with the repository code page.

pmrep Repository Commands

443

Updating Sequence Generator Transformations (Updateseqgenvals)


The Updateseqgenvals command updates one or more of the following properties for the specified Sequence Generator transformation:

Start Value End Value Increment By Current Value

You might want to update sequence values when you move a mapping from a development environment to a production environment. You can use Updateseqgenvals to update reusable and non-reusable Sequence Generator transformations. However, you cannot update values for instances of reusable Sequence Generator transformations or shortcuts to Sequence Generator transformations. You must connect to a repository to use this command. For more information on configuring Sequence Generator transformations, see Sequence Generator Transformation in the Transformation Guide. To update sequence values, you must have one of the following sets of privileges and permissions:

Use Designer privilege with write permission on the folder Super User privilege

Updateseqgenvals uses the following command syntax:


updateseqgenvals -f folder_name -m mapping_name -t sequence_generator_name -s start_value -e end_value -i increment_by -c current_value

Table 16-32 lists pmrep Updateseqgenvals options and arguments:


Table 16-32. Updateseqgenvals Options and Arguments (pmrep) Option -f -m Required/ Optional Required Required/ Optional Required Argument Name folder_name mapping_name Argument Description The folder name. The mapping name. When you update values for a nonreusable Sequence Generator transformation, you must include the mapping name. The Sequence Generator transformation name.

-t

sequence_generator_name

444

Chapter 16: Using pmrep and pmrepagent

Table 16-32. Updateseqgenvals Options and Arguments (pmrep) Option -s Required/ Optional Optional Argument Name start_value Argument Description The start value of the generated sequence you want the PowerCenter Server to use if the Sequence Generator transformation uses the Cycle property. If you select Cycle in the transformation properties, the PowerCenter Server cycles back to this value when it reaches the end value. If you designate an invalid value, pmrep gives an error message and does not update the Sequence Generator transformation. The maximum value the PowerCenter Server generates. If the PowerCenter Server reaches this value during the session and the sequence is not configured to cycle, it fails the session. If you designate an invalid value, pmrep gives an error message and does not update the Sequence Generator transformation. The difference between two consecutive values from the NEXTVAL port. If you designate an invalid value, pmrep gives an error message and does not update the Sequence Generator transformation. The current value of the sequence. Enter the value you want the PowerCenter Server to use as the first value in the sequence. If you want to cycle through a series of values, the current value must be greater than or equal to the start value and less than the end value. If you designate an invalid value, pmrep gives an error message and does not update the Sequence Generator transformation.

-e

Optional

end_value

-i

Optional

increment_by

-c

Optional

current_value

Updating the Source Table Owner Name (Updatesrcprefix)


Use the Updatesrcprefix command to update the owner name for session source tables. You can update the owner name for one or all sources in a session. Updatesrcprefix updates the owner name for source tables at the session level. You must connect to a repository to use this command. pmrep updates source table owner names only if you previously edited the source table name in the session properties. To update source table owner names, you must have one of the following sets of privileges and permissions:

Use Workflow Manager privilege with write permission on the folder Super User privilege

pmrep Repository Commands

445

Updatesrcprefix uses the following command syntax:


Updatesrcprefix -f folder_name -s session_name -t source_name -p prefix_name -n

Table 16-33 lists the pmrep Updatesrcprefix options and arguments:


Table 16-33. Updatesrcprefix Options and Arguments (pmrep) Option -f -s Required/ Optional Required Required Argument Name folder_name session_name Argument Description The name of the folder containing the session. The name of the session containing the sources to update. For reusable sessions, specify session_name. For non-reusable sessions, you must also specify the session path, such as worklet_name.session_name or workflow_name.session_name. The name of the source to update. If you omit this option, pmrep updates all source table owner names in the session. - When you include the -n option, enter the name of the source instance as displayed in the session properties or as output by the Listtablesbysess command. - When you omit the -n option, you must enter the dbd name and the source table name as dbd_name.source_name. You can find the source dbd name in the Designer Navigator. The Designer generates the dbd name from the source type or data source name when you create a source definition in the repository. The owner name you want to update in the source table. This option has no argument. When you include this option, pmrep matches the source_name argument with source instance names. When you do not include this option, pmrep matches the source_name argument with the source table names. Informatica recommends you include the -n option.

-t

Optional

source_name

-p -n

Required Optional

prefix_name n/a

Updating Server Variables (Updatesrvvar)


The Updatesrvvar command updates the value of the specified server variable. You cannot change default server variables, but you can change the case of the default server variables. You can update any of the PowerCenter Server variables using Updatesrvvar. For a list of server variables, see Configuring the Workflow Manager in the Workflow Administration Guide. This command requires you to connect to a repository. Updatesrvvar uses the following command syntax:
updatesrvvar -s server_name -v variable_name -u new_value

446

Chapter 16: Using pmrep and pmrepagent

Table 16-34 lists pmrep Updatesrvvar options and arguments:


Table 16-34. Updatesrvvar Options and Arguments (pmrep) Option -s -v -u Required/ Optional Required Required Required Argument Name server_name variable_name new_value Argument Description Name of the PowerCenter Server. Name of the server variable to update. Value of updated server variable.

Updating Repository Statistics (UpdateStatistics)


The UpdateStatistics command updates statistics for repository tables and indexes. To update repository statistics, you must have Administer Repository privilege. UpdateStatistics uses the following command syntax:
updatestatistics -s tables-to-skip_file_name

Table 16-35 lists pmrep Updatestatistics options and arguments:


Table 16-35. Updatestatistics Options and Arguments (pmrep) Option -s Required/ Optional Optional Argument Name tables-to-skip_file_name Argument Description The name of the file that contains a list of repository tables to skip during update.

The command returns updatestatistics successfully completed or returns updatestatistics failed message. The update fails if you do not have Administer Repository privilege. For more information about updating statistics, see Updating Repository Statistics on page 60.

Updating the Target Table Name Prefix (Updatetargprefix)


Use the Updatetargprefix command to update the table name prefix for session target tables. The table name prefix specifies the owner of the table in the database. You can update the owner name for one or all targets specified in a session. Updatetargprefix updates the target table name prefix at the session level. You must connect to a repository to use this command. pmrep updates table name prefixes if you previously edited the table name prefix at the session level.

pmrep Repository Commands

447

To update target table name prefixes, you must have one of the following sets of privileges and permissions:

Use Workflow Manager privilege with write permission on the folder Super User privilege

Updatetargprefix uses the following command syntax:


Updatetargprefix -f folder_name -s session_name -t target_name -p prefix_name -n

Table 16-36 lists the pmrep Updatetargprefix options and arguments:


Table 16-36. Updatetargprefix Options and Arguments (pmrep) Option -f -s Required/ Optional Required Required Argument Name folder_name session_name Argument Description The name of the folder containing the session. The name of the session containing the targets to update. For reusable sessions, specify session_name. For non-reusable sessions, you must also specify the session path, such as worklet_name.session_name or workflow_name.session_name. The name of the target to update. If you omit this option, pmrep updates all target table name prefixes in the session. When you include the -n option, enter the name of the target instance as displayed in the session properties or as output by the Listtablesbysess command. When you omit the -n option, you must enter the target table name instead of the target instance name. The table name prefix you want to update in the target table. This option has no argument. When you include this option, pmrep matches the target_name argument with target instance names. When you do not include this option, pmrep matches the target_name argument with the target table names. Informatica recommends you include the -n option.

-t

Optional

target_name

-p -n

Required Optional

prefix_name n/a

448

Chapter 16: Using pmrep and pmrepagent

pmrep Security Commands


pmrep allows you to perform security tasks for users and groups. Table 16-37 describes commands you use to perform repository security tasks:
Table 16-37. pmrep Security Commands pmrep Command Addprivilege Addusertogroup Changepasswd CreateFolder Creategroup Createuser DeleteFolder Edituser Listallgroups Listallprivileges Listallusers ModifyFolder Registeruser Rmgroup Rmprivilege Rmuser Rmuserfromgroup Command Description Adds a privilege to a user or group. See Adding a Privilege (Addprivilege) on page 450. Adds a user to a group. See Adding a User to a Group (Addusertogroup) on page 450. Changes the password for the user currently connected to the repository. See Changing the Repository Password (Changepasswd) on page 450. Creates a new folder. See Creating a Folder (CreateFolder) on page 451. Creates a group. See Creating a Group (Creategroup) on page 452. Creates a user. See Creating a User (Createuser) on page 452. Deletes a folder. See Deleting a Folder (DeleteFolder) on page 453. Edits the profile of a user. See Editing a User (Edituser) on page 454. Lists all groups registered with the repository. See Listing All Groups (Listallgroups) on page 455. Lists all privileges that you can assign to a user or group. See Listing All Privileges (Listallprivileges) on page 455. Lists all users registered with the repository. See Listing All Users (Listallusers) on page 455. Modifies folder properties. See Modify Folder Properties (ModifyFolder) on page 456. Registers a user from an external directory service to access the Repository. See Registering a User (Registeruser) on page 457. Removes a group from the repository. See Removing a Group (Rmgroup) on page 457. Removes a privilege from a user or group. See Removing a Privilege (Rmprivilege) on page 458. Removes a user from the repository. See Removing a User (Rmuser) on page 458. Removes a user from a group. See Removing a User from a Group (Rmuserfromgroup) on page 459.

You must have the Administer Repository privilege to use pmrep repository security commands.

pmrep Security Commands

449

Adding a Privilege (Addprivilege)


The Addprivilege command adds a privilege to a user or group. It cannot add a privilege to a user and a group at the same time. If you add a privilege to a group, all users in the group inherit the privilege. You must connect to the repository to use this command. To add a privilege to a user or a group, use the following syntax:
addprivilege -p privilege -u username -g group_name

Table 16-38 lists pmrep Addprivilege options and arguments:


Table 16-38. Addprivilege Options and Arguments (pmrep) Option -p Required/ Optional Required Argument Name privilege Argument Description The privilege you want to add. If the privilege contains spaces, you must enclose this argument in quotes, such as Administer Repository. The name of the user to whom you want to add the privilege. If you use this option, you cannot use the -g option. The name of the group to which you want to add the privilege. If you use this option, you cannot use the -u option.

-u -g

Required Required

username group_name

Adding a User to a Group (Addusertogroup)


The Addusertogroup commands adds an existing user to a group. You must be connected to the repository to use this command. The user inherits all of the permissions and privileges associated with the group. To add a user to a group, use the following syntax:
addusertogroup -u username -g group_name

Table 16-39 lists pmrep Addusertogroup options and arguments:


Table 16-39. Addusertogroup Options and Arguments (pmrep) Option -u -g Required/ Optional Required Required Argument Name username group_name Argument Description The user name of the user to add to the group. The name of the group to which you want to add the user.

Changing the Repository Password (Changepasswd)


The Changepasswd command changes the password of the user currently connected to the repository. You must connect to the repository to use this command.
Note: You cannot use this command with an external security module.

450

Chapter 16: Using pmrep and pmrepagent

To change the password of the user connected to the repository, use the following syntax:
changepasswd -p new_password -c confirm_new_password -P new_password_environment_variable

Table 16-40 lists pmrep Changepasswd options and arguments:


Table 16-40. Changepasswd Options and Arguments (pmrep) Option -p Required/ Optional Required/ Optional Argument Name new_password Argument Description The password that replaces the existing password for the current user. When you use this option, you must use the -c option. Use the -p or -P option, but not both. This option confirms the new password. The confirm_new_password argument must match the new_password argument. You must use this option when you use the -p option. The password environment variable that replaces the existing password for the current user. When you use this option, do not use the -c option. Use the -p or -P option, but not both.

-c

Required/ Optional

confirm_new_password

-P

Required/ Optional

new_password_environ ment_variable

Creating a Folder (CreateFolder)


The CreateFolder command creates a new folder in the repository. To run CreateFolder, you must have Administer Repository privilege. CreateFolder uses the following command syntax:
Createfolder -n folder_name -d folder_description -o owner_name -g group_name -s shared_folder -p permissions

Table 16-41 lists CreateFolder options and arguments:


Table 16-41. CreateFolder Options and Arguments (pmrep) Option -n -d -o -g -s -p Required/ Optional Required Optional Optional Optional Optional Optional Argument Name folder_name folder_description owner_name group_name shared_folder permissions Argument Description Folder name. Description of the folder that appears in the Repository Manager. The owner of the folder. Any user in the repository can be the folder owner. The default owner is the user creating the folder. Repository user group to receive Owners Group permissions. Only groups to which the owner belongs can be selected. If selected, makes the folder shared. Access rights for the folder. If not specified, Repository Server assigns default permissions.

pmrep Security Commands

451

Assigning Permissions
You can assign owner, group, and repository permissions by giving three digits when you use the -p option. The first digit corresponds to owner permissions, the second corresponds to the permissions of the group that the user belongs to, and the third corresponds to all other permissions. Specify one number for each set of permissions. Each permission is associated with a number. Designate 4 for read permission, 2 for write permission, and 1 for execute permission. To assign permissions, you specify 4, 2, 1, or the sum of any of those numbers. For example, if you want to assign default permissions, you use the following command syntax:
-p 764

This gives the folder owner read, write, and execute permissions (7 = 4+2+1). The owners group has read and write permissions (6 = 4+2). All others have read permission. The command returns createfolder successfully completed or returns createfolder failed message. The creation might fail for the following reasons:

You do not have Administer Repository privilege. The folder already exists. The owner does not exist or does not belong to the group.

Creating a Group (Creategroup)


The Creategroup command adds a new group to the repository. pmrep creates the group with the default permissions and privileges assigned to the Public group. To create a group, use the following syntax:
creategroup -g group_name -d description

Table 16-42 lists pmrep Creategroup options and arguments:


Table 16-42. Creategroup Options and Arguments (pmrep) Option -g -d Required/ Optional Required Optional Argument Name group_name description Argument Description The name of the group you want to create. The description of the group you want to create.

Creating a User (Createuser)


The Createuser command adds a new user to the repository. You must connect to the repository before using this command. A valid user name has no spaces and is case-sensitive. If you create a user that has the same name as a user already registered with the repository, pmrep returns an error message.
Note: You cannot use this command if the repository is using an external security module.
452 Chapter 16: Using pmrep and pmrepagent

To create a new user, use the following syntax:


createuser -u username -p password -c confirm_password -P new_password_environment_variable -d description -g group_name

Table 16-43 lists pmrep Createuser options and arguments:


Table 16-43. Createuser Options and Arguments (pmrep) Option -u -p Required/ Optional Required Required/ Optional Argument Name username password Argument Description User name of the new user. The user name is case-sensitive and cannot contain spaces. The password of the new user. The password is case-sensitive and cannot contain spaces. When you use this option, you must use the -c option. Use the -p or -P option, but not both. This option ensures you enter the correct password. The confirm_password argument must match the password argument. You must use this option when you use the -p option. The password environment variable of the new user. The password is case-sensitive and cannot contain spaces. When you use this option, do not use the -c option. Use the -p or -P option, but not both. A description of the new user. The group assigned to the new user. The new user inherits all permissions and privileges granted to the group. If you do not specify a group, you add the user to the Public group.

-c

Required/ Optional Required/ Optional

confirm_password

-P

new_password_en vironment_variable

-d -g

Optional Optional

description group_name

If you specify a group that does not exist, pmrep returns an error and does not carry out the command. If you do not specify a group for the new user, pmrep assigns the new user to the Public group.

Deleting a Folder (DeleteFolder)


The DeleteFolder command deletes an existing folder from the repository. To delete a folder, you must have Administer Repository privilege. To delete a folder, use the following syntax:
deletefolder -n folder_name

Table 16-44 lists DeleteFolder option and argument:


Table 16-44. DeleteFolder Options and Arguments (pmrep) Option -n Required/ Optional Required Argument Name folder_name Argument Description The name of the folder.

pmrep Security Commands

453

The command returns DeleteFolder successfully completed or returns DeleteFolder failed. The deletion might fail for the following reasons:

You do not have Administer Repository privilege. The folder does not exist. The folder is being used by another user.

Editing a User (Edituser)


The Edituser command edits the user name, password, and description of the user currently connected to the repository. You can also disable or enable users. This command requires you to connect to the repository. To edit the profile of the user currently connected to the repository, use the following syntax:
edituser -u username -p new_password -c confirm_new_password -P new_password_environment_variable -d description -l login_name -e

Table 16-45 lists pmrep Edituser options and arguments:


Table 16-45. Edituser Options and Arguments (pmrep) Option -u -p Required/ Optional Required Required/ Optional Argument Name username new_password Argument Description Replace the user name of the user currently connected to the repository. Replace the password of the user currently connected to the repository. You can use this option if you are using native authentication security. Otherwise the command fails. When you use this option, you must use the -c option. Use the -p or -P option, but not both. This option ensures you enter the correct password. The confirm_new_password argument must match the new_password argument. If you use the -p option with this command, you must also use the -c option. The new password environment variable to replace the password of the user currently connected to the repository. You can use this option if you are using native authentication security. Otherwise the command fails. When you use this option, do not use the -c option. Use the -p or -P option, but not both. Update the description of the user currently connected to the repository.

-c

Required/ Optional

confirm_new_password

-P

Required/ Optional

new_password_ environment_variable

-d

Optional

description

454

Chapter 16: Using pmrep and pmrepagent

Table 16-45. Edituser Options and Arguments (pmrep) Option -l -e Required/ Optional Optional Optional Argument Name login_name n/a Argument Description Specifies a login to which to map the user name. You can use this option only with an external directory service. Enables or disables a user. You can enter a yes or no argument. Use the no argument to disable a user. To enable a user and specify a login name, use the -l option with this option.

For example, if you use LDAP to authenticate users in the repository, you could use the following pmrep command to enable a user called JSmith.
edituser -u JSmith -l JohnS -e yes

The command associates his repository user name, JSmith with the external login name of JohnS and enables him to use the repository.

Listing All Groups (Listallgroups)


The Listallgroups command lists all groups registered with the repository by name. You must connect to the repository before using this command. To list all groups registered to the repository, use the following syntax:
listallgroups

Listing All Privileges (Listallprivileges)


The Listallprivileges command lists all valid repository privileges for users or groups. Use the list of privileges to provide the privilege argument when adding or removing a privilege with pmrep. To list all repository privileges, use the following syntax:
listallprivileges

Listing All Users (Listallusers)


The Listallusers command lists all user names registered with the repository. You must connect to the repository before using this command. To list all users registered to the repository, use the following syntax:
listallusers

pmrep Security Commands

455

Modify Folder Properties (ModifyFolder)


The ModifyFolder command modifies folder properties. To modify a folder, you must have Administer Repository privilege or be the folder owner. To modify a folder, use the following syntax:
modifyfolder -n folder_name -d folder_description -o owner_name -g group_name -s shared_folder -r new_folder_name -p permissions

Table 16-46 lists the ModifyFolder options and arguments:


Table 16-46. ModifyFolder Option and Argument (pmrep) Option -n -d -o Required/ Optional Required Optional Optional Argument Name folder_name folder_description owner_name Argument Description Folder name. Description of the folder that appears in the Repository Manager. The current owner of the folder. Any user in the repository can be the folder owner. The default owner is the current user. Repository user group to receive Owners Group permissions. Only groups to which the owner belongs can be selected. If selected, makes the folder shared. Rename the folder. Access rights for the folder. If not specified, Repository Server uses existing permissions.

-g

Optional

group_name

-s -r -p

Optional Optional Optional

shared_folder new_folder_name permissions

Assigning Permissions
You can assign owner, group, and repository permissions by giving three digits when you use the -p option. The first digit corresponds to owner permissions, the second corresponds to the permissions of the group that the user belongs to, and the third corresponds to all other permissions. Specify one number for each set of permissions. Each permission is associated with a number. Designate 4 for read permission, 2 for write permission, and 1 for execute permission. To assign permissions, you specify 4, 2, 1, or the sum of any of those numbers. For example, if you want to assign default permissions, use the following command syntax:
-p 764

This gives the folder owner read, write, and execute permissions (7 = 4+2+1). The owners group has read and write permissions (6 = 4+2). All others have read permission.

456

Chapter 16: Using pmrep and pmrepagent

The command returns ModifyFolder successfully completed or returns ModifyFolder Failed message. The modification might fail for the following reasons:

You do not have the appropriate privilege. The folder does not exist. The new owner does not exist or does not belong to the group. A folder with the new folder name already exists.

Registering a User (Registeruser)


Use the Registeruser command to register a login from an external directory service and associate it with a repository user name. Use this command if you use LDAP to authenticate repository users. Registeruser uses the following syntax:
registeruser -u repository_user_name -l external_login -d description -g group_name -i contact_info

Table 16-47 lists the pmrep Registeruser options and argument:


Table 16-47. Registeruser Option and Argument (pmrep) Option -u -l -d -g -i Required/ Optional Required Required Optional Optional Optional Argument Name repository_user_name external_login description group_name contact_info Argument Description The name to add as a repository user. The login name in the external directory. A description of the user. Assigns the user to a group. If you omit this option, the user is assigned to Public. Contact information about the user.

Removing a Group (Rmgroup)


The Rmgroup command removes a group from the repository and reassigns all users in that group to the Public group. You must connect to the repository to use this command. When you remove a group, users in the group lose the privileges inherited from the group. If any user in the group is connected to the repository when you remove the group, the privilege changes take effect the next time the user connects to the repository.
Note: You cannot remove the Public or Administrators group.

To remove a group, use the following syntax:


rmgroup -g group_name

pmrep Security Commands

457

Table 16-48 lists the pmrep Rmgroup option and argument:


Table 16-48. Rmgroup Option and Argument (pmrep) Option -g Required/ Optional Required Argument Name group_name Argument Description The name of the group you want to remove.

Removing a Privilege (Rmprivilege)


The Rmprivilege command removes a privilege from a user or group. You cannot remove a privilege from a user and a group at the same time. If the user or users in the group are connected to the repository when you remove the privilege, the change takes effect the next time the user connects to the repository. You must connect to the repository to use this command. To remove a privilege, use the following syntax:
rmprivilege -p privilege -u username -g group_name

Table 16-49 lists pmrep Rmprivilege options and arguments:


Table 16-49. Rmprivilege Options and Arguments (pmrep) Option -p Required/ Optional Required Argument Name privilege Argument Description The privilege you want to remove. If the privilege contains spaces, you must enclose this argument in quotes, such as Administer Repository. The name of the user from whom you want to remove the privilege. If you use this option, you cannot use the -g option. The name of the group from which you want to remove the privilege. If you use this option, you cannot use the -u option.

-u -g

Required Required

username group_name

Removing a User (Rmuser)


The Rmuser command removes a user from the repository or from the user name-login mapping, depending on the type of user authentication you use. You must connect to a repository to use this command. You cannot remove the Administrator user name from the repository. If you remove a user while the user is connected to the repository, the removal takes effect after the user disconnects from the repository. To remove a user, use the following syntax:
rmuser -u username

458

Chapter 16: Using pmrep and pmrepagent

Table 16-50 lists the pmrep Rmuser option and argument:


Table 16-50. Rmuser Option and Argument (pmrep) Option -u Required/ Optional Required Argument Name username Argument Description User name you want to remove from the repository.

Removing a User from a Group (Rmuserfromgroup)


The Rmuserfromgroup command removes an existing user from a group. You must be connected to the repository to use this command. The user loses permissions and privileges associated with the group. If the user is connected to the repository when you remove the user from a group, the change takes effect the next time the user connects to the repository. To remove a user from a group, use the following syntax:
rmuserfromgroup -u username -g group_name

Table 16-51 lists pmrep Rmuserfromgroup options and arguments:


Table 16-51. Rmuserfromgroup Options and Arguments (pmrep) Option -u -g Required/ Optional Required Required Argument Name username group_name Argument Description User name to remove from the group. The name of the group from which to remove the user.

pmrep Security Commands

459

pmrep Change Management Commands


pmrep allows you to perform change management tasks such as deploying objects, running queries, checking objects in and out, and applying labels. Table 16-52 describes the pmrep change management tasks:
Table 16-52. pmrep Change Management Commands pmrep Command AddToDeploymentGroup ApplyLabel Checkin ClearDeploymentGroup CreateDeployment Group CreateLabel DeleteDeploymentGroup DeleteLabel DeployDeploymentGroup DeployFolder ExecuteQuery FindCheckout UndoCheckout Validate Command Description Adds objects to a deployment group. See Adding to a Deployment Group (AddToDeploymentGroup) on page 461. Applies a label to an object or set of objects in a folder. See Labeling (ApplyLabel) on page 462. Checks in an object. See Checking In Objects (Checkin) on page 464. Clears all objects from a deployment group. See Clearing a Deployment Group (ClearDeploymentGroup) on page 465. Creates a deployment group. See Creating a Deployment Group (CreateDeploymentGroup) on page 465. Creates a label object. See Creating a Label (CreateLabel) on page 466. Deletes a deployment group. See Deleting a Deployment Group (DeleteDeploymentGroup) on page 466. Deletes a label object and all object references to the label. See Deleting a Label (DeleteLabel) on page 467. Copies a deployment group. See Deploying a Deployment Group (DeployDeploymentGroup) on page 467. Deploys a folder. See Deploying a Folder (DeployFolder) on page 469. Executes a query. See Executing a Query (ExecuteQuery) on page 470. Prints a list of checked out objects in the repository. See Listing Checked Out Items (FindCheckout) on page 472. Undoes an object check out, release the lock and revert to the last checked in version. See Undoing a Checkout (UndoCheckout) on page 473. Validates objects. See Validating Objects (Validate) on page 474.

460

Chapter 16: Using pmrep and pmrepagent

Adding to a Deployment Group (AddToDeploymentGroup)


The AddToDeploymentGroup command adds objects to a deployment group. Use AddToDeploymentGroup to add source, target, transformation, mapping, session, worklet, workflow, scheduler, session configuration, and task objects. You cannot add checked out objects to a deployment group. You can specify objects using command options or you can use a persistent input file. If you use a persistent input file, you can specify only the deployment group name option. Use AddToDeployment Group to add reusable input objects. If you want to add non-reusable input objects, you must use a persistent input file that contains encoded object IDs. For more information on using a persistent input file, see Using the Persistent Input File on page 494. If AddToDeploymentGroup runs successfully, it either sends back no status information, or it returns a list of objects that already are in the deployment group. If the command fails, it displays the reason for failure. For more information on adding to a deployment group, see Working with Deployment Groups on page 236. To add objects to a deployment group, you must have the following privileges and permissions:

Use Repository Manager privilege Write permission on the folder

AddToDeploymentGroup uses the following command syntax:


AddToDeploymentGroup -p deployment_group_name -n object_name -o object_type -t object_subtype -v version_number -f folder_name -i persistent_input_file -d dependency_types

Table 16-53 lists pmrep AddToDeploymentGroup options and arguments:


Table 16-53. AddToDeploymentGroup Options and Arguments (pmrep) Option -p -n Required/ Optional Required Required/ Optional Argument Name deployment_group_name object_name Argument Description The name of the deployment group to add objects to. The name of the object you are adding to the deployment group. You must use this parameter when you add a specific object. You cannot specify a checked out object. You cannot specify an object if you use the -i option. The type of object you are adding. You can specify source, target, transformation, mapping, session, worklet, workflow, scheduler, session configuration, task, cube, and dimension. Required when adding a specific object. The type of task or transformation you are adding. For valid subtypes, see Table 16-16 on page 426.

-o

Required/ Optional

object_type

-t

Required/ Optional

object_subtype

pmrep Change Management Commands

461

Table 16-53. AddToDeploymentGroup Options and Arguments (pmrep) Option -v Required/ Optional Optional Argument Name version_number Argument Description The version of the object to add. The default is to add the latest version of the object to the deployment group. The folder that contains the object you are adding. You must specify the folder if you specify an object name. A text file generated from ExecuteQuery, Validate, or ListObjectDependencies that contains a list of object records with encoded IDs. If you use this parameter, pmrep does not allow the -n, -o, and -f options. For more information about using a persistent input file, see Using the Persistent Input File on page 494. The dependent objects to add to the deployment group with the object. You can specify non-reusable or all. If you specify non-reusable pmrep adds the object(s) and the corresponding non-reusable dependent objects to the deployment group. If you specify all, pmrep adds the object(s) and all dependent objects, reusable and non-reusable, to the deployment group. If you omit this parameter, then you do not add dependent objects to the deployment group.

-f -i

Required/ Optional Optional

folder_name persistent_input_file

-d

Optional

dependency_types

Labeling (ApplyLabel)
Use the ApplyLabel command to apply a label to an object or a set of objects in a folder. If you specify a folder, all the objects in the folder receive the label. You can apply the label to dependent objects. If you use the dependent_object_type option, pmrep labels all dependent objects. To apply a label to selected dependent objects, separate each object type name by a comma with no spaces between them on the command line. Use ApplyLabel to label reusable input objects. If you want to label non-reusable input objects, you must use a persistent input file that contains encoded object IDs. For more information on using a persistent input file, see Using the Persistent Input File on page 494. If ApplyLabel succeeds, pmrep displays either no status information or a list of objects that already have the label. If the command fails, pmrep displays the failure reason. For more information on applying labels, see Applying Labels on page 221. To label objects, you must have the following privileges and permissions:

Use Repository Manager privilege Read permission on the folder Execute permission on the label

462

Chapter 16: Using pmrep and pmrepagent

ApplyLabel uses the following command syntax:


ApplyLabel -a label_name -n object_name -o object_type -t object_subtype -v version_number -f folder_name -i persistent_input_file -d dependent_object_type -p dependency_direction -s include_pk-fk_dependency -m move_label -c comments

Table 16-54 lists pmrep ApplyLabel options and arguments:


Table 16-54. ApplyLabel Options and Arguments (pmrep) Option -a -n Required/ Optional Required Required/ Optional Argument Name label_name object_name Argument Description The label name to apply to the object. The name of the object to receive the label. If you are updating a specific object, then this parameter is required. You cannot specify objects if you use the -i option. The type of object to apply the label to. You can specify source, target, transformation, mapping, session, worklet, workflow, scheduler, session config, task, cube, or dimension. Required when applying a label to a specific object. The kind of task or transformation you are labeling. pmrep ignores other object types. For valid subtypes, see Table 16-16 on page 426. The version of the object to apply the label to. The command fails if the version is checked out. Applies the label to the latest version of the object by default. The folder that contains the object(s). If you specify a folder, but no object name, pmrep applies the label to all objects in the folder. If you specify a folder with an object name, pmrep searches the folder for the object. You cannot specify a folder if you use the -i option. The name of a text file generated from ExecuteQuery, ListObjectDependency, or Validate. Contains a list of objects to receive the label. If you use this option, then do not use the object name, object type, or folder name to specify objects. For more information on using the persistent input file, see Using the Persistent Input File on page 494. The dependent objects to label. Use this option with option -p. If you specify an object type, then the label applies to dependent objects of that object type. The dependent parents or children to apply the label to. You can specify parents, children, both. If you do not specify option -d, all dependent objects receive the label. If you do not specify this option, the label applies only to the specified object.

-o

Required/ Optional

object_type

-t

Required

object_subtype

-v

Optional

version_number

-f

Optional

folder_name

-i

Optional

persistent_input_file

-d

Required

dependent_object_type

-p

Optional

dependency_direction

pmrep Change Management Commands

463

Table 16-54. ApplyLabel Options and Arguments (pmrep) Option -s -m Required/ Optional Optional Optional Argument Name include_pk-fk_dependency move_label Argument Description Include the primary key-foreign key dependency objects regardless of the direction of the dependency. Move a label from the current version to the latest version of an object. You can use this argument only when the label type is one_per_object. See Creating a Label (CreateLabel) on page 466. Comments relating to ApplyLabel.

-c

Optional

comments

Checking In Objects (Checkin)


Use the Checkin command to check in an object that you have checked out previously. When you check in an object, the repository creates a new version of the object and assigns it a version number. The version number is one number greater than the version number of the last checked-in version. For more information on checking in objects, see Checking In Objects on page 213. To check in objects, you must have one of the following sets of privileges and permissions:

Use Repository Manager privilege and write permission on the folder Administer Repository privilege and write permission on the folder

Checkin uses the following command syntax:


Checkin -o object_type -t object_subtype -n object_name -f folder_name -c comments

Users with Administer Repository privilege can check in objects for other users. Table 16-55 lists pmrep Checkin options and arguments:
Table 16-55. Checkin Options and Arguments (pmrep) Option -o Required/ Optional Required Argument Name object_type Argument Description The type of object you are checking in: source, target, transformation, mapping, session, worklet, workflow, scheduler, session config, task, cube, or dimension. The type of task or transformation to check in. Not required for other object types. For valid subtypes, see Table 16-16 on page 426. The name of the object that you are checking in. The folder to contain the new object version. Comments about the check in.

-t

Optional

object_subtype

-n -f -c

Required Required Optional

object_name folder_name comments

464

Chapter 16: Using pmrep and pmrepagent

Clearing a Deployment Group (ClearDeploymentGroup)


Use the ClearDeploymentGroup command to clear all objects from a deployment group. You can use this command to retain the deployment group but remove the objects. To clear a deployment group, you must have the following privileges and permissions:

Use Repository Manager privilege Read and write permission on the deployment group

ClearDeploymentGroup uses the following command syntax:


ClearDeploymentGroup -p deployment_group_name -f force_delete

Table 16-56 lists ClearDeploymentGroup options and arguments:


Table 16-56. ClearDeploymentGroup Options and Arguments (pmrep) Option -p -f Required/ Optional Required Optional Argument Name deployment_group_name force_delete Argument Description The name of the deployment group that you want to clear. Remove objects without confirmation. If you omit this argument, the command prompts you for a confirmation before it clears the objects.

Creating a Deployment Group (CreateDeploymentGroup)


Use the CreateDeploymentGroup command to create a deployment group. You can create a dynamic or static deployment group. To create a dynamic deployment group, you must supply a query name, and indicate whether the query is private or public. For more information on creating deployment groups, see Working with Deployment Groups on page 236. To create a deployment group, you must have the Use Repository Manager privilege. CreateDeploymentGroup uses the following command syntax:
CreateDeploymentGroup -p deployment_group_name -t group_type -q query_name -u query_type -c comments

Table 16-57 lists pmrep CreateDeploymentGroup options and arguments:


Table 16-57. CreateDeploymentGroup Options and Arguments (pmrep) Option -p -t Required/ Optional Required Optional Argument Name deployment_group_name group_type Argument Description The name of the deployment group to create. Create a static group or use a query to dynamically create the group. You can specify static or dynamic. Default is static.

pmrep Change Management Commands

465

Table 16-57. CreateDeploymentGroup Options and Arguments (pmrep) Option -q Required/ Optional Required Argument Name query_name Argument Description The name of the query associated with the deployment group. Required if the deployment group is dynamic, but ignored if the group is static. The type of query to create a deployment group. You can specify shared or personal. Required if the deployment group is dynamic, but ignored if the group is static. Comments about the new deployment group.

-u

Required

query_type

-c

Optional

comments

Creating a Label (CreateLabel)


Use the CreateLabel command to create a label that you can use to associate groups of objects during development. You can associate a label with any versioned object or group of objects in a repository. When you create a label, you can specify that the label can apply to multiple versions of an object (one per version), or you can specify that a label can apply to only one version of an object (one per object). For more information on creating labels, see Creating and Editing Labels on page 219. To create a label, you must have the Administer Repository privilege. CreateLabel uses the following command syntax:
CreateLabel -a label_name -t label_type -c comments

Table 16-58 lists pmrep CreateLabel options and arguments:


Table 16-58. CreateLabel Options and Arguments (pmrep) Option -a -t Required/ Optional Required Optional Argument Name label_name label_type Argument Description The name of the label you are creating. Allows multiple versions to have this label. If you omit this option, you can apply the label to only one version. Comments about the label.

-c

Optional

n/a

Deleting a Deployment Group (DeleteDeploymentGroup)


Use the DeleteDeploymentGroup command to delete a deployment group. If you delete a static deployment group, you also remove all objects from the deployment group. For more information on deleting deployment groups, see Working with Deployment Groups on page 236.

466

Chapter 16: Using pmrep and pmrepagent

To delete a deployment group, you must have the following privileges and permissions:

Administer Repository privilege Write permission on the deployment group

DeleteDeploymentGroup uses the following command syntax:


DeleteDeploymentGroup -p deployment_group_name -f force_delete

Table 16-59 lists pmrep DeleteDeploymentGroup options and arguments:


Table 16-59. DeleteDeploymentGroup Options and Arguments (pmrep) Option -p -f Required/ Optional Required Optional Argument Name deployment_group_name force_delete Argument Description The name of the deployment group to delete. Deletes the Deployment Group without confirmation. If you omit this argument, pmrep prompts you for a confirmation before it deletes the Deployment Group.

Deleting a Label (DeleteLabel)


Use the DeleteLabel command to delete a label and remove the label from all objects that use it. If the label is locked, the delete fails. To delete a label, you must have the following privileges and permissions:

Administer Repository privilege Write permission on the label

For more information about deleting labels, see Working with Labels on page 219. DeleteLabel uses the following command syntax:
DeleteLabel -a label_name -f force_delete

Table 16-60 lists pmrep DeleteLabel options and arguments:


Table 16-60. DeleteLabel Options and Arguments (pmrep) Option -a -f Required/ Optional Required Optional Argument Name label_name force_delete Argument Description The name of the label to delete. Delete the label without confirmation. If you omit this argument, the command prompts you for a confirmation before it deletes the label.

Deploying a Deployment Group (DeployDeploymentGroup)


Use the DeployDeploymentGroup command to deploy a deployment group. You can optionally use this command to copy deployment groups to different repositories.

pmrep Change Management Commands

467

To use this command, you must create a control file with all the specifications that the Copy Wizard requires. The control file is an XML file defined by the depcntl.dtd file. For more details about the control file, see Using the Deployment Control File on page 504. For more information on deploying a deployment group, see Copying a Deployment Group on page 254. To copy a deployment group, you must have the following privileges and permissions:

Administer Repository Manager privilege Read permission on the original folders Read and execute permissions on the deployment group

DeployDeploymentGroup uses the following command syntax:


DeployDeploymentGroup -p deployment_group_name -c control_file_name -r target_repository_name -u target_repository_user_name -x target_repository_user_password -X target_repository_password_environment_variable -h target_repository_server_host_name -n target_repository_server_port_number -l log_file_name

Table 16-61 lists pmrep DeployDeploymentGroup options and arguments:


Table 16-61. DeployDeploymentGroup Options and Arguments (pmrep) Option -p -c Required/ Optional Required Required Argument Name deployment_group_name control_file_name Argument Description The name of the group to deploy. The name of the XML file containing the Copy Wizard specifications. The control file is required. For more information on using the control file, see Using the Deployment Control File on page 504. The repository you are deploying the group to. The login user name for the target repository. Not required if you are copying the deployment group to the same repository. The login password for the target repository. Not required if you copy the deployment group to the same repository. Use the -x or -X option, but not both. The login password environment variable for the target repository. Not required if you copy the deployment group to the same repository. Use the -x or -X option, but not both. The host name of the Repository Server managing the target repository. Not required if you copy the deployment group to the same repository.

-r -u

Required Required/ Optional Required/ Optional

target_repository_name target_repository_user_name

-x

target_repository_user_passwo rd

-X

Required/ Optional

target_repository_password_en vironment_variable

-h

Required/ Optional

target_repository_server_host_ name

468

Chapter 16: Using pmrep and pmrepagent

Table 16-61. DeployDeploymentGroup Options and Arguments (pmrep) Option -n Required/ Optional Required/ Optional Optional Argument Name target_repository_server_port_ number log_file_name Argument Description The port number of the Repository Server. Not required if you are copying the deployment group to the same repository. The log file that records each deployment step. If you omit this option, it outputs to the screen.

-l

Deploying a Folder (DeployFolder)


The DeployFolder command allows you to deploy a folder. It requires a control file containing specifications that the Copy Wizard requires. The control file is an XML file defined by the depcntl.dtd file. For more details about the control file, see Using the Deployment Control File on page 504. To copy a folder, you must have the following privileges and permissions:

Administer Repository privilege Read permission on the original folder

DeployFolder uses the following command syntax:


DeployFolder -f folder_name -c control_file_name -r target_repository_ name -u target_repository_user_name -x target_repository_user_password -X target_repository_password_environment_variable -h target_repository_server_host_name -n target_repository_server_port_ number -l log_file_name

Table 16-62 lists pmrep DeployFolder options and arguments:


Table 16-62. DeployFolder Options and Arguments (pmrep) Option -f -c Required/ Optional Required Required Argument Name folder_name control_file_name Argument Description The name of the folder to deploy. The name of the XML file containing the copy wizard specifications. For more information on the control file, see Using the Deployment Control File on page 504. The repository name to deploy the group to. Not required if the target repository is the same as the source. The login user name for the target repository. Not required if you are copying the deployment group to the same repository. The login password for the target repository. Not required if you are copying the deployment group to the same repository. Use the -x or -X option, but not both.

-r

Optional

target_repository_name

-u

Optional

target_repository_user_name

-x

Required/ Optional

target_repository_user_passwo rd

pmrep Change Management Commands

469

Table 16-62. DeployFolder Options and Arguments (pmrep) Option -X Required/ Optional Required/ Optional Argument Name target_repository_password_en vironment_variable Argument Description The login password environment variable for the target repository. Not required if you are copying the deployment group to the same repository. Use the -x or -X option, but not both. The host name of the Repository Server managing the target repository. Not required if you copy the deployment group to the same repository. The port number of the Repository Server. Not required if you copy the deployment group to the same repository. The log file that records each deployment step. If you omit this option, it outputs to the screen.

-h

Optional

target_repository_server_host_ name target_repository_server_port_ number log_file_name

-n

Optional

-l

Optional

Executing a Query (ExecuteQuery)


Use the ExecuteQuery command to run a query. You can choose to display the result or write the result to a persistent input file. If the query is successful, it returns the total number of qualifying records. You can use this file as input to the ApplyLabel, AddToDeploymentGroup, and Validate commands. For more details on using a persistent input file, see Using the Persistent Input File on page 494. To execute a query, you must have the following privileges and permissions:

Browse Repository privilege Write permission on the folder Read and execute permissions on the query

ExecuteQuery uses the following command syntax:


ExecuteQuery -q query_name -t query_type -u persistent_output_file_name a append -c column_separator -r end-of-record_separator -l end-oflisting_indicator -b verbose

Table 16-63 lists pmrep ExecuteQuery options and arguments:


Table 16-63. ExecuteQuery Options and Arguments (pmrep) Option -q -t Required/ Optional Required Optional Argument Name query_name query_type Argument Description The name of the query to run. The type of query to run. You can specify public or private. If not specified, pmrep searches all the private queries first to find the matching query name. Then it searches the public queries.

470

Chapter 16: Using pmrep and pmrepagent

Table 16-63. ExecuteQuery Options and Arguments (pmrep) Option -u -a Required/ Optional Optional Optional Argument Name persistent_output_file_name append Argument Description Send the query result to a text file. If you do not specify a file name, the query result goes to stdout. The option to append the query results to the persistent output file. If you do not specify to append, pmrep overwrites the file content. The character or set of characters used to separate object metadata columns. Use a character or set of characters that is not used in repository object names. If any repository object name contains spaces, you might want to avoid using a space as a column separator. If you omit this option, pmrep uses a single space. The character or set of characters used to specify the end of the object metadata. Use a character or set of characters that is not used in repository object names. If you omit this option, pmrep uses a new line. The character or set of characters used to specify the end of the object list. Specify a character or set of characters that is not used in repository object_names. If you omit this option, pmrep uses a period. Print more than the minimum information about the objects. If you omit this option, pmrep prints a shorter format including the object type, the word reusable or non-reusable, the object name and path. Verbose format includes the object status, version number, folder name, and checked out information. The short format for versioning objects such as label, query, deployment group, and connection, includes the object type and object name. Verbose format includes the label type, query type, deployment group type, creator name, and creation time.

-c

Optional

column_separator

-r

Optional

end-of-record_separator

-l

Optional

end-of-listing_indicator

-b

Optional

verbose

pmrep Change Management Commands

471

Listing Checked Out Items (FindCheckout)


Use the FindCheckout command to print a list of checked out objects in the repository. The listing contains only your checked out items unless you specify all users. If you choose an object type, then you can list checked out objects in a specific folder or across all folders. If you do not specify an object type, pmrep returns all the checked out objects in the repository.
Note: You can use FindCheckout with no options.

For more information about finding checked out objects, see Checking Out and Checking In Objects on page 211. To list checked out items, you must have the following privileges and permissions:

Browse Repository privilege Read permission on the folder

FindCheckout uses the following command syntax:


FindCheckout -o object_type -f folder_name -u all_users -c column_ separator -r end-of-record_separator -l end-of-listing_indicator -b verbose

Table 16-64 lists pmrep FindCheckout options and arguments:


Table 16-64. FindCheckout Options and Arguments (pmrep) Option -o Required/ Optional Optional Argument Name object_type Argument Description The object type you want to list. You can specify source, target, transformation, mapping, session, worklet, workflow, scheduler, session config, task, cube, or dimension. If you omit object type, pmrep ignores the -f and -u options and the command returns all checked-out objects in the repository. Return a list of checked out objects for the object type in the specified folder. The default is to list objects for the object type across folders. Folder name is optional if you specify an object type. List the checked out objects by all users. The default is to list only checked out objects by the current user. The character or set of characters used to separate object metadata columns. Use a character or set of characters that is not used in repository object names. If any repository object name contains spaces, you might want to avoid using a space as a column separator. If you omit this option, pmrep uses a single space.

-f

Optional

folder_name

-u -c

Optional Optional

all_users column_separator

472

Chapter 16: Using pmrep and pmrepagent

Table 16-64. FindCheckout Options and Arguments (pmrep) Option -r Required/ Optional Optional Argument Name end-of-record_separator Argument Description The character or set of characters used to specify the end of the object metadata. Use a character or set of characters that is not used in repository object names. The default is newline /n. The character or set of characters used to specify the end of the object list. Use a character or set of characters that is not used in repository object names. If you omit this option, pmrep uses a period. Print more than the minimum information about the objects. If you omit this option, pmrep prints a shorter format including the object type, the word reusable or non-reusable, the object name and path. Verbose format includes the version number and folder name. The short format for versioning objects such as label, query, deployment group, and connection, includes the object type and object name. Verbose format includes the creator name and creation time.

-l

Optional

end-of-listing_indicator

-b

Optional

verbose

Undoing a Checkout (UndoCheckout)


Use the UndoCheckout command to undo a checkout of an object. When you undo a checkout, the repository releases the write-intent lock on the object and reverts to the most recently checked in version of the object. If you want to modify the object again, you must check it out. For details on undoing a checkout, see Using the Designer in the Designer Guide, or Using the Workflow Manager in the Workflow Administration Guide. To undo a checkout, you must have the following privileges and permissions:

Use Repository Manager or Administer Repository privilege Write permission on the folder

Users with Administer Repository privilege can undo checkouts for other users. UndoCheckout uses the following command syntax:
UndoCheckout -o object_type -t object_subtype -n object_name -f folder_name

pmrep Change Management Commands

473

Table 16-65 lists pmrep UndoCheckout options and arguments:


Table 16-65. UndoCheckout Options and Arguments (pmrep) Option -o Required/ Optional Required Argument Name object_type Argument Description The type of object. You can specify source, target, transformation, mapping, session, worklet, workflow, scheduler, session config, task, cube, dimension. The type of transformation or task. Ignored for other object types. For valid subtypes, see Table 16-16 on page 426. The name of the checked out object. The name of the folder containing the object.

-t -n -f

Required/ Optional Required Required

object_subtype object_name folder_name

Validating Objects (Validate)


The Validate command validates objects. You can choose to output the results to a persistent output file or standard output. It also displays a validation summary to stdout. The summary includes the number of valid objects, invalid objects, and skipped objects. The persistent output file contains standard information, encoded IDs, and a CRC check. You can choose to save and check in the objects that change from invalid to valid. You can validate the following types of objects:

Mappings Mapplets Sessions Workflows Worklet objects

If you use another type of object in the input parameter, pmrep returns an error. If you use the wrong type of object in a persistent input file, pmrep reports an error and skips the object.
Note: The pmrep Validate command does not validate shortcuts.

When you run Validate, you can choose to output information about object status:

valid. Objects successfully validated. saved. Objects saved after validation. skipped. Shortcuts and object types that do not require validation. save_failed. Objects that did not save because of lock conflicts or they were checked out by another user. invalid_before. Objects invalid before the validation check. invalid_after. Objects invalid after the validation check.

474

Chapter 16: Using pmrep and pmrepagent

To validate objects, you must have the following privileges and permissions:

Use Repository Manager privilege Write permission on the folder

Validate uses the following command syntax:


Validate -n object_name -o object_type -t object_subtype -f folder_name -v version_number -i persistent_input file -s save_upon_valid -k check_in_upon_valid -m check_in_comments -p output_options -u persistent_output_file_name -a append -c column_separator -r end-of-record_separator -l end-of-listing_indicator -b verbose

Table 16-66 lists pmrep Validate options and arguments:


Table 16-66. Validate Options and Arguments (pmrep) Option -n -o Required/ Optional Required Required/ Optional Argument Name object_name object_type Argument Description The name of the object to validate. Do not use this option if you are using the -i argument. The type of object to validate. You can specify source, target, transformation, mapping, session, worklet, workflow, scheduler, session config, task, cube, dimension. Required if you are not using a persistent input file. The type of task or transformation. Ignored for other object types. For valid subtypes, see Table 16-16 on page 426. The name of the folder containing the object. The version of the object to validate. The default is the latest or checked out version of the object. The text file from ExecuteQuery, Validate, or ListObjectDependencies commands. Contains a list of object records. You cannot use this file if you are specifying objects using the -n, -o, or -f arguments. Save objects that change from invalid to valid to the repository. Check in saved objects. Required if you use -s. Add comments when you check in an object. Required if you use the -k option, and the current repository requires checkin comments. The kind of object you want to output to the persistent output file or stdout after validation. You can specify valid, saved, skipped, save_failed, invalid_before, or invalid_after. To specify one or more options, separate them by commas. You should specify output_options when you use the persistent_output_file_name.

-t

Required/ Optional Required Optional Optional

object_subtype

-f -v -i

folder_name version_number persistent_input file

-s -k -m

Optional Optional Required/ Optional Optional

save_upon_valid check_in_upon_valid check_in_comments

-p

output_options

pmrep Change Management Commands

475

Table 16-66. Validate Options and Arguments (pmrep) Option -u Required/ Optional Optional Argument Name persistent_output_file_name Argument Description The name of an output text file. If you specify a file name, the query writes the results to a file. You should also specify output_options. Append the results to the persistent output file instead of overwriting it. The character or set of characters used to separate object metadata columns. Use a character or set of characters that is not used in repository object names. If any repository object name contains spaces, you might want to avoid using a space as a column separator. If you omit this option, pmrep uses a single space. The character or set of characters used to specify the end of the object metadata. Use a character or set of characters that is not used in repository object names. The default is newline /n. The character or set of characters used to specify the end of the object list. Specify a character or set of characters that is not used in repository object names. If you omit this option, pmrep uses a period. Print more than the minimum information about the objects. If you omit this option, pmrep prints a shorter format including the object type, the word reusable or non-reusable, the object name and path. Verbose format includes the version number and folder name. The short format for versioning objects such as label, query, deployment group, and connection, includes the object type and object name. Verbose format includes the creator name and creation time.

-a -c

Optional Optional

append column_separator

-r

Optional

end-of-record_separator

-l

Optional

end-of-listing_indicator

-b

Optional

verbose

476

Chapter 16: Using pmrep and pmrepagent

pmrepagent Commands
You can use the Repository Agent command line program, pmrepagent, to perform repository functions such as restoring and deleting repositories. To run pmrepagent commands, switch to the Repository Server \bin directory and enter pmrepagent followed by the command name and its required options and arguments. Specify pmrepagent options and arguments the same way you specify pmrep options and arguments. pmrepagent runs in command line mode only. Table 16-67 describes pmrepagent commands:
Table 16-67. pmrepagent Commands pmrepagent Command Backup Bulkrestore Create Delete Registerplugin Restore Unregisterplugin Upgrade Command Description Backs up a repository. See Backing up a Repository (Backup) on page 477. Restores a Teradata repository from a repository backup file using Fastload. See Restoring Teradata Repositories using Fastload (Bulkrestore) on page 479. Creates repository tables in the database. See Creating a Repository (Create) on page 480. Deletes the repository tables from the database. See Deleting a Repository (Delete) on page 481. Registers a new external module to the repository. See Registering a Plug-in (Registerplugin) on page 482. Restores a repository from a repository backup file. See Restoring a Repository (Restore) on page 485. Unregisters a plug-in module from the repository. See Unregistering Plug-ins (Unregisterplugin) on page 487. Upgrades an existing repository to the latest version. See Upgrading a Repository (Upgrade) on page 490.

Backing up a Repository (Backup)


The Backup command backs up a repository to the file specified with the -o option. You must provide the backup filename. Use this command when the repository is not running. Backup uses the following command syntax:
backup -r repository_name -n repository_user_name -x repository_password -X repository_password_environment_variable -t database_type -u database_user_name -p database_password -P database_password_environment_variable -m trusted_connection -c database_connect_string -o output_file_name -d description -f -b skip_workflow/session_log -j skip_deploy_group_history -q skip_MX_data

pmrepagent Commands

477

Table 16-68 lists pmrepagent Backup options and arguments:


Table 16-68. Backup Options and Arguments (pmrepagent) Option -r -n -x -X -t -u -p Required/ Optional Required Required Required/ Optional Required/ Optional Required Required Required/ Optional Required/ Optional Optional Required Argument Name repository_name repository_user_name repository_password repository_password_environ ment_variable database_type database_user_name database_password Argument Description The name of the repository you want to back up. The repository user name. The repository password. Use the -x or -X option, but not both. The repository password environment variable. Use the -x or -X option, but not both. The type of database the repository resides on. The repository database user name. The repository database password. Not required if you are using option -m. Use the -p or -P option, but not both. The repository database password. Not required if you are using option -m. Use the -p or -P option, but not both. Use a trusted connection to connect to the database. Valid for Microsoft SQL Server only. The connect string the Repository Agent uses to connect to the repository database. For a list of connect string syntax, see Table 16-1 on page 405. The name and path of the file for the repository backup. The description of the repository you backup. This option has no argument. Include this option if you want to overwrite any existing file with the same name. Skips tables related to workflow and session logs during backup. Skips deployment group history during backup. Skips tables related to MX data during backup.

-P

database_password_environ ment_variable trusted_connection database_connect_string

-m -c

-o -d -f -b -j -q

Required Required Optional Optional Optional Optional

output_file_name description n/a skip_workflow/session_log skip_deploy_group_history skip_MX_data

Note: pmrep also allows you to back up a repository. You can use the pmrep Backup command

when the repository is running. For details, see Backing up a Repository (Backup) on page 416.

478

Chapter 16: Using pmrep and pmrepagent

Restoring Teradata Repositories using Fastload (Bulkrestore)


The pmrepagent Bulkrestore command restores Teradata repositories using Fastload. The Bulkrestore command can be faster than the Restore command when the repository backup file is greater than 100 MB. Bulkrestore uses the following command syntax:
bulkrestore -r repository_name -t database_type -u database_user_name -p database_password -P database_password_environment_variable -c database_connect_string -d codepage -h host_name -o port_number -g -i backup_file_name -e external_loader_type -s server_name -a license_file_name -y enable_object_versioning -b skip_workflow/ session_log -j skip_deploy_group_history -q skip_MX_data

Table 16-69 lists pmrepagent Bulkrestore options and arguments:


Table 16-69. Bulkrestore Options and Arguments (pmrepagent) Option -r -t -u -p -P -c Required/ Optional Required Required Required Required/ Optional Required/ Optional Required Argument Name repository_name database_type database_user_name database_password database_password_environ ment_variable database_connect_string Argument Description The name of the repository you want to restore. Enter Teradata to restore to a Teradata database. The repository database user name. The repository database password. Use the -p or -P option, but not both. The repository database password environment variable. Use the -p or -P option, but not both. The connect string the Repository Agent uses to connect to the repository database. For a list of connect string syntax, see Table 16-1 on page 405. The repository code page. The host name of the Repository Server that manages the repository. The port number of the Repository Server that manages the repository. This option has no argument. Use this option if you want to promote the repository to a global repository. The name of the repository backup file. You can specify any file name and path local to the Repository Server. If you do not specify a path, the Repository Server looks for the file in the Repository Server backup directory. Enter fastload for Teradata. The name of the Teradata database server.

-d -h -o -g -i

Optional Required Required Optional Required

codepage host_name port_number n/a backup_file_name

-e -s

Required Required

external_loader_type server_name

pmrepagent Commands

479

Table 16-69. Bulkrestore Options and Arguments (pmrepagent) Option -a -y -b -j -q Required/ Optional Required Optional Optional Optional Optional Argument Name license_file_name enable_object_versioning skip_workflow/session_log skip_deploy_group_history skip_MX_data Argument Description The name of the license file. Enables object versioning. Skips tables related to workflow and session logs during backup. Skips deployment group history during backup. Skips tables related to MX data during backup.

Creating a Repository (Create)


The pmrepagent Create command creates a repository in the database. Before you can create a repository, you must create and configure the database to contain the repository. For more information on creating repositories, see Creating a Repository on page 116. Create uses the following command syntax:
Create -r repository_name -t database_type -u database_user_name -p database_password -P database_password_environment_variable -m -c database_connect_string -d code_page -h host_name -o port_number -g -v -a license_file_name -z repository_creation_parameters

Table 16-70 lists pmrepagent Create options and arguments:


Table 16-70. Create Options and Arguments (pmrepagent) Option -r -t -u -p Required/ Optional Required Required Required Required/ Optional Required/ Optional Optional Required Argument Name repository_name database_type database_user_name database_password Argument Description The name of the repository you want to create. The type of database the repository resides on. The repository database user name. The repository database password. Not required if you are using option -m. Use the -p or -P option, but not both. The repository database password environment variable. Not required if you are using option -m. Use the -p or -P option, but not both. Use a trusted connection to connect to the database. Valid for Microsoft SQL Server only. The connect string the Repository Agent uses to connect to the repository database. For a list of connect string syntax, see Table 16-1 on page 405.

-P

database_password_environme nt_variable n/a database_connect_string

-m -c

480

Chapter 16: Using pmrep and pmrepagent

Table 16-70. Create Options and Arguments (pmrepagent) Option -d -h -o -g -z Required/ Optional Optional Required Required Optional Optional Argument Name code_page host_name port_number n/a repository_creation_parameters Argument Description The repository code page. The host name of the Repository Server that manages the repository. The port number of the Repository Server that manages the repository. This option has no argument. Include this option if you want to promote the repository to a global repository. Use this option to specify the tablespace name for IBM DB2 EEE databases. Use the following format to specify the tablespace name:
%tablespace=<tablespace_name>

Do not include spaces around the equals sign. pmrepagent interprets the spaces as part of the tablespace name. -a -v Required Optional license_file_name n/a The name of the license file. This option has no argument. Include this option if you want to enables object versioning for the repository.

Deleting a Repository (Delete)


The pmrepagent Delete command deletes the repository tables from the repository database. For more information about deleting a repository, see Deleting a Repository on page 64. Delete uses the following command syntax:
Delete -r repository_name -n repository_user_name -x repository_password -X repository_password_environment_variable -t database_type -u database_user_name -p database_password -P database_password_environment_variable -c database_connect_string -f

Table 16-71 lists pmrepagent Delete options and arguments:


Table 16-71. Delete Options and Arguments (pmrepagent) Option -r -n -x -X Required/ Optional Required Required Required/ Optional Required/ Optional Argument Name repository_name repository_user_name repository_password repository_password_envir onment_variable Argument Description The name of the repository you want to delete. The repository user name. The repository password. Use the -x or -X option, but not both. The repository password environment variable. Use the -x or -X option, but not both.

pmrepagent Commands

481

Table 16-71. Delete Options and Arguments (pmrepagent) Option -t -u -p -P -c Required/ Optional Required Required Required/ Optional Required/ Optional Required Argument Name database_type database_user_name database_password database_password_enviro nment_variable database_connect_string Argument Description The type of database the repository resides on. The repository database user name. The repository database password. Use the -p or -P option, but not both. The repository database password environment variable. Use the -p or -P option, but not both. The connect string the Repository Agent uses to connect to the repository database. For a list of connect string syntax, see Table 16-1 on page 405. Use this option to delete a global repository. All registered local repositories must be running. This option unregisters local repositories.

-f

Required/ Optional

n/a

Registering a Plug-in (Registerplugin)


The pmrepagent Registerplugin command registers an external plug-in to a repository. Registering a plug-in adds its functionality to the repository. You can use the Registerplugin command to update existing plug-ins. For more information about registering a plug-in, see Registering a Repository Plug-in on page 85. Registerplugin uses the following command syntax:
Registerplugin -r repository_name -n repository_user_name -x repository_password -X repository_password_environment_variable -t database_type -u database_user_name -p database_password -P database_password_environment_variable -m -c database_connect_string -i input_xml_file_name -e -f force_registration -l login_name -w login_password -W login_password_environment_variable -k

Table 16-72 lists pmrepagent Registerplugin options and arguments:


Table 16-72. Registerplugin Options and Arguments (pmrepagent) Option -r -n -x -X Required/ Optional Required Required Required/ Optional Required/ Optional Argument Name repository_name repository_user_name repository_password repository_password_envir onment_variable Argument Description The name of the repository. The repository user name. The repository password. Use the -x or -X option, but not both. The repository password environment variable. Use the -x or -X option, but not both.

482

Chapter 16: Using pmrep and pmrepagent

Table 16-72. Registerplugin Options and Arguments (pmrepagent) Option -t -u -p Required/ Optional Required Required Required/ Optional Required/ Optional Optional Required Argument Name database_type database_user_name database_password Argument Description The type of database the repository resides on. The repository database user name. The repository database password. The password is not required if you are using option -m. Use the -p or -P option, but not both. The repository database password environment variable. The password is not required if you are using option -m. Use the -p or -P option, but not both. Indicates to use a trusted connection to connect to the database. Valid for Microsoft SQL Server only. The connect string the Repository Agent uses to connect to the repository database. For a list of connect string syntax, see Table 16-1 on page 405. The name of the XML file describing the plug-in. Update an existing plug-in. Not applicable for authentication modules. Indicates to unregister and re-register a plug-in if it already exists. If the plug-in exists, and you do not specify this option, it generates an error. Not applicable for authentication modules. The NIS login of the user registering an external security module. If the plug-in contains an authentication module you must supply the external login name, or the registration fails. This login becomes the administrator user name in the repository. Do not use this option for other plug-ins. The external directory password of the user registering the module. If the plug-in contains an authentication module you must supply the user password from the external directory or the registration fails. Do not use this option for other plug-ins. Required if registering authentication module components. Use the -w or -W option, but not both.

-P

database_password_enviro nment_variable n/a database_connect_string

-m -c

-i -e -f

Required Optional Optional

input_xml_file_name n/a force_registration

-l

Required if registering security module components Required/ Optional

login_name

-w

login_password

pmrepagent Commands

483

Table 16-72. Registerplugin Options and Arguments (pmrepagent) Option -W Required/ Optional Required/ Optional Argument Name login_password_environme nt_variable Argument Description The external directory password environment variable of the user registering the module. If the plug-in contains an authentication module you must supply the user password from the external directory or the registration fails. Do not use this option for other plug-ins. Required if registering authentication module components. Use the -w or -W option, but not both. Stores the CRC of the plug-in library in the repository. When the Repository Agent loads the module, it checks the library against the CRC.

-k

Optional

n/a

Registering a Security Module


If you want to use an external directory service to maintain users and passwords for a repository, you must register the security module with the repository. You can use the Registerplugin command to register the security plug-in.

Example
An administrator administers PowerCenter for a company that has a centralized LDAP NIS for user authentication. When he upgrades PowerCenter, he decides to use the LDAP for repository user authentication. The upgrade installs the LDAP security module in the repository security folder. The administrator runs the pmrepagent command to register the new external module with the repository:
pmrepagent registerplugin -r repositoryname -n Administrator -x RepoPasswd -t oracle -u admin-ora -p admin-passwd-ora -c oracle-server001 -i security/ldap_authen.xml -l adminuser -w admnpass

The -l login name and -w login password options contain the valid NIS login information for the user running the pmrepagent command. After registration, the administrator user must use this login name and password to access the repository.
Note: The login name and password must be valid in the external directory, or the

administrator cannot access the repository using LDAP. The -i option contains the XML file name that describes the security module. For more information about this XML file, see Registering and Unregistering LDAP Security Modules on page 88.

484

Chapter 16: Using pmrep and pmrepagent

Restoring a Repository (Restore)


The pmrepagent Restore command restores a repository backup file to a database. The target database must be empty. When you restore a repository to a different system, the Repository Agent does not assume that the same user authentication module is on the new system. If the repository you are restoring uses an external directory service, you can use the -v administrator_username and -x administrator_password to verify that one administrative user can connect to the repository if the restore completes. If you do not use these options, or if the password is incorrect, the Repository Agent unregisters the external module and resets the Administrator password after the restore. The Repository Agent resets the Administrators password to Administrator.
Note: If the repository uses repository authentication, then the Administrators password does

not change when you restore the repository. For more information about restoring a repository, see Restoring a Repository on page 67. Restore uses the following command syntax:
Restore -r repository_name -t database_type -u database_user_name -p database_password -P database_password_environment_variable -c database_connect_string -d code_page -h repserver_host_name -o repserver_port_number -g -i backup_file_name -z repository_creation_parameters -v administrator_username -x verify_password -X verify_password_environment_variable -a license_file_name -w -b skip_workflow/session_log -j skip_deploy_group_history -q skip_MX_data

Table 16-73 lists pmrepagent Restore options and arguments:


Table 16-73. Restore Options and Arguments (pmrepagent) Option -r -t -u -p Required/ Optional Required Required Required Required/ Optional Required/ Optional Optional Required Argument Name repository_name database_type database_user_name database_password Argument Description The name of the repository you want to restore. The type of database you want to restore to. The repository database user name. The repository database password. Not required if you are using option -m. Use the -p or -P option, but not both. The repository database password environment variable. Not required if you are using option -m. Use the -p or -P option, but not both. Use a trusted connection to connect to the database. Valid for Microsoft SQL Server only. The connect string the Repository Agent uses to connect to the repository database. For a list of connect string syntax, see Table 16-1 on page 405. The repository code page.

-P

database_password_environme nt_variable n/a database_connect_string

-m -c

-d

Optional

code_page

pmrepagent Commands

485

Table 16-73. Restore Options and Arguments (pmrepagent) Option -h -l -o -g Required/ Optional Required Required Required Optional Argument Name repserver_host_name license_file_name repserver_port_number n/a Argument Description The host name of the Repository Server that manages the repository. The repository license file name. The port number of the Repository Server that manages the repository. This option has no argument. Include this option if you want to promote the repository to a global repository. The name of the repository backup file. You can use any file name and path local to the Repository Server. Use this option to specify the tablespace name for IBM DB2 EEE databases. Use the following format to specify the tablespace name:
%tablespace=<tablespace_name>

-i

Required

backup_file_name

-z

Optional

repository_creation_parameters

Do not include spaces around the equals sign. pmrepagent interprets the spaces as part of the tablespace name. -v Optional/ Required for retaining an external security module. administrator_username Specifies repository administrator user name. Use this option to force the Repository Agent to verify that the administrator user is valid with the current authentication module. Use this option only with a repository using an external security module. You must use this option to retain the external module registration after the restore. Verify password. Use this option only with a repository using an external security module. Use this option with the -v option when you want to retain the external security module after restoring. The Repository Agent verifies that this password is valid for the user name on the target server. You must use either the -x or -X option when you want to retain an external security module. Use the -x or -X option, but not both.

-x

Required/ Optional

verify_password

486

Chapter 16: Using pmrep and pmrepagent

Table 16-73. Restore Options and Arguments (pmrepagent) Option -X Required/ Optional Required/ Optional Argument Name verify_password_environment_ variable Argument Description The verify password environment variable. Use this option only with a repository using an external security module. Use this option with the -v option when you want to retain the external security module after restoring. The Repository Agent verifies that this password is valid for the user name on the target server. You must use either the -x or -X option when you want to retain an external security module. Use the -x or -X option, but not both. The name of the license file. Removes user name-login mapping. Use this option only when unregistering an external module. Skips tables related to workflow and session logs during backup. Skips deployment group history during backup. Skips tables related to MX data during backup.

-a -w -b -j -q

Required Optional Optional Optional Optional

license_file_name n/a skip_workflow/session_log skip_deploy_group_history skip_MX_data

Note: You can also restore Teradata repositories using Fastload. For more information, see

Restoring Teradata Repositories using Fastload (Bulkrestore) on page 479.

Example
The following example restores a repository to a Solaris machine and specifies the administrator user name and password in order to keep the LDAP security module registration.
restore -r repository1 -t oracle -u admin-ora -p admin-passwd-ora -c oracle-server001 -h solaris001 -o 5001 -v adminuser -x adminpass -i repository1_backup.rep

Unregistering Plug-ins (Unregisterplugin)


The pmrepagent Unregisterplugin command removes a plug-in from a repository. For more information on unregistering plug-ins, see Unregistering a Repository Plug-in on page 86. Unregisterplugin uses the following command syntax:
Unregisterplugin -r repository_name -n repository_user_name -x repository_password -X repository_password_environment_variable -t database_type -u database_user_name -p database_password -P database_password_environment_variable-m -c database_connect_string -v vendor_id -l plugin_id -g remove_user_name_login_mapping -w new_password -W new_password_environment_variable

pmrepagent Commands

487

Table 16-74 lists pmrepagent Unregisterplugin options and arguments:


Table 16-74. Unregisterplugin Options and Arguments (pmrepagent) Option -r -n -x -X -t -u -p Required/ Optional Required Required Required/ Optional Required/ Optional Required Required Required/ Optional Required/ Optional Argument Name repository_name repository_user_name repository_password repository_password_environment _variable database_type database_user_name database_password Argument Description The name of the repository you want to upgrade. The repository user name. The repository password. Use the -x or -X option, but not both. The repository password environment variable. Use the -x or -X option, but not both. The type of relational connection. For a list of valid database types, see Table 16-9 on page 418. The repository database user name. The repository database password. The password is not required if you are using option -m. Use the -p or -P option, but not both. The repository database password environment variable. The password is not required if you are using option -m. Use the -p or -P option, but not both. Indicates to use a trusted connection to connect to the database. Valid for Microsoft SQL Server only. The connect string the Repository Agent uses to connect to the repository database. For a list of connect string syntax, see Table 16-1 on page 405. Identifies the security plug-in by vendor identification number. You define this number when you register the plug-in. Identifies the plug-in by identification number. You define this identification number when you register the plug-in. Removes the mapping between user names and login names in the repository when you unregister an external security module. If you omit this option, you retain the mapping in the repository, but the Repository Manager does not display them anywhere. Use this option only when you are unregistering a security module.

-P

database_password_environment _variable

-m -c

Optional Required

n/a database_connect_string

-v

Required

vendor_id

-l

Required

plugin_id

-g

Optional. Applicable when registering an external security module.

remove_user_name_login_mappi ng

488

Chapter 16: Using pmrep and pmrepagent

Table 16-74. Unregisterplugin Options and Arguments (pmrepagent) Option -w Required/ Optional Required/ Optional Argument Name new_password Argument Description Specifies a new password for the user running the unregister command. When you unregister an external authentication module, all user passwords reset to the values in the repository. You must specify a new password in order to access the repository. Required when the plug-in contains a security module. Use the -w or -W option, but not both. Specifies a new password environment variable for the user running the unregister command. When you unregister an external authentication module, all user passwords reset to the values in the repository. You must specify a new password in order to access the repository. Required when the plug-in contains a security module. Use the -w or -W option, but not both.

-W

Required/ Optional

new_password_environment_vari able

Unregistering an External Security Module


You can use the Unregisterplugin command to discontinue using an external security module with a repository. If you unregister the external security module, PowerCenter switches to repository authentication mode. All user passwords reset to the values in the repository instead of the values in the external directory. When you unregister the security module, you do not lose the mapping between the repository user names and the external security login names unless you specify the -g option. You can use the mapping again if you register a new security module.
Note: Although you can save the associations between external logins and repository user

names, the Repository Manager does not display the external logins while running under repository user authentication. You must use the -w or -W option to create a new password for yourself when you unregister the security module.

Example
As an administrator, you decide to switch from the LDAP security module back to repository authentication. You remove the user name-login mapping. Any users that you added to the system under repository authentication can log in with their old user names and passwords. Any users you added to the repository under the LDAP security cannot log in until you enable their user names.
Note: The Administrator must provide his LDAP NIS login and password to use the

Unregisterplugin command. He must also provide a new password to use after he switches back to repository user authentication.
pmrepagent Commands 489

The administrator might use a command similar to this:


pmrepagent unregisterplugin -r repositoryname -n Administrator -x RepoPasswd -t oracle -u admin-ora -p admin-passwd-ora -c oracle-server001 -v 1 -l 3014 -g -w newadmnpass

Upgrading a Repository (Upgrade)


The pmrepagent Upgrade command upgrades a repository to the latest version. For more information on upgrading repositories, see Upgrading a Repository in the Installation and Configuration Guide. Upgrade uses the following command syntax:
Upgrade -r repository_name -n repository_user_name -x repository_password -X repository_password_environment_variable -t database_type -u database_user_name -p database_password -P database_password_environment_variable -c database_connect_string

Table 16-75 lists pmrepagent Upgrade options and arguments:


Table 16-75. Upgrade Options and Arguments (pmrepagent) Option -r -n -x -X -t -u -p Required/ Optional Required Required Required/ Optional Required/ Optional Required Required Required/ Optional Required/ Optional Optional Required Argument Name repository_name repository_user_name repository_password repository_password_environment _variable database_type database_user_name database_password Argument Description The name of the repository you want to upgrade. The repository user name. The repository password. Use the -x or -X option, but not both. The repository password environment variable. Use the -x or -X option, but not both. The type of database you want to upgrade to. The repository database user name. The repository database password. Not required if you are using option -m. Use the -p or -P option, but not both. The repository database password environment variable. Not required if you are using option -m. Use the -p or -P option, but not both. Use a trusted connection to connect to the database. Valid for Microsoft SQL Server only. The connect string the Repository Agent uses to connect to the repository database. For a list of connect string syntax, see Table 16-1 on page 405.

-P

database_password_environment _variable n/a database_connect_string

-m -c

490

Chapter 16: Using pmrep and pmrepagent

Scripting pmrep and pmrepagent Commands


When you use pmrep or pmrepagent, you might use some commands with specific options and arguments on a regular basis. For instance, you might use pmrep to perform a daily backup of a production repository. In this case, you can create a script file to call one or more pmrep commands including its options and arguments. For example, the following Windows batch file, backupproduction.bat, connects to and backs up a repository called Production on a server named Central:
backupproduction.bat REM This batch file uses pmrep to connect to and back up the repository Production on the server Central @echo off echo Connecting to repository Production... c:\PowerCenter\pmrep\pmrep connect -r Production -n Administrator -x Adminpwd -t microsoft sql server -u sbrown -p sbrownx -c Central@Production echo Backing up repository Production... c:\PowerCenter\pmrep\pmrep backup -o c:\backup\Production_backup.rep

You can run script files from the command interface. You cannot run pmrep batch files while in pmrep interactive mode. pmrep and pmrepagent indicate the success or failure of a command with a return code. Return code (0) indicates that the command succeeded. Return code (1) indicates the command failed.
Tip: When you create script files using pmrep commands, Informatica recommends that you include a connect command as the first command called by the script file. This helps ensure you are performing tasks on the correct repository.

Scripting pmrep and pmrepagent Commands

491

Tips
Use Bulkrestore to restore Teradata repositories. The Bulkrestore command is faster than the Restore command when the repository backup file is greater than 100 MB. Bulkrestore uses Fastload when it restores a Teradata database. Use the -n option when you use the Updatesrcprefix or Updatetargprefix commands. When you include the -n option, you must enter the name of the source or target instance for the -t option. The source or target instance name must match the name displayed in the session properties or the name output by the Listtablesbysess command. Use the -n option to use the Listtablesbysess command with the Updatesrcprefix or Updatetargprefix commands in a shell script if the source and target instance names match. Also, use the -n option to update a source even if the session uses a shortcut to a mapping. When using ListObjects, specify a character or set of characters that is not used in repository object names for the column separator, end of record indicator, and end of listing indicator. Use characters that are not used in repository object names when you specify characters to separate records and columns, and to indicate the end of the listing. This helps you use a shell script to parse the object metadata. Use the -v option when restoring a repository that uses an external directory service for user management. When you include the -v option with Restore, you can retain the external directory service registration for the repository. If you do not specify this option with the valid administrator user name and password, the restored repository defaults to repository authentication mode. You lose the login name-user name mappings.

492

Chapter 16: Using pmrep and pmrepagent

Appendix A

Working with pmrep Files


This appendix includes the following topics:

Using the Persistent Input File, 494 Using the Object Import Control File, 496 Using the Deployment Control File, 504 Scripting pmrep and pmrepagent Commands, 507

493

Using the Persistent Input File


When you run pmrep with some tasks, you can use a persistent input file to specify repository objects that you want to process. The persistent input file represents objects already in your repository. You can create a persistent input file manually or by using pmrep. You can use a persistent input file with the following pmrep commands:

AddToDeploymentGroup. Add objects to a Deployment Group. ApplyLabel. Label objects. ExecuteQuery. Run a query to create a persistent input file. You can use the file for other pmrep commands. ListObjectDependencies. List dependency objects. This command can use a persistent input file for processing, and it can create one. ObjectExport. Export objects to an XML file. Validate. Validate objects. This command can use a persistent input file for processing, and it can create one.

The persistent input file has the following format:


encoded ID, foldername, object_name, object_type, object_subtype, version_number, resusable|non-reusable

Creating a Persistent Input File with pmrep


You can create a persistent input file using the pmrep ExecuteQuery, Validate, or ListObjectDependencies commands. These commands create files that contain a list of objects with encoded IDs and a CRCVALUE (Cyclic Redundancy Checking) code. It also contains an encrypted repository GID. This ID identifies which repository the record comes from and prevents you from misusing the file and corrupting a repository. For more information about the CRCVALUE, see CRCVALUE Codes on page 267. The pmrep commands that use a persistent input file get object information from the encoded IDs. The encoded IDs enable pmrep to process your input file quickly. When you create a persistent input file with pmrep, it creates the file in the pmrep installation directory. You can specify a different path. The following is a sample persistent input file:
2072670638:57bfc2ff-df64-40fc-9cd4a15cb489bab8:3538944199885:138608640183285:1376256153425:131072168215:65536142655:0288235: 088154:65536122855,EXPORT,M_ITEMS,mapping,none,2 1995857227:57bfc2ff-df64-40fc-9cd4a15cb489bab8:3538944135065:13867417666804:1376256233835:19660880104:65536271545:0319425:01 7154:6553644164,EXPORT,M_ITEMS_2,mapping,none,3 1828891977:57bfc2ff-df64-40fc-9cd4a15cb489bab8:3538944279765:138739712184505:137625613474:65536221345:65536133675:091734:090 53:65536156675,EXPORT,M_NIELSEN,mapping,none,1

494

Appendix A: Working with pmrep Files

3267622055:57bfc2ff-df64-40fc-9cd4a15cb489bab8:353894462954:138805248300075:1376256151365:6553675414:65536174015:0273455:024 1435:65536261685,EXPORT,M_OS1,mapping,none,1

Example
You can use the ExecuteQuery command to create a persistent input file of objects to process in another pmrep command. For example, suppose you want to export all logically deleted objects from the repository. You might create a query called find_deleted_objects. When you run the query with pmrep, it finds all the deleted objects in the repository and outputs the results to a persistent input file.
ExecuteQuery -q find_deleted_objects -t private -u deletes_workfile

You can use deletes_workfile as the persistent input file to ObjectExport. ObjectExport exports all the referenced objects to an XML file called exported_del_file.
ObjectExport -i deletes_workfile -u exported_del_file

Creating a Persistent Input File Manually


If you manually create a persistent input file you must enter the word none in place of the encoded ID. The pmrep commands get the object information from the other arguments in the records. You must put the arguments in the correct order. pmrep requires you to enter all the column arguments, except for the last column. Use the reusable or non-reusable column only for object types that can be reusable or non-reusable, such as transformations, sessions, worklets, and tasks. Object_subtype is the type of transformation or task. If the object is not a transformation or task, put the word none in the object_subtype argument. For information on valid transformations and task types see Table 16-16 on page 426. This is an example from a manually created file:
none, myfolder,Oracle.newsrc,source,none,2

The object is a source object. It includes the database definition as a prefix. The record has the word none in place of the encoded ID, and the record does not require the reusable argument.

Using the Persistent Input File

495

Using the Object Import Control File


When you use the pmrep ObjectImport command, you can supply a control file to answer questions that you normally address when you import objects with the Import Wizard. To create a control file, you must create an XML file defined by impcntl.dtd. The import control file installs with the PowerCenter Client, but you must include its location in the input XML file. The following is a sample of the impcntl.dtd file:
<!-- Informatica Object Import Control DTD Grammar - Version 7.1 -->

<!--IMPORTPARAMS This inputs the options and inputs required for import operation --> <!--CHECKIN_AFTER_IMPORT Check in objects on successful import operation --> <!--CHECKIN_COMMENTS Check in comments --> <!--APPLY_LABEL_NAME Apply the given label name on imported objects --> <!--RETAIN_GENERATED_VALUE Retain existing sequence generator, normalizer and XML DSQ current values in the destination --> <!--COPY_SAP_PROGRAM Copy SAP program information into the target repository --> <!--APPLY_DEFAULT_CONNECTION Apply the default connection when a connection used by a session does not exist in the target repository --> <!ELEMENT IMPORTPARAMS (FOLDERMAP*, TYPEFILTER*, RESOLVECONFLICT?)> <!ATTLIST IMPORTPARAMS CHECKIN_AFTER_IMPORT CHECKIN_COMMENTS APPLY_LABEL_NAME RETAIN_GENERATED_VALUE COPY_SAP_PROGRAM APPLY_DEFAULT_CONNECTION > (YES | NO) "NO" CDATA CDATA #IMPLIED #IMPLIED

(YES | NO) "NO" (YES | NO) "YES" (YES | NO) "NO"

<!--FOLDERMAP matches the folders in the imported file with the folders in the target repository --> <!ELEMENT FOLDERMAP EMPTY> <!ATTLIST FOLDERMAP SOURCEFOLDERNAME CDATA #REQUIRED #REQUIRED #REQUIRED #REQUIRED

SOURCEREPOSITORYNAME CDATA TARGETFOLDERNAME CDATA

TARGETREPOSITORYNAME CDATA >

<!--Import will only import the objects in the selected types in TYPEFILTER node --> <!--TYPENAME type name to import. This should comforming to the element name in powermart.dtd, e.g. SOURCE, TARGET and etc.--> <!ELEMENT TYPEFILTER EMPTY> <!ATTLIST TYPEFILTER

496

Appendix A: Working with pmrep Files

TYPENAME >

CDATA

#REQUIRED

<!--RESOLVECONFLICT allows to specify resolution for conflicting objects during import. The combination of specified child nodes can be supplied --> <!ELEMENT RESOLVECONFLICT (LABELOBJECT | QUERYOBJECT | TYPEOBJECT | SPECIFICOBJECT)*>

<!--LABELOBJECT allows objects in the target with label name to apply replace/reuse upon conflict --> <!ELEMENT LABELOBJECT EMPTY> <!ATTLIST LABELOBJECT LABELNAMECDATA #REQUIRED #REQUIRED

RESOLUTION(REPLACE | REUSE | RENAME) >

<!--QUERYOBJECT allows objects result from a query to apply replace/reuse upon conflict --> <!ELEMENT QUERYOBJECT EMPTY> <!ATTLIST QUERYOBJECT QUERYNAMECDATA #REQUIRED #REQUIRED

RESOLUTION(REPLACE | REUSE | RENAME) >

<!--TYPEOBJECT allows objects of certain type to apply replace/reuse upon conflict--> <!ELEMENT TYPEOBJECT EMPTY> <!ATTLIST TYPEOBJECT OBJECTTYPENAMECDATA #REQUIRED #REQUIRED

RESOLUTION(REPLACE | REUSE | RENAME) >

<!--SPECIFICOBJECT allows a particular object(name, typename etc.) to apply replace/reuse upon conflict --> <!--NAME Object name--> <!--EXTRANAME Source DBD name - required for source object to identify uniquely--> <!--OBJECTTYPENAME Object type name--> <!--FOLDERNAME Folder which the object belongs to--> <!--REPOSITORYNAME Repository name that this object belongs to--> <!--RESOLUTION Resolution to apply for the object in case of conflict--> <!ELEMENT SPECIFICOBJECT EMPTY> <!ATTLIST SPECIFICOBJECT NAME DBDNAME CDATA CDATA #REQUIRED #IMPLIED #REQUIRED #REQUIRED #REQUIRED #REQUIRED>

OBJECTTYPENAME CDATA FOLDERNAME CDATA

REPOSITORYNAME CDATA RESOLUTION

(REPLACE | REUSE | RENAME)

Using the Object Import Control File

497

Object Import Control File Parameters


Table A-1 lists pmrep Object Import control file parameters:
Table A-1. Object Import Control File Elements and Attributes (pmrep) Element IMPORTPARAMS Attribute Name CHECKIN_AFTER_IMPORT CHECKIN_COMMENTS APPLY_LABEL_NAME RETAIN_GENERATED_VALUE Attribute Description Checks in objects when they successfully import. Applies the comments to the checked in objects. Applies the label name on the imported objects. Retains existing Sequence Generator, Normalizer, and XML Source Qualifier transformation current values in the destination. Copies SAP program information into the target repository. Applies the default connection when a connection used by a session does not exist in the target repository. The default connection is the first connection from the sorted list of available connections. Find the list of connections in the Workflow Manager. Specifies the import folder name to match to a folder in the target repository. Specifies the repository containing the source folder. Specifies the target folder name for matching. Specifies the repository containing the target folder. Imports just the objects from a specific node, such as sources, targets, or mappings. Allows you to specify conflict resolutions for objects. Identifies objects by label name for conflict resolution specification. Replace, Reuse, Rename. Identifies objects from this query result for conflict resolution specification. Replace, Reuse, or Rename. Identifies objects by type, for conflict resolution specification. Replace, Reuse, or Rename. Specific object name for this conflict resolution. Source DBD name to identify source object. Object type for this conflict resolution.

COPY_SAP_PROGRAM APPLY_DEFAULT_CONNECTION

FOLDERMAP

SOURCEFOLDERNAME SOURCEREPOSITORYNAME TARGETFOLDERNAME TARGETREPOSITORYNAME

TYPEFILTER RESOLVECONFLICT LABELOBJECT

TYPENAME (see the following elements) LABELNAME RESOLUTION

QUERYOBJECT

QUERYNAME RESOLUTION

TYPEOBJECT

OBJECTTYPENAME RESOLUTION

SPECIFICOBJECT

NAME DBDNAME OBJECTTYPENAME

498

Appendix A: Working with pmrep Files

Table A-1. Object Import Control File Elements and Attributes (pmrep) Element Attribute Name FOLDERNAME REPOSITORYNAME RESOLUTION Attribute Description The folder the containing object. The repository containing the object. Replace, Reuse, or Rename.

Using the Object Import Control File

499

Example
Suppose you want to import only source objects. In the target folder, you want to replace all the duplicate objects labeled Monthend. However, you want to rename conflicting source objects that contain Yr_End in the object name. You have a query called yr_end_qry that finds these objects. You might create a control file with the following attributes:
<?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE IMPORTPARAMS SYSTEM "impcntl.dtd"> <IMPORTPARAMS CHECKIN_AFTER_IMPORT ="NO">

<FOLDERMAP SOURCEFOLDERNAME ="OLD_ACCOUNTING" SOURCEREPOSITORYNAME ="OLD_REPOS" TARGETFOLDERNAME ="NEW_ACCOUNTING" TARGETREPOSITORYNAME ="NEW_REPOS"/>

<TYPEFILTER TYPENAME ="SOURCE"/>

<RESOLVECONFLICT> <LABELOBJECT LABELNAME ="Monthend" RESOLUTION = "REPLACE"/>

<QUERYOBJECT QUERYNAME ="yr_end_qry" RESOLUTION ="RENAME"/> </RESOLVECONFLICT>

</IMPORTPARAMS>

Sample Import XML File


The following is a sample XML control file for ObjectImport. The file specifies the target folder and repository. It specifies to check in the imported objects and label them. It lists what types of objects to import and shows several methods that you can use to resolve conflicts, including specifying a resolution for query results, specifying resolutions for object types, and specifying resolutions for specific objects.
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE IMPORTPARAMS SYSTEM "impcntl.dtd"> <!--IMPORTPARAMS This inputs the options and inputs required for import operation --> <!--CHECKIN_AFTER_IMPORT Check in objects on successful import operation --> <!--CHECKIN_COMMENTS Check in comments --> <!--APPLY_LABEL_NAME Apply the given label name on imported objects -->

500

Appendix A: Working with pmrep Files

<IMPORTPARAMS CHECKIN_AFTER_IMPORT="YES" CHECKIN_COMMENTS="PMREP_IMPORT_PARENT_TYPOBJ_REPLACE_CHILDREUSE" APPLY_LABEL_NAME="LABEL_IMPORT_PARENT_REPLACE_CHILDREUSE_ALL">

<!--FOLDERMAP matches the folders in the imported file with the folders in the target repository -->

<FOLDERMAP SOURCEFOLDERNAME="PMREP_CHECKED_OUT" SOURCEREPOSITORYNAME="PMREP_AUTOMATION_1027" TARGETFOLDERNAME="PMREP_CHECKED_OUT_IMPORT" TARGETREPOSITORYNAME="PMREP_AUTOMATION_1027"/>

<!--Import will only import the objects in the selected types in TYPEFILTER node --> <!--TYPENAME type name to import. This should conforming to the element name in powermart.dtd, e.g. SOURCE, TARGET and etc.--> <TYPEFILTER TYPENAME="SOURCE"/> <TYPEFILTER TYPENAME="TARGET"/> <TYPEFILTER TYPENAME="MAPPLET"/> <TYPEFILTER TYPENAME="MAPPING"/> <TYPEFILTER TYPENAME="TRANSFORMATION"/> <TYPEFILTER TYPENAME="SHORTCUT"/> <TYPEFILTER TYPENAME="CONFIG"/> <TYPEFILTER TYPENAME="TASK"/> <TYPEFILTER TYPENAME="SESSION"/> <TYPEFILTER TYPENAME="SCHEDULER"/> <TYPEFILTER TYPENAME="WORKFLOW"/> <TYPEFILTER TYPENAME="SCHEDULER"/> <TYPEFILTER TYPENAME="WORKLET"/>

<!--RESOLVECONFLICT allows to specify resolution for conflicting objects during import. The combination of specified child nodes can be supplied --> <RESOLVECONFLICT>

<!--QUERYOBJECT allows objects result from a query to apply replace/reuse upon conflict --> <QUERYOBJECT QUERYNAME="Q_MAPS_CREATED_1027" RESOLUTION="RENAME"/>

<!--LABELOBJECT allows objects in the target with label name to apply replace/reuse upon conflict --> <LABELOBJECT LABELNAME="LABEL_DT1027" RESOLUTION="REPLACE"/>

<!--TYPEOBJECT allows objects of certain type to apply replace/reuse upon conflict--> <TYPEOBJECT OBJECTTYPENAME="WORKFLOW" RESOLUTION="REPLACE"/> <TYPEOBJECT OBJECTTYPENAME="WORKLET" RESOLUTION="REPLACE"/> <TYPEOBJECT OBJECTTYPENAME="SESSION" RESOLUTION="REPLACE"/> <TYPEOBJECT OBJECTTYPENAME="MAPPING" RESOLUTION="REPLACE"/> <TYPEOBJECT OBJECTTYPENAME="MAPPLET" RESOLUTION="REPLACE"/> <TYPEOBJECT OBJECTTYPENAME="Source definition" RESOLUTION="REUSE"/> <TYPEOBJECT OBJECTTYPENAME="Target definition" RESOLUTION="REUSE"/>

Using the Object Import Control File

501

<TYPEOBJECT OBJECTTYPENAME="Expression" RESOLUTION="REUSE"/> <TYPEOBJECT OBJECTTYPENAME="Filter" RESOLUTION="REUSE"/> <TYPEOBJECT OBJECTTYPENAME="Aggregator" RESOLUTION="REUSE"/> <TYPEOBJECT OBJECTTYPENAME="Rank" RESOLUTION="REUSE"/> <TYPEOBJECT OBJECTTYPENAME="Normalizer" RESOLUTION="REUSE"/> <TYPEOBJECT OBJECTTYPENAME="Router" RESOLUTION="REUSE"/> <TYPEOBJECT OBJECTTYPENAME="Sequence" RESOLUTION="REUSE"/> <TYPEOBJECT OBJECTTYPENAME="Sorter" RESOLUTION="REUSE"/> <TYPEOBJECT OBJECTTYPENAME="update strategy" RESOLUTION="REUSE"/> <TYPEOBJECT OBJECTTYPENAME="Custom Transformation" RESOLUTION="REUSE"/> <TYPEOBJECT OBJECTTYPENAME="Lookup Procedure" RESOLUTION="REUSE"/> <TYPEOBJECT OBJECTTYPENAME="Transaction control" RESOLUTION="REUSE"/> <TYPEOBJECT OBJECTTYPENAME="Stored Procedure" RESOLUTION="REUSE"/> <TYPEOBJECT OBJECTTYPENAME="External Procedure" RESOLUTION="REUSE"/> <TYPEOBJECT OBJECTTYPENAME="Joiner" RESOLUTION="REUSE"/> <TYPEOBJECT OBJECTTYPENAME="SessionConfig" RESOLUTION="REUSE"/> <TYPEOBJECT OBJECTTYPENAME="Email" RESOLUTION="REUSE"/> <TYPEOBJECT OBJECTTYPENAME="Command" RESOLUTION="REUSE"/> <TYPEOBJECT OBJECTTYPENAME="Scheduler" RESOLUTION="REUSE"/>

<!--SPECIFICOBJECT allows a particular object(name, typename etc.) to apply replace/reuse upon conflict --> <!--NAME Object name--> <!--EXTRANAME Source DBD name - required for source object to identify uniquely--> <!--OBJECTTYPENAME Object type name--> <!--FOLDERNAME Folder which the object belongs to--> <!--REPOSITORYNAME Repository name that this object belongs to--> <!--RESOLUTION Resolution to apply for the object in case of conflict-->

<SPECIFICOBJECT NAME="ADDRESS" DBDNAME="sol805" OBJECTTYPENAME="Source Definition" FOLDERNAME="PMREP_CHECKED_OUT" REPOSITORYNAME="PMREP_AUTOMATION_1027" RESOLUTION="REUSE"/> <SPECIFICOBJECT NAME="ADDRESS1" DBDNAME="sol805" OBJECTTYPENAME="Target Definition" FOLDERNAME="PMREP_CHECKED_OUT" REPOSITORYNAME="PMREP_AUTOMATION_1027" RESOLUTION="REUSE"/> <SPECIFICOBJECT NAME="MAP_MLET_ADD1" OBJECTTYPENAME="Mapplet" FOLDERNAME="PMREP_CHECKED_OUT" REPOSITORYNAME="PMREP_AUTOMATION_1027" RESOLUTION="REPLACE"/> <SPECIFICOBJECT NAME="MAP_ADD1" OBJECTTYPENAME="Mapping" FOLDERNAME="PMREP_CHECKED_OUT" REPOSITORYNAME="PMREP_AUTOMATION_1027" RESOLUTION="REPLACE"/> <SPECIFICOBJECT NAME="R_AGG1" OBJECTTYPENAME="Aggregator" FOLDERNAME="PMREP_CHECKED_OUT" REPOSITORYNAME="PMREP_AUTOMATION_1027" RESOLUTION="RENAME"/> <SPECIFICOBJECT NAME="R_CUSTOM11_M" OBJECTTYPENAME="Custom Transformation" FOLDERNAME="PMREP_CHECKED_OUT" REPOSITORYNAME="PMREP_AUTOMATION_1027" RESOLUTION="RENAME"/ > <SPECIFICOBJECT NAME="R_EXP11_M" OBJECTTYPENAME="Expression" FOLDERNAME="PMREP_CHECKED_OUT" REPOSITORYNAME="PMREP_AUTOMATION_1027" RESOLUTION="RENAME"/ > <SPECIFICOBJECT NAME="R_FIL11_M" OBJECTTYPENAME="Filter" FOLDERNAME="PMREP_CHECKED_OUT" REPOSITORYNAME="PMREP_AUTOMATION_1027" RESOLUTION="RENAME"/>

502

Appendix A: Working with pmrep Files

<SPECIFICOBJECT NAME="R_LKP1_M" OBJECTTYPENAME="Lookup Procedure" FOLDERNAME="PMREP_CHECKED_OUT" REPOSITORYNAME="PMREP_AUTOMATION_1027" RESOLUTION="RENAME"/ > <SPECIFICOBJECT NAME="R_JOIN1_M" OBJECTTYPENAME="Joiner" FOLDERNAME="PMREP_CHECKED_OUT" REPOSITORYNAME="PMREP_AUTOMATION_1027" RESOLUTION="RENAME"/> <SPECIFICOBJECT NAME="R_RANK1_M" OBJECTTYPENAME="Rank" FOLDERNAME="PMREP_CHECKED_OUT" REPOSITORYNAME="PMREP_AUTOMATION_1027" RESOLUTION="RENAME"/> <SPECIFICOBJECT NAME="R_RANK1_M" OBJECTTYPENAME="Rank" FOLDERNAME="PMREP_CHECKED_OUT" REPOSITORYNAME="PMREP_AUTOMATION_1027" RESOLUTION="RENAME"/> <SPECIFICOBJECT NAME="R_RTR1_M" OBJECTTYPENAME="Router" FOLDERNAME="PMREP_CHECKED_OUT" REPOSITORYNAME="PMREP_AUTOMATION_1027" RESOLUTION="RENAME"/> <SPECIFICOBJECT NAME="R_SEQ1_M" OBJECTTYPENAME="Sequence" FOLDERNAME="PMREP_CHECKED_OUT" REPOSITORYNAME="PMREP_AUTOMATION_1027" RESOLUTION="RENAME"/> <SPECIFICOBJECT NAME="R_SORT1_M" OBJECTTYPENAME="Sorter" FOLDERNAME="PMREP_CHECKED_OUT" REPOSITORYNAME="PMREP_AUTOMATION_1027" RESOLUTION="RENAME"/> <SPECIFICOBJECT NAME="R_TC1_M" OBJECTTYPENAME="Transaction control" FOLDERNAME="PMREP_CHECKED_OUT" REPOSITORYNAME="PMREP_AUTOMATION_1027" RESOLUTION="RENAME"/ > <SPECIFICOBJECT NAME="R_UPD11_M" OBJECTTYPENAME="update strategy" FOLDERNAME="PMREP_CHECKED_OUT" REPOSITORYNAME="PMREP_AUTOMATION_1027" RESOLUTION="RENAME"/ > <SPECIFICOBJECT NAME="SP_CREATEINDEX1_M" OBJECTTYPENAME="Stored Procedure" FOLDERNAME="PMREP_CHECKED_OUT" REPOSITORYNAME="PMREP_AUTOMATION_1027" RESOLUTION="RENAME"/ > <SPECIFICOBJECT NAME="SP_DROPINDEX1_M" OBJECTTYPENAME="Stored Procedure" FOLDERNAME="PMREP_CHECKED_OUT" REPOSITORYNAME="PMREP_AUTOMATION_1027" RESOLUTION="RENAME"/ > <SPECIFICOBJECT NAME="SP_External_M" OBJECTTYPENAME="External Procedure" FOLDERNAME="PMREP_CHECKED_OUT" REPOSITORYNAME="PMREP_AUTOMATION_1027" RESOLUTION="RENAME"/ > <SPECIFICOBJECT NAME="default_session_config" OBJECTTYPENAME="SessionConfig" FOLDERNAME="PMREP_CHECKED_OUT" REPOSITORYNAME="PMREP_AUTOMATION_1027" RESOLUTION="REUSE"/> <SPECIFICOBJECT NAME="Config1" OBJECTTYPENAME="SessionConfig" FOLDERNAME="PMREP_CHECKED_OUT" REPOSITORYNAME="PMREP_AUTOMATION_1027" RESOLUTION="REPLACE"/> <SPECIFICOBJECT NAME="Sched1" OBJECTTYPENAME="Scheduler" FOLDERNAME="PMREP_CHECKED_OUT" REPOSITORYNAME="PMREP_AUTOMATION_1027" RESOLUTION="REPLACE"/> <SPECIFICOBJECT NAME="Command" OBJECTTYPENAME="Command" FOLDERNAME="PMREP_CHECKED_OUT" REPOSITORYNAME="PMREP_AUTOMATION_1027" RESOLUTION="REPLACE"/> <SPECIFICOBJECT NAME="Email" OBJECTTYPENAME="Email" FOLDERNAME="PMREP_CHECKED_OUT" REPOSITORYNAME="PMREP_AUTOMATION_1027" RESOLUTION="REPLACE"/> <SPECIFICOBJECT NAME="s_M_FLAT" OBJECTTYPENAME="Session" FOLDERNAME="PMREP_CHECKED_OUT" REPOSITORYNAME="PMREP_AUTOMATION_1027" RESOLUTION="REPLACE"/> <SPECIFICOBJECT NAME="s_M_FLAT1" OBJECTTYPENAME="Session" FOLDERNAME="PMREP_CHECKED_OUT" REPOSITORYNAME="PMREP_AUTOMATION_1027" RESOLUTION="REPLACE"/> <SPECIFICOBJECT NAME="WLET1" OBJECTTYPENAME="Worklet" FOLDERNAME="PMREP_CHECKED_OUT" REPOSITORYNAME="PMREP_AUTOMATION_1027" RESOLUTION="REPLACE"/> <SPECIFICOBJECT NAME="WLET_CYCLE" OBJECTTYPENAME="Worklet" FOLDERNAME="PMREP_CHECKED_OUT" REPOSITORYNAME="PMREP_AUTOMATION_1027" RESOLUTION="REPLACE"/> <SPECIFICOBJECT NAME="WF_ALL_REUSE_OBJS" OBJECTTYPENAME="Workflow" FOLDERNAME="PMREP_CHECKED_OUT" REPOSITORYNAME="PMREP_AUTOMATION_1027" RESOLUTION="REPLACE"/> <SPECIFICOBJECT NAME="WF_NESTED" OBJECTTYPENAME="Workflow" FOLDERNAME="PMREP_CHECKED_OUT" REPOSITORYNAME="PMREP_AUTOMATION_1027" RESOLUTION="REPLACE"/> </RESOLVECONFLICT> </IMPORTPARAMS>

Using the Object Import Control File

503

Using the Deployment Control File


When you use DeployDeploymentGroup or DeployFolder pmrep commands, you can use a control file to answer questions that you see when you deploy objects using the Copy Wizard. To use pmrep deployment commands you must create an XML file that works with depcntl.dtd. The deployment control file installs with the PowerCenter Client, but you should include its location in the input XML file. The following is a sample of the depcntl.dtd file.
<!ELEMENT DEPLOYPARAMS (DEPLOYFOLDER?, DEPLOYGROUP?)> <!ATTLIST DEPLOYPARAMS DEFAULTSERVERNAME COPYPROGRAMINFO COPYMAPVARPERVALS COPYWFLOWVARPERVALS COPYWFLOWSESSLOGS COPYDEPENDENCY LATESTVERSIONONLY RETAINGENERATEDVAL RETAINSERVERNETVALS CDATA #IMPLIED

(YES | NO) "YES" (YES | NO) "NO" (YES | NO) "NO" (YES | NO) "NO" (YES | NO) "YES" (YES | NO) "NO" (YES | NO) "YES" (YES | NO) "YES">

<!--criteria specific to deploying folders--> <!ELEMENT DEPLOYFOLDER (REPLACEFOLDER?, OVERRIDEFOLDER*)> <!ATTLIST DEPLOYFOLDER NEWFOLDERNAME CDATA #IMPLIED>

<!--criteria for replacing a target folder--> <!ELEMENT REPLACEFOLDER EMPTY> <!ATTLIST REPLACEFOLDER FOLDERNAME RETAINMAPVARPERVALS CDATA #REQUIRED

(YES | NO) "NO"

RETAINWFLOWVARPERVALS (YES | NO) "YES" RETAINWFLOWSESSLOGS MODIFIEDMANUALLY (YES | NO) "NO" (YES | NO) "NO">

<!--shared folder to override--> <!ELEMENT OVERRIDEFOLDER EMPTY> <!ATTLIST OVERRIDEFOLDER SOURCEFOLDERNAME SOURCEFOLDERTYPE TARGETFOLDERNAME TARGETFOLDERTYPE CDATA #REQUIRED

(LOCAL | GLOBAL) "LOCAL" CDATA #REQUIRED

(LOCAL | GLOBAL) "LOCAL"

504

Appendix A: Working with pmrep Files

<!--criteria for clearing a source group in DeployDeploymentGroup--> <!ELEMENT DEPLOYGROUP (OVERRIDEFOLDER*, APPLYLABEL?)> <!ATTLIST DEPLOYGROUP CLEARSRCDEPLOYGROUP (YES | NO) "NO">

<!--labels used to apply on the src objects and deployed objects--> <!ELEMENT APPLYLABEL EMPTY> <!ATTLIST APPLYLABEL SOURCELABELNAME SOURCEMOVELABEL TARGETLABELNAME TARGETMOVELABEL CDATA (YES | NO) CDATA YES | NO) #IMPLIED "NO" #IMPLIED "NO">

Deployment Control File Parameters


Table A-2 lists pmrep deployment control file parameters:
Table A-2. Deployment Control File Elements and Attributes (pmrep) Element DEPLOYPARMS Attribute Name DEFAULTSERVERNAME COPYPROGRAMINFO COPYMAPVARPERVALS COPYWFLOWVARPERVALS COPYWFLOWSESSLOGS COPYDEPENDENCY LATESTVERSIONONLY RETAINGENERATEDVAL RETAINSERVERNETVALS DEPLOYFOLDER REPLACEFOLDER NEWFOLDERNAME FOLDERNAME RETAINMAPVARPERVALS RETAINFLOWVARPERVALS RETAINWFLOWSESSLOGS MODIFIEDMANUALLY OVERRIDEFOLDER SOURCEFOLDERNAME SOURCEFOLDERTYPE Attribute Description Specifies the PowerCenter Server in the target repository to run workflows. Copies SAP R/3 installed ABAP program. Copies mapping variable persistent values. Copies workflow variable persistent values. Copies workflow logs. Copies dependency information for objects in mappings. Copies only the latest version. Keeps the current value for Sequence Generator or Normalizer transformations. Retains server network related values in tasks. Creates a new folder with this name. Name the folder after replacing it. Retains mapping variable persistent values in the target. Retains workflow variable persistent values. Retains workflow session logs in the target. Does not allow replacing of manually modified target folders. Specifies the current folder that shortcuts point to. Indicates local or global folder.

Using the Deployment Control File

505

Table A-2. Deployment Control File Elements and Attributes (pmrep) Element Attribute Name TARGETFOLDERNAME TARGETFOLDERTYPE DEPLOYGROUP APPLYLABEL CLEARSRCDEPLOYGROUP SOURCELABELNAME SOURCEMOVELABEL Attribute Description Changes folder that shortcuts point to. Indicates local or global folder. Removes objects from source group after deploying. Applies a label to all the objects in the source group. Moves the label from a different version of the object in the source group to the deployment group version of the object. If the Repository Agent detects the label is applied to another version of the same object, you can choose to move the label to the selected version of the object. Applies a label to all the objects deployed to the target repository. Moves the label from a different version of the object in the target group to the deployment group version of the object. If the Repository Agent detects the label is applied to another version of the same object, you can choose to move the label to the latest version of the object.

TARGETLABELNAME TARGETMOVELABEL

Example
Suppose you want to deploy the latest version of a folder and include all dependencies. You need to retain the current values in a Sequence Generator transformation, and you need to point the shortcuts from the sc_folder to the new_sc_folder. After you copy the folder, you want to rename it to new_year. You might create a control file with following attributes:
<?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE DEPLOYPARAMS SYSTEM "depcntl.dtd"> <DEPLOYPARAMS DEFAULTSERVERNAME ="info7261" COPYPROGRAMINFO ="NO" COPYWFLOWVARPERVALS ="NO" COPYWFLOWSESSLOGS ="NO" COPYDEPENDENCY ="YES" LATESTVERSIONONLY = "NO"> <REPLACEFOLDER FOLDERNAME ="NEW_YEAR" RETAINVARPERVALS ="YES"/>

<OVERRIDEFOLDER SOURCEFOLDERNAME ="SC_FOLDER" OVERRIDEFOLDERNAME ="NEW_SC_FOLDER"/>

</DEPLOYPARAMS>

506

Appendix A: Working with pmrep Files

Scripting pmrep and pmrepagent Commands


When you use pmrep or pmrepagent, you might use commands with specific options and arguments on a regular basis. For instance, you might use pmrep to perform a daily backup of a production repository. In this case, you can create a script file to call one or more pmrep commands including options and arguments. For example, the following Windows batch file, backupproduction.bat, connects to and backs up a repository called Production on a server named Central:
backupproduction.bat REM This batch file uses pmrep to connect to and back up the repository Production on the server Central @echo off echo Connecting to repository Production... c:\PowerCenter\pmrep\pmrep connect -r Production -n Administrator -x Adminpwd -t microsoft sql server -u sbrown -p sbrownx -c Central@Production echo Backing up repository Production... c:\PowerCenter\pmrep\pmrep backup -o c:\backup\Production_backup.rep

You can run script files from the command interface. You cannot run pmrep batch files while in pmrep interactive mode. pmrep and pmrepagent indicate the success or failure of a command with a return code. Return code (0) indicates that the command succeeded. Return code (-1) indicates the command failed.
Tip: When you create script files using pmrep commands, Informatica recommends that you include a connect command as the first command called by the script file. This helps ensure you are performing tasks on the correct repository.

Scripting pmrep and pmrepagent Commands

507

508

Appendix A: Working with pmrep Files

Appendix B

Permissions and Privileges by Task


This appendix summarizes the available tasks in the PowerCenter Client tools. It then lists the repository privileges and folder permissions required to perform each task in these tools:

Designer Tasks, 510 Workflow Manager Tasks, 511 Workflow Monitor Tasks, 513 pmcmd Tasks, 515 Repository Manager Tasks, 516 pmrep Tasks, 519 pmrepagent Tasks, 520

509

Designer Tasks
To perform the following Designer tasks, you must have one of the listed sets of privileges and permissions. For example, you can edit a mapping if you have one of the following sets of privileges and permissions:

Use Designer privilege with both read and write permission on the folder Super User privilege

Table B-1 lists the required privileges and permissions for Designer tasks:
Table B-1. Required Privileges and Permissions for Designer Tasks Designer Task Connect to the repository using the Designer View sources, targets, transformations, and mappings Create/edit sources, targets, transformations, and mappings Create shortcuts from a shared folder Repository Privilege Use Designer Use Designer Use Designer Use Designer Folder Permission None required Read Read/Write Read permission in the shared folder. Read and write permission in the destination folder. Read permission in the originating folder. Read and write permission for the destination folder. Read/Write Read Read Read/Write Read Read/Execute Read

Copy object from one folder to another Copy and paste objects in mappings or mapplets in the same folder Compare objects Export objects Import objects Edit breakpoints Create a debug session

Use Designer

Use Designer Use Designer Use Designer Use Designer Use Designer Use Designer and Use Workflow Manager Use Designer and Workflow Operator

510

Appendix B: Permissions and Privileges by Task

Workflow Manager Tasks


To perform the following Workflow Manager tasks, you must have one of the listed sets of privileges and permissions. For example, you can edit a session if you have one of the following sets of permissions and privileges:

Use Workflow Manager privilege with both read and write permission on the folder Super User privilege

Note: In addition, if you enabled enhanced security, you must also have read permission for

connection objects associated with the session. Table B-2 lists the required privileges and permissions for Workflow Manager tasks:
Table B-2. Required Privileges and Permissions for Workflow Manager Tasks Repository Privilege Use Workflow Manager Use Workflow Manager Use Workflow Manager Use Workflow Manager Administer Repository Use Workflow Manager Use Workflow Manager Connection Object Permission None required None required None required Read Write Write permission and own the connection object. Write permission and belong to the same group as the owner of the connection object. Execute None required Execute Execute

Workflow Manager Task Connect to the repository using the Workflow Manager Create workflows and tasks Edit workflows and tasks Create and edit sessions Delete Connection

Folder Permission None required Read/Write Read/Write Read/Write None required None required

None required

Schedule or unschedule workflows

Use Workflow Manager Workflow Operator

Read/Execute Read Read/Execute Read

Start workflows immediately

Use Workflow Manager Workflow Operator

Workflow Manager Tasks

511

Table B-2. Required Privileges and Permissions for Workflow Manager Tasks Repository Privilege Use Workflow Manager and Administer Server Use Workflow Manager Use Workflow Manager Administer Repository Administer Server Use Workflow Manager Use Workflow Manager Use Workflow Manager Use Workflow Manager Connection Object Permission None required

Workflow Manager Task Stop the PowerCenter Server

Folder Permission None required

Configure database, FTP, and external loader connections in the Workflow Manager Edit database, FTP, and external loader connections in the Workflow Manager Manage connection object permissions Register PowerCenter Servers and configure server variable directories Export objects Import objects Validate workflows and tasks Run Workflow Monitor

None required

None required

None required

Read, Write

None required None required Read Read/Write Read/Write None required

None required None required None required None required None required None required

512

Appendix B: Permissions and Privileges by Task

Workflow Monitor Tasks


To perform the following Workflow Monitor tasks, you must have one of the listed sets of privileges and permissions. For example, you can restart a workflow if you have one of the following sets of permissions and privileges:

Workflow Operator privilege with execute permission for the folder containing the workflow. Use Workflow Manager privilege with read and execute permissions for the folder containing the workflow. Super User privilege

Table B-3 lists the required privileges and permissions for Workflow Monitor tasks:
Table B-3. Required Privileges and Permissions for Workflow Monitor Tasks Workflow Monitor Task Connect to repository Repository Privilege Use Workflow Manager or Workflow Operator Workflow Operator Use Workflow Manager View the session log Workflow Operator Use Workflow Manager Restart workflow Workflow Operator Use Workflow Manager Stop workflow Workflow Operator Use Workflow Manager Abort workflow Workflow Operator Use Workflow Manager Resume workflow Workflow Operator Use Workflow Manager Folder Permission None required Connection Object Permission None required

Connect to the PowerCenter Server

None required None required Read Read/Execute Execute Execute Execute Execute Execute Execute Execute Execute

None required None required None required None required None required None required None required None required None required None required None required None required

Workflow Monitor Tasks

513

Table B-3. Required Privileges and Permissions for Workflow Monitor Tasks Workflow Monitor Task View session details and session performance details Repository Privilege Use Workflow Manager Use Workflow Manager Folder Permission Read Read Connection Object Permission None required None required

514

Appendix B: Permissions and Privileges by Task

pmcmd Tasks
To perform the following pmcmd tasks, you must have one of the listed sets of privileges and permissions. For example, you can start a workflow using pmcmd if you have the following permissions and privileges:

Workflow Operator privilege Execute permission on the folder

Note: If you enabled enhanced security, you must have execute permission for connection

objects associated with the session in addition to the privileges and permissions listed above. Table B-4 lists the required privileges and permissions for pmcmd tasks:
Table B-4. Required Privileges and Permissions for pmcmd Tasks pmcmd Task Ping the PowerCenter Server Stop the PowerCenter Server All other tasks Repository Privilege None required Administer Server Use Workflow Manager Workflow Operator Folder Permission None required None required Execute None required Connection Object Permission None required None required Execute Execute

pmcmd Tasks

515

Repository Manager Tasks


To perform the following Repository Manager tasks, you must have one of the listed sets of privileges and permissions. For example, you can edit the properties of a folder if you have one of the following sets of permissions or privileges:

Browse Repository privilege, as the folder owner with read permission on the folder Administer Repository privilege with read permission on the folder Super User privilege

Table B-5 lists the required permissions and privileges for Repository Manager tasks:
Table B-5. Required Permissions and Privileges for Repository Manager Tasks Repository Manager Task Add to deployment group Apply label Change object version comments Change status of an object Change your password Check in Check in/undo check out for other users Check out/undo check out Connect to the repository using the Repository Manager Copy a folder to a different repository Repository Privilege Use Repository Manager Use Repository Manager Use Repository Manager or be check-out owner Use Repository Manager Browse Repository Use Repository Manager Administer Repository Use Repository Manager Browse Repository Browse Repository on the originating repository and Administer Repository on the destination repository Administer Repository Folder Permission Read Read Write Write None required Write Write Write None required Read permission on the original folder None required None required None required None required None required None required Read Other Permission Write on deployment group Execute on label

Copy a folder within the same repository

Read permission on the original folder Read permission on the original folder Read on the original folders Write on target

Read

Browse Repository

None required

Copy global object

Use Repository Manager

516

Appendix B: Permissions and Privileges by Task

Table B-5. Required Permissions and Privileges for Repository Manager Tasks Repository Manager Task Create a folder Create or edit deployment group Create or edit label Create or edit query Delete (versioning) Delete a folder Repository Privilege Administer Repository Administer Repository Administer Repository Browse Repository Use Repository Manager Browse Repository Administer Repository Delete from Deployment Group Deploy Edit folder Use Repository Manager Administer Repository Browse Repository Administer Repository Edit folder properties Browse Repository Administer Repository Export objects Freeze folder Use Repository Manager Browse Repository Administer Repository Import objects Import, export, or remove the registry Manage users, groups, and privileges Mass update Purge (versioning) Receive user and group notifications Recover Remove Label References Run Query Use Repository Manager Browse Repository Administer Repository Super User Administer Repository Super User Use Repository Manager Use Repository Manager Browse Repository Manager Folder Permission None required N/A N/A N/A Write Folder owner and read permission Read N/A Read on the original folder. Folder owner and read permission Read Folder owner and read permission Read Read Folder owner and read permission Read Read/Write None required None required Write Write None required Write N/A N/A Other Permission None required Edit: Write on deployment group Edit: Write on label Write on query None required None required None required Write on deployment group Read and execute on deployment group None required None required None required None required None required None required None required None required None required None required None required None required None required None required None required Read on query

Repository Manager Tasks

517

Table B-5. Required Permissions and Privileges for Repository Manager Tasks Repository Manager Task Search target tables by keyword Terminate other users and unlock objects Unlock an object or folder locked by your username Unlock any locked object or folder in the repository View dependencies Repository Privilege Browse Repository Super User Browse Repository Super User Browse Repository Folder Permission Read None required Read None required Read Other Permission None required None required None required None required None required

518

Appendix B: Permissions and Privileges by Task

pmrep Tasks
To perform the following pmrep tasks, you must have one of the listed sets of privileges and permissions. For example, you can list objects in a repository if you have one of the following permissions or privileges:

Browse Repository privilege with read permission on the folder Super User privilege

Table B-6 lists the required permissions and privileges for pmrep tasks:
Table B-6. Required Permissions and Privileges for pmrep Tasks pmrep Task List repository objects (Listobjects) List sources or targets in a session (Listtablesbysess) Export objects (ObjectExport) Import objects (ObjectImport) Change the name of an existing connection (Switchconnection) Update email addresses (Updateemailaddr) Update source table owner names (Updatesrcprefix) Update target table name prefixes (Updatetargprefix) Update transformation properties for Sequence Generator transformations (Updateseqgenvals) All other tasks Repository Privilege Browse Repository Use Workflow Manager Use Repository Manager Use Repository Manager Super User Folder Permission Read Read Read Read/Write None required Connection Object Permission None required None required None required None required None required

Use Workflow Manager Use Workflow Manager Use Workflow Manager Use Designer

Write Write Write Write

None required None required None required None required

Administer Repository

None required

None required

pmrep Tasks

519

pmrepagent Tasks
You do not need any privilege or permission to perform pmrepagent tasks. However, when you must provide a repository user name and password, use one with the Administer Repository privilege. The repository user name does not require any folder or connection object permissions.

520

Appendix B: Permissions and Privileges by Task

Index

A
activity log Administration Console 56 addprivilege description 450 Addrepository description 414 Addserver description 413 AddToDeploymentGroup description 461 Addusertogroup description 450 Administer Repository privilege limiting 161 Administration Console activity log 56 adding repository configurations 105 backing up repositories 66 closing connections 83 connecting to Repository Server 58 Console Tree 52 copying repositories 62 creating repositories 116 deleting repositories 64 disabling repositories 73 editing repository configurations 113 enabling repositories 71

exporting repository configurations 115 HTML view 53 importing repository configurations 115 List view 53 Main window 53 MMC 52 overview 50 privileges 50 promoting repositories 117 propagating domain information 78 registering local repositories 75 registering repository plug-ins 85 removing repository configurations 114 repositories node 54 repository name node 54 Repository Server name node 54 Repository Servers node 54 restoring repositories 67 sending repository notifications 74 starting 52 starting repositories 71 stopping repositories 71 unregistering repository plug-ins 85 updating licenses 111 using 52 viewing connections 79 advanced mode copying deployment groups 259 copying folders 244

521

ApplyLabel description 462 associating server with sessions 245 audit trails 208 configuration setting 110 creating 153 authenticating users description 131 authentication switching methods 133 using LDAP 131

B
backing up repositories 66 repositories with pmrep 416 repositories with pmrepagent 477 Backup command pmrep 416 pmrepagent 477 Bulkrestore command description 479

C
Changepassword description 450 Checkin description 464 CheckinCommentsRequired repository configuration 110 checking in description 213 non-reusable objects 213 when importing objects 280 checking out description 211 non-reusable objects 211 undoing a checkout 213 checkouts searching for checked out objects 211 viewing 211 Cleanup description 411 ClearDeploymentGroup description 465 code pages See also Installation and Configuration Guide
522 Index

exporting objects 266 global repository 117 importing objects 266 local repository 75 repository 51, 192 command line program See pmrep See also pmrepagent comments accessing metadata 335 comparing See also Designer Guide See also Workflow Administration Guide folders 174 Repository objects 45 Workflow Manager objects 21, 45 conflicts copying Designer objects 310 copying workflow segments 308 database connections 307 mapping 307 resolving when importing 281 connect string examples 405 syntax 405 connecting to repositories 30, 31 connection objects See also Workflow Administration Guide definition 10 permissions and privileges 245 connections terminating 83 viewing 79 connectivity connect string examples 405 connectivity license keys overview 119 ConnectString setting for repository configuration 107 Console Tree Administration Console 52 control file deployment 504 object import 496 ObjectImport XML example 500 Copy Wizard copying objects 302 resolving conflicts 300 viewing object dependencies 305

copying See also copying deployment groups 254 See also copying folders 248 Copy Wizard procedure 302 deployment groups 254 Designer objects 310 folders 250 in Workflow Manager 306 mapping segments 310 mapping variables 307 mapplet segments 310 repositories 62 resolving conflicts 300 sessions 306 shortcuts 195 workflow segments 308 workflows 306 worklets 306 copying deployment groups copying composite objects 255 copying shortcuts 256 in advanced mode 244 in typical mode 244 steps 258 copying folders from local to global repositories 250 in advanced mode 244 in typical mode 244 shortcuts in folders 249 within a repository 250 CRCVALUE codes overview 267 Create command description 480 CreateConnection description 417 CreateDeploymentGroup description 465 Creategroup description 452 CreateLabel description 466 Createuser description 452 creating global shortcuts 190 local shortcuts 187 metadata extensions 328 MX views 336 repositories 116 repositories using pmrepagent 480

repository users 134 user groups 128 users under an external directory 137

D
database connections See also Workflow Administration Guide during folder or deployment group copy 245 permissions and privileges 245 database definitions MX view 338 DatabaseArrayOperationSize configuration setting 110 setting for repository configuration 110 DatabaseConnectionTimeout setting for repository configuration 110 DatabasePoolSize setting for repository configuration 110 DatabaseType setting for repository configuration 107 DateDisplayFormat setting for repository configuration 109 DB2 See IBM DB2 DBPassword setting for repository configuration 107 DBUser setting for repository configuration 107 Decision Support Systems (DSS) working with Informatica metadata 335 default groups security 127 default users editing 131 Delete command description 481 Deleteconnection description 420 DeleteDeploymentGroup description 466 DeleteFolder description 453 DeleteLabel description 467 Deleteserver description 421 deleting folders 173 metadata extensions 332

Index

523

recovering deleted objects 215 repositories 64 repositories using pmrepagent 481 user groups 129 versioned objects 215 depcntl.dtd listing 504 dependencies source-target 27 viewing 27, 37 dependent objects exporting and importing 270 DeployDeploymentGroup description 467 DeployFolder description 469 deploying objects depcntl.dtd 504 rolling back a deployment 238 deployment groups copying 254, 258 copying composite objects 255 copying shortcuts 256 creating 237 definition 218 dynamic 240 editing 237 rolling back a deployment 238 static 239 Designer See also Designer Guide copying objects 310 permissions 510 development license key overview 119 Disablerepository description 421 documentation conventions xxxvii description xxxvi domains building 13 configuring for global shortcuts 192 connectivity 75 reusing data 15 dropping MX views 336 DTD file exporting and importing objects 267 plug-in template 484

dynamic deployment groups associating with a query 240 definition 236 editing 240 DynamicConfigRefreshInterval setting for repository configuration 110

E
editing folder permissions 149 folders 173 metadata extensions 331 repository users 138 user 138 user groups 129 Edituser description 454 Enablerepository description 422 enabling a user description 139 environment variables repository username and password 408 Error Severity Level Repository Agent messages 101 Repository Server messages 98 setting for repository configuration 109 exchanging metadata 314 execute lock description (repository) 154 ExecuteQuery description 470 Exit description 411 exiting pmrep 411 exporting metadata 314 registries 32 repository configurations 115 sources and targets 314 exporting objects code pages 266 dependent objects 270 multiple objects 269 overview 264, 276 parent objects 271 permissions 266

524

Index

powrmart.dtd 267 privileges 266 sessions 272 shortcuts 270 steps for 285 versioned objects 273 external loader connections during folder or deployment group copy 245 permissions and privileges 245 external security module registering 484 unregistering 489

properties 168, 171 renaming 173 Repository Manager uses 166 shared 15, 169 shortcuts 249 Workflow Manager uses 166 FTP connections during folder or deployment group copy 245 permissions and privileges 245

G
global objects See Workflow Administration Guide global repositories code page 117, 192 creating 14 promoting 112, 117 purpose 13 shared folders 170 global shortcuts behavior when copying folders 250 creating 190 definition 182, 249 environment 192 repository usernames 193 server username 193 tips 197 updating 194 updating views 194 groups creating user 128 default security 127 editing description 129

F
FindCheckout description 472 flat files MX view of repository file definitions 343 view of fields 345 folder permissions description 126 editing 149 overview 148, 168 security levels 148 user groups 128 folder status changing 207 description 207 folders comparing 174 copying 245, 249 copying between local repositories 250 copying global shortcuts 250 copying local shortcuts 249 copying or replacing 250 copying shortcuts 249 creating 171 deleting 173, 453 deploying 469 Designer uses 166 editing 173 editing permissions 149 locking during folder copy 249 maintaining connections during copy 245 modifying 456 naming copies 249 organizing 166 overview 166 owner and owners group 169

H
HTML view Administration Console 53

I
IBM DB2 connect string example 405 setting tablespace name 107 Import Wizard importing objects 287 resolving object conflicts 281

Index

525

importing metadata 314 objects 280 ODBC data sources 33 registries 32 repository configurations 115 sources and target 314 importing objects code pages 266 CRCVALUE codes 267 dependent objects 270 DTD file 267 impcntl.dtd 496 Import Wizard 287 multiple objects 269 ObjectImport XML example 500 overview 264 parent objects 271 permissions 266 powrmart.dtd 267 privileges 266 resolving conflicts 281 sessions 272 shortcuts 274 steps for 287 validating objects 281 validating XML file 280 XML file 267 Informatica documentation xxxvi Webzine xxxviii Informix connect string syntax 405 interactive mode pmrep 406 in-use lock description (repository) 154

K
KeepAliveTimeout setting for repository configuration 110 keywords searching for target definitions 34

L
labels applying 221, 462 applying when importing 280
526 Index

creating 219, 466 definition 218 deleting 467 editing 219 launching Administration Console 52 LDAP authentication description 131 LDAP authentication module configuring 92 LDAP security module registering 88 unregistering 95 license files compatibility between files 122 overview 120 PowerCenter Server 122 repository 120 license key types development 119 production 119 license keys connectivity 119 option 119 overview 119 product 119 repository types 119 licenses See also license files 119 See also license keys 119 overview 119 rules and guidelines 123 updating 111 List view Administration Console 53 Listallgroups description 455 Listallprivileges description 455 Listallusers description 455 ListObjectDependencies description 429 Listobjects description 423 listing folders 427 listing transformations 427 transformation types 426 Listtablesbysess description 428

local repositories See also repositories code page 75, 192 promoting to global 112 registering 75 local shortcuts behavior when copying folders 249 creating 187 definition 182, 249 tips 197 updating 194 updating views 194 locking description 126 during deployment group copy 254 during folder copy 249 locks releasing 83 viewing 80, 157 log entries truncating 48 log files codes 97 Repository Agent 100 Repository Server 98 LogFileName setting for repository configuration 110 logs deleting 439 Repository Agent 100 Repository Server 98

M
main window Administration Console 53 sorting and organizing 25 mapping segments copying 310 mappings See also Designer Guide conflicts 307 copying mapping variables 307 copying segments 310 dependencies 27 description 9 metadata extensions in 326 view of source fields 359 view of source fields used by targets 358 view of sources 359

view of target tables 360 mapplet segments copying 310 mapplets See also Designer Guide description 9 metadata extensions in 326 MaximumConnections setting for repository configuration 109 MaximumLocks setting for repository configuration 110 MessageReceiveTimeOut setting for repository configuration 108 MessageSendTimeout setting for repository configuration 108 metadata adding to repository 9 analyzing 335 definition 2 exchanging 314 exporting 314 importing 314 multi-dimensional 9 protection levels within folders 168 reusing 14 reusing across folders 182 sharing 14 viewing 334 metadata exchange See MX (Metadata Exchange) metadata extensions copying 246 creating 328 deleting 332 description 326 editing 331 non-reusable 327 overview 326 reusable 327 Microsoft Management Console See MMC Microsoft SQL Server connect string syntax 405 MMC Administration Console 52 Modifyfolder description 456 MQ connections See PowerCenter Connect for IBM MQSeries User and Administrator Guide

Index

527

MX (Metadata Exchange) Change Management views 398 database definition views 338 deployment views 392, 396 folder view 401 integrating views with third-party software 337 label views 398 mapping views 353 mapplet views 353 metadata extension views 364 overview 334 PowerCenter Server views 396 repository view 395 security views 390 source views 339 target views 347 task views 371 transformation views 366 workflow views 371 worklet views 371 MX views categories 334 creating 336 dropping 336 field-level summary 338 integrating with third-party software 337 REP_ALL_MAPPINGS 354 REP_ALL_MAPPLETS 355 REP_ALL_SCHEDULERS 374 REP_ALL_SOURCE_FLDS 341 REP_ALL_SOURCES 339 REP_ALL_TARGET_FIELDS 349 REP_ALL_TARGETS 347 REP_ALL_TASKS 374 REP_ALL_TRANSFORMS 366 REP_CM_LABEL 399 REP_CM_LABEL_REF 399 REP_COMPONENT 384 REP_DATABASE_DEFS 338 REP_DEPLOY_GROUP 392 REP_DEPLOY_GROUP_DETAIL 393 REP_EVENT 376 REP_FLD_MAPPING 358 REP_GROUPS 391 REP_LOAD_SESSIONS 380 REP_MAPPING_PORT_CONN 363 REP_MAPPING_UNCONN_PORTS 362 REP_METADATA_EXTN_DEFINES 365 REP_METADATA_EXTNS 364 REP_REPOSIT_INFO 395 REP_SEG_FLDS 345

REP_SERVER_INFO 396 REP_SERVER_NET 397 REP_SERVER_NET_REF 397 REP_SESS_CONFIG_PARM 385 REP_SESS_LOG 387 REP_SESS_PARTITION_DEP 385 REP_SESS_TBL_LOG 388 REP_SESS_WIDGET_CNXS 383 REP_SESSION_CNXS 381 REP_SESSION_FILES 382 REP_SESSION_INSTANCE_FILES 383 REP_SESSION_INSTANCES 381 REP_SRC_FILE_FLDS 345 REP_SRC_FILES 343 REP_SRC_FLD_MAP 359 REP_SRC_MAPPING 359 REP_SRC_TBL_FLDS 346 REP_SRC_TBLS 344 REP_SUBJECT 401 REP_TARG_FLD_MAP 357 REP_TARG_MAPPING 356 REP_TARG_TBL_COLS 351 REP_TARG_TBL_JOINS 361 REP_TARG_TBLS 350 REP_TASK_ATTR 386 REP_TASK_INST 377 REP_TASK_INST_RUN 378 REP_TBL_MAPPING 360 REP_USER_GROUPS 391 REP_USERS 390 REP_VERSION_PROPS 398 REP_WFLOW_RUN 379 REP_WFLOW_VAR 375 REP_WIDGET_ATTR 369 REP_WIDGET_DEP 368 REP_WIDGET_FIELD 369 REP_WIDGET_INST 368 REP_WORKFLOW_DEP 377 REP_WORKFLOWS 372 SQL scripts 336

N
naming copied folders 249 replaced folders 249 native connect string See connect string Navigator Administration Console 52

528

Index

Repository Manager 23 notifications receiving in Designer 6 receiving in Repository Manager 6 sending 74 notify description 431

Owners Group security level description (folder) 148

P
parent objects exporting and importing 271 password editing user 136 permissions Administration Console tasks 50 configuring for folders 148 configuring for versioning objects 149 Designer tasks 510 editing folder 149 exporting objects 266 folder types 168 importing objects 266 pmcmd 515 pmrep tasks 519 pmrepagent tasks 520 Repository Manager tasks 516 security levels (folder) 169 troubleshooting 163 Workflow Manager tasks 511 Workflow Monitor tasks 513 persistent input file creating with pmrep 494 persistent resources cleaning up with pmrep 411 plug-ins See also repository plug-ins XML templates 484 pmcmd permissions 515 See also Workflow Administration Guide pmrep adding a privilege 450 adding a user to a group 450 adding to a deployment group 461 applying a label 462 backing up a repository 416 Change Management commands 460 changing the connection name 438 changing the repository password 450 checking in an object 464 cleaning persistent resources 411 clearing deployment group 465 command arguments 407 command line modes 406

O
object dependencies viewing from the Copy Wizard 305 object locks See also locks overview 155 object queries associating with a deployment group 240 configuring multiple conditions 225 configuring query conditions 225 definition 218 running 232 searching for dependent objects 225 validating 231 object status changing 206 description 206 ObjectExport description 432 ObjectImport description 433 objects checking in 464 copying 302 exporting 276, 432 importing 280, 433 modifying in XML file 277 validating for import 281 validating multiple 42 viewing dependencies 37 ODBC data sources See also Installation and Configuration Guide importing 33 option license keys overview 119 Oracle connect string syntax 405 Output window Repository Manager 28 Owner security level description (folder) 148

Index

529

command options 407 command tips 492 commands 410 connecting to a repository 410 creating a deployment group 465 creating a group 452 creating a label 466 creating a persistent input file 494 creating a user 452 deleting a deployment group 466 deleting a folder 453 deleting a label 467 deleting a server 421 deploying a deployment group 467 deploying a folder 469 deployment control parameters 505 disabling a repository 421 editing a user 454 enabling a repository 422 executing a query 470 exiting 411 exporting objects 432 importing objects 433 interactive mode 406 listing all groups 455 listing all privileges 455 listing all users 455 listing checked-out objects 472 listing object dependencies 429 listing objects 423 listings tables by session 428 modifying folder properties 456 object import control parameters 498 overview 404 permissions 519 registering a user 457 registering local repositories 434 removing a group 457 removing a privilege 458 removing a user 458 removing a user from a group 459 removing repositories 435 repository commands 412 running script files 436 security commands 449 sending notification messages 431 showing connection information 437 stopping a repository 437 undoing check-out 473 unregistering local repositories 440 updating a database connection 441

updating email addresses 442 updating notification email addresses 442 updating repository statistics 447 updating sequence values 444 updating server details 443 updating server variables 446 updating table owner name 445 updating target table name prefix 447 using script files 507 using scripts 491 validating objects 474 pmrepagent backing up repositories 477 command tips 492 commands 477 creating repositories 480 deleting repositories 481 permissions 520 registering a plug-in 482 restoring repositories 485 restoring Teradata repositories 479 unregistering plug-ins 487 upgrading repositories 490 using script files 507 using scripts 491 post-session email updating addresses with pmrep 442 PowerCenter building domains 13 copy from local to global repositories 250 security, overview 126 shared folders 170 PowerCenter Client security 126 PowerCenter Metadata Reporter using 335 PowerCenter Server See also Workflow Administration Guide during folder copy 245 licenses 122 security 126 server variables 245 starting 193 PowerCenter Server license files overview 122 powrmart.dtd overview 267 privileges See also permissions See also repository privileges Administration Console tasks 50

530

Index

Designer tasks 510 exporting objects 266 importing objects 266 limiting 160 removing 458 Repository Manager tasks 516 repository, overview 142 troubleshooting 163 Workflow Manager tasks 511 product license keys overview 119 promoting repositories 117 purging description 216 objects 216

Q
queries See also object queries executing 470

R
recovering deleted objects 215 register description 434 registering a user 457 plug-in using pmrepagent 482 security module using pmrepagent 484 Registerplugin description 482 Registeruser description 457 registry exporting 32 importing 32 releasing repository locks 83, 158 removerepsitory description 435 removing repositories 29 users 141 replacing folders 248, 250

reports metadata 335 repositories adding 29 adding metadata 9 administration overview 11 architecture 3 avoiding shared accounts 160 backing up 66 backing up with pmrepagent 477 changing a code page 117 checking status 54 code pages 51, 75, 117, 192 connecting to 30 connecting to multiple 31 connecting with pmrep 410 connectivity 4 copying 62 copying folders between local 250 creating 116 creating relational connections 417 creating users 134 database definition views 338 default privileges 143 deleting 64 disabling 73, 421 enabling 71 enabling version control 118 exporting/importing registries 32 licenses 120 limiting access 161 locks 154 log file codes 97 log files 97 managing 52 moving to a different Repository Server 77 object locking, overview 155 overview 2, 50 promoting 117 propagating domain information 78 referencing objects with shortcuts 183 registering 434 registering local repositories 75 removing 29, 435 requirements 116 restoring 67 restricted characters for repository name 106 security 126, 160 security log file 153 security, troubleshooting 163 starting 71

Index

531

stopping 71 stopping with pmrep 437 types of 50 unregistering 440 version control 16 view of associated target tables 350 view of target table properties 351 viewing details 26 viewing locks 157 viewing metadata 334 repository deleting details from 439 enabling 422 Repository Agent architecture 3 checking status 54 connectivity 4 disabling 73 enabling 71 identifying process ID 97 log file codes 97 logging 100 starting 71 stopping 71 repository configuration CheckinCommentsRequired 110 creating 104 dynamically updating 113 editing 113 exporting 115 importing 115 removing 114 setting CodePage 107 setting ConnectString 107 setting DatabaseArrayOperationSize 110 setting DatabaseConnectionTimeout 110 setting DatabasePoolSize 110 setting DatabaseType 107 setting DateDisplayFormat 109 setting DBPassword 107 setting DBUser 107 setting DynamicConfigRefreshInterval 110 setting Error Severity Level 109 setting KeepAliveTimeout 110 setting LogFileName 110 setting MaximumConnections 109 setting MaximumLocks 110 setting MessageReceiveTimeOut 108 setting MessageSendTimeOut 108 setting SecurityAuditTrail 110 setting TablespaceName 107

setting ThreadWaitTimeout 110 repository connections terminating 83, 152 viewing 79, 151 repository license files overview 120 repository license key overview 120 repository locks overview 154 releasing 158 types of 154 viewing 157 Repository Manager components 22 dependency window 27 folder maintenance overview 166 folders 23 main window 25 Navigator 23 Output window 28 overview 20 permissions 516 repository details 26 sessions node details 26 windows 23 repository notifications overview 6 receiving in PowerCenter Server 7 receiving in Workflow Manager 7 receiving in Workflow Monitor 7 sending 74 repository objects description 10 metadata extensions in 326 repository plug-ins registering 85 removing 85 updating 86 repository privileges See also permissions assigning 146 description 126 overview 142 revoking 146, 147 repository security level description (folder) 148 Repository Server Administration Console 50 architecture 3 client connections 3

532

Index

configuring system environment 5 connecting 58 connectivity 4 identifying process ID 97 log file codes 97 logging 98 managing individual repositories 52 moving repositories 77 notifications 6 Propagate command 78 repository type license keys 119 repository users creating 134 creating global shortcuts 193 creating with default security 134 default privileges 143 default repository privileges 143 description 126 editing 138 editing password 136 overview 131 resolving object conflicts importing objects 281 Restore command description 485 restoring repositories 67 repositories using pmrepagent Bulkrestore 479 repositories using pmrepagent Restore 485 reusable transformations description 9 Rmgroup description 457 Rmprivilege description 458 Rmuser description 458 Rmuserfromgroup description 459 Run description 436

S
script files running 436 scripts using 491

search See also Designer Guide keyword 34 security creating an audit trail 153 overview 126 pmrep commands 449 repository users 131 tips 160 troubleshooting 163 security module restoring repositories with 67 SecurityAuditTrail logging activities 153 setting for repository configuration 110 server variables during folder copy 245 updating with pmrep 446 Servers adding 413 session directories See server variables 245 session logs truncating 48 Session Operator privilege limiting 162 sessions copying 306 copying mapping variables 307 database connection conflicts 307 description 10 exporting 272 importing 272 metadata extensions in 326 view of current logs 387 view of current scheduled 380 view of individual session 388 sessions nodes details viewing 26 shared accounts avoiding 160 shared folders See also folders description 15 shortcuts See also Designer Guide advantages 183 behavior when copying folders 249, 250 copying 195 default names 184 dependencies 27

Index

533

description 9 descriptions inherited 184 exporting 270 global 182, 190, 192 importing 274 local 182, 187 overview 182 properties 184 referenced objects 183, 185 refreshing properties 194 renaming source qualifiers 196 tips 197 to folders 249 troubleshooting 198 updating 194 updating views 194 using 194 using queries to locate 230 Showconnectioninfo description 437 source databases view of analyzed or imported sources 344 view of fields 346 source definitions description 9 metadata extensions in 326 source file connections node viewing details 26 sources exporting to BI tools 314 importing from BI tools 314 source-target dependencies description 27 SQL scripts for creating/dropping MX views 336 starting Administration Console 52 repositories 71 static deployment groups definition 236 editing 239 statistics updating repository 447 status user statuses with LDAP 131 status bar progress indicator 22 stopping repositories 71 repositories with pmrep 437

stopRepository command pmrep 437 Super User privilege limiting 161 SwitchConnection description 438

T
table owner name updating with pmrep 445 TablespaceName setting for repository configuration 107 target definitions description 9 keyword searches 34 metadata extensions in 326 view of associated transformations 357 view of joins between target tables 361 view of table-level transformations 356 targets exporting to BI tools 314 importing from BI tools 314 tasks metadata extensions in 326 Teradata connect string example 405 restoring repositories using pmrepagent 479 ThreadWaitTimeout setting for repository configuration 110 tips pmrep commands 492 pmrepagent commands 492 repository security 160 shortcuts 197 transformations description 9 metadata extensions in 326 troubleshooting exporting objects 296 importing objects 296 repository security 163 shortcuts 198 Truncatelog description 439 typical mode copying folders 244

534

Index

U
UndoCheckout description 473 unregister description 440 unregistering plug-ins using pmrepagent 487 security module using pmrepagent 489 Unregisterplugin description 487 UpdateConnection description 441 Updateemailaddr description 442 Updateseqgenvals description 444 Updateserver description 443 Updatesrcprefix description 445 updating non-reusable sessions 446 Updatesrvvar description 446 Updatestatistics description 447 Updatetargetprefix description 447 updating non-reusable sessions 448 updating repository license files 111 shortcuts 194 Upgrade description 490 upgrading repositories using pmrepagent 490 user connections description 126 terminating 83, 152 viewing 79, 151 user groups creating 128 default repository privileges 143 defaults 127 deleting 129 description 126 editing 129 folder permissions 128 limiting privileges 160 overview 127

users adding to repositories 134 adding under an external directory 137 authentication 131 customizing privileges 161 default users 131 editing 138 enabling 139 LDAP authentication 131 removing 141 valid statuses with LDAP 131

V
validating objects 42 validating objects with pmrep Validate 474 variables copying mapping variables 307 updating with pmrep 446 version control enabling for repositories 118 version history viewing 208 versioned objects checking in 211 checking out 211 deleting 215 exporting 273 object status 205 overview 200 purging 216 recovering a deleted object 215 sample scenario 201 tracking changes 208 viewing applied labels 205 viewing history 208 viewing object properties 203 viewing properties 203 viewing version properties 204 versioning object permissions description 126 versioning objects configuring permissions 149 definition 218 deployment groups 236 labels 219 object queries 224

Index

535

versions purging 216 tracking changes 208 viewing object version history 208 viewing properties 203 viewing repository locks 80 user connections 79

validating for object import 280 validating objects 281

W
webzine xxxviii windows displaying Repository Manager 23 workflow logs truncating 48 Workflow Manager See also Workflow Administration Guide copying in 306 permissions 511 Workflow Monitor See also Workflow Administration Guide permissions 513 workflow segments copying 308 workflow tasks See also Workflow Administration Guide description 10 workflows See also Workflow Administration Guide copying 306 description 10 metadata extensions in 326 worklets See also Workflow Administration Guide copying 306 description 10 metadata extensions in 326 write permission description (folder) 168 write-intent lock description (repository) 154

X
XML file CRCVALUE codes 267 exporting and importing objects 267 modifying objects 277 plug-in templates 484
536 Index

You might also like