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) 1998–2004 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

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

List of Figures xv
Figure 11-2. Export Options Dialog Box . . . . . . . . . . . . . . . . ... . . .. . .. . . .. . . .. . .. . .271
Figure 11-3. Import Wizard - Resolve General Object Conflicts .. . . .. . .. . . .. . . .. . .. . .282
Figure 11-4. Import Wizard - Resolve Specific Object Conflicts .. . . .. . .. . . .. . . .. . .. . .283
Figure 11-5. Conflict Resolution Wizard . . . . . . . . . . . . . . . . ... . . .. . .. . . .. . . .. . .. . .284
Figure 12-1. The Copy Wizard . . . . . . . . . . . . . . . . . . . . . . . ... . . .. . .. . . .. . . .. . .. . .298
Figure 12-2. Copy Wizard Resolutions . . . . . . . . . . . . . . . . . . ... . . .. . .. . . .. . . .. . .. . .301
Figure 12-3. Copy Wizard Mapping Conflicts . . . . . . . . . . . . ... . . .. . .. . . .. . . .. . .. . .303

xvi List of Figures


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

List of Tables xvii


Table 10-3. Copy Deployment Group Wizard Prompts . . . . . . . . . . . . . . .. . . .. . . .. . .. . .259
Table 11-1. Exporting and Importing Objects Permissions and Privileges . .. . . .. . . .. . .. . .266
Table 11-2. Options for Exporting and Importing Multiple Objects . . . . . .. . . .. . . .. . .. . .269
Table 11-3. Dependent Objects Exported . . . . . . . . . . . . . . . . . . . . . . . . .. . . .. . . .. . .. . .270
Table 11-4. Options for Exporting Objects . . . . . . . . . . . . . . . . . . . . . . . .. . . .. . . .. . .. . .271
Table 11-5. Modifiable Repository Objects . . . . . . . . . . . . . . . . . . . . . . . .. . . .. . . .. . .. . .278
Table 11-6. Resolving General Conflicts During Import. . . . . . . . . . . . . . .. . . .. . . .. . .. . .282
Table 12-1. Copy Wizard Areas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . .. . . .. . .. . .299
Table 12-2. Copy Wizard Resolutions . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . .. . . .. . .. . .300
Table 13-1. Metadata Import Wizard - PowerCenter Options . . . . . . . . . . .. . . .. . . .. . .. . .321
Table 14-1. Options for Creating Reusable Metadata Extensions . . . . . . . .. . . .. . . .. . .. . .329
Table 15-1. MX View Categories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . .. . . .. . .. . .334
Table 15-2. SQL Script to Create MX Views . . . . . . . . . . . . . . . . . . . . . . .. . . .. . . .. . .. . .336
Table 15-3. SQL Script to Drop MX Views . . . . . . . . . . . . . . . . . . . . . . . .. . . .. . . .. . .. . .336
Table 15-4. REP_DATABASE_DEFS MX View . . . . . . . . . . . . . . . . . . . .. . . .. . . .. . .. . .338
Table 15-5. Source Views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . .. . . .. . .. . .339
Table 15-6. REP_ALL_SOURCES MX View . . . . . . . . . . . . . . . . . . . . . . .. . . .. . . .. . .. . .339
Table 15-7. REP_ALL_SOURCE_FLDS MX View . . . . . . . . . . . . . . . . . .. . . .. . . .. . .. . .341
Table 15-8. REP_SRC_FILES MX View . . . . . . . . . . . . . . . . . . . . . . . . . .. . . .. . . .. . .. . .343
Table 15-9. REP_SRC_TBLS MX View . . . . . . . . . . . . . . . . . . . . . . . . . .. . . .. . . .. . .. . .344
Table 15-10. REP_SRC_FILE_FLDS and REP_SEG_FLDS MX Views . . .. . . .. . . .. . .. . .345
Table 15-11. REP_SRC_TBL_FLDS MX Views . . . . . . . . . . . . . . . . . . . .. . . .. . . .. . .. . .346
Table 15-12. Target Views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . .. . . .. . .. . .347
Table 15-13. REP_ALL_TARGETS MX View . . . . . . . . . . . . . . . . . . . . . .. . . .. . . .. . .. . .347
Table 15-14. REP_ALL_TARGET_FIELDS MX View . . . . . . . . . . . . . . . .. . . .. . . .. . .. . .349
Table 15-15. REP_TARG_TBLS MX View . . . . . . . . . . . . . . . . . . . . . . . .. . . .. . . .. . .. . .351
Table 15-16. REP_TARG_TBL_COLS MX View . . . . . . . . . . . . . . . . . . .. . . .. . . .. . .. . .351
Table 15-17. Mapping and Mapplet Views . . . . . . . . . . . . . . . . . . . . . . . .. . . .. . . .. . .. . .353
Table 15-18. REP_ALL_MAPPINGS MX View . . . . . . . . . . . . . . . . . . . . .. . . .. . . .. . .. . .354
Table 15-19. REP_ALL_MAPPLETS MX View . . . . . . . . . . . . . . . . . . . . .. . . .. . . .. . .. . .355
Table 15-20. REP_TARG_MAPPING MX View . . . . . . . . . . . . . . . . . . . .. . . .. . . .. . .. . .356
Table 15-21. REP_TARG_FLD_MAP MX View . . . . . . . . . . . . . . . . . . . .. . . .. . . .. . .. . .357
Table 15-22. REP_FLD_MAPPING MX View . . . . . . . . . . . . . . . . . . . . .. . . .. . . .. . .. . .358
Table 15-23. REP_SRC_MAPPING MX View . . . . . . . . . . . . . . . . . . . . .. . . .. . . .. . .. . .359
Table 15-24. Mapping Source Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . .. . . .. . .. . .359
Table 15-25. REP_TBL_MAPPING MX View . . . . . . . . . . . . . . . . . . . . .. . . .. . . .. . .. . .360
Table 15-26. REP_TARG_TBL_JOINS MX View . . . . . . . . . . . . . . . . . . .. . . .. . . .. . .. . .361
Table 15-27. REP_MAPPING_UNCONN_PORTS MX View . . . . . . . . . .. . . .. . . .. . .. . .362
Table 15-28. REP_MAPPING_PORT_CONN MX View . . . . . . . . . . . . .. . . .. . . .. . .. . .363
Table 15-29. Metadata Extension Views . . . . . . . . . . . . . . . . . . . . . . . . . .. . . .. . . .. . .. . .364
Table 15-30. REP_METADATA_EXTNS MX View . . . . . . . . . . . . . . . . .. . . .. . . .. . .. . .364
Table 15-31. REP_METADATA_EXTN_DEFINES MX View . . . . . . . . . .. . . .. . . .. . .. . .365
Table 15-32. Transformation Views . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . .. . . .. . .. . .366

xviii List of Tables


Table 15-33. REP_ALL_TRANSFORMS MX View . . . . . . . .. . .. . . .. . . .. . .. . . .. . .. . 366
Table 15-34. REP_WIDGET_INST MX View . . . . . . . . . . .. . .. . . .. . . .. . .. . . .. . .. . 368
Table 15-35. REP_WIDGET_DEP MX View . . . . . . . . . . . .. . .. . . .. . . .. . .. . . .. . .. . 368
Table 15-36. REP_EIDGET_ATTR MX View . . . . . . . . . . . .. . .. . . .. . . .. . .. . . .. . .. . 369
Table 15-37. REP_WIDGET_FIELD MX View . . . . . . . . . .. . .. . . .. . . .. . .. . . .. . .. . 369
Table 15-38. Workflow, Worklet, and Task Views . . . . . . . . .. . .. . . .. . . .. . .. . . .. . .. . 371
Table 15-39. REP_WORKFLOWS MX View . . . . . . . . . . . .. . .. . . .. . . .. . .. . . .. . .. . 372
Table 15-40. REP_ALL_TASKS MX View . . . . . . . . . . . . . .. . .. . . .. . . .. . .. . . .. . .. . 374
Table 15-41. REP_ALL_SCHEDULERS MX View . . . . . . . .. . .. . . .. . . .. . .. . . .. . .. . 374
Table 15-42. REP_WFLOW_VAR MX View . . . . . . . . . . . . .. . .. . . .. . . .. . .. . . .. . .. . 375
Table 15-43. REP_EVENT MX View . . . . . . . . . . . . . . . . . .. . .. . . .. . . .. . .. . . .. . .. . 376
Table 15-44. REP_TASK_INST MX View . . . . . . . . . . . . . .. . .. . . .. . . .. . .. . . .. . .. . 377
Table 15-45. REP_WORKFLOW_DEP MX View . . . . . . . . .. . .. . . .. . . .. . .. . . .. . .. . 377
Table 15-46. REP_TASK_INST_RUN MX View . . . . . . . . .. . .. . . .. . . .. . .. . . .. . .. . 378
Table 15-47. REP_WFLOW_RUN MX View . . . . . . . . . . . .. . .. . . .. . . .. . .. . . .. . .. . 379
Table 15-48. REP_LOAD_SESSIONS MX View . . . . . . . . . .. . .. . . .. . . .. . .. . . .. . .. . 380
Table 15-49. REP_SESSION_CNXS MX View . . . . . . . . . . .. . .. . . .. . . .. . .. . . .. . .. . 381
Table 15-50. REP_SESSION_INSTANCES MX View . . . . . .. . .. . . .. . . .. . .. . . .. . .. . 382
Table 15-51. REP_SESSION_FILES MX View . . . . . . . . . . .. . .. . . .. . . .. . .. . . .. . .. . 382
Table 15-52. REP_SESSION_INSTANCE_FILES MX View .. . .. . . .. . . .. . .. . . .. . .. . 383
Table 15-53. REP_SESS_WIDGET_CNXS MX View . . . . . .. . .. . . .. . . .. . .. . . .. . .. . 383
Table 15-54. REP_COMPONENT MX View . . . . . . . . . . . .. . .. . . .. . . .. . .. . . .. . .. . 384
Table 15-55. REP_SESS_PARTITION_DEF MX View . . . . .. . .. . . .. . . .. . .. . . .. . .. . 385
Table 15-56. REP_SESS_CONFIG_PARM MX View . . . . . .. . .. . . .. . . .. . .. . . .. . .. . 385
Table 15-57. REP_TASK_ATTR MX View . . . . . . . . . . . . . .. . .. . . .. . . .. . .. . . .. . .. . 386
Table 15-58. REP_SESS_LOG MX View . . . . . . . . . . . . . . .. . .. . . .. . . .. . .. . . .. . .. . 387
Table 15-59. REP_SESS_TBL_LOG MX View . . . . . . . . . . .. . .. . . .. . . .. . .. . . .. . .. . 388
Table 15-60. Security Views . . . . . . . . . . . . . . . . . . . . . . . . .. . .. . . .. . . .. . .. . . .. . .. . 390
Table 15-61. REP_USERS MX View . . . . . . . . . . . . . . . . . . .. . .. . . .. . . .. . .. . . .. . .. . 390
Table 15-62. REP_USER_GROUPS MX View . . . . . . . . . . .. . .. . . .. . . .. . .. . . .. . .. . 391
Table 15-63. REP_GROUPS MX View . . . . . . . . . . . . . . . . .. . .. . . .. . . .. . .. . . .. . .. . 391
Table 15-64. Deployment Views . . . . . . . . . . . . . . . . . . . . . .. . .. . . .. . . .. . .. . . .. . .. . 392
Table 15-65. REP_DEPLOY_GROUP MX View . . . . . . . . . .. . .. . . .. . . .. . .. . . .. . .. . 392
Table 15-66. REP_DEPLOY_GROUP_DETAIL MX View . .. . .. . . .. . . .. . .. . . .. . .. . 393
Table 15-67. REP_REPOSIT_INFO MX View . . . . . . . . . . .. . .. . . .. . . .. . .. . . .. . .. . 395
Table 15-68. PowerCenter Server Views . . . . . . . . . . . . . . . .. . .. . . .. . . .. . .. . . .. . .. . 396
Table 15-69. REP_SERVER_INFO MX View . . . . . . . . . . . .. . .. . . .. . . .. . .. . . .. . .. . 396
Table 15-70. REP_SERVER_NET MX View . . . . . . . . . . . . .. . .. . . .. . . .. . .. . . .. . .. . 397
Table 15-71. REP_SERVER_NET_REF MX View. . . . . . . . .. . .. . . .. . . .. . .. . . .. . .. . 397
Table 15-72. Change Management Views . . . . . . . . . . . . . . .. . .. . . .. . . .. . .. . . .. . .. . 398
Table 15-73. REP_VERSION_PROPS MX View . . . . . . . . . .. . .. . . .. . . .. . .. . . .. . .. . 398
Table 15-74. REP_CM_LABEL MX View . . . . . . . . . . . . . . .. . .. . . .. . . .. . .. . . .. . .. . 399
Table 15-75. REP_CM_LABEL_REF MX View . . . . . . . . . . .. . .. . . .. . . .. . .. . . .. . .. . 399

List of Tables xix


Table 15-76. REP_SUBJECT MX View . . . . . . . . . . . . . . . . . . . . . . . . . .. . . .. . . .. . .. . .401
Table 16-1. Native Connect String Syntax . . . . . . . . . . . . . . . . . . . . . . . . .. . . .. . . .. . .. . .405
Table 16-2. pmrep System Commands . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . .. . . .. . .. . .410
Table 16-3. Connect Options and Arguments (pmrep) . . . . . . . . . . . . . . . .. . . .. . . .. . .. . .410
Table 16-4. pmrep Repository Commands . . . . . . . . . . . . . . . . . . . . . . . . .. . . .. . . .. . .. . .412
Table 16-5. Addserver Options and Arguments (pmrep) . . . . . . . . . . . . . . .. . . .. . . .. . .. . .414
Table 16-6. Addrepository Options and Arguments (pmrep) . . . . . . . . . . . .. . . .. . . .. . .. . .415
Table 16-7. Backup Options and Arguments (pmrep) . . . . . . . . . . . . . . . . .. . . .. . . .. . .. . .416
Table 16-8. CreateConnection Options and Arguments (pmrep) . . . . . . . . .. . . .. . . .. . .. . .417
Table 16-9. Database Type Strings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . .. . . .. . .. . .418
Table 16-10. Code Page ID by Name (pmrep) . . . . . . . . . . . . . . . . . . . . . .. . . .. . . .. . .. . .419
Table 16-11. Deleteconnection Options and Arguments (pmrep) . . . . . . . .. . . .. . . .. . .. . .421
Table 16-12. Deleteserver Options and Arguments (pmrep) . . . . . . . . . . . .. . . .. . . .. . .. . .421
Table 16-13. Disablerepository Options and Arguments (pmrep) . . . . . . . .. . . .. . . .. . .. . .422
Table 16-14. Enablerepository Options and Arguments (pmrep) . . . . . . . . .. . . .. . . .. . .. . .422
Table 16-15. ListObjects Options and Arguments (pmrep) . . . . . . . . . . . . .. . . .. . . .. . .. . .425
Table 16-16. Transformation and Task Types to Use with pmrep . . . . . . . .. . . .. . . .. . .. . .426
Table 16-17. Listtablesbysess Options and Arguments (pmrep) . . . . . . . . . .. . . .. . . .. . .. . .428
Table 16-18. ListObjectDependencies Options and Arguments (pmrep) . . .. . . .. . . .. . .. . .430
Table 16-19. Notify Options and Arguments (pmrep) . . . . . . . . . . . . . . . .. . . .. . . .. . .. . .431
Table 16-20. ObjectExport Options and Arguments (pmrep) . . . . . . . . . . .. . . .. . . .. . .. . .433
Table 16-21. ObjectImport Options and Arguments (pmrep) . . . . . . . . . . .. . . .. . . .. . .. . .434
Table 16-22. Register Options and Arguments (pmrep) . . . . . . . . . . . . . . .. . . .. . . .. . .. . .434
Table 16-23. Removerepository Options and Arguments (pmrep) . . . . . . . .. . . .. . . .. . .. . .435
Table 16-24. Run Options and Arguments (pmrep) . . . . . . . . . . . . . . . . . .. . . .. . . .. . .. . .436
Table 16-25. StopRepository Option and Argument (pmrep) . . . . . . . . . . .. . . .. . . .. . .. . .438
Table 16-26. SwitchConnection Options and Arguments (pmrep) . . . . . . .. . . .. . . .. . .. . .439
Table 16-27. Truncatelog Options and Arguments (pmrep) . . . . . . . . . . . .. . . .. . . .. . .. . .439
Table 16-28. Unregister Options and Arguments (pmrep) . . . . . . . . . . . . .. . . .. . . .. . .. . .440
Table 16-29. UpdateConnection Options and Arguments (pmrep) . . . . . . .. . . .. . . .. . .. . .442
Table 16-30. Updateemailaddr Options and Arguments (pmrep) . . . . . . . .. . . .. . . .. . .. . .443
Table 16-31. Updateserver Options and Arguments (pmrep) . . . . . . . . . . .. . . .. . . .. . .. . .443
Table 16-32. Updateseqgenvals Options and Arguments (pmrep) . . . . . . . .. . . .. . . .. . .. . .444
Table 16-33. Updatesrcprefix Options and Arguments (pmrep) . . . . . . . . .. . . .. . . .. . .. . .446
Table 16-34. Updatesrvvar Options and Arguments (pmrep) . . . . . . . . . . .. . . .. . . .. . .. . .447
Table 16-35. Updatestatistics Options and Arguments (pmrep) . . . . . . . . .. . . .. . . .. . .. . .447
Table 16-36. Updatetargprefix Options and Arguments (pmrep) . . . . . . . . .. . . .. . . .. . .. . .448
Table 16-37. pmrep Security Commands . . . . . . . . . . . . . . . . . . . . . . . . . .. . . .. . . .. . .. . .449
Table 16-38. Addprivilege Options and Arguments (pmrep) . . . . . . . . . . . .. . . .. . . .. . .. . .450
Table 16-39. Addusertogroup Options and Arguments (pmrep) . . . . . . . . .. . . .. . . .. . .. . .450
Table 16-40. Changepasswd Options and Arguments (pmrep) . . . . . . . . . .. . . .. . . .. . .. . .451
Table 16-41. CreateFolder Options and Arguments (pmrep) . . . . . . . . . . . .. . . .. . . .. . .. . .451
Table 16-42. Creategroup Options and Arguments (pmrep) . . . . . . . . . . . .. . . .. . . .. . .. . .452

xx List of Tables
Table 16-43. Createuser Options and Arguments (pmrep) . . . . . . . . . . . . . . . . .. . . .. . .. . 453
Table 16-44. DeleteFolder Options and Arguments (pmrep) . . . . . . . . . . . . . . . .. . . .. . .. . 453
Table 16-45. Edituser Options and Arguments (pmrep) . . . . . . . . . . . . . . . . . . .. . . .. . .. . 454
Table 16-46. ModifyFolder Option and Argument (pmrep) . . . . . . . . . . . . . . . .. . . .. . .. . 456
Table 16-47. Registeruser Option and Argument (pmrep) . . . . . . . . . . . . . . . . . .. . . .. . .. . 457
Table 16-48. Rmgroup Option and Argument (pmrep). . . . . . . . . . . . . . . . . . . .. . . .. . .. . 458
Table 16-49. Rmprivilege Options and Arguments (pmrep) . . . . . . . . . . . . . . . .. . . .. . .. . 458
Table 16-50. Rmuser Option and Argument (pmrep) . . . . . . . . . . . . . . . . . . . . .. . . .. . .. . 459
Table 16-51. Rmuserfromgroup Options and Arguments (pmrep) . . . . . . . . . . . .. . . .. . .. . 459
Table 16-52. pmrep Change Management Commands . . . . . . . . . . . . . . . . . . . .. . . .. . .. . 460
Table 16-53. AddToDeploymentGroup Options and Arguments (pmrep) . . . . . .. . . .. . .. . 461
Table 16-54. ApplyLabel Options and Arguments (pmrep) . . . . . . . . . . . . . . . . .. . . .. . .. . 463
Table 16-55. Checkin Options and Arguments (pmrep) . . . . . . . . . . . . . . . . . . .. . . .. . .. . 464
Table 16-56. ClearDeploymentGroup Options and Arguments (pmrep) . . . . . . .. . . .. . .. . 465
Table 16-57. CreateDeploymentGroup Options and Arguments (pmrep) . . . . . .. . . .. . .. . 465
Table 16-58. CreateLabel Options and Arguments (pmrep) . . . . . . . . . . . . . . . .. . . .. . .. . 466
Table 16-59. DeleteDeploymentGroup Options and Arguments (pmrep) . . . . . .. . . .. . .. . 467
Table 16-60. DeleteLabel Options and Arguments (pmrep) . . . . . . . . . . . . . . . .. . . .. . .. . 467
Table 16-61. DeployDeploymentGroup Options and Arguments (pmrep) . . . . . .. . . .. . .. . 468
Table 16-62. DeployFolder Options and Arguments (pmrep) . . . . . . . . . . . . . . .. . . .. . .. . 469
Table 16-63. ExecuteQuery Options and Arguments (pmrep) . . . . . . . . . . . . . . .. . . .. . .. . 470
Table 16-64. FindCheckout Options and Arguments (pmrep) . . . . . . . . . . . . . . .. . . .. . .. . 472
Table 16-65. UndoCheckout Options and Arguments (pmrep) . . . . . . . . . . . . . .. . . .. . .. . 474
Table 16-66. Validate Options and Arguments (pmrep) . . . . . . . . . . . . . . . . . . .. . . .. . .. . 475
Table 16-67. pmrepagent Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . .. . .. . 477
Table 16-68. Backup Options and Arguments (pmrepagent) . . . . . . . . . . . . . . . .. . . .. . .. . 478
Table 16-69. Bulkrestore Options and Arguments (pmrepagent) . . . . . . . . . . . . .. . . .. . .. . 479
Table 16-70. Create Options and Arguments (pmrepagent) . . . . . . . . . . . . . . . .. . . .. . .. . 480
Table 16-71. Delete Options and Arguments (pmrepagent) . . . . . . . . . . . . . . . .. . . .. . .. . 481
Table 16-72. Registerplugin Options and Arguments (pmrepagent) . . . . . . . . . . .. . . .. . .. . 482
Table 16-73. Restore Options and Arguments (pmrepagent) . . . . . . . . . . . . . . . .. . . .. . .. . 485
Table 16-74. Unregisterplugin Options and Arguments (pmrepagent) . . . . . . . . .. . . .. . .. . 488
Table 16-75. Upgrade Options and Arguments (pmrepagent) . . . . . . . . . . . . . . .. . . .. . .. . 490
Table A-1. Object Import Control File Elements and Attributes (pmrep) . . . . . .. . . .. . .. . 498
Table A-2. Deployment Control File Elements and Attributes (pmrep) . . . . . . . .. . . .. . .. . 505
Table B-1. Required Privileges and Permissions for Designer Tasks . . . . . . . . . . .. . . .. . .. . 510
Table B-2. Required Privileges and Permissions for Workflow Manager Tasks . . .. . . .. . .. . 511
Table B-3. Required Privileges and Permissions for Workflow Monitor Tasks . . .. . . .. . .. . 513
Table B-4. Required Privileges and Permissions for pmcmd Tasks . . . . . . . . . . . .. . . .. . .. . 515
Table B-5. Required Permissions and Privileges for Repository Manager Tasks . .. . . .. . .. . 516
Table B-6. Required Permissions and Privileges for pmrep Tasks. . . . . . . . . . . . .. . . .. . .. . 519

List of Tables xxi


xxii List of Tables
Preface

Welcome to PowerCenter, Informatica’s 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 JIPSE-
kana, 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 request-
response 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…

italicized text The word or set of words are especially emphasized.

boldfaced text Emphasized subjects.

italicized monospaced text 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.

Note: The following paragraph provides additional facts.

Tip: The following paragraph provides suggested uses.

Warning: The following paragraph notes situations where you can overwrite
or corrupt data, unless you follow the specified procedure.

monospaced text This is a code example.

bold monospaced text This is an operating system command you enter from a prompt to
run a task.

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 Informatica’s 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 add-
on solutions based on Informatica’s 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 Africa / Asia / Australia / Europe

Informatica Corporation Informatica Software Ltd.


2100 Seaport Blvd. 6 Waltham Park
Redwood City, CA 94063 Waltham Road, White Waltham
Phone: 866.563.6332 or 650.385.5800 Maidenhead, Berkshire
Fax: 650.213.9489 SL6 3TN
Hours: 6 a.m. - 6 p.m. (PST/PDT) Phone: 44 870 606 1525
email: support@informatica.com 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

1
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.

2 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 3
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

4 Chapter 1: Understanding the Repository


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

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


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.

8 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 9
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 user’s 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. Double-click the title bar.


2. 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 Information Displayed

Repository Node Displays properties for each folder in the selected repository.

Deployment Displays properties for each deployment group in the selected repository. Select a static
Groups Node deployment group to view details for deployment group objects.

Sources Node 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.

Targets Node Displays the properties for each target with the selected node. Select a target definition to view
details for each target definition port.

Transformations Displays the properties for each reusable transformation in the selected node. Select a
Node transformation to view details for the specified transformation ports.

Mapplets Node Displays the properties for each mapplet in the selected node. Select a mapplet to view the
Transformations node containing the mapplet.

Mappings Node 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.

Tasks Node Displays properties for each task in the selected node. Select a task to view the task details.

Sessions Node 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.

Worklets Node 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.

Workflows Node Displays properties for each workflow in the folder. Select a workflow to view information for
tasks and objects associated with the selected workflow.

Workflow Logs Displays workflow log information for the selected workflow. The Workflow Logs node displays
Node under each workflow in the Workflows node.

Session Logs Node Displays session log information for the selected session. The Sessions Logs node displays
under each session in the Sessions node.

Source Displays connection properties for each source connection associated with the session. The
Connections Node Source Connections node displays under each session in the Sessions node and under each
session associated with a workflow under the Workflows node.

Source File Displays properties for each source file associated with the session. The Source File
Connections Node Connections node displays under each session in the Sessions node and under each session
associated with a workflow under the Workflows node.

Target Connections Displays connection properties for each target connection associated with the session. The
Node Target Connections node displays under each session in the Sessions node and under each
session associated with a workflow under the Workflows node.

26 Chapter 2: Using the Repository Manager


Table 2-1. Object Details Displayed in Repository Main Window

Node Information Displayed

Target File Displays properties for each target file associated with the session. The Target File Connections
Connections Node node displays under each session in the Sessions node and under each session associated with
a workflow under the Workflows node.

Transformation Displays log details for each transformation in the session when you select the Transformation
Logs Node 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. In the Repository Manager, choose Repository-Add Repository.


2. 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. In the Navigator of the Repository Manager, select the repository you want to remove.
2. 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. In the Navigator of the Repository Manager, select the repository you want to remove.
2. Choose Tools-Remove Repository.
3. Select the repository you want to remove, and click Delete.
4. 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. Launch the PowerCenter Client tool and select the repository you want to connect to in
the Navigator window.
3. 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. Enter the host name of the machine the Repository Server is running on and the port
number the Repository Server uses for connections.
7. 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. Launch the PowerCenter Client tool.


2. 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. In the Repository Manager, choose Tools-Export Registry.


2. 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. In the Repository Manager, choose Tools-Import Registry.


2. Navigate to the directory containing the import file and select it.
3. 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. In the Repository Manager, connect to a repository.


2. 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 Description

Exact Match 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.

Ignore Case If selected, the Repository Manager does not try to match the case of the
keyword entered. Otherwise, the keyword search is case-sensitive.

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. Select Match Case if you want to perform a case-sensitive search.


4. 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.
5. Select the repository object attributes in which you want to search for the text. The
Repository Manager selects all attributes by default.
6. Click Find Next.
The Repository Manager displays the first repository object matching the search text in
the Main window.
7. Click Find Next to find the next repository object matching the search text.
8. 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 Tool Types of Child Objects Displayed

Mappings Mapping Designer - Global and local shortcuts to the mapping.


- Sources the mapping uses.
- Targets the mapping uses.
- Transformations the mapping uses.

Mapplets Mapping Designer - Global and local shortcuts to the mapplet.


Mapplet Designer - Sources the mapplet uses.
- Targets the mapplet uses.
- Transformations the mapplet uses.

Sources Mapplet Designer - Sources within the same folder that reference the source through
Mapping Designer a foreign key relationship.
Source Analyzer - Global and local shortcuts to the source.

Targets Mapping Designer - Targets within the same folder that reference the target through a
Warehouse Designer foreign key relationship.
- Global and local shortcuts to the target.

Transformations Mapplet Designer - Global and local shortcuts to the transformation.


Mapping Designer
Transformation Developer

Viewing Object Dependencies 37


Table 2-2. Viewing Object Dependencies

Parent Object Tool Types of Child Objects Displayed

Sessions Task Developer - Sources the session uses.


Worklet Designer - Targets the session uses.
Workflow Designer - 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.

Workflows Workflow Designer - 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.

Worklets Worklet Designer - Sources the worklet uses.


Workflow Designer - 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.
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

Search for dependencies.


Select
options.

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 Description

All Parents 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.

All Children 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.

PK/FK Dependencies View primary and source object dependencies where there is a primary
key-foreign key relationship.

Go Across Repositories View global shortcuts across repositories. You can select this option
when you search for parents, children, or primary key-foreign key
dependencies.

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 Description

Object Name The name of the dependent object.

Group Name DBD associated with the source of the object. For example, the group
type can be Oracle, DB2, or XML.

Object Type 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

Version The version number of the dependent object.

Time Stamp Time the object was created or saved.

Status Status of the object, Active or Deleted.

Version Comments Comments associated with the dependent object.

40 Chapter 2: Using the Repository Manager


Table 2-4. Object Properties for View Dependencies Window

Properties Description

Folder Name The folder name where the dependent object resides.

User Name User who created the object.

Host Name Host name for the machine hosting the object.

Checkout Type Type of checkout for object, Persistent or Non-Persistent.

Purged by User Name of the user who purged the object.

Is Reusable Status of object as reusable, Yes or No.

Is Deleted Status of object deletion, Yes or No.

Repository 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. Select the objects you want to validate.


2. 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 Description

Objects provided for The total number of objects that you selected to validate. The total
validation includes skipped objects.

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.

Objects that were invalid The number of invalid objects provided for validation.
before the validation

Objects successfully The number of selected objects that are valid.


validated

Objects still invalid The number of objects that require fixing or editing.

Saved/checked in objects The total number of objects saved. If you do not choose the Save
Objects or Check In Objects options, this number is zero.

Cannot save objects due The number of validated objects you cannot save because someone
to lock conflict has them locked.

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. In the Repository Manager, connect to the repository.


2. 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. In the Repository Manager, select the workflow in the Navigator window or in the Main
window.
2. Choose Edit-Truncate Log.
The Truncate Workflow Log dialog box appears.

3. 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.
4. If you want to delete all entries older than a certain date, enter the date and time.
5. 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 Repository-
Manage 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 snap-
ins. 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 View-
Details 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 Description

Host Name The name of the computer hosting the Repository Server.

Port Number The port number used to access the Repository Server.

Status 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 Description

Name The name of the repository.

Status The status of the repository, either running, stopped, or disabled.

Start Time 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 Description

Status The status of the repository, either running, starting, stopped, stopping, or disabled.

Start Time The date and time the repository last started. The date display format is
MM/DD/YYYY 24 HH:MI:SS.

Number of Restarts 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.

Process ID 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.

Database Type The type of database where the repository resides.

Table 3-4 lists the HTML links for performing some repository tasks:

Table 3-4. HTML Links for Performing Repository Tasks

HTML Link Description

Stop Stop the repository. For more information, see “Stopping the Repository” on page 72.

Backup 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 Description

Restore Recover metadata from a repository binary backup file. For more information see “Restoring a
Repository” on page 67.

Upgrade Upgrade the repository to the latest version. For more information, see “Upgrading a
Repository” in the Installation and Configuration Guide.

Properties 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. Launch the Administration Console and select the Repository Servers node.
2. Choose Action-New Server Registration.
3. 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. Launch the Administration Console and expand the Repository Servers node in the
Console Tree.
2. Right-click the Repository Server and choose Connect.
3. 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. In the Console Tree, expand the Repository Servers node.


2. 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.
2. Click the Advanced button on the Copy From Another Repository dialog box, Backup
Repository dialog box, or Restore Repository dialog box.
3. Select the data you want to skip.

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.
5. Enter the repository user name and password for the source repository.
6. 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.
7. 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.

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. In the Console Tree, select the repository you want to delete.


2. 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. Enter your repository user name and password.


8. If the repository is a global repository, you can choose to unregister all local repositories.
9. 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. In the Console Tree, select the repository you want to back up.
2. 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.
6. Click OK.
You can view the backup operation in the Activity Log.

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 Action-
Restore.
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. 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.
5. 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. In the Console Tree, select a repository configuration under the Repositories node to use
for the restored repository.
2. 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. 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.
5. 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. Stop the repository.
2. Disable the repository to prevent other users or applications from starting it.
3. Perform the repository administration task or edit the repository configuration.
4. After restoring or upgrading the repository, enable the repository to allow other users or
applications to start it.
5. 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. In the Console Tree, select the repository you want to enable.


2. 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. In the Console Tree, select the repository you want to start.


2. If the repository is disabled, choose Action-Enable.
3. 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. In the Console Tree, select the repository you want to stop.


2. 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. In the Console Tree, select the Repositories node.


2. 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. In the Console Tree, select the repository you want to disable.


2. 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. In the Console Tree, select the repository you want to send the message to.
2. Choose Action-All Tasks-Notify Users.
The Notification Message dialog box appears.

3. Choose whether you want to send the notification message to users connected to the
selected repository or all repositories managed by the Repository Server.
4. 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. In the Console Tree, select the global repository.


2. 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. Choose the global repository from the global repository list, and enter your repository
user name and password.
4. 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.
5. 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.
6. Enter the repository user name and password for the local repository.
7. Click Register.
The Repository Server registers the local repository with the global repository.
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.
2. 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.
3. 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.
4. Select the repository configuration under the new Repository Server, and start the
repository. For details, see “Starting the Repository” on page 71.
5. 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.
6. Remove the repository configuration from the existing Repository Server. For details, see
“Removing a Repository Configuration” on page 114.

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. In the Console Tree, select the repository for which you want to change the repository
connection information.
2. Choose Action-All Tasks-Propagate.
3. 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 Description

User The user name associated with the connection.

Connection ID The identification number assigned to the repository connection.

Application The repository client application associated with the connection.

Hostname The name of the machine running the application.

Host Address The TCP/IP address of the machine associated with the connection.

Login Time The time the user connected to the repository.

Last Active Time The time of the last metadata transaction between the repository client application
and the repository.

Remote Host Port 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 Description

User User name locking the object.

Connection ID The identification number assigned to the repository connection.

Folder Folder in which the locked object is saved.

Object Type Type of object, such as folder, version, mapping, or source.

Object Name Name of the locked object.

Lock Type Type of lock: in-use, write-intent, or execute.

Lock Time Time the lock was created.

Hostname Name of the machine locking the object.

Application 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. In the Repository Manager, connect to a repository.


2. To view all locks in the repository, choose Edit-Show locks.
The Object Locks dialog box appears.

3. To sort your view of the locks by column, click on the column name.
4. 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. In the Console Tree, select the repository containing the locks you want to view.
2. 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. Launch the Repository Manager and connect to the repository.


2. Choose Edit-Show User Connections.
3. 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.
5. Verify the user is not connected to the repository.
6. 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.

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. Select the user connection and choose Action-End Connection.
3. 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.
4. Verify the user is not connected to the repository.
5. 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.

84 Chapter 3: Managing the Repository


Registering and Unregistering Repository Plug-ins
Use the Administration Console to register and remove repository plug-ins. Repository plug-
ins 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. In the Register Security Module dialog box, select the repository in which to register the
plug-in.
5. 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. Open the Administration Console, and connect to the Repository Server.


2. For the repository with the registered package, drill down to the Registered Packages
node in the Console Tree.
3. 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. Enter your repository user name and password.


6. 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. Connect to the Repository Server.


2. Stop and disable the repository if it is running. For details, see “Starting and Stopping the
Repository” on page 71.
3. 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 Description

Repository Select the repository in which to register the module.

Update Security Check this box if you are updating an existing security module. Leave it blank if this is the
Module Registration first time you are registering this module.

Username Enter a user name that has Repository administrator privileges. You must have
administrator privileges to register the security module.

Password Enter the password for the Repository administrator.

External Directory Enter a valid external login name for the module to use to connect to the external
Login directory service.

Password Enter the correct password for the external login name.

Enable CRC 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. Open the Repository Server Administration Console and connect to the Repository
server.
2. 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 Description

Server name The name of the LDAP server.

Port Port number to connect to the LDAP server. The port is usually 636 for SSL enabled
servers, or 389 for non-SSL enabled servers.

Search Base Distinguished name (DN) of the entry that serves as the starting point to search for user
names.

Scope 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.

Principal User Distinguished name (DN) for the principal user. Leave this blank for anonymous login.
Name

Principal User Password for the principal user. Leave this blank for anonymous login.
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 Description

Login Attribute The directory attribute that contains login names.

Login Filter Condition to filter results for user search. The filter can specify attribute types, assertion
values, and matching criteria.

UseSSL Indicates if the LDAP server uses SSL.

Certificate Database 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 user’s 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. Open the Repository Server Administration Console and connect to the Repository
Server.
2. 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 Description

Administrator Username The external login name for the repository administrator.

Password The external login password for the repository administrator.

New Administrator The new password for the administrator to use with repository security after
Password unregistering the external security module.

Confirm Password Confirms the new password for the administrator.

Keep Username/ Keeps the mapping between the external user names and the login names in the
External Login Mapping 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 Description

CNX Messages related to connections to repository client applications.

LKM Messages related to obtaining and releasing repository object locks.

OBJM Messages related to fetching, inserting, or updating repository objects.

REP Messages related to communication between the Repository Agent and Repository Server.

RCORE Messages related to Repository Server internal functions.

SF 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.
Use the Administration Console to perform the following tasks:
♦ 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.

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

Required/
Option Description
Optional

Name Required The name of the repository. Do not use the following characters
when creating a repository name:
\ / : * ? < > " | .

Global Data Repository Optional 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.

Enable Version Control Optional 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.

Creation Mode Required Choose to create a new repository based on this repository
configuration, or to add the repository configuration without
creating a repository in the database.

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

Required/
Option Description
Optional

Database Type Required The type of database storing the repository.

CodePage Required The repository code page. The Repository Server uses the character
set encoded in the repository code page when writing data to the
repository.

ConnectString Required 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.

DBUser Required The account for the database containing the repository. Set up this
account using the appropriate database client tools.

DBPassword Required The repository database password corresponding to the database user.
Must be in 7-bit ASCII.

Trusted Connection Optional 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.

TablespaceName Optional 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.

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

Required/
Option Description
Optional

MessageReceiveTimeout Required Number of seconds the Repository Server waits to receive a


message from a client application before timing out. Default is 3.

MessageSendTimeout Required 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

Required/
Option Description
Optional

MaximumConnections Required The maximum number of connections the repository accepts


from repository client applications. Default is 200.

ErrorSeverityLevel Required 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.

DateDisplayFormat Required 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.

Adding a Repository Configuration 109


Table 4-4. New Repository - Configuration Tab

Required/
Option Description
Optional

DynamicConfig Required The number of seconds the repository waits to poll for updates
RefreshInterval to its configuration. Default is 10.

ThreadWaitTimeout Required The number of seconds the master thread running repository
processes waits for process threads to stop before stopping.
Default is 60.

MaximumLocks Required The maximum number of locks the repository places on


metadata objects. Default is 50,000.

LogFileName Required 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.

KeepAliveTimeout Required 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.

DatabasePoolSize Required 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.

DatabaseConnection Required The number of seconds the Repository Agent waits to


Timeout establish a connection to the repository database before timing
out. Default is 30 seconds.

CheckinCommentsRequired Optional Requires users to add check in comments.

SecurityAuditTrail Optional 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.

DatabaseArrayOperationSize Optional The number of rows to fetch each time an array database
operation, such as insert or fetch, is issued. Default is 100.

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. Add the product license key in the License Key field and click Update. PowerCenter adds
the product license key to the license file.
11. 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. Stop the repository.
2. Disable the repository to prevent other users or applications from starting it.
3. Edit the repository configuration.
4. Enable the repository to allow other users or applications to start it.
5. 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. In the Console Tree, select the Repositories node.


2. Choose Action-Import Repository Connection.
3. 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. Create and configure the database to contain the repository.
2. 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
When you create a repository, you must have the following information available:
♦ 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.

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. In the Console Tree, select a repository configuration under the Repositories node.
2. 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. In the Console Tree, select the repository you want to promote.


2. 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. In the Console Tree, select the repository for which you want to enable version control.
2. Choose Action-Properties.
3. 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 Characters Used in Repository


in Repository Name 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 Characters Used in Repository


in Repository Name 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

\t (tab) _c

\r (carriage return) _d

\n (new line) _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


The PowerCenter Server License File Must Contain...
Object...

A session configured to use multiple partitions. Partitioning option license key.

Workflow configured to run on a server grid. Server grid option license key.

Source or target definition using a relational database The connectivity license key for that relational database.
connection.

Application Source Qualifier transformation. The connectivity license key for the particular PowerCenter
Connect product.

Source definition configured to extract data from web PowerCenter Connect for Web Services connectivity license
services. key.

Parse or Address transformation available with the Data Cleansing option license key.
Data Cleansing option.

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 Owner’s Group permissions for the folder.
You can only grant Owner’s 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 Owner’s Group permissions.
For example, if the owner of a folder belongs to only one group, Developer, the Developer
group receives Owner’s Group permissions on the folder. If you assign read and write folder
permissions to Owner’s 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 Owner’s 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. In the Repository Manager, connect to a repository.


2. Choose Security-Manage Users and Privileges.
3. Select the Groups tab.

128 Chapter 5: Repository Security


4. Click Add.

5. Enter the name of the group.


6. 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. In the Repository Manager, connect to a repository.


2. Choose Security-Manage Users and Privileges.
3. Select a group in the Groups tab and click Edit.
4. 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. In the Repository Manager, connect to a repository.


2. Choose Security-Manage Users and Privileges.
3. 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. Click OK.
6. 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.
User status changes for the following reasons:
♦ The system administrator enables or disables it.
♦ The login changes on the LDAP directory.
♦ The user authentication mode changes between LDAP and default authentication.

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. In the Repository Manager, connect to a repository.


2. 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. In the Repository Manager, connect to the repository.


2. Choose Security-Change Current Password.

3. Enter the old password.


4. Enter the new password twice to confirm it.
5. 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. In the Repository Manager, connect to a repository.


2. Choose Security-Manage Users and Privileges.
3. 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. In the Repository Manager, connect to a repository.


2. Choose Security-Manage Users and Privileges.
3. 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. To edit the description, enter up to 2,000 characters. The first 256 characters display in
the Manage Users window.
6. 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. To save your changes, click OK.
10. 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. Choose Security-Manage Users and Privileges. The Manage Users and Privileges dialog
box displays.
2. Select the users you want to enable. You can select multiple users at a time.
3. 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. In the Repository Manager, connect to a repository.


2. Choose Security-Manage Users and Privileges.
3. Select the users you want to disable. You can select multiple users at a time.
4. 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. In the Repository Manager, connect to a repository.


2. Choose Security-Manage Users and Privileges.
3. Select a user and click Remove.
4. 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 Permission Permission Object Grants You the Ability to

Browse Repository n/a n/a - 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.

Read Folder - 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.

Read/ Query - Run query.


Execute

Read/Write Query - Create or edit query.

Use Designer n/a n/a - Configure connection information.


- Connect to the repository using the Designer.
- Perform Use Repository Manager tasks in the
Designer.

Read Folder - Copy objects from the folder.


- Create shortcuts to objects in the folder.
- Export objects.
- View objects in the folder.

Read/Write Folder - Copy objects into the folder.


- Create or edit metadata.
- Create shortcuts from shared folders.
- Import objects.

Use Repository n/a n/a - Remove label references.


Manager*

Write Deployment group - Delete from deployment group.

Repository Privileges 143


Table 5-1. Default Repository Privileges

Default Privilege Permission Permission Object Grants You the Ability to

Write Folder - 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.

Read Folder - Export objects.

Read Folder - Add to deployment group.


Write Deployment group

Read Original folders - Copy objects.


Write Target folder - Import objects.

Read Folder - Apply label.


Write/ Label
Execute

Use Workflow n/a n/a - Connect to the repository using the Workflow
Manager 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.

Read/Write Connection - Edit database, FTP, and external loader


connections in the Workflow Manager.

Execute Folder - Abort workflow.


- Restart workflow.
- Resume workflow.
- Stop workflow.

Read Folder - Export objects.


- View session details and session performance
details.
- View sessions.
- View tasks.
- View workflows.

Read/ Folder - View session log.


Execute

Read/ Connection - Schedule or unschedule workflows.


Execute - Start workflows immediately.

Read/Write Folder - Create and edit workflows and tasks.


- Import objects.
- Validate workflows and tasks.

144 Chapter 5: Repository Security


Table 5-1. Default Repository Privileges

Default Privilege Permission Permission Object Grants You the Ability to

Read/Write Folder - Create and edit sessions.


Read Connection
* 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 Permission
Permission Grants You the Ability to
Privilege Object

Administer n/a n/a - Create label.


Repository - 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.

Read n/a - Edit folder properties.


- Freeze folder.

Read Connection - Copy a folder within the same repository.


- Copy a folder into a different repository when you have
Administer Repository privilege on the destination
repository.

Read/Write Deployment group - Create and edit deployment group.


- Administer deployment group permissions.

Read/Write Folder - Copy a folder into the repository.

Read/Write Label - Edit label.


- Administer label permissions.

Read Original folder - Copy deployment group.


Read/ Deployment group
Execute

Write Folder - Check in or undo check out for other users.


- Purge a version.

Repository Privileges 145


Table 5-2. Extended Repository Privileges

Extended Permission
Permission Grants You the Ability to
Privilege Object

Administer n/a n/a - Register PowerCenter Servers with the repository.


Server - 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.

Super User n/a n/a - Perform all tasks, across all folders in the repository.
- Manage connection object permissions.
- Manage versioning object permissions.
- Mass updates.

Workflow n/a n/a - Connect to the PowerCenter Server.


Operator

Read Folder - Schedule and unschedule workflows.


- View the session log.
- View session details and performance details.

Execute Folder - Abort workflow.


- Restart workflow.
- Resume workflow.
- Stop workflow.

Read Folder - Start workflows immediately.


Execute Connection

Execute Folder - Use pmcmd to start workflows in folders for which you
Execute Connection have execute permission.

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. In the Repository Manager, connect to a repository.


2. Choose Security-Manage Users and Privileges.
3. Click Privileges.
4. 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. In the Repository Manager, connect to a repository.


2. Choose Security-Manage Users and Privileges.
3. Clear the privileges you want to revoke.
4. 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 Includes

Owner The owner of the folder, as listed in the owner menu.

Owner’s Group 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 Owner’s Group.

Repository All groups and users in the 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 Owner’s
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. In the Repository Manager, connect to a repository.


2. 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. Choose Folder-Edit.
4. If necessary, select a new owner from the Owner menu.
5. If the owner belongs to more than one group, select a group from the Group menu.
6. Edit the folder permissions as necessary.
7. 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 Includes

User Group Repository group of user names. Every user in a group receives the privileges for that
group.

User 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. Launch the Repository Manager and connect to the repository.


2. 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 Description

User The user name of the user associated with the connection.

Connection ID The identification number assigned to the repository connection.

Application The repository client application associated with the connection.

Hostname The name of the machine running the application.

Host Address The TCP/IP address of the machine associated with the connection.

Login Time The time the user connected to the repository.

Last Active Time 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. Launch the Repository Manager and connect to the repository.


2. Choose Edit-Show User Connections.
3. In the Repository Connections dialog box, select the connection you want to terminate.
4. Verify the user is no longer connected to the repository.
5. 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, owner’s 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.
The audit trail does not log the following operations:
♦ Changing your own password.
♦ Deleting the owner or owner’s group for a folder. The delete operation causes a log entry,
but after you delete the owner or owner’s 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.

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 Created When Maximum per Object

In-use - Viewing an object in a folder for which you do not have write Unlimited
permission.
- Viewing an object that is already write-locked.
- Exporting an object.

Write-intent - Viewing an object in a folder for which you have write permission. 1
- Editing a repository object in a folder for which you have write
permission.
- Importing an object.

Execute - Starting, restarting aborting, or resuming a workflow. 1

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. In the Repository Manager, connect to a repository.


2. 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 Description

User User name locking the object.

Connection ID The identification number assigned to the repository connection.

Handling Locks 157


Table 5-7. Object Lock Properties

Column Name Description

Folder Folder in which the locked object is saved.

Object Type Type of object: such as folder, mapping, or source.

Object Name Name of the locked object.

Lock Type Type of lock: in-use, write-intent, or execute.

Lock Time Time the lock was created.

Hostname Name of the machine locking the object.

Application Application locking the object: Designer, Workflow Manager, or Repository Manager.

3. To sort your view of the locks by column, click on the column name.
4. 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. Open the Repository Manager and connect to the repository.


2. View object locks and identify the connection identification number associated with the
locks you want to release.
3. After you view the object locks, choose Edit-Show User Connections.
4. 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.
5. Verify the user is not connected to the repository.

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
Before implementing security measures, answer the following questions:
♦ 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?
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 non-
shared 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
♦ Owner’s 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 Includes

Owner Owner of the folder.

Owner’s Group Each user in the owner’s repository user group. If the owner belongs to more than one
group, you must select one group for the Owner’s Group.

Repository 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 Owner’s Group, then grant the same permission to Repository, the Owner
and Owner’s 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 Owner’s 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 Owner’s Group. If the owner belongs to only one group, that group
automatically becomes the Owner’s 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 full-
access group the owner of the folder, then grant all folder permissions to Owner and Owner’s
Group. Then restrict Repository permissions, as desired. As long as a group does not have the
Super User privilege, restricting Repository permission limits that group’s 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.
♦ Owner’s 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:

Required/
Folder Properties Description
Optional

Name Required Folder name.

Description Optional Description of the folder that appears in the Repository Manager.

Owner Required Owner of the folder. Any user in the repository can be the folder
owner.

Owner’s Group Required Repository user group to receive Owner’s Group permissions. Only
groups to which the owner belongs can be selected.

Allow Shortcut Optional If selected, makes the folder shared.

Status Required 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.

Permissions Required Folder permissions for users in the repository. For details, see
“Permissions” on page 168.

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. In the Repository Manager, connect to a repository and select a folder.


2. Choose Folder-Edit.
3. 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. In the Repository Manager, connect to a repository and select a folder.


2. Choose Folder-Delete.
3. 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.
Each comparison also allows you to specify the following comparison criteria:
♦ 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.
The wizard displays the following information:
♦ Similarities between objects
♦ Differences between objects
♦ Outdated objects
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 Compared Attribute

Sources Source name and database name

Targets Target name and database name

Reusable transformations Transformation name and type

174 Chapter 6: Working with Folders


Table 6-2. Compared Object Types and Attributes

Object Type Compared Attribute

Mappings Mapping name

Mapplets Mapplet name

Source fields Column names

Target fields Column names

Reusable transformation fields Port names

Sessions Session name

Session components Component value

Tasks Task name

Task instances Task instance name

Workflows Workflow name

Workflow events Workflow event name

Workflow variables Workflow variable name

Worklets Worklet name

Shortcuts Shortcut name and object type

Transformation instances Transformation instance name and type

Mapping variables Mapping variable name

External procedure initialization properties Property name

Schedulers Scheduler name

Configurations 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 Compared Object

Source field Source

Target field Target

Reusable transformation field Reusable transformation

Mapping variable Mapping

External procedure initialization properties Transformation instance

Session component Session

Comparing Folders 175


Table 6-3. Compared Objects in Compare

Selected Object Compared Object

Task Instance Workflow and worklet

Workflow event Workflow and worklet

Workflow variable 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 two-way comparison
A one-way comparison does not
notes the absence of
note the presence of
ORDER_ITEMS in
ORDER_ITEMS in ADS2 as a
ADS1 as a difference.
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. In the Repository Manager, choose Folder-Compare.


2. 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. Click Next.
5. 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. If you want to save the comparison results to a file, select Save results to file.
11. Click Finish.
12. If you chose to save the results to a file, specify the file type, name, and directory.
13. 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 non-
shared 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
You can create the following types of shortcuts:
♦ 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.

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 non-
shared 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. In the Navigator, expand the shared folder containing the object you want to use and drill
down to locate the object.
2. Open the destination folder, the folder in which you want the shortcut.
3. 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. In the Navigator, expand the shared folder containing the object you want to use and drill
down to locate the object.
2. Open the destination folder, the folder in which you want the shortcut.
3. 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. In the global repository, drill down through the shared folder until you locate the object
you want to use.
4. 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. In the global repository, drill down through the shared folder until you locate the object
you want to use.
5. 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 Mappings-
Validate.

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 Shortcut Location Copied to Designer Creates

Local shortcut Standalone repository Another folder, same Local shortcut to original object
repository

Local shortcut Local repository Another folder, same Local shortcut to original object
repository

Local shortcut Local repository Different local repository, Copy of the shortcut object
same domain*

Global shortcut Local repository Different local repository, Global shortcut to original
same domain* object

Global shortcut Local repository Different repository, different Copy of the shortcut object
domain*

Local shortcut Global repository Local repository, same Global shortcut to original
domain object

Local shortcut Global repository Different repository, different Copy of the shortcut object
domain*
* 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
You can perform the following tasks when you work with a versioned object:
♦ 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.

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. In the Repository Manager, right-click the object in the Navigator and choose
Versioning-View History. The View History window appears.
2. Select the latest version of the object, and choose Tools-View Properties. The object
properties appear.
3. In the Properties dialog box, choose the Object Status tab.
4. From the Object Status list, choose a status for the object.
5. Click OK.
6. 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 Description

Compare versions. See “Comparing Versions” on page 210.

View version properties. See “Viewing Version Properties” on page 203.

Apply or remove a label. See “Working with Labels” on page 219.

Purge a version. See “Deleting and Purging Versioned Objects” on page 215.

Add version to deployment group. See “Working with Deployment Groups” on page 236.

View object dependencies. See “Viewing Object Dependencies” on page 37.

Undo check out or check in. See “Checking Out and Checking In Objects” on page 211.

Save object version history to a file. To save the version history to an HTML file, choose File-Save to File.

Export object version to an XML 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 For more information...

Compare versions. Compare the selected checkout with the previous checked in version. For
more information, see “Comparing Versions” on page 210.

View version properties. 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 For more information...

View object dependencies. View dependencies for the selected checkout. For more information, see
“Viewing Object Dependencies” on page 37.

Undo check out or check in. 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.

Save object version history to a file. To save the version history to an HTML file, choose File-Save to File.

View object history. View the object version history for the selected checkout. For more
information, see “Viewing Object History” on page 208.

Export object version to an XML file. Export the version to an XML file. For more information on exporting and
importing objects, see “Exporting and Importing Objects” on page 263.

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.
2. 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.
3. 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.

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 Tools-
Labels-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 Description

Move Label 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.

Label all Children Applies the label to all repository objects that the selected object uses.

Label all Parents Applies the label to all repository objects that use the selected object.

Primary/Foreign Key Applies the label to the source object containing the primary key referenced by the
Dependencies foreign key in the selected source object.

Global Shortcut Applies the label to global shortcut objects. Select one of the previous options, such as
Dependencies Label all children, and select Global Shortcut dependencies. The Repository Agent
applies the label to global shortcuts that meet the conditions you specify.

Preview Previews the group of objects that the Repository Agent applies the label to when you
apply labels to dependent objects.

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

4 3

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 Description Valid Operator Accepted Values

AND Joins query conditions or groups of None None


query conditions.

Business Name Displays sources and targets based on Contains String


their business names. For example, the Does Not Contain
query Business Name is equal to Does Not End With
Informatica returns sources and targets Does Not Start With
that contain the Informatica business Ends With
name, and filters out all other objects. Is Equal To
The query Business Name is not equal Is Not Equal To
to Informatica, filters out sources and Is Not One Of
targets with the Informatica business Is One Of
name and keeps all other objects. Starts With
The Business Name query does not
return shortcuts to objects that contain
business names.

Check-in time Displays objects that are checked in at, Greater Than Date/time
before, or after a specified time or Is Between Numeric
within a specified number of days. Less Than
Is Not Between
Within Last (days)

Comments Displays comments associated with a Contains String


source, target, mapping or workflow. 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

Deployment Dispatch Displays objects deployed to another Greater Than Date/time


History folder or repository through deployment Is Between Numeric
groups in a given time period. Less Than
Is Not Between
Within Last (days)

Deployment Receive Displays objects deployed from another Greater Than Date/time
History folder or repository using deployment Is Between Numeric
groups in a given time period. Less Than
Is Not Between
Within Last (days)

Working with Object Queries 227


Table 9-2. Query Parameters and Values

Parameter Description Valid Operator Accepted Values

Folder Displays objects in a specified folder. Is Equal To Folder name


Is Not Equal To
Is Not One Of
Is One Of

Include Children Displays child dependent objects. Where (Value 1) Any


For more information about object depends on (Value Source Definition
dependencies, see “Viewing Object 2) Target Definition
Dependencies” on page 37. Transformation
Mapplet
Mapping
Cube
Dimension
Task
Session
Worklet
Workflow
Scheduler
SessionConfig

Include Children and Displays child and parent dependent Where (Value 1) Any
Parents objects. depends on (Value Source Definition
For more information about object 2) Target Definition
dependencies, see “Viewing Object Transformation
Dependencies” on page 37. Mapplet
Mapping
Cube
Dimension
Task
Session
Worklet
Workflow
Scheduler
SessionConfig

Include Parents Displays parent dependent objects. Where (Value 1) Any


For more information about object depends on (Value Source Definition
dependencies, see “Viewing Object 2) Target Definition
Dependencies” on page 37. Transformation
Mapplet
Mapping
Cube
Dimension
Task
Session
Worklet
Workflow
Scheduler
SessionConfig

Include Primary/ Displays primary key-foreign key N/A N/A


Foreign Key dependencies.
Dependencies

228 Chapter 9: Grouping Versioned Objects


Table 9-2. Query Parameters and Values

Parameter Description Valid Operator Accepted Values

Invalidated Status Displays objects invalidated due to Is Equal To Is invalidated


changes to a child dependent object. Is not invalidated

Label Displays objects associated with a Is Equal To Labels for which you
label or group of labels. Is Not Equal To have execute
Is Not One Of permissions
Is One Of

Last Saved Time Displays objects saved at a particular Greater Than Date/time
time or within a particular time range. Is Between Numeric
Less Than
Is Not Between
Within Last (days)

Latest Status Displays objects based on the object Is Equal To Checked-out


history. The query can return local Is Not Equal To Latest checked-in
objects that are checked out, the latest Is One Of Older
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.

Metadata Extension Displays objects based on an extension Is Equal To User-defined metadata


name or value pair. You can use this Is Not Equal To domain
query parameter to find non-reusable Any vendor-defined
metadata extensions. The query does metadata extensions
not return user-defined reusable
metadata extensions.

Object Name Displays objects based on the object Contains String


name. 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

Working with Object Queries 229


Table 9-2. Query Parameters and Values

Parameter Description Valid Operator Accepted Values

Object Type Displays objects based on the object Is Equal To Cube


type. For example, you can find all Is Not Equal To Dimension
workflows in a specified folder. Is Not One Of Mapping
Is One Of Mapplet
Scheduler
Session
Session Config
Source Definition
Target Definition
Task
Transformation
Workflow
Worklet

Object Used Status Displays objects that are used by other Is Equal To Unused
objects. For example, you can find Used
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.

Shortcut status Displays objects based on shortcut Is Equal To Is Not Shortcut


status. If you select this option, the Is Shortcut
query returns local and global shortcut
objects. Shortcut objects are
considered valid regardless of whether
the objects they reference are valid.

Reusable Status Displays reusable or non-reusable Is Equal To Non-reusable


objects. Is One of Reusable

User Displays objects checked in or checked Is Equal To Users in specified


out by the specified user. Is Not Equal To repository
Is Not One Of
Is One Of

Valid Status Displays valid, invalid, and invalidated Is Equal To Invalid


objects. Valid

Version Status Displays objects based on deleted or Is Equal To Deleted


non-deleted status. Is One of 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 Task Information

View history. See “Viewing Object History” on page 208.

Compare versions. See “Comparing Versions” on page 210.

Validate multiple objects. See “Validating Multiple Objects” on page 42.

Check in. See “Checking Out and Checking In Objects” on page 211.

Undo check out. See “Checking Out and Checking In Objects” on page 211.

Export to an XML file. See “Exporting and Importing Objects” on page 263.

Apply or remove a label. See “Working with Labels” on page 219.

View object dependencies. See “Viewing Object Dependencies” on page 37.

232 Chapter 9: Grouping Versioned Objects


Table 9-3. Tasks Available in Query Results Window

Task Task Information

View version properties. See “Viewing Version Properties” on page 203.

Add version to deployment group. See “Working with Deployment Groups” on page 236.

Change object status. See “Changing Object Status” on page 206.

Purge a version. See “Purging a Version” on page 216.

Save object version history to a file. To save the version history to an HTML file, choose File-Save to File.

Open object in a workspace. 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. Select a deployment group in the Deployment Group Browser and choose View History.
2. Select a deployment to roll back.
3. 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 key-
foreign 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 non-
reusable 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. In the Repository Manager, connect to the source repository and select the folder you
want to copy.
2. Choose Edit-Copy.
3. If copying to a different repository, connect to the target repository.
4. 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


Mode Prompt
Dialog Box

Latest Version Only Typical/Advanced 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.

Replace Folder Typical/Advanced List existing copies of the folder or all folders in the repository

Folder Modified Typical/Advanced Specify if objects in the source folder have been created or
modified since the last copy.

Compare Folders Typical/Advanced If you specified that the source folder contains new or modified
objects, compare the folders to determine the similarities and
differences between the folders.

Sequence Generators and Typical/Advanced Choose to retain current values for Sequence Generator and
Normalizers Normalizer transformations.

Mapping Variables Typical/Advanced Copy persisted values for mapping variables if they exist.

Copying or Replacing a Folder 251


Table 10-1. Copy Folder Wizard Prompts (Copying a Folder)

Copy Folder Wizard


Mode Prompt
Dialog Box

Retain Mapping Variables Typical/Advanced If you are replacing a folder, choose to retain persisted values for
mapping variables.

Dependency Information Typical/Advanced Copy dependency information for objects in mappings, if it exists.

Workflow Variables Typical/Advanced Copy persisted values for workflow variables.

Retain Workflow Variable Typical/Advanced Choose to retain persisted values.


Persisted Values

Copy Workflow Log Typical/Advanced Choose to copy workflow logs if they exist.

Retain Workflow Logs Typical/Advanced Choose to retain existing workflow logs in the target folder if you
choose not to copy workflow logs from the source folder.

Folder Exists Typical/Advanced 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.

Retain Server Settings Typical/Advanced Choose to retain the assigned PowerCenter Server information for
workflows and sessions configured to run on specific
PowerCenter Servers in a server grid.

Database Connections Typical/Advanced Lists all database connections in the folder, indicating the
connections for which you do not have read permission.

MQ Connections Typical/Advanced Lists all MQ connections in the folder.

FTP Connections Typical/Advanced Lists all FTP connections in the folder, indicating the connections
for which you do not have read permission.

External Loaders Typical/Advanced Lists all external loader connections in the folder, indicating the
connections for which you do not have read permission.

Application Connections Typical/Advanced Lists all application connections in the folder, indicating the
connections for which you do not have read permission.

Plug-in Typical/Advanced Lists plug-in application information upon which the source folder
depends if the plug-in information does not exist in the target
repository.

Servers Typical/Advanced Allows you to select a PowerCenter Server to run all non-
associated workflows. If the target repository contains less than
two PowerCenter Servers, the wizard skips this step.

Local Shared Folders Typical 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.

Global Shared Folders Typical 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.

252 Chapter 10: Copying Folders and Deployment Groups


Table 10-1. Copy Folder Wizard Prompts (Copying a Folder)

Copy Folder Wizard


Mode Prompt
Dialog Box

Outdated Shared Folders Typical 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.

Select Shared Folders Advanced 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.

Override Shared Folder Advanced Lists folders you can select to establish shortcuts if you choose to
override the default folder selection in the Select Shared Folders
dialog box.

Compare Shared Folder Advanced Allows you to compare folders if the folders you choose in
Override Shared Folder dialog box are different.

Compare Results Advanced 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 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, non-
reusable 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 Wizard Status of Target Status of Target Repository
Deployment Group
Action Repository Object Object After Copying
Object

Active Object Deploys the object Deleted Active

Active Object Deploys the object Active Active

Deleted Object Deploys the object Active Deleted

Deleted Object Skips the object 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. Connect to the source and target repositories.


2. Select the deployment group to copy.
3. 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


Mode Prompt
Wizard Dialog Box

Select Deployment Folders Typical/Advanced Choose the folders you want to deploy objects to.

Override Deployment Typical/Advanced Override the default selections for deployment folders.
Folder

Select Compare Folders Typical/Advanced Select the folders you want to compare.

Select Labels Typical/Advanced 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.

Clear Source Deployment Typical/Advanced Choose to remove objects from the deployment group after the
Group wizard completes the deployment operation.

Sequence Generators and Typical/Advanced Choose to retain current values for Sequence Generator and
Normalizers Normalizer transformations.

Retain Mapping Variables Typical/Advanced Choose to retain persisted values for mapping variables.

Dependency Information Typical/Advanced Copy dependency information for objects in mappings, if they
exist.

Retain Workflow Variable Typical/Advanced Choose to retain persisted values.


Persisted Values

Copying a Deployment Group 259


Table 10-3. Copy Deployment Group Wizard Prompts

Copy Deployment Group


Mode Prompt
Wizard Dialog Box

Retain Workflow Logs Typical/Advanced Choose to retain existing workflow logs in the target folder if you
choose not to copy workflow logs from the source folder.

Retain Server Settings Typical/Advanced Choose to retain the assigned PowerCenter Server information for
workflows and sessions configured to run on specific
PowerCenter Servers in a server grid.

Database Connections Typical/Advanced Lists all database connections in the folder, indicating the
connections for which you do not have read permission.

MQ Connections Typical/Advanced Lists all MQ connections in the folder.

FTP Connections Typical/Advanced Lists all FTP connections in the folder, indicating the connections
for which you do not have read permission.

External Loaders Typical/Advanced Lists all external loader connections in the folder, indicating the
connections for which you do not have read permission.

Application Connections Typical/Advanced Lists all application connections in the folder, indicating the
connections for which you do not have read permission.

Plug-in Typical/Advanced Lists plug-in application information upon which the source folder
depends if the plug-in information does not exist in the target
repository.

Servers Typical/Advanced Allows you to select a PowerCenter Server to run all non-
associated workflows. If the target repository contains less than
two PowerCenter Servers, the wizard skips this step.

Local Shared Folders Typical 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.

Outdated Shared Folders Typical 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.

Select Shared Folders Advanced 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.

Override Shared Folder Advanced Lists folders you can select to establish shortcuts if you choose to
override the default folder selection in the Select Shared Folders
dialog box.

260 Chapter 10: Copying Folders and Deployment Groups


Table 10-3. Copy Deployment Group Wizard Prompts

Copy Deployment Group


Mode Prompt
Wizard Dialog Box

Compare Shared Folder Advanced Allows you to compare folders if the folders you choose in
Override Shared Folder dialog box are different.

Compare Results Advanced 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 Repository Privilege Folder Permission

Designer Use Designer Read for exporting


Read/Write for importing

Super User N/A

Workflow Manager Use Workflow Manager Read for exporting


Read/Write for importing

Super User N/A

Repository Manager Use Repository Manager Read for exporting


Read/Write for importing

Super User 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" ...>
... CRCVALUE code
</SOURCE>

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
Options for Exporting Options for Importing
Application

Repository Manager - Multiple objects from one folder - Multiple objects from multiple folders
- Multiple object types from one folder - Multiple object types from multiple folders
For example, you can export multiple When you import objects from multiple
mappings to the same file. folders, you can choose which folders to
import into.

pmrep - Multiple objects from multiple folders - Multiple objects from multiple folders
- Multiple object types from multiple folders - Multiple object types from multiple folders
For example, you can export reusable When you import objects from multiple
transformations and reusable worklets to folders, you can choose which folders to
the same file. import into using the control file.

Designer - Multiple sources, targets, or reusable - Multiple objects from one folder
transformations from one folder - Multiple object types from one folder
For example, you cannot export both You can import Designer objects only.
sources and targets from the Navigator. You
cannot export multiple mappings or
mapplets.
You cannot export multiple object types.

Workflow Manager - Multiple reusable Email, Session, and - Multiple objects from one folder
Command tasks from one folder - Multiple object types from one folder
- Multiple worklets from one folder You can import Workflow Manager objects
- Multiple workflows from one folder only.
For example, you can export a reusable
Email task and a reusable Session task.
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 Dependent Child Objects Exported

Mapping Sources, targets, reusable and non-reusable transformations, and mapplets.

Mapplet Sources and reusable transformations.

Source with foreign key Source definition containing the primary key.

Target with foreign key Target definition containing the primary key.

Shortcut The object the shortcut references. For information on exporting and importing shortcuts,
see “Working with Shortcuts” on page 274.

Any repository object Any reusable or non-reusable metadata extension associated with the object.*

Session 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.

Worklet Reusable and non-reusable tasks, sessions, and worklets.

Workflow Scheduler and reusable and non-reusable tasks, sessions, and worklets.
*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 Description

Export primary key tables when exporting When you export a source or target containing a foreign key, the
sources/targets with foreign keys. PowerCenter Client exports the source or target containing the primary
key.

Export original object referred by the When you export a shortcut, the PowerCenter Client exports the actual
shortcut when exporting shortcuts. object referenced by the shortcut.

Export reusable objects used by objects When you export a mapping, mapplet, worklet, or workflow, the
being exported. 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.

Export non-reusable objects used by When you export a mapping, mapplet, worklet, or workflow, the
objects being exported. 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.

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 Designer Export Behavior

- Shortcut_to_Source1 from the Orders folder The Designer exports the saved version of Source1 because you do
- Target1 from the Sales folder not export any object from the same folder that contains the
referenced object, Source1.

- Shortcut_to_Source1 from the Orders folder The Designer exports the version of Source1 you have open in the
- Mapping1 from the Items folder 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 Type Modifiable Attributes Create New

Source Relational All Yes


Flat File All Yes
VSAM BUSINESSNAME No
DESCRIPTION
MQ BUSINESSNAME No
DESCRIPTION
XML BUSINESSNAME No
DESCRIPTION
PeopleSoft BUSINESSNAME No
DESCRIPTION
Siebel BUSINESSNAME No
DESCRIPTION
SAP table BUSINESSNAME No
DESCRIPTION
SAP ALE IDoc All Yes
TIBCO All Yes
Null source All Yes

Target Relational All Yes


SAP BW BUSINESSNAME No
DESCRIPTION
XML BUSINESSNAME No
DESCRIPTION
MQ BUSINESSNAME No
DESCRIPTION
TIBCO All Yes
Null target All Yes

Reusable Transformation All All Yes

Mapping Relational All Yes


Flat File All Yes
VSAM All No
MQ All No
XML All No
PeopleSoft BUSINESSNAME No
DESCRIPTION
Siebel BUSINESSNAME No
DESCRIPTION
SAP table BUSINESSNAME No
DESCRIPTION
SAP ALE IDoc All Yes
TIBCO All Yes

278 Chapter 11: Exporting and Importing Objects


Table 11-5. Modifiable Repository Objects

Repository Object Type Modifiable Attributes Create New

Mapplet Relational All Yes


Flat File All Yes
PeopleSoft BUSINESSNAME No
DESCRIPTION
Siebel BUSINESSNAME No
DESCRIPTION
SAP table BUSINESSNAME No
DESCRIPTION
SAP ALE IDoc All Yes
TIBCO All Yes

Session Reusable All Yes


Non-reusable All Yes

Task Reusable All Yes


Non-reusable All Yes

Worklet Reusable All Yes


Non-reusable All Yes

Workflow N/A All 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. Validates the XML file against powrmart.dtd.
2. Parses the XML file.
3. Validates the objects in the XML file.
4. 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 Description

Select Criteria 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 Description

Select Value 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.

Select Choose how to resolve the object conflicts. You can resolve conflicts using the following
Resolution 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. Open the folder that contains the objects you want to export.
2. In the Navigator or workspace, select the objects to export.
3. Choose Repository-Export Objects.

Choose which dependent objects to export.

4. To choose which dependent objects to export, click Advanced Options.

5. 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.
6. 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. Open the folder into which you want to import an object.


2. 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. To check in all objects after importing them, select Check In and enter comments in the
comment field.
11. 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. Resolve object conflicts as they appear in the Conflict Resolution Wizard. Click Next to
proceed through the Conflict Resolution Wizard.
17. 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 Overview


Dependencies Area

298 Chapter 12: Copying Objects


Table 12-1 describes the areas of the Copy Wizard:

Table 12-1. Copy Wizard Areas

Area Description

Copy From/Copy To Displays the original repository and folder name and the target repository and folder
name.

Overview Area 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.

Conflict Message 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.

Resolution Displays the elected resolution or a list of choices for resolution. Choices might be
different, depending on the conflict.

Edit Enables you to edit the object name if you choose to rename the object.

ApplyThisResolution to Applies the resolution to all unresolved conflicts or just the conflicts for the same object
Other Conflicts type.

Compare Conflict Compares duplicate objects in the target folder to the objects you are copying. For more
information, see “Comparing Repository Objects” on page 45.

Next Conflict/Option 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.

View Object Dependencies Displays object dependencies for the current object. For more information, see “Viewing
Object Dependencies” on page 305.

You can configure display settings and functions of the Copy Wizard by choosing Tools-
Options 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 Description Availability

Copy Copy a connection object. When the Copy Wizard cannot find a
connection object in the target repository.

Browse Click Browse to choose a server, When the Copy Wizard cannot find a server,
connection, or mapping. You must select connection, or mapping in the target folder it
a valid object in the target folder for the displays the Browse button.
copy process to succeed.

Rename Change the object name when copying it When an object with the same name exists in
to the target folder. the target folder.

Replace Replace the existing object in the target When copying to another folder in the same
folder. repository or another folder in a different
repository and an object with the same name
exists in the target folder.

Reuse Use the existing object in the target When a reusable object exists in the target
folder. folder.

Skip Skips copying the object. When an object with the same name exists in
the target folder.

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. Open the target folder.


2. In the Navigator, select the object you want to copy.
3. Drag or copy the object into the target folder.
4. 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. Select the object from the Overview area of the Copy Wizard.
2. 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. Open the workflow or worklet.


2. 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.
3. Copy the segment to the clipboard.
4. 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.
5. Choose Edit-Paste or press Ctrl+V.
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 key-
foreign 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. Open a mapping or mapplet.


2. 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.
3. Copy the segment to the clipboard by pressing Ctrl+C or choosing Edit-Copy.
4. Open a target mapping or mapplet. You can also paste the segment into an empty
workspace.
5. 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.

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
You can import from the following BI tool:
♦ Cognos Impromptu
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. Enter the options specific for the tool from which you are importing.
5. 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

Require/
Option Description
Optional

Table Type Required The type of repository objects to create. You can create source or
target definitions. Default is source.

Database Type Required 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.

Database Name Optional 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.

Codepage Required The code page of the repository you import the metadata into.
Default is MS1252.

Indentation Optional The number of spaces used to indent the file you import.
Default is no indentation.

Retain Physical Optional Indicates whether or not to retain the column properties when you
Properties replace an existing object.
Default is False.

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. Click Next.
9. 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. Resolve object conflicts as they appear in the Conflict Resolution Wizard. Click Next to
proceed through the Conflict Resolution Wizard.
12. 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 vendor-
defined 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. In the Repository Manager, connect to the appropriate repository.


2. 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. Open the User Defined Metadata Domain.
4. 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

Required/
Field Description
Optional

Extension Name Required 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.

Object Type Required 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.

Database Type Required for The database type. The database type is required for source and
source and target target definition objects. You can select a single database type or
definition objects all database types.

Datatype Required The datatype: numeric (integer), string, or boolean.

Default Value Optional 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.

Creating Reusable Metadata Extensions 329


Table 14-1. Options for Creating Reusable Metadata Extensions

Required/
Field Description
Optional

Maximum Length Required for string The maximum length for string metadata extensions.
objects

Client Visible Optional Specifies whether the metadata extension is visible in


PowerCenter.

Client Editable Optional 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.

Share Read Optional Specifies whether the metadata extension is visible in vendor
domains.

Share Write Optional 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.

Private Optional 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.

Description Optional Optional description of the metadata extension.

6. Click Create.
7. 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 Description

Database Provides a list of database definitions in the repository. For more information,
see “Database Definition View” on page 338.

Sources Provides a list of source definitions by folder. For more information, see “Source
Views” on page 339.

Targets Provides a list of target definitions by folder. For more information, see “Target
Views” on page 347.

Mappings and Mapplets 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.

Metadata Extensions Provides details of metadata extensions defined for objects. For more
information, see “Metadata Extension Views” on page 364.

Transformations Provides details of transformation instances by folder. For more information, see
“Transformation Views” on page 366.

Workflows, Worklets, and Tasks Provides static and run time details for workflows and worklets by folder. For
more information, see “Workflow, Worklet, and Task Views” on page 371.

Security Provides user and group information. For more information, see “Security
Views” on page 390.

Deployment 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.

Repository Provides repository details such as repository name and connection information.
For more information, see “Repository View” on page 395.

PowerCenter Server Provides details such as server name and host name. For more information, see
“PowerCenter Server Views” on page 396.

334 Chapter 15: Using Metadata Exchange (MX) Views


Table 15-1. MX View Categories

Category Description

Changed Management Provide version history of object and label details. For more information, see
“Change Management Views” on page 398.

Folders 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 SQL Script

DB2 db2mxbld.sq_

Informix infmxbld.sq_

Oracle oramxbld.sq_

Microsoft SQL Server sqlmxbld.sq_

Sybase sybmxbld.sq_

Teradata 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 SQL Script

DB2 db2mxdrp.sq_

Informix infmxdrp.sq_

Oracle oramxdrp.sq_

Microsoft SQL Server sqlmxdrp.sq_

336 Chapter 15: Using Metadata Exchange (MX) Views


Table 15-3. SQL Script to Drop MX Views

Repository Database SQL Script

Sybase sybmxdrp.sq_

Teradata 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 Datatype Description

DATABASE_NAME VARCHAR2 (240) Database definition name.

DEF_SOURCE VARCHAR2 (240) Source of the definition.

SUBJECT_AREA VARCHAR2 (240) Folder name.

VERSION_ID INTEGER 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 non-
relational 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 Description

REP_ALL_SOURCES 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.

REP_ALL_SOURCE_FLDS 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.

REP_SRC_FILES This view provides a list of all file definitions in the repository. For more information,
see “REP_SRC_FILES” on page 343.

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. For more information, see “REP_SRC_TBLS” on page 344.

REP_SRC_FILE_FLDS These views provide access to the fields in a non-relational source. For more
REP_SEG_FLDS information, see “REP_SRC_FILE_FLDS and REP_SEG_FLDS” on page 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. For more information, see
“REP_SRC_TBL_FLDS” on page 346.

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 Datatype Description

PARENT_SUBJECT_AREA VARCHAR2 (240) Folder name.

PARENT_SUBJECT_ID NUMBER Folder ID.

PARENT_SOURCE_NAME VARCHAR2 (240) Name of the parent source

PARENT_SOURCE_BUSINESS_NAME VARCHAR2 (240) Business name of the parent source.

Source Views 339


Table 15-6. REP_ALL_SOURCES MX View

Column Name Datatype Description

PARENT_SOURCE_ID NUMBER ID of the parent source.

PARENT_SOURCE_DESCRIPTION VARCHAR2 (2000) Description of the parent source.

PARENT_SOURCE_VERSION_NUMBER NUMBER Source version number.

PARENT_SOURCE_VERSION_STATUS NUMBER Parent source version status.

PARENT_SOURCE_UTC_CHECKIN NUMBER UTC time (Coordinated Universal Time) when


the parent source was checked in.

PARENT_SOURCE_UTC_LAST_SAVED NUMBER UTC time when the parent source was last
modified.

PARENT_SOURCE_CREATION_TIME VARCHAR2 (30) Time when the parent source was last
modified.

PARENT_SOURCE_SCHEMA_NAME VARCHAR2 (240) Name of the source schema.

PARENT_SOURCE_FIRST_FIELD_ID NUMBER ID of the first field in the source.

PARENT_SOURCE_SELECT_INFO_ID NUMBER File organization information.

PARENT_SOURCE_DISPLAY_SIZE NUMBER Parent source display size (uncompressed


binary).

PARENT_SOURCE_PHYSICAL_SIZE NUMBER Parent source physical size (compressed


binary).

PARENT_SRC_MIN_PHYSICAL_SIZE NUMBER Physical size (compressed binary).

PARENT_SOURCE_DATABASE_NAME VARCHAR2 (240) Database name of the parent source.

PARENT_SOURCE_TYPE NUMBER Specifies whether the source is a relational or


a non-relational source.

PARENT_SOURCE_DATABASE_TYPE VARCHAR2 (50) Name of the database type of the parent


source.

SUBJECT_AREA VARCHAR2 (240) Folder name.

SUBJECT_ID NUMBER Folder ID.

SOURCE_NAME VARCHAR2 (240) Source name.

SOURCE_ID NUMBER Source ID.

SOURCE_DESC VARCHAR2 (2000) Source description.

SOURCE_VERSION_NUMBER NUMBER Source version number.

SOURCE_VERSION_STATUS NUMBER Specifies whether the source version is active


or has been deleted.

SOURCE_UTC_CHECKIN NUMBER UTC time for source checkin.

SOURCE_UTC_LAST_SAVED NUMBER UTC time when the source display was last
saved.

SOURCE_LAST_SAVED NUMBER 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 Datatype Description

SOURCE_DATABASE_NAME VARCHAR2 (240) Source database name.

REPOSITORY_NAME VARCHAR2 (240) The repository name.

IS_SHORTCUT NUMBER Specifies whether the source is a shortcut.


1 = shortcut; 0 = not a shortcut.

IS_GLOBAL_SHORTCUT NUMBER 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 Datatype Description

PARENT_SUBJECT_AREA VARCHAR2 (240) Parent folder name.

PARENT_SUBJECT_ID NUMBER Parent folder ID.

PARENT_SOURCE_NAME VARCHAR2 (240) Parent source name.

PARENT_SOURCE_BUSINESS_NAME VARCHAR2 (240) Business name of the parent source.

PARENT_SOURCE_ID NUMBER Parent source ID.

PARENT_SOURCE_DESCRIPTION VARCHAR2 (2000) Description of the parent source.

PARENT_SOURCE_VERSION_NUMBER NUMBER Version number of the parent source.

PARENT_SOURCE_VERSION_STATUS NUMBER Status of the parent source version.

PARENT_SOURCE_UTC_CHECKIN NUMBER UTC time when the parent source was


checked in.

PARENT_SOURCE_UTC_LAST_SAVED NUMBER UTC time when the parent source was last
saved.

PARENT_SOURCE_CREATION_TIME VARCHAR2 (30) Time when the parent source was last
modified.

PARENT_SOURCE_TYPE NUMBER Source type such as relational database


or flat file.

PARENT_SOURCE_DATABASE_NAME VARCHAR2 (240) Database name of the parent source.

PARENT_SOURCE_DATABASE_TYPE VARCHAR2 (50) Database type of the parent source.

Source Views 341


Table 15-7. REP_ALL_SOURCE_FLDS MX View

Column Name Datatype Description

SUBJECT_AREA VARCHAR2 (240) Folder name.

SUBJECT_ID NUMBER Folder ID.

SOURCE_NAME VARCHAR2 (240) Source name.

SOURCE_ID NUMBER Source ID.

SOURCE_DESCRIPTION VARCHAR2 (2000) Source description.

SOURCE_VERSION_NUMBER NUMBER Source version number.

SOURCE_VERSION_STATUS NUMBER Specifies whether the source version is


active or has been deleted.

SOURCE_UTC_CHECKIN NUMBER UTC time when the source was last


checked in.

SOURCT_UTC_LAST_SAVED NUMBER UTC time when the source was last


saved.

SOURCE_LAST_SAVED VARCHAR2 (30) Time when the source was last saved.

SOURCE_DATABASE_NAME VARCHAR2 (240) Name of the database for the source.

SOURCE_FIELD_NAME VARCHAR2 (240) Source field name.

SOURCE_FIELD_BUSINESS_NAME VARCHAR2 (240) Business name of the source field.

SOURCE_FIELD_ID NUMBER ID of the source field (primary key).

SOURCE_FIELD_DESCRIPTION VARCHAR2 (2000) Description of the source field.

SOURCE_FIELD_NUMBER NUMBER Source field number.

SOURCE_FIELD_NEXT_FIELD_ID NUMBER ID of the field that follows the current field.

SOURCE_FIELD_LEVEL NUMBER Field level number for non-relational


sources.

SOURCE_FIELD_PICTURE_TEXT VARCHAR2 (240) Picture text that a COBOL source uses.


Null for relational sources.

SOURCE_FIELD_OCCURS_TIME NUMBER Number of time that the field (or record)


occurs in the source.

SOURCE_FIELD_REDEFINES_FIELD VARCHAR2 (240) Identifies the field/record that this field/


record redefines.

SOURCE_FIELD_DISPLAY_OFFSET NUMBER Offset of this field within the source.

SOURCE_FIELD_DISPLAY_LENGTH NUMBER Display field length.

SOURCE_FIELD_PHYSICAL_OFFSET NUMBER Offset of this field within this FD.

SOURCE_FIELD_PHYSICAL_LENGTH NUMBER Physical field length.

SOURCE_FIELD_CHILD_FIELD_ID NUMBER 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 Datatype Description

SOURCE_FIELD_KEY_TYPE VARCHAR2 (50) Specifies whether the source field key is a


primary key or a foreign key.

SOURCE_FIELD_DATATYPE VARCHAR2 (40) Field datatype.

SOURCE_FIELD_PRECISION NUMBER Length or precision for the field.

SOURCE_FIELD_SCALE NUMBER Scale for the field.

SOURCE_FIELD_PIC_USAGE_NAME NUMBER Source field picture usage name.

SOURCE_FIELD_NULLTYPE NUMBER Specifies whether nulls are allows.


0= nulls allowed, 1 = nulls not allowed.

REPOSITORY_NAME VARCHAR2 (240) Repository name.

IS_SHORTCUT NUMBER Specifies whether the source is a shortcut.


1 = shortcut; 0 = not a shortcut.

IS_GLOBAL_SHORTCUT NUMBER 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 Datatype Description

FILE_ID INTEGER Source ID (primary key).

SUBJECT_AREA VARCHAR2 (240) Folder name.

DATABASE_TYPE VARCHAR2 (240) Type of database extracted from.

DATABASE_NAME VARCHAR2 (240) Name of database extracted from (DSN).

FILE_NAME VARCHAR2 (240) Name of file definitions.

SCHEMA_FILE_NAME VARCHAR2 (240) File from which schema was extracted.

SELECT_INFO_ID INTEGER File organization information.

DISPLAY_SIZE INTEGER Display size (uncompressed).

PHYSICAL_SIZE INTEGER Physical size (compressed binary).

MIN_PHYSICAL_SIZE INTEGER Minimum physical size (varying records).

Source Views 343


Table 15-8. REP_SRC_FILES MX View

Column Name Datatype Description

FIRST_FIELD_ID INTEGER Link to first field of file definitions.

SOURCE_DESCRIPTION VARCHAR2 (2000) Source description.

VERSION_ID INTEGER Version ID.

SOURCE_VERSION_NUMBER NUMBER 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 Datatype Description

TABLE_NAME VARCHAR2 (240) Table name.

TABLE_BUSNAME VARCHAR2 (240) Business name of the table.

TABLE_ID NUMBER Unique key.

SUBJECT_AREA VARCHAR2 (240) Folder name.

DATABASE_TYPE VARCHAR2( 240) Type of database extracted from.

DATABASE_NAME VARCHAR2 (240) Name of database extracted from.

SCHEMA_NAME VARCHAR2 (240) Name of schema extracted from.

FIRST_FIELD_ID NUMBER Link to first field.

SOURCE_DESCRIPTION VARCHAR2 (240) Source description.

VERSION_ID INTEGER Folder version ID.

VERSION_NAME VARCHAR2 (240) Folder version name.

LAST_SAVED VARCHAR2 (240) Last time the source table was saved.

SOURCE_VERSION_NUMBER NUMBER Source version number.

SUBJECT_ID 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 Datatype Description

FIELD_ID INTEGER Field ID (primary key).

SUBJECT_AREA VARCHAR2 (240) Folder name.

FILE_ID INTEGER Source ID (primary key).

FIELD_NAME VARCHAR2 (240) Field name.

FIELD_LEVEL INTEGER Field level (i.e., 01, 02).

FIELD_NUMBER INTEGER Order number of the field.

FIELD_DESCRIPTION VARCHAR2 (2000) Comments for this field.

PICTURE_TEXT VARCHAR2 (240) PIC clause.

OCCURS INTEGER Number of OCCURS.

REDEFINES_FIELD VARCHAR2 (240) Redefines this field.

KEY_TYPE INTEGER Key type. 1 = primary key, 0 = not a key.

DISPLAY_OFFSET INTEGER Offset using display length.

DISPLAY_LENGTH INTEGER Display length.

PHYSICAL_OFFSET INTEGER Physical offset.

PHYSICAL_LENGTH INTEGER Physical length.

USAGE_TYPE VARCHAR2 (240) COMP type (binary compressed fields).

DATA_PRECISION INTEGER Decimal precision for numeric fields or field length


for CHAR fields.

DATA_SCALE INTEGER Decimal scale for numeric fields.

CHILD_ID INTEGER Link to child field if this is a group item.

SIBLING_ID INTEGER Link to next field at this level.

VERSION_ID INTEGER 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 Datatype Description

COLUMN_NAME VARCHAR2 (240) Field name.

COLUMN_BUSNAME VARCHAR2 (240) Business name of the field.

COLUMN_ID INTEGER Field ID (primary key).

SUBJECT_AREA VARCHAR2 (240) Folder name.

TABLE_ID INTEGER Source table ID.

TABLE_NAME VARCHAR2 (240) Table name.

TABLE_BUSNAME VARCHAR2 (240) Business name of the table.

COLUMN_NUMBER INTEGER Order number of the column.

COLUMN_DESCRIPTION VARCHAR2 (2000) Description of the column.

KEY_TYPE VARCHAR2 (240) Key type for this column.

SOURCE_TYPE INTEGER Data type for this column.

DATA_PRECISION INTEGER Decimal precision for numeric fields or field length


for CHAR fields.

DATA_SCALE INTEGER Decimal scale for numeric fields.

NEXT_COLUMN_ID INTEGER Link to next field in source table.

VERSION_ID INTEGER Folder version ID.

VERSION_NAME VARCHAR2 (240) Folder version name.

SOURCE_VERSION_NUMBER NUMBER Source version number.

SUBJECT_ID 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 Description

REP_ALL_TARGETS 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.

REP_ALL_TARGET_FIELDS 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.

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. For more information, see “REP_TARG_TBLS” on
page 350.

REP_TARG_TBL_COLS 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_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 Datatype Description

PARENT_SUBJECT_AREA VARCHAR2 (240) Parent folder name.

PARENT_SUBJECT_ID NUMBER Folder ID.

PARENT_TARGET_NAME VARCHAR2 (240) Target name.

PARENT_TARGET_BUSINESS_NAME VARCHAR2 (240) Business name for the target.

PARENT_TARGET_ID NUMBER Target ID (primary key).

PARENT_TARGET_DESCRIPTION VARCHAR2 (2000) Target description.

PARENT_TARGET_VERSION_NUMBER NUMBER Target version number.

Target Views 347


Table 15-13. REP_ALL_TARGETS MX View

Column Name Datatype Description

PARENT_TARGET_VERSION_STATUS NUMBER Status of the parent target version.

PARENT_TARGET_UTC_CHECKIN NUMBER UTC time (Coordinated Universal Time)


when the parent target was checked in.

PARENT_TARGET_UTC_LAST_SAVED NUMBER UTC time when the target was last saved.

PARENT_TARGET_CREATION_TIME VARCHAR2 (30) Time when the target was last modified.

PARENT_TARGET_FIRST_FIELD_ID VARCHAR2 Link to first field of this table.

PARENT_TARGET_CONSTRAINT VARCHAR2 (2000) User-specified constraint string used


when the DDL is generated.

PARENT_TARGET_CREATE_OPTIONS VARCHAR2 (2000) Options for use when generating DDL.

PARENT_TARGET_FIRST_INDEX_ID NUMBER Link to first field of this table.

PARENT_TARGET_FILE_ID NUMBER ID for the parent target file.

PARENT_TARGET_DATABASE_TYPE VARCHAR2 (50) Database type for the parent target.

SUBJECT_AREA VARCHAR2 (240) Folder name.

SUBJECT_ID NUMBER Folder ID.

TARGET_NAME VARCHAR2 (240) Target name.

TARGET_ID NUMBER Target ID.

TARGET_DESCRIPTION VARCHAR2 (2000) Target description.

TARGET_VERSION_NUMBER NUMBER Target version number.

TARGET_VERSION_STATUS NUMBER Status of the target version.

TARGET_UTC_CHECKIN NUMBER UTC time (Coordinated Universal Time)


when the target was last checked in.

TARGET_UTC_LAST_SAVED NUMBER UTC time when the target was last saved.

TARGET_CREATION_TIME NUMBER Time when the target was last saved.

REPOSITORY_NAME VARCHAR2 (240) Repository name.

IS_SHORTCUT NUMBER Specifies whether the target is a shortcut.


1 = shortcut; 0 = not a shortcut.

IS_GLOBAL_SHORTCUT NUMBER 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 Datatype Description

PARENT_SUBJECT_AREA VARCHAR2 (240) Folder name.

PARENT_SUBJECT_ID NUMBER Folder ID.

PARENT_TARGET_NAME VARCHAR2 (240) Name of parent target.

PARENT_TARGET_BUSINESS_NAME VARCHAR2 (2000) Business name of the parent target.

PARENT_TARGET_ID NUMBER Parent target ID.

PARENT_TARGET_DESCRIPTION VARCHAR2 (2000) Description of parent target.

PARENT_TARGET_VERSION_NUMBER NUMBER Target version number.

PARENT_TARGET_VERSION_STATUS NUMBER Status of the parent target version.

PARENT_TARGET_UTC_CHECKIN NUMBER UTC time (Coordinated Universal Time) when


the parent target was last checked in.

PARENT_TARGET_UTC_LAST_SAVED NUMBER UTC time when the parent target was last
saved.

PARENT_TARGET_LAST_SAVED NUMBER Time when the parent target was last


modified.

PARENT_TARGET_FILE_ID NUMBER ID of parent target file.

PARENT_TARGET_FIRST_FIELD_ID NUMBER ID of the first field of parent target.

PARENT_TARGET_DATABASE_TYPE VARCHAR2 (50) Database type of parent target.

SUBJECT_AREA VARCHAR2 (240) Folder name.

SUBJECT_ID NUMBER Folder ID.

TARGET_NAME VARCHAR2 (240) Target name.

TARGET_ID NUMBER Target ID.

TARGET_DESCRIPTION VARCHAR2 (2000) Target description.

TARGET_VERSION_NUMBER NUMBER Target version number.

TARGET_VERSION_STATUS NUMBER Status of the target version.

TARGET_UTC_CHECKIN NUMBER UTC time when the target was last checked
in.

TARGET_UTC_LAST_SAVED NUMBER UTC time when the target was last saved.

TARGET_CREATION_TIME VARCHAR2 (30) Time when target was last modified.

Target Views 349


Table 15-14. REP_ALL_TARGET_FIELDS MX View

Column Name Datatype Description

TARGET_FIELD_NAME VARCHAR2 (240) Target field name.

TARGET_FIELD_BUSINESS_NAME VARCHAR2 (240) Business name of target field.

TARGET_FIELD_ID NUMBER Target field ID.

TARGET_FIELD_DESC VARCHAR2 (2000) Description of target field.

TARGET_FIELD_NUMBER VARCHAR2 (240) Target field number.

TARGET_FIELD_NEXT_FIELD_ID NUMBER ID of the next field in target.

TARGET_FIELD_PICTURE_TEXT VARCHAR2 (240) Picture text that COBOL sources use.

TARGET_FIELD_IS_NULLABLE NUMBER Specifies whether target field is null.


0 = Null; 1 = Not Null.

TARGET_FIELD_SOURCE_FIELD_ID NUMBER Link to source from which this field was


created.

TARGET_FIELD_KEY_TYPE NUMBER Key type of target field.

TARGET_FIELD_DATATYPE VARCHAR2 (240) Datatype of target field.

TARGET_FIELD_DATATYPE_GROUP CHAR (1) Datatype group codes.


B = Binary and Bit
C = Character, String, Text, and Byte
D = Date
N = Numeric, Money, and Bigint

TARGET_FIELD_PRECISION NUMBER Precision for target field.

TARGET_FIELD_SCALE NUMBER Scale for target field.

REPOSITORY_NAME VARCHAR2 (240) Repository name.

IS_SHORTCUT NUMBER Specifies whether the target is a shortcut.


1 = shortcut; 0 = not a shortcut.

IS_GLOBAL_SHORTCUT NUMBER Specifies whether the target is a global


shortcut.
1 = shortcut; 0 = not a shortcut.
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 Datatype Description

SUBJECT_AREA VARCHAR2 (240) Folder name.

TABLE_NAME VARCHAR2 (240) Table name.

BUSNAME VARCHAR2 (240) Table business name.

VERSION_ID INTEGER Folder version ID.

VERSION_NAME VARCHAR2 (240) Folder version name.

DESCRIPTION VARCHAR2 (2000) Description of the table.

FIRST_COLUMN_ID INTEGER Link to first field of this table.

TABLE_CONSTRAINT VARCHAR2 (240) Table constraint specified in Warehouse Designer.

CREATE_OPTIONS VARCHAR2 (240) Table creation options specified in the Warehouse


Designer.

FIRST_INDEX_ID VARCHAR2 (240) Link to first index.

LAST_SAVED VARCHAR2 (240) Time target table was last saved.

TARGET_VERSION_NUMBER NUMBER Target version number.

SUBJECT_ID NUMBER Folder ID.

TABLE_ID NUMBER 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 Datatype Description

SUBJECT_AREA VARCHAR2 (240) Folder name.

TABLE_NAME VARCHAR2 (240) Table this column belongs to.

TABLE_BUSNAME VARCHAR2 (240) Business name of the table.

COLUMN_NAME VARCHAR2 (240) Column name.

COLUMN_BUSNAME VARCHAR2 (240) Business name of this column.

COLUMN_NUMBER INTEGER Order number of the column.

COLUMN_ID INTEGER Column ID (primary key).

Target Views 351


Table 15-16. REP_TARG_TBL_COLS MX View

Column Name Datatype Description

VERSION_ID INTEGER Folder version ID.

VERSION_NAME VARCHAR2 (240) Folder version name.

DESCRIPTION VARCHAR2 (2000) Column description.

COLUMN_KEYTYPE VARCHAR2 (240) Primary Key, Not a Key, Foreign Key, Primary and
Foreign Key.

DATA_TYPE VARCHAR2 (240) Native database datatype.

DATA_TYPE_GROUP CHAR (1) Datatype group.


C = Character
D = Date
N = Numeric

DATA_PRECISION INTEGER Decimal precision for numeric fields or field length


for CHAR fields.

DATA_SCALE INTEGER Decimal scale for numeric columns.

NEXT_COLUMN_ID INTEGER Link to next column.

IS_NULLABLE INTEGER Whether NULLs are accepted.

SOURCE_COLUMN_ID INTEGER Link to source this column was created from.

TARGET_VERSION_NUMBER NUMBER Target version 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 Description

REP_ALL_MAPPINGS 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.

REP_ALL_MAPPLETS 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.

REP_TARG_MAPPING 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.

REP_TARG_FLD_MAP This view shows compound field-level transformation expressions


associated with a target. For more information, see
“REP_TARG_FLD_MAP” on page 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. For more
information, see “REP_FLD_MAPPING” on page 358.

REP_SRC_MAPPING This view shows all sources used in a mapping. For more information, see
“REP_SRC_MAPPING” on page 359.

REP_SRC_FLD_MAP This view shows all of the source fields used in a mapping. For more
information, see “REP_SRC_FLD_MAP” on page 359.

REP_TBL_MAPPING 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.

REP_TARG_TBL_JOINS This view contains join information between target tables. For more
information, see “REP_TARG_TBL_JOINS” on page 361.

REP_MAPPING_UNCONN_PORTS 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.

REP_MAPPING_PORT_CONN This view displays the port-level connections between the objects of a
mapping. For more information, see “REP_MAPPING_PORT_CONN” on
page 363.

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 Datatype Description

PARENT_SUBJECT_AREA VARCHAR2 (240) Parent folder name.

PARENT_SUBJECT_ID NUMBER Parent folder ID.

SUBJECT_AREA VARCHAR2 (240) Folder name.

SUBJECT_ID NUMBER Folder ID.

PARENT_MAPPING_NAME VARCHAR2 (240) Name of the parent mapping.

PARENT_MAPPING_ID NUMBER Sequence ID of the parent mapping.

PARENT_MAPPING_VERSION_NUMBER INTEGER Parent mapping version number.

PARENT_MAPPING_VERSION_STATUS NUMBER Parent mapping version status.

PARENT_MAPPING_UTC_CHECKIN NUMBER UTC time (Coordinated Universal Time) when


the parent mapping was checked in.

PARENT_MAPPING_UTC_LAST_SAVED NUMBER The UTC time when mapping was last saved.

PARENT_MAPPING_LAST_SAVED NUMBER Date and time when parent mapping was last
saved.

PARENT_MAPPING_IS_VALID NUMBER Specifies whether the parent mapping is valid.

PARENT_MAPPING_DESCRIPTION VARCHAR2 (2000) Parent mapping description.

MAPPING_NAME VARCHAR2 (240) Name of mapping.

MAPPING_ID NUMBER Sequence ID for mapping.

MAPPING_VERSION_NUMBER NUMBER Mapping version number.

MAPPING_VERSION_STATUS NUMBER Status of the mapping version.

MAPPING_UTC_CHECKIN NUMBER UTC time when the mapping was checked in.

MAPPING_UTC_LAST_SAVED NUMBER UTC time when the mapping was last saved.

MAPPING_LAST_SAVED NUMBER Time when the mapping was last saved.

MAPPING_DESCRIPTION VARCHAR2 (2000) Mapping description.

REPOSITORY_NAME VARCHAR2 (240) Repository name.

IS_GLOBAL_SHORTCUT NUMBER 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 Datatype Description

IS_SHORTCUT NUMBER 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 Datatype Description

PARENT_SUBJECT_AREA VARCHAR2 (240) Parent folder name.

PARENT_SUBJECT_ID NUMBER Parent folder ID.

SUBJECT_AREA VARCHAR2 (240) Folder name.

SUBJECT_ID NUMBER Folder ID.

PARENT_MAPPLET_NAME VARCHAR2 (240) Name of parent mapplet.

PARENT_MAPPLET_ID NUMBER Sequence ID of parent mapplet.

PARENT_MAPPLET_VERSION_NUMBER INTEGER Field ID (primary key).

PARENT_MAPPLET_VERSION_STATUS NUMBER Parent mapplet version status.

PARENT_MAPPLET_UTC_CHECKIN NUMBER UTC time (Coordinated Universal Time) when


the parent mapplet was checked in.

PARENT_MAPPLET_UTC_LAST_SAVED NUMBER The UTC time when mapplet was last saved.

PARENT_MAPPLET_LAST_SAVED NUMBER The date and time when parent mapplet was
last saved.

PARENT_MAPPLET_IS_VALID NUMBER Specifies whether the parent mapplet is valid.

PARENT_MAPPLET_DESCRIPTION VARCHAR2 (2000) Parent mapplet description.

MAPPLET_NAME VARCHAR2 (240) Name of mapplet.

MAPPLET_ID NUMBER Mapplet ID.

MAPPLET_VERSION_NUMBER NUMBER Mapplet version number.

MAPPLET_VERSION_STATUS NUMBER Status of the mapplet version.

MAPPLET_UTC_CHECKIN NUMBER UTC time when the mapplet was checked in.

MAPPLET_UTC_LAST_SAVED NUMBER UTC time when the mapplet was last saved.

MAPPLET_LAST_SAVED NUMBER Time when the mapplet was last saved.

Mapping and Mapplet Views 355


Table 15-19. REP_ALL_MAPPLETS MX View

Column Name Datatype Description

MAPPLET_DESCRIPTION VARCHAR2 (2000) Mapplet description.

REF_WIDGET_ID NUMBER Foreign key that points to generated mapplet


transformation.

REPOSITORY_NAME VARCHAR2 (240) Repository name.

IS_GLOBAL_SHORTCUT NUMBER Specifies whether the mapplet is a global


shortcut.
1 = shortcut; 0 = not a shortcut.

IS_SHORTCUT NUMBER Specifies whether the mapplet is a shortcut.


1 = shortcut; 0 = not a shortcut.
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 Datatype Description

TARGET_NAME VARCHAR2 (240) Target name.

TARG_BUSNAME VARCHAR2 (240) Target business name.

SUBJECT_AREA VARCHAR2 (240) Folder name.

MAPPING_NAME VARCHAR2 (240) Mapping name.

VERSION_ID INTEGER Folder version ID.

VERSION_NAME VARCHAR2 (240) Folder version name.

SOURCE_FILTER VARCHAR2 (2000) Compound source filter condition.

CONDITIONAL_LOAD VARCHAR2 (2000) Compound conditional load.

GROUP_BY_CLAUSE VARCHAR2 (2000) Compound group by expression.

SQL_OVERRIDE VARCHAR2 (2000) Compound SQL override expression.

DESCRIPTION VARCHAR2 (2000) Description of transformation expression.

MAPPING_COMMENT VARCHAR2 (2000) Description of mapping.

356 Chapter 15: Using Metadata Exchange (MX) Views


Table 15-20. REP_TARG_MAPPING MX View

Column Name Datatype Description

MAPPING_LAST_SAVED VARCHAR2 (240) Time the mapping was saved last.

MAPPING_VERSION_NUMBER NUMBER Mapping version number.

TARGET_VERSION_NUMBER 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 Datatype Description

TARGET_COLUMN_NAME VARCHAR2 (240) Name of target field (table field).

TARG_COL_BUSNAME VARCHAR2 (240) Business name of target field.

TARGET_NAME VARCHAR2 (240) Name of target (table).

TARG_BUSINESS_NAME VARCHAR2 (240) Business name of target table.

SUBJECT_AREA VARCHAR2 (240) Folder name.

MAPPING_NAME VARCHAR2 (240) Mapping name.

VERSION_ID INTEGER Folder version ID.

VERSION_NAME VARCHAR2 (240) Folder version name.

TRANS_EXPRESSION VARCHAR2 (2000) Compound transformation expression.

USER_COMMENT VARCHAR2 (2000) End user comment.

DBA_COMMENT VARCHAR2 (2000) Administrator comment.

MAPPING_COMMENT VARCHAR2 (2000) Mapping comment.

MAPPING_LAST_SAVED VARCHAR2 (240) Time the mapping was saved last.

MAPPING_VERSION_NUMBER NUMBER Mapping version number.

TARGET_VERSION_NUMBER 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 Datatype Descriptions

SOURCE_FIELD_NAME VARCHAR2 (240) Name of the source field.

SRC_FLD_BUSNAME VARCHAR2 (240) Business name of the source field.

SOURCE_NAME VARCHAR2 (240) Name of the source table.

SRC_BUSNAME VARCHAR2 (240) Business name of the source table.

TARGET_COLUMN_NAME VARCHAR2 (240) Name of the target field.

TARG_COL_BUSNAME VARCHAR2 (240) Business name of the target column.

TARGET_NAME VARCHAR2 (240) Target name.

TARG_BUSNAME VARCHAR2 (240) Business name of the target.

SUBJECT_AREA VARCHAR2 (240) Folder name.

SUBJECT_ID NUMBER Folder ID.

MAPPING_NAME VARCHAR2 (240) Name of the mapping.

VERSION_ID NUMBER Folder version ID.

VERSION_NAME VARCHAR2 (240) Folder version name.

TRANS_EXPRESSION VARCHAR2 (2000) Target field transformation expression.

USER_COMMENT VARCHAR2 (2000) End user comment.

DBA_COMMENT VARCHAR2 (2000) Administrator comment.

MAPPING_COMMENT VARCHAR2 (2000) Mapping comment.

MAPPING_LAST_SAVED VARCHAR2 (240) Time the mapping was saved last.

MAPPING_VERSION_NUMBER NUMBER Mapping version number.

SOURCE_VERSION_NUMBER NUMBER Source version number.

TARGET_VERSION_NUMBER NUMBER Target version number.

SOURCE_ID NUMBER Source table ID.

TARGET_ID NUMBER Target table ID.

MAPPING_ID NUMBER 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 Datatype Description

SOURCE_NAME VARCHAR2 (240) Name of the source.

SOURCE_ID NUMBER Source ID.

SRC_BUSNAME VARCHAR2 (240) Business name of source table.

SUBJECT_AREA VARCHAR2 (240) Folder name.

SUBJECT_ID NUMBER Folder ID.

MAPPING_NAME VARCHAR2 (240) Mapping name.

MAPPING_ID NUMBER Mapping ID.

VERSION_ID INTEGER Folder version ID.

VERSION_NAME VARCHAR2 (240) Folder version name.

MAPPING_COMMENT VARCHAR2 (2000) Mapping comment.

MAPPING_LAST_SAVED VARCHAR2 (240) Time the mapping was last saved.

MAPPING_VERSION_NUMBER NUMBER Mapping version number.

SOURCE_VERSION_NUMBER 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 Datatype Description

SOURCE_FIELD_NAME VARCHAR2 (240) Source field name.

SRC_FLD_BUSNAME VARCHAR2 (240) Business name of the field.

Mapping and Mapplet Views 359


Table 15-24. Mapping Source Fields

Column Name Datatype Description

SOURCE_NAME VARCHAR2 (240) Name of the source.

SRC_BUSNAME VARCHAR2 (240) Business name of the source table.

SUBJECT_AREA VARCHAR2 (240) Folder name.

MAPPING_NAME VARCHAR2 (240) Name of the mapping.

VERSION_ID INTEGER Folder version ID.

VERSION_NAME VARCHAR2 (240) Folder version name.

TRANS_EXPRESSION VARCHAR2 (2000) Compound target. Field transformation expression.

USER_COMMENT VARCHAR2 (2000) End user comment.

DBA_COMMENT VARCHAR2 (2000) Administrator comment.

MAPPING_COMMENT VARCHAR2 (2000) Mapping comment.

MAPPING_LAST_SAVED VARCHAR2 (240) Time the mapping was saved last.

MAPPING_VERSION_NUMBER NUMBER Mapping version number.

SOURCE_VERSION_NUMBER NUMBER Source version number.

TARGET_VERSION_NUMBER 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 Datatype Description

SOURCE_NAME VARCHAR2 (240) Name of the source object.

SOURCE_ID NUMBER Source ID.

SRC_BUSNAME VARCHAR2 (240) Business name of the source.

TARGET_NAME VARCHAR2 (240) Target name.

TARGET_ID NUMBER Target ID.

TARG_BUSNAME VARCHAR2 (240) Business name of the target.

SUBJECT_AREA VARCHAR2 (240) Folder name.

SUBJECT_ID NUMBER Folder ID.

360 Chapter 15: Using Metadata Exchange (MX) Views


Table 15-25. REP_TBL_MAPPING MX View

Column Name Datatype Description

MAPPING_NAME VARCHAR2 (240) Name of the mapping.

MAPPING_ID NUMBER Mapping ID.

VERSION_ID INTEGER Folder version ID.

VERSION_NAME VARCHAR2 (240) Folder version name.

SOURCE_FILTER VARCHAR2 (2000) Compound source filter condition.

CONDITIONAL_LOAD VARCHAR2 (2000) Compound conditional load.

GROUP_BY_CLAUSE VARCHAR2 (2000) Compound group by clause.

SQL_OVERRIDE VARCHAR2 (2000) Compound SQL override expression.

DESCRIPTION VARCHAR2 (2000) Description of transformation.

MAPPING_COMMENT VARCHAR2 (2000) Mapping comment.

MAPPING_LAST_SAVED VARCHAR2 (240) Time the mapping was saved last.

MAPPING_VERSION_NUMBER NUMBER Mapping version number.

SOURCE_VERSION_NUMBER NUMBER Source version number.

TARGET_VERSION_NUMBER 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 Datatype Description

SUBJECT_AREA VARCHAR2 (240) Folder name.

VERSION_ID NUMBER Folder version ID.

VERSION_NAME VARCHAR2 (240) Folder version name.

TABLE1_NAME VARCHAR2 (240) Name of first table in the join.

TABLE1_BUSNAME VARCHAR2 (240) Business name of first table.

TABLE1_ID NUMBER ID of first table in the join.

COLUMN1_NAME VARCHAR2 (240) Name of column in first table.

COLUMN1_BUSNAME VARCHAR2 (240) Business name of column in first table.

Mapping and Mapplet Views 361


Table 15-26. REP_TARG_TBL_JOINS MX View

Column Name Datatype Description

COLUMN1_NUMBER NUMBER Number of column in first table.

COLUMN1_ID NUMBER ID of column in first table.

TABLE2_NAME VARCHAR2 (240) Name of second table in the join.

TABLE2_BUSNAME VARCHAR2 (240) Business name of second table.

TABLE2_ID NUMBER ID of second table in the join.

COLUMN2_NAME VARCHAR2 (240) Name of column in second table.

COLUMN2_BUSNAME VARCHAR2 (240) Business name of column in second table.

COLUMN2_NUMBER VARCHAR2 (240) Number of column in second table.

COLUMN2_ID NUMBER ID of column in second table.

TABLE1_VERSION_NUMBER NUMBER Table1 version number.

TABLE2_VERSION_NUMBER 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 Datatype Description

SUBJECT_AREA VARCHAR2 (240) Folder name.

SUBJECT_ID NUMBER Folder ID (primary key).

MAPPING_NAME VARCHAR2 (240) Name of the mapping.

MAPPING_ID NUMBER Sequence ID for the mapping (primary key).

MAPPING_VERSION_NUMBER NUMBER Mapping version number.

OBJECT_INSTANCE_NAME VARCHAR2 (240) Name of the instance.

OBJECT_INSTANCE_ID NUMBER Unique ID for the instance in a mapping.

OBJECT_TYPE NUMBER Object type.

OBJECT_TYPE_NAME VARCHAR2 (240) Object type name.

FIELD_ID NUMBER Source field ID (primary key).

FIELD_NAME VARCHAR2 (240) Source field name.

362 Chapter 15: Using Metadata Exchange (MX) Views


Table 15-27. REP_MAPPING_UNCONN_PORTS MX View

Column Name Datatype Description

OBJECT_VERSION_NUMBER NUMBER 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 Datatype Description

SUBJECT_ID NUMBER Folder ID.

SUBJECT_AREA VARCHAR2 (240) Folder name.

MAPPING_ID NUMBER Sequence ID for the mapping (primary key).

MAPPING_NAME VARCHAR2 (240) Mapping name.

MAPPING_VERSION_NUMBER NUMBER Mapping version number.

FROM_OBJECT_ID NUMBER Source object ID.

FROM_OBJECT_TYPE NUMBER Source object type.

FROM_OBJECT_TYPE_NAME VARCHAR2 (240) Name of the source object type.

FROM_OBJECT_NAME VARCHAR2 (240) Source object name.

FROM_OBJECT_INSTANCE_ID NUMBER Source object instance ID.

FROM_OBJECT_FIELD_NAME VARCHAR2 (240) Source object field name.

FROM_OBJECT_VERSION_NUMBER NUMBER Source object version number.

TO_OBJECT_ID NUMBER Target object ID.

TO_OBJECT_TYPE NUMBER Target object type such as port, target, mapplet,


and transformation.

TO_OBJECT_TYPE_NAME VARCHAR2 (240) Target object type name.

TO_OBJECT_NAME VARCHAR2 (240) Target object name.

TO_OBJECT_INSTANCE_ID NUMBER Target object instance ID.

TO_OBJECT_FIELD_NAME VARCHAR2 (240) Target object field name.

TO_OBJECT_VERSION_NUMBER NUMBER 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 Description

REP_METADATA_EXTNS This view displays the details of all metadata extensions in the repository. For
more information, see “REP_METADATA_EXTNS” on page 364.

REP_METADATA_EXTN_DEFINES 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 Datatype Description

OBJECT_ID NUMBER Object the metadata is associated with.

SUBJECT_ID NUMBER Folder ID.

METADATA_EXTN_NAME VARCHAR2 (240) Metadata extension name.

METADATA_EXTN_OBJECT_TYPE NUMBER Object type the metadata is associated with.

METADATA_EXTN_OBJECT_ID NUMBER Object the metadata value is associated with.

METADATA_EXTN_DATA_TYPE NUMBER Datatype of the metadata extension value.

PERMISSIONS NUMBER Permissions type.

METADATA_EXTN_VALUE VARCHAR2 (2000) Metadata extension value.

LINE_NO NUMBER Line number of the text when there are multiple
lines of text.

METADATA_EXTN_DESCRIPTION VARCHAR2 (2000) Description of the metadata extension.

VERSION_NUMBER NUMBER Object version number.

OBJECT_TYPE_NAME NUMBER Name of the object type.

DOMAIN_ID NUMBER Globally unique domain identifier.

DOMAIN_NAME VARCHAR2 (240) 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 Datatype Description

DOMAIN_KEY VARCHAR2 (240) Domain password.

DOMAIN_USAGE NUMBER 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 VARCHAR2 (2000) Domain description.


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 Datatype Description

DOMAIN_NAME VARCHAR2 (240) Unique name for a user-defined domain

DOMAIN_ID NUMBER Globally unique domain identifier.

METAEXT_NAME VARCHAR2 (240) Unique name for metadata within a domain.

OBJECT_TYPE_NAME VARCHAR2 (240) Object type name.

DATABASE_TYPE VARCHAR2 (240) Name of the database type.

METAEXT_DESC VARCHAR2 (2000) Description of the metadata extension.

VENDOR_NAME VARCHAR2 (240) 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 Description

REP_ALL_TRANSFORMS 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.

REP_WIDGET_INST This view displays the details of all transformation instances. For more information,
see “REP_WIDGET_INST” on page 368.

REP_WIDGET_DEP This view displays the details of dependencies between transformation instances in a
mapping. For more information, see “REP_WIDGET_DEP” on page 368.

REP_WIDGET_ATTR This view displays attribute details for transformations, instances, and sessions. For
more information, see “REP_WIDGET_ATTR” on page 369.

REP_WIDGET_FIELD This view displays field level details for transformations. For more information, see
“REP_WIDGET_FIELD” on page 369.

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 Datatype Description

PARENT_SUBJECT_AREA VARCHAR2 (240) Parent folder name.

PARENT_SUBJECT_ID NUMBER Parent folder ID.

SUBJECT_AREA VARCHAR2 (240) Folder name.

SUBJECT_ID NUMBER Folder ID.

PARENT_WIDGET_NAME VARCHAR2 (240) Name of the parent transformation.

PARENT_WIDGET_ID NUMBER Parent transformation ID (primary key).

366 Chapter 15: Using Metadata Exchange (MX) Views


Table 15-33. REP_ALL_TRANSFORMS MX View

Column Name Datatype Description

PARENT_WIDGET_VERSION_NUMBER NUMBER Parent transformation ID.

PARENT_WIDGET_VERSION_STATUS NUMBER Status of the parent transformation version.

PARENT_WIDGET_UTC_CHECKIN NUMBER UTC time (Coordinated Universal Time) when


the parent transformation was last checked in.

PARENT_WIDGET_UTC_LAST_SAVED NUMBER UTC time when the parent transformation was


last saved.

PARENT_WIDGET_LAST_SAVED VARCHAR2 (30) Date and time when transformation was last
saved.

PARENT_WIDGET_IS_REUSABLE NUMBER Specifies whether the transformation is


reusable. 1= reusable; 0 = not reusable.

PARENT_WIDGET_DESCRIPTION VARCHAR2 (2000) Parent transformation description.

WIDGET_NAME VARCHAR2 (240) Name of the transformation.

WIDGET_ID NUMBER Transformation ID.

WIDGET_VERSION_NUMBER NUMBER Version number of the transformation.

WIDGET_VERSION_STATUS NUMBER Status of the transformation version.

WIDGET_UTC_CHECKIN NUMBER UTC time when the transformation was


checked in.

WIDGET_UTC_LAST_SAVED NUMBER UTC time when the transformation was last


saved.

WIDGET_LAST_SAVED NUMBER Time when the transformation was last saved.

WIDGET_TYPE_ID NUMBER Transformation type ID.

WIDGET_TYPE_NAME VARCHAR2 (240) Transformation type name.

WIDGET_DESCRIPTION VARCHAR2 (2000) Transformation description.

REPOSITORY_NAME VARCHAR2 (240) Repository name.

IS_GLOBAL_SHORTCUT NUMBER Specifies whether the transformation is a


global shortcut.
1 = shortcut; 0 = not a shortcut.

IS_SHORTCUT NUMBER Specifies whether the transformation is a


shortcut.
1 = shortcut; 0 = not a shortcut.
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 Datatype Description

MAPPING_ID NUMBER Mapping ID

WIDGET_ID NUMBER Transformation ID

SUBJECT_ID NUMBER Folder ID.

WIDGET_TYPE NUMBER Transformation type.

WIDGET_TYPE_NAME VARCHAR2 (240) Transformation name.

INSTANCE_ID NUMBER ID of the transformation instance.

INSTANCE_NAME VARCHAR2 (240) Name of the transformation instance.

COMMENTS VARCHAR2 (2000) Description of the transformation instance.

VERSION_NUMBER NUMBER 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 Datatype Description

MAPPING_ID NUMBER Mapping ID

FROM_INSTANCE_ID NUMBER Source transformation instance ID.

FROM_FIELD_ID NUMBER Field ID of the source transformation instance.

TO_INSTANCE_ID NUMBER Field ID of the target transformation instance.

TO_FIELD_ID NUMBER Target field ID.

INSTANCE_NAME VARCHAR2 (240) Name of the transformation instance.

COMMENTS VARCHAR2 (2000) Description of the transformation instance.

VERSION_NUMBER NUMBER 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 Datatype Description

WIDGET_ID NUMBER Transformation ID.

WIDGET_TYPE NUMBER Transformation type.

MAPPING_ID NUMBER Mapping ID.

INSTANCE_ID NUMBER Instance ID.

ATTR_ID NUMBER Attribute ID.

ATTR_COMMENT VARCHAR2 (2000) Description of the attribute.

ATTR_DATATYPE NUMBER Attribute data type

ATTR_NAME VARCHAR2 (240) Attribute name.

ATTR_TYPE NUMBER Attribute type.

OBJECT_TYPE_ID NUMBER Object type ID.

LINE_NO NUMBER Used to break up long strings into multiple rows.

ATTR_VALUE VARCHAR2 (2000) Attribute value.

PARTITION_ID NUMBER Partition ID.

SESSION_TASK_ID NUMBER Session task ID.

VERSION_NUMBER NUMBER 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 Datatype Description

WIDGET_ID NUMBER Transformation ID.

FIELD_NAME VARCHAR2 (240) Transformation field name.

FIELD_ID NUMBER Transformation field ID.

WGT_PREC NUMBER Transformation field precision.

Transformation Views 369


Table 15-37. REP_WIDGET_FIELD MX View

Column Name Datatype Description

WGT_SCALE NUMBER Transformation field scale.

WGT_DATATYPE NUMBER Transformation field data type.

PORTTYPE NUMBER Transformation port type.

FIELD_ORDER NUMBER Transformation order.

COMMENTS VARCHAR2 (2000) Comments on the field.

WIDGET_FLD_PROP NUMBER Field-level property used by transformations.

DEFAULT_VALUE VARCHAR2 (2000) Default value of the transformation field.

SRC_FIELD_ID NUMBER Source field ID for normalizer transformation.

GROUP_ID NUMBER The ID of the corresponding instance in the


mapplet's mapping.

VERSION_NUMBER NUMBER Transformation version number.

DATATYPE_NUM NUMBER Datatype number.

DATATYPE VARCHAR2 (40) Transformation datatype of the port.

DATATYPE_GROUP_CODE CHAR (1) Datatype group code.

DATABASE_TYPE NUMBER External database type.

EXPRESSION VARCHAR2 (2000) Expression name.

EXPR_COMMENT VARCHAR2 (2000) Comments on the expression.

EXPR_TYPE NUMBER 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 Description

REP_WORKFLOWS This view contains information about individual workflows and workflow scheduling.
For more information, see “REP_WORKFLOWS” on page 372.

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. For more information, see “REP_ALL_TASKS” on page 374.

REP_ALL_SCHEDULERS This view displays a list of schedulers by folder. For more information, see
“REP_ALL_SCHEDULERS” on page 374.

REP_WFLOW_VAR This view displays a list of all variables declared within a workflow or worklet. For
more information, see “REP_WFLOW_VAR” on page 375.

REP_EVENT This view displays the details of events created at the workflow or worklet level.
For more information, see “REP_EVENT” on page 376.

REP_TASK_INST This view displays all task instances within workflows and worklets. For more
information, see “REP_TASK_INST” on page 377.

REP_WORKFLOW_DEP 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.

REP_TASK_INST_RUN 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.

REP_WFLOW_RUN This view displays the run statistics for all workflows by folder. For more information,
see “REP_WFLOW_RUN” on page 379.

REP_LOAD_SESSIONS This view provides information about reusable sessions in the repository. For more
information, see “REP_LOAD_SESSIONS” on page 380.

REP_SESSION_CNXS 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 Description

REP_SESSION_INSTANCES This view contains connection information for session instances. For more
information, see “REP_SESSION_INSTANCES” on page 381.

REP_SESSION_FILES This view contains file connections associated with reusable sessions. For more
information, see “REP_SESSION_FILES” on page 382.

REP_SESSION_INSTANCE_F This view contains file connections associated with reusable sessions. For more
ILES information, see “REP_SESSION_INSTANCE_FILES” on page 383.

REP_SESS_WIDGET_CNXS This view contains information about the sources and targets used in a session. For
more information, see “REP_SESS_WIDGET_CNXS” on page 383.

REP_COMPONENT 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.

REP_SESS_PARTITION_DEF 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.

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. For more information,
see “REP_SESS_CONFIG_PARM” on page 385.

REP_TASK_ATTR This view displays the attribute values and overridden values for session and
workflow tasks. For more information, see “REP_TASK_ATTR” on page 386

REP_SESS_LOG This view provides log information about sessions. For more information, see
“REP_SESS_LOG” on page 387.

REP_SESS_TBL_LOG 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_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 Datatype Description

SUBJECT_AREA VARCHAR2 (240) Folder name.

WORKFLOW_NAME VARCHAR2 (240) Workflow name.

SCHEDULER_NAME VARCHAR2 (240) Scheduler associated with the workflow.

START_TIME TIMESTAMP Start time configured for the scheduler.

END_TIME TIMESTAMP End time configured for the scheduler.

IS_RUN_ON_LIMIT NUMBER

372 Chapter 15: Using Metadata Exchange (MX) Views


Table 15-39. REP_WORKFLOWS MX View

Column Name Datatype Description

RUN_OPTIONS INTEGER 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.

END_OPTIONS INTEGER 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.

RUN_COUNT INTEGER Number of times the PowerCenter Server runs


the workflow before stopping the workflow.

WORKFLOW_VERSION_NUMBER NUMBER Workflow version number.

SCHEDULER_VERSION_NUMBER NUMBER Version number of the scheduler.

SUBJECT_ID NUMBER Folder ID.

WORKFLOW_ID NUMBER Workflow ID.

WORKFLOW_IS_VALID NUMBER Specifies whether the workflow is valid or not.


0 = invalid; 1 = valid.

WORKFLOW_LAST_SAVED VARCHAR2 (30) Date and time when the workflow was last saved.

WORKFLOW_COMMENTS VARCHAR2 (2000) Description of the workflow.

SCHEDULER_ID NUMBER Scheduler ID.

SCHEDULER_IS_REUSABLE NUMBER Specifies if scheduler is reusable.

SCHEDULER_COMMENTS VARCHAR2 (2000) Scheduler description.

DELTA_VALUE NUMBER Number of seconds the PowerCenter Server


waits between successive workflow runs.

SERVER_NAME VARCHAR2 (240) Name of the PowerCenter server registered with


the repository.

SERVER_ID NUMBER PowerCenter Server ID.


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 Datatype Description

SUBJECT_AREA VARCHAR2 (240) Folder name.

SUBJECT_ID NUMBER Folder ID.

TASK_NAME VARCHAR2 (240) Task name.

TASK_ID NUMBER Task ID.

IS_VALID NUMBER Specifies whether a workflow, worklet, or session is


valid. 1 = valid; 0 = invalid.

DESCRIPTION VARCHAR2 (2000) Description of the task.

VERSION_NUMBER NUMBER Version number of the task.

IS_ENABLED NUMBER Specifies whether the task is enabled or not. 1 =


enabled; 0 = disabled.

UTC_CHECKIN NUMBER UTC checkin time.

UTC_LAST_SAVED VARCHAR2 (30) UTC time when task was last saved.

IS_REUSABLE NUMBER Specifies whether the task is reusable or not.


Values are: 1 = reusable; 0 = not reusable.

TASK_TYPE NUMBER Task type.

TASK_TYPE_NAME VARCHAR2 (240) 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 Datatype Description

SUBJECT_ID NUMBER Folder ID.

SCHEDULER_ID NUMBER Scheduler ID (primary key).

SCHEDULER_NAME VARCHAR2 (240) Name of the scheduler.

START_TIME VARCHAR2 (30) 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 Datatype Description

END_TIME VARCHAR2 (30) End time configured for the object associated with
the scheduler.

RUN_OPTIONS NUMBER 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.

END_OPTIONS NUMBER Specifies when the task must stop running.

DELTA_VALUE NUMBER Delta between successive runs (stored as


seconds).

RUN_COUNT NUMBER Number of workflow runs. Used by END_OPTIONS


column.

DESCRIPTION VARCHAR2 (2000) Description of the scheduler.

IS_REUSABLE NUMBER Specifies whether the scheduler is reusable or not.

LAST_SAVED NUMBER Date and time when this task was last saved.

VERSION_NUMBER NUMBER Version number of the scheduler.

UTC_LAST_SAVED NUMBER UTC time (Coordinated Universal Time) when the


scheduler was last saved.

UTC_CHECKIN NUMBER UTC checkin time.


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 Datatype Description

SUBJECT_ID NUMBER Folder ID.

WORKFLOW_ID NUMBER Workflow ID (primary key).

VARIABLE_ID NUMBER 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 Datatype Description

VARIABLE_NAME VARCHAR2 (30) Name of the variable.

VARIABLE_TYPE NUMBER Variable type. 0 = built in; 1 = user-defined.

VARIABLE_DESCRIPTION VARCHAR2 (2000) Comments on the variable.

VARIABLE_DATATYPE NUMBER Datatype of a workflow variable.


3 = decimal
4 = integer
5 = small integer
7 = real
8 = double
11 = date/time
12 = string

VARIABLE_DEFAULT_VALUE VARCHAR2 (2000) Default value of a variable.

LAST_SAVED VARCHAR2 (30) Date and time that this task was last saved.

TASK_INST_ID NUMBER ID of the instance where the variable is defined.

TASK_INST_NAME VARCHAR2 (240) Name of the task instance.

BIT_OPTIONS NUMBER Specifies whether the workflow variable is null or


persistent. 1 = workflow variable is persistent;
2 = workflow variable is NULL.

VERSION_NUMBER NUMBER Workflow version 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 Datatype Description

SUBJECT_ID NUMBER Folder ID.

WORKFLOW_ID NUMBER Workflow ID (primary key).

EVENT_ID NUMBER Event ID (primary key).

EVENT_NAME VARCHAR2 (30) Name of the event.

EVENT_TYPE NUMBER Event type. 0 = built in; 1 = user-defined.

EVENT_SCOPE VARCHAR2 (2000) Event scope.

EVENT_DESCRIPTION NUMBER Event description.

LAST_SAVED VARCHAR2 (30) 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 Datatype Description

VERSION_NUMBER NUMBER 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 Datatype Description

WORKFLOW_ID NUMBER Workflow ID (primary key).

INSTANCE_ID NUMBER Instance ID (primary key).

TASK_ID NUMBER Task ID.

TASK_TYPE NUMBER Task type.

TASK_TYPE_NAME VARCHAR2 (240) Name of the object.

INSTANCE_NAME VARCHAR2 (240) Name of the instance.

IS_ENABLED NUMBER Specifies whether the task instance is enabled.

DESCRIPTION VARCHAR2 (2000) Description of the task.

IS_VALID NUMBER Specifies whether the task is valid. 0 = invalid;


1 = valid.

VERSION_NUMBER NUMBER Workflow version number.

SERVER_ID 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 Datatype Description

WORKFLOW_ID NUMBER Workflow ID.

FROM_INSTANCE_ID NUMBER The ID of the source task instance.

Workflow, Worklet, and Task Views 377


Table 15-45. REP_WORKFLOW_DEP MX View

Column Name Datatype Description

TO_INSTANCE_ID NUMBER The ID of the target task instance.

CONDITION_ID NUMBER Condition ID.

VERSION_NUMBER NUMBER Version number.

CONDITION VARCHAR2 (2000) 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 Datatype Description

SUBJECT_AREA VARCHAR2 (240) Folder name.

WORKFLOW_NAME VARCHAR2 (240) Workflow name.

VERSION_NUMBER NUMBER Version number.

SUBJECT_ID NUMBER Folder ID.

WORKFLOW_ID NUMBER ID of the parent workflow.

WORKFLOW_RUN_ID NUMBER Run ID of the parent workflow.

WORKLET_RUN_ID NUMBER Run ID of a worklet in a workflow.

CHILD_RUN_ID NUMBER Run ID of a child task in a worklet.

INSTANCE_ID NUMBER ID of an instance within a workflow or a worklet.

INSTANCE_NAME VARCHAR2 (240) Name of the task instance.

TASK_ID NUMBER Task ID.

TASK_TYPE_NAME VARCHAR2 (240) Object name.

TASK_TYPE NUMBER Task type.

START_TIME DATE Start time configured for task execution.

END_TIME DATE End time configured for task execution.

RUN_ERR_CODE NUMBER Task error code.

RUN_ERR_MSG VARCHAR2 (2000) Task error message.

378 Chapter 15: Using Metadata Exchange (MX) Views


Table 15-46. REP_TASK_INST_RUN MX View

Column Name Datatype Description

RUN_STATUS_CODE NUMBER 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 VARCHAR2 (240) Task name.

TASK_VERSION_NUMBER NUMBER Task version number.

SERVER_ID NUMBER ID of the PowerCenter Server.

SERVER_NAME VARCHAR2 (240) Name of the server.


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 Datatype Description

SUBJECT_ID NUMBER Folder ID.

WORKFLOW_ID NUMBER Workflow ID.

WORFLOW_RUN_ID NUMBER Workflow run ID.

WORKFLOW_NAME VARCHAR2 (240) Workflow name.

SERVER_ID NUMBER PowerCenter Server ID.

SERVER_NAME VARCHAR2 (240) Server name.

START_TIME DATE Start time configured for the workflow.

END_TIME DATE End time configured for the workflow.

LOG_FILE VARCHAR2 (2000) Full path and name of the log file.

RUN_ERR_CODE NUMBER Error message code.

Workflow, Worklet, and Task Views 379


Table 15-47. REP_WFLOW_RUN MX View

Column Name Datatype Description

RUN_ERR_MSG VARCHAR2 (2000) Error message.

RUN_STATUS_CODE NUMBER Status code for the workflow run.

USER_NAME VARCHAR2 (240) Name of the user who ran the workflow.

RUN_TYPE NUMBER Specifies how the workflow was run.


1 = Normal; 2 = Recovery.

VERSION_NUMBER NUMBER Workflow version number.

SUBJECT_AREA VARCHAR2 (240) 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 Datatype Description

SUBJECT_AREA VARCHAR2 (240) Folder name.

SESSION_NAME VARCHAR2 (240) Name of the session.

LAST_SAVED VARCHAR2 (240) Time the session was last saved.

SESSION_ID NUMBER Session ID.

MAPPING_NAME VARCHAR2 (240) Name of the mapping this session uses.

VERSION_ID NUMBER Folder version ID.

VERSION_NAME VARCHAR2 (240) Folder version name.

IS_ACTIVE NUMBER Specifies whether the session is active.

STARTTIME NUMBER Session start time.

SESS_INTERVAL NUMBER Session interval.

REPEAT_COUNT NUMBER Repeat count.

SESSION_LOG_FILE VARCHAR2 (240) Session log file name.

BAD_FILE_LOCATION NUMBER Location of the reject file.

TARGET_ID NUMBER Target ID.

SOURCE_ID NUMBER Source ID.

SESSION_VERSION_NUMBER NUMBER Version number of the session.

MAPPING_VERSION_NUMBER NUMBER Version number of the mapping.

380 Chapter 15: Using Metadata Exchange (MX) Views


Table 15-48. REP_LOAD_SESSIONS MX View

Column Name Datatype Description

SUBJECT_ID NUMBER Folder ID.

IS_VALID NUMBER Specifies whether the session is valid or not.


0 = invalid; 1 = valid.

IS_REUSABLE NUMBER Specifies whether the session is reusable or not.


0 = not reusable; 1= reusable.

COMMENTS VARCHAR2 (2000) Description of the session.

MAPPING_ID NUMBER 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 Datatype Description

SUBJECT_AREA VARCHAR2 (240) Folder name in which the session is stored.

SUBJECT_ID NUMBER Folder ID.

SESSION_NAME VARCHAR2 (240) Name of the session.

SESSION_ID NUMBER Session ID.

IS_TARGET INTEGER Specifies whether the connection is the target or


the source.
0 = source connection; 1 = target connection.

CONNECTION_NAME VARCHAR2 (240) Name of the connection.

CONNECTION_ID INTEGER Connection ID.

SESSION_VERSION_NUMBER NUMBER Version number of the session.


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 Datatype Description

SUBJECT_AREA VARCHAR2 (240) Folder name.

SUBJECT_ID NUMBER Folder ID.

WORKFLOW_NAME VARCHAR2 (240) Name of the workflow the session instance


belongs to.

WORKFLOW_ID NUMBER Workflow ID.

SESSION_INSTANCE_NAME VARCHAR2 (240) Session instance name.

SESSION_INSTANCE_ID NUMBER Session instance ID.

SESSION_ID NUMBER Session ID.

IS_TARGET INTEGER Specifies the connection type.


1 = target connection; 0 = source connection.

CONNECTION_NAME VARCHAR2 (240) Name of the connection associated with the


session instance.

CONNECTION_ID INTEGER Connection ID associated with the session


instance.

WORKFLOW_VERSION_NUMBER NUMBER Workflow version number.

SESSION_VERSION_NUMBER 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 Datatype Description

SUBJECT_AREA VARCHAR2 (240) Name of the folder containing the session.

SESSION_NAME VARCHAR2 (240) Name of the session.

SESSION_VERSION_NUMBER NUMBER Session version number.

IS_TARGET INTEGER Specifies the connection type.


1 = target file connection; 0 =source file connection.

FILE_NAME VARCHAR2 (240) Name of the source or target file.

DIR_NAME VARCHAR2 (240) 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 Datatype Description

CODE_PAGE VARCHAR2 (240) 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 Datatype Description

SUBJECT_AREA VARCHAR2 (240) Name of the folder containing the session.

WORKFLOW_NAME VARCHAR2 (240) Name of the workflow to which the session instance
belongs.

WORKFLOW_VERSION_NUMBER NUMBER Workflow version number.

SESSION_INSTANCE_NAME VARCHAR2 (240) Name of the session instance.

IS_TARGET INTEGER Specifies the connection type.


1 = target file connection; 0 = source file connection.

FILE_NAME VARCHAR2 (240) Name of the source or target file.

DIR_NAME VARCHAR2 (240) Directory where the source or target file is stored.

CODE_PAGE VARCHAR2 (240) 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 Datatype Description

WIDGET_INSTANCE_ID NUMBER The instance ID of a source, target, or


transformation.

WIDGET_TYPE NUMBER Identifies a source, target, or transformation.

INSTANCE_NAME VARCHAR2 (240) Instance name.

Workflow, Worklet, and Task Views 383


Table 15-53. REP_SESS_WIDGET_CNXS MX View

Column Datatype Description

READER_WRITER_TYPE VARCHAR2 (240) Type of reader or writer used.

CNX_NAME VARCHAR2 (240) Connection name.

SESSION_ID NUMBER Session ID.

SESSION_WIDG_INST_ID NUMBER Transformation instance ID referenced by a


session (primary key).

SESS_EXTN_OBJECT_TYPE NUMBER Indicates whether the object is a reader or a


writer. 78 = reader; 79 = writer.

SESS_EXTN_OBJECT_SUBTYPE NUMBER Indicates a specific reader or writer.

SESS_CNX_REFS_OBJECT_TYPE NUMBER Type of referenced object.

SESS_CNX_REFS_OBJECT_SUBTYPE NUMBER Indicates a specific object.

SESS_CNX_REFS_OBJECT_ID NUMBER ID of the referenced object.

WORKFLOW_ID NUMBER Workflow ID.

SESSION_INSTANCE_ID NUMBER Session instance ID.

SESSION_VERSION_NUMBER NUMBER 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 Datatype Description

WORKFLOW_ID NUMBER ID of the workflow to which the session belongs.

TASK_ID NUMBER Session ID.

TASK_INST_ID NUMBER Session instance ID.

REF_OBJ_TYPE NUMBER ID of a task within a session.

OBJECT_TYPE NUMBER Object type.

OBJECT_SEQ_TYPE NUMBER Identifies the referred object's sequence type.

VERSION_NUMBER NUMBER Object version number.

PM_VALUE VARCHAR2 (2000) Component value.

VAL_NAME VARCHAR2 (240) Name of the value.

DESCRIPTION VARCHAR2 (2000) 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 Datatype Description

SESSION_ID NUMBER Session ID.

SESS_WIDG_INST_ID NUMBER Session instance ID.

PARTITION_ID NUMBER Partition ID

PARTITION_NAME VARCHAR2 (240) Partition name.

DESCRIPTION VARCHAR2 (2000) Description of the partition.

LAST_SAVED VARCHAR2 (30) Time when the partition was last modified.

VERSION_NUMBER NUMBER Session version number.

MAPPING_ID NUMBER ID of the mapping used by the session.

WIDGET_ID NUMBER ID of a source, target, or transformation in a session.

WIDGET_TYPE NUMBER Identifies a source, target, or transformation.

INSTANCE_ID NUMBER Instance ID of a source, target, or transformation.

INSTANCE_NAME VARCHAR2 (240) Instance name.

TYPE_NAME VARCHAR2 (240) 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 Datatype Description

SESSION_ID NUMBER Session ID.

SESSION_VERSION_NUMBER NUMBER Session version number.

CONFIG_ID NUMBER Session configuration ID.

ATTR_ID NUMBER Session configuration attribute ID.

ATTR_TYPE NUMBER Session configuration attribute type.

Workflow, Worklet, and Task Views 385


Table 15-56. REP_SESS_CONFIG_PARM MX View

Column Datatype Description

ATTR_NAME VARCHAR2 (240) Session configuration attribute name.

ATTR_VALUE VARCHAR2 (2000) 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 Datatype Description

WORKFLOW_ID NUMBER Workflow ID.

INSTANCE_ID NUMBER Task instance ID.

TASK_ID NUMBER Task ID.

TASK_TYPE NUMBER Task type.

REF_SESSION_ID NUMBER Session ID.

TASK_TYPE_NAME VARCHAR2 (240) Task type name.

ATTR_ID NUMBER Task attribute ID.

ATTR_NAME NUMBER Task attribute name.

ATTR_VALUE VARCHAR2 (2000) Attribute value.

LINE_NO NUMBER Line number of attribute values. Used for storing multiple
lines of attribute values.

GROUP_ID NUMBER Group ID.

VERSION_NUMBER NUMBER 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 Datatype Description

SUBJECT_AREA VARCHAR2 (240) Folder name.

SUBJECT_ID NUMBER Folder ID.

SESSION_ID NUMBER Session ID.

SESSION_INSTANCE_NAME VARCHAR2 (240) Session instance name.

ACTUAL_START DATE (DB SPECIFIC) Actual time session started.

SESSION_TIMESTAMP DATE (DB SPECIFIC) Time completed.

RUN_STATUS_CODE NUMBER 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 NUMBER Last error code.

LAST_ERROR VARCHAR2 (2000) Last error message.

TASK_VERSION_NUMBER NUMBER Version number of the task.

WORKFLOW_VERSION_NUMBER NUMBER Workflow version number.

SESSION_LOG_FILE VARCHAR2 (240) Session log file name.

BAD_FILE_LOCATION VARCHAR2 (240) Location of the reject file.

SUCCESSFUL_SOURCE_ROWS NUMBER Number of successfully read source rows.

FAILED_SOURCE_ROWS NUMBER Number of failed source rows.

SUCCESSFUL_ROWS NUMBER Number of successfully loaded target rows.

FAILED_ROWS NUMBER Number of failed target rows.

FIRST_ERROR_CODE NUMBER First error code.

Workflow, Worklet, and Task Views 387


Table 15-58. REP_SESS_LOG MX View

Column Datatype Description

FIRST_ERROR_MSG VARCHAR2 (2000) First error message.

WORKFLOW_NAME VARCHAR2 (240) Name of the workflow that contains the session
instance.

MAPPING_NAME VARCHAR2 (240) Mapping name.

SESSION_NAME VARCHAR2 (240) Session name.

WORKFLOW_ID NUMBER Workflow ID.

WORKFLOW_RUN_ID NUMBER Workflow run ID.

WORKLET_RUN_ID NUMBER Run ID of a worklet in a workflow.

INSTANCE_ID NUMBER Instance ID.

TOTAL_ERR NUMBER 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 Datatype Description

SUBJECT_AREA VARCHAR2 (240) Folder name.

SUBJECT_ID NUMBER Folder ID.

SESSION_NAME VARCHAR2 (240) Session name.

SESSION_ID NUMBER Session ID.

SESSION_INSTANCE_NAME VARCHAR2 (240) Name of the session instance.

SESSION_INSTANCE_ID NUMBER Session instance ID.

WORKFLOW_ID NUMBER Workflow ID.

WORKFLOW_VERSION_NUMBER NUMBER Workflow version number.

TABLE_NAME VARCHAR2 (240) Name of the table for this log.

TABLE_ID NUMBER Target table ID.

TABLE_VERSION_NUMBER NUMBER Version number of the target.

TABLE_BUSNAME VARCHAR2 (240) Business name of the target.

TABLE_INSTANCE _NAME VARCHAR2 (240) 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 Datatype Description

SUCCESSFUL_ROWS NUMBER Number of successfully loaded target rows.

SUCCESSFUL_AFFECTED_ROWS NUMBER Number of affected target rows

FAILED_ROWS NUMBER Number of failed target rows.

LAST_ERROR VARCHAR2 (2000) Last error message.

LAST_ERROR_CODE NUMBER Last error code.

START_TIME DATE Time the target load started.

END_TIME DATE Time the target load ended.

SESSION_TIMESTAMP NUMBER Session timestamp.

BAD_FILE_LOCATION NUMBER Location of the reject file.

SESSION_VERSION_NUMBER NUMBER Version number of the session.

PARTITION_NAME VARCHAR2 (240) Name of the partition.

MAPPLET_INSTANCE_NAME VARCHAR2 (240) Mapplet instance name.

WIDGET_NAME VARCHAR2 (240) Transformation name.

TYPE_NAME VARCHAR2 (240) Object name.

GROUP_NAME VARCHAR2 (240) Group name.

THROUGHPUT NUMBER Performance numbers for the target.

TYPE_ID NUMBER 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 Description

REP_USERS 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.

REP_USER_GROUPS 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.

REP_GROUPS 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 Datatype Description

USER_ID NUMBER User ID (primary key).

USER_NAME VARCHAR2 (240) User name.

USER_PRIVILEGES1 NUMBER Privileges granted to the user.

USER_DESCRIPTION VARCHAR2 (2000) Description of the user.

USER_FLAGS NUMBER Specifies whether the user is system-created or user-


created. 0 = system-created; 1 = user-created.

CONTACT_INFO VARCHAR2 (2000) User contact information.

IS_VISIBLE NUMBER Specifies whether user is valid. 1 = valid; 0 = deleted.

USER_ISENABLED NUMBER Specifies whether user can log in. 1 = enabled; 0 = disabled.

USER_EXTERNAL_ID VARCHAR2 (240) Unique global user ID.

USER_EXTERNAL_LOGIN VARCHAR2 (240) 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 Datatype Description

USER_ID NUMBER User ID.

GROUP_ID NUMBER 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 Datatype Description

GROUP_ID NUMBER Group ID (primary key).

GROUP_NAME VARCHAR2 (240) Group name.

GROUP_PRIVILEGES NUMBER Group privileges.

GROUP_DESCRIPTION VARCHAR2 (2000) Group description.

GROUP_FLAGS NUMBER Specifies whether the group is system-created or user-


created.
0 = system-created; 1 = user-created.

CONTACT_INFO VARCHAR2 (2000) Contact information for the group.


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 Description

REP_DEPLOY_GROUP This view provides information on deployment group in Change Management.


For more information, see “REP_DEPLOY_GROUP” on page 392.

REP_DEPLOY_GROUP_DETAIL 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 Datatype Description

DEP_GROUP_ID NUMBER Deployment group ID.

DEP_GROUP_NAME VARCHAR2 (240) Deployment group name.

DESCRIPTION VARCHAR2 (2000) Description of the group.

CREATED_BY VARCHAR2 (240) Name of user who created the deployment group.

OWNER_ID NUMBER User ID.

GROUP_ID NUMBER Group ID.

CREATION_TIME VARCHAR2 (30) Creation time.

LAST_SAVED VARCHAR2 (30) Last saved time.

GROUP_TYPE NUMBER Deployment group type. 0 = static; 1 = dynamic.

QUERY_ID NUMBER Query ID associated with a dynamic group.

QUERY_NAME VARCHAR2 (240) Query name associated with a dynamic group.

QUERY_DESCRIPTION VARCHAR2 (2000) Query description.

QUERY_CREATED_BY VARCHAR2 (240) Name of user who created the query.

QUERY_OWNER_ID NUMBER Query user.

QUERY_GROUP_ID NUMBER Query group ID.

392 Chapter 15: Using Metadata Exchange (MX) Views


Table 15-65. REP_DEPLOY_GROUP MX View

Column Datatype Description

QUERY_CREATION_TIME VARCHAR2 (30) Query creation time.

QUERY_LAST_SAVED VARCHAR2 (30) Query last saved time.

QUERY_TYPE NUMBER 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 Datatype Description

DEP_RUN_ID NUMBER Unique deployment run ID.

OBJECT_ID NUMBER Object ID.

OBJECT_NAME VARCHAR2 (240) Name of the object.

OBJECT_TYPE NUMBER Object type.

OBJECT_TYPE_NAME VARCHAR2 (240) Object type name.

SRC_VERSION_NUMBER NUMBER Object version number in the source repository.

TARG_VERSION_NUMBER NUMBER Object version number in the target repository.

SRC_SUBJECT_ID NUMBER Folder ID in the source repository.

SRC_SUBJECT_AREA VARCHAR2 (240) Folder name in the source repository.

TARG_SUBJECT_AREA VARCHAR2 (240) Folder name in the target repository.

IS_SHORTCUT NUMBER Specifies whether the object is a shortcut.


1 = shortcut; 0 = not a shortcut

DEP_GROUP_ID NUMBER Deployment group ID.

DEP_GROUP_NAME VARCHAR2 (240) Deployment group name.

DEPLOY_TIME NUMBER Deployment start time.

DEPLOY_TYPE NUMBER Deployment type.


0 = invalid.
1 = deploy to.
2 = deploy from.

TARGET_REP_NAME VARCHAR2 (240) Target repository name.

REP_GID VARCHAR2 (240) Global ID of the repository.

USER_ID NUMBER Deployment user ID.

Deployment Views 393


Table 15-66. REP_DEPLOY_GROUP_DETAIL MX View

Column Datatype Description

GROUP_ID NUMBER Group ID.

USER_NAME VARCHAR2 (240) Deployment user name.

UTC_DEPLOY_TIME NUMBER UTC deployment time.

DEPLOY_STATUS NUMBER Deployment status.


0 = deployed.
1 = rollback.
2 = rollback failed.

ROLLBACK_TIME NUMBER Deployment rollback time.


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 Datatype Description

RECID NUMBER Repository record ID.

REPOSIT_NAME VARCHAR2 (240) Repository name.

REPOSIT_DESCRIPTION VARCHAR2 (2000) Description of the repository.

REPOSITORY_ID NUMBER Repository ID.

REPOSITORY_TYPE NUMBER Repository type.


1 = global.
2 = standalone.
3 = local.

DOMAIN_NAME VARCHAR2 (240) Global domain name.

DATABASE_USER VARCHAR2 (240) Database user name used to connect to the repository.

DATABASE_TYPE NUMBER Repository type.

HOSTNAME VARCHAR2 (240) Name of the machine hosting the Repository Server.

PORTNUM NUMBER Port number of the Repository Server.


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 Description

REP_SERVER_INFO This view provides information about PowerCenter Server name, host name, IP
address, and timeout. For more information, see “REP_REPOSIT_INFO” on
page 395.

REP_SERVER_NET This view provides information on PowerCenter Server description, location, and
usage. For more information, see “REP_SERVER_NET” on page 397.

REP_SERVER_NET_REF This view provides information about PowerCenter Server identification and
usage. For more information, see “REP_SERVER_NET_REF” on page 397.

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 Datatype Description

SERVER_ID NUMBER PowerCenter Server ID (primary key).

SERVER_NAME VARCHAR2 (240) PowerCenter Server name.

HOST_INFO VARCHAR2 (240) Information on the machine hosting the PowerCenter Server.

TIMEOUT NUMBER Specified timeout when attempting to communicate with the


server.

PORT_NO NUMBER Port number of the machine hosting the PowerCenter


Server.

HOSTNAME VARCHAR2 (240) Name of the machine hosting the PowerCenter Server.

IP_ADDRESS VARCHAR2 (240) IP address of the host machine.

LAST_SAVED VARCHAR2 (30) 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 Datatype Description

SERVER_NET_ID NUMBER Server ID within the grid (primary key).

SERVER_NET_NAME VARCHAR2 (240) Server name.

SERVER_NET_DESCRIPTION VARCHAR2 (2000) Description of the server.

LAST_SAVED VARCHAR2 (30) 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 Datatype Description

SERVER_NET_ID NUMBER PowerCenter Server ID within the grid (primary key).

SERVER_ID NUMBER PowerCenter Server ID (primary key).

BIT_OPTIONS NUMBER 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 Description

REP_VERSION_PROPS Provides information on the version history of all objects in a PowerCenter repository.
For more information, see “REP_VERSION_PROPS” on page 398.

REP_CM_LABEL Provides information on labels in Change Management. For more information, see
“REP_CM_LABEL” on page 399.

REP_CM_LABEL_REF 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 Datatype Description

OBJECT_ID NUMBER Object ID.

OBJECT_TYPE NUMBER Object type ID (primary key).

OBJECT_SUBTYPE NUMBER Object subtype ID.

VERSION_NUMBER NUMBER Object version number.

SUBJECT_ID NUMBER Folder ID.

USER_ID NUMBER User who last modified this version of the object.

OBJECT_NAME VARCHAR2 (240) Name of the object.

GROUP_NAME VARCHAR2 (240) Database name used by source objects.

LAST_SAVED VARCHAR2 (30) Time when object was last saved.

UTC_LAST_SAVED NUMBER UTC time when the object was last modified.

COMMENTS VARCHAR2 (2000) Description of the object.

SAVED_FROM VARCHAR2(240) 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 Datatype Description

PURGED_BY_USERID NUMBER 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 Datatype Description

LABEL_ID NUMBER Label ID.

LABEL_NAME VARCHAR2 (240) Label name.

DESCRIPTION VARCHAR2 (2000) Label description.

CREATED_BY VARCHAR2 (240) Name of user who created the label.

OWNER_ID NUMBER User ID.

GROUP_ID NUMBER Group ID.

CREATION_TIME VARCHAR2 (30) Label creation time.

LAST_SAVED VARCHAR2 (30) Time when label was last saved.

LABEL_TYPE NUMBER Label type.


2 = Can apply label to only one version of the object.

LABEL_STATUS NUMBER 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 Datatype Description

LABEL_ID NUMBER Label ID.

OBJECT_ID NUMBER Object ID.

OBJECT_TYPE NUMBER Object type ID.

VERSION_NUMBER NUMBER Object version number.

SUBJECT_ID NUMBER Folder ID.

Change Management Views 399


Table 15-75. REP_CM_LABEL_REF MX View

Column Datatype Description

USER_ID NUMBER User ID.

DESCRIPTION VARCHAR2 (2000) Label description.

APPLY_TIME VARCHAR2 (30) 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 Datatype Description

SUBJECT_AREA VARCHAR2 (240) Folder name.

SUBJECT_ID NUMBER Folder ID.

DESCRIPTION VARCHAR2 (2000) 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 Connect String Syntax Example

IBM DB2 dbname mydatabase

Informix dbname@servername mydatabase@informix

Microsoft SQL Server servername@dbname sqlserver@mydatabase

Oracle dbname.world (same as TNSNAMES entry) oracle.world

Sybase servername@dbname sambrown@mydatabase

Teradata* ODBC_data_source_name or TeradataODBC


ODBC_data_source_name@db_name or TeradataODBC@mydatabase
ODBC_data_source_name@db_user_name 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. At the command prompt, switch to the directory where the pmrep executable is located.
2. Enter pmrep followed by the command name and its required options and arguments.
3. 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. At the command prompt, switch to the directory where the pmrepagent executable is
located.
2. Enter pmrepagent followed by the command name and its required options and
arguments.
3. 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. Use the command line program, pmpasswd, to encrypt your repository password.
2. Configure the PASSWORD environment variable to set the encrypted value.
3. 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. In a UNIX session, navigate to the PowerCenter Server installation directory.


2. 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. In Windows DOS, navigate to the PowerCenter Server installation directory.


2. 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 Command Description

Connect Connects to the repository. See “Connecting to a Repository (Connect)” on page 410.

Help Displays help for all commands or for a specified command. See “Getting Help (Help)” on
page 411.

Cleanup Cleans up persistent resources created by pmrep during a session. See “Cleaning up Persistent
Resources (Cleanup)” on page 411.

Exit 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)

Required/
Option Argument Name Argument Description
Optional

-r Required repository_name Name of the repository you want to connect to.

-n Required repository_username Repository user name used to connect to the repository.

-x Required/ repository_password Password for the repository user name.


Optional Use the -x or -X option, but not both.

-X Required/ repository_password_ The password environment variable for the repository.


Optional environment_variable Use the -x or -X option, but not both.

-h Required repserver_host_name The host name of the machine running the Repository
Server.

-o Required repserver_port_number 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 Command Description

Addserver Adds a PowerCenter Server. See “Adding a Server (Addserver)” on page 413.

Addrepository Adds a repository configuration to the Repository Server. See “Adding Repository
Configurations (Addrepository)” on page 414.

Backup Backs up a repository. See “Backing up a Repository (Backup)” on page 416.

CreateConnection Creates a relational connection. See “Creating a Relational Connection


(CreateConnection)” on page 417.

Deleteconnection Deletes an existing relational connection. See “Deleting a Connection


(Deleteconnection)” on page 420.

Deleteserver Deletes a PowerCenter Server. See “Deleting a Server (Deleteserver)” on


page 421.

Disablerepository Disables a repository. See “Disabling a Repository (Disablerepository)” on


page 421.

Enablerepository Enables a repository. See “Enabling a Repository (Enablerepository)” on


page 422.

ListObjects Lists objects in the repository. See “Listing Repository Objects (ListObjects)” on
page 423.

Listtablesbysess Lists sources or targets in a session. See “Listing Tables by Session


(Listtablesbysess)” on page 428.

ListObjectDependencies Lists dependent objects. See “Listing Object Dependencies


(ListObjectDependencies)” on page 429.

Notify Sends notification messages. See “Sending Notification Messages (Notify)” on


page 431.

ObjectExport Exports objects to an XML file. See “Exporting Objects (ObjectExport)” on


page 432.

ObjectImport Imports objects from an XML file. See “Importing Objects (ObjectImport)” on
page 433.

Register Registers local repositories with global repositories. See “Registering Local
Repositories (Register)” on page 434.

Removerepository Removes a repository from the Repository Server cache entry list. See “Removing
Repositories From the Cache (Removerepository)” on page 435.

Run 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 Command Description

ShowConnectioninfo Shows repository name, server, port and user information for the current
connection. See “Showing Connection Information (ShowConnectioninfo)” on
page 437.

StopRepository Stops the repository you last connected to using pmrep. See “Stopping a
Repository (StopRepository)” on page 437.

SwitchConnection Changes the name of an existing connection. See “Changing the Connection
Name (SwitchConnection)” on page 438.

Truncatelog Truncates log details from repository level, folder level, or workflow level. See
“Truncating Workflow and Session Logs (Truncatelog)” on page 439.

Unregister Unregisters local repositories from global repositories. See “Unregistering Local
Repositories (Unregister)” on page 440.

UpdateConnection Changes user name, password, and connect string for a connection. See
“Updating a Database Connection (UpdateConnection)” on page 441.

Updateemailaddr Updates the session notification email addresses. See “Updating the Notification
Email Addresses (Updateemailaddr)” on page 442.

Updateseqgenvals Updates transformation properties for Sequence Generator transformations. See


“Updating Sequence Generator Transformations (Updateseqgenvals)” on
page 444.

Updateserver Edit server details. See “Updating Server Details (Updateserver)” on page 443.

Updatesrcprefix Updates source table owner names. See “Updating the Source Table Owner
Name (Updatesrcprefix)” on page 445.

Updatesrvvar Updates server variables. See “Updating Server Variables (Updatesrvvar)” on


page 446.

UpdateStatistics Updates statistics for repository tables and indexes. See “Updating Repository
Statistics (UpdateStatistics)” on page 447.

Updatetargprefix Updates target table name prefixes. See “Updating the Target Table Name Prefix
(Updatetargprefix)” on page 447.

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)

Required/
Option Argument Name Argument Description
Optional

-v Required server_name The name of the PowerCenter Server you want to change.

-h Required new_host_name The server host name or IP address of the server machine.

-o Optional new_port_number The port number of the server machine.

-t Optional new_timeout_value The number of seconds the Workflow Manager waits for a
response from the server.

-p Optional new_protocol_name The protocol the server uses.

-l Optional new_codepage_name 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)

Required/
Option Argument Name Argument Description
Optional

-h Required repserver_host_name The host name of the Repository Server that manages the
repository.

-o Required repserver_port_number The port number of the Repository Server that manages
the repository.

-a Required/ repserver_password The password you use to administer the Repository


Optional Server that manages the repository.
Use the -a or -A option, but not both.

-A Required/ repserver_password_ The password environment variable you use to administer


Optional environment_variable the Repository Server that manages the repository.
Use the -a or -A option, but not both.

-r Required repository_name The name of the repository.

-t Required database_type The type of database storing the repository.

-u Required database_user_name The account for the database containing the repository.
Set up this account using the appropriate database client
tools.

-m Optional n/a Use a trusted connection to connect to the database.


Valid for Microsoft SQL Server only.

-p Required/ database_password The repository database password corresponding to the


Optional 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.

-P Required/ database_password_ The repository database password environment variable


Optional 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.

-c Required database_connect_string 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.

-d Optional code_page 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.

pmrep Repository Commands 415


Table 16-6. Addrepository Options and Arguments (pmrep)

Required/
Option Argument Name Argument Description
Optional

-e Optional DB2_tablespace_name 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.

-l Optional license_file_name The name of the license file.

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)

Required/
Option Argument Name Argument Description
Optional

-o Required output_file_name The name and path of the file for the repository backup.

-f Optional n/a Overwrites an existing file with the same name.

-d Optional description Creates a description of the backup file based on the string that
follows the option. The backup process truncates any character
beyond 2,000.

-b Optional skip_workflow/ Specify this option if you want to skip tables related to workflow
session_logs and session logs during backup.

-j Optional skip_deploy_group Skips deployment group history during backup.


_history

-q Optional skip_MX_data Skips tables related to MX data during backup.

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)

Required/
Option Argument Name Argument Description
Optional

-a Required data_source_name The Teradata ODBC data source name. Valid for Teradata
connections only.

-s Required database_type The type of relational connection. For a list of valid database
types, see Table 16-9 on page 418.

-n Required connection_name The name of the connection.

-u Required username The user name used for authentication when you connect to
the relational database.

-p Required/ password The password used for authentication when you connect to
Optional the relational database.
Use the -p or -P option, but not both.

-P Required/ password_environm The password environment variable used for authentication


Optional ent_variable when you connect to the relational database.
Use the -p or -P option, but not both.

-c Required connect_string 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.

-l Required code_page The code page associated with the connection. For a list of
valid code page IDs, see Table 16-10 on page 419.

-r Optional rollback_segment Valid for Oracle connections only. The name of the rollback
segment. A rollback segment records database transactions
that allow you to undo the transaction.

pmrep Repository Commands 417


Table 16-8. CreateConnection Options and Arguments (pmrep)

Required/
Option Argument Name Argument Description
Optional

-e Optional environment_sql Enter SQL commands to set the database environment when
you connect to the database.

-z Optional packet_size Valid for Sybase and Microsoft SQL Server connections only.
Optimizes the ODBC connection to Sybase and Microsoft SQL
Server.

-b Optional database_name The name of the database. Valid for Sybase and Microsoft
SQL Server connections only.

-v Optional server_name The name of the database server. Valid for Sybase and
Microsoft SQL Server connections only.

-d Optional domain_name Valid for Microsoft SQL Server connections only. The name of
the domain. Used for Microsoft SQL Server on Windows.

-t Optional trusted_connection 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.

-x Optional n/a 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.

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 Database Type String

IBM DB2 DB2

Informix Informix

Microsoft SQL Server Microsoft SQL Server

ODBC ODBC

Oracle Oracle

Sybase Sybase

Teradata 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 pmrep ID String

7-bit ASCII US-ASCII

IBM EBCDIC Chinese (Simplified) IBM935

IBM EBCDIC Chinese (Traditional) IBM937

IBM EBCDIC French IBM297

IBM EBCDIC German IBM273

IBM EBCDIC International Latin-1 IBM500

IBM EBCDIC Italian IBM280

IBM EBCDIC Japanese IBM930

IBM EBCDIC UK English IBM285

IBM EBCDIC US English IBM037

ISO 8859-1 Western European Latin1

ISO 8859-2 Eastern European ISO-8859-2

ISO 8859-3 Southeast European ISO-8859-3

ISO 8859-4 Baltic ISO-8859-4

ISO 8859-5 Cyrillic ISO-8859-5

ISO 8859-6 Arabic ISO-8859-6

pmrep Repository Commands 419


Table 16-10. Code Page ID by Name (pmrep)

Code Page Name pmrep ID String

ISO 8859-7 Greek ISO-8859-7

ISO 8859-8 Hebrew ISO-8859-8

ISO 8859-9 Latin 5 (Turkish) ISO-8859-9

ISO 8859-10 Latin 6 (Nordic) ISO-8859-10

ISO 8859-15 Latin 9 (Western European) ISO-8859-15

Japan Extended UNIX Code (incl. JIS x 0212) JapanEUC

MS-DOS Thai, superset of TIS 620 MS874

MS Windows Arabic MS1256

MS Windows Baltic Rim MS1257

MS Windows Chinese (Simplified), superset of GB MS936


2312-80, EUC encoding

MS Windows Chinese (Traditional), superset of Big 5 MS950

MS Windows Cyrillic (Slavic) MS1251

MS Windows Greek MS1253

MS Windows Hebrew MS1255

MS Windows Japanese, superset of Shift-JIS MS932

MS Windows Korean superset of KS C 5601-1992 MS949

MS Windows Korean (Johab) MS1361

MS Windows Latin 1 (ANSI), superset of Latin 2 MS1252

MS Windows Latin 2 (Central Europe) MS1250

MS Windows Latin 5 (Turkish), superset of ISO 8859-9 MS1254

MS Windows Vietnamese MS1258

UTF-8 encoding of Unicode 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)

Required/
Option Argument Name Argument Description
Optional

-n Required relational_connection_name Name of the relational connection to delete.

-f Optional force_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)

Required/
Option Argument Name Argument Description
Optional

-v Required server_name 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)

Required/
Option Argument Name Argument Description
Optional

-h Required host_name Name of the machine hosting the Repository Server.

-o Required port_number Port number where the Repository Server is running.

-a Required/ repserver_password Repository Server administrator password.


Optional Use the -a or -A option, but not both.

-A Required/ repserver_password_ Repository Server administrator password environment


Optional environment_variable variable.
Use the -a or -A option, but not both.

-r Required repository_name Name of the repository to disable.

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)

Required/
Option Argument Name Argument Description
Optional

-h Required host_name Name of the machine hosting the Repository Server.

-o Required port_number Port number where the Repository Server is running.

-a Required/ repserver_password Repository Server administrator password.


Optional Use the -a or -A option, but not both.

422 Chapter 16: Using pmrep and pmrepagent


Table 16-14. Enablerepository Options and Arguments (pmrep)

Required/
Option Argument Name Argument Description
Optional

-A Required/ repserver_password_ Repository Server administrator password environment


Optional environment_variable variable.
Use the -a or -A option, but not both.

-r Required repository_name Name of the repository to enable.

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)

Required/
Option Argument Name Argument Description
Optional

-o Required object_type 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.

-t Optional object_subtype 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 16-
16 on page 426.

-f Required folder_name The folder to search. Use this option for all object types
except deploymentgroup, folder, label, and query.

-c Optional column_separator 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.

-r Optional end_of_record_separator 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.

-l Optional end_of_listing_indicator 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.

-b Optional verbose 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 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.

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 Subtype Subtype Value

Transformation Custom custom_transformation

Transformation Aggregator aggregator

Transformation Application Source Qualifier application_source_qualifier

Transformation Application Multi-Group Source Qualifier app_multi-group_source_qualifier

Transformation Expression expression

Transformation External Procedure external_procedure

Transformation Filter filter

Transformation Input input_transformation

Transformation Joiner joiner

Transformation Lookup lookup_procedure

Transformation Mapplet mapplet

Transformation MQ Source Qualifier mq_source_qualifier

Transformation Normalizer normalizer

Transformation Output output_transformation

Transformation Rank rank

Transformation Router router

Transformation Sequence Generator sequence

Transformation Sorter sorter

Transformation Source Qualifier source_qualifier

Transformation Stored Procedure stored_procedure

Transformation Transaction Control transaction_control

Transformation Update Strategy update_strategy

Transformation XML Source Qualifier xml_source_qualifier

Task Assignment assignment

Task Command command

Task Control control

Task Decision decision

Task Email email

Task Event-raise event_raise

Task Event-wait event_wait

426 Chapter 16: Using pmrep and pmrepagent


Table 16-16. Transformation and Task Types to Use with pmrep

Object Type Subtype Subtype Value

Task Start start

Task Timer 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)

Required/
Option Argument Name Argument Description
Optional

-f Required folder_name The name of the folder containing the session.

-s Required session_name 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.

-t Required table_type Specify source to list sources, or specify target to list targets.

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-of-
record_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)

Required/
Option Argument Name Argument Description
Optional

-n Optional object_name The name of a specific object to list dependencies for.

-o Required object_type_name 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.

-t Required/ object_subtype The type of transformation or task. Ignored for other object
Optional types. For valid subtypes, see Table 16-16 on page 426.

-v Optional version_number List dependent objects for an object version other than the
latest version.

-f Required/ folder_name The folder containing object_name. Folder is required if


Optional object type is not a folder and you are not using the
-i option.

-i Optional persistent_input_file 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.

-d Optional dependency_object_t The type of dependent objects to list. You can specify ALL
ype 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.

-p Required/ dependency_direction The parents or children dependent objects to list. You can
Optional specify parents, children, or both. Required if you do not
use the -s option.

-s Required/ include_pk- Include the primary key-foreign key dependency object


Optional fk_dependency regardless of the direction of the dependency. Required if
you do not use the -p option.

-g Optional across_repositories Find object dependencies across repositories.

-u Optional persistent_output_file Send the dependency result to a text file. You can use the
_name text file as input to the ApplyLabel, AddToDeployment
Group, or Validate pmrep commands. The default sends
the query result to stdout.

-a Optional append Append the result to the persistent output file name file
instead of overwriting it.

430 Chapter 16: Using pmrep and pmrepagent


Table 16-18. ListObjectDependencies Options and Arguments (pmrep)

Required/
Option Argument Name Argument Description
Optional

-c Optional column_separator 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.

-r Optional end-of- The character or set of characters used to specify the end
record_separator of the object metadata. Use a character or set of
characters that is not used in repository object names.
The default is newline /n.

-l Optional end-of- The character or set of characters used to specify the end
listing_indicator 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.

-b Optional verbose 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.

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)

Required/
Option Argument Name Argument Description
Optional

-h Required hostname The name of the machine hosting the Repository


Server.

-o Required port_number The number of the port where the Repository Server is
running.

pmrep Repository Commands 431


Table 16-19. Notify Options and Arguments (pmrep)

Required/
Option Argument Name Argument Description
Optional

-a Required/ repserver_password The Repository Server password.


Optional Use the -a or -A option, but not both.

-A Required/ repserver_password_ The Repository Server password environment


Optional environment_variable variable.
Use the -a or -A option, but not both.

-r Required repository_name The name of the repository whose users you want to
notify.

-t Required notify | broadcast 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.

-m Required message The message you want to send.

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)

Required/
Option Argument Name Argument Description
Optional

-n Optional object_name 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.

-o Required/ object_type The object type of the object name. You can specify
Optional source, target, transformation, mapping, session,
worklet, workflow, scheduler, session config, task.

-t Required/ object_subtype The type of transformation or task. This argument is


Optional ignored for other object types. For valid subtypes, see
Table 16-16 on page 426.

-v Optional version_number Export a version other than the latest version of the
object.

-f Required folder_name 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.

-i Optional persistent_input_file 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.

-u Required xml_output_file_name The name of the XML file to contain the object
information.

-l Optional log_file_name Specifies a log file to collect all the export files.

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)

Required/
Option Argument Name Argument Description
Optional

-i Required input_XML_file_name The name of the XML file to import.

-c Required control_file_name 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)

Required/
Option Argument Name Argument Description
Optional

-r Required repository_name The name of the local repository to register.

-n Required repository_user_name The local repository user name.

-x Required/ repository_password The login password for the local target repository.
Optional Use the -x or -X option, but not both.

-X Required/ repository_password_ The login password environment variable for the local
Optional environment_variable target repository.
Use the -x or -X option, but not both.

-a Required/ global_repserver_password The password you use to administer the global


Optional Repository Server.
Use the -a or -A option, but not both.

434 Chapter 16: Using pmrep and pmrepagent


Table 16-22. Register Options and Arguments (pmrep)

Required/
Option Argument Name Argument Description
Optional

-A Required/ global_repserver_password The password environment variable you use to


Optional _environment_variable administer the global Repository Server.
Use the -a or -A option, but not both.

-h Optional local_repository_host_name 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.

-o Optional local_repository_port_numb The number of the port where the Repository Server is
er 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.

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)

Required/
Option Argument Name Argument Description
Optional

-h Required hostname The hostname of the machine hosting the Repository


Server.

-o Required port_number The port number of the Repository Server.

-a Required/ repository_password The login password for the repository.


Optional Use the -a or -A option, but not both.

pmrep Repository Commands 435


Table 16-23. Removerepository Options and Arguments (pmrep)

Required/
Option Argument Name Argument Description
Optional

-A Required/ repository_password_ The login password environment variable for the


Optional environment_variable repository.
Use the -a or -A option, but not both.

-r Required repository_name The name of the repository to remove.

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)

Required/
Option Argument Name Argument Description
Optional

-f Required script_file_name The name of the script file.

-o Optional output_file_name The name of the output file. This option writes all
messages generated by the commands in the script
file into the output file.

-e Optional echo_commands The commands are echoed back to the script.

-s Optional stop_at_first_error Stops the running of the script after a command


returns an 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)

Required/
Option Argument Name Argument Description
Optional

-a Required/ repserver_password The password you use to administer the Repository


Optional Server that manages the repository.
Use the -a or -A option, but not both.

-A Required/ repserver_password_ The password environment variable you use to


Optional environment_variable administer the Repository Server that manages the
repository.
Use the -a or -A option, but not both.

-h Optional hostname 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.

-o Optional port_number The Repository Server port number. When you use this
option, you must also use the -h and -r options.

-r Optional repository_name The name of the repository to stop. When you use this
option, you must also use the -h and -o options.

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)

Required/
Option Argument Name Argument Description
Optional

-o Required old_connection_name The name of the existing connection you want to


change.

-n Required new_connection_name 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)

Required/
Option Argument Name Argument Description
Optional

-t Required all | endtime 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.

-f Optional folder_name 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.

-w Optional workflow_name 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.

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)

Required/
Option Argument Name Argument Description
Optional

-r Required repository_name The name of the local repository to unregister.

-n Required repository_user_name The local repository user name.

-x Required/ repository_password The login password for the local target repository.
Optional Use the -x or -X option, but not both.

-X Required/ repository_password_ The login password environment variable for the local
Optional environment_variable target repository.
Use the -x or -X option, but not both.

-a Required/ global_repserver_password The password you use to administer the global


Optional Repository Server.
Use the -a or -A option, but not both.

-A Required/ global_repserver_password_ The password environment variable you use to


Optional environment_variable administer the global Repository Server.
Use the -a or -A option, but not both.

440 Chapter 16: Using pmrep and pmrepagent


Table 16-28. Unregister Options and Arguments (pmrep)

Required/
Option Argument Name Argument Description
Optional

-h Optional local_repository_host_name 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.

-o Optional local_repository_port_number 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.

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)

Required/
Option Argument Name Argument Description
Optional

-t Required database_type The type of relational connection. For a list of valid


database types, see Table 16-9 on page 418.

-d Required database_connection_na The database connection name.


me

-u Required new_user_name The user name used for authentication when you connect
to the relational database.

-p Required/ new_database_password The password used for authentication when you connect
Optional to the relational database.
Use the -p or -P option, but not both.

-P Required/ new_database_password_ The password environment variable used for


Optional environment_variable authentication when you connect to the relational
database.
Use the -p or -P option, but not both.

-c Required new_database_connection The connect string the PowerCenter Server uses to


_string connect to the relational database. For a list of native
connect strings, see Table 16-1 on page 405.

-a Optional attribute_name The name of the attribute.

-v Optional new_attribute_value The new attribute value of the connection. Enter “yes” or
“no” for attributes you enable through a checkbox.

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)

Required/
Option Argument Name Argument Description
Optional

-d Required folder_name Name of the session folder.

-s Required session_name Name of the session.

-u Required success_email_address Email address to send session success notifications.

-f Required failure_email_address 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)

Required/
Option Argument Name Argument Description
Optional

-v Required server_name The name of the PowerCenter Server you want to change.

-h Optional new_host_name The server host name or IP address of the server machine.

-k Optional new_servername The new name of the PowerCenter Server.

-o Optional new_port_number The port number the PowerCenter Server.

-t Optional new_timeout_value The number of seconds the Workflow Manager waits for a
response from the PowerCenter Server.

-p Optional new_protocol_name The protocol the PowerCenter Server uses.

-l Optional new_codepage_name 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)

Required/
Option Argument Name Argument Description
Optional

-f Required folder_name The folder name.

-m Required/ mapping_name The mapping name. When you update values for a non-
Optional reusable Sequence Generator transformation, you must
include the mapping name.

-t Required sequence_generator_name The Sequence Generator transformation name.

444 Chapter 16: Using pmrep and pmrepagent


Table 16-32. Updateseqgenvals Options and Arguments (pmrep)

Required/
Option Argument Name Argument Description
Optional

-s Optional start_value 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.

-e Optional end_value 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.

-i Optional increment_by 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.

-c Optional current_value 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.

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)

Required/
Option Argument Name Argument Description
Optional

-f Required folder_name The name of the folder containing the session.

-s Required session_name 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.

-t Optional source_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.

-p Required prefix_name The owner name you want to update in the source table.

-n Optional n/a 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.

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)

Required/
Option Argument Name Argument Description
Optional

-s Required server_name Name of the PowerCenter Server.

-v Required variable_name Name of the server variable to update.

-u Required new_value 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)

Required/
Option Argument Name Argument Description
Optional

-s Optional tables-to-skip_file_name 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)

Required/
Option Argument Name Argument Description
Optional

-f Required folder_name The name of the folder containing the session.

-s Required session_name 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.

-t Optional target_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.

-p Required prefix_name The table name prefix you want to update in the target table.

-n Optional n/a 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.

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 Command Description

Addprivilege Adds a privilege to a user or group. See “Adding a Privilege (Addprivilege)”


on page 450.

Addusertogroup Adds a user to a group. See “Adding a User to a Group (Addusertogroup)” on


page 450.

Changepasswd Changes the password for the user currently connected to the repository.
See “Changing the Repository Password (Changepasswd)” on page 450.

CreateFolder Creates a new folder. See “Creating a Folder (CreateFolder)” on page 451.

Creategroup Creates a group. See “Creating a Group (Creategroup)” on page 452.

Createuser Creates a user. See “Creating a User (Createuser)” on page 452.

DeleteFolder Deletes a folder. See “Deleting a Folder (DeleteFolder)” on page 453.

Edituser Edits the profile of a user. See “Editing a User (Edituser)” on page 454.

Listallgroups Lists all groups registered with the repository. See “Listing All Groups
(Listallgroups)” on page 455.

Listallprivileges Lists all privileges that you can assign to a user or group. See “Listing All
Privileges (Listallprivileges)” on page 455.

Listallusers Lists all users registered with the repository. See “Listing All Users
(Listallusers)” on page 455.

ModifyFolder Modifies folder properties. See “Modify Folder Properties (ModifyFolder)” on


page 456.

Registeruser Registers a user from an external directory service to access the Repository.
See “Registering a User (Registeruser)” on page 457.

Rmgroup Removes a group from the repository. See “Removing a Group (Rmgroup)”
on page 457.

Rmprivilege Removes a privilege from a user or group. See “Removing a Privilege


(Rmprivilege)” on page 458.

Rmuser Removes a user from the repository. See “Removing a User (Rmuser)” on
page 458.

Rmuserfromgroup 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)

Required/
Option Argument Name Argument Description
Optional

-p Required privilege The privilege you want to add. If the privilege contains spaces,
you must enclose this argument in quotes, such as “Administer
Repository.”

-u Required username The name of the user to whom you want to add the privilege. If
you use this option, you cannot use the -g option.

-g Required group_name The name of the group to which you want to add the privilege. If
you use this option, you cannot use the -u option.

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)

Required/
Option Argument Name Argument Description
Optional

-u Required username The user name of the user to add to the group.

-g Required group_name 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)

Required/
Option Argument Name Argument Description
Optional

-p Required/ new_password The password that replaces the existing password for the
Optional current user. When you use this option, you must use the -c
option.
Use the -p or -P option, but not both.

-c Required/ confirm_new_password This option confirms the new password. The


Optional confirm_new_password argument must match the
new_password argument. You must use this option when you
use the -p option.

-P Required/ new_password_environ The password environment variable that replaces the existing
Optional ment_variable 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.

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)

Required/
Option Argument Name Argument Description
Optional

-n Required folder_name Folder name.

-d Optional folder_description Description of the folder that appears in the Repository Manager.

-o Optional owner_name The owner of the folder. Any user in the repository can be the
folder owner. The default owner is the user creating the folder.

-g Optional group_name Repository user group to receive Owner’s Group permissions.


Only groups to which the owner belongs can be selected.

-s Optional shared_folder If selected, makes the folder shared.

-p Optional permissions 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 owner’s
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)

Required/
Option Argument Name Argument Description
Optional

-g Required group_name The name of the group you want to create.

-d Optional description 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)

Required/
Option Argument Name Argument Description
Optional

-u Required username User name of the new user. The user name is case-sensitive
and cannot contain spaces.

-p Required/ password The password of the new user. The password is case-sensitive
Optional and cannot contain spaces. When you use this option, you must
use the -c option.
Use the -p or -P option, but not both.

-c Required/ confirm_password This option ensures you enter the correct password. The
Optional confirm_password argument must match the password
argument. You must use this option when you use the -p option.

-P Required/ new_password_en The password environment variable of the new user. The
Optional vironment_variable 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.

-d Optional description A description of the new user.

-g Optional group_name 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.

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)

Required/
Option Argument Name Argument Description
Optional

-n Required folder_name 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)

Required/
Option Argument Name Argument Description
Optional

-u Required username Replace the user name of the user currently connected to
the repository.

-p Required/ new_password Replace the password of the user currently connected to


Optional 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.

-c Required/ confirm_new_password This option ensures you enter the correct password. The
Optional 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.

-P Required/ new_password_ The new password environment variable to replace the


Optional environment_variable 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.

-d Optional description Update the description of the user currently connected to


the repository.

454 Chapter 16: Using pmrep and pmrepagent


Table 16-45. Edituser Options and Arguments (pmrep)

Required/
Option Argument Name Argument Description
Optional

-l Optional login_name Specifies a login to which to map the user name. You can
use this option only with an external directory service.

-e Optional n/a 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)

Required/
Option Argument Name Argument Description
Optional

-n Required folder_name Folder name.

-d Optional folder_description Description of the folder that appears in the


Repository Manager.

-o Optional owner_name The current owner of the folder. Any user in the
repository can be the folder owner. The default
owner is the current user.

-g Optional group_name Repository user group to receive Owner’s Group


permissions. Only groups to which the owner
belongs can be selected.

-s Optional shared_folder If selected, makes the folder shared.

-r Optional new_folder_name Rename the folder.

-p Optional permissions Access rights for the folder. If not specified,


Repository Server uses existing 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 owner’s
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)

Required/
Option Argument Name Argument Description
Optional

-u Required repository_user_name The name to add as a repository user.

-l Required external_login The login name in the external directory.

-d Optional description A description of the user.

-g Optional group_name Assigns the user to a group. If you omit this


option, the user is assigned to Public.

-i Optional contact_info 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)

Required/
Option Argument Name Argument Description
Optional

-g Required group_name 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)

Required/
Option Argument Name Argument Description
Optional

-p Required privilege The privilege you want to remove. If the privilege contains spaces,
you must enclose this argument in quotes, such as “Administer
Repository.”

-u Required username The name of the user from whom you want to remove the privilege.
If you use this option, you cannot use the -g option.

-g Required group_name The name of the group from which you want to remove the
privilege. If you use this option, you cannot use the -u option.

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)

Required/
Option Argument Name Argument Description
Optional

-u Required username 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)

Required/
Option Argument Name Argument Description
Optional

-u Required username User name to remove from the group.

-g Required group_name 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 Command Description

AddToDeploymentGroup Adds objects to a deployment group. See “Adding to a Deployment Group


(AddToDeploymentGroup)” on page 461.

ApplyLabel Applies a label to an object or set of objects in a folder. See “Labeling (ApplyLabel)”
on page 462.

Checkin Checks in an object. See “Checking In Objects (Checkin)” on page 464.

ClearDeploymentGroup Clears all objects from a deployment group. See “Clearing a Deployment Group
(ClearDeploymentGroup)” on page 465.

CreateDeployment Group Creates a deployment group. See “Creating a Deployment Group


(CreateDeploymentGroup)” on page 465.

CreateLabel Creates a label object. See “Creating a Label (CreateLabel)” on page 466.

DeleteDeploymentGroup Deletes a deployment group. See “Deleting a Deployment Group


(DeleteDeploymentGroup)” on page 466.

DeleteLabel Deletes a label object and all object references to the label. See “Deleting a Label
(DeleteLabel)” on page 467.

DeployDeploymentGroup Copies a deployment group. See “Deploying a Deployment Group


(DeployDeploymentGroup)” on page 467.

DeployFolder Deploys a folder. See “Deploying a Folder (DeployFolder)” on page 469.

ExecuteQuery Executes a query. See “Executing a Query (ExecuteQuery)” on page 470.

FindCheckout Prints a list of checked out objects in the repository. See “Listing Checked Out Items
(FindCheckout)” on page 472.

UndoCheckout Undoes an object check out, release the lock and revert to the last checked in
version. See “Undoing a Checkout (UndoCheckout)” on page 473.

Validate 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)

Required/
Option Argument Name Argument Description
Optional

-p Required deployment_group_name The name of the deployment group to add objects to.

-n Required/ object_name The name of the object you are adding to the
Optional 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.

-o Required/ object_type The type of object you are adding. You can specify
Optional source, target, transformation, mapping, session,
worklet, workflow, scheduler, session configuration,
task, cube, and dimension. Required when adding a
specific object.

-t Required/ object_subtype The type of task or transformation you are adding. For
Optional valid subtypes, see Table 16-16 on page 426.

pmrep Change Management Commands 461


Table 16-53. AddToDeploymentGroup Options and Arguments (pmrep)

Required/
Option Argument Name Argument Description
Optional

-v Optional version_number The version of the object to add. The default is to add
the latest version of the object to the deployment
group.

-f Required/ folder_name The folder that contains the object you are adding. You
Optional must specify the folder if you specify an object name.

-i Optional persistent_input_file 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.

-d Optional dependency_types 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.

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)

Required/
Option Argument Name Argument Description
Optional

-a Required label_name The label name to apply to the object.

-n Required/ object_name The name of the object to receive the label. If you are
Optional updating a specific object, then this parameter is
required. You cannot specify objects if you use the -i
option.

-o Required/ object_type The type of object to apply the label to. You can
Optional specify source, target, transformation, mapping,
session, worklet, workflow, scheduler, session config,
task, cube, or dimension. Required when applying a
label to a specific object.

-t Required object_subtype The kind of task or transformation you are labeling.


pmrep ignores other object types. For valid subtypes,
see Table 16-16 on page 426.

-v Optional version_number 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.

-f Optional folder_name 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.

-i Optional persistent_input_file 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.

-d Required dependent_object_type 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.

-p Optional dependency_direction 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.

pmrep Change Management Commands 463


Table 16-54. ApplyLabel Options and Arguments (pmrep)

Required/
Option Argument Name Argument Description
Optional

-s Optional include_pk-fk_dependency Include the primary key-foreign key dependency


objects regardless of the direction of the dependency.

-m Optional move_label 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.

-c Optional comments Comments relating to ApplyLabel.

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)

Required/
Option Argument Name Argument Description
Optional

-o Required object_type The type of object you are checking in: source, target,
transformation, mapping, session, worklet, workflow,
scheduler, session config, task, cube, or dimension.

-t Optional object_subtype 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.

-n Required object_name The name of the object that you are checking in.

-f Required folder_name The folder to contain the new object version.

-c Optional comments Comments about the check in.

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)

Required/
Option Argument Name Argument Description
Optional

-p Required deployment_group_name The name of the deployment group that you want to
clear.

-f Optional force_delete 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)

Required/
Option Argument Name Argument Description
Optional

-p Required deployment_group_name The name of the deployment group to create.

-t Optional group_type 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)

Required/
Option Argument Name Argument Description
Optional

-q Required query_name The name of the query associated with the


deployment group. Required if the deployment group
is dynamic, but ignored if the group is static.

-u Required query_type 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.

-c Optional comments Comments about the new deployment group.

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)

Required/
Option Argument Name Argument Description
Optional

-a Required label_name The name of the label you are creating.

-t Optional label_type Allows multiple versions to have this label. If you omit
this option, you can apply the label to only one
version.

-c Optional n/a Comments about the label.

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)

Required/
Option Argument Name Argument Description
Optional

-p Required deployment_group_name The name of the deployment group to delete.

-f Optional force_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)

Required/
Option Argument Name Argument Description
Optional

-a Required label_name The name of the label to delete.

-f Optional force_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)

Required/
Option Argument Name Argument Description
Optional

-p Required deployment_group_name The name of the group to deploy.

-c Required control_file_name 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.

-r Required target_repository_name The repository you are deploying the group to.

-u Required/ target_repository_user_name The login user name for the target repository. Not
Optional required if you are copying the deployment group to
the same repository.

-x Required/ target_repository_user_passwo The login password for the target repository. Not
Optional rd required if you copy the deployment group to the same
repository.
Use the -x or -X option, but not both.

-X Required/ target_repository_password_en The login password environment variable for the target
Optional vironment_variable repository. Not required if you copy the deployment
group to the same repository.
Use the -x or -X option, but not both.

-h Required/ target_repository_server_host_ The host name of the Repository Server managing the
Optional name target repository. Not required if you copy the
deployment group to the same repository.

468 Chapter 16: Using pmrep and pmrepagent


Table 16-61. DeployDeploymentGroup Options and Arguments (pmrep)

Required/
Option Argument Name Argument Description
Optional

-n Required/ target_repository_server_port_ The port number of the Repository Server. Not


Optional number required if you are copying the deployment group to
the same repository.

-l Optional log_file_name The log file that records each deployment step. If you
omit this option, it outputs to the screen.

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)

Required/
Option Argument Name Argument Description
Optional

-f Required folder_name The name of the folder to deploy.

-c Required control_file_name 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.

-r Optional target_repository_name The repository name to deploy the group to. Not
required if the target repository is the same as the
source.

-u Optional target_repository_user_name The login user name for the target repository. Not
required if you are copying the deployment group to
the same repository.

-x Required/ target_repository_user_passwo The login password for the target repository. Not
Optional rd required if you are copying the deployment group to
the same repository.
Use the -x or -X option, but not both.

pmrep Change Management Commands 469


Table 16-62. DeployFolder Options and Arguments (pmrep)

Required/
Option Argument Name Argument Description
Optional

-X Required/ target_repository_password_en The login password environment variable for the target
Optional vironment_variable repository. Not required if you are copying the
deployment group to the same repository.
Use the -x or -X option, but not both.

-h Optional target_repository_server_host_ The host name of the Repository Server managing the
name target repository. Not required if you copy the
deployment group to the same repository.

-n Optional target_repository_server_port_ The port number of the Repository Server. Not


number required if you copy the deployment group to the same
repository.

-l Optional log_file_name The log file that records each deployment step. If you
omit this option, it outputs to the screen.

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-of-
listing_indicator -b verbose

Table 16-63 lists pmrep ExecuteQuery options and arguments:

Table 16-63. ExecuteQuery Options and Arguments (pmrep)

Required/
Option Argument Name Argument Description
Optional

-q Required query_name The name of the query to run.

-t Optional query_type 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)

Required/
Option Argument Name Argument Description
Optional

-u Optional persistent_output_file_name Send the query result to a text file. If you do not
specify a file name, the query result goes to stdout.

-a Optional append The option to append the query results to the


persistent output file. If you do not specify to append,
pmrep overwrites the file content.

-c Optional column_separator 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.

-r Optional end-of-record_separator 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.

-l Optional end-of-listing_indicator 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.

-b Optional verbose 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.

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)

Required/
Option Argument Name Argument Description
Optional

-o Optional object_type 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.

-f Optional folder_name 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.

-u Optional all_users List the checked out objects by all users. The default
is to list only checked out objects by the current user.

-c Optional column_separator 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.

472 Chapter 16: Using pmrep and pmrepagent


Table 16-64. FindCheckout Options and Arguments (pmrep)

Required/
Option Argument Name Argument Description
Optional

-r Optional end-of-record_separator 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.

-l Optional end-of-listing_indicator 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.

-b Optional verbose 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.

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)

Required/
Option Argument Name Argument Description
Optional

-o Required object_type The type of object. You can specify source, target, transformation,
mapping, session, worklet, workflow, scheduler, session config,
task, cube, dimension.

-t Required/ object_subtype The type of transformation or task. Ignored for other object types.
Optional For valid subtypes, see Table 16-16 on page 426.

-n Required object_name The name of the checked out object.

-f Required folder_name The name of the folder containing the object.

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)

Required/
Option Argument Name Argument Description
Optional

-n Required object_name The name of the object to validate. Do not use this
option if you are using the -i argument.

-o Required/ object_type The type of object to validate. You can specify source,
Optional target, transformation, mapping, session, worklet,
workflow, scheduler, session config, task, cube,
dimension. Required if you are not using a persistent
input file.

-t Required/ object_subtype The type of task or transformation. Ignored for other


Optional object types. For valid subtypes, see Table 16-16 on
page 426.

-f Required folder_name The name of the folder containing the object.

-v Optional version_number The version of the object to validate. The default is the
latest or checked out version of the object.

-i Optional persistent_input file 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.

-s Optional save_upon_valid Save objects that change from invalid to valid to the
repository.

-k Optional check_in_upon_valid Check in saved objects. Required if you use -s.

-m Required/ check_in_comments Add comments when you check in an object. Required


Optional if you use the -k option, and the current repository
requires checkin comments.

-p Optional output_options 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.

pmrep Change Management Commands 475


Table 16-66. Validate Options and Arguments (pmrep)

Required/
Option Argument Name Argument Description
Optional

-u Optional persistent_output_file_name 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.

-a Optional append Append the results to the persistent output file instead
of overwriting it.

-c Optional column_separator 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.

-r Optional end-of-record_separator 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.

-l Optional end-of-listing_indicator 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.

-b Optional verbose 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.

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 Command Description

Backup Backs up a repository. See “Backing up a Repository (Backup)” on page 477.

Bulkrestore Restores a Teradata repository from a repository backup file using Fastload. See
“Restoring Teradata Repositories using Fastload (Bulkrestore)” on page 479.

Create Creates repository tables in the database. See “Creating a Repository (Create)”
on page 480.

Delete Deletes the repository tables from the database. See “Deleting a Repository
(Delete)” on page 481.

Registerplugin Registers a new external module to the repository. See “Registering a Plug-in
(Registerplugin)” on page 482.

Restore Restores a repository from a repository backup file. See “Restoring a Repository
(Restore)” on page 485.

Unregisterplugin Unregisters a plug-in module from the repository. See “Unregistering Plug-ins
(Unregisterplugin)” on page 487.

Upgrade 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)

Required/
Option Argument Name Argument Description
Optional

-r Required repository_name The name of the repository you want to back up.

-n Required repository_user_name The repository user name.

-x Required/ repository_password The repository password.


Optional Use the -x or -X option, but not both.

-X Required/ repository_password_environ The repository password environment variable.


Optional ment_variable Use the -x or -X option, but not both.

-t Required database_type The type of database the repository resides on.

-u Required database_user_name The repository database user name.

-p Required/ database_password The repository database password. Not required if you


Optional are using option -m.
Use the -p or -P option, but not both.

-P Required/ database_password_environ The repository database password. Not required if you


Optional ment_variable are using option -m.
Use the -p or -P option, but not both.

-m Optional trusted_connection Use a trusted connection to connect to the database.


Valid for Microsoft SQL Server only.

-c Required database_connect_string 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.

-o Required output_file_name The name and path of the file for the repository
backup.

-d Required description The description of the repository you backup.

-f Optional n/a This option has no argument. Include this option if you
want to overwrite any existing file with the same name.

-b Optional skip_workflow/session_log Skips tables related to workflow and session logs


during backup.

-j Optional skip_deploy_group_history Skips deployment group history during backup.

-q Optional skip_MX_data Skips tables related to MX data during backup.

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)

Required/
Option Argument Name Argument Description
Optional

-r Required repository_name The name of the repository you want to restore.

-t Required database_type Enter “Teradata” to restore to a Teradata database.

-u Required database_user_name The repository database user name.

-p Required/ database_password The repository database password.


Optional Use the -p or -P option, but not both.

-P Required/ database_password_environ The repository database password environment variable.


Optional ment_variable Use the -p or -P option, but not both.

-c Required database_connect_string 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.

-d Optional codepage The repository code page.

-h Required host_name The host name of the Repository Server that manages
the repository.

-o Required port_number The port number of the Repository Server that manages
the repository.

-g Optional n/a This option has no argument. Use this option if you want
to promote the repository to a global repository.

-i Required backup_file_name 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.

-e Required external_loader_type Enter “fastload” for Teradata.

-s Required server_name The name of the Teradata database server.

pmrepagent Commands 479


Table 16-69. Bulkrestore Options and Arguments (pmrepagent)

Required/
Option Argument Name Argument Description
Optional

-a Required license_file_name The name of the license file.

-y Optional enable_object_versioning Enables object versioning.

-b Optional skip_workflow/session_log Skips tables related to workflow and session logs during
backup.

-j Optional skip_deploy_group_history Skips deployment group history during backup.

-q Optional skip_MX_data 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)

Required/
Option Argument Name Argument Description
Optional

-r Required repository_name The name of the repository you want to create.

-t Required database_type The type of database the repository resides on.

-u Required database_user_name The repository database user name.

-p Required/ database_password The repository database password. Not required if you


Optional are using option -m.
Use the -p or -P option, but not both.

-P Required/ database_password_environme The repository database password environment


Optional nt_variable variable. Not required if you are using option -m.
Use the -p or -P option, but not both.

-m Optional n/a Use a trusted connection to connect to the database.


Valid for Microsoft SQL Server only.

-c Required database_connect_string 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.

480 Chapter 16: Using pmrep and pmrepagent


Table 16-70. Create Options and Arguments (pmrepagent)

Required/
Option Argument Name Argument Description
Optional

-d Optional code_page The repository code page.

-h Required host_name The host name of the Repository Server that manages
the repository.

-o Required port_number The port number of the Repository Server that


manages the repository.

-g Optional n/a This option has no argument. Include this option if you
want to promote the repository to a global repository.

-z Optional repository_creation_parameters 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 Required license_file_name The name of the license file.

-v Optional n/a 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)

Required/
Option Argument Name Argument Description
Optional

-r Required repository_name The name of the repository you want to delete.

-n Required repository_user_name The repository user name.

-x Required/ repository_password The repository password.


Optional Use the -x or -X option, but not both.

-X Required/ repository_password_envir The repository password environment variable.


Optional onment_variable Use the -x or -X option, but not both.

pmrepagent Commands 481


Table 16-71. Delete Options and Arguments (pmrepagent)

Required/
Option Argument Name Argument Description
Optional

-t Required database_type The type of database the repository resides on.

-u Required database_user_name The repository database user name.

-p Required/ database_password The repository database password.


Optional Use the -p or -P option, but not both.

-P Required/ database_password_enviro The repository database password environment variable.


Optional nment_variable Use the -p or -P option, but not both.

-c Required database_connect_string 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.

-f Required/ n/a Use this option to delete a global repository. All registered
Optional local repositories must be running. This option
unregisters local repositories.

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)

Required/
Option Argument Name Argument Description
Optional

-r Required repository_name The name of the repository.

-n Required repository_user_name The repository user name.

-x Required/ repository_password The repository password.


Optional Use the -x or -X option, but not both.

-X Required/ repository_password_envir The repository password environment variable.


Optional onment_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)

Required/
Option Argument Name Argument Description
Optional

-t Required database_type The type of database the repository resides on.

-u Required database_user_name The repository database user name.

-p Required/ database_password The repository database password. The password is not


Optional required if you are using option -m.
Use the -p or -P option, but not both.

-P Required/ database_password_enviro The repository database password environment variable.


Optional nment_variable The password is not required if you are using option -m.
Use the -p or -P option, but not both.

-m Optional n/a Indicates to use a trusted connection to connect to the


database. Valid for Microsoft SQL Server only.

-c Required database_connect_string 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.

-i Required input_xml_file_name The name of the XML file describing the plug-in.

-e Optional n/a Update an existing plug-in. Not applicable for


authentication modules.

-f Optional force_registration 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.

-l Required if login_name The NIS login of the user registering an external security
registering module. If the plug-in contains an authentication module
security you must supply the external login name, or the
module registration fails. This login becomes the administrator
components user name in the repository. Do not use this option for
other plug-ins.

-w Required/ login_password The external directory password of the user registering


Optional 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.

pmrepagent Commands 483


Table 16-72. Registerplugin Options and Arguments (pmrepagent)

Required/
Option Argument Name Argument Description
Optional

-W Required/ login_password_environme The external directory password environment variable of


Optional nt_variable 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.

-k Optional n/a 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.

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 Administrator’s password to “Administrator.”
Note: If the repository uses repository authentication, then the Administrator’s 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)

Required/
Option Argument Name Argument Description
Optional

-r Required repository_name The name of the repository you want to restore.

-t Required database_type The type of database you want to restore to.

-u Required database_user_name The repository database user name.

-p Required/ database_password The repository database password. Not required if


Optional you are using option -m.
Use the -p or -P option, but not both.

-P Required/ database_password_environme The repository database password environment


Optional nt_variable variable. Not required if you are using option -m.
Use the -p or -P option, but not both.

-m Optional n/a Use a trusted connection to connect to the database.


Valid for Microsoft SQL Server only.

-c Required database_connect_string 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.

-d Optional code_page The repository code page.

pmrepagent Commands 485


Table 16-73. Restore Options and Arguments (pmrepagent)

Required/
Option Argument Name Argument Description
Optional

-h Required repserver_host_name The host name of the Repository Server that


manages the repository.

-l Required license_file_name The repository license file name.

-o Required repserver_port_number The port number of the Repository Server that


manages the repository.

-g Optional n/a This option has no argument. Include this option if


you want to promote the repository to a global
repository.

-i Required backup_file_name The name of the repository backup file.


You can use any file name and path local to the
Repository Server.

-z Optional repository_creation_parameters 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.

-v Optional/ administrator_username Specifies repository administrator user name. Use


Required this option to force the Repository Agent to verify
for retaining that the administrator user is valid with the current
an external authentication module.
security Use this option only with a repository using an
module. external security module. You must use this option to
retain the external module registration after the
restore.

-x Required/ verify_password Verify password.


Optional 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.

486 Chapter 16: Using pmrep and pmrepagent


Table 16-73. Restore Options and Arguments (pmrepagent)

Required/
Option Argument Name Argument Description
Optional

-X Required/ verify_password_environment_ The verify password environment variable.


Optional 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.

-a Required license_file_name The name of the license file.

-w Optional n/a Removes user name-login mapping. Use this option


only when unregistering an external module.

-b Optional skip_workflow/session_log Skips tables related to workflow and session logs


during backup.

-j Optional skip_deploy_group_history Skips deployment group history during backup.

-q Optional skip_MX_data Skips tables related to MX data during backup.

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)

Required/
Option Argument Name Argument Description
Optional

-r Required repository_name The name of the repository you want to upgrade.

-n Required repository_user_name The repository user name.

-x Required/ repository_password The repository password.


Optional Use the -x or -X option, but not both.

-X Required/ repository_password_environment The repository password environment variable.


Optional _variable Use the -x or -X option, but not both.

-t Required database_type The type of relational connection. For a list of valid


database types, see Table 16-9 on page 418.

-u Required database_user_name The repository database user name.

-p Required/ database_password The repository database password. The password


Optional is not required if you are using option -m.
Use the -p or -P option, but not both.

-P Required/ database_password_environment The repository database password environment


Optional _variable variable. The password is not required if you are
using option -m.
Use the -p or -P option, but not both.

-m Optional n/a Indicates to use a trusted connection to connect to


the database. Valid for Microsoft SQL Server only.

-c Required database_connect_string 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.

-v Required vendor_id Identifies the security plug-in by vendor


identification number. You define this number when
you register the plug-in.

-l Required plugin_id Identifies the plug-in by identification number. You


define this identification number when you register
the plug-in.

-g Optional. remove_user_name_login_mappi Removes the mapping between user names and


Applicable ng login names in the repository when you unregister
when an external security module. If you omit this option,
registering you retain the mapping in the repository, but the
an external Repository Manager does not display them
security anywhere.
module. Use this option only when you are unregistering a
security module.

488 Chapter 16: Using pmrep and pmrepagent


Table 16-74. Unregisterplugin Options and Arguments (pmrepagent)

Required/
Option Argument Name Argument Description
Optional

-w Required/ new_password Specifies a new password for the user running the
Optional 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/ new_password_environment_vari Specifies a new password environment variable for


Optional able 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.

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)

Required/
Option Argument Name Argument Description
Optional

-r Required repository_name The name of the repository you want to upgrade.

-n Required repository_user_name The repository user name.

-x Required/ repository_password The repository password.


Optional Use the -x or -X option, but not both.

-X Required/ repository_password_environment The repository password environment variable.


Optional _variable Use the -x or -X option, but not both.

-t Required database_type The type of database you want to upgrade to.

-u Required database_user_name The repository database user name.

-p Required/ database_password The repository database password. Not required if


Optional you are using option -m.
Use the -p or -P option, but not both.

-P Required/ database_password_environment The repository database password environment


Optional _variable variable. Not required if you are using option -m.
Use the -p or -P option, but not both.

-m Optional n/a Use a trusted connection to connect to the


database. Valid for Microsoft SQL Server only.

-c Required database_connect_string 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.

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-9cd4-
a15cb489bab8:3538944199885:138608640183285:1376256153425:131072168215:65536142655:0288235:
088154:65536122855,EXPORT,M_ITEMS,mapping,none,2
1995857227:57bfc2ff-df64-40fc-9cd4-
a15cb489bab8:3538944135065:13867417666804:1376256233835:19660880104:65536271545:0319425:01
7154:6553644164,EXPORT,M_ITEMS_2,mapping,none,3
1828891977:57bfc2ff-df64-40fc-9cd4-
a15cb489bab8: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-9cd4-
a15cb489bab8: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 (YES | NO) "NO"
CHECKIN_COMMENTS CDATA #IMPLIED
APPLY_LABEL_NAME CDATA #IMPLIED
RETAIN_GENERATED_VALUE (YES | NO) "NO"
COPY_SAP_PROGRAM (YES | NO) "YES"
APPLY_DEFAULT_CONNECTION (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
SOURCEREPOSITORYNAME CDATA #REQUIRED
TARGETFOLDERNAME CDATA #REQUIRED
TARGETREPOSITORYNAME CDATA #REQUIRED
>

<!--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
RESOLUTION(REPLACE | REUSE | RENAME) #REQUIRED
>

<!--QUERYOBJECT allows objects result from a query to apply replace/reuse upon conflict -->
<!ELEMENT QUERYOBJECT EMPTY>
<!ATTLIST QUERYOBJECT
QUERYNAMECDATA #REQUIRED
RESOLUTION(REPLACE | REUSE | RENAME) #REQUIRED
>

<!--TYPEOBJECT allows objects of certain type to apply replace/reuse upon conflict-->


<!ELEMENT TYPEOBJECT EMPTY>
<!ATTLIST TYPEOBJECT
OBJECTTYPENAMECDATA #REQUIRED
RESOLUTION(REPLACE | REUSE | RENAME) #REQUIRED
>

<!--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 CDATA #REQUIRED
DBDNAME CDATA #IMPLIED
OBJECTTYPENAME CDATA #REQUIRED
FOLDERNAME CDATA #REQUIRED
REPOSITORYNAME CDATA #REQUIRED
RESOLUTION (REPLACE | REUSE | RENAME) #REQUIRED>

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 Attribute Name Attribute Description

IMPORTPARAMS CHECKIN_AFTER_IMPORT Checks in objects when they successfully import.

CHECKIN_COMMENTS Applies the comments to the checked in objects.

APPLY_LABEL_NAME Applies the label name on the imported objects.

RETAIN_GENERATED_VALUE Retains existing Sequence Generator, Normalizer, and


XML Source Qualifier transformation current values in
the destination.

COPY_SAP_PROGRAM Copies SAP program information into the target


repository.

APPLY_DEFAULT_CONNECTION 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.

FOLDERMAP SOURCEFOLDERNAME Specifies the import folder name to match to a folder in


the target repository.

SOURCEREPOSITORYNAME Specifies the repository containing the source folder.

TARGETFOLDERNAME Specifies the target folder name for matching.

TARGETREPOSITORYNAME Specifies the repository containing the target folder.

TYPEFILTER TYPENAME Imports just the objects from a specific node, such as
sources, targets, or mappings.

RESOLVECONFLICT (see the following elements) Allows you to specify conflict resolutions for objects.

LABELOBJECT LABELNAME Identifies objects by label name for conflict resolution


specification.

RESOLUTION Replace, Reuse, Rename.

QUERYOBJECT QUERYNAME Identifies objects from this query result for conflict
resolution specification.

RESOLUTION Replace, Reuse, or Rename.

TYPEOBJECT OBJECTTYPENAME Identifies objects by type, for conflict resolution


specification.

RESOLUTION Replace, Reuse, or Rename.

SPECIFICOBJECT NAME Specific object name for this conflict resolution.

DBDNAME Source DBD name to identify source object.

OBJECTTYPENAME Object type for this conflict resolution.

498 Appendix A: Working with pmrep Files


Table A-1. Object Import Control File Elements and Attributes (pmrep)

Element Attribute Name Attribute Description

FOLDERNAME The folder the containing object.

REPOSITORYNAME The repository containing the object.

RESOLUTION 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 CDATA #IMPLIED
COPYPROGRAMINFO (YES | NO) "YES"
COPYMAPVARPERVALS (YES | NO) "NO"
COPYWFLOWVARPERVALS (YES | NO) "NO"
COPYWFLOWSESSLOGS (YES | NO) "NO"
COPYDEPENDENCY (YES | NO) "YES"
LATESTVERSIONONLY (YES | NO) "NO"
RETAINGENERATEDVAL (YES | NO) "YES"
RETAINSERVERNETVALS (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 CDATA #REQUIRED
RETAINMAPVARPERVALS (YES | NO) "NO"
RETAINWFLOWVARPERVALS (YES | NO) "YES"
RETAINWFLOWSESSLOGS (YES | NO) "NO"
MODIFIEDMANUALLY (YES | NO) "NO">

<!--shared folder to override-->


<!ELEMENT OVERRIDEFOLDER EMPTY>
<!ATTLIST OVERRIDEFOLDER
SOURCEFOLDERNAME CDATA #REQUIRED
SOURCEFOLDERTYPE (LOCAL | GLOBAL) "LOCAL"
TARGETFOLDERNAME CDATA #REQUIRED
TARGETFOLDERTYPE (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 CDATA #IMPLIED
SOURCEMOVELABEL (YES | NO) "NO"
TARGETLABELNAME CDATA #IMPLIED
TARGETMOVELABEL YES | NO) "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 Attribute Name Attribute Description

DEPLOYPARMS DEFAULTSERVERNAME Specifies the PowerCenter Server in the target repository to


run workflows.

COPYPROGRAMINFO Copies SAP R/3 installed ABAP program.

COPYMAPVARPERVALS Copies mapping variable persistent values.

COPYWFLOWVARPERVALS Copies workflow variable persistent values.

COPYWFLOWSESSLOGS Copies workflow logs.

COPYDEPENDENCY Copies dependency information for objects in mappings.

LATESTVERSIONONLY Copies only the latest version.

RETAINGENERATEDVAL Keeps the current value for Sequence Generator or


Normalizer transformations.

RETAINSERVERNETVALS Retains server network related values in tasks.

DEPLOYFOLDER NEWFOLDERNAME Creates a new folder with this name.

REPLACEFOLDER FOLDERNAME Name the folder after replacing it.

RETAINMAPVARPERVALS Retains mapping variable persistent values in the target.

RETAINFLOWVARPERVALS Retains workflow variable persistent values.

RETAINWFLOWSESSLOGS Retains workflow session logs in the target.

MODIFIEDMANUALLY Does not allow replacing of manually modified target


folders.

OVERRIDEFOLDER SOURCEFOLDERNAME Specifies the current folder that shortcuts point to.

SOURCEFOLDERTYPE Indicates local or global folder.

Using the Deployment Control File 505


Table A-2. Deployment Control File Elements and Attributes (pmrep)

Element Attribute Name Attribute Description

TARGETFOLDERNAME Changes folder that shortcuts point to.

TARGETFOLDERTYPE Indicates local or global folder.

DEPLOYGROUP CLEARSRCDEPLOYGROUP Removes objects from source group after deploying.

APPLYLABEL SOURCELABELNAME Applies a label to all the objects in the source group.

SOURCEMOVELABEL 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.

TARGETLABELNAME Applies a label to all the objects deployed to the target


repository.

TARGETMOVELABEL 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.

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 Repository Privilege Folder Permission

Connect to the repository using the Use Designer None required


Designer

View sources, targets, Use Designer Read


transformations, and mappings

Create/edit sources, targets, Use Designer Read/Write


transformations, and mappings

Create shortcuts from a shared folder Use Designer Read permission in the shared folder.
Read and write permission in the
destination folder.

Copy object from one folder to Use Designer Read permission in the originating
another folder. Read and write permission for
the destination folder.

Copy and paste objects in mappings Use Designer Read/Write


or mapplets in the same folder

Compare objects Use Designer Read

Export objects Use Designer Read

Import objects Use Designer Read/Write

Edit breakpoints Use Designer Read

Create a debug session Use Designer and Use Workflow Read/Execute


Manager

Use Designer and Workflow Operator Read

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

Connection
Repository
Workflow Manager Task Folder Permission Object
Privilege
Permission

Connect to the repository using the Use Workflow None required None required
Workflow Manager Manager

Create workflows and tasks Use Workflow Read/Write None required


Manager

Edit workflows and tasks Use Workflow Read/Write None required


Manager

Create and edit sessions Use Workflow Read/Write Read


Manager

Delete Connection Administer None required Write


Repository

Use Workflow None required Write permission


Manager and own the
connection object.

Use Workflow None required Write permission


Manager and belong to the
same group as the
owner of the
connection object.

Schedule or unschedule workflows Use Workflow Read/Execute Execute


Manager

Workflow Operator Read None required

Start workflows immediately Use Workflow Read/Execute Execute


Manager

Workflow Operator Read Execute

Workflow Manager Tasks 511


Table B-2. Required Privileges and Permissions for Workflow Manager Tasks

Connection
Repository
Workflow Manager Task Folder Permission Object
Privilege
Permission

Stop the PowerCenter Server Use Workflow None required None required
Manager and
Administer Server

Configure database, FTP, and Use Workflow None required None required
external loader connections in the Manager
Workflow Manager

Edit database, FTP, and external Use Workflow None required Read, Write
loader connections in the Workflow Manager
Manager

Manage connection object Administer None required None required


permissions Repository

Register PowerCenter Servers and Administer Server None required None required
configure server variable directories

Export objects Use Workflow Read None required


Manager

Import objects Use Workflow Read/Write None required


Manager

Validate workflows and tasks Use Workflow Read/Write None required


Manager

Run Workflow Monitor Use Workflow None required None required


Manager

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

Repository Connection Object


Workflow Monitor Task Folder Permission
Privilege Permission

Connect to repository Use Workflow None required None required


Manager or Workflow
Operator

Connect to the PowerCenter Workflow Operator None required None required


Server

Use Workflow None required None required


Manager

View the session log Workflow Operator Read None required

Use Workflow Read/Execute None required


Manager

Restart workflow Workflow Operator Execute None required

Use Workflow Execute None required


Manager

Stop workflow Workflow Operator Execute None required

Use Workflow Execute None required


Manager

Abort workflow Workflow Operator Execute None required

Use Workflow Execute None required


Manager

Resume workflow Workflow Operator Execute None required

Use Workflow Execute None required


Manager

Workflow Monitor Tasks 513


Table B-3. Required Privileges and Permissions for Workflow Monitor Tasks

Repository Connection Object


Workflow Monitor Task Folder Permission
Privilege Permission

View session details and session Use Workflow Read None required
performance details Manager

Use Workflow Read None required


Manager

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

Repository Folder Connection Object


pmcmd Task
Privilege Permission Permission

Ping the PowerCenter Server None required None required None required

Stop the PowerCenter Server Administer Server None required None required

All other tasks Use Workflow Execute Execute


Manager

Workflow Operator None required 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 Repository Privilege Folder Permission Other Permission

Add to deployment group Use Repository Manager Read Write on deployment


group

Apply label Use Repository Manager Read Execute on label

Change object version Use Repository Manager Write


comments or be check-out owner

Change status of an object Use Repository Manager Write None required

Change your password Browse Repository None required None required

Check in Use Repository Manager Write None required

Check in/undo check out for Administer Repository Write None required
other users

Check out/undo check out Use Repository Manager Write None required

Connect to the repository using Browse Repository None required None required
the Repository Manager

Copy a folder to a different Browse Repository on Read permission on the Read


repository the originating repository original folder
and Administer
Repository on the
destination repository

Copy a folder within the same Administer Repository Read permission on the Read
repository original folder

Browse Repository Read permission on the None required


original folder

Copy global object Use Repository Manager Read on the original


folders
Write on target

516 Appendix B: Permissions and Privileges by Task


Table B-5. Required Permissions and Privileges for Repository Manager Tasks

Repository Manager Task Repository Privilege Folder Permission Other Permission

Create a folder Administer Repository None required None required

Create or edit deployment Administer Repository N/A Edit: Write on


group deployment group

Create or edit label Administer Repository N/A Edit: Write on label

Create or edit query Browse Repository N/A Write on query

Delete (versioning) Use Repository Manager Write None required

Delete a folder Browse Repository Folder owner and read None required
permission

Administer Repository Read None required

Delete from Deployment Group Use Repository Manager N/A Write on deployment
group

Deploy Administer Repository Read on the original Read and execute on


folder. deployment group

Edit folder Browse Repository Folder owner and read None required
permission

Administer Repository Read None required

Edit folder properties Browse Repository Folder owner and read None required
permission

Administer Repository Read None required

Export objects Use Repository Manager Read None required

Freeze folder Browse Repository Folder owner and read None required
permission

Administer Repository Read None required

Import objects Use Repository Manager Read/Write None required

Import, export, or remove the Browse Repository None required None required
registry

Manage users, groups, and Administer Repository None required None required
privileges

Mass update Super User Write None required

Purge (versioning) Administer Repository Write None required

Receive user and group Super User None required None required
notifications

Recover Use Repository Manager Write None required

Remove Label References Use Repository Manager N/A None required

Run Query Browse Repository N/A Read on query


Manager

Repository Manager Tasks 517


Table B-5. Required Permissions and Privileges for Repository Manager Tasks

Repository Manager Task Repository Privilege Folder Permission Other Permission

Search target tables by Browse Repository Read None required


keyword

Terminate other users and Super User None required None required
unlock objects

Unlock an object or folder Browse Repository Read None required


locked by your username

Unlock any locked object or Super User None required None required
folder in the repository

View dependencies Browse Repository Read 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

Connection Object
pmrep Task Repository Privilege Folder Permission
Permission

List repository objects Browse Repository Read None required


(Listobjects)

List sources or targets in a Use Workflow Manager Read None required


session (Listtablesbysess)

Export objects (ObjectExport) Use Repository Manager Read None required

Import objects (ObjectImport) Use Repository Manager Read/Write None required

Change the name of an Super User None required None required


existing connection
(Switchconnection)

Update email addresses Use Workflow Manager Write None required


(Updateemailaddr)

Update source table owner Use Workflow Manager Write None required
names (Updatesrcprefix)

Update target table name Use Workflow Manager Write None required
prefixes (Updatetargprefix)

Update transformation Use Designer Write None required


properties for Sequence
Generator transformations
(Updateseqgenvals)

All other tasks 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 exporting repository configurations 115


HTML view 53
activity log importing repository configurations 115
Administration Console 56 List view 53
addprivilege Main window 53
description 450 MMC 52
Addrepository overview 50
description 414 privileges 50
Addserver promoting repositories 117
description 413 propagating domain information 78
AddToDeploymentGroup registering local repositories 75
description 461 registering repository plug-ins 85
Addusertogroup removing repository configurations 114
description 450 repositories node 54
Administer Repository privilege repository name node 54
limiting 161 Repository Server name node 54
Administration Console Repository Servers node 54
activity log 56 restoring repositories 67
adding repository configurations 105 sending repository notifications 74
backing up repositories 66 starting 52
closing connections 83 starting repositories 71
connecting to Repository Server 58 stopping repositories 71
Console Tree 52 unregistering repository plug-ins 85
copying repositories 62 updating licenses 111
creating repositories 116 using 52
deleting repositories 64 viewing connections 79
disabling repositories 73 advanced mode
editing repository configurations 113 copying deployment groups 259
enabling repositories 71 copying folders 244

521
ApplyLabel exporting objects 266
description 462 global repository 117
associating importing objects 266
server with sessions 245 local repository 75
audit trails 208 repository 51, 192
configuration setting 110 command line program
creating 153 See pmrep
authenticating users See also pmrepagent
description 131 comments
authentication accessing metadata 335
switching methods 133 comparing
using LDAP 131 See also Designer Guide
See also Workflow Administration Guide
folders 174
B Repository objects 45
Workflow Manager objects 21, 45
backing up conflicts
repositories 66 copying Designer objects 310
repositories with pmrep 416 copying workflow segments 308
repositories with pmrepagent 477 database connections 307
Backup command mapping 307
pmrep 416 resolving when importing 281
pmrepagent 477 connect string
Bulkrestore command examples 405
description 479 syntax 405
connecting
to repositories 30, 31
C connection objects
See also Workflow Administration Guide
Changepassword definition 10
description 450 permissions and privileges 245
Checkin connections
description 464 terminating 83
CheckinCommentsRequired viewing 79
repository configuration 110 connectivity
checking in connect string examples 405
description 213 connectivity license keys
non-reusable objects 213 overview 119
when importing objects 280 ConnectString
checking out setting for repository configuration 107
description 211 Console Tree
non-reusable objects 211 Administration Console 52
undoing a checkout 213 control file
checkouts deployment 504
searching for checked out objects 211 object import 496
viewing 211 ObjectImport XML example 500
Cleanup Copy Wizard
description 411 copying objects 302
ClearDeploymentGroup resolving conflicts 300
description 465 viewing object dependencies 305
code pages
See also Installation and Configuration Guide

522 Index
copying repository users 134
See also copying deployment groups 254 user groups 128
See also copying folders 248 users under an external directory 137
Copy Wizard procedure 302
deployment groups 254
Designer objects 310 D
folders 250
in Workflow Manager 306 database connections
mapping segments 310 See also Workflow Administration Guide
mapping variables 307 during folder or deployment group copy 245
mapplet segments 310 permissions and privileges 245
repositories 62 database definitions
resolving conflicts 300 MX view 338
sessions 306 DatabaseArrayOperationSize
shortcuts 195 configuration setting 110
workflow segments 308 setting for repository configuration 110
workflows 306 DatabaseConnectionTimeout
worklets 306 setting for repository configuration 110
copying deployment groups DatabasePoolSize
copying composite objects 255 setting for repository configuration 110
copying shortcuts 256 DatabaseType
in advanced mode 244 setting for repository configuration 107
in typical mode 244 DateDisplayFormat
steps 258 setting for repository configuration 109
copying folders DB2
from local to global repositories 250 See IBM DB2
in advanced mode 244 DBPassword
in typical mode 244 setting for repository configuration 107
shortcuts in folders 249 DBUser
within a repository 250 setting for repository configuration 107
CRCVALUE codes Decision Support Systems (DSS)
overview 267 working with Informatica metadata 335
Create command default groups
description 480 security 127
CreateConnection default users
description 417 editing 131
CreateDeploymentGroup Delete command
description 465 description 481
Creategroup Deleteconnection
description 452 description 420
CreateLabel DeleteDeploymentGroup
description 466 description 466
Createuser DeleteFolder
description 452 description 453
creating DeleteLabel
global shortcuts 190 description 467
local shortcuts 187 Deleteserver
metadata extensions 328 description 421
MX views 336 deleting
repositories 116 folders 173
repositories using pmrepagent 480 metadata extensions 332

Index 523
recovering deleted objects 215 dynamic deployment groups
repositories 64 associating with a query 240
repositories using pmrepagent 481 definition 236
user groups 129 editing 240
versioned objects 215 DynamicConfigRefreshInterval
depcntl.dtd setting for repository configuration 110
listing 504
dependencies
source-target 27
viewing 27, 37
E
dependent objects editing
exporting and importing 270 folder permissions 149
DeployDeploymentGroup folders 173
description 467 metadata extensions 331
DeployFolder repository users 138
description 469 user 138
deploying objects user groups 129
depcntl.dtd 504 Edituser
rolling back a deployment 238 description 454
deployment groups Enablerepository
copying 254, 258 description 422
copying composite objects 255 enabling a user
copying shortcuts 256 description 139
creating 237 environment variables
definition 218 repository username and password 408
dynamic 240 Error Severity Level
editing 237 Repository Agent messages 101
rolling back a deployment 238 Repository Server messages 98
static 239 setting for repository configuration 109
Designer exchanging
See also Designer Guide metadata 314
copying objects 310 execute lock
permissions 510 description (repository) 154
development license key ExecuteQuery
overview 119 description 470
Disablerepository Exit
description 421 description 411
documentation exiting
conventions xxxvii pmrep 411
description xxxvi exporting
domains metadata 314
building 13 registries 32
configuring for global shortcuts 192 repository configurations 115
connectivity 75 sources and targets 314
reusing data 15 exporting objects
dropping code pages 266
MX views 336 dependent objects 270
DTD file multiple objects 269
exporting and importing objects 267 overview 264, 276
plug-in template 484 parent objects 271
permissions 266

524 Index
powrmart.dtd 267 properties 168, 171
privileges 266 renaming 173
sessions 272 Repository Manager uses 166
shortcuts 270 shared 15, 169
steps for 285 shortcuts 249
versioned objects 273 Workflow Manager uses 166
external loader connections FTP connections
during folder or deployment group copy 245 during folder or deployment group copy 245
permissions and privileges 245 permissions and privileges 245
external security module
registering 484
unregistering 489 G
global objects
F See Workflow Administration Guide
global repositories
FindCheckout code page 117, 192
description 472 creating 14
flat files promoting 112, 117
MX view of repository file definitions 343 purpose 13
view of fields 345 shared folders 170
folder permissions global shortcuts
description 126 behavior when copying folders 250
editing 149 creating 190
overview 148, 168 definition 182, 249
security levels 148 environment 192
user groups 128 repository usernames 193
folder status server username 193
changing 207 tips 197
description 207 updating 194
folders updating views 194
comparing 174 groups
copying 245, 249 creating user 128
copying between local repositories 250 default security 127
copying global shortcuts 250 editing description 129
copying local shortcuts 249
copying or replacing 250
copying shortcuts 249
creating 171
H
deleting 173, 453 HTML view
deploying 469 Administration Console 53
Designer uses 166
editing 173
editing permissions 149 I
locking during folder copy 249
maintaining connections during copy 245 IBM DB2
modifying 456 connect string example 405
naming copies 249 setting tablespace name 107
organizing 166 Import Wizard
overview 166 importing objects 287
owner and owner’s group 169 resolving object conflicts 281

Index 525
importing creating 219, 466
metadata 314 definition 218
objects 280 deleting 467
ODBC data sources 33 editing 219
registries 32 launching
repository configurations 115 Administration Console 52
sources and target 314 LDAP authentication
importing objects description 131
code pages 266 LDAP authentication module
CRCVALUE codes 267 configuring 92
dependent objects 270 LDAP security module
DTD file 267 registering 88
impcntl.dtd 496 unregistering 95
Import Wizard 287 license files
multiple objects 269 compatibility between files 122
ObjectImport XML example 500 overview 120
overview 264 PowerCenter Server 122
parent objects 271 repository 120
permissions 266 license key types
powrmart.dtd 267 development 119
privileges 266 production 119
resolving conflicts 281 license keys
sessions 272 connectivity 119
shortcuts 274 option 119
steps for 287 overview 119
validating objects 281 product 119
validating XML file 280 repository types 119
XML file 267 licenses
Informatica See also license files 119
documentation xxxvi See also license keys 119
Webzine xxxviii overview 119
Informix rules and guidelines 123
connect string syntax 405 updating 111
interactive mode List view
pmrep 406 Administration Console 53
in-use lock Listallgroups
description (repository) 154 description 455
Listallprivileges
description 455
K Listallusers
description 455
KeepAliveTimeout ListObjectDependencies
setting for repository configuration 110 description 429
keywords Listobjects
searching for target definitions 34 description 423
listing folders 427
listing transformations 427
L transformation types 426
Listtablesbysess
labels description 428
applying 221, 462
applying when importing 280

526 Index
local repositories view of target tables 360
See also repositories mapplet segments
code page 75, 192 copying 310
promoting to global 112 mapplets
registering 75 See also Designer Guide
local shortcuts description 9
behavior when copying folders 249 metadata extensions in 326
creating 187 MaximumConnections
definition 182, 249 setting for repository configuration 109
tips 197 MaximumLocks
updating 194 setting for repository configuration 110
updating views 194 MessageReceiveTimeOut
locking setting for repository configuration 108
description 126 MessageSendTimeout
during deployment group copy 254 setting for repository configuration 108
during folder copy 249 metadata
locks adding to repository 9
releasing 83 analyzing 335
viewing 80, 157 definition 2
log entries exchanging 314
truncating 48 exporting 314
log files importing 314
codes 97 multi-dimensional 9
Repository Agent 100 protection levels within folders 168
Repository Server 98 reusing 14
LogFileName reusing across folders 182
setting for repository configuration 110 sharing 14
logs viewing 334
deleting 439 metadata exchange
Repository Agent 100 See MX (Metadata Exchange)
Repository Server 98 metadata extensions
copying 246
creating 328
M deleting 332
description 326
main window editing 331
Administration Console 53 non-reusable 327
sorting and organizing 25 overview 326
mapping segments reusable 327
copying 310 Microsoft Management Console
mappings See MMC
See also Designer Guide Microsoft SQL Server
conflicts 307 connect string syntax 405
copying mapping variables 307 MMC
copying segments 310 Administration Console 52
dependencies 27 Modifyfolder
description 9 description 456
metadata extensions in 326 MQ connections
view of source fields 359 See PowerCenter Connect for IBM MQSeries User and
view of source fields used by targets 358 Administrator Guide
view of sources 359

Index 527
MX (Metadata Exchange) REP_SERVER_INFO 396
Change Management views 398 REP_SERVER_NET 397
database definition views 338 REP_SERVER_NET_REF 397
deployment views 392, 396 REP_SESS_CONFIG_PARM 385
folder view 401 REP_SESS_LOG 387
integrating views with third-party software 337 REP_SESS_PARTITION_DEP 385
label views 398 REP_SESS_TBL_LOG 388
mapping views 353 REP_SESS_WIDGET_CNXS 383
mapplet views 353 REP_SESSION_CNXS 381
metadata extension views 364 REP_SESSION_FILES 382
overview 334 REP_SESSION_INSTANCE_FILES 383
PowerCenter Server views 396 REP_SESSION_INSTANCES 381
repository view 395 REP_SRC_FILE_FLDS 345
security views 390 REP_SRC_FILES 343
source views 339 REP_SRC_FLD_MAP 359
target views 347 REP_SRC_MAPPING 359
task views 371 REP_SRC_TBL_FLDS 346
transformation views 366 REP_SRC_TBLS 344
workflow views 371 REP_SUBJECT 401
worklet views 371 REP_TARG_FLD_MAP 357
MX views REP_TARG_MAPPING 356
categories 334 REP_TARG_TBL_COLS 351
creating 336 REP_TARG_TBL_JOINS 361
dropping 336 REP_TARG_TBLS 350
field-level summary 338 REP_TASK_ATTR 386
integrating with third-party software 337 REP_TASK_INST 377
REP_ALL_MAPPINGS 354 REP_TASK_INST_RUN 378
REP_ALL_MAPPLETS 355 REP_TBL_MAPPING 360
REP_ALL_SCHEDULERS 374 REP_USER_GROUPS 391
REP_ALL_SOURCE_FLDS 341 REP_USERS 390
REP_ALL_SOURCES 339 REP_VERSION_PROPS 398
REP_ALL_TARGET_FIELDS 349 REP_WFLOW_RUN 379
REP_ALL_TARGETS 347 REP_WFLOW_VAR 375
REP_ALL_TASKS 374 REP_WIDGET_ATTR 369
REP_ALL_TRANSFORMS 366 REP_WIDGET_DEP 368
REP_CM_LABEL 399 REP_WIDGET_FIELD 369
REP_CM_LABEL_REF 399 REP_WIDGET_INST 368
REP_COMPONENT 384 REP_WORKFLOW_DEP 377
REP_DATABASE_DEFS 338 REP_WORKFLOWS 372
REP_DEPLOY_GROUP 392 SQL scripts 336
REP_DEPLOY_GROUP_DETAIL 393
REP_EVENT 376
REP_FLD_MAPPING 358 N
REP_GROUPS 391
REP_LOAD_SESSIONS 380 naming
REP_MAPPING_PORT_CONN 363 copied folders 249
REP_MAPPING_UNCONN_PORTS 362 replaced folders 249
REP_METADATA_EXTN_DEFINES 365 native connect string
REP_METADATA_EXTNS 364 See connect string
REP_REPOSIT_INFO 395 Navigator
REP_SEG_FLDS 345 Administration Console 52

528 Index
Repository Manager 23 Owner’s Group security level
notifications description (folder) 148
receiving in Designer 6
receiving in Repository Manager 6

notify
sending 74 P
description 431 parent objects
exporting and importing 271
password
O editing user 136
permissions
object dependencies Administration Console tasks 50
viewing from the Copy Wizard 305 configuring for folders 148
object locks configuring for versioning objects 149
See also locks Designer tasks 510
overview 155 editing folder 149
object queries exporting objects 266
associating with a deployment group 240 folder types 168
configuring multiple conditions 225 importing objects 266
configuring query conditions 225 pmcmd 515
definition 218 pmrep tasks 519
running 232 pmrepagent tasks 520
searching for dependent objects 225 Repository Manager tasks 516
validating 231 security levels (folder) 169
object status troubleshooting 163
changing 206 Workflow Manager tasks 511
description 206 Workflow Monitor tasks 513
ObjectExport persistent input file
description 432 creating with pmrep 494
ObjectImport persistent resources
description 433 cleaning up with pmrep 411
objects plug-ins
checking in 464 See also repository plug-ins
copying 302 XML templates 484
exporting 276, 432 pmcmd
importing 280, 433 permissions 515
modifying in XML file 277 See also Workflow Administration Guide
validating for import 281 pmrep
validating multiple 42 adding a privilege 450
viewing dependencies 37 adding a user to a group 450
ODBC data sources adding to a deployment group 461
See also Installation and Configuration Guide applying a label 462
importing 33 backing up a repository 416
option license keys Change Management commands 460
overview 119 changing the connection name 438
Oracle changing the repository password 450
connect string syntax 405 checking in an object 464
Output window cleaning persistent resources 411
Repository Manager 28 clearing deployment group 465
Owner security level command arguments 407
description (folder) 148 command line modes 406

Index 529
command options 407 updating email addresses 442
command tips 492 updating notification email addresses 442
commands 410 updating repository statistics 447
connecting to a repository 410 updating sequence values 444
creating a deployment group 465 updating server details 443
creating a group 452 updating server variables 446
creating a label 466 updating table owner name 445
creating a persistent input file 494 updating target table name prefix 447
creating a user 452 using script files 507
deleting a deployment group 466 using scripts 491
deleting a folder 453 validating objects 474
deleting a label 467 pmrepagent
deleting a server 421 backing up repositories 477
deploying a deployment group 467 command tips 492
deploying a folder 469 commands 477
deployment control parameters 505 creating repositories 480
disabling a repository 421 deleting repositories 481
editing a user 454 permissions 520
enabling a repository 422 registering a plug-in 482
executing a query 470 restoring repositories 485
exiting 411 restoring Teradata repositories 479
exporting objects 432 unregistering plug-ins 487
importing objects 433 upgrading repositories 490
interactive mode 406 using script files 507
listing all groups 455 using scripts 491
listing all privileges 455 post-session email
listing all users 455 updating addresses with pmrep 442
listing checked-out objects 472 PowerCenter
listing object dependencies 429 building domains 13
listing objects 423 copy from local to global repositories 250
listings tables by session 428 security, overview 126
modifying folder properties 456 shared folders 170
object import control parameters 498 PowerCenter Client
overview 404 security 126
permissions 519 PowerCenter Metadata Reporter
registering a user 457 using 335
registering local repositories 434 PowerCenter Server
removing a group 457 See also Workflow Administration Guide
removing a privilege 458 during folder copy 245
removing a user 458 licenses 122
removing a user from a group 459 security 126
removing repositories 435 server variables 245
repository commands 412 starting 193
running script files 436 PowerCenter Server license files
security commands 449 overview 122
sending notification messages 431 powrmart.dtd
showing connection information 437 overview 267
stopping a repository 437 privileges
undoing check-out 473 See also permissions
unregistering local repositories 440 See also repository privileges
updating a database connection 441 Administration Console tasks 50

530 Index
Designer tasks 510 reports
exporting objects 266 metadata 335
importing objects 266 repositories
limiting 160 adding 29
removing 458 adding metadata 9
Repository Manager tasks 516 administration overview 11
repository, overview 142 architecture 3
troubleshooting 163 avoiding shared accounts 160
Workflow Manager tasks 511 backing up 66
product license keys backing up with pmrepagent 477
overview 119 changing a code page 117
promoting checking status 54
repositories 117 code pages 51, 75, 117, 192
purging connecting to 30
description 216 connecting to multiple 31
objects 216 connecting with pmrep 410
connectivity 4
copying 62
Q copying folders between local 250
creating 116
queries creating relational connections 417
See also object queries creating users 134
executing 470 database definition views 338
default privileges 143
deleting 64
R disabling 73, 421
enabling 71
recovering enabling version control 118
deleted objects 215 exporting/importing registries 32
register licenses 120
description 434 limiting access 161
registering locks 154
a user 457 log file codes 97
plug-in using pmrepagent 482 log files 97
security module using pmrepagent 484 managing 52
Registerplugin moving to a different Repository Server 77
description 482 object locking, overview 155
Registeruser overview 2, 50
description 457 promoting 117
registry propagating domain information 78
exporting 32 referencing objects with shortcuts 183
importing 32 registering 434
releasing registering local repositories 75
repository locks 83, 158 removing 29, 435
removerepsitory requirements 116
description 435 restoring 67
removing restricted characters for repository name 106
repositories 29 security 126, 160
users 141 security log file 153
replacing security, troubleshooting 163
folders 248, 250 starting 71

Index 531
stopping 71 setting ThreadWaitTimeout 110
stopping with pmrep 437 repository connections
types of 50 terminating 83, 152
unregistering 440 viewing 79, 151
version control 16 repository license files
view of associated target tables 350 overview 120
view of target table properties 351 repository license key
viewing details 26 overview 120
viewing locks 157 repository locks
viewing metadata 334 overview 154
repository releasing 158
deleting details from 439 types of 154
enabling 422 viewing 157
Repository Agent Repository Manager
architecture 3 components 22
checking status 54 dependency window 27
connectivity 4 folder maintenance overview 166
disabling 73 folders 23
enabling 71 main window 25
identifying process ID 97 Navigator 23
log file codes 97 Output window 28
logging 100 overview 20
starting 71 permissions 516
stopping 71 repository details 26
repository configuration sessions node details 26
CheckinCommentsRequired 110 windows 23
creating 104 repository notifications
dynamically updating 113 overview 6
editing 113 receiving in PowerCenter Server 7
exporting 115 receiving in Workflow Manager 7
importing 115 receiving in Workflow Monitor 7
removing 114 sending 74
setting CodePage 107 repository objects
setting ConnectString 107 description 10
setting DatabaseArrayOperationSize 110 metadata extensions in 326
setting DatabaseConnectionTimeout 110 repository plug-ins
setting DatabasePoolSize 110 registering 85
setting DatabaseType 107 removing 85
setting DateDisplayFormat 109 updating 86
setting DBPassword 107 repository privileges
setting DBUser 107 See also permissions
setting DynamicConfigRefreshInterval 110 assigning 146
setting Error Severity Level 109 description 126
setting KeepAliveTimeout 110 overview 142
setting LogFileName 110 revoking 146, 147
setting MaximumConnections 109 repository security level
setting MaximumLocks 110 description (folder) 148
setting MessageReceiveTimeOut 108 Repository Server
setting MessageSendTimeOut 108 Administration Console 50
setting SecurityAuditTrail 110 architecture 3
setting TablespaceName 107 client connections 3

532 Index
configuring system environment 5 search
connecting 58 See also Designer Guide
connectivity 4 keyword 34
identifying process ID 97 security
log file codes 97 creating an audit trail 153
logging 98 overview 126
managing individual repositories 52 pmrep commands 449
moving repositories 77 repository users 131
notifications 6 tips 160
Propagate command 78 troubleshooting 163
repository type security module
license keys 119 restoring repositories with 67
repository users SecurityAuditTrail
creating 134 logging activities 153
creating global shortcuts 193 setting for repository configuration 110
creating with default security 134 server variables
default privileges 143 during folder copy 245
default repository privileges 143 updating with pmrep 446
description 126 Servers
editing 138 adding 413
editing password 136 session directories
overview 131 See server variables 245
resolving object conflicts session logs
importing objects 281 truncating 48
Restore command Session Operator privilege
description 485 limiting 162
restoring sessions
repositories 67 copying 306
repositories using pmrepagent Bulkrestore 479 copying mapping variables 307
repositories using pmrepagent Restore 485 database connection conflicts 307
reusable transformations description 10
description 9 exporting 272
Rmgroup importing 272
description 457 metadata extensions in 326
Rmprivilege view of current logs 387
description 458 view of current scheduled 380
Rmuser view of individual session 388
description 458 sessions nodes details
Rmuserfromgroup viewing 26
description 459 shared accounts
Run avoiding 160
description 436 shared folders
See also folders
description 15
S shortcuts
See also Designer Guide
script files advantages 183
running 436 behavior when copying folders 249, 250
scripts copying 195
using 491 default names 184
dependencies 27

Index 533
description 9 stopRepository command
descriptions inherited 184 pmrep 437
exporting 270 Super User privilege
global 182, 190, 192 limiting 161
importing 274 SwitchConnection
local 182, 187 description 438
overview 182
properties 184
referenced objects 183, 185
refreshing properties 194
T
renaming source qualifiers 196 table owner name
tips 197 updating with pmrep 445
to folders 249 TablespaceName
troubleshooting 198 setting for repository configuration 107
updating 194 target definitions
updating views 194 description 9
using 194 keyword searches 34
using queries to locate 230 metadata extensions in 326
Showconnectioninfo view of associated transformations 357
description 437 view of joins between target tables 361
source databases view of table-level transformations 356
view of analyzed or imported sources 344 targets
view of fields 346 exporting to BI tools 314
source definitions importing from BI tools 314
description 9 tasks
metadata extensions in 326 metadata extensions in 326
source file connections node Teradata
viewing details 26 connect string example 405
sources restoring repositories using pmrepagent 479
exporting to BI tools 314 ThreadWaitTimeout
importing from BI tools 314 setting for repository configuration 110
source-target dependencies tips
description 27 pmrep commands 492
SQL scripts pmrepagent commands 492
for creating/dropping MX views 336 repository security 160
starting shortcuts 197
Administration Console 52 transformations
repositories 71 description 9
static deployment groups metadata extensions in 326
definition 236 troubleshooting
editing 239 exporting objects 296
statistics importing objects 296
updating repository 447 repository security 163
status shortcuts 198
user statuses with LDAP 131 Truncatelog
status bar description 439
progress indicator 22 typical mode
stopping copying folders 244
repositories 71
repositories with pmrep 437

534 Index
U users
adding to repositories 134
UndoCheckout adding under an external directory 137
description 473 authentication 131
unregister customizing privileges 161
description 440 default users 131
unregistering editing 138
plug-ins using pmrepagent 487 enabling 139
security module using pmrepagent 489 LDAP authentication 131
Unregisterplugin removing 141
description 487 valid statuses with LDAP 131
UpdateConnection
description 441
Updateemailaddr V
description 442
Updateseqgenvals validating
description 444 objects 42
Updateserver validating objects
description 443 with pmrep Validate 474
Updatesrcprefix variables
description 445 copying mapping variables 307
updating non-reusable sessions 446 updating with pmrep 446
Updatesrvvar version control
description 446 enabling for repositories 118
Updatestatistics version history
description 447 viewing 208
Updatetargetprefix versioned objects
description 447 checking in 211
updating non-reusable sessions 448 checking out 211
updating deleting 215
repository license files 111 exporting 273
shortcuts 194 object status 205
Upgrade overview 200
description 490 purging 216
upgrading recovering a deleted object 215
repositories using pmrepagent 490 sample scenario 201
user connections tracking changes 208
description 126 viewing applied labels 205
terminating 83, 152 viewing history 208
viewing 79, 151 viewing object properties 203
user groups viewing properties 203
creating 128 viewing version properties 204
default repository privileges 143 versioning object permissions
defaults 127 description 126
deleting 129 versioning objects
description 126 configuring permissions 149
editing 129 definition 218
folder permissions 128 deployment groups 236
limiting privileges 160 labels 219
overview 127 object queries 224

Index 535
versions validating for object import 280
purging 216 validating objects 281
tracking changes 208
viewing object version history 208
viewing properties 203
viewing
repository locks 80
user connections 79

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