392
Informatica PowerCenter (参照項目 9.5.1) 詳細ワークフローガイド

Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

  • Upload
    others

  • View
    42

  • Download
    1

Embed Size (px)

Citation preview

Page 1: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

Informatica PowerCenter (参照項目 9.5.1)

詳細ワークフローガイド

Page 2: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

Informatica PowerCenter 詳細ワークフローガイド

参照項目 9.5.112月 2012

著作権 1998-2012 Informatica. すべての権利を保留する.

本ソフトウェアおよびマニュアルには、Informatica Corporationの所有権下にある情報が収められています。これらは使用および開示の制限等を定めた使用許諾契約のもとに提供され、著作権法により保護されています。本ソフトウェアのリバースエンジニアリングは禁じられています。本マニュアルのいかなる部分も、いかなる手段(電子的複写、写真複写、録音など)によっても、Informatica Corporation の事前の承諾なしに複製または転載することは禁じられています。このソフトウェアは、米国および/または国際的な特許、およびその他の出願中の特許によって保護されています。

合衆国政府によるソフトウェアの使用、複製または開示は、DFARS 227.7202-1(a)および227.7702-3(a)(1995年)、DFARS252.227-7013(C)(1)(ii)(1988年10月)、FAR 12.212(a)(1995年)、FAR 52.227-19、またはFAR 52.227-14(ALT III)に記載されているとおりに、当該ソフトウェア使用許諾契約に定められた制限によって規制されます。

本製品または本書の情報は、予告なしに変更されることがあります。お客様が本製品または本書内に問題を発見された場合は、書面にて当社までお知らせください。

Informatica、Informatica Platform、Informatica Data Services、PowerCenter、PowerCenterRT、PowerCenter Connect、PowerCenterData Analyzer、PowerExchange、PowerMart、Metadata Manager、Informatica Data Quality、Informatica Data Explorer、InformaticaB2B Data Transformation、Informatica B2B Data Exchange、Informatica On Demand、Informatica Identity Resolution、InformaticaApplication Information Lifecycle Management、Informatica Complex Event Processing、Ultra Messaging、およびInformatica MasterData Managementは、Informatica Corporationの米国および世界中の管轄地での商標または登録商標です。その他のすべての企業名および製品名は、それぞれの企業の商標または登録商標です。

本ソフトウェアまたはドキュメントの一部は、次のサードパーティが有する著作権に従います(ただし、これらに限定されません)。Copyright DataDirect Technologies.コンテンツの無断複写・転載を禁じます。Copyright (c) Sun Microsystems.コンテンツの無断複写・転載を禁じます。Copyright (c) RSA Security Inc. All Rights Reserved.Copyright (c) Ordinal Technology Corp. All rightsreserved. Copyright (c) Aandacht c.v. All rights reserved. Copyright Genivia, Inc. All rights reserved. Copyright IsomorphicSoftware. コンテンツの無断複写・転載を禁じます。Copyright (c) Meta Integration Technology, Inc. All rights reserved. Copyright(c) Intalio. コンテンツの無断複写・転載を禁じます。Copyright (c) Oracle. コンテンツの無断複写・転載を禁じます。Copyright (c)Adobe Systems Incorporated. コンテンツの無断複写・転載を禁じます。Copyright (c) DataArt, Inc. All rights reserved. Copyright(c) ComponentSource. コンテンツの無断複写・転載を禁じます。Copyright (c) Microsoft Corporation. コンテンツの無断複写・転載を禁じます。Copyright (C) Rogue Wave Software, Inc. All rights reserved. Copyright (c) Teradata Corporation. コンテンツの無断複写・転載を禁じます。Copyright (c) Yahoo! Inc. All rights reserved. Copyright (c) Glyph & Cog, LLC. コンテンツの無断複写・転載を禁じます。Copyright (C) Thinkmap, Inc. All rights reserved. Copyright (C) Clearpace Software Limited. コンテンツの無断複写・転載を禁じます。Copyright (C) Information Builders, Inc. All rights reserved. Copyright (C) OSS Nokalva, Inc. All rightsreserved. Copyright Edifecs, Inc. All rights reserved. Copyright Cleo Communications, Inc. All rights reserved.Copyright (c)International Organization for Standardization 1986. コンテンツの無断複写・転載を禁じます。Copyright (C) ej-technologies GmbH.コンテンツの無断複写・転載を禁じます。Copyright (c) Jaspersoft Corporation. コンテンツの無断複写・転載を禁じます。Copyright(C) is International Business Machines Corporation. コンテンツの無断複写・転載を禁じます。Copyright (C) yWorks GmbH. コンテンツの無断複写・転載を禁じます。Copyright (C) Lucent Technologies.コンテンツの無断複写・転載を禁じます。Copyright (c) Universityof Toronto. コンテンツの無断複写・転載を禁じます。Copyright (C) Daniel Veillard. コンテンツの無断複写・転載を禁じます。Copyright (C) Unicode, Inc. Copyright IBM Corp. All rights reserved. Copyright (C) MicroQuill Software Publishing, Inc. Allrights reserved. Copyright (C) PassMark Software Pty Ltd. All rights reserved. Copyright (C) LogiXML, Inc. All rightsreserved. Copyright (C) 2003-2010 Lorenzi Davide, All rights reserved. Copyright (C) Red Hat, Inc. All rights reserved.Copyright (c) The Board of Trustees of the Leland Stanford Junior University. コンテンツの無断複写・転載を禁じます。Copyright(C) EMC Corporation. コンテンツの無断複写・転載を禁じます。Copyright (C) Flexera Software. コンテンツの無断複写・転載を禁じます。

本製品には、Apache Software Foundation(http://www.apache.org/)によって開発されたソフトウェア、およびApache License, Version2.0(「ライセンス」)の下に許諾されたその他のソフトウェアが含まれています。ライセンスのコピーはhttp://www.apache.org/licenses/LICENSE-2.0から入手することができます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェアは「現状のまま」で配布され、明示的あるいは黙示的かを問わず、いかなる種類の保証も行われません。ライセンス下での許諾および制限を定める具体的文言については、ライセンスを参照してください。

本製品には、Mozilla(http://www.mozilla.org/)によって開発されたソフトウェア、ソフトウェアcopyright The JBoss Group, LLC, allrights reserved、ソフトウェアcopyright, Red Hat Middleware, LLC, all rights reserved、Copyright (c) 1999-2006 by Bruno Lowagieand Paulo SoaresおよびGNU Lesser General Public License Agreement(http://www.gnu.org/licenses/lgpl.htmlを参照)に基づいて許諾されたその他のソフトウェアが含まれています。資料は、Informaticaが無料で提供しており、一切の保証を伴わない「現状渡し」で提供されるものとし、Informatica Corporationは市場性および特定の目的の適合性の黙示の保証などを含めて、一切の明示的及び黙示的保証の責任を負いません。

製品には、ワシントン大学、カリフォルニア大学アーバイン校、およびバンダービルト大学のDouglas C.Schmidtおよび同氏のリサーチグループが著作権を持つACE(TM)およびTAO(TM)ソフトウェアが含まれています。Copyright (c) 1993-2006, all rights reserved.

本製品には、OpenSSL Toolkitを使用するためにOpenSSL Projectが開発したソフトウェア(copyright The OpenSSL Project.All RightsReserved)が含まれています。また、このソフトウェアの再配布は、http://www.openssl.orgおよびhttp://www.openssl.org/source/license.htmlにある使用条件に従います。

本ソフトウェアには、CurlソフトウェアCopyright 1996-2007, Daniel Stenberg, <[email protected]>が含まれます。コンテンツの無断複写・転載を禁じます。本ソフトウェアに関する許諾および制限は、http://curl.haxx.se/docs/copyright.htmlにある使用条件に従います。すべてのコピーに上記の著作権情報とこの許諾情報が記載されている場合、目的に応じて、本ソフトウェアの使用、コピー、変更、ならびに配布が有償または無償で許可されます。

本製品には、ソフトウェアcopyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.が含まれます。本ソフトウェアに関する許諾および制限は、http://www.dom4j.org/license.htmlにある使用条件に従います。

製品には、ソフトウェアcopyright (C) 2004-2007, The Dojo Foundationが含まれます。コンテンツの無断複写・転載を禁じます。本ソフトウェアに関する許諾および制限は、http://dojotoolkit.org/licenseにある使用条件に従います。

Page 3: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

本製品には、ICUソフトウェアcopyright International Business Machines Corporationおよび他のソフトウェアが含まれます。コンテンツの無断複写・転載を禁じます。本ソフトウェアに関する許諾および制限は、http://source.icu-project.org/repos/icu/icu/trunk/license.htmlにある使用条件に従います。

本製品には、ソフトウェアcopyright (c) 1996-2006 Per Bothnerが含まれます。コンテンツの無断複写・転載を禁じます。お客様がこのようなソフトウェアを使用するための権利は、ライセンスで規定されています。http://www.gnu.org/software/kawa/Software-License.htmlを参照してください。

本製品には、OSSP UUIDソフトウェアCopyright (C) 2002 Ralf S. Engelschall, Copyright (C) 2002 The OSSP Project Copyright (C)2002 Cable & Wireless Deutschlandが含まれます。本ソフトウェアに関する許諾および制限は、http://www.opensource.org/licenses/mit-license.phpにある使用条件に従います。

本製品には、Boost(http://www.boost.org/)によって開発されたソフトウェアまたはBoostソフトウェアライセンスの下で開発されたソフトウェアが含まれています。本ソフトウェアに関する許諾および制限は、http://www.boost.org/LICENSE_1_0.txtにある使用条件に従います。

本製品には、ソフトウェアcopyright (c) 1997-2007 University of Cambridgeが含まれます。本ソフトウェアに関する許諾および制限は、http://www.pcre.org/license.txtにある使用条件に従います。

本製品には、ソフトウェアcopyright (C) 2007 The Eclipse Foundationが含まれます。コンテンツの無断複写・転載を禁じます。本ソフトウェアに関する許諾および制限は、http://www.eclipse.org/org/documents/epl-v10.phpにある使用条件に従います。

本製品には、http://www.tcl.tk/software/tcltk/license.html、http://www.bosrup.com/web/overlib/?License、http://www.stlport.org/doc/license.html、http://www.asm.ow2.org/license.html、http://www.cryptix.org/LICENSE.TXT、http://hsqldb.org/web/hsqlLicense.html、http://httpunit.sourceforge.net/doc/license.html、http://jung.sourceforge.net/license.txt、http://www.gzip.org/zlib/zlib_license.html、http://www.openldap.org/software/release/license.html、http://www.libssh2.org、http://slf4j.org/license.html、http://www.sente.ch/software/OpenSourceLicense.html、http://fusesource.com/downloads/license-agreements/fuse-message-broker-v-5-3-license-agreement、http://antlr.org/license.html、http://aopalliance.sourceforge.net/、http://www.bouncycastle.org/licence.html、http://www.jgraph.com/jgraphdownload.html、http://www.jcraft.com/jsch/LICENSE.txt、http://jotm.objectweb.org/bsd_license.html、http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231、http://www.slf4j.org/license.html、http://developer.apple.com/library/mac/#samplecode/HelpHook/Listings/HelpHook_java.html、http://nanoxml.sourceforge.net/orig/copyright.html、http://www.json.org/license.html、http://forge.ow2.org/projects/javaservice/、http://www.postgresql.org/about/licence.html、http://www.sqlite.org/copyright.html、http://www.tcl.tk/software/tcltk/license.html、http://www.jaxen.org/faq.html, http://www.jdom.org/docs/faq.html、http://www.slf4j.org/license.html、http://www.iodbc.org/dataspace/iodbc/wiki/iODBC/License、http://www.keplerproject.org/md5/license.html、http://www.toedter.com/en/jcalendar/license.html、http://www.edankert.com/bounce/index.html、http://www.net-snmp.org/about/license.html、http://www.openmdx.org/#FAQ、http://www.php.net/license/3_01.txt、http://srp.stanford.edu/license.txt、http://www.schneier.com/blowfish.html、http://www.jmock.org/license.html、http://xsom.java.net、http://benalman.com/about/license/に基づいて許諾されたソフトウェアが含まれています。

本製品には、Academic Free License(http://www.opensource.org/licenses/afl-3.0.php)、Common Development and DistributionLicense(http://www.opensource.org/licenses/cddl1.php)、Common Public License(http://www.opensource.org/licenses/cpl1.0.php)、Sun Binary Code License Agreement Supplemental License Terms、BSD License(http://www.opensource.org/licenses/bsd-license.php)、MIT License(http://www.opensource.org/licenses/mit-license.php)、およびArtistic License(http://www.opensource.org/licenses/artistic-license-1.0)に基づいて許諾されたソフトウェアが含まれています。

本製品には、ソフトウェアcopyright (c) 2003-2006 Joe WaInes, 2006-2007 XStream Committersが含まれています。コンテンツの無断複写・転載を禁じます。本ソフトウェアに関する許諾および制限は、http://j.org/license.htmlにある使用条件に従います。本製品には、Indiana University Extreme! Labによって開発されたソフトウェアが含まれています。詳細については、http://www.extreme.indiana.edu/を参照してください。

本ソフトウェアは、米国の特許番号5,794,246、6,014,670、6,016,501、6,029,178、6,032,158、6,035,307、6,044,374、6,092,086、6,208,990、6,339,775、6,640,226、6,789,096、6,820,077、6,823,373、6,850,947、6,895,471、7,117,215、7,162,643、7,243,110、7,254,590、7,281,001、7,421,458、7,496,588、7,523,121、7,584,422、7,676,516、7,720,842、7,721,270、および7,774,791、および国際的な特許、ならびにその他の出願中の特許によって保護されています。

免責: 本文書は、一切の保証を伴わない「現状渡し」で提供されるものとし、Informatica Corporationは他社の権利の非侵害、市場性および特定の目的への適合性の黙示の保証などを含めて、一切の明示的および黙示的保証の責任を負いません。Informatica Corporationでは、本ソフトウェアまたはドキュメントに誤りのないことを保証していません。本ソフトウェアまたはドキュメントに記載されている情報には、技術的に不正確な記述や誤植が含まれる場合があります。本ソフトウェアまたはドキュメントの情報は、予告なしに変更されることがあります。

特記事項

このInformatica製品(以下「ソフトウェア」)には、Progress Software Corporation(以下「DataDirect」)の事業子会社であるDataDirect Technologiesからの特定のドライバ(以下「DataDirectドライバ」)が含まれています。DataDirectドライバには、次の用語および条件が適用されます。

1.DataDirectドライバは、特定物として現存するままの状態で提供され、商品性の保証、特定目的適合性の保証および法律上の瑕疵担保

責任を含むすべての明示もしくは黙示の保証責任を負わないものとします。国または地域によっては、法律の強行規定により、保証責任

の制限が禁じられる場合、強行規定の制限を受けるものとします。

2.DataDirectまたは第三者は、予見の有無を問わず発生したODBCドライバの使用に関するいかなる直接的、間接的、偶発的、特別、ある

いは結果的損害に対して責任を負わないものとします。本制限事項は、すべての訴訟原因に適用されます。訴訟原因には、契約違反、保

証違反、過失、厳格責任、詐称、その他の不法行為を含みますが、これらに限るものではありません。

Part Number: PC-AWG-95100-0001

Page 4: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

目次

序文............................................. xiv

Informaticaのリソース. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiv

Informaticaカスタマポータル. . . . . . . . . . . . . . . . . . . . . . . . . . . . xiv

Informaticaのマニュアル. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiv

InformaticaのWebサイト. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiv

Informatica How-To Library. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xv

Informatica Knowledge Base. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xv

Informatica Multimedia Knowledge Base. . . . . . . . . . . . . . . . . . . . . xv

Informaticaグローバルカスタマサポート. . . . . . . . . . . . . . . . . . . . . . xv

第 1 章 : パイプラインのパーティション化について.................................................. 1

パイプラインのパーティション化の概要について. . . . . . . . . . . . . . . . . . . . . 1

パーティション化属性. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

パーティションポイント. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

パーティションの数. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

パーティションタイプ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

動的パーティション. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

動的パーティションの設定. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

動的パーティションに関するルールおよびガイドライン. . . . . . . . . . . . . 7

パーティションタイプでの動的パーティションの使用. . . . . . . . . . . . . . . 8

パーティションレベルの属性の設定. . . . . . . . . . . . . . . . . . . . . . . . . . 8

キャッシュのパーティション化. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

パーティション化したパイプラインにおけるマッピング変数. . . . . . . . . . . . . 9

パーティション化のルール. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

オブジェクトを編集する場合のパーティションの制限. . . . . . . . . . . . . . 10

PowerExchangeに対するパーティション化の制限. . . . . . . . . . . . . . . . . 11

パーティション化の設定. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

パイプラインへのパーティションポイントの追加. . . . . . . . . . . . . . . . . 12

パーティションポイントの設定. . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

[パーティションポイント]ノード. . . . . . . . . . . . . . . . . . . . . . . . . . 14

[パーティションポイント以外]ノード. . . . . . . . . . . . . . . . . . . . . . . 15

第 2 章 : パーティションポイント.................. 16

パーティションポイントの概要. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

パーティションポイントの追加および削除. . . . . . . . . . . . . . . . . . . . . . . . 17

目次 i

Page 5: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

パーティションポイントの追加と削除に関するルールおよびガイドライ

ン. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

リレーショナルソースのパーティション化. . . . . . . . . . . . . . . . . . . . . . . . 20

SQLクエリの入力. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

フィルタ条件の入力. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

ファイルソースのパーティション化. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

ファイルソースのパーティション化の規則およびガイドライン. . . . . . . . 22

ファイルソースの読み込むための1つのスレッドの使用. . . . . . . . . . . . . 23

ファイルソースの読み込むための複数のスレッドの使用. . . . . . . . . . . . . 23

ファイルのパーティション化の設定. . . . . . . . . . . . . . . . . . . . . . . . . . 24

リレーショナルターゲットのパーティション化. . . . . . . . . . . . . . . . . . . . . 28

データベースの互換性. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

ファイルターゲットのパーティション化. . . . . . . . . . . . . . . . . . . . . . . . . . 29

接続設定の設定. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

ファイルプロパティの設定. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

カスタムトランスフォーメーションのパーティション化. . . . . . . . . . . . . . . . 33

複数のパーティションに関する作業. . . . . . . . . . . . . . . . . . . . . . . . . . 34

パーティションポイントの作成. . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

スレッドに関する作業. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

ジョイナトランスフォーメーションのパーティション化. . . . . . . . . . . . . . . . 36

ソート済みジョイナトランスフォーメーションのパーティション化. . . . . 36

ソート済みフラットファイルの使用. . . . . . . . . . . . . . . . . . . . . . . . . . 37

ソート済みリレーショナルデータの使用. . . . . . . . . . . . . . . . . . . . . . . 39

ソータトランスフォーメーションの使用. . . . . . . . . . . . . . . . . . . . . . . 39

パーティションを使用したソート済みジョイナトランスフォーメーショ

ンの 適化. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

ルックアップトランスフォーメーションのパーティション化. . . . . . . . . . . . . 41

ルックアップトランスフォーメーションのキャッシュのパーティション

化. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

パイプラインルックアップトランスフォーメーションのキャッシュのパ

ーティション化. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

シーケンスジェネレータトランスフォーメーションのパーティション化. . . . . 43

ソータトランスフォーメーションのパーティション化. . . . . . . . . . . . . . . . . 43

ソータトランスフォーメーションの作業用ディレクトリ設定. . . . . . . . . . 44

XMLジェネレータトランスフォーメーションのパーティション化. . . . . . . . . . 44

トランスフォーメーションに関する制限. . . . . . . . . . . . . . . . . . . . . . . . . . 45

数値関数に関する制限. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

第 3 章 : パーティションタイプ.................... 46

パーティションタイプの概要. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

パイプラインでのパーティションタイプの設定. . . . . . . . . . . . . . . . . . 47

ii 目次

Page 6: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

パーティションタイプの設定. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

データベースパーティション化のパーティションタイプ. . . . . . . . . . . . . . . . 51

データベースソースのパーティション化. . . . . . . . . . . . . . . . . . . . . . . 52

ターゲットデータベースのパーティション化. . . . . . . . . . . . . . . . . . . . 54

ハッシュ自動キーのパーティションタイプ. . . . . . . . . . . . . . . . . . . . . . . . 55

ハッシュユーザーキーパーティションタイプ. . . . . . . . . . . . . . . . . . . . . . . 56

キー範囲パーティションタイプ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

パーティションキーの追加. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

キー範囲の追加. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

パススルーパーティションタイプ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

ラウンドロビンパーティションタイプ. . . . . . . . . . . . . . . . . . . . . . . . . . . 61

第 4 章 : プッシュダウンの 適化.................. 63

プッシュダウンの 適化の概要. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

プッシュダウンの 適化のタイプ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

ソース側でのプッシュダウンの 適化セッションの実行. . . . . . . . . . . . . 64

ターゲット側でのプッシュダウンの 適化セッションの実行. . . . . . . . . . 65

完全なプッシュダウンの 適化セッションの実行 . . . . . . . . . . . . . . . . 65

動作可能なデータベースとアイドル状態のデータベース. . . . . . . . . . . . . . . . 66

データベースに関する作業. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

Integration Serviceおよびデータベースの出力の比較. . . . . . . . . . . . . 67

ODBCドライバの使用. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

Netezzaに関するルールおよびガイドライン. . . . . . . . . . . . . . . . . . . . 70

プッシュダウン互換性. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

データベース接続に互換性がないユーザー. . . . . . . . . . . . . . . . . . . . . 71

アイドル状態のデータベース内のテーブル名の修飾. . . . . . . . . . . . . . . 72

日付に関する作業. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

式に関する作業. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

演算子. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

変数. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

関数. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

プッシュダウンの 適化の関数に関するルールおよびガイドライン. . . . . 80

エラー処理、ロギング、およびリカバリ. . . . . . . . . . . . . . . . . . . . . . . . . . 81

エラー処理. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81

ロギング. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81

リカバリ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81

緩やかに変化する次元に関する作業. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82

シーケンスおよびビューに関する作業. . . . . . . . . . . . . . . . . . . . . . . . . . . 82

シーケンス. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83

ビュー. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84

目次 iii

Page 7: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

孤立シーケンスおよびビューのトラブルシューティング. . . . . . . . . . . . . 85

$$PushdownConfigマッピングパラメータの使用. . . . . . . . . . . . . . . . . . . . . 87

プッシュダウンの 適化のためのセッションの設定. . . . . . . . . . . . . . . . . . 89

プッシュダウンオプション. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89

パーティション化. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90

ターゲットロードルール. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92

プッシュダウングループの表示. . . . . . . . . . . . . . . . . . . . . . . . . . . . 93

第 5 章 : プッシュダウンの 適化トランスフォーメーション.......................................... 96

プッシュダウンの 適化およびトランスフォーメーションの概要. . . . . . . . . . 96

プッシュダウンの 適化とトランスフォーメーションに関するルールお

よびガイドライン. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97

アグリゲータトランスフォーメーション. . . . . . . . . . . . . . . . . . . . . . . . . . 98

式トランスフォーメーション. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99

フィルタトランスフォーメーション. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99

ジョイナトランスフォーメーション. . . . . . . . . . . . . . . . . . . . . . . . . . . . 100

ルックアップトランスフォーメーション. . . . . . . . . . . . . . . . . . . . . . . . . 101

接続されていないルックアップトランスフォーメーション. . . . . . . . . . 103

SQLオーバライドを使用するLookupトランスフォーメーション. . . . . . . . 103

ルータートランスフォーメーション. . . . . . . . . . . . . . . . . . . . . . . . . . . . 104

シーケンスジェネレータトランスフォーメーション. . . . . . . . . . . . . . . . . . 104

ソータトランスフォーメーション. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106

ソース修飾子トランスフォーメーション. . . . . . . . . . . . . . . . . . . . . . . . . 107

SQLオーバーライドを使用したソース修飾子トランスフォーメーショ

ン. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108

ターゲット. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109

共有体トランスフォーメーション. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110

アップデートストラテジトランスフォーメーション. . . . . . . . . . . . . . . . . . 110

第 6 章 : リアルタイム処理....................... 112

リアルタイム処理の概要. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112

リアルタイムデータについて. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113

メッセージとメッセージキュー. . . . . . . . . . . . . . . . . . . . . . . . . . . . 114

Webサービスメッセージ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114

PowerExchange変更データキャプチャソースからの変更データ. . . . . . . . 115

リアルタイムセッションの設定. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115

終了条件. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116

アイドル時間. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116

メッセージカウント. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116

Reader制限時間. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116

iv 目次

Page 8: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

フラッシュ待ち時間. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117

コミットタイプ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118

メッセージリカバリ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118

前提条件. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119

メッセージのリカバリを有効にする手順. . . . . . . . . . . . . . . . . . . . . . 120

リカバリファイル. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120

メッセージの処理. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120

メッセージリカバリ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121

セッションリカバリデータのフラッシュ. . . . . . . . . . . . . . . . . . . . . . 121

リカバリテーブル. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121

PM_REC_STATEテーブル. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122

メッセージの処理. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122

メッセージリカバリ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122

リカバリキューおよびリカバリトピック. . . . . . . . . . . . . . . . . . . . . . . . . 123

メッセージの処理. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123

メッセージリカバリ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123

リカバリ無視リスト. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124

リアルタイムセッションの停止. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124

リアルタイムセッションのリスタートおよびリカバリ. . . . . . . . . . . . . . . . 125

リアルタイムセッションのリスタート. . . . . . . . . . . . . . . . . . . . . . . 125

リアルタイムセッションのリカバリ. . . . . . . . . . . . . . . . . . . . . . . . . 126

リスタートコマンドおよびリカバリコマンド. . . . . . . . . . . . . . . . . . . 126

リアルタイムセッションに関するルールおよびガイドライン. . . . . . . . . . . . 127

メッセージリカバリに関するルールおよびガイドライン. . . . . . . . . . . . . . . 127

リアルタイム処理の例. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128

Informaticaリアルタイム製品. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130

第 7 章 : コミットポイント....................... 132

コミットポイントの概要. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132

ターゲットベースのコミット. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133

ソースベースのコミット. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133

コミットソースの決定. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134

ソースベースコミットからターゲットベースコミットへの切り替え. . . . . 136

ユーザー定義コミット. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138

トランザクションのロールバック. . . . . . . . . . . . . . . . . . . . . . . . . . 139

トランザクション制御について. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142

トランスフォーメーション範囲. . . . . . . . . . . . . . . . . . . . . . . . . . . . 143

トランザクション制御単位について. . . . . . . . . . . . . . . . . . . . . . . . . 146

トランザクション制御に関する作業のルールおよびガイドライン. . . . . . 146

トランザクション別ターゲットファイルの作成. . . . . . . . . . . . . . . . . . 147

目次 v

Page 9: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

コミットプロパティの設定. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147

第 8 章 : 行エラーのロギング..................... 149

行エラーログの概要. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149

エラーログのコードページ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150

エラーログテーブルについて. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150

PMERR_DATA. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151

PMERR_MSG. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153

PMERR_SESS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155

PMERR_TRANS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156

エラーログファイルについて. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157

エラーログオプションの設定. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160

第 9 章 : ワークフローリカバリ................... 162

ワークフローリカバリの概要. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162

操作の状態. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163

ワークフローの操作の状態 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163

操作のセッション状態. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164

ターゲットリカバリテーブル. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164

リカバリオプション. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167

ワークフローのサスペンド. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168

サスペンド時のメールの設定. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169

ワークフローリカバリの設定. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170

停止、強制終了、および終了されたワークフローのリカバリ. . . . . . . . . 171

一時停止されたワークフローのリカバリ. . . . . . . . . . . . . . . . . . . . . . 171

タスクリカバリの設定. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171

タスクのリカバリ戦略. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172

終了したタスクの自動的なリカバリ. . . . . . . . . . . . . . . . . . . . . . . . . 174

セッションの再開. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174

再現可能なデータに関する作業. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176

ソースの再現性. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176

トランスフォーメーションの再現性. . . . . . . . . . . . . . . . . . . . . . . . . 177

リカバリ用のマッピングの設定. . . . . . . . . . . . . . . . . . . . . . . . . . . . 178

ワークフローとタスクのリカバリの手順. . . . . . . . . . . . . . . . . . . . . . . . . 181

ワークフローのリカバリ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182

セッションのリカバリ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182

セッションからのワークフローのリカバリ. . . . . . . . . . . . . . . . . . . . 182

セッションリカバリに関するルールおよびガイドライン. . . . . . . . . . . . . . . 183

Old Trans: 後のチェックポイントから再開するようにするためのリカ

バリの設定. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183

vi 目次

Page 10: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

リカバリ不可能なワークフローまたはタスク. . . . . . . . . . . . . . . . . . . 184

第 10 章 : 停止と強制終了........................ 185

停止と強制終了の概要. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185

エラーのタイプ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186

しきい値のエラー. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186

致命的なエラー. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187

Integration Serviceによるセッションの失敗の処理. . . . . . . . . . . . . . . . . 187

ワークフローの停止または強制終了. . . . . . . . . . . . . . . . . . . . . . . . . . . . 188

タスクの停止または強制終了. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189

停止または強制終了の手順. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189

第 11 章 : コンカレントワークフロー.............. 191

コンカレントワークフローの概要. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191

一意のワークフローインスタンスの設定. . . . . . . . . . . . . . . . . . . . . . . . . 192

ワークフローインスタンスのインスタンス名によるリカバリ. . . . . . . . . 192

同一インスタンス名のコンカレントインスタンスの実行に関するルール

およびガイドライン. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192

同一名のコンカレントワークフローの設定. . . . . . . . . . . . . . . . . . . . . . . 193

コンカレントWebサービスワークフローの実行. . . . . . . . . . . . . . . . . . 193

同一名のワークフローインスタンスの設定. . . . . . . . . . . . . . . . . . . . 193

同一名のワークフローインスタンスのリカバリ. . . . . . . . . . . . . . . . . . 194

同一インスタンス名のコンカレントインスタンスの実行に関するルール

およびガイドライン. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194

パラメータおよび変数の使用. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194

実行インスタンス名または実行IDへのアクセス. . . . . . . . . . . . . . . . . . 195

コンカレントワークフローの設定手順. . . . . . . . . . . . . . . . . . . . . . . . . . 195

コンカレントワークフローの開始および停止. . . . . . . . . . . . . . . . . . . . . . 196

Workflow Designerからのワークフローインスタンスの開始. . . . . . . . . 196

単一のコンカレントワークフローの開始. . . . . . . . . . . . . . . . . . . . . . 197

コマンドラインからのコンカレントワークフローの開始. . . . . . . . . . . . 197

コンカレントワークフローの停止または強制終了. . . . . . . . . . . . . . . . 198

コンカレントワークフローの監視. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198

セッションログおよびワークフローログの表示. . . . . . . . . . . . . . . . . . . . . 199

一意のワークフローインスタンス用のログファイル. . . . . . . . . . . . . . . 199

同一名のワークフローインスタンス用のログファイル. . . . . . . . . . . . . 200

コンカレントワークフローに関するルールおよびガイドライン. . . . . . . . . . 200

第 12 章 : グリッド処理.......................... 202

グリッド処理の概要. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202

目次 vii

Page 11: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

グリッド上でのワークフローの実行. . . . . . . . . . . . . . . . . . . . . . . . . . . . 203

グリッド上でのセッションの実行. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203

パーティショングループに関する作業. . . . . . . . . . . . . . . . . . . . . . . . . . 204

リソース要件を使用しないパーティショングループの作成. . . . . . . . . . 204

リソース要件を使用するパーティショングループの形成. . . . . . . . . . . . 204

パーティショングループの作成に関するルールおよびガイドライン. . . . . 205

キャッシュに関する作業. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205

グリッドの接続とリカバリ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205

グリッド上で実行するためのワークフローまたはセッションの設定. . . . . . . . 206

グリッド上で実行するためのワークフローまたはセッションの設定に関

するルールおよびガイドライン. . . . . . . . . . . . . . . . . . . . . . . . . . . . 207

第 13 章 : ロードバランサ........................ 209

ロードバランサの概要. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209

ワークフローへのサービスレベルの割り当て. . . . . . . . . . . . . . . . . . . . . . 210

タスクへのリソースの割り当て. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210

第 14 章 : ワークフロー変数...................... 213

ワークフロー変数の概要. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213

定義済みワークフロー変数. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214

式における定義済みワークフロー変数の使用. . . . . . . . . . . . . . . . . . . 217

ワークフロー内の条件の評価. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217

ワークフロー内のタスクステータスの評価. . . . . . . . . . . . . . . . . . . . 218

ワークフロー内の前回実行のタスクステータスの評価. . . . . . . . . . . . . 218

ユーザー定義ワークフロー変数. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219

ワークフロー変数の初期値とカレント値. . . . . . . . . . . . . . . . . . . . . . 220

データタイプのデフォルト値. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221

ユーザー定義ワークフロー変数の作成. . . . . . . . . . . . . . . . . . . . . . . 221

ワークレット変数の使用. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223

永続ワークレット変数. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223

初期値のオーバーライド. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223

ワークレット変数の使用に関するルールおよびガイドライン. . . . . . . . . 224

ワークレットでの変数値の割り当て. . . . . . . . . . . . . . . . . . . . . . . . . . . . 224

ワークレット間での変数値の受け渡し. . . . . . . . . . . . . . . . . . . . . . . 224

変数割り当ての設定. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225

第 15 章 : セッションのパラメータおよび変数..... 227

セッションパラメータに関する作業. . . . . . . . . . . . . . . . . . . . . . . . . . . . 227

セッションログ名の変更. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231

ターゲットファイルおよびディレクトリの変更. . . . . . . . . . . . . . . . . . 232

viii 目次

Page 12: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

ファイルでのソースパラメータの変更. . . . . . . . . . . . . . . . . . . . . . . 232

接続パラメータの変更. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232

ランタイム情報の取得. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233

ファイルパラメータとデータベース接続パラメータの作成に関するルー

ルおよびガイドライン. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234

セッションのマッピングパラメータおよび変数. . . . . . . . . . . . . . . . . . . . . 234

セッションでのパラメータ値および変数値の割り当て. . . . . . . . . . . . . . . . 235

セッション間でのパラメータ値および変数値の受け渡し. . . . . . . . . . . . 236

変数割り当ての設定. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237

第 16 章 : パラメータファイル.................... 238

パラメータファイルの概要. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238

パラメータおよび変数のタイプ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239

パラメータおよび変数を使用する場所. . . . . . . . . . . . . . . . . . . . . . . . . . 240

パラメータファイル内の接続属性のオーバーライド. . . . . . . . . . . . . . . . . . 252

パラメータファイル構造体. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253

パラメータファイルのセクション. . . . . . . . . . . . . . . . . . . . . . . . . . 254

コメント. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255

NULL値. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256

サンプルのパラメータファイル. . . . . . . . . . . . . . . . . . . . . . . . . . . . 256

パラメータファイル名および場所の設定. . . . . . . . . . . . . . . . . . . . . . . . . 257

ワークフローまたはセッションでのパラメータファイルの使用. . . . . . . 257

pmcmdでのパラメータファイルの使用. . . . . . . . . . . . . . . . . . . . . . . . 259

パラメータファイルの例. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260

パラメータファイルの作成に関するガイドライン. . . . . . . . . . . . . . . . . . . 261

パラメータおよびパラメータファイルのトラブルシューティング. . . . . . . . . 262

パラメータおよびパラメータファイルに関するヒント. . . . . . . . . . . . . . . . 263

第 17 章 : FastExport............................ 265

FastExportの使用の概要. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265

手順1。 FastExport接続の作成. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266

コードページのマッピングファイルの確認. . . . . . . . . . . . . . . . . . . . 268

手順2 readerの変更. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269

手順3 ソース接続の変更. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269

手順4。 制御ファイルのオーバーライド(オプション). . . . . . . . . . . . . . . 269

FastExportの使用に関するルールおよびガイドライン. . . . . . . . . . . . . . . . 271

第 18 章 : 外部データのロード.................... 272

外部データのロードの概要. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272

はじめに. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272

目次 ix

Page 13: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

外部ローダーの動作. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273

名前付きパイプへのデータのロード. . . . . . . . . . . . . . . . . . . . . . . . . 274

フラットファイルへのデータのステージング. . . . . . . . . . . . . . . . . . . 274

外部ローダーを使用したセッションのパーティション化. . . . . . . . . . . . 274

IBM DB2へのロード. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275

IBM DB2 EE外部ローダー. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275

IBM DB2 EEE外部ローダー. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276

IBM DB2 EEE外部ローダーに関するルールおよびガイドライン. . . . . . . . 276

操作モードの設定. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277

オーソリティ、特権、権限の設定. . . . . . . . . . . . . . . . . . . . . . . . . . 277

IBM DB2 EE外部ローダーの属性の設定. . . . . . . . . . . . . . . . . . . . . . . 278

IBM DB2 EEE外部ローダの属性の設定. . . . . . . . . . . . . . . . . . . . . . . . 280

Oracleへのロード. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282

Oracle外部ローダーに関するルールおよびガイドライン. . . . . . . . . . . . 283

Oracleへのマルチバイトデータのロード. . . . . . . . . . . . . . . . . . . . . . 283

Oracle外部ローダーの属性の設定. . . . . . . . . . . . . . . . . . . . . . . . . . 284

Sybase IQへのロード. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285

Sybase IQ外部ローダーに関するルールおよびガイドライン. . . . . . . . . . 285

Sybase IQへのマルチバイトデータのロード. . . . . . . . . . . . . . . . . . . . 285

Sybase IQ外部ローダーの属性の設定. . . . . . . . . . . . . . . . . . . . . . . . 286

Teradataへのロード. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288

Teradata外部ローダーに関するルールおよびガイドライン. . . . . . . . . . 289

制御ファイルのオーバーライド. . . . . . . . . . . . . . . . . . . . . . . . . . . . 289

制御ファイルでのユーザー変数の作成. . . . . . . . . . . . . . . . . . . . . . . 290

Teradata MultiLoad外部ローダーの属性の設定. . . . . . . . . . . . . . . . . 291

Teradata TPump外部ローダーの属性の設定. . . . . . . . . . . . . . . . . . . . 294

Teradata FastLoad外部ローダーの属性の設定. . . . . . . . . . . . . . . . . . 297

セッション内での外部データのロードの設定. . . . . . . . . . . . . . . . . . . . . . 299

ファイルに書き込むようにセッションを設定. . . . . . . . . . . . . . . . . . . 300

ファイルプロパティの設定. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300

外部ローダ接続の選択. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301

外部データのロードのトラブルシューティング. . . . . . . . . . . . . . . . . . . . . 302

第 19 章 : FTP................................... 304

FTPの概要. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304

FTPの使用に関するルールおよびガイドライン. . . . . . . . . . . . . . . . . . 305

Integration Serviceの動作. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305

ソースファイルを対象としたFTPの使用. . . . . . . . . . . . . . . . . . . . . . . 305

ターゲットファイルでのFTPの使用. . . . . . . . . . . . . . . . . . . . . . . . . . 306

セッションのFTPの設定. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307

x 目次

Page 14: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

セッションのSFTPの設定. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307

FTP接続の選択. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307

ソースファイルプロパティの設定. . . . . . . . . . . . . . . . . . . . . . . . . . 309

ターゲットファイルプロパティの設定. . . . . . . . . . . . . . . . . . . . . . . 309

第 20 章 : セッションのキャッシュ................ 312

セッションのキャッシュの概要. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312

キャッシュメモリ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313

キャッシュファイル. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314

キャッシュファイルの命名規則. . . . . . . . . . . . . . . . . . . . . . . . . . . . 315

キャッシュファイルディレクトリ. . . . . . . . . . . . . . . . . . . . . . . . . . 317

キャッシュサイズの設定. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318

キャッシュサイズの計算. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319

自動キャッシュサイズ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319

数値のキャッシュサイズの設定. . . . . . . . . . . . . . . . . . . . . . . . . . . . 320

キャッシュサイズを設定する手順. . . . . . . . . . . . . . . . . . . . . . . . . . 321

キャッシュのパーティション化. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322

キャッシュのパーティション化用のキャッシュサイズの設定. . . . . . . . . 322

アグリゲータキャッシュ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323

差分集計. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323

アグリゲータトランスフォーメーションのキャッシュサイズの設定. . . . . 324

アグリゲータキャッシュのトラブルシューティング. . . . . . . . . . . . . . . 324

ジョイナキャッシュ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325

1:nのパーティション化. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326

n:nのパーティション化. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327

ジョイナトランスフォーメーションのキャッシュサイズの設定. . . . . . . 327

ジョイナキャッシュのトラブルシューティング. . . . . . . . . . . . . . . . . . 328

ルックアップキャッシュ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329

キャッシュの共有. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330

ルックアップトランスフォーメーションのキャッシュサイズの設定. . . . . 331

ランクキャッシュ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331

ランクトランスフォーメーションのキャッシュサイズの設定. . . . . . . . . 332

ランクキャッシュのトラブルシューティング. . . . . . . . . . . . . . . . . . . 333

ソータキャッシュ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333

ソータトランスフォーメーションのキャッシュサイズの設定. . . . . . . . . 334

XMLターゲットキャッシュ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334

XMLターゲットのキャッシュサイズの設定. . . . . . . . . . . . . . . . . . . . . 334

キャッシュサイズの 適化. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335

目次 xi

Page 15: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

第 21 章 : 差分集計.............................. 337

差分集計の概要. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337

差分集計のためのIntegration Serviceの処理. . . . . . . . . . . . . . . . . . . . . 338

集計ファイルの再初期化. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339

集計ファイルの移動と削除. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339

インデックスファイルとデータファイルの検索. . . . . . . . . . . . . . . . . . 340

差分集計を使用したパーティション化のガイドライン. . . . . . . . . . . . . . . . 340

差分集計のための準備. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341

マッピングの設定. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341

セッションの設定. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342

第 22 章 : セッションログインタフェース.......... 343

セッションログインタフェースの概要. . . . . . . . . . . . . . . . . . . . . . . . . . 343

セッションログインタフェースの実装. . . . . . . . . . . . . . . . . . . . . . . . . . 343

Integration Serviceとセッションログインタフェース. . . . . . . . . . . . 344

セッションログインタフェースの実装に関するルールおよびガイドライ

ン. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344

セッションログインタフェースの関数. . . . . . . . . . . . . . . . . . . . . . . . . . 345

INFA_InitSessionLog. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345

INFA_OutputSessionLogMsg. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346

INFA_OutputSessionLogFatalMsg. . . . . . . . . . . . . . . . . . . . . . . . . . . 347

INFA_EndSessionLog. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348

INFA_AbnormalSessionTermination. . . . . . . . . . . . . . . . . . . . . . . . . 348

セッションログインタフェースの例. . . . . . . . . . . . . . . . . . . . . . . . . . . . 349

外部セッションログライブラリの構築. . . . . . . . . . . . . . . . . . . . . . . 349

外部セッションログライブラリの使用. . . . . . . . . . . . . . . . . . . . . . . 350

第 23 章 : バッファメモリについて................ 351

バッファメモリの概要について. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351

自動バッファメモリ設定. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352

セッション設定オブジェクトを使用したメモリの設定. . . . . . . . . . . . . 352

バッファメモリの設定. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353

セッションキャッシュメモリの設定. . . . . . . . . . . . . . . . . . . . . . . . . . . . 353

セッションキャッシュの制限. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353

セッションキャッシュの自動メモリ設定. . . . . . . . . . . . . . . . . . . . . . 355

第 24 章 : 高精度データ.......................... 356

高精度データの概要. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356

Bigint. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356

xii 目次

Page 16: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

Decimal. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357

索引............................................. 358

目次 xiii

Page 17: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

序文

『PowerCenter上級ワークフローガイド』は、ワークフローとセッションの作成、およびワ

ークフローの実行を担当する開発者と管理者を対象としています。 読者は、オペレーティ

ングシステム、リレーショナルデータベースの概念、および使用する環境内のデータベー

スエンジン、フラットファイル、またはメインフレームシステムについて理解している必

要があります。また、使用するアプリケーションのインタフェース条件についても理解し

ていることを前提としています。

Informaticaのリソース

Informaticaカスタマポータル

Informaticaのユーザーとして、Informaticaカスタマポータルサイト

(http://mysupport.informatica.com)にアクセスできます。このサイトには、製品情

報、ユーザーグループ情報、ニュースレター、Informaticaカスタマサポート事例管理シス

テム(ATLAS)へのアクセス、Informatica How-To Library、Informatica Knowledge

Base、Informatica Product Documentation、Informaticaユーザーグループコミュニティ

へのアクセスが含まれています。

Informaticaのマニュアル

Informaticaのマニュアルチームは、正確で役に立つマニュアルの作成に努めています。こ

のマニュアルに関する質問、コメント、ご意見の電子メールの送付先は、Informaticaマニ

ュアルチーム([email protected])です。 お客様のフィードバック

は、マニュアルの改良に利用させていただきます。コメントに返信をご希望のお客様は、

その旨をお知らせください。

マニュアルチームは、必要に応じてマニュアルを更新します。製品の 新のマニュアルを

入手するには、http://mysupport.informatica.comから製品マニュアルにアクセスしま

す。

InformaticaのWebサイト

Informatica社のWebサイトは、http://www.informatica.comからアクセスできます。この

サイトでは、Informatica社の概要と沿革、今後のイベント、営業拠点などの情報を提供し

xiv

Page 18: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

ています。また、製品情報やパートナー情報もあります。サービス関連のページには、テ

クニカルサポート、トレーニングと教育、および実装に関するサービスの重要な情報を掲

載しています。

Informatica How-To Library

Informaticaのユーザーとして、Informatica How-To Library

(http://mysupport.informatica.com)にアクセスできます。How-To Libraryは、

Informaticaの製品および機能についての詳細を確認できるリソースのコレクションです。

一般的な問題に対するソリューションを提供したり、機能や動作を比較したり、特定の実

際のタスクを実行するための方法を示したりする記事やインタラクティブなデモンストレ

ーションが含まれています。

Informatica Knowledge Base

Informaticaのユーザーとして、Informatica Knowledge Base

(http://mysupport.informatica.com)にアクセスできます。このKnowledge Baseを利用

して、Informatica製品に関する既知の技術的問題の解決策を検索することができます。ま

た、FAQ(よくある質問)の答え、技術的ホワイトペーパー、技術的なヒントも得られま

す。Knowledge Baseに関する質問、コメント、ご意見の電子メールの送付先は、

Informatica Knowledge Baseチーム([email protected])です。

Informatica Multimedia Knowledge Base

Informaticaのユーザとして、Informatica Multimedia Knowledge Base

(http://mysupport.informatica.com)にアクセスできます。Multimedia Knowledge

Baseは、一般的な概念の理解を助け、具体的な各タスクの実行をガイドする教育用のマル

チメディアファイルの集まりです。 Multimedia Knowledge Baseに関する質問、コメン

ト、ご意見の電子メールの送付先は、Informatica Knowledge Baseチーム

[email protected])です。

Informaticaグローバルカスタマサポート

電話、またはオンラインサポートからカスタマサポートセンターに連絡できます。 オンラ

インサポートのご利用には、ユーザ名とパスワードが必要です。

http://mysupport.informatica.comから、ユーザー名とパスワードが入手できます。

電話によるInformaticaグローバルカスタマサポートへの問い合わせ先は次のとおりです。

北米/南米 ヨーロッパ/中東/アフ

リカ

アジア/オーストラ

リア

フリーダイヤル

ブラジル: 0800 891

0202

メキシコ: 001 888 209

8853

北米: +1 877 463 2435

フリーダイヤル

フランス: 0805 804632

ドイツ: 0800 5891281

イタリア: 800 915 985

オランダ: 0800 2300001

ポルトガル: 800 208 360

フリーダイヤル

オーストラリア: 1

800 151 830

ニュージーランド:

09 9 128 901

まえがき xv

Page 19: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

北米/南米 ヨーロッパ/中東/アフ

リカ

アジア/オーストラ

リア

スペイン: 900 813 166

スイス: 0800 463 200

英国: 0800 023 4632

有料(標準料金)

ベルギー: +31 30 6022

797

フランス: +33 1 4138

9226

ドイツ:+49 1805 702 702

オランダ:+31 306 022

797

英国: +44 1628 511445

有料(標準料金)

インド:+91 80 4112

5738

xvi 序文

Page 20: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

第 1 章

パイプラインのパーティション化について

この章では、以下の項目について説明します。

¨ パイプラインのパーティション化の概要について, 1 ページ

¨ パーティション化属性, 2 ページ

¨ 動的パーティション, 5 ページ

¨ キャッシュのパーティション化, 8 ページ

¨ パーティション化したパイプラインにおけるマッピング変数, 9 ページ

¨ パーティション化のルール, 10 ページ

¨ パーティション化の設定, 11 ページ

パイプラインのパーティション化の概要について

Integration Serviceで実行するセッションをマッピングごとに作成します。 各マッピン

グには、1つ以上のパイプラインが含まれています。パイプラインは、ソース修飾子と、そ

のソース修飾子からデータを受け取るすべてのトランスフォーメーションおよびターゲッ

トから構成されます。Integration Serviceはセッションを実行すると、パイプラインをパ

ーティション化してそれぞれのパーティションデータに対して、抽出、トランスフォーメ

ーション、ロードを並列に実行することで、より高いパフォーマンスを実現することがで

きます。

パーティションとは、1つのreaderスレッド、トランスフォーメーションスレッド、または

writerスレッドで実行されるパイプラインステージを指します。任意のパイプラインステ

ージにおけるパーティションの数は、そのステージにおけるスレッドの数と一致します。

デフォルトでは、Integration Serviceはすべてのパイプラインステージにパーティション

を1つ作成します。

パーティション化オプションを使用すると、1つのパイプラインステージに対して複数のパ

ーティションを設定することができます。パイプラインに対してマスタースレッドが作成

する、readerスレッド、トランスフォーメーションスレッド、およびwriterスレッドの数

1

Page 21: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

を制御するパーティション化情報を設定できます。Integration Serviceがソースからデー

タを読み込む方法、各トランスフォーメーションにデータ行を分散させる方法、およびタ

ーゲットにデータを書き込む方法を設定できます。 使用するソース接続およびターゲット

接続の数を設定できます。

セッションに対してパーティションを設定するには、次の作業を実行します。

¨ パーティションポイント、パーティション数、パーティションタイプなど、パーティシ

ョン属性を設定します。

¨ Integration Serviceによりランタイム時にパーティション化を設定できます。動的パ

ーティションを有効にする際、Integration Serviceにより、ソースデータベースパー

ティションやグリッド内のノード数などの要素に基づいて、セッションパーティション

の数が計算されます。

¨ パーティション化のためにセッションを設定した後、メモリ要件とキャッシュディレク

トリをトランスフォーメーションごとに設定できます。

¨ Integration Serviceにより、ターゲットロード順グループ内のパーティションごとに

マッピング変数が評価されます。マッピングで変数関数を使用して、変数値を設定でき

ます。

¨ パイプラインに複数のパーティションを作成した場合、Workflow Managerにより、

Integration Serviceがパーティションを使用してセッションでデータの一貫性を保持

できることが確認されます。セッションでオブジェクトプロパティを編集した場合、パ

ーティション化に影響を与え、セッションが失敗することがあります。

¨ セッションプロパティでパーティションポイントを追加または編集します。パーティシ

ョンポイントを変更する場合は、パーティションタイプを定義し、パーティションを追

加または削除することができます。

パーティション化属性以下の属性を設定して、パイプラインをパーティション化できます。

¨ パーティションポイント。パーティションポイントによりスレッド境界がマークされ、

パイプラインがステージに分割されます。 Integration Serviceによりパーティション

ポイントでデータ行が再分散されます。

¨ パーティションの数。パーティションは、単一のスレッドで実行されるパイプラインス

テージです。 Partitioningを別途購入した場合には、任意のパーティションポイント

でパーティションの数を設定できます。パーティションを追加すると、処理スレッドの

数が増え、セッションのパフォーマンスを向上できます。

¨ パーティションタイプ。Integration Serviceでは、各パーティションポイントでデフ

ォルトのパーティションタイプが作成されます。 パーティション化オプションを使用

すると、パーティションタイプを変更できます。パーティションタイプによって、パー

ティションポイントでパーティションにデータを配分する方法を制御します。

パーティションポイント

デフォルトでは、パーティションポイントはIntegration Serviceによってパイプライン上

のさまざまなトランスフォーメーションに設定されます。 パーティションポイントはスレ

2 章 1: パイプラインのパーティション化について

Page 22: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

ッド境界を示し、パイプラインをステージに分割します。ステージとは、2つのパーティシ

ョンポイントに挟まれたパイプライン上の区間です。トランスフォーメーションにパーテ

ィションポイントを設定すると、そのトランスフォーメーションは新規のパイプラインス

テージに含まれます。

以下の図に、1つのパイプラインを持つマッピングに関する、デフォルトのパーティション

ポイントとパイプラインステージを示します。

パーティションポイントを1つ追加すると、パイプラインステージの数が1つ増加します。

同様に、パーティションポイントを1つ削除すると、パイプラインステージの数が1つ減少

します。パーティションポイントにより、Integration Serviceがパーティション全体でデ

ータを再分散できるパイプライン上の点がマークされます。

例えば、パーティションポイントをフィルタトランスフォーメーションに配置して、複数の

パーティションを定義する場合、フィルタトランスフォーメーションがデータを処理する前

に、Integration Serviceによりデータ行がパーティション間で再分散されます。 パーテ

ィションポイントで設定するパーティションタイプによって、Integration Serviceで各パ

ーティションにデータ行を渡す方法が制御できます。

パーティションの数

各パイプラインステージで処理するスレッドの数は、パーティションの数に依存します。

パーティションとは、1つのreaderスレッド、トランスフォーメーションスレッド、または

writerスレッドで実行されるパイプラインステージを指します。任意のパイプラインステ

ージにおけるパーティションの数は、当該ステージにおけるスレッドの数と一致します。

パイプライン上のパーティションポイントには 大64のパーティションを定義できます。

任意のパーティションポイントでパーティションの数を増減すると、Workflow Managerは

パイプライン上のすべてのパーティションポイントでパーティションの数を増減します。

パーティションの数は、パイプライン全体を通して一定です。任意のパーティションポイ

ントで3つのパーティションを定義すると、パイプライン上にある他のすべてのパーティシ

ョンポイントで3つのパーティションが作成されます。特定の状況では、パイプラインのパ

ーティションの数を1つに設定する必要があります。

パーティションまたはパーティションポイントの数が増えることで、スレッドの数が増え

ます。したがって、パーティションまたはパーティションポイントの数を増やすと、ノー

ドの負荷も大きくなります。ノードに十分なCPUバンド幅がある場合は、セッションで並列

にデータ行を処理することで、セッションのパフォーマンスを向上させることができま

す。ただし、大量のデータを処理するセッションでたくさんのパーティションまたはパー

ティションポイントを作成すると、システムの負荷が大きくなりすぎる場合もあります。

パーティション化属性 3

Page 23: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

作成するパーティションの数は、ソースまたはターゲットへの接続の数と等しくなりま

す。パイプラインにリレーショナルソースまたはリレーショナルターゲットが含まれる場

合には、ソース修飾子またはターゲットインスタンスのパーティションの数はデータベー

スへの接続の数と等しくなります。パイプラインにファイルソースが含まれる場合は、1つ

または複数のスレッドでソースを読み込むようにセッションを設定できます。

例えば、マッピングで3つのパーティションを定義する場合、マスタスレッドによりパイプ

ラインステージごとに3つのスレッドが作成され、合計で12のスレッドが作成されます。

Integration Serviceにより、パーティションスレッドが同時に実行されます。 複数のパ

ーティションを持つセッションを実行した場合、スレッドは次のように実行されます。

1. readerスレッドが並列に実行されてソースからデータを抽出します。

2. トランスフォーメーションスレッドがそれぞれのトランスフォーメーションステージ

で並列に実行されてデータを処理します。Integration Serviceにより、各パーティ

ションポイントにおいてパーティションの間でデータが再配分されます。

3. writerスレッドが同時に実行され、データがターゲットに書き込まれます。

複数の入力グループトランスフォーメーションのパーティショ

ン化

マスタースレッドにより、ターゲットロード順グループの各パイプラインに対してreader

スレッドおよびトランスフォーメーションスレッドが作成されます。 ターゲットロード順

グループに、複数の入力グループを持つトランスフォーメーションが含まれている場合、

そのターゲットロード順グループには複数のパイプラインがあります。

複数のパイプラインを複数の入力グループトランスフォーメーションに接続した場合、

Integration Serviceにより、複数の入力グループトランスフォーメーションがパーティシ

ョンポイントであるかどうかに応じて、トランスフォーメーションスレッドが保持される

か、または新しいトランスフォーメーションスレッドが作成されます。

¨ パーティションポイントは、複数の入力グループトランスフォーメーションには存在し

ません。パーティションポイントが複数の入力グループトランスフォーメーションに存

在しない場合、Integration Serviceにより、複数の入力グループトランスフォーメー

ションとステージ内のすべてのダウンストリームトランスフォーメーションについて一

度に1つのスレッドが処理されます。

¨ パーティションポイントは、複数の入力グループトランスフォーメーションに存在しま

す。パーティションポイントが複数の入力グループトランスフォーメーションに存在す

る場合、Integration Serviceにより、新しいパイプラインステージが作成され、その

ステージが各パーティションにつき1つのスレッドで処理されます。 Integration

Serviceにより、トランスフォーメーションに含まれる出力グループの数に関係なく、

パーティションごとに1つのトランスフォーメーションスレッドが作成されます。

パーティションタイプ

パイプラインにパーティション化情報を設定する場合、パイプライン上の各パーティショ

ンポイントにパーティションタイプを定義する必要があります。パーティションタイプに

より、PowerCenter Integration Serviceがパーティションポイント間にデータを再配分

する方法が決定します。

4 章 1: パイプラインのパーティション化について

Page 24: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

PowerCenter Integration Serviceでは、各パーティションポイントでデフォルトのパー

ティションタイプが作成されます。パーティション化オプションを使用すると、パーティ

ションタイプを変更できます。パーティションタイプは、パーティションポイントでパー

ティションにデータを配分する方法を制御します。パイプライン上の様々なポイントに、

様々なパーティションタイプを作成できます。

Workflow Managerでは、以下のパーティションタイプを定義できます。

¨ データベースパーティション化。IBM DB2またはOracleデータベースシステムに対して

クエリが実行され、テーブルのパーティション情報が取得されます。データベースの対

応するノードからパーティション化データが読み込まれます。複数ノードのテーブル領

域上のOracleまたはIBM DB2ソースインスタンスでは、データベースパーティション化

を使用できます。DB2ターゲットでは、データベースパーティション化を使用できま

す。

¨ ハッシュ自動キー。ハッシュ関数が使用され、データ行がパーティション間でグループ

化されます。データはパーティションキーに基づいてグループ化されます。グループ化

されたポートまたはソート済みのポートがすべて複合パーティションキーとして使用さ

れます。ランクトランスフォーメーション、ソータトランスフォーメーション、未ソー

トのアグリゲータトランスフォーメーションで、ハッシュ自動キーパーティション化を

使用する必要がある場合があります。

¨ ハッシュユーザーキー。PowerCenter Integration Serviceによりハッシュ関数が使用

され、データ行がパーティション間でグループ化されます。パーティションキーを生成

するポート数を定義します。

¨ キー範囲。キー範囲パーティション化を使用した場合、パーティションキーとして定義

したポートまたはポートのセットに基づいて、データ行が配分されます。各ポートにつ

いて、値の範囲を定義します。PowerCenter Integration Serviceは、キーと範囲を使

用して適切なパーティションに行を送ります。パイプライン上のソースまたはターゲッ

トがキー範囲によってパーティション化される場合に、キー範囲パーティション化を使

用します。

¨ パススルー。パススルーパーティション化では、データはパーティション間で再配分さ

れることなく処理されます。ある1つのパーティションに置かれた行はすべて、パスス

ルーパーティションポイントを通過した後も同じパーティションにとどまります。パフ

ォーマンスを向上させるために新たなパイプラインステージを作成したいが、パーティ

ション間のデータの配分を変更したくない場合に、パススルーパーティション化を選択

します。

¨ ラウンドロビン。1つ以上のパーティションにデータのブロックが配分されます。ラウ

ンドロビンパーティション化は、各パーティションでブロックの数やサイズに基づいて

行を処理する場合に使用します。

動的パーティションデータ量が増加した場合やCPUを追加した場合は、セッションの実行時間が増加しないよう

にパーティション化の調整が必要な場合があります。動的パーティションを使用した場

合、Integration Serviceによりランタイム時に作成するパーティション数が決定されるよ

うにパーティション情報を設定できます。

動的パーティション 5

Page 25: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

Integration Serviceは、ソースデータベースパーティションやグリッド内のノード数など

を考慮して、実行時にセッションパーティションの数を計算します。

ステージ内の任意のトランスフォーメーションがパーティション化をサポートしていない

場合や、パーティション設定が動的パーティション化をサポートしていない場合、

Integration Serviceはパイプライン内のパーティションを計算しません。データは1つの

パーティションを通過します。

動的パーティション化を使用してセッションパーティションを計算するには、次の作業を

実行します。

¨ パーティション化の設定。 Integration Serviceにより、選択したパーティション化の

方法に基づいて、パーティションの数が増加します。

¨ 動的パーティションのセッション属性の設定。 ソースおよびターゲットのファイル名

とディレクトリを特定するセッション属性を設定できます。セッションでは、セッショ

ン属性が使用され、ランタイム時に作成するパーティションごとにパーティションレベ

ルの属性が作成されます。

¨ パーティションタイプの設定。 セッションプロパティの[マッピング]タブのパーテ

ィションビューを使用して、パーティションポイントとパーティションタイプを編集で

きます。

注: 手動パーティションを含むセッションに対して動的パーティション化を設定しないで

ください。動的パーティション化を[無効]以外の値に設定し、セッションを手動でパー

ティション化すると、セッションは無効になります。

動的パーティションの設定

セッションプロパティの[設定オブジェクト]タブで動的パーティション化を設定しま

す。次のいずれかの方法で、動的パーティション化を設定します。

¨ 無効化。動的パーティションを使用しません。 [マッピング]タブでパーティション

数を定義します。

¨ パーティションの数を基準。パーティションの数属性で定義した数にパーティションを

設定します。 $DynamicPartitionCountセッションパラメータを使用するか、1より大き

い数を入力します。

¨ グリッドのノード数を基準。セッションを実行しているグリッドのノード数にパーティ

ションを設定します。 グリッド上で実行していないセッションにこのオプションを設

定する場合、セッションは1つのパーティションで実行され、そのセッションログにメ

ッセージが記録されます。

¨ ソースパーティション化を基準。データベースパーティション情報を使用してパーティ

ション数を決定します。 パーティション数は、ソースのパーティションの 大数で

す。複合パーティションを使用するOracleの場合、パーティション数はソースのサブパ

ーティションの 大数です。

¨ CPUの数を基準。パーティション数を、セッションを準備するノード上のCPUの数と同じ

になるように設定します。 セッションがグリッド上で実行されるように設定されてい

る場合、パーティションの数は、動的パーティションによって、グリッド内のノードの

数を乗算した、セッションを準備するノード上のCPUの数と同じになるように設定され

ます。

6 章 1: パイプラインのパーティション化について

Page 26: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

関連項目:

¨ 「データベースパーティション化のパーティションタイプ」 (51ページの)

動的パーティションに関するルールおよびガイドライン

動的パーティション化を使用する場合は、次のルールおよびガイドラインに従ってくださ

い。

¨ 動的パーティション化は各パーティションに同じ接続を使用します。

¨ XMLソースおよびターゲットで動的パーティション化を使用することはできません。

¨ デバッガで動的パーティション化を使用することはできません。

¨ 動的パーティション化を有効にすると、SFTPを使用するセッションは失敗します。

¨ 動的パーティション化を[無効]以外の値に設定し、[マッピング]タブでセッション

を手動でパーティション化すると、セッションは無効になります。

¨ $DynamicPartitionCount以外のパラメータを使用してパーティションの数を設定した場

合、セッションは失敗します。

¨ 次の動的パーティション化設定を使用すると、1つのパーティションでセッションが実

行されます。

-アグリゲータ、ジョイナ、ルックアップ、またはランクトランスフォーメーションの

デフォルトのキャッシュディレクトリを上書きします。デフォルトが$PMCacheDirで

ある場合に、Integration Serviceはトランスフォーメーションキャッシュディレク

トリをパーティション化します。

-ソータトランスフォーメーションのデフォルトのワークディレクトリを上書きしま

す。デフォルトが$PMTempDirの場合は、Integration Serviceによってソータトラン

スフォーメーションのワークディレクトリがパーティション化されます。

-キー範囲パーティションタイプで無制限の数値または日付キーの範囲を使用する。

-キー範囲パーティション化のキーとして数値または日付以外のデータ型を使用する。

-キー範囲リレーショナルターゲットパーティション化を使用する。

-ユーザー定義SQL文またはユーザー定義ソースフィルタを作成する。

-動的パーティション化をグリッド内のノードの数に設定するが、セッションがグリッ

ド上で実行されない。

-パススルーリレーショナルソースパーティション化を使用する。

-アプリケーションソース修飾子で動的パーティション化を使用する。

-動的パーティション化でSDKまたはPowerConnectのソースおよびターゲットを使用す

る。

動的パーティション 7

Page 27: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

パーティションタイプでの動的パーティションの使用

異なるパーティションタイプで動的パーティションを使用するには、以下のルールおよび

ガイドラインが適用されます。

¨ パススルーパーティション化。パーティションポイントでパーティション数を変更した

場合、各パイプラインステージ内のパーティション数が変更されます。 リレーショナ

ルソースでパススルーパーティション化を使用する場合、セッションはステージ内の1

つのパーティションで実行されます。

¨ キー範囲パーティション化。動的パーティションを使用するには、制限された数値また

は日付キーの範囲を定義する必要があります。 キーは、数値データタイプまたは日付

データタイプである必要があります。動的パーティション化は、リレーショナルターゲ

ット上でキー範囲パーティション化を使用する場合、パーティションを計算しません。

¨ データベースパーティション化。データベースパーティション化を使用する場合、

Integration Serviceによりソースデータベースパーティションに基づいてセッション

パーティションが作成されます。 OracleおよびIBM DB2ソースでは、データベースパー

ティション化を使用します。

¨ ハッシュ自動キー、ハッシュユーザーキー、ラウンドロビン。 動的パーティション化

で行を振り分けるには、ユーザー定義ハッシュキー、自動ハッシュキー、およびラウン

ドロビンパーティションタイプを使用します。行をグループごとにパーティションに振

り分ける場合に、ユーザー定義ハッシュキーおよび自動ハッシュキーパーティション化

を使用します。1つ以上のパーティションにデータのブロックを振り分ける場合は、ラ

ウンドロビンパーティション化を使用します。

パーティションレベルの属性の設定

動的パーティションを使用する場合、Integration Serviceによりランタイム時に作成する

パーティションごとにパーティションレベルの属性が定義されます。 セッションプロパテ

ィで定義したセッションレベル属性名に基づいてファイル属性およびディレクトリ属性に

名前を付けられます。

たとえば、セッション拒否ファイル名をaccting_detail.badとして定義したとします。

Integration Serviceは、実行時にパーティションを作成すると、パーティションごとに、

accting_detail1.bad、accting_detail2.bad、accting_detail3.badなどの拒否ファイル

を作成します。

キャッシュのパーティション化複数のパーティションを持つセッションを作成した場合、Integration Serviceではアグリ

ゲータ、ジョイナ、ルックアップ、ランク、ソータの各トランスフォーメーションについ

て、キャッシュのパーティション化が使用される場合があります。 キャッシュをパーティ

ション化する場合、Integration Serviceではパーティションごとに個別のキャッシュが作

成され、各パーティションに設定済みのキャッシュサイズが割り当てられます。

Integration Serviceでは各キャッシュに異なるデータが格納されます。この場合、各キャ

ッシュには、そのパーティションが必要とする行のみが格納されます。したがって、

Integration Serviceには各パーティションのキャッシュメモリ全体の一部が必要です。

8 章 1: パイプラインのパーティション化について

Page 28: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

パーティション化を使用するようにセッションを設定した後、セッションプロパティの

[マッピング]タブから[トランスフォーメーション]ビューを表示して、メモリ要件と

キャッシュディレクトリをトランスフォーメーション別に設定できます。各メモリ要件を

設定するには、トランスフォーメーションに必要な合計サイズを計算し、それをパーティ

ション数で割ります。パーティションごとに別々のディレクトリを設定することによっ

て、パフォーマンスを向上させることができます。

以下の表に、適用可能なそれぞれのトランスフォーメーションに対してIntegration

Serviceが使用するキャッシュのパーティション化を示します。

トランスフォーメ

ーション

説明

Aggregatorトラン

スフォーメーショ

Aggregatorトランスフォーメーションを含むセッション

に複数のパーティションを作成します。Aggregatorトラ

ンスフォーメーションにパーティションポイントを設定す

る必要はありません。

Joinerトランスフ

ォーメーション

Joinerトランスフォーメーションにパーティションポイ

ントを作成します。

Lookupトランスフ

ォーメーション

Lookupトランスフォーメーションに自動ハッシュキーパ

ーティションポイントを作成します。

Rankトランスフォ

ーメーション

Rankトランスフォーメーションを含むセッションに複数の

パーティションを作成できます。Rankトランスフォーメー

ションにパーティションポイントを設定する必要はありま

せん。

Sorterトランスフ

ォーメーション

Sorterトランスフォーメーションを含むセッションに複

数のパーティションを作成できます。Sorterトランスフ

ォーメーションにパーティションポイントを設定する必要

はありません。

パーティション化したパイプラインにおけるマッピング変数

マッピング変数を使用するターゲットロード順グループで複数のパーティションを指定す

る場合、Integration Serviceにより各パーティションのマッピング変数の値が別々に評価

されます。 Integration Serviceでは、以下のプロセスが使用され、変数値が評価されま

す。

1. Integration Serviceにより、マッピングで使用される変数関数に応じて、各パーテ

ィションの変数のカレント値が別々に更新されます。

2. ターゲットロード順グループのターゲットをすべてロードした後で、Integration

Serviceにより、変数の集計タイプに基づいて各パーティションのカレント値が単一の

終値に組み合わせられます。

パーティション化したパイプラインにおけるマッピング変数 9

Page 29: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

3. セッションに複数のターゲットロード順グループがある場合は、1つのターゲットロー

ド順グループのマッピング変数の 終カレント値が、次のターゲットロード順グルー

プのカレント値になります。

4. Integration Serviceが 後のターゲットロード順グループのロードを終了した場

合、変数の 終カレント値がリポジトリに保存されます。

マッピングで以下の変数関数の1つを使用して、変数値を設定します。

¨ SetCountVariable

¨ SetMaxVariable

¨ SetMinVariable

以下の表に、Integration Serviceがパーティション全体の変数値を計算する方法を示しま

す。

変数関数 パーティション全体での変数値の計算

SetCountVari

able

Integration Serviceでは、すべてのパーティションから 終

カレント値が計算されます。

SetMaxVariab

le

Integration Serviceでは、各パーティションの 終変数値が

比較され、 も大きい値が保存されます。

SetMinVariab

le

Integration Serviceでは、各パーティションの 終変数値が

比較され、 も小さい値が保存されます。

注: パイプラインの各マッピング変数に対して1回のみ変数関数を使用します。

Integration Serviceでは、マッピングで変数関数が検出された場合、その変数関数が処理

されます。Integration Serviceがマッピングで変数関数が検出される順序は、セッション

を実行するたびに異なります。これにより、マッピングで同じ変数関数を複数回使用した

場合、結果が矛盾することがあります。

パーティション化のルールIntegration Serviceにより、パーティション化されたデータが処理される際に、データの

一貫性が保持される場合、パイプラインに複数のパーティションを作成することができま

す。 セッションを作成した場合、Workflow Managerにより各パイプラインがパーティショ

ン化について検証されます。

オブジェクトを編集する場合のパーティションの制限

オブジェクトプロパティを編集した場合、セッションでの複数パーティションの作成や、

複数のパーティションを持つ既存のセッションの実行のための機能に影響を与える場合が

あります。

10 章 1: パイプラインのパーティション化について

Page 30: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

セッションを作成する前に

セッションを作成すると、Workflow Managerはマッピングプロパティをチェックします。

マッピングは動的にショートカットへの変更を取得しますが、再利用可能なトランスフォ

ーメーションやマプレットなどの再利用可能なオブジェクトに対してはそれを行いませ

ん。したがって、マッピングを保存した後でセッションを作成する前に再利用可能なオブ

ジェクトをDesignerで編集した場合には、マッピングを開いて保存し直すことによって、

オブジェクトへの変更をWorkflow Managerが認識できるようにする必要があります。

複数のパーティションを持つセッションを作成した後に

複数のパーティションを持つセッションを作成した後にマッピングを編集した場合、パー

ティション化のルールに違反する変更が行われた場合でも、Workflow Managerではセッシ

ョンは無効になりません。パーティション化のルールに違反しないようにセッションを編

集しない場合、次回セッションを実行したときにIntegration Serviceはセッションに失敗

します。

マッピングに次の変更を加えると、セッションの失敗を招く場合があります。

¨ パーティションポイントに当たるトランスフォーメーションを削除する。

¨ デフォルトのパーティションポイントに当たるトランスフォーメーションを追加する。

¨ パーティションポイントに当たるトランスフォーメーションを別のパイプラインに移動

する。

¨ パーティションポイントに当たるトランスフォーメーションを変更し、次のいずれかの

状態にする。

-既存のパーティションタイプが無効。

-トランスフォーメーションが複数のパーティションをサポートできない。

-トランスフォーメーションが有効なパーティションポイントではない。

¨ 複数のパーティションを持つパイプラインを作成した後に、パーティション化を無効に

するか、トランスフォーメーションで単一ノードとグリッド間のパーティション化を変

更する。

¨ 複数のパーティションを持つパイプラインを作成した後で、ジョイナトランスフォーメ

ーションのマスターおよび明細ソースを切り替える。

PowerExchangeに対するパーティション化の制限

PowerExchangeおよびPowerExchange Client for PowerCenterに対しては、複数のパーテ

ィションを指定することができます。 ただし、これには制約が伴います。これらの製品の

詳細については、各製品のマニュアルを参照してください。

パーティション化の設定セッションを作成または編集する際に、マッピング中の各パイプラインのパーティション

化を変更できます。マッピングに複数のパイプラインが含まれる場合には、あるパイプラ

インには複数のパーティションを指定し、別のパイプラインには1つのパーティションを指

パーティション化の設定 11

Page 31: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

定することもできます。セッションプロパティの[マッピング]タブからパーティション

ビューを使用して、パーティション化情報を更新できます。パーティションは、再利用不

可能なセッションの場合にはWorkflow Designerで、再利用可能なセッションの場合には

Task Developerで設定できます。

セッションプロパティの[パーティション]ビューでパーティションポイントを追加、削

除、または編集します。キー範囲パーティションポイントを追加した場合は、各範囲のキ

ーを定義できます。

以下の表に、[マッピング]タブのパーティションビューの設定オプションを一覧表示し

ます。

パーティションビ

ューのオプション

説明

パーティションポ

イントの追加

新しいパーティションポイントを追加するときにクリック

します。パーティションポイントを追加するとき、該当す

るトランスフォーメーション名が[パーティションポイン

ト]ノードに表示されます。

パーティションポ

イントの削除

選択したパーティションポイントを削除するときにクリッ

クします。

削除できないパーティションポイントもあります。

パーティションポ

イントの編集

選択したパーティションを編集するときにクリックしま

す。これにより[パーティションポイントの編集]ダイア

ログボックスが開きます。

キー範囲 パーティションタイプに応じて、パーティションポイント

のキーとキー範囲を表示します。

キー範囲パーティション化の場合には、キー範囲を指定し

ます。

ユーザー定義ハッシュキーパーティション化の場合、この

フィールドにはパーティションキーが表示されます。

他のパーティションタイプでは、この領域は表示されませ

ん。

キーの編集 キー範囲パーティション化またはユーザー定義ハッシュキ

ーパーティション化に用いるパーティションキーを追加ま

たは削除するときにクリックします。自動ハッシュキーパ

ーティション化、ラウンドロビンパーティション化、パス

スルーパーティション化の場合は、パーティションキーは

作成できません。

パイプラインへのパーティションポイントの追加

セッションプロパティの[マッピング]タブからパーティションポイントを追加します。

12 章 1: パイプラインのパーティション化について

Page 32: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

パーティションポイントを追加するには:

1. [マッピング]タブの[パーティション]ビューで、まだパーティションポイントに

なっていないトランスフォーメーションを選択し、パーティションポイントの [追

加]をクリックします。

ヒント: トランスフォーメーションは[パーティションポイント以外]ノードから選

択できます。

2. パーティションポイントのパーティションタイプを選択するか、デフォルトの値を適

用します。

3. [OK]をクリックします。

セッションプロパティの[マッピング]タブから[パーティション]ビューを開く

と、このトランスフォーメーションが[パーティションポイント]ノードに表示され

ています。

パーティションポイントの設定

パーティションポイントの編集または追加時に、以下のタスクを実行できます。

¨ パーティションポイントにおけるパーティションタイプの指定

¨ パーティションの追加と削除

¨ 各パーティションの説明の入力

以下の表に、パーティションポイントの設定オプションを示します。

パーティションオ

プション

説明

パーティションタ

イプの編集

パーティションタイプを変更します。

パーティション名 編集するパーティションを選択します。

パーティションの

追加

パーティションを追加します。任意のパーティションポイ

ントに、 大64のパーティションを追加できます。パーテ

ィションの数はパイプラインを通じて同数である必要があ

ります。このため、例えば、1つのパーティションポイン

トで3つのパーティションを定義すると、パイプライン上

の全パーティションポイントで3つのパーティションが定

義されます。

パーティションの

削除

選択したパーティションを削除します。それぞれのパーテ

ィションポイントには、 低1つのパーティションが必要

です。

説明 現在のパーティションの説明をオプションで入力します。

作成する各パーティションに、説明を入力できます。説明を入力するには、[パーティシ

ョンポイントの編集]ダイアログボックスでパーティションを選択した後、[説明]フィ

ールドに説明を入力します。

パーティション化の設定 13

Page 33: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

[パーティションポイント]ノード

[パーティションポイント]ノードでは、マッピングがトランスフォーメーションのアイ

コンで表示されます。パーティションポイントは、ツリー形式で表示されます。属性を設

定するパーティションポイントを選択してください。

[パーティションポイント]ノードでは、マッピング内の各パイプラインに対して以下の

オプションを設定できます。

¨ パーティションポイントの追加と削除

¨ 各パーティションポイントのパーティションタイプの指定

¨ パーティションの追加と削除

¨ 各パーティションの説明の入力

¨ 特定のパーティションタイプへのキーとキー範囲の追加

以下の表に、[パーティションポイント]ノードを示します。

[パーティシ

ョンポイン

ト]ノード

説明

パーティショ

ンポイントの

追加

[トランスフォーメーション]リストに新しいパーティション

ポイントを追加するときにクリックします。

パーティショ

ンポイントの

削除

現在のパーティションポイントを削除するときにクリックしま

す。削除できないパーティションポイントもあります。

パーティショ

ンポイントの

編集

現在のパーティションポイントを編集するときにクリックしま

す。

キーの編集 キー範囲パーティション化またはユーザー定義ハッシュキーパ

ーティション化に用いるキーを追加、削除、編集するときにク

リックします。このボタンは、自動ハッシュキーパーティショ

ン化、ラウンドロビンパーティション化、パススルーパーティ

ション化の場合には使用できません。

パーティションポイントの編集

[パーティションポイントの編集]ダイアログボックスでは、パーティションの追加と削

除のほか、パーティションタイプを選択することもできます。

14 章 1: パイプラインのパーティション化について

Page 34: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

以下の表に、[パーティションポイントの編集]ダイアログボックスのオプションを示し

ます。

[パーティションポイント

の編集]のオプション

説明

[追加]ボタン パーティションを追加するときにクリックしま

す。 大で64のパーティションを追加できます。

[削除]ボタン 選択したパーティションを削除するときにクリッ

クします。

名前 パーティション番号です。

説明 カレントパーティションの説明を入力します。

パーティションタイプの編

リストからパーティションタイプを選択します。

パーティションキーの編集

パーティションポイントでキー範囲パーティション化またはユーザー定義ハッシュキーパ

ーティション化を指定した場合には、1つまたは複数のポートをパーティションキーとして

指定する必要があります。[キーの編集]をクリックすると、[パーティションキーの編

集]ダイアログボックスが表示されます。

パーティションキーとしてポートを1つまたは複数指定できます。キーを構成するポートの

順序を変更するには、[選択されたポート]リストでポートを選択して上下の矢印ボタン

をクリックします。

[パーティションポイント以外]ノード

[パーティションポイント以外]ノードには、マッピングの各オブジェクトがアイコン表

示されます。非パーティションポイントが、ツリー形式で表示されます。非パーティショ

ンポイントを選択し、必要に応じてパーティションを追加できます。

パーティション化の設定 15

Page 35: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

第 2 章

パーティションポイント

この章では、以下の項目について説明します。

¨ パーティションポイントの概要, 16 ページ

¨ パーティションポイントの追加および削除, 17 ページ

¨ リレーショナルソースのパーティション化, 20 ページ

¨ ファイルソースのパーティション化, 22 ページ

¨ リレーショナルターゲットのパーティション化, 28 ページ

¨ ファイルターゲットのパーティション化, 29 ページ

¨ カスタムトランスフォーメーションのパーティション化, 33 ページ

¨ ジョイナトランスフォーメーションのパーティション化, 36 ページ

¨ ルックアップトランスフォーメーションのパーティション化, 41 ページ

¨ シーケンスジェネレータトランスフォーメーションのパーティション化, 43 ページ

¨ ソータトランスフォーメーションのパーティション化, 43 ページ

¨ XMLジェネレータトランスフォーメーションのパーティション化, 44 ページ

¨ トランスフォーメーションに関する制限, 45 ページ

パーティションポイントの概要パーティションポイントは、パイプライン内のスレッド間の境界を表す印となります。

Integration Serviceによりパーティションポイントでデータ行が再分散されます。パーテ

ィションポイントを追加して、トランスフォーメーションスレッドの数を増やし、セッシ

ョンのパフォーマンスを向上させることができます。

ソースデータベースを読み込むようにセッションを設定した場合、Integration Serviceに

よってパーティションごとにそのソースデータベースへの別々の接続とSQLクエリが作成さ

れます。 SQLクエリをカスタマイズまたはオーバーライドすることができます。

リレーショナルターゲットにデータをロードするようにセッションを設定した場合、

Integration Serviceによってターゲットインスタンスの各パーティションについてターゲ

ットデータベースへ別々の接続が作成されます。 ターゲットの拒否ファイル名とディレク

トリを設定します。Integration Serviceによって、ターゲットパーティションごとに拒否

ファイルが1つ作成されます。

16

Page 36: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

1つまたは複数のスレッドでソースファイルを読み込むようにセッションを設定できます。

ファイルを読み込むすべてのパーティションに対して同じ接続タイプを選択する必要があ

ります。

セッションにファイルターゲットへの書き込みを設定した場合、各パーティションの別々

のファイルまたはすべてのパーティションのターゲット出力を含む統合ファイルにターゲ

ット出力を書き込むことができます。それぞれのターゲットパーティションに、接続設定

およびファイルプロパティを設定できます。

トランスフォーメーションにパーティションポイントを作成すると、Workflow Managerに

より、デフォルトのパーティションタイプが設定されます。トランスフォーメーションタ

イプに応じて、パーティションタイプを変更できます。

パーティションポイントの追加および削除パーティションポイントがパイプラインのスレッド境界をマークし、パイプラインをステ

ージに分割します。

パーティションポイントを追加すると、トランスフォーメーションスレッドの数が増え、

セッションのパフォーマンスを向上できます。Integration Serviceではパーティションポ

イントでデータ行を再分散できるため、これもまたセッションのパフォーマンスを向上す

ることができます。セッションを作成した場合、Workflow Managerによりパイプライン上

の各トランスフォーメーションで、それぞれ1つのパーティションポイントが作成されま

す。

パイプラインにある、以下のトランスフォーメーションまたはターゲットインスタンスに

もとづいて、パーティションポイントを保持または削除できます。

ソース修飾子トランスフォーメーション

ソースからデータを抽出してソース修飾子に送る方法を制御します。このパーティシ

ョンポイントは削除できません。

ノーマライザトランスフォーメーション

ソースからデータを抽出してソース修飾子に送る方法を制御します。このパーティシ

ョンポイントは削除できません。

ランクトランスフォーメーション

行がトランスフォーメーションに送られる前に、行を適正にグループ化するようにし

ます。パイプラインにパーティションが1つだけ含まれる場合、あるいは1つのグルー

プに属するすべての行が、トランスフォーメーションに送られる前に1つのパーティシ

ョンに送られる場合に、このパーティションポイントを削除できます。

未ソートアグリゲータトランスフォーメーション

行がトランスフォーメーションに送られる前に、行を適正にグループ化するようにし

ます。パイプラインにパーティションが1つだけ含まれる場合、あるいは1つのグルー

プに属するすべての行が、トランスフォーメーションに送られる前に1つのパーティシ

ョンに送られる場合に、このパーティションポイントを削除できます。

パーティションポイントの追加および削除 17

Page 37: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

ターゲットインスタンス

writerがターゲットにデータを渡す方法を制御します。このパーティションポイント

は削除できません。

複数入力グループトランスフォーメーション

1つのスレッドで各パーティションを処理するように複数入力グループトランスフォー

メーションが設定されている場合や、1つのスレッドで各パーティションを処理するよ

うにダウンストリームの複数入力グループカスタムトランスフォーメーションが設定

されている場合、Workflow Managerは複数入力グループトランスフォーメーションに

パーティションポイントを作成します。

例えば、Workflow Managerは、ソート済みジョイナトランスフォーメーションにパー

ティションポイントを作成できます。Workflow Managerは、ジョイナトランスフォー

メーションが、パーティションごとに1つのスレッドを使用するように設定されたダウ

ンストリームのカスタムトランスフォーメーションに接続されると、パーティション

ポイントを作成します。

これにより、Integration Serviceは1つのスレッドを使用して、パーティションごと

に1つのスレッドを必要とするCustomトランスフォーメーションの各パーティションを

処理するようになります。このパーティションポイントは削除できません。

パーティションポイントの追加と削除に関するルールおよびガイドライン

パーティションポイントを追加したり削除したりする場合は、以下の規則およびガイドラ

インに従ってください。

¨ ソースインスタンスにはパーティションポイントを作成できません。

¨ シーケンスジェネレータトランスフォーメーションやコネクトされていないトランスフ

ォーメーションには、パーティションポイントを作成できません。

¨ 2つ以上のパイプラインステージから入力を受け入れるパーティションポイントが存在

しなければ、他の任意のトランスフォーメーションにパーティションポイントを追加で

きます。

¨ ソース修飾子トランスフォーメーション、COBOLソースのノーマライザトランスフォー

メーション、ターゲットインスタンスでは、パーティションポイントを削除できませ

ん。

¨ パーティションごとに1つのスレッドを使用するように設定されている複数の入力グル

ープカスタムトランスフォーメーションでは、パーティションポイントを削除できませ

ん。

¨ パーティションごとに1つのスレッドを使用するように設定されている複数の入力グル

ープカスタムトランスフォーメーションからのアップストリームである複数の入力グル

ープトランスフォーメーションでは、パーティションポイントを削除できません。

¨ 次のパーティションタイプには、動的パーティションに関する制限があります。

-パススルー。動的パーティションを使用した場合で、パーティションポイントでパー

ティションの数を変更した場合、各パイプラインステージ内のパーティションの数が

変更されます。

18 章 2: パーティションポイント

Page 38: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

-キー範囲。動的パーティションでキー範囲を使用するには、制限された数値または日

付キーを定義する必要があります。 無制限の範囲を使用する場合、セッションは1つ

のパーティションで実行されます。

パイプライン上のその他のトランスフォーメーションにおけるパーティションポイントの

削除と追加は、次の規則に従って行います。

¨ ソースインスタンスにはパーティションポイントを作成できません。

¨ シーケンスジェネレータトランスフォーメーションまたは接続されていないトランスフ

ォーメーションには、パーティションポイントを作成できません。

¨ 複数のパイプラインステージから入力を受け入れるパーティションポイントが存在しな

ければ、他の任意のトランスフォーメーションにパーティションポイントを追加するこ

とができます。

以下の図に、マッピング内の有効パーティションポイントを示します。

このマッピングでは、Workflow Managerにより、デフォルトでソース修飾子とターゲット

インスタンスにパーティションポイントが作成されます。式トランスフォーメーション

EXP_3に、新しいパーティションポイントを追加できます。

EXP_3にパーティションポイントを置いてパーティションを1つ定義すると、マスタースレ

ッドにより次のスレッドが作成されます。

パーティションポイントの追加および削除 19

Page 39: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

1.readerスレッド。

2.トランスフォーメーションスレッド。

3.writerスレッド。

この場合、各パーティションポイントが1つのパイプラインステージからしかデータを受け

取らないため、EXP__3は有効なパーティションポイントになります。

次のトランスフォーメーションは、有効なパーティションポイントではありません。

トランスフォ

ーメーション

理由

ソース ソースインスタンス。

SG_1 シーケンスジェネレータトランスフォーメーション。

EXP_1および

EXP_2

EXP_1またはEXP_2にパーティションポイントを置く場合、

EXP_1またはEXP_2にソース修飾子からのデータを処理する新し

いパイプラインステージを追加します。この場合、EXP_3は2つ

のパイプラインステージからデータを受け取ることになるた

め、この操作は許可されません。

リレーショナルソースのパーティション化リレーショナルまたはアプリケーションソースをパーティション化するセッションを実行

した場合、Integration Serviceによって各パーティションについてソースデータベースへ

別々の接続が作成されます。 その後、各パーティションにSQLクエリーが作成されます。

[マッピング]タブの[トランスフォーメーション]ビューにフィルタ条件を入力するこ

とで、各ソースパーティションのクエリーをカスタマイズできます。また、[マッピン

グ]タブの[トランスフォーメーション]ビュー.を使用して各ソースパーティションの

SQLクエリーを上書きすることもできます。

注: データベーステーブルを読み込むカスタムSQLクエリを作成し、データベースパーテ

ィション化を設定した場合、Integration Serviceはパススルーパーティション化に戻り、

セッションログにメッセージが出力されます。

SQLクエリの入力

SQLクエリーのSELECT文をカスタマイズしたい場合は、SQLオーバーライドを入力します。

[マッピング]タブの[トランスフォーメーション]ビューに入力したSQL文により、ソー

ス修飾子トランスフォーメーションを設定する際にDesignerで設定したカスタマイズSQLク

エリーが上書きされます。

SQLクエリにより、ソースパーティションに対して入力したキー範囲およびフィルタ条件が

すべてオーバーライドされます。したがって、ユーザーがキー範囲およびソースフィルタ

も入力した場合、Integration ServiceによってSQLクエリオーバーライドが使用され、ソ

ースデータが抽出されます。

20 章 2: パーティションポイント

Page 40: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

NULL値を含むキーを作成した場合、別のパーティションを作成してNULL値を抽出するSQLク

エリーまたはフィルタを入力することによって、NULL値を抽出することができます。

各パーティションにSQLクエリーを入力するには、まず[Sql Query]フィールドの右端の

ボタンをクリックします。[SQLエディタ]ダイアログボックスにクエリーを入力し、

[OK]をクリックします。

ソース修飾子トランスフォーメーションを設定したときにDesignerでSQLクエリーを入力し

た場合、各パーティションの[Sql Query]フィールドにそのクエリーが表示されます。こ

のクエリーを上書きするには、[Sqlクエリ]フィールドの右端のボタンをクリックし、

[SQLエディタ]ダイアログボックスでクエリーを変更したあと、[OK]をクリックしま

す。

フィルタ条件の入力

リレーショナルソース修飾子にキー範囲パーティション化を指定する場合、追加のフィル

タ条件を入力することができます。この操作を行った場合、セッションプロパティで入力

したフィルタ条件を含むWHERE句がIntegration Serviceによって生成されます。

[マッピング]タブの[トランスフォーメーション]ビューに入力したフィルタ条件によ

り、ソース修飾子トランスフォーメーションを設定する際にDesignerで設定したフィルタ

条件が上書きされます。

キー範囲パーティション化を使用する場合、フィルタ条件はキー範囲と関連しながら機能

します。たとえば、顧客IDに基づいてデータを選択したいが、USA以外の顧客の情報は抽出

したくないとします。次のキー範囲を定義します。

CUSTOMER_ID Start Range End RangePartition #1 135000Partition #2 135000

USA以外の顧客のIDが特定のパーティションの範囲内にあると分かっている場合は、そのパ

ーティションにフィルタを入力してそれらを排除することができます。したがって、2番目

のパーティションに次のフィルタ条件を入力します。

CUSTOMERS.COUNTRY = ‘USA’

このセッション実行すると、次のような2つのパーティション用クエリーがセッションログ

に記録されます。

READER_1_1_1> RR_4010 SQ instance [SQ_CUSTOMERS] SQL Query [SELECT CUSTOMERS.CUSTOMER_ID, CUSTOMERS.COMPANY, CUSTOMERS.LAST_NAME FROM CUSTOMERS WHERE CUSTOMER.CUSTOMER ID < 135000]

[...]

READER_1_1_2> RR_4010 SQ instance [SQ_CUSTOMERS] SQL Query [SELECT CUSTOMERS.CUSTOMER_ID, CUSTOMERS.COMPANY, CUSTOMERS.LAST_NAME FROM CUSTOMERS WHERE CUSTOMERS.COUNTRY = ‘USA’ AND 135000 <= CUSTOMERS.CUSTOMER_ID]

フィルタ条件を入力するには、まず[ソースフィルタ]フィールドで[参照]ボタンをク

リックします。[SQLエディタ]ダイアログボックスにフィルタ条件を入力し、[OK]をク

リックします。

ソースフィルタトランスフォーメーションを設定したときにDesignerでフィルタ条件を入

力している場合は、各パーティションの[ソースフィルタ]フィールドにそのクエリーが

表示されます。このフィルタを上書きするには、[ソースフィルタ]フィールドの右端の

ボタンをクリックし、[SQLエディタ]ダイアログボックスでフィルタ条件を変更したあ

と、[OK]をクリックします。

リレーショナルソースのパーティション化 21

Page 41: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

ファイルソースのパーティション化セッションによってファイルソースが使用される場合は、1つまたは複数のスレッドでソー

スを読み込むようにセッションを設定できます。1つのスレッドで読み込むようにセッショ

ンを設定した場合、Integration Serviceによってファイルソースへの接続が1つ作成され

ます。複数のスレッドで読み込むようにセッションを設定した場合は、ファイルソースへ

の複数の同時接続が作成されます。

次のタイプのパーティション化されたファイルソースを使用します。

¨ フラットファイル。フラットファイル、XMLファイル、またはCOBOLソースファイルを読

み込むようにセッションを設定できます。

¨ コマンド。オペレーティングシステムコマンドを使用してソースデータ行を生成する

か、ファイルリストを生成するようにセッションを設定できます。

ファイルソースに接続する際には、全パーティションに同じ接続タイプを選択する必要が

あります。すべての接続オブジェクトが同じタイプであれば、異なる接続オブジェクトを

選択できます。

そのフラットファイルソースに対してシングルスレッドまたはマルチスレッド読み込みを

指定するには、パーティション 2-nのソースファイル名プロパティを設定します。1つのス

レッドによる読み込み(シングルスレッド読み込み)を設定するには、パーティション 2-

nに空データを渡します。複数のスレッドによる読み込み(マルチスレッド読み込み)を設

定するには、パーティション 2-nのソースファイル名を空欄のままにしておきます。

ファイルソースのパーティション化の規則およびガイドライン

複数のパーティションを持つファイルソースセッションを設定する場合は、以下の規則お

よびガイドラインに従ってください。

¨ ソース修飾子でパススルーパーティション化を使用します。

¨ フラットファイルまたはCOBOLソースで、シングルスレッドまたはマルチスレッド読み

込みを使用します。

¨ XMLソースでは、シングルスレッド読み込みを使用します。

¨ ソースファイルがディスク以外のファイル(FTPファイルやWebSphere MQソースなど)

の場合は、マルチスレッド読み込みは使用できません。

¨ マルチスレッド読み込みを使用してよいのは、シフト依存コードのページを使用してい

て、次の条件に該当する場合です。

-固定長ファイルである。

-ラインシーケンシャルファイルではない。

-ソース定義中のユーザー定義シフト状態を有効にしていない。

¨ 3つのフラットファイルから同時にデータを読み込むには、ソース修飾子に3つのパーテ

ィションを指定する必要があります。デフォルトのパーティションタイプであるパスス

ルーパーティション化を適用します。

¨ セッションにマルチスレッド読み込みを設定している場合で、Integration Serviceで

ファイルソースへの複数のスレッドが作成できない場合は、セッションログにメッセー

ジが書き込まれ、1つのスレッドでソースが読み込まれます。

22 章 2: パーティションポイント

Page 42: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

¨ Integration Serviceによって複数のスレッドが使用され、1つのソースファイルが読み

込まれる場合は、ファイルの行が順次読み込まれない場合があります。 ソート順が重

要な場合は、1つのスレッドでファイルを読み込むようにセッションを設定してくださ

い。たとえば、マッピング中にソート済みジョイナトランスフォーメーションがあり、

ファイルソースがソートの基点である場合は、ソート順が重要な場合があります。

¨ 負荷を平均化するために、直接ファイルと間接ファイルを組み合わせて使用することも

できます。

¨ マルチスレッド読み込みのセッションパフォーマンスは、大きなソースファイルの場合

に 適になります。入力データの量が少ない場合は、負荷が分散されない可能性があり

ます。

¨ コマンドがソースデータを生成する場合で、セッションがグリッド上で実行されるよう

に設定されているか、 後のチェックポイントからの再開のリカバリ戦略を使用するよ

うに設定されている場合は、ファイルソースにこのコマンドを使用することはできませ

ん。

ファイルソースの読み込むための1つのスレッドの使用

Integration Serviceによって1つのスレッドが使用され、ファイルソースが読み込まれる

場合、そのソースへの接続が1つ作成されます。 Integration Serviceによって、ファイル

中またはファイルリスト中の行が順次読み込まれます。 セッション中の直接または間接フ

ァイルソースに対してシングルスレッド読み込みを設定できます。

¨ 直接ファイルの読み込み。1つ以上の直接ファイルから読み込むようにIntegration

Serviceを設定することができます。 複数の直接ファイルがあるセッションを設定する

場合は、Integration Serviceによってファイルごとに1つの同時接続が作成されます。

1つのファイルに対して複数の接続は作成しません。

¨ 間接ファイルの読み込み。Integration Serviceによって間接ファイルが読み込まれる

場合は、ファイルリストが読み込まれ、次にリスト中のファイルが順次読み込まれま

す。 セッションに複数のファイルリストがある場合は、Integration Serviceによって

ファイルリストが同時に読み込まれ、次にリスト内のファイルが順次読み込まれます。

ファイルソースの読み込むための複数のスレッドの使用

Integration Serviceによって複数のスレッドでソースファイルが読み込まれる場合、その

ソースに対して複数の同時接続が作成されます。 Integration Serviceでは、ファイル中

の行を順次読み込む場合も読み込まない場合もあります。

セッション内の直接または間接ファイルに対してマルチスレッド読み込みを設定すること

ができます。

¨ 直接ファイルの読み込み。Integration Serviceによって1つの直接ファイルが読み込ま

れる場合に、複数のreaderスレッドが作成され、同時に読み込まれます。 1つ以上の直

接ファイルから読み込むようにIntegration Serviceを設定することができます。 例え

ば、セッションによって2つのファイルから読み込みが行われ、ユーザーが5つのパーテ

ィションを作成している場合は、Integration Serviceによって1つのファイルを2つの

パーティションに、もう1つのファイルを3つのパーティションに分けることができま

す。

ファイルソースのパーティション化 23

Page 43: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

¨ 間接ファイルの読み込み。Integration Serviceによって1つの間接ファイルが読み込ま

れる場合に、複数のスレッドが作成され、同時に読み込まれます。 リスト中のファイ

ルを同時に読み込むためにも、複数のスレッドが作成されます。Integration Service

によって、複数のスレッドが使用され単一のファイルが読み込まれる場合があります。

ファイルのパーティション化の設定

パーティションポイントを作成してパーティション情報を設定した後、[マッピング]の

[トランスフォーメーション]ビューでソース接続に関する設定とファイルプロパティの

設定ができます。ソースノードの下にある設定対象のソースインスタンス名をクリックし

ます。ファイルソースのソースインスタンス名をクリックすると、セッションプロパティ

に接続およびファイルのプロパティが表示されます。

ソースファイル名やディレクトリを、ソースパーティションごとに設定できます。

Workflow Managerは、パーティションごとにファイル名と格納場所を生成します。

以下の表に、マッピングにおけるファイルソースのファイルプロパティ設定を示します。

属性 説明

入力タイプ ソース入力のタイプ。次のソース入力のタイプを選択できま

す。

- ファイル。フラットファイルの場合は、COBOLまたはXMLソー

ス。

- コマンド。コマンドによって生成されたソースデータまたは

ファイルリスト。

コマンドを使用してXMLソースデータを生成することはできま

せん。

同時読み取り

のパーティシ

ョン化

複数のパーティションがソースファイルから入力行を読み込む

順序。以下のオプションを選択することができます。

- スループットを 適化します。Integration Serviceは入力

行の順序を保持しません。

- 相対入力行の順序を保持します。Integration Serviceは、

各パーティションによって読み込まれる行について、入力行

の順序を保持します。

- 絶対入力行の順序を保持します。Integration Serviceは、

すべてのパーティションによって読み込まれるすべての行に

ついて、入力行の順序を保持します。

ソースファイ

ルのディレク

トリ

フラットファイルソースのディレクトリ名。デフォルトで、

Integration Serviceは、サービスのプロセス変数ディレクト

リ$PMSourceFileDirでファイルソースを検索します。

[Source Filename]フィールドにディレクトリとファイル名

の両方を指定する場合は、このフィールドをクリアします。

Integration Serviceはセッションの実行時に、このフィール

ドと[ソースファイル名]フィールドを連結します。

また、セッションパラメータ$InputFileNameを使用してファイ

ルの場所を指定することもできます。

ソースファイ

ル名

フラットファイルソースのファイル名およびパス。必要に応じ

て、このファイル名にセッションパラメータ$InputFileNameを指定することもできます。

24 章 2: パーティションポイント

Page 44: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

属性 説明

Integration Serviceはセッションの実行時に、このフィール

ドと[ソースファイルのディレクトリ]フィールドを連結しま

す。例えば、[ソースファイルのディレクトリ]フィールドに

「C:\data\\u201d」と指定されている場合は、[ソースファイ

ル名]フィールドに「filename.dat」と入力します。

Integration Serviceはセッションを開始するときに「C:\data

\filename.dat」を検索します。

デフォルトでは、Workflow Managerはソース定義に設定されて

いるファイル名を入力します。

ソースファイ

ルタイプ

次のソースファイルのタイプを選択できます。

- Direct。ソースデータを含むソースファイル。

- Indirect。ファイルのリストを含むソースファイル。

[Indirect]を選択した場合、セッションを開始すると

Integration Serviceはファイルリストを検索し、リスト内

の各ファイルを読み込みます。

コマンドのタ

イプ

コマンドが生成するソースデータのタイプ。次のコマンドのタ

イプを選択できます。

- ソースデータ入力行を生成するコマンドのデータを生成する

コマンド。

- ファイルリストを生成するコマンドのファイルリストを生成

するコマンド。

コマンド ソースファイルデータを生成するために使用するコマンド。

1つのスレッドを使用するセッションの設定

1つのスレッドでファイルを読み込むようにセッションを設定するには、パーティション

2-nに空データを渡します。空データを渡すには、データのないファイル(empty.txtな

ど)を作成し、それをソースファイルディレクトリに置きます。次に、empty.txtをソース

ファイル名として使用します。

注: コマンドを使用してソースデータを生成するパーティション化されたソースに対して

シングルスレッド読み込みを設定することはできません。

次の表に、Integration Serviceで1つのスレッドを作成してProductsA.txtを読み込む場

合のソースファイル名と値を示します。ファイル内の行は順番に読み込まれます。ファイ

ルを読み込んだ後、トランスフォーメーションパイプラインの3つのパーティションにデー

タが渡されます。

ソースファイル名 値

Partition #1 ProductsA.txt

Partition #2 empty.txt

Partition #3 empty.txt

ファイルソースのパーティション化 25

Page 45: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

次の表に、Integration Serviceで2つのスレッドを作成する場合のソースファイル名と値

を示します。ProductsA.txtを読み込むスレッドとProductsB.txtを読み込むスレッドがそ

れぞれ作成されます。2つのファイルが同時に読み込まれ、各ファイル内の行は順番に読み

込まれます。

ソースファイル名 値

Partition #1 ProductsA.txt

Partition #2 empty.txt

Partition #3 ProductsB.txt

FTPを使用してソースファイルにアクセスする場合は、直接ファイルごとに異なる接続を選

択できます。

複数のスレッドを使用するセッションの設定

複数のスレッドでファイルを読み込むようにセッションを設定するには、パーティション

2-nのソースファイル名を空欄のままにしておきます。Integration Serviceによって、パ

ーティション2-nが使用され、前回のパーティションファイルまたはファイルリストの一部

が読み込まれます。 Integration Serviceによってそのパーティションのディレクトリフ

ィールドは無視されます。

セッションを複数のスレッドでコマンドから読み込むように設定するには、各パーティシ

ョンごとにコマンドを入力するか、パーティション2-nのコマンドプロパティを空白のまま

にします。パーティションごとにコマンドを入力した場合、Integration Serviceによっ

て、各コマンドによって生成されたデータを読み込むスレッドが作成されます。 それ以外

の場合は、Integration Serviceによって、パーティション2-nが使用され、 初のパーテ

ィションのコマンドによって生成されたデータの一部が読み込まれます。

次の表に、Integration Serviceで3つのスレッドを作成してProductsA.txtを同時に読み

込む場合の属性と値を示します。

属性 値

Partition #1 ProductsA.txt

Partition #2 <空欄>

Partition #3 <空欄>

26 章 2: パーティションポイント

Page 46: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

次の表に、Integration Serviceで3つのスレッドを作成してProductsA.txtと

ProductsB.txtを同時に読み込む場合の属性と値を示します。ProductsA.txtを2つのスレ

ッドで読み込み、ProductsB.txtを1つのスレッドで読み込みます。

属性 値

Partition #1 ProductsA.txt

Partition #2 <空欄>

Partition #3 ProductsB.txt

次の表に、Integration Serviceで3つのスレッドを作成して、コマンドからパイプで渡さ

れるデータを同時に読み込む場合の属性と値を示します。

属性 値

Partition #1 CommandA

Partition #2 <空欄>

Partition #3 <空欄>

次の表に、Integration Serviceで3つのスレッドを作成して、CommandAとCommandBからパ

イプで渡されるデータを同時に読み込む場合の属性と値を示します。CommandAからパイプ

で渡されるデータを2つのスレッドで読み込み、CommandBからパイプで渡されるデータを1

つのスレッドで読み込みます。

属性 値

Partition #1 CommandA

Partition #2 <空欄>

Partition #3 CommandB

同時読み込みのパーティション化の設定

デフォルトでは、複数のパーティションが1つのファイルソースから読み込む場合、

Integration Serviceは行の順序を保持しません。複数のパーティションが1つのファイル

ソースから読み込む場合に行の順序を保持するには、同時読み取りのパーティション化を

設定します。以下のオプションを設定することができます。

¨ スループットを 適化します。複数のパーティションによって単一のファイルソースか

ら読み込まれる場合、Integration Serviceでは行の順序は保持されません。 複数のパ

ーティションによってファイルソースから読み込まれる順序が重要でない場合にこのオ

プションを使用します。

ファイルソースのパーティション化 27

Page 47: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

¨ 相対入力行の順序を維持します。各パーティションによって読み込まれる入力行のソー

ト順を維持します。 各パーティションによって読み込まれる入力行のソート順を維持

する場合にこのオプションを使用します。

以下の表に、2つのパーティションごとに10行を含むファイルソースのソート順の例を

示します。

パーティション 読み込まれる行

Partition #1 1,3,5,8,9

Partition #2 2,4,6,7,10

¨ 絶対入力行の順序を維持します。すべてのパーティションによって読み込まれるすべて

の入力行のソート順を維持します。 セッションが実行されるたびに入力行のソート順

を保持する場合にこのオプションを使用します。パッシブトランスフォーメーションを

含むパススルーマッピングでは、ターゲットに書き込まれる行の順序は、入力行と同じ

順序になります。

以下の表に、2つのパーティションごとに10行を含むファイルソースのソート順の例を

示します。

パーティション 読み込まれる行

Partition #1 1,2,3,4,5

Partition #2 6,7,8,9,10

注: デフォルトでは、Integration Serviceは、 後のチェックポイントからの再開のリカ

バリ戦略が設定されたセッションで、[絶対入力行の順序の保持]オプションを使用しま

す。

リレーショナルターゲットのパーティション化

リレーショナルターゲットにデータをロードするようにパイプラインを設定した場合、

Integration Serviceによってターゲットインスタンスの各パーティションについてターゲ

ットデータベースへ別々の接続が作成されます。 各パーティションのデータが、同時にタ

ーゲットデータベースにロードされます。

セッションプロパティの[マッピング]タブでパイプラインにおけるターゲットのパーテ

ィション属性を設定します。リレーショナルターゲットの場合、拒否ファイル名とディレ

クトリを設定します。Integration Serviceによって、ターゲットパーティションごとに拒

否ファイルが1つ作成されます。

28 章 2: パーティションポイント

Page 48: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

以下の表に、パイプライン中のリレーショナルターゲットのパーティション化属性を示し

ます。

属性 説明

拒否ファイルデ

ィレクトリ

ターゲット拒否ファイルの場所。デフォルトは、

$PMBadFileDir です。

拒否ファイル名 拒否ファイルの名前。デフォルトは「ターゲット名パーティション番号.bad」です。 また、セッションパラメータファ

イルで定義したように、セッションパラメータ

「$BadFileName」を使用することもできます。

データベースの互換性

ターゲットインスタンスに複数のパーティションがあるセッションを設定した場合、

Integration Serviceによってターゲットへの接続が各パーティションに1つずつ作成され

ます。 データベースにロードするセッションや、テーブルへの複数の同時接続をサポート

しないODBCターゲットにロードするセッションに複数のターゲットパーティションを設定

すると、セッションは失敗します。

Informixデータベースにデータをロードするセッションに複数のターゲットパーティショ

ンを作成する場合、行レベルのロックを指定したターゲットテーブルを作成する必要があ

ります。複数のパーティションを作成したセッションから、ページレベルのロックが設定

されたInformixターゲットにデータを挿入すると、セッションは失敗し、次のメッセージ

が返されます。

WRT_8206 Error: The target table has been created with page level locking. The session can only run with multi partitions when the target table is created with row level locking.

Sybase IQでは、テーブルへの複数の同時接続は利用できません。Sybase IQにロードする

セッションに複数のターゲットパーティションを作成した場合、Integration Serviceによ

って1つのパーティションにすべてのデータがロードされます。

ファイルターゲットのパーティション化セッションにファイルターゲットへの書き込みを設定した場合、各パーティションの別々

のファイルまたはすべてのパーティションのターゲット出力を含む統合ファイルにターゲ

ット出力を書き込むことができます。セッションを実行する際、Integration Serviceによ

って個別の出力ファイルまたは統合ファイルに同時に書き込まれます。 1つのパーティシ

ョンまたはすべてのターゲットパーティションのデータをオペレーティングシステムコマ

ンドに送信することもできます。

それぞれのターゲットパーティションに、接続設定およびロパティを設定できます。これ

らの設定は、[マッピング]タブの[トランスフォーメーション]ビューで設定します。

パーティション化されたFTPファイルターゲットを使用するようにセッションを設定するこ

ともできます。

ファイルターゲットのパーティション化 29

Page 49: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

接続設定の設定

すべてのターゲットパーティションの接続タイプを設定するには、[マッピング]タブの

[トランスフォーメーション]ビューの[接続]設定を使用します。各パーティションに

別々の接続オブジェクトを指定できますが、すべて同じタイプである必要があります。

次の接続タイプのいずれかをターゲットファイルで使用します。

¨ なし。パーティション化されたターゲットファイルをローカルマシンに書き込みます。

¨ FTP。パーティション化されたターゲットファイルを別のマシンに転送します。

Integration Serviceが接続できるすべてのマシンにファイルを転送することができま

す。

¨ ローダー。複数の出力ファイルからロードできる外部ローダーを使用します。 パイプ

ラインによりデータがリレーショナルターゲットにロードされ、[マッピング]タブの

[Writers]設定でファイルwriterが選択されている場合に、このオプションが表示さ

れます。複数の出力ファイルからロードできないローダーを選択した場合、

Integration Serviceではセッションが失敗します。

¨ メッセージキュー。パーティション化されたターゲットファイルをWebSphere MQメッセ

ージキューに転送します。

注: すべてのターゲットパーティションに対してローカルまたはFTP接続タイプを選択し

た場合、ターゲットファイルを統合することができます。外部ローダーまたはWebSphere

MQメッセージキューをターゲット接続タイプとして使用する場合、複数のパーティション

を持つセッションからの出力ファイルは統合できません。

以下の表に、マッピングにおけるファイルターゲットの接続オプションを示します。

属性 説明

接続タイプ FTP、外部ローダ、メッセージキューのいずれかの接続を選

択します。ローカル接続を行う場合は、[なし]を選択しま

す。

接続タイプはすべてのパーティションで同じになります。

値 FTP、外部ローダ、メッセージキューのいずれかの接続の場

合は、このフィールドの[開く]をクリックして接続オブジ

ェクトを選択します。

各パーティションに別々の接続オブジェクトを指定できま

す。

ファイルプロパティの設定

フラットファイルソースのファイルプロパティを設定するには、[マッピング]タブの

[トランスフォーメーション]ビューの[プロパティ]設定を使用します。

30 章 2: パーティションポイント

Page 50: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

以下の表に、マッピングにおけるファイルターゲットのファイルプロパティを示します。

属性 説明

Merge Type Integration Serviceによって実行される、パーティション

化されたターゲットのデータの統合のタイプ。

ターゲットファイルのマージ時に、Integration Serviceは

すべてのパーティションの出力をセッションの実行中にマ

ージファイルまたはコマンドに書き込みます。

セッションで外部ローダ、メッセージキューのいずれかを

使用する場合には、ファイルはマージできません。

マージファイル

ディレクトリ

マージファイルの場所。デフォルトは、$PMTargetFileDir

です。

マージファイル

結合ファイルの名前。デフォルトでは「ターゲット名.out」です。

Append if

Exists

各パーティションのターゲットファイルおよびリジェクト

ファイルに出力データを追加します。ターゲットファイル

をマージする場合、出力データをマージファイルに追加し

ます。ターゲットファイルがディスク以外のファイル(FTP

ターゲットファイルなど)の場合は、このオプションは使

用できません。

このオプションを選択しないと、出力データがターゲット

ファイルに書き込まれる前に、各ターゲットファイルが切

り詰められます。ファイルが存在しない場合は、作成され

ます。

Output Type セッションのターゲットのタイプ。ターゲットデータをフ

ァイルターゲットに書き込むためのファイルを選択しま

す。ターゲットデータをコマンドに送信するには、[コマ

ンド]を選択します。FTPまたはキューターゲット接続に対

して[コマンド]を選択することはできません。

ヘッダーオプシ

ョン

ファイルターゲットにヘッダー行を作成します。

ヘッダーコマン

ファイルターゲットにヘッダー行を生成するために使用す

るコマンド。

Footer Command ファイルターゲットにフッタ行を生成するために使用する

コマンド。

Merge Command マージされたターゲットデータを処理するために使用する

コマンド。

Output File

Directory

ターゲットファイルの場所。デフォルトは、

$PMTargetFileDirです。

Output File

Name

ターゲットファイルの名前。デフォルトは「ターゲット名パーティション番号.out」です。また、パラメータファイ

ルで定義したように、セッションパラメータ

「$OutputFileName」を使用することもできます。

ファイルターゲットのパーティション化 31

Page 51: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

属性 説明

Rejet File

Directory

ターゲットリジェクトファイルの場所。デフォルトは、

$PMBadFileDir です。

Reject File

Name

リジェクトファイルの名前。デフォルトは「target namepartition number.bad」です。

また、パラメータファイルで定義したセッションパラメー

タ「$BadFileName」を使用することもできます。

Command 1つのパーティションのターゲット出力データを処理するた

めに使用するコマンド。

パーティション化されたファイルターゲットのコマンドの設定

コマンドを使用して、1つのパーティションのターゲットデータを処理するか、セッション

内のすべてのターゲットパーティションのマージデータを処理します。UNIXでは、有効な

任意のUNIXコマンドまたはシェルスクリプトを使用します。Windowsでは、有効な任意の

DOSまたはバッチファイルを使用します。Integration Serviceは、フラットファイルター

ゲットまたはマージファイルではなく、コマンドにデータを送信します。

コマンドを使用して次のタイプのターゲットデータを処理します。

¨ 単一のパーティションのターゲットデータ。ターゲットパーティションごとにコマンド

を入力できます。 Integration Serviceによって、セッションの実行中にターゲットデ

ータがコマンドに送信されます。

1つのパーティションのターゲットデータをコマンドに送信するには、[出力タイプ]

に対して[コマンド]を選択します。セッションプロパティでパーティションの[コマ

ンド]プロパティにコマンドを入力します。

¨ すべてのターゲットパーティションの統合データ。コマンドを入力してすべてのパーテ

ィションの統合データを処理できます。 Integration Serviceによって、セッション実

行中にすべてのパーティションのターゲットデータがこのコマンドに同時に送信されま

す。 このコマンドはターゲットデータの順序を維持できません。

すべてのパーティションのマージデータをコマンドに送信するには、[出力タイプ]と

して[コマンド]を選択し、セッションプロパティで[Merge Command Line]プロパテ

ィにコマンドを入力します。

統合オプションの設定

セッション内のパーティションのターゲットデータを統合できます。ターゲットデータを

統合する際、Integration Serviceによってすべてのターゲットパーティションに対して統

合ファイルが作成されます。

32 章 2: パーティションポイント

Page 52: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

次の統合ファイルオプションを設定できます。

¨ シーケンシャル統合。Integration Serviceによってすべてのパーティションに対して

出力ファイルが作成され、続いてセッションの 後に出力ファイルが単一の統合ファイ

ルに統合されます。 Integration Serviceによって各パーティションの出力データが統

合ファイルに順次追加されます。Integration Serviceによって、パーティションの

[出力ファイル名]および[出力ファイルディレクトリ]の値を使用して、個々のター

ゲットファイルが作成されます。

¨ ファイルリスト。Integration Serviceによって、すべてのパーティションに対してタ

ーゲットファイルが作成され、個々のファイルのパスを含むファイルリストが作成され

ます。 Integration Serviceによって、パーティションの[出力ファイル名]および

[出力ファイルディレクトリ]の値を使用して、個々のターゲットファイルが作成され

ます。 ターゲットファイルをマージディレクトリまたはマージディレクトリの下のデ

ィレクトリに書き込んだ場合、ファイルリストには相対パスが含まれます。それ以外の

場合は、リストファイルには絶対パスが含まれます。別のマッピングでソースファイル

としてターゲットファイルを使用する場合は、このリストファイルをソースファイルと

して使用します。

¨ 同時統合Integration Serviceにより、すべてのターゲットパーティションのデータが

統合ファイルに同時に書き込まれます。 パーティションごとに中間ファイルは作成さ

れません。Integration Serviceによってすべてのパーティションに対し統合ファイル

に同時に書き込まれるため、統合ファイル内のデータのソート順は連続していない可能

性があります。

カスタムトランスフォーメーションのパーティション化

マッピングに、カスタムトランスフォーメーション、Javaトランスフォーメーション、SQL

トランスフォーメーション、またはHTTPトランスフォーメーションが含まれる場合は、以

下のパーティション化情報を編集することができます。

¨ 複数のパーティションの追加。カスタムトランスフォーメーションで複数のパーティシ

ョンの設定ができる場合、複数のパーティションを作成することができます。

¨ パーティションポイントの作成トランスフォーメーションで複数のパーティションの設

定ができない場合でも、カスタムトランスフォーメーションにパーティションポイント

を作成することはできます。

Java、SQL、およびHTTPの各トランスフォーメーションは、カスタムトランスフォーメーシ

ョンを使用して構築され、同じ機能を持っています。カスタムトランスフォーメーション

を使用して作成されたすべてのトランスフォーメーションが、カスタムトランスフォーメ

ーションと同じパーティション化機能を持つとは限りません。

各パーティションを1つのスレッドで処理するようにカスタムトランスフォーメーションを

設定した場合、Workflow Managerによってマッピングの設定に基づいてパーティションポ

イントが追加されます。

カスタムトランスフォーメーションのパーティション化 33

Page 53: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

複数のパーティションに関する作業

マッピングで複数のパーティションが許可されるように、カスタムトランスフォーメーシ

ョンを設定することができます。 トランスフォーメーションの[Is Partitionable]プロ

パティを設定した場合、パイプラインにパーティションを追加できます。[Is

Partitionable]オプションに対して次の値を選択できます。

¨ いいえ。トランスフォーメーションはパーティション化できません。 同一パイプライ

ン内のこのトランスフォーメーションおよびその他のトランスフォーメーションは、1

つのパーティションに含まれる必要があります。データクレンジングなど、トランスフ

ォーメーションによりすべての入力データが一度に処理される場合は、[いいえ]を選

択する場合があります。

¨ ローカルで。トランスフォーメーションをパーティション化することはできますが、

Integration Serviceにより同じノード上のパイプラインですべてのパーティションが

実行される必要があります。 トランスフォーメーションの異なるパーティションがメ

モリ内のオブジェクトを共有する必要がある場合に[ローカル]を選択します。

¨ グリッドをまたがる。トランスフォーメーションをパーティション化することができ、

Integration Serviceにより各パーティションは異なるノードに分散されます。

注: 複数入力または出力グループカスタムトランスフォーメーションを含むマッピングに

複数のパーティションを追加する場合は、すべてのグループに対して同じ数のパーティシ

ョンを定義します。

パーティションポイントの作成

トランスフォーメーションで複数のパーティションの設定ができない場合でも、カスタム

トランスフォーメーションにパーティションポイントを作成することはできます。 カスタ

ムトランスフォーメーションにパーティションポイントを作成する際は、以下のルールお

よびガイドラインを使用します。

¨ トランスフォーメーション内の各入力グループについてパーティションタイプを定義す

ることができます。 出力グループについてパーティションタイプを定義することはで

きません。

¨ 有効なパーティションタイプは、パススルー、ラウンドロビン、キー範囲、およびユー

ザー定義ハッシュキーです。

スレッドに関する作業

Integration Serviceがパーティションごとに1つのスレッドを使用してトランスフォーメ

ーションを処理するようにカスタムトランスフォーメーションを設定するには、[パーテ

ィションごとに1つのスレッドを要求します]カスタムトランスフォーメーションプロパテ

ィを有効にします。 Workflow Managerによって、マッピング内の入力グループの数および

カスタムトランスフォーメーションの場所に基づいて、パススルーパーティションポイン

トが作成されます。

1つの入力グループ

単一の入力グループのカスタムトランスフォーメーションが、パーティションポイントの

ない複数の入力グループのカスタムトランスフォーメーションからのダウンストリームで

34 章 2: パーティションポイント

Page 54: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

ある場合、Workflow Managerにより、 も近いアップストリームの複数の入力グループト

ランスフォーメーションにパススルーパーティションポイントが配置されます。

例えば、以下のマッピングを検討します。

1.パーティションポイント。

2.複数の入力グループ。

3.単一の入力グループ。

4.パーティションごとに1つのスレッドが必要です。

5.パーティションごとに1つのスレッドを必要としません。

CT_quartileは1つの入力グループを含んでおり、複数の入力グループを含むトランスフォ

ーメーションであるCT_sortからのダウンストリームです。CT_quartileによりパーティシ

ョンごとに1つのスレッドが必要とされますが、アップストリームのカスタムトランスフォ

ーメーションであるCT_sortでは必要とされません。Workflow Managerにより、 も近い

アップストリームの複数の入力グループトランスフォーメーション、CT_Sortにパーティシ

ョンポイントが作成されます。

複数の入力グループ

Workflow Managerにより、パーティションごとに単一のスレッドを必要とする複数の入力

グループのカスタムトランスフォーメーションにパーティションポイントが配置されま

す。

例えば、以下のマッピングを検討します。

1.パーティションポイント

2.複数の入力グループ。

3.パーティションごとに1つのスレッドが必要です。

4.パーティションごとに1つのスレッドを必要としません。

カスタムトランスフォーメーションのパーティション化 35

Page 55: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

CT_Order_classおよびCT_Order_Prepには複数の入力グループがありますが、

CT_Order_Prepだけがパーティションごとに1つのスレッドを必要とします。Workflow

ManagerはCT_Order_Prepにパーティションポイントを作成します。

ジョイナトランスフォーメーションのパーティション化

トランスフォーメーション範囲が[すべての入力]の場合、ジョイナトランスフォーメー

ションにパーティションポイントを作成すると、Workflow Managerはパーティションタイ

プを自動ハッシュキーに設定します。トランスフォーメーション範囲が[トランスフォー

メーション]の場合は、パーティションタイプがパススルーに設定されます。

マスターソースと明細ソースで同数のパーティションを作成する必要があります。ソート

済み入力を使用するようにジョイナトランスフォーメーションを設定した場合は、パーテ

ィションタイプをパススルーに変更できます。パイプラインにジョイナトランスフォーメ

ーションのマスターソースが含まれる場合、指定できるパーティションは1つだけで、この

ジョイナトランスフォーメーションにパーティションポイントを追加することはできませ

ん。

ジョイナトランスフォーメーションにパーティションポイントを作成した場合、

Integration Serviceによってキャッシュのパーティション化が使用されます。 ジョイナ

トランスフォーメーションでパーティション化を使用する場合、ジョイナトランスフォー

メーションのマスターソースと明細ソースに対し、複数のパーティションを作成すること

ができます。

ジョイナトランスフォーメーションにパーティションポイントを作成しない場合、明細ソ

ースについてはn個のパーティションを、マスターソースについては1つのパーティション

を作成できます(1:n)。

注: 行トランスフォーメーションスコープを使用するようにジョイナトランスフォーメー

ションを設定する場合は、ジョイナトランスフォーメーションにパーティションポイント

を追加することはできません。

ソート済みジョイナトランスフォーメーションのパーティション化

ソート済み入力を使用するジョイナトランスフォーメーションを追加した場合、ジョイナ

トランスフォーメーションがソート済みのデータを受け取っていることを検査する必要が

あります。ソースに大量のデータが含まれる場合、パーティション化を設定してパフォー

マンスを高めることができます。しかし、行を再配分するパーティションではソート済み

データの順序が変わる可能性があるため、ソート済みデータが正しく維持されるようにパ

ーティションを設定することが重要です。

例えば、ハッシュ自動キーパーティションポイントを使用した場合、Integration Service

によってハッシュ関数が使用され、複数のパーティション間でデータを分散する 良の方

法が決定されます。 ただし、この場合、ソート順が維持されないため、このタイプのパー

ティションポイントを使用するにあたってはパーティション化のガイドラインに従う必要

があります。

36 章 2: パーティションポイント

Page 56: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

データを結合するとき、次のような方法でマスターパイプラインおよび明細パイプライン

のデータをパーティション化できます。

¨ 1:n。 マスタソースには1つのパーティションを、詳細ソースには複数のパーティショ

ンを使用します。マスタデータはIntegration Serviceによってパーティション間で再

分散されず、ソート順が維持されます。

¨ n:n。 マスタソースと詳細ソースで同数のパーティションを使用します。n:nのパーテ

ィションを使用した場合、Integration Serviceによって複数のパーティションが同時

に処理されます。 ジョイナトランスフォーメーションで使用するパーティションタイ

プに応じてソート順が維持されるようにパーティションを設定する必要があります。

注: 1:nのパーティションを使用する場合は、ジョイナトランスフォーメーションにパー

ティションポイントを追加することはできません。ジョイナトランスフォーメーションに

パーティションポイントを追加した場合、Workflow Managerは、マスターパイプラインと

明細パイプラインの両方に同数のパーティションを追加します。

データをどこでソートするかによって、従うべきパーティション化のガイドラインが異な

ります。

¨ ソート済みフラットファイルの使用。 次のいずれかのパーティション化設定を使用し

ます。

-マスタパイプラインに 1つのフラットファイルが、明細パイプラインに複数のフラッ

トファイルが存在する場合は、1:nのパーティションを使用します。 ファイルごとに1

つのreaderスレッドを使用するようにセッションを設定します。

-マスターパイプラインと明細パイプラインに大きなフラットファイルが1つ存在する場

合は、n:nのパーティションを使用します。ソート済みのすべてのデータを 初のパー

ティションで渡し、他のパーティションでは空のファイルデータを渡すように各パー

ティションを設定します。

¨ ソート済みリレーショナルデータの使用。 次のいずれかのパーティション化設定を使

用します。

-マスターパイプラインと明細パイプラインには、 1:nのパーティションを使用しま

す。

- n:nパーティションの使用自動ハッシュキーパーティションを使用する場合は、ソート

済みのすべてのデータを 初のパーティションで渡すようにパーティションを設定し

ます。

¨ ソータトランスフォーメーションの使用。n:nパーティションの使用。 ジョイナトラン

スフォーメーションに自動ハッシュキーパーティションを使用する場合は、各ソータト

ランスフォーメーションでも自動ハッシュキーパーティションポイントが使用されるよ

うに設定する必要があります。

ソートの基点とジョイナトランスフォーメーションの間には、パススルーパーティション

ポイントだけを追加するようにしてください。

ソート済みフラットファイルの使用

マスタパイプラインに1つのフラットファイルが、詳細パイプラインに複数のフラットファ

イルが存在する場合は、1:nのパーティションを使用します。1:nのパーティションを使用

した場合、Integration Serviceによってデータがパーティション間で再分散されないた

め、ソート順は維持されます。 マスターパイプラインと明細パイプラインに大きなフラッ

トファイルが1つずつ存在する場合は、n:nのパーティションを使用し、ジョイナトランス

ジョイナトランスフォーメーションのパーティション化 37

Page 57: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

フォーメーションにパススルーパーティションまたは自動ハッシュキーパーティションを

追加します。自動ハッシュキーパーティションポイントを追加する場合は、ソート順を維

持するため、ソート済みのすべてのデータを 初のパーティションで渡すようパーティシ

ョンを設定する必要があります。

1:nパーティションの使用

マスターパイプラインに1つのフラットファイルを、明細パイプラインに複数のフラットフ

ァイルを使用するセッションでは、マスターソースに1つのパーティションを使用し、明細

ファイルソースにn個のパーティションを使用します(1:n)。パススルーパーティション

ポイントは、明細ソース修飾子トランスフォーメーションに追加してください。ジョイナ

トランスフォーメーションにはパーティションポイントを追加しません。マスタソースに

対して1つのパーティションを作成した場合、ソート済みのデータがIntegration Service

によってパーティション間で再分散されないため、ソート順は維持されます。

明細パイプラインに同じ構造の複数のファイルが存在する場合は、次のガイドラインに従

ってこれらのファイルをジョイナトランスフォーメーションに渡します。

¨ 各パイプラインに1つのソースおよび1つのソース修飾子トランスフォーメーションを含

むマッピングを設定します。

¨ セッションプロパティの[マッピング]タブから[トランスフォーメーション]ビュー

を表示し、 [プロパティ]設定で各フラットファイルのパスおよびファイル名を指定

します。

¨ すべてのファイルについて、ソース定義で設定したものと同じファイルプロパティを使

用する必要があります。

¨ フラットファイル間でソート済みデータの範囲が重複していても構いません。ファイル

ごとに一意のデータ範囲を使用する必要はありません。

1:nパーティション化を使用してファイルデータをソートした場合、ジョイナトランスフォ

ーメーションによって結合タイプに応じて未ソートデータが出力される可能性がありま

す。 完全外部結合、または詳細な外部結合を使用した場合、未ソートデータの原因となる

一致しないマスタ行はIntegration Serviceによって 後に処理されます。

n:nパーティションの使用

ソート済みのフラットファイルデータを使用するセッションでは、マスターパイプライン

と明細パイプラインに対し、n:nのパーティションを使用します。ジョイナトランスフォー

メーションでは、パススルーパーティションまたは自動ハッシュキーパーティションを追

加できます。ジョイナトランスフォーメーションでパススルーパーティションを追加する

場合は、マッピングでソート順を保持します。

ジョイナトランスフォーメーションにハッシュ自動キーパーティションポイントを追加す

る場合は、単一のパーティションで、ソート済みのすべてのデータをジョイナトランスフ

ォーメーションに渡すことにより、ソート順を保持することができます。ソート済みのデ

ータを1つのパーティションで渡した場合、Integration Serviceによりハッシュ関数を使

用してデータを再分散する際にソート順が保持されます。

ソート済みのすべてのデータをIntegration Serviceによって1つのパーティションで渡す

ためには、 初のパーティションでソート済みのファイルを、残りのパーティションでは

空のファイルを使用するようにセッションを設定します。

38 章 2: パーティションポイント

Page 58: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

Integration Serviceにより、複数のパーティション間で行が再分散され、ソート済みデー

タが結合されます。

ソート済みリレーショナルデータの使用

リレーショナルデータを結合する場合、マスターパイプラインと明細パイプラインに 1nの

パーティションを使用します。 1:nのパーティションを使用する場合は、ジョイナトラン

スフォーメーションにパーティションポイントを追加することはできません。n:nのパーテ

ィションを使用した場合、ジョイナトランスフォーメーションにパススルーパーティショ

ンまたは自動ハッシュキーパーティションを追加できます。自動ハッシュキーパーティシ

ョンポイントを使用する場合は、ソート順を維持するため、ソート済みのすべてのデータ

を 初のパーティションで渡すようパーティションを設定する必要があります。

1:nパーティションの使用

ソート済みのリレーショナルデータを使用するセッションでは、マスターソースには1つの

パーティションを、明細ソースにはn個のパーティションを使用します(1:n)。ソース修

飾子トランスフォーメーションにキー範囲またはパススルーパーティションポイントを追

加します。ジョイナトランスフォーメーションにはパーティションポイントを追加しませ

ん。マスタソースに対して1つのパーティションを作成した場合、データがIntegration

Serviceによってパーティション間で再分散されないため、ソート順は維持されます。

1:nパーティション化を使用してリレーショナルデータをソートした場合、ジョイナトラン

スフォーメーションによって結合タイプに応じて未ソートデータが出力される可能性があ

ります。 完全外部結合、または詳細な外部結合を使用した場合、未ソートデータの原因と

なる一致しないマスタ行はIntegration Serviceによって 後に処理されます。

n:nパーティションの使用

ソート済みのリレーショナルデータを使用するセッションでは、マスターパイプラインと

明細パイプラインに対しn:nのパーティションを使用し、ジョイナトランスフォーメーショ

ンにパススルーパーティションまたは自動ハッシュキーパーティションを追加します。ジ

ョイナトランスフォーメーションでパススルーパーティションを使用する場合は、マッピ

ングでソート済みデータを保持します。

自動ハッシュキーパーティションポイントを使用すると、ソート済みのすべてのデータを

単一のパーティションを介してジョイナトランスフォーメーションに渡すことにより、ソ

ート順を維持することができます。キー範囲パーティションポイントは、 初のパーティ

ションにすべてのソースデータが保持されるソース修飾子トランスフォーメーションに追

加します。ソート済みのデータを1つのパーティションで渡した場合、Integration

Serviceによりハッシュ関数を使用して複数のパーティション間でデータが再分散され、ソ

ート済みのデータが結合されます。

ソータトランスフォーメーションの使用

ソータトランスフォーメーションを使用してデータをソートするセッションでは、マスタ

ーパイプラインと明細パイプラインに対し、n:nのパーティションを使用します。ソータト

ランスフォーメーションに自動ハッシュキーパーティションポイントを使用してデータを

グループ化します。ジョイナトランスフォーメーションには、パススルーパーティション

または自動ハッシュキーパーティションを追加できます。

ジョイナトランスフォーメーションのパーティション化 39

Page 59: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

データは、Integration Serviceによって同じハッシュ値を持つパーティションへとグルー

プ化され、ソータトランスフォーメーションによってソートされてから、ジョイナトラン

スフォーメーションに渡されます。 Integration Serviceによって、ハッシュ自動キーパ

ーティションを使用して設定されたジョイナトランスフォーメーションが処理される際、

各ソータトランスフォーメーションからのデータをルーティングするときに使用したパー

ティションと同じパーティションを使用してソート済みのデータを処理することによっ

て、ソート順が保持されます。

注: 適なパフォーマンスを得るには、ソート済みのフラットファイルまたはソート済み

のリレーショナルデータを使用します。必要に応じて、マッピングにソータトランスフォ

ーメーションを追加した場合の処理オーバーヘッドを計算してください。

パーティションを使用したソート済みジョイナトランスフォーメーションの 適化

ソート済みジョイナトランスフォーメーションにパーティションを使用する場合、データ

のグループ化や、n:nパーティションの使用によって、パフォーマンスを 適化できる場合

があります。

ソート基点の上流への自動ハッシュキーパーティションの追加

ソート済みジョイナトランスフォーメーションをパーティション化するとき、適切な結果

と 適なパフォーマンスを両立するには、データをグループ化しソートしておく必要があ

ります。データをグループ化するには、同じキー値を持つ行を確実に同じパーティション

にルーティングする必要があります。複数のパーティションに対してデータを均等にグル

ープ化し配分するための も効果的な方法は、自動ハッシュキーまたはキー範囲のパーテ

ィションポイントを、ソート基点より前に追加することです。このパーティションポイン

トを、データのソート前に追加することによって、各グループ内でデータを確実にグルー

プ化しソートすることができます。

n:nパーティションの使用

ソート済みジョイナトランスフォーメーションでのパフォーマンスを向上させるには、n:n

のパーティションを使用します。n:nのパーティションが使用されている場合、ジョイナト

ランスフォーメーションはマスター行と明細行を同時に読み込むため、すべてのマスター

データをキャッシュする必要はありません。これにより、メモリの使用量が減り、高速な

処理が可能になります。 1:nのパーティションが使用されている場合、ジョイナトランス

フォーメーションは、マスターパイプラインからのすべてのデータをキャッシュに格納

し、メモリのキャッシュが容量を越えた場合、キャッシュをディスクに書き込みます。ジ

ョイナトランスフォーメーションは、明細パイプラインからデータを受け取った後、マス

ターパイプラインと明細パイプラインとを比較するためにディスクからデータを読み込む

必要があります。

40 章 2: パーティションポイント

Page 60: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

ルックアップトランスフォーメーションのパーティション化

ルックアップトランスフォーメーションに対してキャッシュのパーティション化を設定で

きます。静的ルックアップキャッシュおよび動的ルックアップキャッシュ用に複数のパー

ティションを作成できます。

パイプラインルックアップトランスフォーメーションのキャッシュは、ルックアップトラ

ンスフォーメーションを含むパイプラインとは独立したパイプラインに構築されます。両

方のパイプラインに複数のパーティションを作成できます。

ルックアップトランスフォーメーションのキャッシュのパーティション化

キャッシュのパーティション化は、静的キャッシュ、動的キャッシュ、名前付きキャッシ

ュ、名前なしキャッシュで使用します。接続されたルックアップトランスフォーメーショ

ンにパーティションポイントを作成するとき、以下に示す条件でキャッシュのパーティシ

ョン化を使用します。

¨ ルックアップトランスフォーメーションに自動ハッシュキーパーティションタイプを使

用する。

¨ ルックアップ条件に等価演算子だけが含まれる。

¨ データベースが大文字と小文字を比較するように設定されている。

例えば、ルックアップ条件に文字列ポートが含まれ、データベースが大文字と小文字を

比較しないように設定されている場合、Integration Serviceによって、キャッシュの

パーティション化は実行されずに、次のメッセージがセッションログに書き込まれま

す。

CMN_1799 Cache partitioning requires case sensitive string comparisons. Lookup will not use partitioned cache as the database is configured for case insensitive string comparisons.

ルックアップトランスフォーメーションにハッシュ自動キーパーティションポイントを作

成する場合、Integration Serviceによりキャッシュのパーティション化が使用されます。

Integration Serviceによりキャッシュパーティションが作成された場合で、任意のパーテ

ィションの 初の行がルックアップトランスフォーメーションに到達した場合、ルックア

ップトランスフォーメーションのキャッシュの作成が開始されます。 コンカレントキャッ

シュ用にルックアップトランスフォーメーションを設定した場合、Integration Serviceに

よってパーティションのすべてのキャッシュが同時に構築されます。

ルックアップトランスフォーメーションのパーティション化 41

Page 61: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

パーティション化キャッシュの共有

パーティション化されたルックアップキャッシュを共有する場合は、次のガイドラインに

従います。

¨ ルックアップトランスフォーメーションでは、次の条件が満たされている場合、パーテ

ィション化されたキャッシュを共有できます。

-キャッシュの構造が同一である。 初の共有トランスフォーメーションのルックアッ

プ/出力ポートが、それ以降のトランスフォーメーションのルックアップ/出力ポート

と一致している必要があります。

-各トランスフォーメーションに同じルックアップ条件が存在し、ルックアップ条件カ

ラムが同じ順序で配置されている。

¨ 非パーティション化キャッシュとの間で、パーティション化されたキャッシュを共有す

ることはできません。

¨ ルックアップキャッシュをターゲットロード順グループ間で共有するには、同じパーテ

ィション数のターゲットロード順グループを設定する必要があります。

¨ 名前なしキャッシュを共有するルックアップトランスフォーメーション間で

Integration Serviceによって不一致が検出された場合、キャッシュファイルが再構築

されます。

¨ 名前付きキャッシュを共有するルックアップトランスフォーメーション間で

Integration Serviceによって不一致が検出された場合、そのセッションは失敗しま

す。

パイプラインルックアップトランスフォーメーションのキャッシュのパーティション化

パイプラインルックアップトランスフォーメーションは、キャッシュに対してデフォルト

で有効になっています。Integration Serviceでルックアップキャッシュを構築するとき、

ルックアップソースをパーティション化すると、パフォーマンスが向上します。ルックア

ップトランスフォーメーションは、ルックアップソースがキャッシュされたときに行の処

理を開始します。

パイプラインルックアップトランスフォーメーションを設定すると、ルックアップソース

およびソース修飾子はルックアップトランスフォーメーションとは別のパイプラインに含

められます。このパイプラインは部分パイプラインです(ターゲットが含まれないた

め)。Integration Serviceでは、この部分パイプライン内のソースデータを読み込みま

す。パイプラインに複数のパーティションを作成すると、処理のパフォーマンスが向上し

ます。

Integration Serviceでキャッシュを構築するとき、部分パイプラインのソースデータが他

のパイプラインに渡されます。部分パイプライン内のパーティションの数がルックアップ

トランスフォーメーションのパーティションの数と異なる場合、Integration Serviceによ

ってパーティションポイントが作成されます。ルックアップトランスフォーメーションに

自働ハッシュキーパーティションポイントが含まれる場合、キャッシュにはルックアップ

トランスフォーメーションと同じ数のパーティションが作成されます。それ以外の場合

は、キャッシュのパーティションは1つだけです。

42 章 2: パーティションポイント

Page 62: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

以下の図に、パイプラインルックアップトランスフォーメーションおよびソース修飾子ル

ックアップソースを含むセッションのパーティションを示します。

Integration Serviceでは、3つのパーティション内のEmployee行を処理します。ルックア

ップトランスフォーメーションを含むパイプラインには、4つのパーティションがありま

す。ルックアップトランスフォーメーションには自働ハッシュキーパーティションポイン

トが含まれるため、キャッシュは4つのパーティションにパーティション化されます。

シーケンスジェネレータトランスフォーメーションのパーティション化

未キャッシュのシーケンスジェネレータトランスフォーメーションを使用するグリッド上

のセッションに複数のパーティションを設定する場合、Integration Serviceによって各パ

ーティションに生成されるシーケンス番号は連続しません。

ソータトランスフォーメーションのパーティション化

ソータトランスフォーメーションを使用したセッションで、複数のパーティションを設定

した場合、Integration Serviceによって各パーティション内のデータが別々にソートされ

ます。 ソータトランスフォーメーションでパーティションポイントを追加する場合、

Workflow Managerを使って、自動ハッシュキー、キー範囲パーティション、またはパスス

ルーパーティション機能を選択できます。

シーケンスジェネレータトランスフォーメーションのパーティション化 43

Page 63: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

自動ハッシュキーは、ソート済み入力を使用するように設定されたアグリゲータトランス

フォーメーションの前にソータトランスフォーメーションを置く場合に使用します。自動

ハッシュキーは、同じ値を持つ行を、パーティションキーに基づいて同じパーティション

の中でグループ化します。行をグループ化した後、Integration Serviceによってソータト

ランスフォーメーションへ行が渡されます。 Integration Serviceによって各パーティシ

ョン内のデータが別々に処理されますが、ハッシュ自動キーパーティション化によってす

べてのソースデータは正しくソートされます。それは一致する値を持つ行は同じパーティ

ション内で処理されるからです。 アグリゲータトランスフォーメーションにあるデフォル

トのパーティションポイントは削除できます。

パーティション化されたセッション内の行すべてを複数のパーティションから1つのソート

用パーティションへ送りたい場合は、キー範囲パーティションを使用します。すべての行

を単一のソート用パーティションに統合した場合、Integration Serviceではデータをすべ

て一緒に処理できます。

パイプライン内で既にハッシュパーティション機能を使用している場合は、パススルーパ

ーティション機能を使用します。この機能により、ソータトランスフォーメーションに渡

されるデータは複数のパーティションにおいて正しくグループ化されます。パススルーパ

ーティション機能は、パイプライン内のパーティションの数を増やさずにセッションのパ

フォーマンスを向上させることができます。

ソータトランスフォーメーションの作業用ディレクトリ設定

パイプライン内の各ソータトランスフォーメーションについて、Integration Serviceによ

って一時ファイルが作成されます。 ソートの実行中は、このファイルにデータが読み込み

および書き込みされます。一時ファイルは、Integration Serviceによってソータトランス

フォーメーションの作業ディレクトリに格納されます。

デフォルトでは、ソータトランスフォーメーションの全パーティションの作業ディレクト

リが$PMTempDirに設定されます。セッションのプロパティで各パーティションに別々の作

業ディレクトリを指定できます。

XMLジェネレータトランスフォーメーションのパーティション化

XMLを複数のパーティションで作成した場合、各パーティションに対して常に個別の文書を

生成します。これは、コミット時のフラグの値に関係なく発生します。XMLジェネレータト

ランスフォーメーションでキー範囲パーティション化を設定した場合、トランスフォーメ

ーションが孤立した行を受信し、セッションが失敗する可能性があります。これは、XMLジ

ェネレータトランスフォーメーションによって行の間のプライマリキーと外部キーの関係

が作成するために発生することがあります。 キー範囲パーティション化によって、親の行

と子の行を区切ることができます。

44 章 2: パーティションポイント

Page 64: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

トランスフォーメーションに関する制限パーティション数に関する一部の制約は、パイプラインにおけるトランスフォーメーショ

ンのタイプによって決まります。この制約は、再利用可能なトランスフォーメーション、

マッピングやマプレットで作成されるトランスフォーメーション、およびショートカット

から参照するトランスフォーメーションやマプレット、マッピングなど、あらゆるトラン

スフォーメーションに適用されます。

以下の表に、トランスフォーメーションに関するパーティションの数の制限を示します。

トランスフォー

メーション

制限

カスタムトラン

スフォーメーシ

ョン

デフォルトでは、パイプラインにカスタムトランスフォーメ

ーションが含まれる場合に指定できるパーティションの数は

1つだけです。

ただし、このトランスフォーメーションでは、複数のパーテ

ィションを許可するオプションが[プロパティ]タブにあり

ます。このオプションを有効にすると、このトランスフォー

メーションに複数のパーティションを指定できます。カスタ

ムトランスフォーメーションプロシージャがデータクレンジ

ングなどの手続きをすべての入力データの総合に基づいて実

行する場合には、[パーティション化可能]を選択しませ

ん。

エクスターナル

プロシージャト

ランスフォーメ

ーション

デフォルトでは、パイプラインにエクスターナルプロシージ

ャトランスフォーメーションが含まれる場合に指定できるパ

ーティションの数は1つだけです。

このトランスフォーメーションでは、複数のパーティション

を許可するオプションが[プロパティ]タブにあります。こ

のオプションを有効にすると、このトランスフォーメーショ

ンに複数のパーティションを指定できます。

ジョイナトラン

スフォーメーシ

ョン

パイプラインにジョイナトランスフォーメーションのマスタ

ーソースが含まれる場合、指定できるパーティションは1つ

だけで、このジョイナトランスフォーメーションにパーティ

ションポイントを追加することはできません。

XMLターゲットイ

ンスタンス

パイプラインにXMLターゲットが含まれる場合、指定できる

パーティションは1つだけです。

ノーマライザおよびシーケンスジェネレータトランスフォーメーションが生成するシーケ

ンス番号は、パーティション化されたソースの場合はシーケンシャルでないことがありま

すが、一意になっています。

数値関数に関する制限

数値関数のCUME、MOVINGSUM、およびMOVINGAVGは、行単位で合計および平均を計算しま

す。パイプラインをパーティション化する方法に応じて、これらの関数のいずれかを含む

トランスフォーメーションをデータ行が通過する順序が変化する場合があります。したが

って、CUME、MOVINGSUM、またはMOVINGAVG関数を使用する複数のパーティションを持つセ

ッションは、常に同じ計算結果を返すわけではありません。

トランスフォーメーションに関する制限 45

Page 65: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

第 3 章

パーティションタイプ

この章では、以下の項目について説明します。

¨ パーティションタイプの概要, 46 ページ

¨ パーティションタイプの設定, 48 ページ

¨ データベースパーティション化のパーティションタイプ, 51 ページ

¨ ハッシュ自動キーのパーティションタイプ, 55 ページ

¨ ハッシュユーザーキーパーティションタイプ, 56 ページ

¨ キー範囲パーティションタイプ, 57 ページ

¨ パススルーパーティションタイプ, 60 ページ

¨ ラウンドロビンパーティションタイプ, 61 ページ

パーティションタイプの概要PowerCenter Integration Serviceでは、各パーティションポイントでデフォルトのパー

ティションタイプが作成されます。パーティション化オプションを使用すると、パーティ

ションタイプを変更できます。パーティションタイプは、パーティションポイントでパー

ティションにデータを配分する方法を制御します。

パイプラインにパーティション化情報を設定する場合、パイプライン上の各パーティショ

ンポイントにパーティションタイプを定義する必要があります。パーティションタイプに

より、PowerCenter Integration Serviceがパーティションポイント間にデータを再配分

する方法が決定します。

Workflow Managerでは、以下のパーティションタイプを定義できます。

¨ データベースパーティション化。IBM DB2またはOracleシステムに対してクエリが実行

され、テーブルのパーティション情報が取得されます。データベースの対応するノード

からパーティション化データが読み込まれます。複数ノードのテーブル領域に格納され

たOracleソースインスタンスまたはIBM DB2ソースインスタンスでは、データベースパ

ーティション化を使用します。DB2ターゲットでは、データベースパーティション化を

使用します。

46

Page 66: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

¨ ハッシュパーティション化。行をグループ別にパーティションに配分するには、ハッシ

ュパーティション化を使用します。例えば品目IDで品目をソートする必要があるもの

の、特定のID番号を持つ品目の数が判らない場合などです。

使用できるハッシュパーティション化には、次の種類があります。

-ハッシュ自動キー。グループ化されたポートまたはソート済みのポートがすべて複合

パーティションキーとして使用されます。ランクトランスフォーメーション、ソータ

トランスフォーメーション、未ソートのアグリゲータトランスフォーメーションで、

ハッシュ自動キーパーティション化を使用する必要がある場合があります。

-ハッシュユーザーキー。PowerCenter Integration Serviceによりハッシュ関数が使

用され、データ行がパーティション間でグループ化されます。パーティションキーを

生成するポート数を定義します。

¨ キー範囲。複合パーティションキーを形成するポートを1つ以上指定します。 各ポート

に対して指定した範囲に基づいて各パーティションにデータが渡されます。パイプライ

ン上のソースまたはターゲットがキー範囲によってパーティション化される場合に、キ

ー範囲パーティション化を使用します。

¨ パススルー。1つのパーティションポイントのすべての行が、再配分されずに次のパー

ティションポイントに渡されます。パフォーマンスを向上させるために新しいパイプラ

インステージを作成して、パーティション間のデータの分散を変更しない場合に、パス

スルーパーティション化を選択します。

¨ ラウンドロビン。1つ以上のパーティションにデータのブロックが配分されます。ラウ

ンドロビンパーティション化は、各パーティションでブロックの数やサイズに基づいて

行を処理する場合に使用します。

パイプラインでのパーティションタイプの設定

パイプライン上の様々なポイントに、様々なパーティションタイプを作成できます。

以下の図に、セッションのパフォーマンスを向上させるために異なったパーティションタ

イプを作成できるマッピングを示します。

このマッピングでは、品目に関するデータが読み出され、卸売原価と価格の平均値が算出

されます。このマッピングではサイズの異なる3つのフラットファイルから品目情報を読み

込み、製造中止品目をフィルタで除外する必要があります。説明を使ってアクティブな品

目をソートし、平均価格と平均卸売原価を算出して、結果をリレーショナルデータベース

に書き込みます。

ソータトランスフォーメーションにおける自動ハッシュキーパーティション化により、同

じ説明を持つ品目を含む行がすべて同じパーティションに送られるため、アグリゲータト

ランスフォーメーションにあるデフォルトのパーティションポイントを削除できます。し

たがって、アグリゲータトランスフォーメーションでは1つのパーティションで同じ説明を

持つすべての品目に関するデータが受信され、この品目の平均原価と平均価格が正しく算

出されます。

パーティションタイプの概要 47

Page 67: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

セッションでこのマッピングを使用する場合、パイプライン上の以下のようなパーティシ

ョンポイントで異なるパーティションタイプを定義することで、セッションのパフォーマ

ンスを向上させることができます。

¨ ソース修飾子。3つのフラットファイルから同時にデータを読み込むには、ソース修飾

子に対して3つのパーティションを指定する必要があります。 デフォルトのパーティシ

ョンタイプであるパススルーパーティション化を受け入れます。

¨ フィルタトランスフォーメーション。ソースファイルのサイズが変化するため、各パー

ティションで処理するデータの量が異なります。フィルタトランスフォーメーションに

1つのパーティションポイントを設定し、フィルタトランスフォーメーションに送られ

る負荷を分散するために、ラウンドロビンパーティション化を選択します。

¨ ソータトランスフォーメーション。ソータトランスフォーメーションとアグリゲータト

ランスフォーメーションで重複するグループを無くすために、ソータトランスフォーメ

ーションでハッシュ自動キーパーティション化を使用します。これにより、

Integration Serviceはソータトランスフォーメーションとアグリゲータトランスフォ

ーメーションで行が処理される前に、同じ説明を持つすべての項目が同じパーティショ

ンにグループ化されます。アグリゲータトランスフォーメーションにあるデフォルトの

パーティションポイントは削除できます。

¨ ターゲット。ターゲットテーブルはキー範囲によりパーティション化されるため、ター

ゲットにキー範囲パーティション化を指定してターゲットへのデータの書き込みを 適

化します。

パーティションタイプの設定Workflow Managerにより、パイプライン上の各パーティションポイントにデフォルトのパ

ーティションタイプが設定されます。トランスフォーメーションのトランスフォーメーシ

ョン範囲がすべての入力ではない限り、Workflow Managerによって、すべてのパーティシ

ョンポイントのデフォルトのパーティションタイプとしてパススルーが指定されます。 デ

フォルトのタイプは変更できます。

例えば、ソース修飾子とターゲットインスタンスに対しては、Workflow Managerによって

パススルーパーティション化が指定されます。 トランスフォーメーション範囲がすべての

入力の場合、ランクトランスフォーメーションと未ソートアグリゲータトランスフォーメ

ーションに対して、Workflow Managerによってハッシュ自動キーパーティション化が指定

されます。

トランザクションジェネレータ(コミットを生成するアクティブソース)のダウンストリ

ームにあり、ターゲット(トランスフォーメーション範囲がトランザクションのトランス

フォーメーション)のアップストリームにあるすべてのトランスフォーメーションには、

パススルーパーティションタイプを指定する必要があります。また、制約に基づくロード

を使用するようセッションを設定した場合、 後のアクティブソースの下流にあるすべて

のトランスフォーメーションに対し、パススルーパーティションタイプを指定する必要が

あります。

ワークフローリカバリが有効化されている場合、Workflow Managerは、パーティションポ

イントがアグリゲータトランスフォーメーションまたはランクトランスフォーメーション

である場合を除き、パーティションタイプをパススルーに設定します。

48 章 3: パーティションタイプ

Page 68: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

以下のトランスフォーメーションに対してはパーティションポイントを作成することがで

きません。

¨ ソース定義

¨ シーケンスジェネレータ

¨ XMLパーサー

¨ XMLターゲット

¨ 接続されていないトランスフォーメーション

以下の表に、パイプライン上の異なるパーティションポイントについて、有効なパーティ

ションタイプおよびデフォルトのパーティションタイプを示します。

表 1. パーティションポイントの有効なパーティションタイプ

トランスフォーメー

ション

(パーティションポ

イント)

ラウン

ドロビ

ハッ

シュ

自動

キー

ハッ

シュ

ユー

ザー

キー

キー

範囲

パス

スル

データベ

ース

パーティ

ション化

ソース修飾子

(リレーショナルソ

ース)

× × × ○ ○ ○

(Oracle

、DB2)

ソース修飾子

(フラットファイル

ソース)

× × × × ○ ×

Web Serviceソース

修飾子

× × × × ○ ×

XMLソース修飾子 × × × × ○ ×

ノーマライザ

(COBOLソース)

× × × × ○ ×

ノーマライザ

(リレーショナル)

○ × ○ ○ ○ ×

アグリゲータ(ソー

ト済み)

× × × × ○ ×

アグリゲータ(未ソ

ート)

× ○ × × ○ ×

カスタム ○ × ○ ○ ○ ×

データマスク ○ × ○ ○ ○ ×

式 ○ × ○ ○ ○ ×

パーティションタイプの設定 49

Page 69: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

トランスフォーメー

ション

(パーティションポ

イント)

ラウン

ドロビ

ハッ

シュ

自動

キー

ハッ

シュ

ユー

ザー

キー

キー

範囲

パス

スル

データベ

ース

パーティ

ション化

エクスターナルプロ

シージャ

○ × ○ ○ ○ ×

フィルタ ○ × ○ ○ ○ ×

HTTP × × × × ○ ×

Java ○ × ○ ○ ○ ×

ジョイナ × ○ × × ○ ×

ルックアップ ○ ○ ○ ○ ○ ×

ランク × ○ × × ○ ×

ルータ ○ × ○ ○ ○ ×

ソータ × ○ × ○ ○ ×

ストアドプロシージ

○ × ○ ○ ○ ×

トランザクション制

○ × ○ ○ ○ ×

共有体 ○ × ○ ○ ○ ×

構造化されていない

データ

○ × ○ ○ ○ ×

アップデートストラ

テジ

○ × ○ ○ ○ ×

Webサービスコンシ

ューマ

× × × × ○ ×

XMLジェネレータ × × × × ○ ×

XMLパーサー × × × × ○ ×

リレーショナルター

ゲット定義

○ × ○ ○ ○ ○(DB2)

50 章 3: パーティションタイプ

Page 70: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

トランスフォーメー

ション

(パーティションポ

イント)

ラウン

ドロビ

ハッ

シュ

自動

キー

ハッ

シュ

ユー

ザー

キー

キー

範囲

パス

スル

データベ

ース

パーティ

ション化

フラットファイルタ

ーゲット定義

○ × ○ ○ ○ ×

Webサービスターゲ

ット

× × × × ○ ×

以下のトランスフォーメーションの場合、トランスフォーメーション範囲がトランザクシ

ョンの場合はパススルーがデフォルトのパーティションタイプで、トランスフォーメーシ

ョン範囲がすべての入力の場合はハッシュ自動キーがデフォルトのパーティションタイプ

です。

¨ アグリゲータ(未ソート)

¨ ジョイナ

¨ ランク

¨ ソータ

データベースパーティション化のパーティションタイプ

ソースおよびターゲットデータベースに対してデータベースパーティション化用のパーテ

ィションタイプを使用することにより、セッションのパフォーマンスを 適化できます。

ソースデータベースのパーティション化を使用する場合、Integration Serviceは、データ

ベースシステムにテーブルパーティション情報を要求し、データをセッションパーティシ

ョンに取り出します。 ターゲットデータベースのパーティション化を使用する場合、

Integration Serviceは対応するデータベースパーティションノードにデータをロードしま

す。

Oracleソース、IBM DB2ソース、およびIBM DB2ターゲットに対してデータベースパーティ

ション化を使用します。パイプラインのパーティション数とデータベースのパーティショ

ン数は任意です。ただし、パイプラインのパーティション数とデータベースのパーティシ

ョン数が同じである場合、より高いパフォーマンスを得ることができます。

範囲パーティション化を使用しているIBM DB2ソースおよびターゲットでは、データベース

パーティション化によってパフォーマンスを向上させることができます。

複合パーティション化を使用するOracleソースの場合、パイプラインパーティションの数

をデータセットのサブパーティションの数に一致させるとパフォーマンスを向上させるこ

とができます。たとえば、Oracleソースが3つのパーティションを含み、そのパーティショ

ンごとに2つのサブパーティションが含まれる場合、ソースのパイプラインパーティション

の数を6に設定します。

データベースパーティション化のパーティションタイプ 51

Page 71: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

データベースソースのパーティション化

ソースデータベースのパーティション化を使用する場合、Integration Serviceにより、パ

ーティション情報のデータベースシステムカタログに対しクエリが行われます。 セッショ

ンパーティション間のデータベースパーティションからのデータが分散されます。

セッションにデータベースよりも多くのパーティションがある場合、Integration Service

によってデータベースパーティションごとにSQLが生成され、次のパーティションポイント

でデータがセッションパーティションに再分散されます。

1つのソースでのデータベースのパーティション化

1つのソースを持つソース修飾子でデータベースパーティション化を使用する場合、

Integration ServiceによりデータベースパーティションごとにSQLクエリが生成され、デ

ータベースパーティションからのデータがセッションパーティション間に均等に分散され

ます。

例えば、セッションに3つのパーティションがあり、データベースに5つのパーティション

がある場合、Integration Serviceにより、そのセッションパーティション内でSQLクエリ

が、そのデータベースパーティションに対して実行されるとします。 初のセッションパ

ーティションと2番目のセッションパーティションは、2つのデータベースパーティション

からデータを受け取ります。3番目のセッションパーティションは、1つのデータベースパ

ーティションからデータを受け取ります。

Oracleデータベースを使用する場合は、Integration Serviceにより、以下の文と同様の

SQL文がパーティション1に対して生成されます。

SELECT <column list> FROM <table name> PARTITION <database_partition1 name> UNION ALL

SELECT <column list> FROM <table name> PARTITION <database_partition4 name> UNION ALL

IBM DB2データベースを使用する場合は、Integration Serviceにより、以下と同様のSQL

文がパーティション1に対して作成されます。

SELECT <column list> FROM <table name> WHERE (nodenumber(<column 1>)=0 OR nodenumber(<column 1>) = 3)

Oracleソースに5つのパーティション(1-5)があり、各パーティション内に2つのサブパー

ティション(aとb)があり、1つのセッションに3つのパーティションがある場合、

Integration Serviceにより、データベースのサブパーティションに対してセッションパー

ティション内でSQLクエリが実行されます。 初のセッションパーティションと2番目のセ

ッションパーティションは、4つのデータベースサブパーティションからデータを受け取り

ます。 3番目のセッションパーティションは、2つのデータベースサブパーティションから

データを受け取ります。

Integration Serviceにより、以下の文と同様のSQL文がパーティション1に対して生成さ

れます。

SELECT <column list> FROM <table name> SUBPARTITION <database_subpartition1_a name> UNION ALLSELECT <column list> FROM <table name> SUBPARTITION <database_subpartition1_b name> UNION ALLSELECT <column list> FROM <table name> SUBPARTITION <database_subpartition4_a name> UNION ALLSELECT <column list> FROM <table name> SUBPARTITION <database_subpartition4_b name> UNION ALL

複数のソースでのソース修飾子のパーティション化

リレーショナルソース修飾子では、複数のソーステーブルからのデータを受け取ることが

できます。Integration Serviceでは、データベースパーティションのSQLクエリは、ほと

52 章 3: パーティションタイプ

Page 72: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

んどのパーティションを持つデータベーステーブル内のパーティションの数に基づいて作

成されます。 データベースパーティションからデータを取得するためのSQL結合条件を作

成します。

たとえば、ソース修飾子は2つのソーステーブルからデータを受け取ります。各ソーステー

ブルには2つのパーティションがあります。セッションに3つのパーティションがあり、デ

ータベーステーブルに2つのパーティションがある場合、セッションパーティションの1つ

はデータを受け取りません。

Oracleの場合、Integration Serviceでは以下のSQL文が生成されます。

Session Partition 1:

SELECT <column list> FROM t1 PARTITION (p1), t2 WHERE <join clause>Session Partition 2:

SELECT <column list> FROM t1 PARTITION (p2), t2 WHERE <join clause>Session Partition 3:

No SQL query.

IBM DB2の場合、Integration Serviceでは以下のSQL文が生成されます。

Session Partition 1:

SELECT <column list> FROM t1,t2 WHERE ((nodenumber(t1 column1)=0) AND <join clause>Session Partition 2:

SELECT <column list> FROM t1,t2 WHERE ((nodenumber(t1 column1)=1) AND <join clause>Session Partition 3:

No SQL query.

ソースデータベースのパーティション化でのIntegration

Serviceの処理

Integration Serviceでは、データベースパーティション化について以下のルールが使用さ

れます。

¨ OracleとIBM DB2以外のデータベースにデータベースパーティション化を指定する場

合、Integration Serviceにより1つのパーティションでデータが読み込まれ、メッセー

ジがセッションログに書き込まれます。

¨ セッションのパーティション数がデータベースのテーブルのパーティション数よりも大

きい場合、超過しているパーティションはデータを受け取りません。セッションログで

は、どのパーティションがデータを受け取らないかが記述されます。

¨ セッションのパーティション数がデータベースのテーブルのパーティション数よりも小

さい場合、データはセッションパーティションに均等に配分されます。一部のセッショ

ンパーティションは、複数のデータベースパーティションからデータを受け取ります。

¨ データベースパーティション化を動的パーティションと共に使用する場合、

Integration Serviceにより、セッションの開始時にセッションのパーティション数が

決定されます。

¨ パーティション化を行ったセッションのパフォーマンスは、データベースパーティショ

ン内のデータ分散に応じて異なります。Integration Serviceにより、データベースパ

ーティションに対してSQLクエリが生成されます。 このSQLクエリは、共有体コマンド

またはjoinコマンドを実行します。これにより、パフォーマンスに影響を与える大きな

クエリ文になる場合があります。

データベースパーティション化のパーティションタイプ 53

Page 73: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

ソースデータベースのパーティション化に関するルールおよび

ガイドライン

リレーショナルソースでデータベースパーティション化パーティションタイプを使用する

場合は、次の規則およびガイドラインに従ってください。

¨ ソースベースのコミット、ユーザー定義のコミット、制約べースのロード、ワークフロ

ーリカバリのいずれかを使用するようにセッションを設定した場合、データベースパー

ティション化を使用することはできません。

¨ データベースパーティション化のためにソース修飾子を設定した場合、以下の状況で

は、Integration Serviceによりパススルーパーティション化に戻されます。

-データベーステーブルが1つのデータベースパーティションに格納されている。

-デバッグモードでセッションを実行する。

-データベースパーティション化を、1つのパーティションを持つセッションに対して指

定する。

-プッシュダウンの 適化を使用する。プッシュダウンの 適化は、他のパーティショ

ンタイプで使用できます。

¨ データベーステーブルを読み込むSQLオーバーライドを作成し、データベースパーティ

ション化を設定した場合、Integration Serviceはパススルーパーティション化に戻

り、メッセージをセッションログに書き込みます。

¨ ユーザー定義結合を作成した場合、Integration Serviceによって、各パーティション

に対して生成するSQL文に、この結合が追加されます。

¨ ソースフィルタを作成した場合、Integration Serviceによって、各パーティションに

対してSQLクエリのWHERE句に、このソースフィルタが追加されます。

ターゲットデータベースのパーティション化

ターゲットデータベースのパーティション化は、IBM DB2データベースに対してのみ使用で

きます。複数ノードのテーブル領域に格納されたIBM DB2テーブルにデータをロードする

と、データベースパーティション化パーティションタイプを使用することにより、セッシ

ョンのパフォーマンスを 適化できます。データベースパーティション化を使用した場

合、Integration Serviceによって、テーブルのパーティション情報のためにDB2システム

に対してクエリが行われ、パーティション化データがターゲットデータベースで対応する

ノードにロードされます。

DB2以外のターゲットに対してデータベースパーティション化を使用した場合、デフォルト

では、Integration Serviceはセッションに失敗します。 ただし、DB2以外のリレーショ

ナルターゲットに対してデータベースパーティション化を使用した場合、デフォルトでパ

ススルーパーティション化が使用されるようにIntegration Serviceを設定することができ

ます。 AdministratorツールでIntegration Serviceプロパティ、

TreatDBPartitionAsPassThroughをはいに設定します。

パイプラインのパーティション数やデータベースのノード数に関係なく、データベースパ

ーティション化をターゲットパーティションタイプとして指定できます。ただし、パイプ

ラインのパーティション数とデータベースのノード数が同じである場合、より高いロード

パフォーマンスを得ることができます。

54 章 3: パーティションタイプ

Page 74: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

ターゲットデータベースのパーティション化に関するルールお

よびガイドライン

データベースターゲットでデータベースパーティション化を使用する場合は、次の規則お

よびガイドラインに従ってください。

¨ ソースベースのコミット、ユーザー定義のコミット、制約べースのロード、セッション

リカバリのいずれかを使用するようにセッションを設定した場合、データベースパーテ

ィション化を使用することはできません。

¨ ターゲットテーブルが範囲によってパーティション化されている場合、データベースパ

ーティション化を使用することはできません。 ターゲットテーブルが範囲によってパ

ーティション化されている場合は、パススルーパーティション化またはキー範囲パーテ

ィション化を使用します。

¨ ターゲットテーブルに、パーティションキーが含まれている必要があります。また、タ

ーゲットインスタンスに含まれるすべての非NULLパーティションキーカラムを、マッピ

ング内のトランスフォーメーションにリンクさせる必要があります。

¨ IBM DB2ターゲットテーブルのパーティションキーがBigint型のカラムの場合、セッシ

ョンに対して高精度10進演算を有効にします。パーティションキーがBigintカラムであ

り、かつセッションに対して高精度を有効にしない場合は、Integration Serviceでセ

ッションが失敗することがあります。

¨ DB2バルクロードに複数のパーティションを作成する場合は、ターゲットパーティショ

ンタイプにデータベースパーティション化を使用します。他のパーティションタイプを

選択した場合、Integration Serviceが通常のロードに戻り、セッションログに以下の

メッセージが書き込まれます。

ODL_26097 Only database partitioning is support for DB2 bulk load. Changing target load type variable to Normal.

¨ データベースパーティション化を使用するようにセッションを設定した場合、以下の状

況では、Integration Serviceによってパススルーパーティション化に戻されます。

- DB2ターゲットテーブルが1つのノードに格納されている。

-デバッガを使用したデバッグモードでセッションを実行した。

-データベースパーティション化のパーティションタイプをパススルーパーティション

化として扱うようにIntegration Serviceを設定して、DB2以外のリレーショナルター

ゲットに対してデータベースパーティション化を使用する。

ハッシュ自動キーのパーティションタイプハッシュ自動キーパーティション化を、ランクトランスフォーメーション、ソータトラン

スフォーメーション、ジョイナトランスフォーメーション、および未ソートアグリゲータ

トランスフォーメーションで(またはそれより前で)使用します。これにより、行がこれ

らのトランスフォーメーションに入力される前に適切にグループ化されるようにします。

ハッシュ自動キーのパーティションタイプ 55

Page 75: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

以下の図に、ハッシュ自動キーパーティション化を含むマッピングを示します。 行は、

Integration Serviceによって、ソータおよびアグリゲータトランスフォーメーションに入

力される前にグループに応じて各パーティションに分散されます。

このマッピングでは、ソータトランスフォーメーションによって品目が品目の説明別にソ

ートされます。2つ以上のソースファイルに同じ説明を持つ品目が存在すれば、各パーティ

ションに同じ説明を持つ品目が含まれます。自動ハッシュキーパーティション化を使用し

なければ、アグリゲータトランスフォーメーションで各品目の平均原価と平均価格が誤っ

て算出される場合があります。

原価と価格の計算が間違わないようにするためには、ソータトランスフォーメーションに

パーティションポイントを設定し、パーティションタイプを自動ハッシュキーに設定しま

す。これを行う場合、Integration Serviceにより、同じ説明を持つすべての項目が1つの

パーティション内でソータおよびアグリゲータトランスフォーメーションに送られるよう

にデータが再分散されます。

ハッシュユーザーキーパーティションタイプハッシュユーザーキーパーティション化では、Integration Serviceでハッシュ関数を使用

し、ユーザー定義のパーティションキーに基づいてデータの行を異なるパーティションご

とにグループ化します。 パーティションキーを定義するポートを選択します。

上に示すマッピングで自動ハッシュキーパーティション化を指定した場合、ITEM_DESCなど

のソートキーによりグループ化されたデータの行がソータトランスフォーメーションに受

け取られます。品目の説明が長く、各品目に固有のID番号が与えられていることが判って

いれば、ソータトランスフォーメーションにユーザー定義ハッシュキーパーティション化

を指定し、ハッシュキーにITEM_IDを選択できます。通常、ハッシュ関数では文字列データ

よりも数値データの方が速く処理できるため、この操作によってセッションのパフォーマ

ンスが向上することがあります。

パーティションポイントでハッシュユーザーキーパーティション化を選択した場合、ハッ

シュキーを指定する必要があります。Integration Serviceでは、ハッシュキーを使用し

て、グループごとに適切なパーティションに行が分散されます。

例えば、ソース修飾子トランスフォーメーションにキー範囲パーティション化を指定した

場合、ソースからデータを選択する際に、Integration Serviceによってキーと範囲が使用

されてWHERE句が作成されます。 したがって、Integration Serviceを使用して、あるパ

ーティションに135000未満の顧客IDを含むすべての行を渡し、別のパーティションに

135000以上の顧客IDを含むすべての行を渡すことができます。

56 章 3: パーティションタイプ

Page 76: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

トランスフォーメーションにハッシュユーザーキーパーティション化を指定する場合、

Integration Serviceによってこのキーが使用されて、キーとして選択したポートに基づい

てデータがグループ化されます。 例えば、ハッシュキーとしてITEM_DESCを指定すると、

同じ説明を持つ項目を含むすべての行が同じパーティションに送られるように、

Integration Serviceによってデータが分散されます。

ハッシュキーを指定するには、[マッピング]タブの[パーティション]ビューでパーテ

ィションポイントを選択し、[キーの編集]をクリックします。[パーティションキーの

編集]ダイアログボックスが表示されます。[利用可能なポート]リストには、トランス

フォーメーションのコネクトされた入力ポートと入出力ポートが表示されます。ハッシュ

キーを追加するには、このリストで1つ以上のポートを選択してから[追加]をクリックし

ます。

キーを定義するポートの順序を変更するには、[選択されたポート]リストでポートを選

択して上下の矢印ボタンをクリックします。

キー範囲パーティションタイプキー範囲パーティション化を使用すると、パーティションキーとして定義したポートまた

はポートのセットに基づいて、Integration Serviceによりデータの行が分散されます。各

ポートについて、値の範囲を定義します。Integration Serviceは、キーと範囲を使用して

適切なパーティションに行を送ります。

例えば、ソース修飾子トランスフォーメーションにキー範囲パーティション化を指定した

場合、ソースからデータを選択する際に、Integration Serviceによってキーと範囲が使用

されてWHERE句が作成されます。 したがって、Integration Serviceを使用して、あるパ

ーティションに135000未満の顧客IDを含むすべての行を渡し、別のパーティションに

135000以上の顧客IDを含むすべての行を渡すことができます。

トランスフォーメーションにハッシュユーザーキーパーティション化を指定する場合、

Integration Serviceによってこのキーが使用されて、キーとして選択したポートに基づい

てデータがグループ化されます。 例えば、ハッシュキーとしてITEM_DESCを指定すると、

同じ説明を持つ項目を含むすべての行が同じパーティションに送られるように、

Integration Serviceによってデータが分散されます。

ソーステーブルとターゲットテーブルがキー範囲によってマッピングでパーティション化

される場合に、キー範囲パーティション化を使用します。

以下の図に、キー範囲パーティション化によってターゲットテーブルへの書き込みが 適

化できるマッピングを示します。

データベース内のターゲットテーブルは、ITEM_IDによって次のようにパーティション化さ

れます。

¨ パーティション1: 0001-2999

キー範囲パーティションタイプ 57

Page 77: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

¨ パーティション2: 3000-5999

¨ パーティション3: 6000-9999

ターゲットテーブルへの書き込みを 適化するには、次の操作を実行します。

1. ターゲットインスタンスのパーティションタイプをキー範囲に設定します。

2. 3つのパーティションを作成します。

3. パーティションキーとしてITEM_IDを選択します。

Integration Serviceによってこのキーが使用され、適切なパーティションにデータ

が渡されます。

4. キー範囲を次のように設定します。

ITEM_ID Start Range End RangePartition #1 - 3000Partition #2 3000 6000Partition #3 6000 -

このキー範囲を設定すると、IDが3000未満のすべての項目がIntegration Serviceによっ

て 初のパーティションに送られます。 IDが3000 - 5999のすべての項目が、パーティシ

ョン2に送られます。IDが6000以上のすべての品目が、パーティション3に送られます。

パーティションキーの追加

キー範囲パーティション化のパーティションキーを指定するには、[マッピング]タブの

[パーティション]ビューでパーティションポイントを選択し、[キーの編集]をクリッ

クします。[パーティションキーの編集]ダイアログボックスが表示されます。[利用可

能なポート]リストには、トランスフォーメーションのコネクトされた入力ポートと入出

力ポートが表示されます。パーティションキーを追加するには、このリストで1つ以上のポ

ートを選択してから[追加]をクリックします。

パーティションキーを定義するポートの順序を変更するには、[選択されたポート]リス

トでポートを選択して上下の矢印ボタンをクリックします。

キー範囲パーティション化では、ポートの順序はIntegration Serviceによるパーティショ

ン間の行の再分散には影響しませんが、セッションのパフォーマンスに影響する場合があ

ります。 たとえば、次の複合パーティションキーを設定するとします。

Selected PortsITEMS.DESCRIPTIONITEMS.DISCONTINUED_FLAG

通常、論理比較は文字列比較よりも速く処理されるため、次のような順序でポートを並べ

るとセッションの処理速度が向上する場合があります。

Selected PortsITEMS.DISCONTINUED_FLAGITEMS.DESCRIPTION

キー範囲の追加

パーティションキーを構成するポートを特定した後に、[マッピング]タブのパーティシ

ョンビューで各ポートの範囲を入力する必要があります。

58 章 3: パーティションタイプ

Page 78: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

パーティションの開始レンジまたは終了レンジを空白にしておくことができます。範囲の

開始を空白にした場合、Integration Serviceは 小データ値を範囲の開始として使用しま

す。 範囲の終了を空白にした場合、Integration Serviceは 大データ値を範囲の終了と

して使用します。

例えば、2つのパーティションを含むパイプラインで、CUSTOMER_IDに基づくキーに次の範

囲を追加できます。

CUSTOMER_ID Start Range End RangePartition #1 135000Partition #2 135000

顧客テーブルがIntegration Serviceによって読み込まれるとき、顧客IDが135000未満の

すべての行が 初のパーティションに送られ、顧客IDが135000以上のすべての行が次のパ

ーティションに送られます。 Integration Serviceは、NULL値またはキー範囲に該当しな

い値を含む行を除外します。

データをリレーショナルターゲットにロードするようにパイプラインを設定している場合

で、パーティションキーを定義するいずれかのカラムのNULL値が行に含まれているか、行

にどのキー範囲にも当てはまらない値が含まれている場合、その行はIntegration Service

によって 初のパーティションに送られます。

リレーショナルソースからデータを読み込むようにパイプラインを設定していると、

Integration Serviceによってキー範囲に該当する行が読み込まれます。 NULL値のパーテ

ィションキーカラムがある行は読み取りません。

パーティションキーがNULL値の行を読み込むときは、パススルーパーティション化を使用

してSQLオーバーライドを作成します。

フィルタ条件の追加

リレーショナルソースにキー範囲パーティション化を指定する場合、オプションでフィル

タ条件を指定したり、SQLクエリをオーバーライドしたりすることができます。

キー範囲の作成に関するルールおよびガイドライン

キー範囲を作成する場合は、以下の規則およびガイドラインに従ってください。

¨ それぞれのパーティションキーには、 低1つのポートが必要です。

¨ いずれかのパーティションポイントでキー範囲パーティション化を指定した場合には、

パーティションキーの各ポートに範囲を指定する必要があります。

¨ PowerCenterの標準の日付形式を使用して、キー範囲の日付を入力します。

¨ Workflow Managerでは、文字列範囲や数値範囲の重複は検査されません。

¨ Workflow Managerでは、空白または欠落した範囲は検査されません。

¨ キー範囲パーティション化を指定し、すべてのポートに日付の範囲を入力する必要があ

る場合には、PowerCenterの標準日付形式を使用します。

¨ ソース修飾子トランスフォーメーションにキー範囲パーティション化を定義した場合、

ソース修飾子トランスフォーメーションでSQL文を変更すると、デフォルトでパススル

ーパーティション化が使用されます。

¨ Workflow Managerでは、文字列範囲の重複、数値範囲の重複、空白または欠落した範囲

については検査されません。

キー範囲パーティションタイプ 59

Page 79: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

¨ パーティションキーを定義するいずれかのカラムのNULL値が行に含まれているか、行に

どのキー範囲にも当てはまらない値が含まれている場合、その行はIntegration

Serviceによって 初のパーティションに送られます。

パススルーパーティションタイプパススルーパーティション化では、Integration Serviceによりデータはパーティション間

で再分散されることなく処理されます。したがって、ある1つのパーティションに置かれた

行はすべて、パススルーパーティションポイントを通過した後も同じパーティションにと

どまります。

パイプラインにパーティションポイントを追加すると、マスタースレッドにより新しいパ

イプラインステージが追加されます。データスループットを向上させたいが、パーティシ

ョンの数を増やしたくない場合に、パススルーパーティション化を使用します。

パススルーパーティション化はパイプライン上の有効な任意のパーティションポイントで

指定できます。

以下の図に、パススルーパーティション化を使用してデータスループットを向上できるマ

ッピングを示します。

1.readerスレッド(第1ステージ)。

2.トランスフォーメーションスレッド(第2ステージ)。

3.writerスレッド(第3ステージ)。

デフォルトでは、このマッピングにはソース修飾子とターゲットインスタンスにパーティ

ションポイントが置かれます。このマッピングにはXMLターゲットが含まれるため、パーテ

ィションポイントに設定できるパーティションは1つだけになります。

この場合マスタースレッドにより作成されるのは、ソースからデータを読み込むreaderス

レッドが1つ、データを処理するトランスフォーメーションスレッドが1つ、ターゲットに

データを書き込むwriterスレッドが1つです。それぞれのパイプラインステージで、次のよ

うに行が処理されます。

ソース修飾子

(第1ステージ)

トランスフォーメーション

(第2ステージ)

ターゲットインスタンス

(第3ステージ)

行セット1 - -

行セット2 行セット1 -

行セット3 行セット2 行セット1

行セット4 行セット3 行セット2

... ... ...

行セットn 行セット(n-1) 行セット(n-2)

60 章 3: パーティションタイプ

Page 80: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

パイプラインには3つのステージが含まれるため、Integration Serviceでは行のセットを3

つ同時に処理することができます。

式トランスフォーメーションが非常に複雑な場合には、第2(トランスフォーメーション)

ステージの処理に時間がかかり、データスループットが低下することがあります。パフォ

ーマンスを向上させるためには、式トランスフォーメーションEXP_2にパーティションポイ

ントを設定し、パーティションタイプをパススルーパーティション化に設定します。この

操作により新しいパイプラインステージが作成されます。新しいトランスフォーメーショ

ンスレッドがマスタースレッドにより追加されます。

1.readerスレッド(第1ステージ)。

2.トランスフォーメーションスレッド(第2ステージ)。

3.トランスフォーメーションスレッド(第3ステージ)。

4.writerスレッド(第4ステージ)。

これで、Integration Serviceは行の4つのセットを次のように同時に処理できます。

ソース修飾子

(第1ステージ)

FIL_1 & EXP_1トランス

フォーメーション

(第2ステージ)

EXP_2 & LKP_1トランスフ

ォーメーション

(第3ステージ)

ターゲットインスタンス

(第4ステージ)

行セット1 - - -

行セット2 行セット1 - -

行セット3 行セット2 行セット1 -

行セット4 行セット3 行セット2 行セット1

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

行セットn 行セット(n-1) 行セット(n-2) 行セット(n-3)

式トランスフォーメーション「EXP_2」にパーティションポイントを追加すると、実行時間

の長い1つのトランスフォーメーションステージが、実行時間の短い2つのトランスフォー

メーションステージに置き換えられます。データスループットは実行時間の も長いステ

ージにより決定されます。したがってこの場合は、データスループットが向上します。

ラウンドロビンパーティションタイプラウンドロビンパーティション化では、1つ以上のパーティションにデータのブロックが配

分されます。各パーティションでブロックの数やサイズに基づいて行が処理されます。

ラウンドロビンパーティション化は、パーティション間でデータをグループ化する必要が

ない場合に使用します。サイズの異なるファイルソースからデータを読み込むパイプライ

ンでは、ラウンドロビンパーティション化を使用して、各パーティションに行のブロック

を配分します。

ラウンドロビンパーティションタイプ 61

Page 81: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

以下の図に、行がフィルタトランスフォーメーションに入力される前に、ラウンドロビン

パーティション化を使用して行を分散するマッピングを示します。

このマッピングに基づくセッションでは、サイズの異なる3つのフラットファイルから品目

情報が読み込まれます。

¨ ソースファイル1:80,000行

¨ ソースファイル2:5,000行

¨ ソースファイル3:15,000行

ソースデータがPowerCenter Integration Serviceに読み込まれると、第1パーティション

でデータの80%、第2パーティションで5%、第3パーティションで15%の処理が開始されま

す。

負荷をさらに均等に分散するためには、フィルタトランスフォーメーションにパーティシ

ョンポイントを設定し、パーティションタイプをラウンドロビンに設定します。この結

果、各パーティションでデータの約3分の1が処理されるようにデータが振り分けられま

す。

62 章 3: パーティションタイプ

Page 82: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

第 4 章

プッシュダウンの 適化

この章では、以下の項目について説明します。

¨ プッシュダウンの 適化の概要, 63 ページ

¨ プッシュダウンの 適化のタイプ, 64 ページ

¨ 動作可能なデータベースとアイドル状態のデータベース, 66 ページ

¨ データベースに関する作業, 67 ページ

¨ プッシュダウン互換性, 70 ページ

¨ 日付に関する作業, 73 ページ

¨ 式に関する作業, 74 ページ

¨ エラー処理、ロギング、およびリカバリ, 81 ページ

¨ 緩やかに変化する次元に関する作業, 82 ページ

¨ シーケンスおよびビューに関する作業, 82 ページ

¨ $$PushdownConfigマッピングパラメータの使用, 87 ページ

¨ プッシュダウンの 適化のためのセッションの設定, 89 ページ

プッシュダウンの 適化の概要プッシュダウンの 適化を使用して、ソースまたはターゲットデータベースにトランスフ

ォーメーションロジックをプッシュできます。プッシュダウンの 適化用に設定されたセ

ッションを実行した場合、Integration Serviceでトランスフォーメーションロジックが

SQLクエリに変換され、そのSQLクエリがデータベースに送信されます。 ソースデータベー

スまたはターゲットデータベースでSQLクエリが実行され、トランスフォーメーションが処

理されます。

データベースにプッシュできるトランスフォーメーションロジックの量は、データベー

ス、トランスフォーメーションロジック、マッピング設定、およびセッション設定によっ

て異なります。Integration Serviceでは、データベースにプッシュできないすべてのトラ

ンスフォーメーションロジックが処理されます。

Integration Serviceがソースまたはターゲットデータベースに渡すことのできるSQL文お

よびマッピングロジックをプレビューするには、プッシュダウンの 適化ビューアを使用

63

Page 83: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

します。プッシュダウンの 適化ビューアを使用して、プッシュダウンの 適化に関連す

るメッセージを表示することもできます。

以下の図に、ソースデータベースにプッシュできるトランスフォーメーションロジックを

含むマッピングを示します。

このマッピングには、店舗番号5419に基づいた商品ID、およびソースからの商品IDを作成

する式トランスフォーメーションが含まれます。 トランスフォーメーションロジックをデ

ータベースにプッシュするため、Integration Serviceにより以下のSQL文が生成されま

す。

INSERT INTO T_ITEMS(ITEM_ID, ITEM_NAME, ITEM_DESC) SELECT CAST((CASE WHEN 5419 IS NULL THEN '' ELSE 5419 END) + '_' + (CASE WHEN ITEMS.ITEM_ID IS NULL THEN '' ELSE ITEMS.ITEM_ID END) AS INTEGER), ITEMS.ITEM_NAME, ITEMS.ITEM_DESC FROM ITEMS2 ITEMS

Integration Serviceにより、INSERT SELECT文が生成され、ID、名前、説明の値がソース

テーブルから取得され、新しい商品IDが作成されて、これらの値がターゲットテーブル内

のITEM_ID、ITEM_NAME、およびITEM_DESCのカラムに挿入されます。 Integration

Serviceでは、店舗番号5419、アンダースコア、元のITEM IDが連結され、新しい商品IDが

取得されます。

プッシュダウンの 適化のタイプ以下のタイプのプッシュダウンの 適化を設定できます。

¨ ソース側でのプッシュダウンの 適化。 Integration Serviceによりトランスフォーメ

ーションロジックが可能な限りソースデータベースへプッシュされます。

¨ ターゲット側でのプッシュダウンの 適化。 Integration Serviceによりトランスフォ

ーメーションロジックが可能な限りターゲットデータベースへプッシュされます。

¨ 完全なプッシュダウンの 適化。Integration Serviceによりすべてのトランスフォー

メーションロジックのターゲットデータベースへのプッシュが試みられます。

Integration Serviceによりすべてのトランスフォーメーションロジックがデータベー

スへプッシュできない場合、ソース側とターゲット側の両方でプッシュダウンの 適化

が実行されます。

ソース側でのプッシュダウンの 適化セッションの実行

ソース側でのプッシュダウンの 適化が設定されたセッションを実行した場合、

Integration Serviceによりソースからターゲットまで、またはソースデータベースにプッ

シュできないダウンストリームトランスフォーメーションに到達するまで、マッピングが

分析されます。

Integration Serviceでは、データベースにプッシュできるトランスフォーメーションごと

のトランスフォーメーションロジックに基づいて、SELECT文が生成、実行されます。次

64 章 4: プッシュダウンの 適化

Page 84: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

に、Integration ServiceではこのSQLクエリの結果が読み込まれ、残りのトランスフォー

メーションが処理されます。

ターゲット側でのプッシュダウンの 適化セッションの実行

ターゲット側でのプッシュダウンの 適化が設定されたセッションを実行した場合、

Integration Serviceによりターゲットからソースまで、またはターゲットデータベースに

プッシュできないアップストリームトランスフォーメーションに到達するまで、マッピン

グが分析されます。 Integration Serviceでは、ターゲットデータベースにプッシュでき

るトランスフォーメーションごとのトランスフォーメーションロジックに基づいて、

INSERT文、DELETE文、またはUPDATE文が生成されます。 Integration Serviceでは、デー

タベースにトランスフォーメーションロジックをプッシュできるポイントまで、トランス

フォーメーションロジックが処理されます。 次に、Integration Serviceでは生成された

SQLがターゲットデータベース上で実行されます。

完全なプッシュダウンの 適化セッションの実行

完全なプッシュダウンの 適化を使用するには、ソースデータベースとターゲットデータ

ベースが同じリレーショナルデータベース管理システム内にある必要があります。 完全な

プッシュダウンの 適化が設定されたセッションを実行した場合、Integration Serviceに

よりソースからターゲットまで、またはターゲットデータベースにプッシュできないダウ

ンストリームトランスフォーメーションに到達するまで、マッピングが分析されます。

Integration Serviceでは、データベースにプッシュできるトランスフォーメーションロジ

ックに基づいて、ソースまたはターゲットに対してSQL文が生成、実行されます。

大量のデータおよび完全なプッシュダウンの 適化を使用するセッションを実行した場

合、データベースサーバーは長いトランザクションを実行しなければなりません。長いト

ランザクションを生成する場合は、データベースのパフォーマンスに関する以下の問題を

検討します。

¨ トランザクションが長くなると、使用されるデータベースリソースが増加します。

¨ トランザクションが長いと、データベースのロック状態が長引きます。この状態では、

データベースの並行性が低下し、デッドロックが起こりやすくなります。

¨ トランザクションが長いと、予期しないイベントが発生しやすくなります。

長いトランザクションに関するデータベースのパフォーマンス問題を 小限にするため、

ソース側またはターゲット側でのプッシュダウンの 適化を使用することを検討します。

Integration Serviceの完全な 適化での動作

完全な 適化のためにセッションを設定した場合、Integration Serviceによりソースから

ターゲットまで、またはターゲットデータベースにプッシュできないダウンストリームト

ランスフォーメーションに到達するまで、マッピングが分析されます。 Integration

Serviceによりすべてのトランスフォーメーションロジックがターゲットデータベースにプ

ッシュできない場合、すべてのトランスフォーメーションロジックの、ソースデータベー

スへのプッシュが試行されます。 Integration Serviceにより、すべてのトランスフォー

メーションロジックがソースまたはターゲットにプッシュできない場合、可能な限り多く

のトランスフォーメーションロジックがソースデータベースにプッシュされ、いずれのデ

ータベースにもプッシュできない中間トランスフォーメーションが処理されて、残りのト

プッシュダウンの 適化のタイプ 65

Page 85: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

ランスフォーメーションロジックがターゲットデータベースにプッシュされます。

Integration Serviceでは、トランスフォーメーションロジックをプッシュする各データベ

ースに対し、INSERT SELECT文、DELETE文、またはUPDATE文が生成、実行されます。

例えば、マッピングに以下のトランスフォーメーションが含まれているとします。

ランクトランスフォーメーションをソースデータベースまたはターゲットデータベースに

プッシュすることはできません。 完全なプッシュダウンの 適化のためにセッションを設

定した場合、Integration Serviceによりソース修飾子トランスフォーメーションおよびア

グリゲータトランスフォーメーションがソースにプッシュされ、ランクトランスフォーメ

ーションが処理されて、式トランスフォーメーションおよびターゲットがターゲットデー

タベースにプッシュされます。 Integration Serviceは、一部のトランスフォーメーショ

ンロジックしかデータベースにプッシュできない場合にも、セッションに失敗しません。

動作可能なデータベースとアイドル状態のデータベース

プッシュダウンの 適化中に、Integration Serviceによりトランスフォーメーションロジ

ックが1つのデータベースにプッシュされます。このデータベースは動作可能なデータベー

スと呼ばれます。 トランスフォーメーションロジックを処理しないデータベースは、アイ

ドル状態のデータベースと呼ばれます。 例えば、あるマッピングにジョイナトランスフォ

ーメーションにより結合された2つのソースが含まれているとします。 セッションがソー

ス側でのプッシュダウンの 適化に設定されている場合、Integration Serviceではジョイ

ナトランスフォーメーションロジックが詳細パイプライン内のソース、つまり動作可能な

データベースへプッシュされます。 マスタパイプラインのソースは、トランスフォーメー

ションロジックを処理しないため、アイドル状態のデータベースです。

Integration Serviceでは以下の条件が使用され、動作可能なデータベースとアイドル状態

のデータベースが決定されます。

¨ 完全なプッシュダウンの 適化を使用した場合、ターゲットデータベースが動作可能な

データベースとなり、ソースデータベースがアイドル状態のデータベースになる。

¨ ルックアップトランスフォーメーションが含まれるセッションでは、ソースまたはター

ゲットデータベースが動作可能なデータベースとなり、ルックアップデータベースがア

イドル状態のデータベースになる。

¨ ジョイナトランスフォーメーションが含まれるセッションでは、詳細パイプラインのソ

ースが動作可能なデータベースとなり、マスタパイプラインのソースがアイドル状態の

データベースになる。

66 章 4: プッシュダウンの 適化

Page 86: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

¨ 共有体トランスフォーメーションが含まれるセッションでは、 初の入力グループのソ

ースが動作可能なデータベースとなる。 その他の入力グループのソースは、アイドル

状態のデータベースになる。

トランスフォーメーションロジックを動作可能なデータベースにプッシュするには、動作

可能なデータベースのデータベースユーザーアカウントが、アイドル状態のデータベース

から読み込まれる必要があります。

データベースに関する作業以下のデータベース用にプッシュダウンの 適化を設定することができます。

¨ IBM DB2

¨ Microsoft SQL Server

¨ Netezza

¨ Oracle

¨ Sybase ASE

¨ Teradata

¨ ODBCドライバを使用するデータベース

データベースにトランスフォーメーションロジックをプッシュする場合、データベースが

Integration Serviceとは異なる出力を生成することがあります。 また、ODBCドライバで

はなくネイティブドライバを使用する場合は、通常Integration Serviceではより多くのト

ランスフォーメーションロジックをデータベースにプッシュできます。

Integration Serviceおよびデータベースの出力の比較

Integration Serviceとデータベースでは、同じトランスフォーメーションロジックを処理

した場合でも、異なる結果になる場合があります。 データを読み込む際、Integration

Serviceによって、データが別の形式に変換されることがあります。 Integration Service

とデータベースは、NULL値、大文字と小文字の区別、ソート順を異なる方法で処理するこ

とがあります。

以下の設定と変換が異なる場合、データベースとIntegration Serviceとでは異なる出力が

生成されます。

¨ 高値または 低値として取り扱われるNULL。 NULL値の取り扱い方は、Integration

Serviceとデータベースとで異なる場合があります。たとえば、ソータトランスフォー

メーションをOracleデータベースにプッシュしたいとします。セッションで、NULLをソ

ート順の 低値として扱われるように設定します。Oracleの場合、NULL値がソート順の

高値として扱われます。

¨ ソート順。 Integration Serviceとデータベースとで、使用されるソート順が異なる場

合があります。例えば、セッション内のトランスフォーメーションを、大文字小文字を

区別しないソート順を使用するように設定されたMicrosoft SQL Serverデータベースに

プッシュしたいとします。大文字小文字を区別するバイナリソート順を使用するように

セッションプロパティを設定します。返される結果は、トランスフォーメーションロジ

データベースに関する作業 67

Page 87: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

ックがIntegration ServiceまたはMicrosoft SQL Serverデータベースのどちらで処理

されるかに応じて異なる可能性があります。

¨ 大文字と小文字の区別。Integration Serviceとデータベースは、異なる方法で大文字

と小文字の区別を扱うことがあります。 例えば、Integration Serviceでは大文字小文

字が使用されるのに対し、データベースでは使用されません。フィルタトランスフォー

メーションで使用されるフィルタ条件をIIF(col_varchar2 = ‘CA’, TRUE, FALSE)

とします。‘CA’に一致する行を返すデータベースが必要です。’ ただし、大文字と

小文字を区別しないMicrosoft SQL Serverデータベースにこのトランスフォーメーショ

ンロジックをプッシュする場合は、値「Ca」、「ca」、「cA」、および「CA」に一致す

る行が返されます。

¨ 文字値に変換される数値。 同じ数値を文字値に変換するにしても、Integration

Serviceとデータベースとで変換形式が異なる可能性があります。データベースでは、

数値を許容できない文字形式に変換されてしまう可能性があります。たとえば、テーブ

ルに数値1234567890が含まれているとします。Integration Serviceでこの数を文字値

に変換した場合、文字「1234567890」が挿入されます。 ただし、この数はデータベー

スで、「1.2E9」に変換されます。 これら文字列の2つのセットは同じ値を示していま

す。ただし、文字に形式「1234567890」を用いる必要がある場合は、プッシュダウンの

適化を無効にすることができます。

¨ 精度。 Integration Serviceとデータベースとで、特定のデータタイプの精度が異なる

場合があります。 トランスフォーメーションデータ型によって、ネイティブデータ型

とは異なる可能性があるデフォルトの数値精度が使用されます。例えば、トランスフォ

ーメーションDecimalデータ型の精度は1~28です。 対応するTeradataのDecimalデー

タ型の精度は1~18です。 データベースで使用されている精度がIntegration Service

とは異なる場合、結果が変わる可能性があります。

ODBCドライバの使用

データベースにネイティブドライバを使用した場合、Integration Serviceによりネイティ

ブデータベースSQLが使用されてSQL文が生成されます。 ODBCドライバを使用した場合、

Integration Serviceでは、通常、データベースタイプが検出されません。 この結果、

Integration ServiceによってANSI SQLが使用され、SQL文が生成されます。 Integration

Serviceでは、ANSI SQLではなくネイティブ言語を使用してSQL文を生成する際に、より多

くの関数を生成できます。

注: Netezzaデータベースには、ODBCドライバを使用する必要があります。 Integration

ServiceではNetezzaにODBCドライバが使用されますが、トランスフォーメーションロジッ

クをNetezzaデータベースにプッシュする際にはIntegration Serviceによってデータベー

スがNetezzaであることが検出され、ネイティブデータベースSQLが生成されます。

場合によっては、ANSI SQLにデータベース構文との互換性がない場合があります。次のセ

クションでは、ODBCドライバを使用する場合に発生する可能性がある問題について説明し

ます。 可能な限り、ネイティブドライバを使用してこれらの問題を防止します。

68 章 4: プッシュダウンの 適化

Page 88: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

IBM DB2

ODBCドライバをIBM DB2データベースと共に使用している場合、以下の問題が発生する可能

性があります。

¨ 識別ソートで、大文字小文字が区別されない場合、ソートキーの1つが文字列データ型

であるときは、ソータトランスフォーメーションを含むセッションが失敗します。

¨ ルックアップトランスフォーメーションを含むセッションは、ソース側のプッシュダウ

ンの 適化または完全なプッシュダウンの 適化について失敗します。

¨ 型のキャストを必須とするセッションは、Float/DoubleからStringに型をキャストする

場合、またはIBM DB2データベースで許可されていない他の型をキャストする必要があ

る場合、失敗します。

Microsoft SQL Server

ODBCドライバをMicrosoft SQL Serverデータベースと共に使用している場合、以下の問題

が発生する可能性があります。

¨ 識別ソートで、大文字小文字が区別されない場合、ソータトランスフォーメーションを

含むセッションは失敗します。

¨ プッシュダウンの 適化セッションは、ODBCドライバを使用してMicrosoft SQL Server

ターゲットに日時データをロードする場合、失敗します。Integration Serviceは、日

時データをODBCタイムスタンプデータ型に変換しますが、このデータ型は未サポートの

Microsoft SQL Serverデータ型です。

Sybase ASE

ODBCドライバをSybase ASEデータベースと共に使用している場合、以下の問題が発生する

可能性があります。

¨ セッションはデータ型変換を実行するときにSybase ASE 12.5またはそれ未満を使用し

た場合、失敗します。

¨ 完全な外部結合に設定されているジョイナトランスフォーメーションを使用した場合、

セッションは失敗します。

Teradata

ODBCドライバをTeradataデータベースと共に使用している場合、以下の問題が発生する可

能性があります。

¨ セッションは、精度が18より大きい数値データ型を変換する場合、失敗します。

¨ ソータトランスフォーメーションを含むセッションに完全なプッシュダウンの 適化を

使用した場合、セッションは失敗します。

¨ 識別キーに基づくソートを行うと、そのソートで大文字と小文字が区別されず1つのポ

ートが文字ポートである場合に、結果が一貫しないことがあります。

¨ Group Byポートが文字列データ型で、大文字小文字が区別されない場合、アグリゲータ

トランスフォーメーションを含むセッションの結果は、Integration Serviceとデータ

ベースとで異なる可能性があります。

データベースに関する作業 69

Page 89: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

¨ ルックアップトランスフォーメーションを含むセッションが、ターゲット側のプッシュ

ダウンの 適化に設定されている場合、このセッションは失敗します。

¨ 日付-文字列データタイプ変換を含むセッションは失敗します。

¨ Integration Serviceは、文字列-日付または日付-文字列の変換をNetezzaにプッシュ

する際に、サポートされない日付形式を検出できません。

Netezzaに関するルールおよびガイドライン

Netezzaデータベースへのプッシュダウンの 適化には、以下のルールおよびガイドライン

を使用します。

¨ Netezzaデータベーステーブルに日付、時刻、またはタイプスタンプのカラムが含まれ

る場合、[85以前のタイムスタンプの互換性]セッションプロパティによって、

Netezza上でターゲット側のプッシュダウンの 適化を実行できるようにする必要があ

ります。 このオプションを無効にした場合、Integration Serviceによりターゲット操

作が処理されます。

¨ Netezzaには、接続されていないパッシブなルックアップトランスフォーメーションの

トランスフォーメーションロジックはプッシュできません。

プッシュダウン互換性データベースへの複数の接続を持つトランスフォーメーションをプッシュするには、その

接続がプッシュダウン互換である必要があります。 接続が同じデータベース管理システム

のデータベースに接続されており、Integration Serviceで接続がアクセスするデータベー

ステーブルが特定できる場合、これらの接続はプッシュダウン互換です。

以下のトランスフォーメーションは、複数の接続を持つことができます。

¨ ジョイナ。ジョイナトランスフォーメーションは、複数のソース接続からデータを結合

できます。

¨ 共有体。共有体トランスフォーメーションは、複数のソース接続からからデータを統合

できます。

¨ ルックアップ。ルックアップトランスフォーメーションの接続は、ソース接続とは異な

る場合があります。

¨ ターゲット。ターゲット接続は、ソース接続とは異なる場合があります。

各接続オブジェクトは、オブジェクト自身に対してプッシュダウン互換です。 ソースおよ

びターゲット接続に対して、同じ接続オブジェクトを使用するようにセッションを設定し

た場合、Integration Serviceによりトランスフォーメーションロジックをソースまたはタ

ーゲットデータベースにプッシュできます。

リレーショナル接続が、同じデータベースタイプであり、同じデータベースユーザー名、

パスワード、特定の同一プロパティを持っている場合、リレーショナル接続の一部はプッ

シュダウン互換です。

70 章 4: プッシュダウンの 適化

Page 90: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

以下の表に、各データベースタイプで同一でなければならない接続プロパティを一覧表示

します。

表 2. プッシュダウン交換接続のため、同一である必要のある接続プロパティ

データベースタイプ 同一でなければならない接続プロパティ

IBM DB2 接続文字列

コードページ

接続環境SQL

トランザクション環境SQL

Microsoft SQL

Server

コードページ

サーバー名

ドメイン名

信頼接続関係を用いる

接続環境SQL

トランザクション環境SQL

Oracle 接続文字列

コードページ

接続環境SQL

トランザクション環境SQL

Sybase ASE コードページ

サーバー名

接続環境SQL

トランザクション環境SQL

Teradata コードページ

データソース名

接続環境SQL

トランザクション環境SQL

注: Integration Serviceにより、大文字と小文字を区別した文字列の比較が実行され、

接続プロパティが同一であることが確認されます。

同じリレーショナルデータベース管理システム内のNetezzaデータベースは、プッシュダウ

ン互換です。 Netezzaデータベースは、Netezzaデータベース自身に対してのみプッシュダ

ウン互換です。

同じデータベースタイプの接続に対し、「プッシュダウン互換性」 (70ページの)の接続

プロパティが同一であるが、データベースユーザー名とパスワードが異なる場合、接続を

プッシュダウン互換にできる場合もあります。

データベース接続に互換性がないユーザー

互換性のない接続のデータベースユーザー名とパスワードが一致しない場合は、追加の情

報を提供して、接続に互換性を持たせる必要があります。

プッシュダウン互換性 71

Page 91: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

接続をプッシュダウン互換にするには、以下のアクションを実行します。

1. 動作可能なデータベースのデータベースユーザーが、すべてのアイドル状態のデータ

ベースに対して読み取り権限があることを確認します。

2. [ユーザー互換のない接続に対するプッシュダウンを許可]セッションプロパティを

有効にします。

3. Microsoft SQL ServerおよびSybaseへの各アイドル状態の接続に対しても、接続プロ

パティのデータベース名および、すべてのルックアップおよびソースのためのテーブ

ルオーナーを指定する必要があります。

アイドル状態のデータベース内のテーブル名の修飾

Integration ServiceによりSQLが生成され動作可能なデータベースへトランスフォーメー

ションがプッシュされる場合、生成されたSQLではアイドル状態のデータベース内のテーブ

ルが 低でも1つ参照されます。

Integration Serviceがすべてのテーブルを特定できることを確認するには、以下の場合に

対して、アイドル状態のデータベース内のテーブル名を修飾する必要があります。

¨ アクティブな接続とアイドル状態の接続が同じ接続プロパティを持ち、データタイプが

同じで、データベースユーザー名とパスワードが異なる場合。

¨ ソース修飾子トランスフォーメーションにソースフィルタまたはユーザー定義結合が含

まれる場合。

注: その他の場合、Integration Serviceは、アイドル状態のデータベース内のテーブル

名を修飾します。

ソース修飾子トランスフォーメーションの[オーナー名]セッションプロパティ内のソー

ステーブル名を修飾します。 ルックアップトランスフォーメーションの[ルックアップテ

ーブル名]セッションプロパティ内のルックアップテーブル名を修飾します。

以下の構文を使用してテーブル名を修飾します。

データベースタイプ 構文

IBM DB2 <table owner>.<table name>

Microsoft SQL

Server

<database name>.<table owner>.<table name>

Netezza サポートされていません。

Oracle <table owner>.<table name>

Sybase ASE <database name>.<table owner>.<table name>

Teradata <database name>.<table name>

72 章 4: プッシュダウンの 適化

Page 92: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

日付に関する作業Integration Serviceとデータベースは、異なる方法で日付を処理することがあります。

日付変換をデータベースにプッシュするようにセッションを設定した場合、予期しない結

果を受け取るかセッションが失敗する可能性があります。

次の日付設定と変換が異なっている場合、データベースではIntegration Serviceと異なる

出力が生成される可能性があります。

¨ 文字値に変換される日付値。 Integration Serviceでは、トランスフォーメーション

Date/Timeデータ型が、データベース内のサブ秒精度をサポートしているネイティブデ

ータ型に変換されます。セッション内の日時形式をデータベースでサポートされていな

い形式に設定した場合、セッションが失敗します。例えば、Integration Serviceが日

付に対してROUND関数を実行する際、MM/DD/YYYY HH:MI:SS.USの形式が使用され、文字

カラムに日付値が格納されます。 しかし、この関数をデータベースで実行すると、そ

のデータベースのデフォルト日付形式で日付が格納されます。データベースがOracleの

場合、日付はデフォルトのDD-MON-YY形式で格納されます。日付をMM/DD/YYYY

HH:MI:SS.USの形式にする必要のある場合は、プッシュダウンの 適化を無効にしま

す。

¨ TO_CHARおよびTO_DATE関数の日付形式。Integration Serviceによって関数がデータベ

ースにプッシュされる際、Integration ServiceによってTO_CHARまたはTO_DATE関数内

の日付形式が使用されます。 データベースは各日付文字列を、そのデータベースでサ

ポートされている日時値に変換します。

例として、Integration Serviceでデータベースにプッシュされる式を次に挙げます。

TO_DATE( DATE_PROMISED, 'MM/DD/YY' )

データベースは指定された日付形式文字列MM/DD/YYにもとづいてDATE_PROMISEDポート

を解釈します。データベースは、各日付文字列(例えば01/22/98)を、サポートされて

いる日付値(例えばJan 22 1998 00:00:00)に変換します。

Integration Serviceは、IBM DB2、Microsoft SQL Server、またはSybaseデータベー

スにプッシュされた日付形式がそのデータベースでサポートされていなかった場合、プ

ッシュダウンの 適化を停止して、トランスフォーメーションを処理します。

Integration Serviceは、すべての日付を変換してから、トランスフォーメーションを

OracleデータベースまたはTeradataデータベースにプッシュします。データベースが日

付変換後に日付形式をサポートしない場合、セッションが失敗します。

¨ HH24日付形式。HH24日付形式は、Teradata用の日付形式文字列には使用できません。

Integration ServiceでTeradata用SQLが生成される際は、HH形式文字列が代わりに使

用されます。

¨ 日付形式文字列内の空白スペース。Teradata内の日付形式文字列には、空のスペースは

使用できません。 Integration ServiceでTeradata用SQLが生成される際は、スペース

が「B」で置き換えられます。

¨ ルックアップトランスフォーメーションでのサブ秒精度の処理ルックアップトランスフ

ォーメーションでサブ秒精度を有効にした場合、データベースおよびIntegration

Serviceでサブ秒精度を使用したルックアップ比較が実行されます。ただし、異なる結

果が返されます。 Integration Serviceとは異なり、データベースではルックアップ結

果をサブ秒精度に基づいて切り詰めません。例えば、サブ秒精度をミリ秒まで示すよう

にルックアップトランスフォーメーションを設定したと想定します。ルックアップ結果

日付に関する作業 73

Page 93: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

が8:20:35.123456の場合、データベースからは8:20:35.123456が返されますが、

Integration Serviceからは8:20:35.123が返されます。

¨ SYSDATE組み込み変数。 SYSDATE組み込み変数を使用した場合、Integration Service

によってサービスプロセスを実行しているノードの現在の日付と時刻が返されます。

しかし、トランスフォーメーションロジックをデータベースに渡した場合、SYSDATE変

数は、データベースのホストマシンの現在の日付と時刻を返します。データベースをホ

ストしているマシンのタイムゾーンが、Integration Serviceを実行しているマシンの

タイムゾーンと同じでない場合、結果に相違が生じることがあります。

式に関する作業プッシュダウンの 適化を使用する場合、Integration Serviceにより、データベース内の

同等の演算子、変数、および関数を決定することによって、トランスフォーメーションま

たはワークフローリンク内の式が変換されます。 等価な演算子、変数、または関数が存在

しない場合、Integration Serviceはトランスフォーメーションロジックを処理します。例

えば、Integration Serviceは集計関数STDDEV()をTeradataue上ではSTDDEV_SAMP()に変換

し、Microsoft SQL Server上ではSTDEV()に変換します。FIRST()集計関数はどのデータベ

ースでもサポートされていないため、この関数を使用するトランスフォーメーションは、

Integration Serviceによって処理されます。

注: Integration Serviceは式をデータベースにプッシュできない場合、ワークフローロ

グおよびプッシュダウンの 適化ビューアにメッセージを記録します。メッセージを使用

して、式をデータベースにプッシュできない原因を特定することができます。

この節の表に、データベース内でのPowerCenterの演算子、変数、および関数の可用性を要

約して示します。

演算子

以下の表に、データベース内でのPowerCenter演算子の可用性を要約して示します。 Xマー

クの付いた各カラムは、ソース側、ターゲット側、または完全なプッシュダウンの 適化

を使用して演算子をデータベースにプッシュできることを示しています。Sマークの付いた

各カラムは、ソース側のプッシュダウン 適化を使用して演算子をデータベースにプッシ

ュできることを示しています。

演算子 IBM

DB2

Micros

oft

SQL

Server

Netez

za

Oracl

e

Syba

se

ASE

Terad

ata

ODBC

+ - * / X X X X X X X

% X X X X X X -

|| S S X X S S -

74 章 4: プッシュダウンの 適化

Page 94: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

演算子 IBM

DB2

Micros

oft

SQL

Server

Netez

za

Oracl

e

Syba

se

ASE

Terad

ata

ODBC

= > < >= <=

<>

X X X X X X X

!= X X X X X X X

^= X X X X X X X

not and or X X X X X X X

変数

以下の表に、データベース内でのPowerCenter変数の可用性を要約して示します。 Xマーク

の付いたカラムには、ソース側、ターゲット側または完全なプッシュダウンの 適化を使

用して変数をデータベースにプッシュできるかどうかが示されます。

変数 IBM

DB2

Micros

oft

SQL

Server

Netez

za

Orac

le

Syba

se

ASE

Terad

ata

ODB

C

SESSSTARTTIME X X X X X X X

SYSDATE X X X X X X -

WORKFLOWSTARTTI

ME

- - - - - - -

関数

以下の表に、データベース内でのPowerCenter関数の可用性を要約して示します。 Xマーク

の付いた各カラムは、ソース側、ターゲット側、または完全なプッシュダウンの 適化を

使用して関数をデータベースにプッシュできることを示しています。Sマークの付いた各カ

ラムは、ソース側のプッシュダウン 適化を使用して関数をデータベースにプッシュでき

ることを示しています。

関数 IBM

DB2

Micros

oft

SQL

Server

Netez

za

Orac

le

Syba

se

ASE

Terad

ata

ODBC

ABORT() - - - - - - -

ABS() X X X X X X X

式に関する作業 75

Page 95: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

関数 IBM

DB2

Micros

oft

SQL

Server

Netez

za

Orac

le

Syba

se

ASE

Terad

ata

ODBC

ADD_TO_DATE() X S X X S X -

AES_DECRYPT() - - - - - - -

AES_ENCRYPT() - - - - - - -

ASCII() X X X X X - -

AVG() X X X X X X X

CEIL() X X X X X S -

CHOOSE() - - - - - - -

CHR() X X X X X - -

CHRCODE() - - - - - - -

COMPRESS() - - - - - - -

CONCAT() S S - X S S -

COS() X X X X X X X

COSH() X S X X S X -

COUNT() X X X X X X X

CRC32() - - - - - - -

CUME() - - - - - - -

DATE_COMPARE() S S X S S S S

DATE_DIFF() - - - - - - -

DECODE() X X X X X X X

DECODE_BASE64(

)

- - - - - - -

DECOMPRESS() - - - - - - -

ENCODE_BASE64(

)

- - - - - - -

ERROR()

76 章 4: プッシュダウンの 適化

Page 96: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

関数 IBM

DB2

Micros

oft

SQL

Server

Netez

za

Orac

le

Syba

se

ASE

Terad

ata

ODBC

EXP() X X X X X X X

FIRST() - - - - - - -

FLOOR() X X X X X S -

FV() - - - - - - -

GET_DATE_PART(

)

X X X X X X -

GREATEST() - - - X - - -

IIF() X X X X X X X

IN() X X - X X X X

INDEXOF() - - - - - - -

INITCAP() - - - X - - -

INSTR() S X - X S S -

IS_DATE() - - - - - - -

IS_NUMBER() - - - - - - -

IS_SPACES() - - - - - - -

ISNULL() X X X X X X X

LAST() - - - - - - -

LAST_DAY() - - - X - - -

LEAST() - - - X - - -

LENGTH() X X X X X X -

LN() - - X - - - -

LOG() X S X X S S -

LOOKUP X X X X X X X

LOWER() X X X X X X X

式に関する作業 77

Page 97: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

関数 IBM

DB2

Micros

oft

SQL

Server

Netez

za

Orac

le

Syba

se

ASE

Terad

ata

ODBC

LPAD() - - X X - - -

LTRIM() X X X X X X -

MAKE_DATE_TIME

()

- - - - - - -

MAX() X X X X X X X

MD5() - - - - - - -

MEDIAN() - - - - - - -

METAPHONE() - - - - - - -

MIN() X X X X X X X

MOD() X X X X X X -

MOVINGAVG() - - - - - - -

MOVINGSUM() - - - - - - -

NPER() - - - - - - -

PERCENTILE() - - - - - - -

PMT() - - - - - - -

POWER() X X X X X X X

PV() - - - - - - -

RAND() - - - - - - -

RATE() - - - - - - -

REG_EXTRACT() - - - - - - -

REG_MATCH() - - - - - - -

REG_REPLACE - - - - - - -

REPLACECHR() - - - - - - -

REPLACESTR() - - - - - - -

78 章 4: プッシュダウンの 適化

Page 98: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

関数 IBM

DB2

Micros

oft

SQL

Server

Netez

za

Orac

le

Syba

se

ASE

Terad

ata

ODBC

REVERSE() - - - - - - -

ROUND(DATE) - - - X - - -

ROUND(NUMBER) X X X X X S -

RPAD() - - X X - - -

RTRIM() X X X X X X -

SET_DATE_PART(

)

- - - - - - -

SIGN() X X X X X S -

SIN() X X X X X X X

SINH() X S X X S X

SOUNDEX() X X - X X - -

SQRT() X X X X X X X

STDDEV() X X - X - X -

SUBSTR() S S X X S S -

SUM() X X X X X X X

SYSDATE() X X X X X X X

SYSTIMESTAMP() X X X X X X X

TAN() X X X X X X X

TANH() X S X X S X -

TO_BIGINT X X X X X X X

TO_CHAR(DATE) X X X X X S -

TO_CHAR(NUMBER

)

X X X X X X -

TO_DATE() X X X X X X -

TO_DECIMAL() X X X X X X -X

式に関する作業 79

Page 99: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

関数 IBM

DB2

Micros

oft

SQL

Server

Netez

za

Orac

le

Syba

se

ASE

Terad

ata

ODBC

TO_FLOAT() X X X X X X -X

TO_INTEGER() X S X X S X -

TRUNC(DATE) - - X X - - -

TRUNC(NUMBER) X X X X S S -

UPPER() X X X X X X X

VARIANCE() X X - X - X -

プッシュダウンの 適化の関数に関するルールおよびガイドライン

データベースに関数をプッシュする際には、以下のルールおよびガイドラインを使用しま

す。

¨ トランスフォーメーションロジック内でADD_TO_DATEを使用して日、時間、分、または

秒を変更した場合、この関数をTeradataデータベースにプッシュできません。

¨ LAST_DAY()をOracleにプッシュした場合、秒まで示された日付がOracleによって返され

ます。 入力日付にサブ秒が含まれている場合、Oracleでは日付が秒にトリミングしま

す。

¨ LTRIM、RTRIM、またはSOUNDEXをデータベースにプッシュした場合、引数(' ')はその

データベースではNULLとして扱われますが、Integration Serviceではスペースとして

扱われます。

¨ IBM DB2データベースとIntegration Serviceでは、STDDEVおよびVARIANCEの結果が異

なります。 IBM DB2では、STDDEVおよびVARIANCEの計算に、データベース以外の異なっ

たアルゴリズムが使用されます。

¨ SYSDATEまたはSYSTIMESTAMPをデータベースにプッシュした場合、データベースサーバ

ーによりタイムスタンプが、Integration Serviceでなくデータベースサーバーのタイ

ムゾーンで返されます。

¨ SYSTIMESTAMPをIBM DB2またはSybaseデータベースにプッシュし、SYSTIMESTAMPの形式

を指定した場合、データベースではその形式は無視され、完全なタイムスタンプが返さ

れます。

¨ SYSTIMESTAMP('SS')はNetezzaデータベースにプッシュできますが、

SYSTIMESTAMP('MS')とSYSTIMESTAMP('US')はプッシュできません。

¨ TO_CHAR(DATE)またはTO_DATE()をNetezzaにプッシュする場合、サブ秒精度の日付は

YYYY-MM-DD HH24:MI:SS.US形式である必要があります。 形式が異なる場合、この関数

はIntegration ServiceによってNetezzaにプッシュされません。

80 章 4: プッシュダウンの 適化

Page 100: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

エラー処理、ロギング、およびリカバリIntegration Serviceとデータベースでは、エラー処理、ロギング、およびリカバリが異な

る方法で処理されます。

エラー処理

Integration Serviceにより、トランスフォーメーションロジックがデータベースにプッシ

ュされる場合、そのデータベースで発生するエラーは追跡できません。 結果として、

Integration Serviceは、セッションのトランスフォーメーションを処理する場合とは別の

方法でエラーを処理します。Integration Serviceにより完全なプッシュダウンの 適化に

設定されたセッションが実行されている際にエラーが発生した場合、そのエラーはデータ

ベースで処理されます。 エラーがデータベースで処理された場合、Integration Service

では拒否された行は拒否ファイルに書き込まれません。

ロギング

Integration Serviceにより、トランスフォーメーションロジックがデータベースにプッシ

ュされる場合、データベースサーバー内で発生するすべてのイベントは追跡することがで

きません。 Integration Serviceが追跡できる統計は、プッシュダウンの 適化のタイプ

によって異なります。 トランスフォーメーションロジックをデータベースにプッシュした

場合、Integration Serviceで生成されるログのそれぞれに次のような差異が生じます。

¨ セッションログには、データベースで処理されたトランスフォーメーションの詳細情報

が含まれない。

¨ セッションが完全なプッシュダウンの 適化に設定されている場合、セッションログに

スレッドビジー率が含まれない。

¨ Integration Serviceにより完全なプッシュダウンの 適化が使用されており、すべて

のトランスフォーメーションロジックがデータベースにプッシュされる場合、ソースか

ら読み込まれた行数がセッションログに含まれない。

¨ Integration Serviceによりソース側でのプッシュダウンの 適化が使用されている場

合、 適化されたソースから読み込まれた行数がセッションログに含まれる。

リカバリ

セッションが完全なプッシュダウンのの 適化に設定されていて、セッションが失敗した

場合、トランスフォーメーションがデータベースによって処理されるため、Integration

Serviceでは増分リカバリ実行できません。代わりに、データベースによってトランザクシ

ョンがロールバックされます。データベースサーバーに障害が発生すると、データベース

サーバーはリスタート時にトランザクションをロールバックします。Integration Service

に障害が発生すると、データベースサーバーはトランザクションをロールバックします。

Integration Serviceで、一時シーケンスオブジェクトまたはビューをデータベース内に作

成しているとき、行をいっさい処理しないうちに障害が発生した場合、生成されたSQLがデ

ータベースに対して再度実行されます。

エラー処理、ロギング、およびリカバリ 81

Page 101: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

すべての行の処理が未完了のうちに障害が発生した場合、次のタスクがIntegration

Serviceで実行されます。

1. 適用可能な場合、Integration Serviceは一時ビューまたはシーケンスオブジェクト

をデータベースから削除またはデータベース内に再作成して、重複値が生成されない

ようにします。

2. Integration Serviceは、生成されたSQLをデータベースに対して再度実行します。

Integration Serviceで一時ビューまたはシーケンスオブジェクトをデータベースから削除

しているとき、すべての行の処理後に障害が発生した場合、一時オブジェクトの削除が再

度試みられます。

緩やかに変化する次元に関する作業タイプ1およびタイプ3の緩やかに変化する次元ロジックをデータベースにプッシュできま

す。マッピング内の緩やかに変化する次元ロジックは、複数のトランスフォーメーション

から構成できます。各トランスフォーメーションのルールおよびガイドラインに応じて、

緩やかに変化する次元ロジックをどれだけデータベースにプッシュできるかが決定されま

す。

緩やかに変化する次元のトランスフォーメーションロジックをデータベースにプッシュす

るようにIntegration Serviceを設定する際には、次のルールおよびガイドラインを使用し

てください。

¨ タイプ1およびタイプ3の緩やかに変化する次元マッピングに含まれているトランスフォ

ーメーションは、OracleデータベースまたはIBM DB 2データベースにプッシュできま

す。

¨ ソースデータに重複行があってはなりません。複数の更新を同じ行に対して行った場

合、データベースがデッドロック状態になる可能性があります。

¨ 緩やかに変化する次元マッピングは、バージョン8.5以降の緩やかに変化する次元のウ

ィザードを使用して作成する必要があります。 緩やかに変化する次元ロジックは、以

前のバージョンの緩やかに変化する次元ウィザードで作成されたものである場合、デー

タベースにプッシュできません。

シーケンスおよびビューに関する作業トランスフォーメーションロジックをデータベースにプッシュするために、Integration

Serviceでは一時シーケンスまたは一時ビューがデータベース内に作成されます。 データ

ベーストランザクションが完了した後は、Integration Serviceでプッシュダウンの 適化

用に作成されたシーケンスオブジェクトおよびビューオブジェクトが削除されます。

82 章 4: プッシュダウンの 適化

Page 102: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

シーケンス

シーケンスジェネレータトランスフォーメーションロジックをデータベースにプッシュす

るには、セッションをシーケンスでプッシュダウンの 適化に設定する必要があります。

シーケンスジェネレータトランスフォーメーションロジックをデータベースにプッシュす

るようにセッションを設定した場合、Integration Serviceでは以下のタスクが実行されま

す。

1. データベース内へのシーケンスオブジェクトの作成。 Integration Serviceにより、

シーケンスジェネレータトランスフォーメーションロジックに基づいてシーケンスオ

ブジェクトがデータベース内に作成されます。 Integration Serviceではシーケンス

オブジェクトごとに一意の名前が作成されます。一意のシーケンスオブジェクト名を

作成するために、ハッシュ関数によって生成された値に接頭語PM_Sが追加されます。

2. SQLクエリの生成とデータベースに対するSQLクエリの実行。 Integration Serviceに

より、シーケンスジェネレータトランスフォーメーションロジックをデータベースに

プッシュするSQLクエリが生成され、実行されます。

3. データベースからのシーケンスオブジェクトの削除。トランザクションが完了したと

きに、Integration Serviceによってデータベース内に作成されたシーケンスオブジ

ェクトが削除されます。

シーケンスの作成例

シーケンスジェネレータトランスフォーメーションを使用してリレーショナルターゲット

用プライマリキーを生成する、次のようなマッピングを作成します。

Integration Serviceが、トランスフォーメーションロジックをデータベースにプッシュす

る際、次のSQL文を実行してソースデータベース内にシーケンスオブジェクトを作成しま

す。

CREATE SEQUENCE PM_S6UHW42OGXTY7NICHYIOSRMC5XQ START WITH 1 INCREMENT BY 1 MINVALUE 0 MAXVALUE 9223372036854775807 NOCYCLE CACHE 9223372036854775807

Integration Serviceでシーケンスオブジェクトが作成された後、マッピング内に含まれる

トランスフォーメーションロジックを処理するSQLクエリがIntegration Serviceによって

実行されます。

INSERT INTO STORE_SALES(PRIMARYKEY, QUARTER, SALES, STORE_ID) SELECT CAST(PM_S6UHW42OGXTY7NICHYIOSRMC5XQ.NEXTVAL AS FLOAT), CAST(CAST(SALES_BYSTOREQUARTER_SRC.QUARTER AS FLOAT) AS VARCHAR2(10)), CAST(CAST(SALES_BYSTOREQUARTER_SRC.SALES AS NUMBER(10, 2)) AS NUMBER(25, 2)), CAST(SALES_BYSTOREQUARTER_SRC.STORE_ID AS NUMBER(0, 0)) FROM SALES_BYSTOREQUARTER_SRC

セッション完了後、Integration Serviceによってデータベースからシーケンスオブジェク

トが削除されます。セッションが失敗した場合、Integration Serviceはシーケンスオブジ

ェクトをいったん削除して再作成した後、リカバリタスクを実行します。

シーケンスおよびビューに関する作業 83

Page 103: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

ビュー

Integration Serviceがデータベース内にビューオブジェクトを作成できるように、セッシ

ョンをビューとともにプッシュダウンの 適化に設定する必要があります。

Integration Serviceでは、次の条件下でビューオブジェクトが作成されます。

¨ SQLオーバーライドで設定されたソース修飾子またはルックアップトランスフォーメー

ション用にプッシュダウンの 適化を設定します。

¨ フィルタで設定されたルックアップトランスフォーメーション用にプッシュダウンの

適化を設定します。

¨ コネクトされていないルックアップトランスフォーメーション用にプッシュダウンの

適化を設定します。

Integration Serviceがソース修飾子またはルックアップトランスフォーメーションをデー

タベースにプッシュする際、トランスフォーメーション定義に基づいてビューが作成され

ます。たとえば、Integration Serviceがフィルタを使用するルックアップトランスフォー

メーションに基づいてビューを作成する場合、フィルタされていない行のみを含むビュー

が作成されます。Integration ServiceがSQLオーバーライドを使用するルックアップトラ

ンスフォーメーションをデータベースにプッシュすると、投影されたルックアップポート

だけではなく、すべてのルックアップポートに基づいてビューが作成されます。

Integration Serviceでは、SQLオーバーライドはパースまたは検証されません。 SQLオー

バライドを使用するソース修飾子トランスフォーメーションまたはルックアップトランス

フォーメーションをデータベースにプッシュするようにセッションを設定する場合は、SQL

オーバーライドをそのデータベースに対してテストしてから、セッションを実行してくだ

さい。

ソース修飾子トランスフォーメーションのロジックを一時ビューとともにTeradataにプッ

シュする場合、TeradataのデータディクショナリによりSQL文が失敗することがあります。

多数のプッシュダウン 適化セッションを使用する環境でビューの動的な作成および削除

を行うと、SQL文は失敗します。ソース修飾子トランスフォーメーションにソースフィル

タ、ユーザー定義の結合、SQLオーバーライドのいずれかが含まれている場合は、Teradata

に対するプッシュダウンの 適化の一時ビューの作成は無効にできます。Integration

Serviceが、ビューの代わりに派生テーブルを作成します。

セッションをビューとともにプッシュダウンの 適化に設定した場合、Integration

Serviceでは以下のタスクが実行されます。

1. データベース内でのビューの作成。 Integration Serviceによって、ルックアップフ

ィルタ、接続されていないルックアップ、あるいはソース修飾子トランスフォーメー

ションまたはルックアップトランスフォーメーションでのSQLオーバーライドに基づい

て、データベース内にビューが作成されます。 一意のビュー名を作成するために、

Integration Serviceによって、ハッシュ関数から生成された値にプレフィックスPM_V

が追加されます。

2. ビューに対するSQLクエリの実行。 Integration Serviceによってビューオブジェク

トが作成された後、データベース内に作成されたビューに対して、トランスフォーメ

ーションロジックをソースにプッシュするSQLクエリが実行されます。

3. データベースからのビューの削除。トランザクションが完了した時に、Integration

Serviceによって、作成したビューが削除されます。

84 章 4: プッシュダウンの 適化

Page 104: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

ビューの作成例

カスタマデータベース内の94117郵便番号を検索する、次のマッピングを作成します。

Johnsonという名前のバリエーション(Johnsen、Jonssen、Jonsonなど)に一致する名前

の顧客を返す検索を行います。名前の照合を実行するには、ソース修飾子トランスフォー

メーション用のSQLオーバーライドを入力します。

SELECT CUSTOMERS.CUSTOMER_ID, CUSTOMERS.COMPANY, CUSTOMERS.FIRST_NAME, CUSTOMERS.LAST_NAME, CUSTOMERS.ADDRESS1, CUSTOMERS.ADDRESS2, CUSTOMERS.CITY, CUSTOMERS.STATE, CUSTOMERS.POSTAL_CODE, CUSTOMERS.PHONE, CUSTOMERS.EMAIL FROM CUSTOMERS WHERE CUSTOMERS.LAST_NAME LIKE 'John%' OR CUSTOMERS.LAST_NAME LIKE 'Jon%'

Integration Serviceは、このセッションのトランスフォーメーションロジックをデータベ

ースにプッシュする場合に、次のSQL文を実行してソースデータベースにビューを作成しま

す。

CREATE VIEW PM_V4RZRW5GWCKUEWH35RKDMDPRNXI (CUSTOMER_ID, COMPANY, FIRST_NAME, LAST_NAME, ADDRESS1, ADDRESS2, CITY, STATE, POSTAL_CODE, PHONE, EMAIL) AS SELECT CUSTOMERS.CUSTOMER_ID, CUSTOMERS.COMPANY, CUSTOMERS.FIRST_NAME, CUSTOMERS.LAST_NAME, CUSTOMERS.ADDRESS1, CUSTOMERS.ADDRESS2, CUSTOMERS.CITY, CUSTOMERS.STATE, CUSTOMERS.POSTAL_CODE, CUSTOMERS.PHONE, CUSTOMERS.EMAIL FROM CUSTOMERS WHERE CUSTOMERS.LAST_NAME LIKE 'John%' OR CUSTOMERS.LAST_NAME LIKE 'Jon%'

Integration Serviceでビューが作成された後、マッピング内のトランスフォーメーション

ロジックを実行するSQLクエリーが実行されます。

SELECT PM_V4RZRW5GWCKUEWH35RKDMDPRNXI.CUSTOMER_ID, PM_V4RZRW5GWCKUEWH35RKDMDPRNXI.COMPANY, PM_V4RZRW5GWCKUEWH35RKDMDPRNXI.FIRST_NAME, PM_V4RZRW5GWCKUEWH35RKDMDPRNXI.LAST_NAME, PM_V4RZRW5GWCKUEWH35RKDMDPRNXI.ADDRESS1, PM_V4RZRW5GWCKUEWH35RKDMDPRNXI.ADDRESS2, PM_V4RZRW5GWCKUEWH35RKDMDPRNXI.CITY, PM_V4RZRW5GWCKUEWH35RKDMDPRNXI.STATE, PM_V4RZRW5GWCKUEWH35RKDMDPRNXI.POSTAL_CODE, PM_V4RZRW5GWCKUEWH35RKDMDPRNXI.PHONE, PM_V4RZRW5GWCKUEWH35RKDMDPRNXI.EMAIL FROM PM_V4RZRW5GWCKUEWH35RKDMDPRNXI WHERE (PM_V4RZRW5GWCKUEWH35RKDMDPRNXI.POSTAL_CODE = 94117)

セッション完了後、Integration Serviceによってデータベースからビューが削除されま

す。セッションが失敗した場合、Integration Serviceはビューをいったん削除して再作成

した後、リカバリタスクを実行します。

孤立シーケンスおよびビューのトラブルシューティング

Integration Service、セッション、または接続に障害が発生した場合、Integration

Serviceによってデータベースからシーケンスオブジェクトまたはビューオブジェクトは削

除されません。 この場合、これらのオブジェクトをデータベースから手動で削除してくだ

さい。

注: データベース内の孤立シーケンスオブジェクトおよびビューオブジェクトは、パフォ

ーマンスに影響を及ぼしません。

シーケンスおよびビューに関する作業 85

Page 105: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

孤立シーケンスブジェクトまたはビューオブジェクトをデータベースから削除するには、

次の作業を完了します。

1. データベース内の孤立オブジェクトの特定。データベースのセッションログまたはク

エリに基づいて、孤立オブジェクトを特定できます。 セッション実行から孤立オブジ

ェクトを特定する場合は、セッションログを解析します。特定時点でデータベース内

の孤立オブジェクトをすべて判別する場合は、データベースクエリーを実行します。

2. データベースからの孤立オブジェクトの削除。特定した孤立オブジェクトは、SQL文を

実行して削除できます。

セッションログを使用した孤立したオブジェクトの特定

Integration Serviceによって、ビューオブジェクトまたはシーケンスオブジェクトの作成

および削除時に、イベントログが書き込まれます。 セッション実行中に、Integration

Service、セッション、または接続性に障害が発生した場合、セッションログを調べて、セ

ッション中に削除されたシーケンスオブジェクトまたはビューオブジェクトを指定するこ

とができます。

例えば、Integration ServiceでビューPM_V4RZRWが削除された場合、次のようなメッセー

ジがセッションログに表示されます。

MAPPING> TM_6356 SQLのプッシュダウンクリーンアップ(ソース: CUSTOMERS)を開始します。 : (Tue Feb 14 13:

23:46 2006)

MAPPING> TM_6358 SQLのプッシュダウンクリーンアップ(ソース: DROP VIEW PM_V4RZRW)を実行しています。

MAPPING> TM_6360 SQLのプッシュダウンクリーンアップ(ソース: CUSTOMERS)が正常に完了しました。 : (Tue

Feb 14 13:23:46 2006)]

SQLクエリを使用した孤立オブジェクトの特定

Integration Serviceでシーケンスオブジェクトまたはビューオブジェクトが削除されない

場合、データベースに対してSQLクエリを実行し、Integration Serviceで作成された孤立

シーケンスオブジェクトまたはビューオブジェクトをすべて特定できます。 Integration

Serviceで複数のセッションが実行された場合、または複数のIntegration Serviceで同じ

データベースアカウントに書き込まれた場合、実行され、シーケンスオブジェクトまたは

ビューオブジェクトを削除しなかった各セッションからすべての孤立オブジェクトがSQLク

エリによって返されます。

Integration Serviceでシーケンスオブジェクトまたはビューオブジェクトがデータベース

内に作成さされた場合、シーケンスオブジェクトの名前にプレフィックスPM_S、ビューオ

ブジェクトの名前にPM_Vが追加されます。 これらのオブジェクトは、そのオブジェクトを

特定するプレフィックスに基づいて検索できます。

以下のクエリに、Integration Serviceで作成されたシーケンスオブジェクトを検索する構

文を示します。

IBM DB2:

SELECT SEQNAME FROM SYSCAT.SEQUENCES WHERE SEQSCHEMA = CURRENT SCHEMA AND SEQNAME LIKE ‘PM\_S%’ ESCAPE ‘\\u2019

86 章 4: プッシュダウンの 適化

Page 106: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

Oracle:

SELECT SEQUENCE_NAME FROM USER_SEQUENCES WHERE SEQUENCE_NAME LIKE ‘PM\_S%’ ESCAPE ‘\\u2019

以下のクエリに、Integration Serviceで作成されたビューオブジェクトを検索する構文を

示します。

IBM DB2:

SELECT VIEWNAME FROM SYSCAT.VIEWS WHERE VIEWSCHEMA = CURRENT SCHEMA AND VIEW_NAME LIKE ‘PM\_V%’ ESCAPE ‘\\u2019

Oracle:

SELECT VIEW_NAME FROM USER_VIEWS WHERE VIEW_NAME LIKE ‘PM\_V%’ ESCAPE ‘\\u2019

Microsoft SQL ServerまたはSybase ASE:

SELECT NAME FROM SYSOBJECTS WHERE TYPE=‘V’ AND NAME LIKE ‘PM\_V%’ ESCAPE ‘\\u2019

Teradata:

SELECT TableName FROM DBC.Tables WHERE CreatorName = USER AND TableKind =‘V’AND TableName LIKE ‘PM\_V%’ ESCAPE ‘\\u2019

孤立したオブジェクトの削除

Integration Serviceで作成されたシーケンスオブジェクトまたはビューオブジェクトのリ

ストを取得した後、SQL DROP文を実行して、シーケンスオブジェクトまたはビューオブジ

ェクトをデータベースから削除することができます。

以下のクエリは、任意のデータベース上のIntegration Serviceで作成されたシーケンスオ

ブジェクトを削除する構文を示しています。

DROP SEQUENCE <sequence name>

以下のクエリは、任意のデータベース上のIntegration Serviceで作成されたビューオブジ

ェクトを削除する構文を示しています。

DROP VIEW <view name>

$$PushdownConfigマッピングパラメータの使用

データベース負荷に応じて、ソース側、ターゲット側、または完全なプッシュダウンの

適化を時と場合によって使い分けることができます。例えば、1日のうちピーク時間ではソ

ース側またはターゲット側のプッシュダウン 適化を使用し、データベースアクティビテ

ィが低下する深夜0時から午前2時までは完全なプッシュダウンの 適化を使用します。

プッシュダウンの 適化を時と場合によって使い分けるには、$$PushdownConfigマッピン

グパラメータを使用します。このパラメータを使用して、セッションを様々なタイプのプ

$$PushdownConfigマッピングパラメータの使用 87

Page 107: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

ッシュダウンの 適化で実行することができます。$$PushdownConfigパラメータの設定に

よって、セッションプロパティの 適化設定がオーバライドされます。

次の手順に従って、マッピングパラメータを設定します。

1. Mapping Designerで$$PushdownConfigを作成します。

2. Mapping Designerで$$PushdownConfigマッピングパラメータを追加する場合は、以下

の値を使います。

フィールド 値

名前 $$PushdownConfig

タイプ パラメータ

データ型 String

精度または位取り 20

集計 なし

初期値 なし

説明 オプション

3. セッションを設定するとき、プッシュダウンの 適化属性として$$PushdownConfigを

選択します。

4. パラメータファイルのパラメータを定義します。

5. パラメータファイルの$$PushdownConfigとして以下の値のいずれかを入力します。

値 説明

None Integration Serviceによりセッションのすべてのトラン

スフォーメーションロジックが処理されます。

Source [Seq

View Conn]

Integration Serviceによりトランスフォーメーションロ

ジックが可能な限りソースデータベースへプッシュされま

す。

Target [Seq

View Conn]

Integration Serviceによりトランスフォーメーションロ

ジックが可能な限りターゲットデータベースへプッシュさ

れます。

Full [Seq

View Conn]

Integration Serviceによりトランスフォーメーションロ

ジックが可能な限りソースデータベースとターゲットデー

タベースへプッシュされます。Integration Serviceは、

データベースにプッシュできなかったトランスフォーメー

ションロジックを処理します。

88 章 4: プッシュダウンの 適化

Page 108: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

オプションとして、以下のオプションを1つ以上指定します。

¨ Seq。Integration Serviceでデータベース内にシーケンスオブジェクトを作成で

きるようにします。

¨ View。Integration Serviceでデータベース内にビューオブジェクトを作成できる

ようにします。

¨ Conn。動作可能なデータベースのデータベースユーザーが、動作可能なデータベー

スにトランスフォーメーションロジックをプッシュするのに必要な、アイドル状態

のデータベースに対して読み取り権限を持っていることを示します。

例えば、「Full View Conn」と入力して完全なプッシュダウンの 適化を使用した場

合、動作可能なデータベース内にビューオブジェクトの作成が有効になり、動作可能

なデータベースにアイドル状態のデータベースに対する読み取り権限があることを示

します。

プッシュダウンの 適化のためのセッションの設定

セッションプロパティでセッションをプッシュダウンの 適化に設定します。ただし、よ

り多くのトランスフォーメーションロジックをデータベースに渡すために、トランスフォ

ーメーション、マッピング、またはセッションの設定を編集することが必要になる場合が

あります。データベースに渡すことのできるトランスフォーメーションを、プッシュダウ

ンの 適化ビューアを使用して調べます。

プッシュダウンオプション

セッションプロパティで設定できるプッシュダウン 適化オプションは、次のとおりで

す。

¨ プッシュダウンの 適化。プッシュダウンの 適化のタイプ。 $$PushdownConfigマッ

ピングパラメータを使用する場合は、マッピングパラメータを設定したこと、およびそ

の値をパラメータファイル内に定義したことを確認します。

¨ プッシュダウンに対する一時ビューの許可。PowerCenter Integration Serviceにより

セッションがデータベースにプッシュされる場合に、PowerCenter Integration

Serviceでデータベースに一時ビューオブジェクトを作成できます。 セッションに、ソ

ース修飾子トランスフォーメーションまたはルックアップトランスフォーメーションの

SQLオーバーライド、フィルタリングされたルックアップ、あるいは接続されていない

ルックアップが含まれている場合、PowerCenter Integration Serviceによりデータベ

ースにビューが作成されます。

Teradataソースを使用し、ソースフィルタ、ユーザー定義の結合、SQLオーバーライド

のいずれかがソース修飾子トランスフォーメーションに含まれている場合、一時プッシ

ュダウンビューを許可する必要はありません。ソース修飾子トランスフォーメーション

のロジックを一時ビューとともにTeradataにプッシュする場合、Teradataのデータディ

クショナリによりSQL文が失敗することがあります。多数のプッシュダウン 適化セッ

プッシュダウンの 適化のためのセッションの設定 89

Page 109: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

ションを使用する環境でビューの動的な作成および削除を行うと、SQL文は失敗しま

す。

¨ プッシュダウンに対する一時シーケンスの許可。PowerCenter Integration Serviceで

データベースに一時シーケンスオブジェクトを作成できるようにします。 セッション

にシーケンスジェネレータトランスフォーメーションが含まれている場合、

PowerCenter Integration Serviceがデータベースにシーケンスオブジェクトを作成す

る必要があります。

¨ ユーザー互換のない接続に対するプッシュダウンの許可。動作可能なデータベースのデ

ータベースユーザーが、アイドル状態のデータベースに対して読み取り権限があること

を示します。 動作可能なデータベースのデータベースユーザーが、アイドル状態のデ

ータベースに対して読み取り権限があることを示しているが、実際にはない場合、セッ

ションは失敗します。 アクティブ状態のデータベースのデータベースユーザーにアイ

ドル状態のデータベースの読み取り権限があることを示さない場合、トランスフォーメ

ーションロジックはデータベースにプッシュされません。

プッシュダウンの 適化ビューアを使用して、マッピング、トランスフォーメーション、

またはセッションの設定を編集して、より多くのトランスフォーメーションロジックをデ

ータベースにプッシュする必要があるかどうかを決定します。 プッシュダウンの 適化ビ

ューアには、ソース側、ターゲット側または完全なプッシュダウンの 適化を使用してト

ランスフォーメーションロジックをデータベースにプッシュできるかどうかが示されま

す。 トランスフォーメーションロジックをデータベースにプッシュできる場合は、データ

ベースにプッシュできるトランスフォーメーションの全一覧がプッシュダウンの 適化ビ

ューアに表示されます。

プッシュダウンの 適化ビューアでプッシュダウンオプションまたはプッシュダウングル

ープを選択し、指定の選択範囲に対して生成された対応するSQL文を表示することもできま

す。

注: プッシュダウンオプションまたはプッシュダウングループを選択した場合は、プッシ

ュダウンの設定を変更しません。設定を変更するには、セッションプロパティでプッシュ

ダウンオプションを更新する必要があります。

パーティション化

パーティションタイプがパススルーパーティション化またはキー範囲パーティション化の

場合、複数のパーティションを持つセッションをデータベースにプッシュできます。

パススルーパーティション化用のプッシュダウン 適化

パススルーパーティション化を使用するセッションをプッシュダウン 適化の設定にした

場合、データベースはパーティション間に行を再配分することなしにデータを処理しま

す。ある1つのパーティションに置かれた行はすべて、パススルーパーティションポイント

を通過した後も同じパーティションにとどまります。

トランスフォーメーションロジックをデータベースにプッシュするには、すべてのパーテ

ィションポイントをパススルーパーティション化の設定にする必要があります。たとえ

ば、セッションに4つのパーティションポイントがあるとします。 初の3つのパーティシ

ョンポイントをパススルーパーティション化の設定にし、 後のパーティションポイント

を自動ハッシュキーパーティション化の設定にします。トランスフォーメーョンロジック

( 後のパーティションポイント以降のトランスフォーメーション以外すべて)は、

90 章 4: プッシュダウンの 適化

Page 110: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

Integration Serviceによってデータベースにプッシュされます。 後のパーティションポ

イント以降のトランスフォーメーションは、Integration Serviceによって処理されます。

キー範囲パーティション化用のプッシュダウン 適化

ソース修飾子トランスフォーメーションでキー範囲パーティション化を使用するセッショ

ンをプッシュダウン 適化の設定にした場合、Integration Serviceはすべての行を 初の

パーティションにマージし、後続の各パーティションに対しては空のデータを渡します。

Integration Serviceでは各パーティション用にSQL文が作成されます。 Integration

Serviceにより、一部のトランスフォーメーションロジックのみがデータベースにプッシュ

される場合、セッションの実行時にはパーティション間に行が再分散されません。

Integration Serviceですべてのトランスフォーメーションロジックをデータベースにプッ

シュできるようにするには、セッションが以下の基準を満たしている必要があります。

¨ すべての行を 初のパーティションにマージするには、各パーティションの終了キー範

囲が次のパーティションの開始範囲と等しくなければならない。終了キー範囲が、次の

パーティションと重なり合うことはできない。たとえば、1つめのパーティションの終

了レンジが3386の場合、2つめのパーティションの開始レンジは3386である必要があり

ます。

¨ ソース修飾子トランスフォーメーションでパーティションポイントをキー範囲パーティ

ション化が使用されるように設定し、後続のすべてのパーティションポイントをハッシ

ュ自動キーパーティション化またはパススルーパーティション化のどちらかが使用され

るように設定する必要があります。

複数のパーティションを持つセッションのプッシュダウンの

適化の例

以下の図に、ソータトランスフォーメーションとハッシュ自動キーパーティション化を持

つマッピングを示します。

プッシュダウンの 適化のためのセッションの設定 91

Page 111: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

1つめのキー範囲は1313 - 3340で、2つめのキー範囲は3340 - 9354です。次のSQL文は、

すべてのデータを1つめのパーティションに統合します。

SELECT ITEMS.ITEM_ID, ITEMS.ITEM_NAME, ITEMS.ITEM_DESC FROM ITEMS1 ITEMS WHERE (ITEMS.ITEM_ID >= 1313) AND (ITEMS.ITEM_ID < 9354) ORDER BY ITEMS.ITEM_ID

このSQL文は品目1313 - 9354を選択します。これにはキー範囲内のすべての値が含まれて

います。このSQL文は、両方のパーティションからのデータを1つめのパーティションに統

合します。

2つめのパーティションのSQL文は空データを渡します。

SELECT ITEMS.ITEM_ID, ITEMS.ITEM_NAME, ITEMS.ITEM_DESC FROM ITEMS1 ITEMS WHERE (1 = 0) ORDER BY ITEMS.ITEM_ID

複数のパーティションを持つセッションに関するルールおよび

ガイドライン

複数のパーティションを使用するセッションをデータベースにプッシュするように

Integration Serviceを設定する際には、次のルールおよびガイドラインを使用してくださ

い。

Integration Serviceで複数のパーティションを使用するセッションをデータベースにプッ

シュできるのは、次の場合です。

¨ セッションにより、ソース修飾子トランスフォーメーションのパーティションポイント

および後続のすべてのパーティションポイントでパススルーパーティション化が使用さ

れる場合、Integration Serviceではソース側、ターゲット側、または完全なプッシュ

ダウンの 適化が使用されトランスフォーメーションロジックがデータベースにプッシ

ュされます。

¨ セッションにより、ソース修飾子トランスフォーメーションでキー範囲パーティション

化が使用され、ダウンストリームパーティションポイントにハッシュ自働キーパーティ

ションまたはパススルーパーティションが含まれる場合、Integration Serviceではソ

ース側または完全なプッシュダウンの 適化が使用されトランスフォーメーションロジ

ックがデータベースにプッシュされます。

プッシュダウンの 適化でトランスフォーメーションのパーティションからのデータが

初のパーティションにマージされ、ダウンストリームトランスフォーメーションのトラン

スフォーメーションロジックがIntegration Serviceによって処理された場合、ダウンスト

リームトランスフォーメーション内のパーティション間に行が再配分されません。引き続

き 初のパーティションに行が渡され、他のパーティションに空のデータが渡されます。

ターゲットロードルール

ターゲットロードルールは、セッションをデータベースにプッシュできるかどうかに影響

を与える場合があります。

92 章 4: プッシュダウンの 適化

Page 112: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

次の表に、各種のターゲットロードオプションに対応するプッシュダウンの 適化を示し

ます。

ターゲットオプション ソース ターゲット 完全

挿入 X X X

削除 X X X

更新(更新として) X X X

更新(挿入として) X X X

更新(でなければ挿入) X X はい/いい

ターゲットロードロジックをデータベースにプッシュするようにIntegration Serviceを設

定する際には、以下のルールおよびガイドラインを使用します。

¨ 完全なプッシュダウンの 適化を使用してもパフォーマンス向上が達成されず、ソース

行を削除または更新として扱う場合は、ソース側のプッシュダウン 適化を使用してく

ださい。

¨ セッションに共有体トランスフォーメーションが含まれていて、Integration Service

によってトランスフォーメーションロジックがSybaseデータベースに渡される場合、完

全なプッシュダウンの 適化が使用できないため、ソース行を削除または更新として扱

うことになります。

プッシュダウングループの表示

セッションをプッシュダウンの 適化に設定した場合、Integration Serviceによりトラン

スフォーメーションロジックに基づいてSQL文が生成されます。 1つのSQL文として処理で

きるトランスフォーメーションのグループは、プッシュダウングループと呼ばれます。

トランスフォーメーションロジックをデータベースにプッシュする場合、パイプライン、

ソース、およびターゲットの数と使用するプッシュダウンの 適化のタイプに応じて、

Integration Serviceにより複数のプッシュダウングループが作成される場合があります。

セッションに複数のパーティションがある場合、Integration Serviceによりグループ内の

パーティションごとにSQL文が実行されます。 パイプラインを結合した場合、各パイプラ

インのトランスフォーメーションは1つのプッシュダウングループに統合されます。同じト

ランスフォーメーションが2つ以上のターゲットに渡されるトランスフォーメーションロジ

ックの一部である場合、そのトランスフォーメーションは、各ターゲットのプッシュダウ

ングループの一部です。

プッシュダウングループは、プッシュダウンの 適化ビューアを使用して表示できます。

プッシュダウンの 適化ビューアでプッシュダウングループを表示した場合、データベー

スにプッシュできるトランスフォーメーションと、Integration Serviceで処理されるトラ

ンスフォーメーションを特定できます。 プッシュダウンの 適化ビューアに表示されるメ

ッセージを基に、より多くのトランスフォーメーションロジックがデータベースにプッシ

ュされるようにトランスフォーメーションまたはマッピングを編集する方法を決めること

もできます。マッピング変数を使用する場合、またはグリッド上で実行されるようにセッ

プッシュダウンの 適化のためのセッションの設定 93

Page 113: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

ションを設定する場合、プッシュダウンの 適化ビューアは、セッション内で実行される

SQLを表示できません。

生成されたSQLを表示したときに、一時ビューオブジェクトおよびシーケンスオブジェクト

の名前は、セッション中に生成されたビューオブジェクトおよびシーケンスオブジェクト

の名前とは異なっています。Integration Serviceではハッシュ関数が使用され、生成した

シーケンスオブジェクトおよびビューオブジェクトごとに一意の名前が作成されます。

以下の図に、プッシュダウンの 適化ビューアに表示されるマッピングを示します。 ソー

スデータベースとターゲットデータベースにプッシュできる2つのプッシュダウングループ

が含まれています。

パイプライン1とパイプライン2は異なるソースから発生しており、プッシュダウンの 適

化に有効なトランスフォーメーションを含んでいます。Integration Serviceによりターゲ

ットごとにプッシュダウングループが作成され、プッシュダウングループごとにSQL文が生

成されます。 これら2つのパイプラインは結合されているため、ジョイナトランスフォー

メーションに至るまでのトランスフォーメーション(ジョイナトランスフォーメーション

を含む)は両方のパイプラインの一部であり、両方のプッシュダウングループに含まれま

す。

プッシュダウングループを表示するには、プッシュダウンの 適化ビューアを開きます。

プッシュダウンの 適化ビューアでは、Integration Serviceでランタイム時に生成される

プッシュダウングループとSQL文がプレビューされます。

プッシュダウングループを表示する手順:

1. Workflow Managerで、プッシュダウンの 適化に設定されたセッションを開きます。

2. [マッピング]タブで、左ペインの[プッシュダウンの 適化]、または右ペインの

[プッシュダウンの 適化の表示]を選択します。

プッシュダウンの 適化ビューアにプッシュダウングループと、各プッシュダウング

ループを構成しているトランスフォーメーションが表示されます。パイプラインで複

数のパーティションを設定している場合、SQL文はパーティションごとに表示されま

す。プッシュダウングループおよびプッシュダウンオプションごとに生成されたメッ

セージとSQL文を表示できます。プッシュダウンオプションには、[None]、[To

Source]、[To Target]、[Full]、および[$$PushdownConfig]があります。

94 章 4: プッシュダウンの 適化

Page 114: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

以下の図に、ソースデータベースにプッシュできる2つのパーティションを持つ1つの

パイプラインを含むマッピングを示します。

図 1. プッシュダウンの 適化ビューア

3. プッシュダウンの 適化ビューアで、プッシュダウンオプションを選択して、SQL文を

プレビューします。

ビューアのプッシュダウンオプションによって、実行時に発生する 適化は影響を受

けません。セッションのプッシュダウンの 適化を変更するには、セッションプロパ

ティを編集します。

4. 接続変数を使用するようにセッションを設定する場合は、[接続プレビューの結果]

をクリックし、プレビューする接続値を選択します。

セッションが接続変数を使用する場合は、プッシュダウンの 適化ビューアを開くた

びに接続値を選択する必要があります。選択した値は、Workflow Managerで保存され

ないため、Integration Serviceでランタイム時には使用されません。

SQLオーバーライドに$$$SessStartTime変数が含まれている場合、プッシュダウンの

適化をプレビューした際にプッシュダウンの 適化ビューアではこの変数は展開さ

れません。

プッシュダウンの 適化のためのセッションの設定 95

Page 115: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

第 5 章

プッシュダウンの 適化トランスフォーメーション

この章では、以下の項目について説明します。

¨ プッシュダウンの 適化およびトランスフォーメーションの概要, 96 ページ

¨ アグリゲータトランスフォーメーション, 98 ページ

¨ 式トランスフォーメーション, 99 ページ

¨ フィルタトランスフォーメーション, 99 ページ

¨ ジョイナトランスフォーメーション, 100 ページ

¨ ルックアップトランスフォーメーション, 101 ページ

¨ ルータートランスフォーメーション, 104 ページ

¨ シーケンスジェネレータトランスフォーメーション, 104 ページ

¨ ソータトランスフォーメーション, 106 ページ

¨ ソース修飾子トランスフォーメーション, 107 ページ

¨ ターゲット, 109 ページ

¨ 共有体トランスフォーメーション, 110 ページ

¨ アップデートストラテジトランスフォーメーション, 110 ページ

プッシュダウンの 適化およびトランスフォーメーションの概要

Integration Serviceでプッシュダウンの 適化を設定すると、各トランスフォーメーショ

ンがデータベースにプッシュされます。Integration Serviceがトランスフォーメーション

をデータベースにプッシュできるかどうかに影響する基準は、次のとおりです。

¨ トランスフォーメーションのタイプ

¨ マッピング内のトランスフォーメーションの位置

¨ トランスフォーメーションに対するマッピングおよびセッションの設定

¨ トランスフォーメーション内に格納されている式

96

Page 116: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

この基準は、Integration Serviceで実行できるプッシュダウン 適化のタイプ、およびト

ランスフォーメーションをプッシュできるデータベースのタイプにも影響を及ぼす場合が

あります。

Integration Serviceでは、次のトランスフォーメーションのロジックをデータベースにプ

ッシュできます。

¨ アグリゲータ

¨ 式

¨ フィルタ

¨ ジョイナ

¨ ルックアップ

¨ ルータ

¨ シーケンスジェネレータ

¨ ソータ

¨ ソース修飾子

¨ ターゲット

¨ 共有体

¨ アップデートストラテジ

プッシュダウンの 適化とトランスフォーメーションに関するルールおよびガイドライン

トランスフォーメーションのロジックをデータベースにプッシュするようにIntegration

Serviceを設定する際には、以下のルールおよびガイドラインを使用します。

以下の条件のいずれかに当てはまる場合、Integration Serviceによってトランスフォーメ

ーションロジックが処理されます。

¨ トランスフォーメーションロジックがマッピング変数を更新し、それをリポジトリデー

タベースに保存する。

¨ トランスフォーメーションに変数ポートが含まれている。

¨ トランスフォーメーションが以下の条件のすべてを満たしている。

-ソータトランスフォーメーション、共有体トランスフォーメーション、ターゲットの

どれでもない。

- Microsoft SQL Server、Sybase、またはTeradataにプッシュされる。

-ソータトランスフォーメーションからのダウンストリームである。これは、共有体ト

ランスフォーメーションからのダウンストリームである、または識別ソートを含んで

いる。

¨ 入力ポートまたは出力ポートのデフォルト値を上書きするようにセッションが設定され

ている。

¨ トランスフォーメーション内の式に使用されている等価演算子、変数または関数が、デ

ータベース内にない。

プッシュダウンの 適化およびトランスフォーメーションの概要 97

Page 117: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

¨ マッピングに含まれているブランチが多すぎる。パイプラインをブランチに分岐する場

合、マッピングロジックを表すために必要なSQL文は複雑になります。Integration

Serviceは、64個を超える2方向へのブランチ、43個の3方向へのブランチ、または32個

の4方向へのブランチが含まれるマッピングのSQLを生成することはできません。 マッ

ピングのブランチがこれらの制限を超えている場合、Integration Serviceではダウン

ストリームトランスフォーメーションが処理されます。

次のいずれかの条件に該当する場合、マッピング内のすべてのトランスフォーメーション

がIntegration Serviceによって処理されます。

¨ セッションがデータプロファイルセッションまたはデバッグセッションである。

¨ セッションが行エラーをログ記録するように設定されている。

アグリゲータトランスフォーメーション次の表に、アグリゲータトランスフォーメーションをプッシュできる各データベースのプ

ッシュダウンタイプを示します。

データベース プッシュダウンタイプ

IBM DB2 ソース側、完全

Microsoft SQL Server ソース側、完全

Netezza ソース側、完全

Oracle ソース側、完全

Sybase ASE ソース側、完全

Teradata ソース側、完全

ODBC ソース側、完全

以下の条件のいずれかに当てはまる場合、Integration Serviceによってアグリゲータトラ

ンスフォーメーションが処理されます。

¨ セッションおよびマッピングが差分集計用に設定されている。

¨ トランスフォーメーションに、ネストされた集計関数が含まれている。

¨ トランスフォーメーションに、集計式の条件節が含まれている。

¨ トランスフォーメーションでポート式にFIRST()関数、LAST()関数、MEDIAN()関数、ま

たはPERCENTILE()関数が使用されている。

¨ 出力ポートは、集計ポートでないかまたはGroupByポートの一部ではない。

¨ トランスフォーメーションは、Microsoft SQL Server、Sybase、またはTeradataにプ

ッシュされ、ソータトランスフォーメーションからのダウンストリームである。

98 章 5: プッシュダウンの 適化トランスフォーメーション

Page 118: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

式トランスフォーメーション次の表に、式トランスフォーメーションをプッシュできる各データベースのプッシュダウ

ンタイプを示します。

データベース プッシュダウンタイプ

IBM DB2 ソース側、ターゲット側、完全

Microsoft SQL Server ソース側、ターゲット側、完全

Netezza ソース側、ターゲット側、完全

Oracle ソース側、ターゲット側、完全

Sybase ASE ソース側、ターゲット側、完全

Teradata ソース側、ターゲット側、完全

ODBC ソース側、ターゲット側、完全

接続されていないストアドプロシージャを呼び出す場合、Integration Serviceによって式

トランスフォーメーションが処理されます。

フィルタトランスフォーメーションPowerCenter Integration Serviceで処理するデータの量を減らすには、データベースに

フィルタトランスフォーメーションをプッシュします。フィルタ式をデータベースにプッ

シュできない場合、フィルタトランスフォーメーションはPowerCenter Integration

Serviceによって処理されます。例えば、データベースにプッシュできない演算子がフィル

タ式に含まれている場合、Integration Serviceはそのフィルタ式をデータベースにプッシ

ュしません。

次の表に、フィルタトランスフォーメーションをプッシュできるデータベースごとにプッシ

ュダウンタイプを示します。

データベース プッシュダウンタイプ

IBM DB2 ソース側、完全

Microsoft SQL Server ソース側、完全

Netezza ソース側、完全

Oracle ソース側、完全

式トランスフォーメーション 99

Page 119: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

データベース プッシュダウンタイプ

Sybase ASE ソース側、完全

Teradata ソース側、完全

ODBC ソース側、完全

ジョイナトランスフォーメーションデータベースのインデックスおよび統計の使用を 適化するには、データベースにジョイ

ナトランスフォーメーションをプッシュします。

次の表に、ジョイナトランスフォーメーションをプッシュできるデータベースごとにプッシ

ュダウンタイプを示します。

データベース プッシュダウンタイプ

IBM DB2 ソース側、完全

Microsoft SQL Server ソース側、完全

Netezza ソース側、完全

Oracle ソース側、完全

Sybase ASE ソース側、完全

Teradata ソース側、完全

ODBC ソース側、完全

以下の条件のいずれかに当てはまる場合、Integration Serviceによってジョイナトランス

フォーメーションが処理されます。

¨ Integration Serviceがジョイナトランスフォーメーションのマスタパイプラインおよ

び詳細パイプラインをデータベースにプッシュできない。

¨ 結合条件が、バイナリデータタイプのカラムに基づいている。

¨ ジョイナトランスフォーメーションの入力グループが異なるリレーショナルデータベー

ス管理システム上のデータベースから発生している。

¨ セッションがソース行をすべてアップデートとしてマークするように設定されており、

Teradataへのプッシュダウンの 適化が設定されている。

¨ トランスフォーメーションに外部結合が設定されており、マスタソースまたは詳細ソー

スが複数テーブル結合である。 複数テーブル結合に結合された外部結合を表すSQLを、

Integration Serviceで生成できない。

100 章 5: プッシュダウンの 適化トランスフォーメーション

Page 120: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

¨ トランスフォーメーションに完全外部結合が設定されており、Sybaseへのプッシュダウ

ンの 適化が設定されている。

¨ マスタブランチ内のトランスフォーメーションに基づいてIntegration Serviceによっ

てビューまたはシーケンスが作成されており、マスタブランチと詳細ブランチが同じデ

ータベースから生じていない。

¨ トランスフォーメーションは、Microsoft SQL Server、Sybase、またはTeradataにプ

ッシュされ、アグリゲータトランスフォーメーションからのダウンストリームであるソ

ータトランスフォーメーションからのダウンストリームである。

¨ トランスフォーメーションはソータトランスフォーメーションからのダウンストリーム

であり、Microsoft SQL Server、Sybase、またはTeradataにプッシュされ、マスタテ

ーブルと詳細テーブルが、同じソース修飾子トランスフォーメーションインスタンスか

ら生じている。

ルックアップトランスフォーメーションルックアップトランスフォーメーションにプッシュダウンの 適化を設定した場合、デー

タベースは、データベースルックアップテーブルでルックアップを実行します。データベ

ースにルックアップトランスフォーメーションをプッシュすると、行ごとに追加のサブク

エリが必要になるため負荷が高くなります。ルックアップの回数が多いマッピングのパフ

ォーマンスを向上させるには、プッシュダウンの 適化を使用する代わりに、PowerCenter

でルックアップキャッシュを有効にします。

次の表に、ルックアップトランスフォーメーションをプッシュできるデータベースごとにプ

ッシュダウンタイプを示します。

データベース プッシュダウンタイプ

IBM DB2 ソース側、ターゲット側、完全

Microsoft SQL Server ソース側、完全

Netezza ソース側、完全

Oracle ソース側、ターゲット側、完全

Sybase ASE ソース側、完全

Teradata ソース側、完全

ODBC ソース側、完全

ルックアップトランスフォーメーション 101

Page 121: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

ルックアップトランスフォーメーションのロジックをデータベースにプッシュするように

Integration Serviceを設定する際には、次のルールおよびガイドラインを使用してくださ

い。

¨ データベースはトランスフォーメーションロジックの処理時にPowerCenterキャッシュ

を使用しません。

¨ 複数のルックアップトランスフォーメーションが別個のパイプラインブランチに存在し

ていて、ブランチがダウンストリームで統合されている場合、Integration Serviceは

パイプラインブランチの後のすべてのトランスフォーメーションを処理します。

¨ ターゲット側に対してプッシュダウン 適化を実行するように設定されたセッションが

データタイプ変換を必要とする場合、このセッションは失敗します。

¨ Integration Serviceと異なり、Netezzaデータベースは単一のルックアップに対して

複数の行を返すことができます。

¨ ルックアップトランスフォーメーションにSQLオーバーライドが含まれるか、フィルタ

が含まれるか、あるいはルックアップトランスフォーメーションが接続されていないル

ックアップトランスフォーメーションである場合は、ビューを使用してプッシュダウン

の 適化を設定します。

¨ マッピングにNetezzaに対するルックアップが含まれ、そのルックアップ一致ポリシー

が「すべての値に一致」に設定されていない場合、プッシュダウンの 適化はルックア

ップトランスフォーメーションで停止されます。

以下の条件のいずれかに該当する場合、ルックアップトランスフォーメーションは

Integration Serviceによって処理されます。

¨ トランスフォーメーションがパイプラインルックアップに設定されている。

¨ トランスフォーメーションに動的キャッシュが使用されている。

¨ 初、 後、または任意のマッチング値を返すようにトランスフォーメーションが設定

されている。プッシュダウンの 適化を使用するには、複数の一致についてエラーがレ

ポートされるようにルックアップトランスフォーメーションを設定する必要がありま

す。

¨ トランスフォーメーションでは、データベース内でビューが作成され、ルックアップ入

力を提供するデータベースがビューの作成元データベースとは異なっていることが要求

される。

¨ トランスフォーメーションは、Microsoft SQL Server、Sybase、またはTeradataにプ

ッシュされ、アグリゲータトランスフォーメーションからのダウンストリームであるソ

ータトランスフォーメーションからのダウンストリームである。

¨ セッションがソース行をすべてアップデートとしてマークするように設定されており、

Teradataへのプッシュダウンの 適化が設定されている。

¨ ソース側のプッシュダウンの 適化を実行するようにセッションが設定され、ルックア

ップテーブルとソーステーブルが別々のリレーショナルデータベース管理システム内に

存在する。

¨ ターゲット側のプッシュダウンの 適化を実行するようにセッションが設定され、ルッ

クアップテーブルとターゲットテーブルが別々のリレーショナルデータベース管理シス

テム内に存在する。

¨ The Integration Serviceにより、Netezzaデータベースターゲットに対してトランス

フォーメーションのプッシュが試行される。

102 章 5: プッシュダウンの 適化トランスフォーメーション

Page 122: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

接続されていないルックアップトランスフォーメーション

接続されていないルックアップトランスフォーメーションをデータベースにプッシュする

ようにIntegration Serviceを設定する際には、次のルールおよびガイドラインを使用して

ください。

¨ コネクトされていないルックアップがセッションに複数含まれている場合は、データベ

ースの実行速度がIntegration Serviceよりも遅くなる可能性があります。

Integration Serviceでは、コネクトされていないルックアップを呼び出すたびにアウ

タージョインが作成されるため、生成されたSQLが複雑になる可能性があります。セッ

ションをプッシュダウン 適化ありまたはなしでテストして、パフォーマンスが良いの

はどちらのセッションかを確認します。

¨ セッションをビューと共にプッシュダウンの 適化に設定します。

以下の条件のいずれかに当てはまる場合、Integration Serviceによって接続されていない

ルックアップトランスフォーメーションが処理されます。

¨ ルックアップ接続に、ソース接続とのプッシュダウン互換がない。

¨ ターゲット側でのプッシュダウンの 適化を設定する。

¨ トランスフォーメーションがアグリゲータトランスフォーメーションからのダウンスト

リームトランスフォーメーションである。

¨ トランスフォーメーションがパッシブであり、Netezzaデータベースからルックアップ

している。

SQLオーバライドを使用するLookupトランスフォーメーション

SQLオーバライドを使用するLookupトランスフォーメーションのロジックをデータベースに

プッシュするようにIntegration Serviceを設定する際には、次のルールおよびガイドライ

ンを使用してください。

¨ ルックアップオーバライドでは、SQL文にORDER BY句を追加できません。ORDER BY句を

追加すると、セッションが失敗します。

¨ SQLオーバーライドが、ルックアップトランスフォーメーション内のポートの順序と同

じ順序でルックアップトランスフォーメーション内のすべてのポートを選択することを

確認します。

¨ SQLオーバーライド内のSELECT文がデータベースシーケンスを参照する場合、セッショ

ンが失敗します。

SQLオーバーライドを使用するルックアップトランスフォーメーションは、SQLオーバーラ

イドのInformaticaアウタージョイン構文を含む場合、によって処理されます。SQLオーバ

ーライドにANSIアウタージョイン構文を使用して、トランスフォーメーションをデータベ

ースにプッシュします。

ルックアップトランスフォーメーション 103

Page 123: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

ルータートランスフォーメーション次の表に、ルータートランスフォーメーションをプッシュできるデータベースごとのプッ

シュダウンタイプを示します。

データベース プッシュダウンタイプ

IBM DB2 ソース側、完全

Microsoft SQL Server ソース側、完全

Netezza ソース側、完全

Oracle ソース側、完全

Sybase ASE ソース側、完全

Teradata ソース側、完全

ODBC ソース側、完全

ソースデータベースにプッシュできる単一のトランスフォーメーションに出力グループを

すべてマージできる場合は、ソース側プッシュダウンを使用することができます。

ルータ式をデータベースにプッシュできない場合、ルータトランスフォーメーションは

Integration Serviceによって処理されます。例えば、データベースにプッシュできない演

算子が式の中に含まれている場合、Integration Serviceではその式はデータベースにプッ

シュされません。

シーケンスジェネレータトランスフォーメーション

次の表に、シーケンスジェネレータトランスフォーメーションをプッシュできるデータベ

ースごとにプッシュダウンタイプを示します。

データベース プッシュダウンタイプ

IBM DB2 ソース側、ターゲット側、完全

Microsoft SQL Server サポートされていません。

Netezza サポートされていません。

Oracle ソース側、ターゲット側、完全

104 章 5: プッシュダウンの 適化トランスフォーメーション

Page 124: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

データベース プッシュダウンタイプ

Sybase サポートされていません。

Teradata サポートされていません。

ODBC サポートされていません。

以下の条件のいずれかに当てはまる場合、Integration Serviceによってシーケンスジェネ

レータトランスフォーメーションが処理されます。

¨ トランスフォーメーションが再利用可能である。

¨ トランスフォーメーションが複数のターゲットに接続されている。

¨ トランスフォーメーションがCURRVALポートに接続する。

¨ トランスフォーメーションは、別個の行を選択するように設定されたソース修飾子トラ

ンスフォーメーションからのトランスフォーメーションダウンストリームに対してシー

ケンス値を提供します。

¨ Integration Serviceがシーケンスジェネレータトランスフォーメーションのロジック

を必ずしもすべてデータベースにプッシュできるとは限らない。たとえば、パイプライ

ンの2つのブランチに提供されるシーケンス値をシーケンスジェネレータトランスフォ

ーメーションによって作成するとします。プッシュダウンの 適化を設定した場合、デ

ータベースは1つのパイプラインブランチ用にしかシーケンス値を作成できません。

Integration Serviceで必ずしもすべてのシーケンスジェネレータロジックをデータベ

ースにプッシュできない場合、次のメッセージが表示されます。

Pushdown optimization stops at the transformation <transformation name> because the upstream Sequence Generator <Sequence Generator transformation name> cannot be pushed entirely to the database.

¨ パイプラインはシーケンスジェネレータトランスフォーメーションの前でいったん分岐

してから、シーケンスジェネレータトランスフォーメーションの後で元どおり1つに結

合します。

¨ パイプラインはシーケンスジェネレータトランスフォーメーションの後で分岐してから

は、元どおり1つに結合しません。

¨ シーケンス値は、アグリゲータ、フィルタ、ジョイナ、ソータ、または共有体の各トラ

ンスフォーメーションをパススルーします。

¨ シーケンスオブジェクトを作成するデータベースは、動作可能なデータベースまたは動

作可能なデータベースと同じデータベースタイプである必要があります。

シーケンスジェネレータトランスフォーメーションからのトランスフォーメーションダウ

ンストリームがIntegration Serviceによって処理されるのは、このトランスフォーメーシ

ョンがCASE式にシーケンスジェネレータトランスフォーメーションのNEXTVALポートを使用

していて、しかもIBM DB2に対してプッシュダウンの 適化を実行するように設定されてい

る場合です。

シーケンスジェネレータトランスフォーメーション 105

Page 125: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

ソータトランスフォーメーション次の表に、ソータトランスフォーメーションをプッシュできる各データベースのプッシュ

ダウンタイプを示します。

データベース プッシュダウンタイプ

IBM DB2 ソース側、完全

Microsoft SQL Server ソース側、完全

Netezza ソース側、完全

Oracle ソース側、完全

Sybase ASE ソース側、完全

Teradata ソース側、完全

ODBC ソース側、完全

Sorterトランスフォーメーションのロジックをデータベースにプッシュするように

Integration Serviceを設定する際には、次のルールおよびガイドラインを使用してくださ

い。

¨ ソータトランスフォーメーションが異なるソート用に設定され、Microsoft SQL

Server、Sybase、またはTeradataデータベースにプッシュされる場合、Integration

Serviceは、ソータトランスフォーメーションをデータベースにプッシュし、ダウンス

トリームのトランスフォーメーションを処理します。

¨ マッピングに複数の連続するソータトランスフォーメーションが含まれている場合、少

なくとも1つのソータトランスフォーメーションが異なるソート用に設定されている場

合、次のような結果になります。

-ソータトランスフォーメーションの1つがすべての出力ポートを投影しない場合、プッ

シュダウンの 適化は、異なるソートをチェーンの 後のソータランスフォーメーシ

ョンに適用します。

-プッシュダウンの 適化は、すべての出力ポートを投影しない 初のソータトランス

フォーメーションに異なるソートを適用します。

以下の条件のいずれかに該当する場合、ソータトランスフォーメーションはIntegration

Serviceによって処理されます。

¨ ソータトランスフォーメーションがUnionトランスフォーメーションからのダウンスト

リームであり、ソータトランスフォーメーション内でソートキーとして使用されている

ポートがUnionトランスフォーメーションからソータトランスフォーメーションに投影

されない場合

¨ ソータトランスフォーメーションがすべての出力ポートを投影せず、それがマッピング

内の複数の連続するソータトランスフォーメーションである場合。

106 章 5: プッシュダウンの 適化トランスフォーメーション

Page 126: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

¨ ソータトランスフォーメーションがすべての出力ポートを投影せず、次のいずれかの文

に当てはまる場合。

-ソータトランスフォーメーションが異なるソート用に設定されている。

-ソータトランスフォーメーションが1つ以上のソータトランスフォーメーション(いず

れかが異なるソート用に設定されている)によって直ちに処理される。

ソース修飾子トランスフォーメーション次の表に、ソース修飾子トランスフォーメーションをプッシュできるデータベースごとに

プッシュダウンタイプを示します。

データベース プッシュダウンタイプ

IBM DB2 ソース側、完全

Microsoft SQL Server ソース側、完全

Netezza ソース側、完全

Oracle ソース側、完全

Sybase ASE ソース側、完全

Teradata ソース側、完全

ODBC ソース側、完全

ソース修飾子トランスフォーメーションのロジックをデータベースにプッシュするように

PowerCenter Integration Serviceを設定する際には、以下のルールおよびガイドライン

を使用します。

¨ シーケンスジェネレータトランスフォーメーションが、ダウンストリーム共有体トラン

スフォーメーション、ジョイナトランスフォーメーション、またはターゲットで接続が

アイドル状態になっている場合、および異なるデータベースタイプの接続時に、ソース

フィルタまたはユーザー定義結合に入力するテーブル名を修飾します。 この場合にテ

ーブル名を修飾しない場合、PowerCenter Integration Serviceではすべてのトランス

フォーメーションはデータベースにプッシュされません。

¨ ソース修飾子トランスフォーメーションでショートカットオブジェクトにユーザー定義

結合を設定し、かつプッシュダウンの 適化を有効にすると、セッションが失敗しま

す。

ソース修飾子トランスフォーメーション 107

Page 127: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

以下の条件のいずれかに当てはまる場合、PowerCenter Integration Serviceによってソ

ース修飾子トランスフォーメーションのロジックが処理されます。

¨ トランスフォーメーションには、SQLオーバーライドまたはユーザー定義結合の

Informatica外部結合構文が含まれている。SQLオーバーライドにANSI外部結合構文を使

用して、PowerCenter Integration Serviceでソース修飾子トランスフォーメーション

をデータベースにプッシュできるようにします。

¨ ソースが、データベースパーティション化の設定になっている。

¨ ソースが、XMLTypeデータタイプを使用するOracleソースである。

関連項目:

¨ 「アイドル状態のデータベース内のテーブル名の修飾」 (72ページの)

SQLオーバーライドを使用したソース修飾子トランスフォーメーション

SQLオーバライドを使用するソース修飾子トランスフォーメーションを含むセッション用に

プッシュダウンの 適化を設定する際には、次のルールおよびガイドラインを使用してく

ださい。

¨ ポート名は、トランスフォーメーション内での出現順序どおりに、カスタムSQLクエリ

のSELECT文中にリストする必要があります。ポートが正しい順序でない場合、セッショ

ンは失敗するか、または予期しない結果を出力する可能性があります。

¨ セッションをビューと共にプッシュダウンの 適化に設定します。

¨ SQLオーバライド内のSELECT文がデータベースシーケンスを参照する場合、セッション

が失敗します。

¨ SQLオーバーライドにORDER BY句が含まれている場合、ソース修飾子トランスフォーメ

ーションのロジックをIBM DB2、Microsoft SQL Server、Sybase ASE、またはTeradata

データベースにプッシュするときに、セッションが失敗します。

¨ ソース修飾子トランスフォーメーションが個別の値を選択するように設定されていて、

SQLオーバーライドが含まれている場合は、Integration Serviceにより、個別の設定が

無視されます。

¨ セッションに複数のパーティションが含まれている場合は、すべてのパーティションに

対してSQLオーバーライドを指定します。

¨ ソース修飾子トランスフォーメーションにSQLオーバーライドが含まれている場合は、

Teradataのプッシュダウン 適化に対して一時ビューの作成を無効にする必要がありま

す。PowerCenter Integration Serviceで、ビューの代わりに派生テーブルが作成され

ます。

¨ SQLオーバーライドの構文はPowerCenterでは検証されないので、SQLオーバーライドク

エリーを先にソースデータベースに対してテストしてから、データベースにプッシュし

てください。SQL構文にソースソースとの互換性がない場合、セッションが失敗しま

す。

108 章 5: プッシュダウンの 適化トランスフォーメーション

Page 128: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

ターゲット次の表に、ターゲットロジックをプッシュできるデータベースごとのプッシュダウンタイ

プを示します。

データベース プッシュダウンタイプ

IBM DB2 ターゲット側、完全

Microsoft SQL Server ターゲット側、完全

Netezza ターゲット側、完全

Oracle ターゲット側、完全

Sybase ASE ターゲット側、完全

Teradata ターゲット側、完全

ODBC ターゲット側、完全

完全なプッシュダウンの 適化を実行するようにセッションを設定し、以下の条件のいず

れかに当てはまる場合、ターゲットロジックがIntegration Serviceによって処理されま

す。

¨ ターゲットに、ターゲット更新オーバーライドが含まれている。

¨ セッションは制約に基づくロード用に設定されていて、ターゲットロード順グループに

複数のターゲットが含まれている。

¨ セッションに外部ローダが使用されている。

¨ アイドル状態のデータベースでビューまたはシーケンスジェネレータが生成された。

完全なプッシュダウンの 適化を設定し、ターゲット接続とソース接続に互換性がない場

合、Integration Serviceはトランスフォーメーションロジックをすべて1つのデータベー

スにプッシュできません。 代わりに、できるだけ多くのトランスフォーメーションロジッ

クをソースデータベースにプッシュし、可能であれば残りのトランスフォーメーションロ

ジックをターゲットデータベースにプッシュします。

ターゲット側のプッシュダウンの 適化を実行するようにセッションを設定し、以下の条

件のいずれかに当てはまる場合、ターゲットロジックがIntegration Serviceによって処理

されます。

¨ ターゲットに、ターゲット更新オーバーライドが含まれている。

¨ ターゲットがデータベースパーティション化の設定になっている。

¨ セッションがバルクロード用に設定されており、ターゲットがIBM DB2、Microsoft SQL

Server、Oracle、またはSybase ASEである。

¨ セッションに外部ローダが使用されている。Integration Serviceがトランスフォーメ

ーションロジックをソースデータベースにプッシュできるようにするには、外部ローダ

でソース側プッシュダウンの 適化を使用してください。

ターゲット 109

Page 129: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

共有体トランスフォーメーション次の表に、共有体トランスフォーメーションをプッシュできる各データベースのプッシュ

ダウンタイプを示します。

データベース プッシュダウンタイプ

IBM DB2 ソース側、完全

Microsoft SQL Server ソース側、完全

Netezza ソース側、完全

Oracle ソース側、完全

Sybase ASE ソース側、完全

Teradata ソース側、完全

ODBC ソース側、完全

以下の条件のいずれかに該当する場合、共有体トランスフォーメーションのロジックは

Integration Serviceによって処理されます。

¨ Integration Serviceが入力グループをすべてソースデータベースにプッシュできると

は限らない。

¨ 入力グループが同一のリレーショナルデータベース管理システムから発生していない。

¨ 共有体トランスフォーメーションの入力パイプラインの1つには、個別の共有体または

ソータが含まれる。

¨ トランスフォーメーションが、ビューまたはシーケンスジェネレータがデータベース内

で作成され、各接続が個別のデータベース上に存在することを要求するトランスフォー

メーションからのダウンストリームである。

アップデートストラテジトランスフォーメーション

次の表に、アップデートストラテジトランスフォーメーションをプッシュできる各データ

ベースのプッシュダウンタイプを示します。

データベース プッシュダウンタイプ

IBM DB2 完全

Microsoft SQL Server 完全

110 章 5: プッシュダウンの 適化トランスフォーメーション

Page 130: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

データベース プッシュダウンタイプ

Netezza 完全

Oracle 完全

Sybase ASE 完全

Teradata 完全

ODBC 完全

アップデートストラテジトランスフォーメーションのロジックをデータベースにプッシュ

するようにIntegration Serviceを設定する際には、次のルールおよびガイドラインを使用

してください。

¨ 更新操作でアップデートストラテジトランスフォーメーション用に生成されたSQLは、

複雑になる可能性があります。セッションをプッシュダウン 適化ありまたはなしで実

行して、どちらの設定の方が高速かを確認します。

¨ 同一行に対して複数の操作が存在している場合、Integration Serviceとデータベース

とで異なる操作が実行される可能性があります。新しい行をデータベースにプッシュし

たときに削除または更新されないようにするには、トランザクション削除、トランザク

ション更新、トランザクション挿入の順序でソース行を処理します。

¨ トランスフォーメーションに複数の挿入、更新、または削除操作が含まれる場合、

Integration Serviceにより連続して、挿入、更新、削除のSQL文が生成、実行されま

す。 これら3つの文は必要でない場合でもIntegration Serviceによって実行されま

す。この結果、パフォーマンスが低下する可能性があります。

¨ 完全なプッシュダウン 適化が使用されているときは、リジェクト行がIntegration

Serviceに無視されます。リジェクト行は拒否ファイルに書き込まれません。

以下の条件のいずれかに当てはまる場合、Integration Serviceによってアップデートスト

ラテジトランスフォーメーションが処理されます。

¨ Integration Serviceで更新方式の式がデータベースにプッシュできない場合。 例え

ば、データベースにプッシュできない演算子が式の中に含まれている場合、

Integration Serviceではその式はデータベースにプッシュされません。

¨ トランスフォーメーションに挿入操作以外の操作が使用されていて、Integration

Serviceが必ずしもすべてのトランスフォーメーションをデータベースにプッシュでき

るとは限らない。

¨ アップデートストラテジ式が、数値でもブールでもない値を返す。

アップデートストラテジトランスフォーメーション 111

Page 131: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

第 6 章

リアルタイム処理

この章では、以下の項目について説明します。

¨ リアルタイム処理の概要, 112 ページ

¨ リアルタイムデータについて, 113 ページ

¨ リアルタイムセッションの設定, 115 ページ

¨ 終了条件, 116 ページ

¨ フラッシュ待ち時間, 117 ページ

¨ コミットタイプ , 118 ページ

¨ メッセージリカバリ, 118 ページ

¨ リカバリファイル, 120 ページ

¨ リカバリテーブル, 121 ページ

¨ リカバリキューおよびリカバリトピック, 123 ページ

¨ リカバリ無視リスト, 124 ページ

¨ リアルタイムセッションの停止, 124 ページ

¨ リアルタイムセッションのリスタートおよびリカバリ, 125 ページ

¨ リアルタイムセッションに関するルールおよびガイドライン, 127 ページ

¨ メッセージリカバリに関するルールおよびガイドライン, 127 ページ

¨ リアルタイム処理の例, 128 ページ

¨ Informaticaリアルタイム製品, 130 ページ

リアルタイム処理の概要この章では、リアルタイム処理の概要について説明します。リアルタイム処理の動作は、

リアルタイムソースに依存します。例外については、この章に注意書きされているほか、

対応する製品のマニュアルにも説明が記載されています。

PowerCenterを使用して、リアルタイムでデータを処理することができます。リアルタイム

処理は、リアルタイムソースからのデータのオンデマンド処理です。 リアルタイムセッシ

ョンでは、ターゲットに対するデータの読み込み、処理、および書き込みが連続して実行

112

Page 132: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

されます。セッションをリアルタイム処理に設定しない場合、デフォルトで、セッション

はスケジュールされた間隔でデータを一括で読み書きします。

データをリアルタイムで処理するには、そのデータの発生元がリアルタイムソースでなけ

ればなりません。リアルタイムソースには、JMS、WebSphere MQ、TIBCO、webMethods、

MSMQ、SAP 、Webサービスなどがあります。財務データなどの動的データに即時にアクセス

しなければならない処理にリアルタイム処理を使用することができます。

PowerCenterでのリアルタイム処理を理解するには、次の概念をよく把握する必要がありま

す。

¨ リアルタイムデータ。 リアルタイムデータには、メッセージとメッセージキュー、Web

サービスメッセージ、およびPowerExchange変更データキャプチャソースからの変更が

含まれます。リアルタイムデータは、リアルタイムソースから派生します。

¨ リアルタイムセッション。 リアルタイムセッションとは、リアルタイムソースデータ

を処理するセッションのことです。Integration Serviceがフラッシュ待ち時間の設定

に基づいてリアルタイムフラッシュを生成し、すべてのトランスフォーメーションがそ

のフラッシュをターゲットにプロパゲートする場合、セッションはリアルタイムになり

ます。待ち時間とは、ソースでソースデータが変更されてからセッションがそのデータ

をターゲットに書き込むまでの時間です。

¨ リアルタイムプロパティ。 リアルタイムプロパティは、Integration Serviceがどのよ

うな場合にデータを処理し、データをターゲットにコミットするかを決定します。

-終了条件。終了条件は、Integration Serviceでどのような場合にソースからのデー

タの読み込みを停止するかを決定します。また、セッションを継続的に実行しないと

きは、どのような場合にセッションを終了するかを決定します。

-フラッシュ待ち時間。フラッシュ待ち時間は、Integration Serviceでソースからリ

アルタイムデータをフラッシュする頻度を決定します。

-コミットタイプ。コミットタイプは、Integration Serviceでどのような場合にリア

ルタイムデータをターゲットにコミットするかを決定します。

¨ メッセージリカバリ。 リアルタイムセッションが失敗した場合、メッセージをリカバ

リすることができます。リアルタイムセッションでメッセージのリカバリを有効にした

場合、Integration ServiceはソースのメッセージまたはメッセージIDをリカバリファ

イルまたはリカバリテーブルに格納します。セッションが失敗した場合、リカバリモー

ドでセッションを実行して、Integration Serviceが処理できなかったメッセージを回

復することができます。

リアルタイムデータについて以下のタイプのリアルタイムデータを処理できます。

¨ メッセージとメッセージキュー。WebSphere MQ、JMS、MSMQ、SAP、TIBCO、および

webMethodsソースのメッセージとメッセージキューを処理します。 メッセージとメッ

セージキューからの読み込みが可能です。メッセージ、メッセージングアプリケーショ

ン、およびメッセージキューへの書き込みが可能です。

リアルタイムデータについて 113

Page 133: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

¨ Webサービスメッセージ。WebServiceクライアントからWeb Services Hubを介してメッ

セージを受信し、データを変換します。 データをターゲットに書き込むことも、ある

いはWebServiceクライアントにメッセージを送り返すこともできます。

¨ PowerExchange変更データキャプチャソースからの変更データ。 リレーショナルデータ

ベースまたはファイルソースへの変更を示す変更データを変更ストリームから抽出し、

ターゲットに書き込みます。

メッセージとメッセージキュー

Integration Serviceは、メッセージとキューのアーキテクチャを使用してリアルタイムデ

ータを処理します。メッセージキューからメッセージを読み込み、メッセージデータを処

理し、メッセージをメッセージキューに書き込むこともできます。

メッセージをその他のメッセージングアプリケーションに書き込むこともできます。たと

えば、Integration ServiceはJMSソースからメッセージを読み込み、TIBCOターゲットに

データを書き込むことができます。

メッセージングアプリケーションおよびIntegration Serviceは、メッセージキューからの

メッセージを処理するために次のタスクを完了します。

1. メッセージングアプリケーションがメッセージをキューに追加します。

2. Integration Serviceがキューからメッセージを読み込み、データを抽出します。

3. Integration Serviceがデータを処理します。

4. Integration Serviceが応答メッセージをキューに書き込みます。

Webサービスメッセージ

Webサービスメッセージとは、WebServiceクライアントからのSOAP要求またはWeb

Services HubからのSOAPレスポンスです。Integration ServiceはWeb Services Hubを介

して受信したメッセージ要求を処理することにより、WebServiceクライアントからのリア

ルタイムデータを処理します。Integration Serviceは、Web Services Hubを介して

WebServiceクライアントに応答を返信するか、またはデータをターゲットに書き込むこと

ができます。

WebServiceクライアント、Web Services HubおよびIntegration Serviceは、Webサービス

を処理するために次のタスクを実行します。

1. WebServiceクライアントは、SOAP要求をWeb Services Hubに送信します。

2. Web Services HubはSOAP要求を処理し、この要求をIntegration Serviceに渡します。

3. Integration Serviceは、このサービス要求を実行します。Integration Serviceは

Web Services Hubに応答を送信するか、またはデータをターゲットに書き込みます。

4. Integration ServiceがWeb Services Hubにレスポンスを送信した場合、Web

Services HubはSOAPメッセージ応答を生成し、この応答をWebServiceクライアントに

渡します。

114 章 6: リアルタイム処理

Page 134: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

PowerExchange変更データキャプチャソースからの変更データ

PowerExchange変更データキャプチャソースからの変更データは、ファイルまたはリレーシ

ョナルデータベースへの変更を示します。PowerExchangeは、変更データをキャプチャし、

それを変更ストリームに格納します。PowerExchange Client for PowerCenterを使用し

て、PowerExchange変更ストリームから変更を抽出します。PowerExchange Client for

PowerCenterはPowerExchangeに接続し、直前のセッション以降に変更されたデータを抽出

します。Integration Serviceは変更データを処理し、それをターゲットに書き込みます。

PowerExchange Client for PowerCenter、PowerExchange、およびIntegration Service

は、変更データを処理するために次のタスクを完了します。

1. PowerExchange Client for PowerCenterはPowerExchangeに接続します。

2. PowerExchangeは変更ストリームから変更データを抽出します。

3. PowerExchangeが、変更データをPowerExchange Client for PowerCenter経由で

Integration Serviceに渡します。

4. Integration Serviceはデータを変換し、それをターゲットに書き込みます。

リアルタイムセッションの設定リアルタイムでデータを処理するようにセッションを設定した場合は、セッションがソー

スからの読み込みを停止するタイミングを制御するセッションプロパティを設定すること

もできます。設定した期間にわたってセッションがメッセージの受信を停止した後、セッ

ションがメッセージカウント制限に達したとき、あるいは設定した期間にわたってセッシ

ョンがメッセージを読み込んだときに、ソースからの読み込みを停止するセッションを設

定できます。また、Integration Serviceがターゲットにデータをコミットする方法を設定

し、失敗したセッションでのメッセージのリカバリを有効にすることもできます。

リアルタイムセッション用に、次のプロパティを設定できます。

¨ 終了条件。 Integration Serviceでどのような場合にソースからの読み込みを停止しセ

ッションを終了するかを決定する、終了条件を定義します。

¨ フラッシュ待ち時間。 リアルタイムデータの読み込みおよび書き込みを行うためにフ

ラッシュ待ち時間を使用するセッションを定義します。フラッシュ待ち時間は、セッシ

ョンがデータをターゲットにコミットする頻度を決定します。

¨ コミットタイプ。 リアルタイムセッション用に、ソースベースまたはターゲットベー

スのコミットタイプを設定できます。ソースベースのコミットを使用すると、

Integration Serviceは、コミット間隔とフラッシュ待ち時間に基づいてメッセージを

コミットします。ターゲットベースのコミットを使用する場合、Integration Service

は、フラッシュ待ち時間の間隔に基づいてメッセージをコミットします。

¨ メッセージリカバリ。 失敗したセッションからのメッセージをリカバリするために、

リカバリをリアルタイムセッションで有効にします。

リアルタイムセッションの設定 115

Page 135: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

終了条件終了条件は、Integration Serviceでどのような場合にリアルタイムソースからのメッセー

ジ読み込みを停止し、セッションを終了するかを決定します。Integration Serviceは終了

条件に達すると、リアルタイムソースからの読み込みを停止し、読み込んだメッセージを

処理して、データをターゲットにコミットします。その後、セッションが終了します。

以下の終了条件を設定することができます。

¨ アイドル時間

¨ メッセージカウント

¨ Reader制限時間

複数の終了条件が設定されている場合、Integration Serviceは 初の条件を満たしたとき

にソースからの読み込みを停止します。Integration Serviceではデフォルトでメッセージ

が連続的に読み込まれ、ソースからデータをフラッシュするタイミングがフラッシュ待ち

時間を使用して決定されます。Integration Serviceはフラッシュ後に、終了条件カウンタ

をリセットします。

アイドル時間

アイドル時間は、ソースからの読み込みを停止するまでにIntegration Serviceがメッセー

ジの受信を待機する時間の長さ(秒単位)です。-1は無期限を示します。

たとえば、JMSセッションのアイドル時間を30秒に設定した場合、Integration Serviceは

JMSからの読み込み後、30秒間待機します。30秒以内に新しいメッセージがJMSに到着しな

かった場合、Integration ServiceはJMSからの読み込みを停止します。メッセージ処理

後、セッションが終了します。

メッセージカウント

メッセージカウントは、Integration Serviceがリアルタイムソースからの読み込みを停止

する前にソースから読み込むメッセージ数です。-1は不特定数のメッセージを示します。

たとえば、JMSセッションのメッセージカウントを100に設定した場合、Integration

Serviceは100件のメッセージを読み込んだ後、ソースからの読み込みを停止します。メッ

セージ処理後、セッションが終了します。

注: メッセージカウント終了条件の名前は、Informatica製品ごとに異なります。例え

ば、SAP NetWeaver対応のPowerExchange用のメッセージカウントはパケットカウントと呼

ばれます。 PowerExchange Client for PowerCenter用のメッセージカウントはUOWカウン

トと呼ばれます。

Reader制限時間

Reader制限時間は、Integration Serviceがソースからの読み込みを停止するまでにリア

ルタイムソースからソースメッセージを読み込んだ時間数(秒単位)です。 reader制限時

間を使用して、指定した期間にわたってリアルタイムソースからメッセージを読み込みま

す。0は無期限を示します。

116 章 6: リアルタイム処理

Page 136: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

例えば、タイムリミットに10秒を使用した場合、Integration Serviceは10秒後にメッセ

ージングアプリケーションからの読み込みを停止します。メッセージ処理後、セッション

が終了します。

フラッシュ待ち時間フラッシュ待ち時間を使用してセッションをリアルタイムで実行します。フラッシュ待ち

時間は、Integration Serviceでソースからデータをフラッシュする頻度を決定します。た

とえば、フラッシュ待ち時間を10秒に設定すると、Integration Serviceは10秒ごとにソ

ースからデータをフラッシュします。

PowerExchange変更データキャプチャソースからの変更データの場合、フラッシュ待ち時間

間隔は、フラッシュ待ち時間および作業単位(UOW)カウントの属性によって決まります。

詳細については、『PowerCenter用のPowerExchangeインタフェース』を参照してくださ

い。

Integration Serviceがリアルタイムソースからデータを読み込み、セッションがフラッシ

ュ待ち時間を使用して設定されていると、Integration Serviceは次の処理を実行します。

1. Integration Serviceは、ソースからデータを読み込みます。

フラッシュ待ち時間間隔は、Integration Serviceがソースから 初のメッセージを

読み込んだ時点から開始します。

2. フラッシュ待ち時間が経過すると、Integration Serviceは、ソースからのデータの

読み込みを停止します。

3. Integration Serviceはメッセージを処理し、それをターゲットに書き込みます。

4. Integration Serviceは、次のフラッシュ待ち時間に達するまで再度ソースからデー

タを読み込みます。

フラッシュ待ち時間は、秒数で設定します。デフォルト値は0です。0値を指定すると、フ

ラッシュ待ち時間は無効となり、セッションはリアルタイムで実行されません。

フラッシュ待ち時間間隔は、データの動的レベル、およびユーザーに必要なデータアクセ

ス速度によって決定されます。財務取引情報のようにデータがすぐに陳腐化する場合は、

変更が発生したときにできるだけ早くターゲットテーブルが更新されるように、フラッシ

ュ待ち時間間隔を短めに設定してください。たとえば、財務データはユーザーが数分ごと

に更新する必要があるとします。一方、顧客アドレス変更内容は、更新が1日に一度で済み

ます。フラッシュ待ち時間間隔は、財務データに対しては短めに、アドレス変更内容に対

しては長めに設定してください。

フラッシュ待ち時間を設定する場合には、以下の規則およびガイドラインに従ってくださ

い。

¨ Integration Serviceは、メッセージをフラッシュ待ち時間の間隔よりも長い時間にわ

たってバッファに入れることはしません。

¨ フラッシュ待ち時間の間隔を短く設定すると、Integration Serviceがターゲットにメ

ッセージをコミットする頻度が増えます。

¨ フラッシュ待ち時間の間隔を短く指定すると、セッションでさらに多くのシステムリソ

ースが消費される可能性があります。

フラッシュ待ち時間 117

Page 137: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

コミット間隔が設定されている場合、フラッシュ待ち時間とコミット間隔の設定によっ

て、データをターゲットにコミットするタイミングが決定されます。

コミットタイプIntegration Serviceは、フラッシュ待ち時間とコミットタイプに基づいてターゲットにデ

ータをコミットします。以下のコミットタイプを使用するセッションを設定することがで

きます。

¨ ソースベースのコミット。ソースベースのコミットを設定する場合、Integration

Serviceではコミット間隔とフラッシュ待ち時間の間隔の組み合わせを使用してターゲ

ットにデータがコミットされます。 Integration Serviceが満たした 初の条件によっ

て、フラッシュ待ち時間の終了がトリガされます。フラッシュ後に、カウンタがリセッ

トされます。

たとえば、フラッシュ待ち時間を5秒に設定し、ソースベースのコミットの間隔を1,000

メッセージに設定したとします。Integration Serviceがソースから1,000件のメッセー

ジを読み込んだ後、または5秒後に、メッセージがターゲットにコミットされます。

¨ ターゲットベースのコミット。ターゲットベースのコミットを設定する場合、

Integration Serviceではコミット間隔が無視され、フラッシュ待ち時間の間隔に基づ

いてターゲットにデータがコミットされます。

リアルタイムセッションでターゲットに書き込む際、Integration Serviceではコミットが

順次に処理され、データがリアルタイムでターゲットにコミットされます。データはDTMバ

ッファメモリ内には格納されません。

関連項目:

¨ 「コミットポイント」 (132ページの)

メッセージリカバリリアルタイムセッションでメッセージリカバリを有効にすると、Integration Serviceは、

失敗したセッションからの未処理のメッセージをリカバリできるようになります。

Integration Serviceでは、リカバリファイル、リカバリテーブル、リカバリキュー、また

はリカバリトピックにソースメッセージまたはメッセージIDが格納されます。 セッション

が失敗した場合、リカバリモードでセッションを実行して、Integration Serviceが処理し

なかったメッセージをリカバリできます。

メッセージまたはメッセージIDは、リアルタイムソースまたはターゲットタイプに応じ

て、次のストレージタイプで格納されます。

¨ リカバリファイル。 メッセージまたはメッセージIDは、指定したローカルリカバリフ

ァイルに格納されます。リアルタイムソース、および非リレーショナルターゲットまた

は非キューターゲットを使用するセッションには、リカバリファイルが使用されます。

118 章 6: リアルタイム処理

Page 138: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

¨ リカバリテーブル。メッセージIDは、ターゲットデータベースのリカバリテーブルに格

納されます。 JMSソースまたはWebSphere MQソース、およびリレーショナルターゲット

を使用するセッションには、リカバリテーブルが使用されます。

¨ リカバリキューおよびリカバリトピック。メッセージIDは、リカバリキューまたはリカ

バリトピックに格納されます。 JMSソースまたはWebSphere MQソース、およびJMSター

ゲットまたはWebSphere MQターゲットを使用するセッションには、リカバリキューが使

用されます。 JMSソースまたはWebSphere MQソース、およびトピックターゲットを使用

するセッションには、リカバリトピックが使用されます。

セッションでは、ストレージタイプの組み合わせを使用できます。たとえば、JMSソースお

よびTIBCOソースを使用するセッションには、リカバリファイルおよびリカバリテーブルが

使用されます。

Integration Serviceでリアルタイムセッションをリカバリすると、中断箇所から操作の状

態がリストアされます。リカバリファイル、リカバリテーブル、リカバリキュー、または

リカバリトピックからメッセージが読み込まれ、処理されます。その後、セッションが終

了します。

リカバリ中、終了条件はIntegration Serviceがリカバリファイル、リカバリテーブル、リ

カバリキュー、またはリカバリトピックから読み込むメッセージには影響しません。たと

えば、セッションのメッセージカウントとアイドル時間を指定した場合、これらの条件

は、Integration Serviceがソースから読み込むメッセージには適用されますが、

Integration Serviceがリカバリファイル、リカバリテーブル、リカバリキュー、またはリ

カバリトピックから読み込むメッセージには適用されません。

セッションが特定の条件下で失敗した場合、Integration Serviceでは、上記のストレージ

タイプの他に、リカバリ無視リストが使用されます。

MSMQソース、Webサービスメッセージ、またはPowerExchange変更データキャプチャソース

からの変更データを使用するセッションには、別のリカバリ戦略が使用されます。

前提条件

JMSソースまたはWebSphere MQソース、およびJMSターゲットまたはWebSphere MQターゲッ

トを使用するセッションに対し、メッセージのリカバリを有効にする前に、以下の前提条

件を満たします。

¨ JMSプロバイダまたはWebSphere MQにリカバリキューを作成します。 または、JMSプロ

バイダにリカバリトピックを作成します。

¨ コミットスコープが一致するように、メッセージキューと同じキューマネージャを使用

してリカバリキューを作成します。

¨ リカバリキューが永続的になるように設定します。リカバリキューが永続的でない場

合、データの重複が発生することがあります。

これらの必要条件を満たしていない場合、Integration Serviceではリカバリ情報をリカバ

リファイルに格納し、リカバリキューまたはリカバリトピックは使用しません。

メッセージリカバリ 119

Page 139: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

メッセージのリカバリを有効にする手順

セッションでメッセージのリカバリを有効にするには、次の手順を実行します。

1. セッションプロパティで、リカバリ戦略プロパティに[ 後のチェックポイントから

再開]を選択します。

2. 各パーティションポイントについて、セッションプロパティのリカバリキャッシュデ

ィレクトリを指定します。

Integration Serviceは、リカバリキャッシュディレクトリによって指定された場所に、メ

ッセージを格納します。リカバリキャッシュディレクトリのデフォルト値は、$PMCacheDir

です。

リカバリファイルIntegration Seriveは、リカバリが有効で、次のタイプのソースとターゲットを含めたリ

アルタイムセッションのリカバリファイルに、メッセージまたはメッセージIDを格納しま

す。

¨ 非リレーショナルターゲット、非JMSターゲット、または非WebSphere MQターゲットを

使用するJMSソース

¨ 非リレーショナルターゲット、非JMSターゲット、または非WebSphere MQターゲットを

使用するWebSphere MQソース

¨ SAP R/3ソースおよびすべてのターゲット

¨ webMethodsソースおよびすべてのターゲット

¨ TIBCOソースおよびすべてのターゲット

Integration Serviceは、セッションプロパティで設定したローカルのリカバリファイルに

メッセージまたはメッセージIDを一時的に格納します。リカバリ中、Integration Service

は、このリカバリファイル内のメッセージを処理し、データが失われることがないように

します。

メッセージの処理

Integration Serviceは、リカバリファイルを使用してメッセージを処理するために次のタ

スクを実行します。

1. Integration Serviceは、ソースからメッセージを読み込みます。

2. JMSソースおよびWebSphere MQソースを使用したセッションの場合、Integration

Serviceがリカバリファイルに書き込むのはメッセージIDです。それ以外のセッション

の場合は、メッセージがリカバリファイルに書き込まれます。

3. SAP R/3、webMethods、またはTIBCOソースを使用するセッションの場合、

Integration Serviceは、メッセージの読み込みを確認するためにソースに受信確認

メッセージを送信します。ソースはメッセージを削除します。

4. Integration Serviceではフラッシュ待ち時間が満了するまで、ステップ1~3が繰り

返し実行されます。

120 章 6: リアルタイム処理

Page 140: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

5. Integration Serviceはメッセージを処理し、それをターゲットに書き込みます。

6. ターゲットがメッセージをコミットします。

7. JMSおよびWebSphere MQソースを使用するセッションの場合、Integration Service

は、メッセージの読み込みを確認するためにソースに一括の受信確認メッセージを送

信します。ソースはメッセージを削除します。

8. Integration Serviceはリカバリファイルをクリアします。

メッセージリカバリ

リアルタイムセッションをリカバリすると、Integration Serviceはキャッシュされたメッ

セージを読み込み、処理します。Integration Serviceは、キャッシュされたすべてのメッ

セージを読み込んだ後、セッションを終了します。

JMSおよびWebSphere MQソースを使用するセッションの場合、Integration Serviceはリカ

バリファイルのメッセージIDを使用して、ソースからメッセージを取得します。

フラッシュ待ち時間が経過し、セッションが成功した時点で、Integration Serviceはリカ

バリファイルをクリアします。Integration Serviceがメッセージをターゲットにコミット

してからリカバリファイルからメッセージを削除するまでの間にセッションが失敗する

と、リカバリ中にターゲットで行が重複して受け取られる可能性があります。

セッションリカバリデータのフラッシュ

リカバリデータのフラッシュは、Integration Serviceがオペレーティングシステムバッフ

ァ内のセッションリカバリデータをリカバリファイルにフラッシュする際に使用する処理

です。Integration Serviceでリカバリデータをリカバリファイルに書き込めない場合に、

データの喪失を防止できます。オペレーティングシステム障害、ハードウェア障害、また

はファイルシステムの故障が発生した場合、Integration Serviceはリカバリデータの書き

込みに失敗する可能性があります。リカバリデータのフラッシュは、JMSソースまたは

WebSphere MQソース、および非リレーショナルターゲット、非JMSターゲット、または非

WebSphere MQターゲットを含むセッションに適用されます。

Administratorツールで、Integration Serviceプロパティの[セッションリカバリデータ

のフラッシュ]を[自動]または[はい]に設定することにより、リカバリデータがオペ

レーティングシステムバッファからリカバリファイルにフラッシュされるように

Integration Serviceを設定できます。

リカバリテーブルIntegration Seriveでリカバリが有効化されているリアルタイムセッションのリカバリテ

ーブルにメッセージIDが格納されるのは、そのリアルタイムセッションに次のタイプのソ

ースおよびターゲットが含まれる場合です。

¨ リレーショナルターゲットを用いたJMSソース

¨ リレーショナルターゲットを用いたWebSphere MQソース

リカバリテーブル 121

Page 141: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

Integration Serviceは、メッセージIDとコミット番号を各ターゲットデータベースのリカ

バリテーブルに一時的に格納します。コミット番号は、Integration Serviceからターゲッ

トへのコミット数を示します。リカバリ中、Integration Serviceは、コミット番号を使用

して、すべてのターゲットに同じ数のメッセージを書き込んだかどうかを判断します。メ

ッセージIDとコミット番号をリカバリテーブルと照合して、データの喪失や重複がないこ

とを確認します。

注: これらのソースは、一意のメッセージIDを使用し、そのメッセージIDを介してメッセ

ージにアクセスできるようにする必要があります。

PM_REC_STATEテーブル

Integration Serviceは、リカバリテーブルを使用し、リカバリを有効にしたリアルタイム

セッションを実行する場合、メッセージIDとコミット番号を格納するためにターゲットデ

ータベースにリカバリテーブルPM_REC_STATEを作成します。Integration Seriveは、セッ

ションをリカバリする場合、リカバリテーブル内の情報を使用して、ターゲットテーブル

へのメッセージの書き込みが必要かどうかを判断します。

メッセージの処理

Integration Serviceは、リカバリテーブルを使用したメッセージ処理を行うために以下の

タスクを実行します。

1. Integration Serviceは、フラッシュ待ち時間に達するまで一度に1つずつメッセージ

を読み込みます。

2. Integration Serviceは、ソースからの読み込みを停止します。Integration Service

はメッセージを処理、それらをターゲットに書き込みます。

3. Integration ServiceはメッセージID、コミット番号、およびトランスフォーメーシ

ョン状態をターゲットデータベースのリカバリテーブルに書き込み、それと同時にメ

ッセージをターゲットに書き込みます。

4. ターゲットがメッセージをコミットすると、Integration Serviceはすべてのメッセ

ージが処理され、ターゲットに書き込まれたことを確認するために受信確認メッセー

ジをリアルタイムソースに送り返します。

5. Integration Serviceは、ソースからのメッセージの読み込みを続行します。

セッションで複数のパーティションが使用される場合、これらのタスクはパーティション

ごとに適用されます。

メッセージリカバリ

Integration Serviceでリアルタイムセッションをリカバリした場合、リカバリファイル内

のメッセージIDとコミット番号を使用してすべてのターゲットにメッセージがコミットさ

れたかどうかが確認されます。

Integration Serviceですべてのターゲットにメッセージがコミットされるのは、リカバリ

テーブル内にメッセージIDが存在していて、しかもすべてのターゲットのコミット番号が

同じ場合です。Integration Serviceはリカバリ中に、ソースに対してメッセージ処理完了

の確認応答を送ります。

122 章 6: リアルタイム処理

Page 142: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

ターゲットのコミット番号が異なる場合、メッセージはすべてのターゲットにコミットさ

れるとは限りません。リカバリ中、Integration Serviceはリカバリテーブルからメッセー

ジIDとトランスフォーメーション状態を読み込みます。その後、メッセージを処理し、そ

れらのメッセージがなかったターゲットにメッセージを書き込みます。Integration

Serviceにより、リカバリテーブルからすべてのメッセージが読み込まれたときに、セッシ

ョンは終了します。

Integration Serviceによりすべてのターゲットにメッセージがコミットされる前にセッシ

ョンが失敗し、セッションをコールドスタートモードでリスタートした場合、ターゲット

が重複行を受け取る可能性があります。

リカバリキューおよびリカバリトピックIntegration Seriveでリカバリが有効化されているリアルタイムセッションのリカバリキ

ューまたはリカバリトピックにメッセージIDが格納されるのは、そのリアルタイムセッシ

ョンに以下のタイプのソースおよびターゲットが含まれる場合です。

¨ JMSターゲットまたはWebSphere MQターゲットを使用するJMSソース

¨ JMSターゲットまたはWebSphere MQターゲットを使用するWebSphere MQソース

Integration Serviceは、JMSプロバイダまたはWebSphere MQに作成したリカバリキューま

たはリカバリトピックに一時的にメッセージIDとコミット番号を格納します。 コミット番

号は、Integration Serviceからターゲットへのコミット数を示します。リカバリ中、

Integration Serviceは、コミット番号を使用して、すべてのターゲットに同じ数のメッセ

ージを書き込んだかどうかを判断します。メッセージIDとコミット番号は、リカバリキュ

ーまたはリカバリトピックと照合して、データの喪失や重複がないことが確認されます。

Integration Serviceは、各セッションのすべてのキューターゲットに対して同じリカバリ

キューまたはリカバリトピックを使用します。セッションに対して複数のリカバリキュー

またはリカバリトピックを作成すると、パフォーマンスが向上します。

セッションプロパティまたはJMS接続オブジェクトでリカバリキュー名またはリカバリトピ

ック名を指定しない場合、Integration Serviceにより、リカバリ情報がリカバリファイル

に格納されます。 適なパフォーマンス得るために、リカバリファイルではなく、リカバ

リキュー名またはリカバリトピック名を設定します。

メッセージの処理

Integration Serviceでリカバリキューまたはリカバリトピックを使用してメッセージを処

理する方法は、リカバリテーブルを使用してメッセージを処理する方法と似ています。

Integration Serviceは、リカバリテーブルの代わりに、リカバリキューまたはリカバリト

ピックにリカバリ情報を書き込みます。

メッセージリカバリ

Integration Serviceでリカバリキューまたはリカバリトピックからメッセージをリカバリ

する方法は、リカバリテーブルからメッセージをリカバリする方法と似ています。

Integration Serviceは、リカバリテーブルの代わりに、リカバリキューまたはリカバリト

ピックからリカバリ情報を取得します。

リカバリキューおよびリカバリトピック 123

Page 143: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

リカバリ無視リストIntegration Serviceは、JMSソースまたはWebSphere MQソースを使用するセッションが失

敗した場合、リカバリ情報をリカバリ無視リストに書き込みます。 Integration Service

では、ソースが受信確認メッセージを受信しなかった可能性がある場合に、リカバリ情報

をこのリストに書き込みます。例えば、Integration Serviceによってメッセージがターゲ

ットに書き込まれた後、受信確認メッセージがソースに送信される前に、セッションが失

敗したとします。 この場合、ソースでは現在のトランザクションをロールバックできます

が、そのトランザクション内のメッセージは即座に利用できないことがあります。メッセ

ージがリカバリセッションに含まれる場合、データの重複が発生することがあります。

Integration Serviceでは、データの重複を避けるためにリカバリ無視リストが作成されま

す。

リカバリ無視リストでは、失敗したセッションについてIntegration Serviceがターゲット

に書き込んだメッセージIDが格納されます。Integration Serviceにより、そのセッション

に使用されるストレージタイプ(リカバリファイル、リカバリテーブル、リカバリキュ

ー、またはリカバリトピックなど)にリカバリ無視リストが作成されます。 リカバリ中、

Integration Serviceによりリカバリ無視リストとストレージタイプが使用され、メッセー

ジがターゲットに書き込まれたかどうかが判別されます。 また、リカバリ無視リストとス

トレージタイプでメッセージIDが照合され、データの重複がないことが確認されます。

セッションが失敗すると、Integration Serviceはリカバリ無視リストにメッセージを書き

込み、タイムスタンプを追加します。 デフォルトでは、Integration Serviceはタイムス

タンプの1時間後にリカバリ無視リストからメッセージを削除します。 Integration

Serviceは、デフォルトの期間内にソースでメッセージを検出すると、リカバリ無視リスト

からメッセージを削除します。

停止したセッションまたは失敗したセッションをコールドスタートモードでリスタートす

ると、ターゲットで重複行を受け取ることがあります。データの重複を避けるためには、

リカバリ付きでセッションをリスタートしてください。または、リカバリ無視リスト内の

メッセージがソースから削除されたことが確実な場合は、セッションをコールドスタート

モードをリスタートします。メッセージIDを確認するには、セッションログを使用しま

す。冗長データの追跡を設定している場合、Integration Serviceはリカバリ無視リスト内

のメッセージIDをセッションログに書き込みます。

リアルタイムセッションの停止セッションが失敗したり、セッションを手動で停止しないかぎり、リアルタイムセッショ

ンは継続して実行されます。pmcmdまたはWorkflow Monitorでstopコマンドを発行すること

で、セッションを停止することができます。定期的にメンテナンスを実行するためにセッ

ションを停止する必要がある場合もあります。

リアルタイムセッションを停止すると、Integration Serviceは以下のリアルタイムソース

に基づいてパイプライン内のメッセージを処理します。

¨ JMSとWebSphere MQ。 Integration Serviceはstopが発行されるまでメッセージを読み

込み、メッセージをターゲットに書き込みます。

124 章 6: リアルタイム処理

Page 144: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

¨ MSMQメッセージ、SAPメッセージ、TIBCOメッセージ、webMethodsメッセージ、および

Webサービスメッセージ。 Integration Serviceでターゲットにメッセージ全体が書き

込まれないうちにユーザーがセッションを終了した場合、そのメッセージは処理されま

せん。

JMSソースまたはWebSphere MQソースを使用するリアルタイムセッションを停止すると、

Integration Serviceは次のタスクを実行します。

1. Integration Serviceは、ソースからのメッセージの読み込みを停止します。

リアルタイムリカバリセッションを停止すると、Integration Serviceはすべてのメ

ッセージをリカバリした後にソースからの読み込みを停止します。

2. Integration Serviceはパイプライン内のメッセージを処理し、それをターゲットに

書き込みます。

3. Integration Serviceはソースに受信確認メッセージを送信します。

4. セッションをリスタートしたときのデータの重複を回避するために、Integration

Serviceはリカバリファイルまたはリカバリをクリアします。

セッションをリスタートすると、Integration Serviceはソースからの読み込みを開始しま

す。中断した時点からセッションを再開するためのセッションおよび操作のトランスフォ

ーメーション状態をリストアします。

注: リアルタイムセッションを停止した後にそのセッションがハングする場合、セッショ

ンが停止状態に留まる可能性があります。 リアルタイムセッションが停止モードに留まっ

ている際には、そのセッションを強制終了することができます。 Integration Service

は、stopが発行される前に読み込んだメッセージを処理します。

リアルタイムセッションのリスタートおよびリカバリ

停止または失敗したリアルタイムセッションは、再開することができます。セッションを

再開するには、セッションをリスタートするか、リカバリする必要があります。セッショ

ンの自動タスクリカバリを有効にした場合、Integration Serviceによるセッションの自動

リカバリが可能になります。

次の節では、リアルタイムセッション固有のリカバリ情報について説明します。

リアルタイムセッションのリスタート

セッションをリスタートすると、Integration Serviceはリアルタイムソースに基づいてセ

ッションを再開します。リアルタイムソースに応じてリカバリありまたはなしで、セッシ

ョンをリスタートします。

タスクまたはワークフローをコールドスタートモードでリスタートできます。タスクまた

はワークフローをコールドスタートモードでリスタートすると、Integration Serviceによ

りリカバリ情報が破棄され、タスクまたはワークフローがリスタートされます。

リアルタイムセッションのリスタートおよびリカバリ 125

Page 145: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

リアルタイムセッションのリカバリ

セッションのリカバリを有効にすると、失敗または強制終了したセッションのリカバリが

可能になります。セッションをリカバリすると、Integration Serviceは中断した地点から

メッセージの処理を続行します。Integration Serviceはリアルタイムソースに従ってメッ

セージをリカバリします。

Integration Serviceでは、以下のタイプのセッションリカバリが使用されます。

¨ 自動リカバリ。終了したタスクを自動的にリカバリするようにワークフローを設定した

場合、Integration Serviceによってセッションが再開されます。 Integration

Serviceでは、未処理のデータがすべてリカバリされ、リアルタイムソースに関係なく

セッションが再開されます。

¨ 手動リカバリ。Workflow MonitorまたはWorkflow Managerのメニューコマンド、または

pmcmdコマンドを使用して、セッションをリカバリします。 リアルタイムソースによっ

ては、セッションをリカバリしてから再開する必要があります。そうしないと、失敗し

たセッションからのメッセージがIntegration Serviceで処理されません。

リスタートコマンドおよびリカバリコマンド

Workflow Manager、Workflow Monitor、またはpmcmdを使用してセッションをリスタート

またはリカバリできます。Integration Serviceはリアルタイムソースに基づいてセッショ

ンを再開します。

以下の表に、次のコマンドを使用してセッションをリスタートまたはリカバリしたときの

動作を示します。

コマンド 説明

- タスクのリスタート

- ワークフローのリスタート

- タスクからワークフローを

リスタートする

タスクまたはワークフローをリスタートしま

す。JMSセッションおよびWebSphere MQセッシ

ョンでは、Integration Serviceはタスクまた

はワークフローをリカバリしてからリスタート

します。

注: JMSソース、WebSphere MQソース、および

別のリアルタイムソースがセッションに含まれ

ている場合、Integration Serviceはすべての

リアルタイムソースに対してリカバリを実行し

てから、タスクまたはワークフローをリスター

トします。

- タスクのリカバリ

- ワークフローのリカバリ

- このタスクのリカバリによ

るワークフローのリスター

タスクまたはワークフローをリカバリします。

- タスクのコールドスタート

- ワークフローのコールドス

タート

- タスクからワークフローを

コールドスタート

リカバリ情報を破棄し、タスクまたはワークフ

ローをリスタートします。

126 章 6: リアルタイム処理

Page 146: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

リアルタイムセッションに関するルールおよびガイドライン

リアルタイムセッションを実行する場合、次のルールおよびガイドラインに従ってくださ

い。

¨ マッピングにトランザクション制御トランスフォーメーションが入っていると、セッシ

ョンが失敗します。

¨ トランザクションの生成が有効となっている任意のトランスフォーメーションがマッピ

ングに入っていると、セッションが失敗します。

¨ すべての入力に対して設定されたトランスフォーメーション範囲を持つ任意のトランス

フォーメーションがマッピングに入っていると、セッションが失敗します。

¨ 行トランスフォーメーション範囲を持ち、複数のトランザクション制御ポイントから入

力を受信する任意のトランスフォーメーションがマッピングに入っていると、セッショ

ンが失敗します。

¨ ターゲット用にロード範囲が[すべての入力]に設定されている場合、セッションが失

敗します。

¨ セッションをデバッグモードで実行する場合、Integration Serviceはフラッシュ待ち

時間を無視します。

¨ マッピングにリレーショナルターゲットが含まれる場合、ターゲットのロードタイプを

ノーマルに設定します。

¨ マッピングのターゲットがフラットファイルの場合、セッションは失敗します。

¨ マッピングにXMLターゲット定義が含まれる場合は、ターゲット定義の[コミット時]

オプションで[ドキュメントへの書き込み]を選択します。

¨ Integration Serviceは、WebSphere MQおよびJMSへの接続失敗に対する復元性がありま

す。 他のメッセージシステムに対する復元性はありません。

¨ Webサービスなどで、リアルタイムセッションに要求と応答が含まれる場合、セッショ

ンログにはその要求と応答の開始時間と終了時間が含まれます。 リアルタイムセッシ

ョンにパブリッシュ/サブスクライブまたはP2Pアーキテクチャが含まれる場合、セッシ

ョンログにはIntegration Serviceによって、行がターゲットに対していつコミットさ

れるかを説明する統計が含まれます。

メッセージリカバリに関するルールおよびガイドライン

メッセージのリカバリが有効で、以下のいずれかの条件に一致するセッションは失敗しま

す。

¨ ソース定義がジョイナトランスフォーメーションのマスターソースである。

¨ 複数のソース定義を、同じターゲットロード順のグループに対して同時に実行されるよ

うに設定する。

リアルタイムセッションに関するルールおよびガイドライン 127

Page 147: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

¨ マッピングにXMLターゲット定義が含まれている。

¨ セッションをリスタートする前にリカバリファイルを編集し、リスタートまたは再開の

リカバリ戦略を使用するセッションを実行する。

¨ Integration Serviceは、リカバリキューまたはリカバリトピックに接続できない。

¨ Integration Serviceは、リカバリメッセージをリカバリキューまたはリカバリトピッ

クに書き込まない。

Integration Serviceがメッセージキューに対して読み込む、または書き込むメッセージの

数がメッセージサイズの制限を超えた場合は、メッセージサイズの制限を上げるか、また

はフラッシュ待ち時間を短縮してください。

リアルタイム処理の例以下の例に、IBM WebSphere MQ対応のPowerExcahngeおよびPowerCenterを使用するリアル

タイムデータの処理方法を示します。

リアルタイムに購入注文を処理することを考えています。購入注文には、複数のサプライ

ヤからの複数の品目が含まれていることがあります。ただし、購入注文にはサプライヤま

たは品目原価は含まれません。購入注文を受けたら、サプライヤごとに総額を計算する必

要があります。使用しているマスターデータベースには、サプライヤおよびそれに対応す

る品目と品目原価が含まれています。PowerCenterを使用して、品目IDに基づいてサプライ

ヤと品目原価を調べます。また、PowerCenterを使用して、サプライヤの総額をリレーショ

ナルデータベースに書き込みます。

データベース管理者からは、ターゲットの更新時には1回のコミットで 大1,000メッセー

ジを扱うことを勧められています。また、ターゲットが常に 新の状態になるように、

2,000ミリ秒ごとにターゲットを更新したいと考えています。

リアルタイムに購入注文を処理するには、マッピングを作成して設定します。

128 章 6: リアルタイム処理

Page 148: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

以下の図に、リアルタイムに購入注文を処理するマッピングを示します。

マッピングの例には、以下のコンポーネントが含まれます。

¨ ソース。WebSphere MQ。 各メッセージはXML形式で、それぞれに1つの購入注文が含ま

れます。

¨ XMLパーサートランスフォーメーション。MQソース修飾子トランスフォーメーションか

ら購入注文情報を受け取ります。 XMLファイルから購入注文IDおよび数量をパースしま

す。

¨ ルックアップトランスフォーメーション。購入注文IDに対応するサプライヤの詳細を検

索します。 サプライヤ情報、購入品目ID、および品目原価を式トランスフォーメーシ

ョンに渡します。

¨ 式トランスフォーメーション。 サプライヤの発注費を計算します。

¨ ターゲット。Oracleリレーショナルデータベース。 サプライヤ情報およびサプライヤ

の総額が含まれます。

以下のプロパティを使用して、セッションおよびワークフローを作成して設定します。

プロパティ 値

メッセージカウント 1,000

フラッシュ待ち時間間隔 2,000ミリ秒

コミットタイプ ソースベースのコミット

ワークフロースケジュール 継続的に実行

リアルタイム処理の例 129

Page 149: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

以下の手順は、Integration Serviceがリアルタイムでセッションを処理する方法を示しま

す。

1. Integration Serviceは、1,000メッセージに達するか、または2,000ミリ秒が経過す

るまで、WebSphere MQキューからメッセージを読み込みます。どちらかの条件が満た

されたら、WebSphere MQキューからの読み込みを停止します。

2. Integration Serviceでは、サプライヤ情報を調べて発注費を計算します。

3. Integration Serviceによって、サプライヤ情報および発注費がOracleリレーショナ

ルターゲットに書き込まれます。

4. Integration Serviceでは、WebSphere MQキューからのメッセージの読み込みを再開

します。

5. ワークフローを継続的に実行するように設定しているため、Integration Serviceは手

順1 - 4 を繰り返します。

Informaticaリアルタイム製品リアルタイムデータの読み込み、変換、および書き込みには、以下の製品を使用できま

す。

¨ JMS対応のPowerExchange。JMS対応のPowerExchangeは、JMSソースからの読み込みと

JMSターゲットへの書き込みに使用します。 メッセージトピックに基づいて、JMSメッ

セージ、JMSプロバイダメッセージキュー、またはJMSプロバイダから読み込むことがで

きます。メッセージトピックに基づいて、JMSプロバイダメッセージキューまたはJMSプ

ロバイダに書き込むことができます。

JMSプロバイダは、メッセージベースのミドルウェアシステムであり、JMSメッセージを

送受信できます。セッション中にIntegration ServiceはJava Naming and Directory

Interface(JNDI)に接続し、接続情報を決定します。Integration Serviceは接続情

報を決定すると、JMSプロバイダに接続してJMSメッセージを読み書きします。

¨ IBM WebSphere MQ対応のPowerExcahnge。 PowerExchange for WebSphere MQは、

WebSphere MQメッセージキューからの読み込み、およびWebSphere MQメッセージキュー

またはデータベースターゲットへの書き込みに使用します。 PowerExchange for

WebSphere MQは、データの抽出およびロード処理中に、WebSphere MQキューマネージ

ャ、メッセージキュー、およびWebSphere MQメッセージとやり取りします。

¨ Tibco対応のPowerExchange。Tibco対応のPowerExchangeは、TIB/RendezvousまたはAE

形式のTIBCOからのメッセージの読み込みとTIBCOへのメッセージの書き込みに使用しま

す。

Integration ServiceはTIBCOメッセージをTIBCOデーモンから受信し、TIBCOデーモン

を介してメッセージを書き込みます。TIBCOデーモンは、ローカルエリアネットワーク

または広域ネットワークでターゲットメッセージを送信します。ターゲットリスナーは

メッセージの件名に基づいてTIBCOターゲットメッセージにサブスクライブします。

¨ WebMethods対応のPowerExcahnge。WebMethods対応のPowerExcahngeは、webMethodsソ

ースからのドキュメントの読み込みとwebMethodsターゲットへのドキュメントの書き込

みに使用します。

130 章 6: リアルタイム処理

Page 150: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

Integration Serviceは、webMethodsドキュメントの送信、受信、およびキューイング

を行うwebMethods Brokerに接続します。Integration Serviceは、定義されたドキュ

メントタイプまたはクライアントIDに基づいて、webMethodsドキュメントの読み書きを

行います。Integration Serviceは、webMethods要求/応答ドキュメントの読み書きも

行います。

¨ MSMQ対応のPowerExchange。MSMQ対応のPowerExchangeは、MSMQソースからの読み込み

とMSMQターゲットへの書き込みに使用します。

Integration ServiceはMicrosoft Messaging Queueに接続し、メッセージからデータ

を読み込むかまたはデータをメッセージに書き込みます。キューはpublicまたは

privateであり、トランザクショナルまたは非トランザクショナルです。

¨ SAP NetWeaver対応のPowerExchange。SAP NetWeaver対応のPowerExchangeは、

Application Link Enabling(ALE)を使用して、Outbound IDOCを使用したSAPからの

読み込みや、Inbound IDOCを使用したSAPへの書き込みに使用します。

Integration Serviceは、Outbound IDOCからの読み込みとリレーショナルターゲット

への書き込みができます。Integration Serviceはリレーショナルソースからデータを

読み込んだり、Inbound IDOCにデータを書き込んだりすることができます。

Integration Serviceは、SAPアプリケーションデータベース内のマスターデータまたは

トランザクショナルデータへの変更をリアルタイムで取得できます。

¨ PowerCenterのWeb Services Provider。PowerCenterのWeb Services Providerは、Web

Services Hubを介してトランスフォーメーションロジックをサービスとして公開した

り、リアルタイムWebサービスを実行するためのクライアントアプリケーションを開発

したりするために使用します。 Webサービスクライアントからメッセージを受信してか

ら変換し、それをPowerCenterがサポートする任意のターゲットに書き込むためのサー

ビスマッピングを作成できます。また、Webサービスクライアントからメッセージ要求

を受信し、データを変換してからWebサービスクライアントに応答を返信するためのW

ebサービスのソース定義とターゲット定義を持つサービスマッピングを作成できます。

Web Services HubはWebサービスクライアントから要求を受信して、それをゲートウェ

イに渡します。Integration Serviceまたはリポジトリサービスは要求を処理し、応答

をWeb Services Hub経由でWebサービスクライアントに送信します。

¨ PowerExchange。PowerExchangeは、リレーショナルおよび非リレーショナルデータの

抽出とロード、変更データの抽出、およびリアルタイムでの変更データの抽出に使用し

ます。

データを抽出するために、Integration Serviceはソースのホストマシン上の

PowerExchangeから変更データを読み込みます。DB2/390、DB2/400、およびOracleなど

の複数のソースおよびターゲットからデータを抽出およびロードできます。

PowerExchange Listenerからのデータマップを、非リレーショナルソースとして使用す

ることもできます。

Informaticaリアルタイム製品 131

Page 151: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

第 7 章

コミットポイント

この章では、以下の項目について説明します。

¨ コミットポイントの概要, 132 ページ

¨ ターゲットベースのコミット, 133 ページ

¨ ソースベースのコミット, 133 ページ

¨ ユーザー定義コミット, 138 ページ

¨ トランザクション制御について, 142 ページ

¨ コミットプロパティの設定, 147 ページ

コミットポイントの概要コミットの間隔とは、セッション中にIntegration Serviceがターゲットにデータをコミッ

トする間隔です。コミットポイントは、コミットの間隔、コミットの間隔のタイプ、およ

びバッファブロックサイズの要素となります。コミットの間隔は、コミットポイントの基

礎として使用する行の数です。コミットの間隔のタイプは、コミットポイントの基礎とし

て使用する行の種類です。以下のコミットのタイプから選択することができます。

¨ ターゲットベースのコミット。Integration Serviceでは、ターゲット行の数およびタ

ーゲットテーブルのキー制約に基づいてデータがコミットされます。 コミットポイン

トは、バッファブロックサイズ、コミットの間隔、およびIntegration Service の書き

込みタイムアウト設定によっても異なります。

¨ ソースベースのコミット。Integration Serviceではソース行の数に基づいてデータが

コミットされます。 コミットポイントは、セッションプロパティで設定するコミット

間隔です。

¨ ユーザー定義コミット。Integration Serviceでは、マッピングプロパティで定義され

たトランザクションに基づいてデータがコミットされます。 また、セッションプロパ

ティでコミットやロールバックのオプションを設定することもできます。

ソースベースおよびユーザー定義のコミットのセッションには、パーティション化の制約

があります。複数のパーティションを持つセッションでソースベースまたはユーザー定義

コミットを使用するように設定すると、パイプライン内の特定のパーティションポイント

ではパススルーパーティション化を選択できます。

132

Page 152: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

ターゲットベースのコミットターゲットベースのコミットのセッションでは、Integration Serviceは、ターゲット行の

数およびターゲットテーブルのキー制約に基づいて行をコミットします。コミットポイン

トは次の要因により決定されます。

¨ コミット間隔。コミットの基礎として使用する行数です。 セッションプロパティでタ

ーゲットのコミット間隔を設定します。

¨ 書き込み待ちタイムアウト。Writerがコミットを発行するまでの待ち時間。 書き込み

待ちタイムアウトは、Integration Serviceの設定時に設定します。

¨ バッファブロック。セッション中にデータ行を保持しているメモリのブロック。 セッ

ションプロパティにバッファブロックサイズを設定できますが、ブロックに保存する行

数は設定できません。

ターゲットベースのコミットのセッションを実行すると、Integration Serviceは、設定さ

れたコミット間隔の到達前、到達時、または到達後にコミットを発行する場合がありま

す。Integration Serviceは、以下のプロセスによってコミットを発行します。

¨ コミット間隔に達しても、Integration Serviceはwriterバッファブロックへの書き込

みを継続します。writerバッファブロックがいっぱいになると、Integration Service

はコミットを発行します。

¨ コミット間隔の到達前にwriterバッファが一杯になると、Integration Serviceはター

ゲットに書き込みますが、コミット発行のタイミングを待ちます。次のいずれか条件が

Trueの場合にコミットを発行します。

- Integration Serviceのwriter待ちタイムアウトオプションで指定した時間中、

writerが空状態である。

- Integration Serviceがコミット間隔に到達し、さらに別のwriterバッファに書き込

みをしている。

注: XMLターゲットを含んでいるセッションに対してターゲットベースのコミットを選択

した場合、Workflow Managerでは、[マッピング]タブのトランスフォーメーションビュ

ーの[コミット時]セッションプロパティが無効にされます。

ソースベースのコミットソースベースのコミットのセッションの場合、Integration Serviceはターゲットロード順

グループのアクティブソースから取り出された行の数に基づいてターゲットにデータをコ

ミットします。これらの行は、ソース行と呼ばれます。

Integration Serviceはソースベースコミットのセッションを実行するときに、マッピング

内のパイプラインごとにコミットソースを識別します。Integration Serviceは、コミット

の間隔ごとに、アクティブソースからコミット行を生成します。Integration Serviceは、

ソースベースのコミットの間隔に使用されるトランスフォーメーションの名前もセッショ

ンログに書き込みます。

Source-based commit interval based on... TRANSFORMATION_NAME

ターゲットベースのコミット 133

Page 153: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

Integration Serviceは、アクティブソースで作成される行数よりも少ない行をターゲット

にコミットする場合もあります。たとえば、アクティブソースを通じて10,000行を渡すソ

ースベースコミットのセッションがあり、トランスフォーメーションのロジックによって

3,000行が削除されるとします。Integration Serviceは、残りの7,000行がターゲットに

ロードされた時点でターゲットにコミットを発行します。

writerのバッファに保持される行数は、ソースベースコミットのセッションのコミットポ

イントには影響しません。たとえば、アクティブソースを通じて10,000行を渡すソースベ

ースコミットのセッションがあるとします。この10,000行がターゲットにロードされる

と、Integration Serviceはコミットを発行します。セッションが正常に完了した場合、

Integration Serviceはソース行が10,000行、20,000行、30,000行、40,000行の時点でそ

れぞれコミットを発行します。

ターゲットが同じトランザクション制御単位に属する場合には、データは同時にターゲッ

トにコミットされます。セッションが失敗したり強制終了されたりすると、トランザクシ

ョン制御単位の未コミットのデータはすべて同じソース行にロールバックされます。

ターゲットが別々のトランザクション制御単位に属する場合は、コミットは各ターゲット

がコミット行を受け取るたびに実行されます。セッションが失敗したり強制終了されたり

すると、各ターゲットは 後のコミットポイントにロールバックされます。別々のトラン

ザクション制御単位に属するターゲットの場合、同じソース行にロールバックされない場

合があります。

注: セッションで1対1のマッピングを使用している場合、ソースベースのコミットを使う

とセッションのパフォーマンスが低下する場合があります。1対1のマッピングとは、ソー

ス修飾子、XMLソース修飾子、またはアプリケーションソース修飾子トランスフォーメーシ

ョンから直接ターゲットにデータを移動するマッピングです。

コミットソースの決定

ソースベースのコミットのセッションを実行した場合、Integration Serviceでは、トラン

ザクション境界がプロパゲートされないすべてのソース修飾子およびトランスフォーメー

ションでコミットが生成されます。 これには、以下のアクティブソースが含まれます。

¨ ソース修飾子

¨ アプリケーションソース修飾子

¨ MQソース修飾子

¨ 1つの出力グループからのポートのみを接続する場合のXMLソース修飾子

¨ ノーマライザ(VSAM)

¨ [すべての入力]トランスフォーメーション範囲を使用するアグリゲータ

¨ [すべての入力]トランスフォーメーション範囲を使用するジョイナ

¨ [すべての入力]トランスフォーメーション範囲を使用するランク

¨ [すべての入力]トランスフォーメーション範囲を使用するソータ

¨ 1つの出力グループと[すべての入力]トランスフォーメーション範囲を使用する、カ

スタムトランスフォーメーション

¨ 先行する複数のトランザクション制御ポイントに接続された1つの出力グループを使用

する、複数入力グループトランスフォーメーション

¨ マプレット(上記のトランスフォーメーションのいずれかが含まれる場合)

134 章 7: コミットポイント

Page 154: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

マッピングは1つ以上のターゲットロード順グループを持つことができ、ターゲットロード

順グループはコミットを生成する1つ以上のアクティブソースを持つことができます。

Integration Serviceでは、ターゲット定義に も近いアクティブソースによって生成され

たコミットが使用されます。 このコミットはコミットソースと呼ばれています。

例えば、以下のマッピングがあるとします。

図 2. 単一のコミットソースを使用するマッピング

このマッピングには、ソース修飾子トランスフォーメーションと、[すべての入力]トラ

ンスフォーメーション範囲を使用するアグリゲータトランスフォーメーションが含まれて

います。アグリゲータトランスフォーメーションはソース修飾子よりもターゲットに近い

ため、ソースベースのコミットセッションでコミットソースとして使用されます。

さらに、以下のマッピングがあるとします。

図 3. 複数のコミットソースを使用するマッピング

[トランスフォーメーション範囲]プロパティは[すべての入力]

このマッピングのターゲットロード順グループが使用するソースパイプラインには、ソー

ス修飾子トランスフォーメーションから2つのターゲットへのブランチがあります。パイプ

ラインブランチの1つには、[すべての入力]トランスフォーメーション範囲を使用するア

グリゲータトランスフォーメーションが含まれ、もう1つのブランチにはExpressionトラン

スフォーメーションが含まれています。Integration Serviceは、ソース修飾子トランスフ

ォーメーションをt_monthly_salesのコミットソースとして、アグリゲータトランスフォー

メーションをT_COMPANY_ALLのコミットソースとして識別します。両方のターゲットに対し

て1つのソースベースコミットを実行しますが、それぞれが異なるコミットソースを使用し

ます。

ソースベースのコミット 135

Page 155: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

ソースベースコミットからターゲットベースコミットへの切り替え

Integration Serviceによりコミットを生成するアクティブソースからコミットを受け取ら

ないターゲットロード順グループのターゲットが特定された場合、Integration Serviceで

は、そのターゲットのみに対して、ターゲットベースのコミットが戻ります。

Integration Serviceは、ソースベースのコミット間隔に使用されるトランスフォーメーシ

ョンの名前を、セッションログに書き込みます。Integration Serviceは、ターゲットベー

スのコミットに切り替えると、セッションログにメッセージを書き込みます。

以下の状況では、ターゲットがコミットソースからコミットを受け取れない場合がありま

す。

¨ ターゲットがXMLソース修飾子トランスフォーメーションからデータを受け取る場合

で、XMLソース修飾子トランスフォーメーションの複数の出力グループをダウンストリ

ームトランスフォーメーションに接続する場合。複数の出力グループダウンストリーム

を接続する場合は、XMLソース修飾子トランスフォーメーションではコミットは生成さ

れません。

¨ ターゲットが、XMLソース修飾子トランスフォーメーション以外の複数の出力グループ

を持つアクティブソースからデータを受け取る場合。例えば、ターゲットはトランザク

ションを生成しないように設定したカスタムトランスフォーメーションからデータを受

け取ります。 複数の出力グループのアクティブソースは、コミットの生成やプロパゲ

ートを行いません。

XMLソースをマッピング内で接続

複数の出力グループを後続のトランスフォーメーションに接続しているときは、XMLソース

修飾子トランスフォーメーションはコミットを生成しません。XMLソース修飾子トランスフ

ォーメーションをマッピング内で接続すると、マッピング内で使用するトランスフォーメ

ーションによっては、Integration Serviceはこのセッションのターゲットごとに異なるコ

ミットタイプを使用できます。

¨ XMLソース修飾子トランスフォーメーションとターゲット間にコミットソースを置く場

合。Integration Serviceはコミットソースからコミットを受け取るので、ターゲット

に対してソースベースのコミットを使用します。 アクティブソースは、ターゲットに

対するコミットソースです。

¨ XMLソース修飾子トランスフォーメーションとターゲット間にコミットソースを置かな

い場合。 Integration Serviceはコミットを受け取らないので、ターゲットに対してタ

ーゲットベースのコミットを使用します。

136 章 7: コミットポイント

Page 156: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

以下の図のマッピングがあるとします。

このマッピングには、複数の出力グループを後続のトランスフォーメーションに接続して

いるXMLソース修飾子トランスフォーメーションが含まれています。複数の出力グループを

後続に接続しているので、XMLソース修飾子トランスフォーメーションはコミットを生成し

ません。XMLソース修飾子トランスフォーメーションは、2つのリレーショナルターゲット

(T_STOREとT_PRODUCT)に接続されています。したがって、これらのターゲットは、アク

ティブソースが生成したたコミットを受け取りません。Integration Serviceでは、これら

のターゲットへロードする際にターゲットベースのコミットを使用します。

ただし、XMLソース修飾子トランスフォーメーションとT_YTD_SALESの間には、コミットを

生成するアクティブソースのAGG_Salesが含まれています。Integration Serviceは、

T_YTD_SALESへロードするときにソースベースのコミットを使用します。

複数の出力グループのあるカスタムトランスフォーメーション

をマッピング内で接続

トランザクションを生成しないように設定した複数出力グループのあるカスタムトランス

フォーメーションは、コミットの生成や反映を行いません。そのため、マッピング内で使

用するトランスフォーメーションによっては、Integration Serviceはこのセッション内の

ターゲットごとに異なるコミットタイプを使用できます。

¨ カスタムトランスフォーメーションとターゲット間にコミットソースを置く場合。

Integration Serviceはアクティブソースからコミットを受け取るので、ターゲットに

対してソースベースのコミットを使用します。 アクティブソースは、ターゲットに対

するコミットソースです。

¨ カスタムトランスフォーメーションとターゲット間にコミットソースを置かない場合。

Integration Serviceはコミットを受け取らないので、ターゲットに対してターゲット

ベースのコミットを使用します。

ソースベースのコミット 137

Page 157: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

以下の図のマッピングがあるとします。

このマッピングは複数の出力グループのカスタムトランスフォーメーションである

CT_XML_Parserを含み、これによりソース修飾子トランスフォーメーションによって生成さ

れたコミットが削除されます。 そのため、ターゲットのT_store_nameおよびand

T_store_addrは、アクティブソースが生成したコミットを受け取りません。Integration

Serviceでは、これらのターゲットへロードする際にターゲットベースのコミットが使用さ

れます。

ただし、このマッピングにはカスタムトランスフォーメーションとT_store_ordersの間

に、コミットを生成するアクティブソースであるAGG_store_ordersが含まれています。

AGG_store_ordersのトランスフォーメーション範囲は[すべての入力]です。

Integration Serviceでは、T_store_ordersにロードする際にソースベースのコミットが

使用されます。

注: カスタムトランスフォーメーションプロシージャがトランザクションを出力する場

合、トランザクションを生成するようにカスタムトランスフォーメーションを設定できま

す。その際は、セッションをユーザー定義のコミット対応に設定してください。

ユーザー定義コミットユーザー定義のコミットセッション中に、Integration Serviceは、トランザクション制御

トランスフォーメーションを通過する行または行のセットに基づいて、トランザクション

のコミットおよびロールバックを行います。Integration Serviceは、トランスフォーメー

ションに入る行ごとにトランザクション制御式を評価します。トランザクション制御式の

戻り値は、コミットまたはロールバックポイントを定義します。

トランザクションを生成するように設定されているカスタムトランスフォーメーションが

マッピングに含まれている場合にも、ユーザー定義コミットセッションを作成できます。

ユーザー定義コミットセッションを作成した場合、カスタムトランスフォーメーションに

関連付けられた手順によりトランザクション境界が定義されます。

コミット行と評価されると、トランザクション内のすべての行がターゲットにコミットさ

れます。ロールバック行と評価されると、トランザクションのすべての行がターゲットか

らロールバックされます。Integration Serviceは、各コミットおよびロールバックのポイ

138 章 7: コミットポイント

Page 158: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

ントで、セッションログにメッセージを書き込みます。セッションの詳細は蓄積されま

す。以下のメッセージは、セッションログからのサンプルコミットメッセージです。

WRITER_1_1_1> WRT_8317 USER-DEFINED COMMIT POINT Wed Oct 15 08:15:29 2003===================================================WRT_8036 Target: TCustOrders (Instance Name: [TCustOrders])WRT_8038 Inserted rows - Requested: 1003 Applied: 1003 Rejected: 0 Affected: 1023

Integration Serviceは、トランザクション内のすべての行をすべてのターゲットに書き込

む場合、ターゲットごとにコミットを順次発行します。

Integration Serviceは、トランザクション制御式の戻り値またはエラー処理設定に基づい

て、データをロールバックします。トランザクション制御式によりロールバック値が返さ

れると、トランザクションがロールバックされます。エラーが発生した場合は、次のコミ

ットポイントでのコミットまたはロールバックの選択が可能です。

トランザクション制御式がコミット、ロールバック、または継続以外の値に評価される

と、Integration Serviceはセッションに失敗します。

セッション完了時に、コミット行によってバインドされなかったターゲットにデータが書

き込まれる場合があります。このオープントランザクションをエンドオブファイルでコミ

ットするか、またはロールバックすることができます。

注: ユーザー定義のコミットのセッションで一括ロードを使用している場合は、ターゲッ

トがトランザクション境界を認識しない場合があります。ターゲット接続グループがトラ

ンザクションをサポートしない場合、Integration Serviceは以下のメッセージをセッショ

ンログに書き込みます。

WRT_8324 Warning: Target Connection Group’s connection doesn’t support transactions. Targets may not be loaded according to specified transaction boundaries rules.

トランザクションのロールバック

Integration Serviceでは、以下の状況でトランザクションがロールバックされます。

¨ ロールバック評価。トランザクション制御式がロールバック値を返します。

¨ オープントランザクション。 ファイルの末尾でロールバックを選択します。

¨ エラー時のロールバック。 Integration Serviceにより非致命的エラーが検出された場

合には、コミットトランザクションのロールバックを選択します。

¨ コミット失敗時のロールバック。トランザクション制御単位内のターゲット接続グルー

プがコミットに失敗した場合、Integration Serviceによりすべてのコミットされてい

ないデータが、 後に成功したコミットポイントにロールバックされます。

ロールバック評価

トランザクション制御式によりロールバック値が返された場合、Integration Serviceはそ

のトランザクションをロールバックし、トランザクションがロールバックされたことを示

すメッセージをセッションログに書き込みます。このメッセージにはロールバックされた

行数も示されます。

以下のメッセージは、トランザクション制御式によりロールバック値が返された場合に、

Integration Serviceがセッションログに書き込むメッセージのサンプルです。

WRITER_1_1_1> WRT_8326 User-defined rollback processedWRITER_1_1_1> WRT_8331 Rollback statistics

ユーザー定義コミット 139

Page 159: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

WRT_8162 ===================================================WRT_8330 Rolled back [333] inserted, [0] deleted, [0] updated rows for the target [TCustOrders]

オープントランザクションのロールバック

トランザクション制御式の 後の行がTC_CONTINUE_TRANSACTIONに評価された場合、この

セッションはオープントランザクションで完了します。このオープントランザクションの

ロールバックを選択すると、Integration Serviceはトランザクションをロールバックし、

トランザクションがロールバックされたことを示すメッセージをセッションログに書き込

みます。

以下のメッセージは、セッションプロパティで[ファイルの 後でコミット]が無効にな

っていることを示すサンプルメッセージです。

WRITER_1_1_1> WRT_8168 End loading table [TCustOrders] at: Wed Nov 05 10:21:56 2003WRITER_1_1_1> WRT_8325 Final rollback executed for the target [TCustOrders] at end of load

以下のメッセージは、セッションプロパティで[ファイルの 後でコミット]が有効にな

っていることを示すサンプルメッセージです。

WRITER_1_1_1> WRT_8143 Commit at end of Load Order Group Wed Nov 05 08:15:29 2003

エラー時のロールバック

Integration Serviceが非致命的エラーを検出した場合は、トランザクションを次のコミッ

トポイントでロールバックできます。Integration Serviceは非致命的エラーを検出する

と、エラー行を処理し、トランザクション処理を続行します。トランザクション境界がコ

ミット行である場合、Integration Serviceはトランザクション全体をロールバックし、拒

否ファイルに書き込みます。

次の表で、ロールバックされたトランザクションに対する拒否ファイルの行インジケータ

について説明します。

行インジケータ 説明

4 ロールバックされた挿入

5 ロールバックされた更新

6 ロールバックされた削除

注: トランザクション制御トランスフォーメーションで行を処理する前にエラーが発生し

た場合、Integration Serviceはトランザクションをロールバックしません。

コミット失敗時のロールバック

トランザクション制御単位内のすべてのターゲットのコミットポイントに到達すると、

Integration Serviceは各ターゲットのコミットを順次発行します。トランザクション制御

単位内のターゲット接続グループのいずれかに対してコミットが失敗した場合、

Integration Serviceは 後に成功したコミットポイントにすべてのデータをロールバック

します。コミット済みトランザクションは、ロールバックできませんが、そのトランザク

ションは、拒否ファイルに書き込まれます。

140 章 7: コミットポイント

Page 160: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

例えば、トランザクション制御単位1つとターゲット接続グループ3つを使用してマッピン

グを作成するとします。 ターゲット名には、ターゲット接続グループに関する情報が含ま

れています。TCG1_T1は 初のターゲット接続グループと 初のターゲットを表します。

以下の図に、Integration Serviceがコミット失敗時にロールバックする場合の動作を示し

ます。

Integration Serviceでは、マッピングを処理する場合に以下のロジックが使用されます。

1. Integration Serviceがすべてのターゲットの3番目のコミットポイントに到達しまし

た。

2. 各ターゲットに対してコミットの発行を順次開始します。

3. Integration Serviceによって、TCG1_T1とTCG1_T2に対するコミットが正常に行われ

ます。

4. TCG2_T3へのコミットが失敗しました。

5. Integration Serviceは、TCG3_T4に対するコミットを発行しません。

6. Integration Serviceは、TCG2_T3とTCG3_T4を2番目のコミットポイントにロールバッ

クします。TCG1_T1とTCG1_T2は3番目のコミットポイントでコミットに成功している

ので、2番目のコミットポイントにロールバックすることはできません。

7. Integration Serviceは、TCG2_T3およびTCG3_T4からの行を拒否ファイルに書き込み

ます。これらは、3番目のコミットポイントに関連付けられたロールバック行です。

8. Integration Serviceは、TCG2_T1およびTCG3_T2からの行を拒否ファイルに書き込み

ます。これらは、3番目のコミットポイントに関連付けられたコミット行です。

ユーザー定義コミット 141

Page 161: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

以下の表に、失敗したトランザクション制御単位のコミットされたトランザクションに対

する、拒否ファイル内の行インジケータを示します。

行インジケータ 説明

7 コミットされた挿入

8 コミットされた更新

9 コミットされた削除

トランザクション制御についてPowerCenterでは、トランスフォーメーション処理時およびターゲットでのデータのコミッ

トおよびロールバック時にIntegration Serviceが使用するトランザクションを定義できま

す。 入力行の数の変化に応じてトランザクションを定義できます。トランザクションと

は、コミット行またはロールバック行、トランザクション境界によってバインドされた行

のセットです。トランザクション境界によってバインドできない行もあります。それはオ

ープントランザクションです。オープントランザクションをエンドオブファイルでコミッ

トするか、ロールバックするかについては、セッションの設定時に選択できます。

Integration Serviceでは、入力行が、トランスフォーメーションに対して一度に1行ず

つ、すべての行に対してトランザクション内で、またはすべてのソース行対して一度に処

理されます。 トランザクション内のすべての行に対するトランスフォーメーションを処理

することにより、アグリゲータなどのトランスフォーメーションをリアルタイムセッショ

ンで含めることができます。

トランザクション境界は、トランザクション制御ポイントから発生します。トランザクシ

ョン制御ポイントは、トランザクション境界を以下の方法で定義または再定義するトラン

スフォーメーションです。

¨ トランザクション境界の生成。トランザクション境界を定義するトランスフォーメーシ

ョンは、セッションコミットタイプによって異なります。

-ターゲットベースおよびユーザー定義のコミット。トランザクションジェネレータ

は、トランザクション境界を生成します。 トランザクションジェネレータは、コミッ

ト行とロールバック行の両方を生成するトランスフォーメーションです。トランザク

ションコントロールトランスフォーメーションとカスタムトランスフォーメーション

は、トランザクションジェネレータです。

-ソースベースのコミット。一部のアクティブソースはコミットを生成します。アクテ

ィブソースはロールバック行を生成しません。トランザクションジェネレータは、コ

ミット行とロールバック行を生成します。

¨ 入力トランザクション境界の削除。トランスフォーメーションが入力トランザクション

境界を削除し、コミットを生成しなかった場合、Integration Serviceではすべての行

がオープントランザクションに出力されます。 コミットを生成するすべてのアクティ

ブソースおよびトランザクションジェネレータにより、入力トランザクション境界が削

除されます。

142 章 7: コミットポイント

Page 162: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

トランスフォーメーション範囲

トランスフォーメーション範囲トランスフォーメーションプロパティを使用して、

Integration Serviceがトランスフォーメーションロジックを入力データに適用する方法を

設定できます。 Integration Serviceがトランスフォーメーションを処理する場合は、ト

ランスフォーメーション範囲およびマッピング設定に応じて、トランザクション境界を削

除するか、トランザクション境界を保持します。

トランスフォーメーション範囲には、以下の値のいずれかを選択できます。

¨ 行。トランスフォーメーションロジックを、一度に1つのデータ行ごとに適用します。

データの行が他の行に依存していない場合は[行]を選択します。複数のアップストリ

ームのトランザクション制御ポイントに接続されたトランスフォーメーションに対して

[行]を選択した場合、Integration Serviceではトランザクション境界が削除され、

オープントランザクションとして、トランスフォーメーションからすべての行が出力さ

れます。 単一のアップストリームのトランザクション制御ポイントに接続されたトラ

ンスフォーメーションに対して[行]を選択した場合、Integration Serviceではトラ

ンザクション境界が保持されます。

¨ トランザクション。トランスフォーメーションロジックをトランザクションのすべての

行に適用します。 データの行が同一トランザクション内のすべての行に依存し、他の

トランザクションの行には依存していない場合には、[トランザクション]を選択しま

す。[トランザクション]を選択した場合、Integration Serviceでは入力トランザク

ション境界が保持されます。 新しいトランザクションを受け取ると、アグリゲータキ

ャッシュまたはルックアップキャッシュなどのキャッシュをすべてリセットします。

複数入力グループトランスフォーメーションに[トランザクション]を選択する場合

は、すべての入力グループを同一の先行するトランザクション制御ポイントに接続する

必要があります。

¨ すべての入力。トランスフォーメーションロジックをすべての入力データに適用しま

す。 [すべての入力]を選択した場合、Integration Serviceでは入力トランザクショ

ン境界が削除され、オープントランザクションとしてトランスフォーメーションからす

べての行が出力されます。 データの行がソース内のすべての行に依存している場合

は、[すべての入力]を選択します。

以下の表に、各トランスフォーメーションに対して利用可能なトランスフォーメーション

範囲値を一覧表示します。

表 3. トランスフォーメーション範囲プロパティ値

トランスフォー

メーション

行 トランザクシ

ョン

すべての入力

アグリゲータ - オプション。 デフォルト。

トランザクション制

御ポイント

アプリケーショ

ンソース修飾子

なし

トランザクション

制御ポイント

- -

カスタム オプション。 オプション。 デフォルト。

トランザクション制御について 143

Page 163: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

トランスフォー

メーション

行 トランザクシ

ョン

すべての入力

コミットを生成す

るように設定され

ている場合、また

は先行する複数の

トランザクション

制御点に接続され

ている場合には、

トランザクション

制御ポイント。

コミットを生

成するように

設定されてい

る場合にはト

ランザクショ

ン制御ポイン

ト。

常にトランザクショ

ン制御ポイント。

出力グループを1つ

使用している場合、

またはコミットを生

成するように設定さ

れている場合、コミ

ットを生成します。

上記以外の場合、

オープントランザク

ションが生成されま

す。

データマスク デフォルト。読み

取り専用です。

- -

式 デフォルト。表示

されません。

- -

エクスターナル

プロシージャ

デフォルト。表示

されません。

- -

フィルタ デフォルト。表示

されません。

- -

HTTP デフォルト。読み

取り専用です。

- -

Java パッシブなトラン

スフォーメーショ

ンの場合にはデフ

ォルト。

アクティブな

トランスフォ

ーメーション

の場合にはオ

プション。

アクティブなトラン

スフォーメーション

の場合にはデフォル

ト。

ジョイナ - オプション。 デフォルト。

トランザクション制

御ポイント

ルックアップ デフォルト。表示

されません。

- -

MQソース修飾子 なし

トランザクション

制御ポイント

- -

ノーマライザ

(VSAM)

なし

トランザクション

制御ポイント

- -

144 章 7: コミットポイント

Page 164: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

トランスフォー

メーション

行 トランザクシ

ョン

すべての入力

ノーマライザ

(リレーショナ

ル)

デフォルト。表示

されません。

- -

ランク - オプション。 デフォルト。

トランザクション制

御ポイント

ルータ デフォルト。表示

されません。

- -

ソータ - オプション。 デフォルト。

トランザクション制

御ポイント

シーケンスジェ

ネレータ

デフォルト。表示

されません。

- -

ソース修飾子 なし

トランザクション

制御ポイント

- -

SQL スクリプトモード

SQLトランスフォー

メーションのデフ

ォルト。

オプション。

コミットを生

成するように

設定されてい

る場合にはト

ランザクショ

ン制御ポイン

ト。

クエリーモードSQL

トランスフォーメー

ションのデフォル

ト。

ストアドプロシ

ージャ

デフォルト。表示

されません。

- -

トランザクショ

ン制御

デフォルト。表示

されません。

トランザクション

制御ポイント

- -

共有体 デフォルト。表示

されません。

- -

構造化されてい

ないデータ

デフォルト。読み

取り専用です。

- -

アップデートス

トラテジ

デフォルト。表示

されません。

- -

XMLジェネレー

- オプション。 デフォルト。表示さ

れません。

トランザクション制御について 145

Page 165: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

トランスフォー

メーション

行 トランザクシ

ョン

すべての入力

コミット時の

フラッシュで

新しいドキュ

メントを作成

するように設

定されている

場合にはトラ

ンザクショ

ン。

XMLパーサー デフォルト。表示

されません。

- -

XMLソース修飾

なし

トランザクション

制御ポイント

- -

トランザクション制御単位について

トランザクション制御単位は、コミットを生成するアクティブソース、または有効なトラ

ンザクションジェネレータに接続されたターゲットのグループです。トランザクション制

御単位は、ターゲットロード順グループのサブセットであるため、複数のターゲット接続

グループを含むことができます。

トランザクション制御単位内のすべてのターゲットのコミットポイントに到達すると、

Integration Serviceは各ターゲットのコミットを順次発行します。

トランザクション制御に関する作業のルールおよびガイドライン

トランザクション制御を使用する際には、以下の規則とガイドラインについて考慮してく

ださい。

¨ [トランザクション]トランスフォーメーション範囲を使用するトランスフォーメーシ

ョンは、1つのトランザクション制御ポイントからデータを受け取る必要があります。

¨ Integration Serviceでは、トランザクショントランスフォーメーション範囲を使用す

るトランスフォーメーションに対して、 初のアップストリームのトランザクション制

御ポイントによって定義されたトランザクション境界が使用されます。

¨ トランザクションジェネレータは、ターゲットに対して有効または無効にすることがで

きます。Integration Serviceでは、データをターゲットにロードする際に、有効なト

ランザクションジェネレータにより生成されたトランザクションが使用されます。

¨ Workflow Managerでは、トランザクショントランスフォーメーション範囲を使用するア

グリゲータトランスフォーメーションが含まれているセッションで、差分集計を使用で

きないようにします。

146 章 7: コミットポイント

Page 166: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

¨ すべての入力のトランスフォーメーション範囲を使用するトランスフォーメーションに

より、トランザクションジェネレータは、ユーザー定義コミットセッションのターゲッ

トに対して無効になります。

¨ Integration Serviceでは、トランザクショントランスフォーメーション範囲を使用す

るアグリゲータ、ジョイナ、ランク、およびソータトランスフォーメーションの各トラ

ンザクションの 初にすべてのキャッシュがリセットされます。

¨ ソート済み入力を使用する場合は、ジョイナトランスフォーメーションにトランザクシ

ョントランスフォーメーション範囲を選択できます。

¨ トランザクショントランスフォーメーション範囲を使用するトランスフォーメーション

でパーティションポイントを追加した場合、Workflow Managerではデフォルトでパスス

ルーパーティションタイプが使用されます。 パーティションタイプは変更できませ

ん。

トランザクション別ターゲットファイルの作成

Integration Serviceが新規トランザクションを開始するたびに、個別の出力ファイルを生

成できます。ターゲットフラットファイル名は動的に指定できます。

トランザクションごとに個別の出力ファイルを生成するには、FileNameポートをフラット

ファイルターゲット定義に追加します。マッピング内のFileNameポートを接続すると、

PowerCenterではコミットごとに個別のターゲットファイルに書き込みを行います。

Integration Serviceでは、各トランザクションの 初の行からFileNameポートの値が使

用され、出力ファイルの名前が付けられます。

コミットプロパティの設定セッションを作成するときに、コミットプロパティを設定できます。設定するプロパティ

は、Integration Serviceで実行するコミットのタイプやマッピングのタイプによって異な

ります。コミットプロパティは、[プロパティ]タブの[全般オプション]設定で設定し

ます。

以下の表に、[プロパティ]タブの[全般オプション]設定で設定するセッションコミッ

トプロパティを示します。

プロパティ ターゲットベース ソースベース ユーザー定義

コミットタ

イプ

トランザクションジ

ェネレータがない場

合、または無効なト

ランザクションジェ

ネレータのみがマッ

ピングに存在する場

トランザクション

ジェネレータがな

い場合、または無

効なトランザクシ

ョンジェネレータ

のみがマッピング

に存在する場合

に、ソースベース

マッピングに有効

なトランザクショ

ンジェネレータが

ない場合に、デフ

コミットプロパティの設定 147

Page 167: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

プロパティ ターゲットベース ソースベース ユーザー定義

合に、デフォルトで

選択されます。

のコミットに対し

て選択します。

ォルトで選択され

ます。

コミット間

デフォルトは

10,000 です。

デフォルトは

10,000 です。

なし

ファイルの

後でコミ

ット

エンドオブファイル

でデータをコミット

します。デフォルト

で有効になっていま

す。このオプション

を無効にすることは

できません。

エンドオブファイ

ルでデータをコミ

ットします。オー

プントランザクシ

ョンがロールバッ

クされるように設

定するには、この

オプションをクリ

アします。

エンドオブファイ

ルでデータをコミ

ットします。オー

プントランザクシ

ョンがロールバッ

クされるように設

定するには、この

オプションをクリ

アします。

Roll Back

Transactio

ns on

Errors

Integration

Serviceにより非致

命的エラーが検出さ

れた場合は、次のコ

ミットポイントでト

ランザクションのロ

ールバックを選択で

きます。

Integration

Serviceによりトラ

ンスフォーメーショ

ンエラーが検出され

た際に、そのエラー

がターゲットに対し

て有効なトランザク

ションジェネレータ

の後で発生した場

合、Integration

Serviceによりトラ

ンザクションがロー

ルバックされます。

Integration

Serviceにより非

致命的エラーが検

出された場合は、

次のコミットポイ

ントでトランザク

ションのロールバ

ックを選択できま

す。

Integration

Serviceによりト

ランスフォーメー

ションエラーが検

出された際に、そ

のエラーがターゲ

ットに対して有効

なトランザクショ

ンジェネレータの

後で発生した場

合、Integration

Serviceによりト

ランザクションが

ロールバックされ

ます。

Integration

Serviceにより非致

命的エラーが検出

された場合は、次

のコミットポイン

トでトランザクシ

ョンのロールバッ

クを選択できま

す。

Integration

Serviceによりトラ

ンスフォーメーシ

ョンエラーが検出

された際に、その

エラーがターゲッ

トに対して有効な

トランザクション

ジェネレータの後

で発生した場合、

Integration

Serviceによりトラ

ンザクションがロ

ールバックされま

す。

ヒント: Microsoft SQL ServerまたはOracleターゲットにバルクロードを行う場合、大

きいコミット間隔を設定します。 Microsoft SQL ServerとOracleではコミットのたびに

新しいバルクロードトランザクションが開始されます。コミット間隔を大きくすること

で、バルクロードの回数を減らしてパフォーマンスを向上できます。

148 章 7: コミットポイント

Page 168: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

第 8 章

行エラーのロギング

この章では、以下の項目について説明します。

¨ 行エラーログの概要, 149 ページ

¨ エラーログテーブルについて, 150 ページ

¨ エラーログファイルについて, 157 ページ

¨ エラーログオプションの設定, 160 ページ

行エラーログの概要セッションを設定するときに、行エラーが一元的に記録されるように指定できます。行エ

ラーが発生すると、Integration Serviceがエラー情報を記録するので、エラーの原因とソ

ースを判断することができます。Integration Serviceはソース名、行ID、現在の行のデー

タ、トランスフォーメーション、タイムスタンプ、エラーコード、エラーメッセージ、リ

ポジトリ名、フォルダ名、セッション名、マッピング情報などの情報を記録します。

行エラーは、リレーショナルテーブルまたはフラットファイルに記録できます。エラーロ

ギングを有効にした場合、Integration Serviceはセッションの初回実行時に、エラーテー

ブルまたはエラーログファイルを作成します。エラーログは、累積的に記録されます。

Integration Serviceは、エラーログが存在する場合、エラーデータを既存のエラーログに

追加します。

フラットファイルまたはリレーショナルソースのソース行データをログに出力できます。

ソース行データには、エラーが発生したソース修飾子から、行データ、ソース行ID、およ

びソース行タイプが含まれます。XMLファイルソースの行エラーをログに出力することはで

きません。XMLソースのエラーはセッションログで確認できます。

Integration Serviceは、複数のパーティションまたは次のいずれかのアクティブソースが

存在する非パススルーパーティションポイントの後でエラーが発生した場合、Source

Qualifier内でどの行にエラーが存在するかを識別できません。

¨ アグリゲータ

¨ カスタム(アクティブなトランスフォーメーションとして設定されていること)

¨ ジョイナ

¨ ノーマライザ(パイプライン)

149

Page 169: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

¨ ランク

¨ ソータ

デフォルトでは、トランスフォーメーションエラーはセッションログに、拒否された行は

拒否ファイルに記録されます。エラーロギングを有効にした場合、Integration Service

は、拒否ファイルを生成することも、削除された行をセッションログに書き込むこともし

ません。拒否ファイルが存在しない場合、トランザクション制御トランスフォーメーショ

ンのロールバックエラーやコミットエラーが記録されません。行エラーログのほかに、行

自体もセッションログに記録したい場合は、冗長データトレースを有効にします。

注: 行エラーを記録するときは、Integration Serviceは行ブロック単位ではなく行単位

で処理を行うため、セッションのパフォーマンスが低下する場合があります。

エラーログのコードページ

Integration Serviceでは、Integration Serviceプロセスのオペレーティングシステムに

応じて異なる方法でエラーログファイルにデータが書き込まれます。

¨ UNIX。Integration Serviceでは、Integration Serviceプロセスのコードページを使

用してデータがエラーログファイルに書き込まれます。 ただし、LogsInUTF-16LEの

Integration Serviceプロパティを有効にすることにより、UTF-16LEを使用してエラー

ログファイルに書き込むようにIntegration Serviceを設定できます。

¨ Windows。Integration Serviceでは、UTF-16LEエンコード形式を使用してエラーログ

ファイルにすべての文字が書き込まれます。

エラーテーブルが存在するリレーショナルデータベースのコードページは、ターゲットの

コードページのサブセットである必要があります。エラーログテーブルのコードページが

ターゲットのコードページのサブセットでない場合、Integration Serviceによりエラーロ

グテーブルに矛盾したデータが書き込まれる場合があります。

エラーログテーブルについてリレーショナルデータベースのエラーロギングを選択した場合、セッションの初回実行時

にIntegration Serviceによって以下のエラーテーブルが作成されます。

¨ PMERR_DATA。 トランスフォーメーションの行エラーに関するデータとメタデータ、お

よび対応するソース行を格納します。

¨ PMERR_MSG。 エラーおよびエラーメッセージに関するメタデータを格納します。

¨ PMERR_SESS。 セッションに関するメタデータを格納します。

¨ PMERR_TRANS。 トランスフォーメーションエラーが発生した場合に、ソースポートおよ

びトランスフォーメーションポートに関するメタデータ(名前やデータタイプなど)を

格納します。

テーブル作成先のデータベースに対し、データベース接続を指定する必要があります。特

定のセッションについて既にエラーテーブルが存在する場合、これらのテーブルに対して

行エラーが追加されます。

150 章 8: 行エラーのロギング

Page 170: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

リレーショナルデータベースによるエラーロギングでは、複数のセッションで発生した行

エラーを、特定のエラーテーブルに収集することができます。これを行うには、すべての

セッションに対して、エラーログテーブル名の接頭語を統一して指定します。生成された

エラーテーブルに対してSelect文を発行すれば、特定のセッションに限定してエラーデー

タを取得することができます。

エラーテーブルには接頭語を指定できます。エラーテーブル名に使用できる文字数は、

大11文字です。Oracle、Sybase、Teradataのエラーログテーブルに名前を付ける場合、19

文字を超える接頭語を指定してはいけません。これらのデータベースでは、テーブル名の

大長に30文字という制限があります。テーブル名の接頭語には、パラメータまたは変数

を使用できます。パラメータファイルで定義可能なパラメータまたは変数タイプを使用し

ます。たとえば、エラーログテーブル名の接頭語としてセッションパラメータ

$ParamMyErrPrefixを使用し、パラメータファイルでテーブルの接頭語に

$ParamMyErrPrefixを設定するとします。

Integration Serviceによって作成されるエラーテーブルには、プライマリキーと外部キー

が指定されていません。キーカラムは自分で指定することもできます。

PMERR_DATA

Integration Serviceは、行エラーが発生した場合、PMERR_DATAテーブルにエントリを挿

入します。このテーブルには、トランスフォーメーションの行エラーに関するデータとメ

タデータ、および対応するソース行が格納されます。

以下の表に、PMERR_DATAテーブルの構造を示します。

カラム名 データー

タイプ

説明

REPOSITORY_GID Varchar リポジトリの一意のIDです。

WORKFLOW_RUN_ID Integer ワークフローの一意のIDです。

WORKLET_RUN_ID Integer ワークレットの一意のIDです。セッション

がワークレットの一部ではない場合、この

値は0になります。

SESS_INST_ID Integer セッションの一意のIDです。

TRANS_MAPPLET_IN

ST

Varchar エラーが発生したマプレットの名前です。

TRANS_NAME Varchar エラーが発生したトランスフォーメーショ

ンの名前です。

TRANS_GROUP Varchar エラーが発生した入力グループまたは出力

グループの名前です。トランスフォーメー

ションにグループが含まれない場合、デフ

ォルトによりメinputモまたはメoutputモの

いずれかになります。

TRANS_PART_INDEX Integer エラーが発生したトランスフォーメーショ

ンのパーティション番号を指定します。

エラーログテーブルについて 151

Page 171: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

カラム名 データー

タイプ

説明

TRANS_ROW_ID Integer 後のアクティブソースによって生成され

た行IDを指定します。

TRANS_ROW_DATA Long

Varchar

カラムインジケータなど、すべてのカラム

データを含む、区切り文字付きの文字列で

す。各種カラムインジケータを次に示しま

す。

D - 有効

N - NULL

T - 切り詰め

B - バイナリ

U - データが利用不可

カラムデータとカラムインジケータの固定

区切り文字はコロン(:)になります。カラ

ム間の区切り文字はパイプ(|)になりま

す。カラム区切り文字は、エラー処理設定

で上書きできます。

エラーテーブルでは、すべてのカラムデー

タがテキスト文字列に変換されます。バイ

ナリデータの場合は、Integration Service

はカラムインジケータのみ使用します。

この値は複数行にまたがる場合がありま

す。データが2000バイトを超える場合は、

Integration Serviceによって新しい行が作

成されます。各カラムエラーエントリの行

番号は、LINE_NOカラムに格納されます。

SOURCE_ROW_ID Integer ソース修飾子が、読み込んだ各行に割り当

てる値です。Integration Serviceが行を識

別できなかった場合、この値は-1になりま

す。

SOURCE_ROW_TYPE Integer 行インジケータは、挿入、更新、またはリ

ジェクトのいずれのマークが行に付いてい

たかを示します。

0 - 挿入

1 - 更新

2 - 削除

3 - リジェクト

SOURCE_ROW_DATA Long

Varchar

カラムインジケータなど、すべてのカラム

データを含む、区切り文字付きの文字列で

す。各種カラムインジケータを次に示しま

す。

D - 有効

O - オーバーフロー

N - NULL

T - 切り詰め

152 章 8: 行エラーのロギング

Page 172: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

カラム名 データー

タイプ

説明

B - バイナリ

U - データが利用不可

カラムデータとカラムインジケータの固定

区切り文字はコロン(:)になります。カラ

ム間の区切り文字はパイプ(|)になりま

す。カラム区切り文字は、エラー処理設定

で上書きできます。

Integration Serviceは、すべてのカラムデ

ータをエラーテーブルまたはエラーファイ

ルのテキスト文字列に変換します。バイナ

リデータの場合は、Integration Serviceは

カラムインジケータのみ使用します。

この値は複数行にまたがる場合がありま

す。データが2000バイトを超える場合は、

Integration Serviceによって新しい行が作

成されます。各カラムエラーエントリの行

番号は、LINE_NOカラムに格納されます。

LINE_NO Integer SOURCE_ROW_DATAおよびTRANS_ROW_DATAにお

いて、複数行にまたがる各行エラーエント

リの行番号を指定します。

注: テーブルを結合するには、太字のカラム名を使用します。

PMERR_MSG

Integration Serviceは、行エラーが発生した場合、PMERR_MSGテーブルにエントリを挿入

します。このテーブルには、エラーおよびエラーメッセージに関するメタデータが格納さ

れます。

以下の表に、PMERR_MSGテーブルの構造を示します。

カラム名 データー

タイプ

説明

REPOSITORY_GID Varchar リポジトリの一意のIDです。

WORKFLOW_RUN_ID Integer ワークフローの一意のIDです。

WORKLET_RUN_ID Integer ワークレットの一意のIDです。セッション

がワークレットの一部ではない場合、この

値は0になります。

SESS_INST_ID Integer セッションの一意のIDです。

MAPPLET_INST_NAM

E

Varchar トランスフォーメーションが属しているマ

プレットです。トランスフォーメーション

エラーログテーブルについて 153

Page 173: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

カラム名 データー

タイプ

説明

がマプレットの一部ではない場合、この値

はN/Aになります。

TRANS_NAME Varchar エラーが発生したトランスフォーメーショ

ンの名前です。

TRANS_GROUP Varchar エラーが発生した入力グループまたは出力

グループの名前です。トランスフォーメー

ションにグループが含まれない場合、デフ

ォルトによりメinputモまたはメoutputモの

いずれかになります。

TRANS_PART_INDEX Integer エラーが発生したトランスフォーメーショ

ンのパーティション番号を指定します。

TRANS_ROW_ID Integer 後のアクティブソースによって生成され

た行IDを指定します。

ERROR_SEQ_NUM Integer 各トランスフォーメーショングループの行

単位のエラー数を示すカウンタです。セッ

ションに複数のパーティションが存在する

場合、Integration Serviceは、このカウン

タをパーティションごとに保持します。

たとえば、パーティション1のトランスフォ

ーメーションで3つのエラーが、パーティシ

ョン2のトランスフォーメーションで2つの

エラーが生成された場合、パーティション1

におけるERROR_SEQ_NUMの値は1、2、3に、

パーティション2におけるERROR_SEQ_NUMの

値は1および2になります。

ERROR_TIMESTAMP 日付/時刻 エラー発生時のIntegration Serviceのタイ

ムスタンプです。

ERROR_UTC_TIME Integer エラー発生時刻を協定世界時(グリニッジ

標準時)で示します。

ERROR_CODE Integer エラーによって生成されるエラーコードで

す。

ERROR_MSG Long

Varchar

エラーメッセージです。複数行にまたがる

場合があります。データが2000バイトを超

える場合は、Integration Serviceによって

新しい行が作成されます。各カラムエラー

エントリの行番号は、LINE_NOカラムに格納

されます。

ERROR_TYPE Integer 発生したエラーのタイプです。Integration

Serviceは、次の値を使用します。

1 - Readerエラー

2 - Writerエラー

154 章 8: 行エラーのロギング

Page 174: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

カラム名 データー

タイプ

説明

3 - トランスフォーメーションエラー

LINE_NO Integer ERROR_MSGにおいて、複数行にまたがる各行

エラーエントリの行番号を指定します。

注: テーブルを結合するには、太字のカラム名を使用します。

PMERR_SESS

リレーショナルデータベースによるエラーロギングを選択した場合、エントリが

PMERR_SESSテーブルに挿入されます。このテーブルには、エラーが発生したセッションに

関するメタデータが格納されます。

以下の表に、PMERR_SESSテーブルの構造を示します。

カラム名 データー

タイプ

説明

REPOSITORY_GID Varchar リポジトリの一意のIDです。

WORKFLOW_RUN_ID Integer ワークフローの一意のIDです。

WORKLET_RUN_ID Integer ワークレットの一意のIDです。セッション

がワークレットの一部ではない場合、この

値は0になります。

SESS_INST_ID Integer セッションの一意のIDです。

SESS_START_TIME 日付/時刻 セッション開始時のIntegration Serviceの

タイムスタンプです。

SESS_START_UTC_T

IME

Integer セッション開始時刻を協定世界時(グリニ

ッジ標準時)で示します。

REPOSITORY_NAME Varchar セッション格納先のリポジトリ名です。

FOLDER_NAME Varchar マッピングおよびセッションが置かれたフ

ォルダを指定します。

WORKFLOW_NAME Varchar ロギングの対象となるセッションを実行す

るワークフローを指定します。

TASK_INST_PATH Varchar 完全修飾セッション名です。複数行にまた

がる場合があります。セッション名に対応

する新しい行がIntegration Serviceによっ

て作成されます。また、修飾されたセッシ

ョン名では、各ワークレットについて新し

い行が作成されます。たとえば、

エラーログテーブルについて 155

Page 175: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

カラム名 データー

タイプ

説明

WL1.WL2.S1というセッション名があるとし

ます。この名前の各構成コンポーネント

は、次のように新しい行に出力されます。

WL1

WL2

S1

カラム番号はLINE_NOカラムに出力されま

す。

MAPPING_NAME Varchar セッションが使用するマッピングを指定し

ます。

LINE_NO Integer TASK_INST_PATHにおいて、複数行にまたが

る各行エラーエントリの行番号を指定しま

す。

注: テーブルを結合するには、太字のカラム名を使用します。

PMERR_TRANS

Integration Serviceは、トランスフォーメーションエラーが発生した場合、PMERR_TRANS

テーブルにエントリを挿入します。このテーブルには、ソースポートおよびトランスフォ

ーメーションポートのメタデータ(名前やデータ型など)が格納されます。

以下の表に、PMERR_TRANSテーブルの構造を示します。

カラム名 データー

タイプ

説明

REPOSITORY_GID Varchar リポジトリの一意のIDです。

WORKFLOW_RUN_ID Integer ワークフローの一意のIDです。

WORKLET_RUN_ID Integer ワークレットの一意のIDです。セッション

がワークレットの一部ではない場合、この

値は0になります。

SESS_INST_ID Integer セッションの一意のIDです。

TRANS_MAPPLET_IN

ST

Varchar マプレットのインスタンスを指定します。

TRANS_NAME Varchar エラーが発生したトランスフォーメーショ

ンの名前です。

TRANS_GROUP Varchar エラーが発生した入力グループまたは出力

グループの名前です。トランスフォーメー

156 章 8: 行エラーのロギング

Page 176: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

カラム名 データー

タイプ

説明

ションにグループが含まれない場合、デフ

ォルトによりメinputモまたはメoutputモの

いずれかになります。

TRANS_ATTR Varchar エラーが発生した入力グループまたは出力

グループのポート名およびデータ型が列挙

されます。ポート名とデータ型のペアがカ

ンマ区切りで、「portname1:datatype,

portname2:datatype」のように記録されま

す。

この値は複数行にまたがる場合がありま

す。データが2000バイトを超える場合は、

そのトランスフォーメーション属性に対応

する新しい行が作成され、カラム番号が

LINE_NOカラムに出力されます。

SOURCE_MAPPLET_I

NST

Varchar ソースが存在するマプレットの名前です。

SOURCE_NAME Varchar ソース修飾子の名前です。ソース修飾子以

外のアクティブソースまたは複数のパーテ

ィションを持つ非パススルーパーティショ

ンポイントの下流で行エラーが発生した場

合、N/Aが記録されます。

SOURCE_ATTR Varchar ソース修飾子内のエラーが発生した接続済

みフィールドを列挙します。複数のフィー

ルドでエラーが発生した場合、各フィール

ド名は新しい行に入力されます。カラム番

号はLINE_NOカラムに出力されます。

LINE_NO Integer TRANS_ATTRおよびSOURCE_ATTRにおいて、複

数行にまたがる各行エラーエントリの行番

号を指定します。

注: テーブルを結合するには、太字のカラム名を使用します。

エラーログファイルについてセッションで発生したすべてのエラーを収集するには、エラーログファイルを作成しま

す。エラーログファイルは、ラインがカラムごとに区切られたシーケンシャルファイルで

す。固有のエラーログファイル名を指定することにより、ワークフローの各セッションに

ついて独立したログファイルを作成できます。1セッションについて行エラーを分析する際

は、1つのエラーログファイルを使用します。

エラーログファイルについて 157

Page 177: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

エラーログファイルでは、エラーロギングカラムが二重パイプ(||)で区切られます。デ

フォルトでは、行データが一重パイプ(|)で区切られます。データカラム区切り文字は、

[Data Column Delimiter]エラーログオプションの設定で変更できます。

エラーログファイルは、次のような構造になっています。

[Session Header][Column Header][Column Data]

セッションヘッダには、PMERR_SESSテーブルに格納される情報と類似したセッション実行

情報が含まれます。カラムヘッダには、データカラム名が含まれます。カラムデータに

は、行データおよびエラーメッセージ情報が含まれます。

以下の表に、エラーログファイルのカラムを示します。

ログファイルカ

ラムヘッダ

説明

トランスフォー

メーション

マッピング内のエラーが発生したトランスフォーメーショ

ンの名前です。

トランスフォー

メーションマプ

レット名

当該のトランスフォーメーションが含まれるマプレットの

名前です。この情報が利用できない場合、N/Aが出力されま

す。

トランスフォー

メーショングル

ープ

エラーが発生した入力グループまたは出力グループの名前

です。トランスフォーメーションにグループが含まれない

場合、デフォルトによりメinputモまたはメoutputモのいず

れかになります。

パーティション

インデックス

エラーが発生したトランスフォーメーションのパーティシ

ョン番号を指定します。

トランスフォー

メーション行ID

エラー行の行IDを指定します。

エラーシーケン

各トランスフォーメーショングループの行単位のエラー数

を示すカウンタです。セッションに複数のパーティション

が存在する場合、Integration Serviceは、このカウンタを

パーティションごとに保持します。

たとえば、パーティション1のトランスフォーメーションで

3つのエラーが、パーティション2のトランスフォーメーシ

ョンで2つのエラーが生成された場合、パーティション1に

おけるERROR_SEQ_NUMの値は1、2、3に、パーティション2に

おけるERROR_SEQ_NUMの値は1および2になります。

エラータイムス

タンプ

エラー発生時のIntegration Serviceのタイムスタンプで

す。

エラーUTC時間 エラー発生時刻を協定世界時(グリニッジ標準時)で示し

ます。

エラーコード エラーメッセージに対応するエラーコードです。

158 章 8: 行エラーのロギング

Page 178: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

ログファイルカ

ラムヘッダ

説明

エラーメッセー

エラーメッセージです。

エラータイプ 発生したエラーのタイプです。Integration Serviceは、次

の値を使用します。

1 - Readerエラー

2 - Writerエラー

3 - トランスフォーメーションエラー

トランスフォー

メーションデー

カラムインジケータなど、すべてのカラムデータを含む、

区切り文字付きの文字列です。各種カラムインジケータを

次に示します。

D - 有効

O - オーバーフロー

N - NULL

T - 切り詰め

B - バイナリ

U - データが利用不可

カラムデータとカラムインジケータの固定区切り文字はコ

ロン(:)になります。カラム間の区切り文字はパイプ

(|)になります。カラム区切り文字は、エラー処理設定で

上書きできます。

エラーファイルでは、すべてのカラムデータがテキスト文

字列に変換されます。バイナリデータの場合は、

Integration Serviceはカラムインジケータのみ使用しま

す。

ソース名 ソース修飾子の名前です。ソース修飾子以外のアクティブ

ソースまたは複数のパーティションを持つ非パススルーパ

ーティションポイントの下流で行エラーが発生した場合、

N/Aが記録されます。

ソース行ID ソース修飾子が、読み込んだ各行に割り当てる値です。

Integration Serviceが行を識別できなかった場合、この値

は-1になります。

ソース行タイプ 行インジケータは、挿入、更新、またはリジェクトのいず

れのマークが行に付いていたかを示します。

0 - 挿入

1 - 更新

2 - 削除

3 - リジェクト

ソースデータ カラムインジケータなど、すべてのカラムデータを含む、

区切り文字付きの文字列です。各種カラムインジケータを

次に示します。

D - 有効

O - オーバーフロー

エラーログファイルについて 159

Page 179: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

ログファイルカ

ラムヘッダ

説明

N - NULL

T - 切り詰め

B - バイナリ

U - データが利用不可

カラムデータとカラムインジケータの固定区切り文字はコ

ロン(:)になります。カラム間の区切り文字はパイプ

(|)になります。カラム区切り文字は、エラー処理設定で

上書きできます。

Integration Serviceは、すべてのカラムデータをエラーテ

ーブルまたはエラーファイルのテキスト文字列に変換しま

す。バイナリデータの場合は、Integration Serviceはカラ

ムインジケータのみ使用します。

エラーログオプションの設定セッションプロパティの[設定オブジェクト]タブで、セッションごとにエラーロギング

を設定します。エラーロギングを有効にするとき、リレーショナルデータベースまたはフ

ラットファイルにエラーログを作成するように指定できます。エラーロギングを有効にし

ない場合、エラーログは作成されません。

ヒント: Workflow Managerを使って、[設定オブジェクト]タブに適用する再利用可能な

属性のセットを作成します。

エラーロギングオプションを設定するには:

1. [セッション]タスクをダブルクリックして、セッションのプロパティを開きます。

2. [設定オブジェクト]タブを選択します。

3. エラーログタイプを指定します。

以下の表に、[設定オブジェクト]タブのエラーロギング設定を示します。

エラーログオ

プション

説明

エラーログタ

イプ

作成するエラーログのタイプを指定します。[リレーシ

ョナルデータベース]、[フラットファイル]、または

[なし]を指定できます。デフォルトは[なし]です。

注: XMLファイルソースの行エラーをログに出力すること

はできません。XMLソースのエラーはセッションログで確

認できます。

エラーログDB

接続

リレーショナルログに対するデータベース接続を指定し

ます。リレーショナルデータベースによるロギングを有

効にする場合、このオプションは省略できません。

160 章 8: 行エラーのロギング

Page 180: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

エラーログオ

プション

説明

エラーログテ

ーブル接頭辞

リレーショナルログに使用するテーブル名の接頭語を指

定します。この接頭語に対し11文字が付加されます。

OracleおよびSybaseでは、テーブル名に30文字の制限が

あります。テーブル名が30文字を超えている場合、セッ

ションが失敗します。

エラーログテーブル名の接頭語には、パラメータまたは

変数を使用できます。パラメータファイルで定義可能な

パラメータまたは変数タイプを使用します。

エラーログフ

ァイルディレ

クトリ

エラーを出力するディレクトリを指定します。デフォル

トでは、エラーログファイルディレクトリは

$PMBadFilesDir\\u306bなります。フラットファイルに

よるロギングを有効にする場合、このオプションは省略

できません。

エラーログフ

ァイル名

エラーログファイル名を指定します。エラーログファイ

ル名に使用できる文字数の上限は255文字です。デフォル

トでは、エラーログファイル名はPMError.logになりま

す。フラットファイルによるロギングを有効にする場

合、このオプションは省略できません。

ログ行データ トランスフォーメーション行データをログに出力するか

どうかを指定します。エラーログを有効にすると、

Integration Serviceは、デフォルトで、トランスフォ

ーメーション行データをログを記録します。このプロパ

ティを無効にした場合、トランスフォーメーション行デ

ータのフィールドには、N/Aまたは-1が出力されます。

ログソース行

データ

ソース行データをログに出力しないように選択した場

合、あるいは、ソース行データが利用できない場合、カ

ラムのデータ型に応じてN/Aまたは-1が出力されます。

ソース行データを収集する必要がない場合は、

Integration Serviceのパフォーマンスを向上させるた

め、このオプションを無効にすることを検討してくださ

い。

データカラム

区切り文字

文字列型のソース行データおよびトランスフォーメーシ

ョングループ行データに使用する区切り文字です。デフ

ォルトでは、Integration Serviceは区切り文字にパイ

プ(|)を使用します。該当する行データに対する区切り

文字と同じものがエラーロギングカラムに使用されてな

いか確認してください。もし同じ区切り文字が使用され

ていると、エラーログファイルの読み込みが困難な場合

があります。

4. [OK]をクリックします。

エラーログオプションの設定 161

Page 181: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

第 9 章

ワークフローリカバリ

この章では、以下の項目について説明します。

¨ ワークフローリカバリの概要, 162 ページ

¨ 操作の状態, 163 ページ

¨ リカバリオプション, 167 ページ

¨ ワークフローのサスペンド, 168 ページ

¨ ワークフローリカバリの設定, 170 ページ

¨ タスクリカバリの設定, 171 ページ

¨ セッションの再開, 174 ページ

¨ 再現可能なデータに関する作業, 176 ページ

¨ ワークフローとタスクのリカバリの手順, 181 ページ

¨ セッションリカバリに関するルールおよびガイドライン, 183 ページ

ワークフローリカバリの概要ワークフローのリカバリを行うことにより、ワークフローとワークフロータスクの処理を

中断した時点から継続することができます。Integration Serviceが操作のワークフロース

テートにアクセスできる場合は、ワークフローをリカバリできます。操作のワークフロー

ステートには、ワークフロー内のタスクのステータスとワークフロー変数の値が含まれま

す。Integration Serviceは、このステートを、ワークフローの設定に基づいてメモリまた

はディスクに格納します。

¨ リカバリの有効化。ワークフローのリカバリを有効にする場合、Integration Service

によって、ワークフローの操作の状態が共有場所に保存されます。 ワークフローが終

了、停止、または強制終了した場合に、そのワークフローをリカバリできます。ワーク

フローが実行中である必要はありません。

¨ サスペンド。エラー発生時にサスペンド状態にするようにワークフローを設定した場

合、Integration Serviceによって、ワークフローの操作の状態がメモリに格納されま

す。 タスクが失敗した場合、一時停止されたワークフローをリカバリできます。タス

クエラーを修正し、ワークフローをリカバリすることができます。

Integration Serviceはワークフロー内のタスクを、そのタスクのリカバリ戦略に基づいて

リカバリします。デフォルトでは、[セッション]タスクと[コマンド]タスクのリカバ

162

Page 182: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

リ戦略は、タスクを失敗させて引き続きワークフローを実行するというものです。[セッ

ション]タスクと[コマンド]タスクのリカバリ戦略は設定することができます。他のす

べてのタスクの戦略は、タスクをリスタートするというものです。

高可用性オプションがある場合、ワークフローを実行しているサービスプロセスが異なる

ノードにフェイルオーバーすると、PowerCenterはそのワークフローを自動的にリカバリし

ます。タスクの終了時にそのタスクを自動的にリカバリするように、実行中のワークフロ

ーを設定することができます。データベース接続が中断した後も、PowerCenterはセッショ

ンとワークフローをリカバリします。

セーフモードで実行されている場合、Integration Serviceはリカバリ用に設定されている

ワークフローの操作の状態を格納します。ワークフローが失敗し、Integration Serviceが

バックアップノードにフェイルオーバーした場合、Integration Serviceでは自動的にワー

クフローをリカバリしません。Integration Serviceに対する適切な特権を持っている場合

は、ワークフローを手動でリカバリできます。

操作の状態ワークフローまたはセッションをリカバリすると、Integration Serviceは操作のワークフ

ローステートまたはセッションステートをリストアして、リカバリ処理の開始場所を決定

します。Integration Serviceは、操作のワークフローステートを、ワークフローの設定に

基づいてメモリまたはディスクに格納します。Integration Serviceは、操作のセッション

ステートをセッションの設定方法に基づいて格納します。

ワークフローの操作の状態

ワークフローのリカバリまたは一時停止を有効にする場合、Integration Serviceは操作の

ワークフローステートを格納します。ワークフローが一時停止になると、操作のステート

はメモリに保存されます。

リカバリのワークフローを有効にする場合、Integration Serviceは、操作のワークフロー

ステートを共有場所$PMStorageDirに格納します。Integration Serviceは、停止、強制終

了、または終了したワークフローをリカバリするために、操作のワークフローステートを

リストアすることができます。リカバリを実行するとき、中断した時点からワークフロー

をリカバリするために操作のステートをリストアします。ワークフローが完了すると、

Integration Serviceは共有フォルダから操作のワークフローステートを削除します。

操作のワークフローステートには、次の情報が含まれます。

¨ アクティブなサービス要求

¨ 完了したタスクと実行中のタスクのステータス

¨ ワークフロー変数の値

コンカレントワークフローを実行すると、$PMStorageDir内のワークフローリカバリストレ

ージファイルに、インスタンス名またはワークフロー実行IDが付加されます。

ワークフローのリカバリを有効にする場合、Integration Serviceは、デフォルトでは操作

のセッションステートを格納しません。操作のセッションステートが保存されるように、

セッションのリカバリ戦略を設定することができます。

操作の状態 163

Page 183: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

操作のセッション状態

後のチェックポイントから再開するようにセッションのリカバリ戦略を設定すると、

Integration Serviceは、操作のセッションステートを共有場所$PMStorageDirに格納しま

す。Integration Serviceはまた、リレーショナルターゲットのリカバリ情報をターゲット

データベーステーブルに保存します。Integration Serviceは、リカバリを実行するとき

に、中断した時点からセッションをリカバリするために操作のステートをリストアしま

す。ターゲットリカバリデータを使用して、ターゲットテーブルのリカバリ方法を決定し

ます。

操作のワークフローステートを保存しない場合でも、操作のセッションステートを保存す

るようにセッションを設定できます。セッションをリカバリするかまたはセッションから

ワークフローをリカバリすることができます。

操作のセッションステートには、次の情報が含まれます。

¨ ソース。 ソースからの出力が確定的で再現可能でない場合、Integration Serviceでは

SQLクエリからの結果が、$PMStorageDir内の共有ストレージファイルに保存されます。

¨ トランスフォーメーション。 Integration Serviceでは、$PMStorageDirにチェックポ

イントが作成され、リカバリセッションを実行するときにパイプラインの処理の開始場

所が決定されます。

差分アグリゲータトランスフォーメーションを持つセッションを実行した場合、

Integration Serviceによりセッションの開始時に$PMCacheDirにアグリゲータキャッ

シュファイルのバックアップが作成されます。Integration Serviceでは、セッション

リカバリの実行開始時に、バックアップキャッシュが初期キャッシュへプロモートされ

ます。

¨ リレーショナルターゲットのリカバリデータ。 Integration Serviceではリカバリ情報

が、ターゲットデータベース内のリカバリテーブルに書き込まれ、セッションが中断し

た場合にターゲットにコミットされていた 後の行が決定されます。

ターゲットリカバリテーブル

Integration Serviceは、再開リカバリ戦略を持つセッションを実行する際に、ターゲット

データベースシステムのリカバリテーブルに書き込みます。 セッションをリカバリする場

合、Integration Serviceはリカバリテーブル内の情報を使用して、ターゲットテーブルへ

のデータのロードをどこから開始するかを決定します。

Integration Serviceでリカバリテーブルが作成されるようにする場合、ターゲットデータ

ベース接続に設定されたデータベースユーザー名に対してテーブル作成特権を与えます。

Integration Serviceでリカバリテーブルが作成されないように設定する場合は、リカバリ

テーブルを手動で作成します。

Integration Serviceは、以下のリカバリテーブルをターゲットデータベースに作成しま

す。

¨ PM_RECOVERY。セッション実行のためのターゲットロード情報が含まれています。

Integration Serviceは、各セッションが成功した後でこのテーブルから情報を削除

し、後続のセッションの開始時に情報を初期化します。

¨ PM_TGT_RUN_ID。Integration Serviceがデータベース上の各ターゲットの特定に使用

する情報が含まれています。 この情報は、セッション実行後も次の実行まで維持され

164 章 9: ワークフローリカバリ

Page 184: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

ます。このテーブルを手動で作成する場合は、セッションが正常にリカバリされるよう

に、行を作成しLAST_TGT_RUN_IDに0以外を入力する必要があります。

¨ PM_REC_STATE。Integration Serviceがリアルタイムセッションのリカバリ時にターゲ

ットテーブルへのメッセージ書き込みの必要があるかどうかの判断に使用する情報が含

まれています。

セッションのリカバリ前にリカバリテーブルを編集または削除した場合、Integration

Serviceはそのセッションをリカバリできません。 リカバリを無効にした場合、

Integration Serviceではターゲットデータベースからリカバリテーブルが削除されませ

ん。 リカバリテーブルは手動で削除する必要があります。

以下の表に、PM_RECOVERYの形式を示します。

カラム名 データ型

REP_GID VARCHAR(240)

WFLOW_ID INTEGER

WFLOW_RUN_ID INTEGER

WFLOW_RUN_INS_NAME VARCHAR(240)

SUBJ_ID INTEGER

TASK_INST_ID INTEGER

TGT_INST_ID INTEGER

PARTITION_ID INTEGER

TGT_RUN_ID INTEGER

RECOVERY_VER INTEGER

CHECK_POINT INTEGER

ROW_COUNT INTEGER

以下の表に、PM_TGT_RUN_IDの形式を示します。

カラム名 データ型

LAST_TGT_RUN_ID INTEGER

操作の状態 165

Page 185: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

以下の表に、PM_REC_STATEの形式を示します。

カラム名 データ型

OWNER_TYPE_ID INTEGER

REP_GID VARCHAR(240)

FOLDER_ID INTEGER

WFLOW_ID INTEGER

WFLOW_RUN_INS_NAME VARCHAR(240)

WLET_ID INTEGER

TASK_INST_ID INTEGER

WID_INST_ID INTEGER

GROUP_ID INTEGER

PART_ID INTEGER

PLUGIN_ID INTEGER

APPL_ID VARCHAR(38)

SEQ_NUM INTEGER

VERSION INTEGER

CHKP_NUM INTEGER

STATE_DATA VARCHAR(1024)

Oracleでは、INTEGERデータタイプの代わりに、NUMBERデータタイプが使用されます。

注: コンカレントリカバリセッションが同じターゲットデータベースに書き込む場合、

Integration ServiceでPM_RECOVERYでデッドロックが検出されることがあります。 デッ

ドロック時にPM_RECOVERYへの書き込みを再試行するために、[デッドロック時のセッショ

ンのリトライ]オプションを設定し、セッションのデッドロックを再試行できます。

関連項目:

¨ 「PM_REC_STATEテーブル」 (122ページの)

ターゲットリカバリテーブルの作成

ターゲットリカバリテーブルは、手動で作成することができます。Informatica提供のSQL

スクリプトは、次のディレクトリにあります。

<PowerCenter installation_dir>\server\bin\RecoverySQL

166 章 9: ワークフローリカバリ

Page 186: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

次のいずれかのスクリプトを実行して、ターゲットデータベースにリカバリテーブルを作

成します。

スクリプト データベース

create_schema_db2.sql IBM DB2

create_schema_inf.sql Informix

create_schema_ora.sql Oracle

create_schema_sql.sql Microsoft SQL Server

create_schema_syb.sql Sybase

create_schema_ter.sql Teradata

リカバリオプションリカバリを実行するには、マッピング、ワークフロータスク、およびワークフローをリカ

バリ用に設定する必要があります。

以下の表に、リカバリ用に設定できるオプションを示します。

オプション 場所 説明

Suspend

Workflow on

Error

ワークフ

ロー

ワークフロー内のタスクが失敗したときにワー

クフローを一時停止します。失敗したタスクを

修正し、サスペンド状態のワークフローをリカ

バリすることができます。

サスペンド時の

メール

ワークフ

ロー

ワークフローがサスペンド状態である際に、メ

ールを送信します。

Enable HA

Recovery

ワークフ

ロー

操作のワークフローステートを共有場所に保存

します。ワークフローのリカバリを有効にする

ための高可用性は必要ありません。

終了したタスク

の自動リカバリ

ワークフ

ロー

ワークフロー実行中に、終了した[セッショ

ン]タスクと[コマンド]タスクをリカバリし

ます。高可用性オプションが必要です。

自動リカバリの

試行 大数

ワークフ

ロー

Integration Serviceがセッションまたはコマ

ンドタスクのリカバリを試みる回数。

リカバリ戦略 セッショ

ン、

コマンド

[セッション]タスクまたは[コマンド]タス

クのリカバリ戦略。Integration Serviceによ

って、ワークフローリカバリ中にセッションま

たはコマンドタスクがリカバリされる方法と、

リカバリオプション 167

Page 187: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

オプション 場所 説明

セッションリカバリ中にセッションがリカバリ

される方法を決定します。

Fail Task If

Any Command

Fails

コマンド タスクのいずれかのコマンドが失敗した場合に

[コマンド]タスクが失敗できるようにしま

す。このオプションを設定しない場合、コマン

ドが失敗してもタスクは実行を継続します。こ

のオプションを[エラー時のワークフローのサ

スペンド]とともに使用して、タスク内のコマ

ンドが失敗した場合にワークフローをサスペン

ド状態にすることができます。

出力が確定的 トランス

フォーメ

ーション

トランスフォーメーションが常に同じ入力デー

タから同じデータのセットを生成することを示

します。Integration Serviceが 後のチェッ

クポイントからセッションを再開できるのは、

出力が再現可能で決定性のある場合です。リレ

ーショナルソース修飾子に対してこのオプショ

ンを[出力が再現可能]オプションとともに有

効にした場合、Integration ServiceではSQL

結果は共有ストレージに保存されません。

出力が再現可能 トランス

フォーメ

ーション

トランスフォーメーションが行を生成する順序

がセッション間で同じかどうかを示します。出

力が再現可能で確定的である場合、

Integration Serviceによってセッションを

後のチェックポイントから再開できます。リレ

ーショナルソース修飾子に対してこのオプショ

ンを[出力が確定的]オプションとともに有効

にした場合、Integration ServiceではSQL結

果は共有ストレージに保存されません。

警告: : トランスフォーメーションに再現性および決定性を設定している場合、データの

再現性を保証するのはユーザーの責任です。リカバリしようとしているセッションのトラ

ンスフォーメーションから再現性および決定性を持つデータが生成されない場合、リカバ

リプロセスによりデータが破損することがあります。

ワークフローのサスペンドワークフロー内のタスクが失敗した場合は、ワークフローをサスペンド状態にしてエラー

を修復し、ワークフローをリカバリできます。ワークフロープロパティの[タスクのエラ

ー発生時にサスペンドする]オプションが有効になっている場合、Integration Serviceで

は、そのワークフローがサスペンド状態になります。 必要に応じて、Integration

Serviceによりワークフローがサスペンド状態になった場合に電子メールが送信されるよう

に、サスペンド時のメールを設定できます。

168 章 9: ワークフローリカバリ

Page 188: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

エラー発生時にサスペンド状態にするようにワークフローを設定した場合、Integration

Serviceにより、次のいずれかのタスクが失敗した際にワークフローがサスペンド状態にな

ります。

¨ セッション

¨ コマンド

¨ ワークレット

¨ 電子メール

タスクがワークフロー内で失敗した場合、Integration Serviceはそのパスにあるタスクの

実行を停止します。 Integration Serviceでは、失敗したタスクの出力リンクが評価され

ません。 ワークフロー内でほかに実行中のタスクがない場合、Workflow Monitorはワーク

フローのステータスをメサスペンド状態モと表示します。

高可用性オプションが導入済みの場合、自動タスクリカバリの設定に応じてワークフロー

が一時停止されます。エラー発生時にサスペンド状態にするようにワークフローが設定さ

れていて、自動タスクリカバリが有効化されていない場合、タスクの失敗後にワークフロ

ーが一時停止されます。自動タスクリカバリが有効化されている場合は、まず指定された

リカバリ限度までタスクのリスタートが試行された後、失敗したタスクをリスタートでき

ないときはワークフローが一時停止されます。

タスクが失敗したときにワークフロー内で1つ以上のタスクがまだ実行中である場合、

Integration Serviceは失敗したタスクの実行を停止して、他のパスにあるタスクの実行を

続行します。 Workflow Monitorはワークフローのステータスを「サスペンド中」と表示しま

す。

ワークフローの状態が「サスペンド中」または「サスペンド状態」である場合、ターゲッ

トデータベースエラーなどのエラーを修復した後でWorkflow Monitorからワークフローを

リカバリできます。ワークフローをリカバリした場合、Integration Serviceでは失敗した

タスクがリスタートされ、ワークフロー内の残りのタスクの評価が続行されます。 既に正

常に完了しているタスクはIntegration Serviceによって実行されません。

注: 一時停止したワークフロー、または一時停止したワークフロー内のタスクを編集する

と、リポジトリで不整合が発生する可能性があります。

ワークフローを一時停止するには:

1. Workflow Designerで、ワークフローを開きます。

2. [ワークフロー]-[編集]をクリックします。

3. [全般]タブで、[タスクのエラー発生時にサスペンドする]を有効にします。

4. [OK]をクリックします。

サスペンド時のメールの設定

ワークフローが一時停止した場合、Integration Serviceによってメールが送信されるよう

にワークフローを設定することができます。 サスペンド時のメール用に、既存の再利用可

能なメールタスクを選択します。タスクが失敗した場合、Integration Serviceによってワ

ークフローのサスペンドが開始され、サスペンド時のメールが送信されます。

Integration Serviceでワークフローのサスペンドをしているときに別のタスクが失敗した

場合、サスペンド時のメールを再度受け取ることはありません。

ワークフローを再開した後で別のタスクが失敗した場合は、Integration Serviceによって

サスペンド時のメールが送信されます。

ワークフローのサスペンド 169

Page 189: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

ワークフローリカバリの設定ワークフローをリカバリ用に設定するには、リカバリのワークフローを有効にするかまた

はタスクエラー発生時におけるワークフローの一時停止を設定する必要があります。ワー

クフローをリカバリ用に設定した場合は、そのワークフローが停止、強制終了、終了、ま

たは一時停止した場合にこれをリカバリすることができます。

以下の表に、リカバリ可能な各ワークフローステータスを示します。

ステー

タス

説明

強制終

Workflow Monitorまたはpmcmdを使用して、ワークフローを強制終了

します。また、Administratorツールでサービスプロセスを無効にす

るときに、実行中のすべてのワークフローを強制終了することを選択

することもできます。 強制終了されたワークフローは、そのワーク

フローのリカバリを有効にした場合、リカバリすることができます。

強制終了されたワークフローは、Workflow Monitorまたはpmcmdを使

用してリカバリすることができます。

停止 Workflow Monitorまたはpmcmdを使用してワークフローを停止しま

す。また、Administratorツールでサービスまたはサービスプロセス

を無効にするときに、実行中のすべてのワークフローを停止すること

を選択することもできます。 停止したワークフローは、そのワーク

フローのリカバリを有効にした場合、リカバリすることができます。

停止したワークフローは、Workflow Monitorまたはpmcmdを使用して

リカバリすることができます。

サスペ

ンド状

タスクは失敗します。ワークフローは、タスクエラー発生時に一時停

止するように設定されます。複数のタスクが実行中の場合、

Integration Serviceは、実行中のすべてのタスクが成功または失敗

したときにワークフローを一時停止にします。タスクの失敗を引き起

こしたエラーを修正してから、リカバリを実行することができます。

デフォルトでは、ワークフローはタスクが失敗した後も継続的に実行

されます。タスクが失敗した場合にワークフローが一時停止するよう

にするには、タスクエラー発生時に一時停止するようにワークフロー

を設定します。

ターミ

ネート

済み

ワークフローを実行しているサービスプロセスが予期せずシャットダ

ウンします。そのワークフローを実行しているすべてのノードでタス

クが終了します。ワークフロー内のタスクが終了し、高可用性オプシ

ョンがない場合は、ワークフローが終了することがあります。リカバ

リのワークフローを有効にした場合は、終了したワークフローをリカ

バリすることができます。高可用性オプションがある場合、サービス

プロセスは別のノードにフェイルオーバーし、ワークフローリカバリ

が開始されます。

注: 失敗したワークフローとは、失敗によって完了したワークフローです。 失

敗したワークフローはリカバリできません。

170 章 9: ワークフローリカバリ

Page 190: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

停止、強制終了、および終了されたワークフローのリカバリ

ワークフローのリカバリを有効にする場合、Integration Serviceは、ワークフロー実行中

に操作のワークフローステートをファイルに保存します。停止、終了、または強制終了し

たワークフローをリカバリすることができます。ワークフローの[プロパティ]タブで、

リカバリを有効にしてください。

一時停止されたワークフローのリカバリ

ワークフロー内のタスクが失敗した場合にワークフローが一時停止するように設定できま

す。デフォルトでは、ワークフローはタスクが失敗した場合も継続的に実行されます。タ

スク失敗時にワークフローを一時停止し、失敗したタスクを修正してから、そのワークフ

ローをリカバリすることができます。ワークフローを一時停止すると、操作のワークフロ

ーステートはメモリに残されます。タスクの失敗を引き起こしたエラーを修正し、中断し

た時点からワークフローをリカバリすることができます。 タスクが再び失敗した場合、

Integration Serviceはワークフローを再びサスペンド状態にします。一時停止されたワー

クフローは、リカバリすることはできてもリスタートすることはできません。ワークフロ

ープロパティの[全般]タブで、ワークフローを一時停止するように設定してください。

タスクが一時停止したときにメールを発信するようにワークフローを設定することもでき

ます。

タスクリカバリの設定ワークフローをリカバリするときには、Integration Serviceは、タスクごとのリカバリ戦

略に基づいてタスクをリカバリします。タスクによっては、リカバリ戦略が失敗タスクに

なっておりワークフローを継続、 後のチェックポイントから再開、またはタスクをリス

タートする場合があります。

ワークフローリカバリを有効にする場合、強制終了または停止するタスクをリカバリする

ことができます。ネットワークまたはサービスプロセスの失敗が原因で終了したタスク

を、リカバリすることができます。エラー発生時にサスペンド状態にするようにワークフ

ローを設定した場合、そのワークフローをリカバリするときに、失敗したタスクをリカバ

リすることができます。

以下の表に、リカバリ可能な各タスクステータスを示します。

ステー

タス

説明

強制終

Workflow Monitorまたはpmcmdを使用して、ワークフローまたはタス

クを強制終了します。また、Administratorツールでサービスまたは

サービスプロセスを無効にする場合に、実行中のすべてのワークフロ

ーの強制終了を選択することもできます。 マッピング条件に基づい

て強制終了するように、セッションを設定することもできます。

タスクリカバリの設定 171

Page 191: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

ステー

タス

説明

Workflow Monitorのワークフローをリカバリしてタスクをリカバリす

るか、pmcmdを使用してワークフローをリカバリすることができま

す。

停止 Workflow Monitorまたはpmcmdを使用して、ワークフローまたはタス

クを停止します。また、Administratorツールでサービスまたはサー

ビスプロセスを無効にするときに、実行中のすべてのワークフローを

停止することを選択することもできます。

Workflow Monitorのワークフローをリカバリしてタスクをリカバリす

るか、pmcmdを使用してワークフローをリカバリすることができま

す。

失敗 エラーが原因でIntegration Serviceはタスクの実行に失敗しまし

た。タスク失敗時に一時停止になるようにワークフローが設定されて

いる場合、ワークフローリカバリを使用して、失敗したタスクをリカ

バリできます。ワークフローが一時停止になっていない場合は、単に

セッションをリカバリするかまたはワークフローをセッションからリ

カバリすることにより、失敗したタスクをリカバリできます。

Workflow Monitorでエラーを修正してからワークフローをリカバリす

るか、またはpmcmdを使用してワークフローをリカバリすることがで

きます。

ターミ

ネート

済み

Integration Serviceは予期せず停止するか、またはマスタサービス

プロセスへのネットワーク接続を喪失します。Workflow Monitorでワ

ークフローをリカバリするか、またはIntegration Serviceのリスタ

ート後にpmcmdを使用してワークフローをリカバリすることができま

す。

タスクのリカバリ戦略

ワークフロー内の各タスクにはリカバリ戦略があります。Integration Serviceは、ワーク

フローをリカバリするときに、リカバリ戦略に基づいてタスクをリカバリします。

¨ タスクのリスタート。 Integration Serviceは、ワークフローをリカバリするときに、

リスタートの戦略を使用して設定されているリカバリ可能な各タスクをリスタートしま

す。リスタートリカバリ戦略を使用して[セッション]タスクと[コマンド]タスクを

設定できます。他のすべてのタスクは、リスタートリカバリ戦略をデフォルトで持って

います。

¨ タスクを失敗してワークフローを続行します。Integration Serviceでは、ワークフロ

ーがリカバリされる際に、タスクはリカバリされません。 タスクのステータスは失敗

となりますが、Integration Serviceは引き続きワークフローを実行します。

ワークフローを完了したいがタスクをリカバリしたくない場合は、失敗リカバリ戦略を

設定します。[セッション]タスクと[コマンド]タスクを失敗タスクで設定し、ワー

クフローのリカバリ戦略を継続することができます。

¨ 後のチェックポイントから再開します。Integration Serviceでは、停止、強制終

了、または終了したセッションが 後のチェックポイントからリカバリされます。 再

開戦略を使用して、セッションタスクを設定できます。

172 章 9: ワークフローリカバリ

Page 192: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

以下の表に、タスクタイプのリカバリ戦略を示します。

タスク

タイプ

リカバリ戦略 コメント

Assignm

ent

タスクを再開します。 -

Command タスクを再開します。

タスクを失敗してワーク

フローを続行します。

デフォルトは[タスクを失敗してワーク

フローを続行]です。

コント

ロル

タスクを再開します。 -

ディシ

ジョン

タスクを再開します。 -

電子メ

ール

タスクを再開します。 Integration ServiceはE-Mailを重複し

て送信することがあります。

Event-

Raise

タスクを再開します。 -

Event-

Wait

タスクを再開します。 -

Session 後のチェックポイント

から再開します。

タスクを再開します。

タスクを失敗してワーク

フローを続行します。

デフォルトは[タスクを失敗してワーク

フローを続行]です。

Timer タスクを再開します。 タスクまたはワークフローの開始時点か

ら起算した時間差指定を使用する場合

は、元の値から経過時間を差し引いてタ

イマを設定します。

ワーク

レット

なし Integration Serviceはワークレットを

リカバリしません。ワークレットのセッ

ションは、Workflow Monitorでワークレ

ットを展開し、[タスクのリカバリ]を

選択してリカバリできます。

[コマンド]タスク戦略

[コマンド]タスクを設定する場合、リカバリ戦略をリスタートまたは失敗に選択できま

す。

¨ タスクを失敗してワークフローを続行します。コマンドタスクのエラーで、ワークフロ

ーがサスペンド状態にする場合は、失敗戦略を使用してタスクを設定する必要がありま

す。 コマンドタスクに複数のコマンドがある際に、失敗戦略を設定する場合、いずれ

のコマンドが失敗した場合でもタスクが失敗するように設定する必要があります。

タスクリカバリの設定 173

Page 193: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

¨ タスクをリスタートします。Integration Serviceでは、ワークフローがリカバリされ

る際に、リスタートの戦略を使用して設定されているコマンドタスクがリスタートされ

ます。

コマンドタスクのプロパティページでリカバリ戦略を設定します。

セッションタスク戦略

セッションをリカバリ用に設定すると、ワークフローをリカバリするときにそのセッショ

ンをリカバリできます。または、残りのワークフローを実行することなく、セッションを

リカバリすることができます。

セッションを設定するとき、失敗、リスタート、または再開のリカバリ戦略を選択できま

す。

¨ 後のチェックポイントから再開します。Integration Serviceによって、操作のセッ

ション状態が保存されターゲットリカバリテーブルが保持されます。 セッションが強

制終了、停止、または終了した場合、Integration Serviceによって保存されたリカバ

リ情報が使用され、中断ポイントからセッションが再開されます。

セッションによってマッピング変数が使用されている場合は、そのセッションに再開戦

略を設定することはできません。

¨ タスクのリスタート。 Integration Serviceは、ワークフローをリカバリすると、セッ

ションを再実行します。[タスクのリスタート]を使用してリカバリする場合は、ター

ゲットに部分的にロードされたデータを削除するかまたは重複行をスキップするように

マッピングを設計する必要がある場合もあります。

¨ タスクを失敗してワークフローを続行します。Integration Serviceによってワークフ

ローがリカバリされる際、セッションはリカバリされません。 セッションのステータ

スは失敗となりますが、Integration Serviceは引き続きワークフローを実行します。

[Session]タスクの[プロパティ]ページでリカバリ戦略を設定してください。

終了したタスクの自動的なリカバリ

高可用性オプションがある場合、終了したタスクの自動リカバリを設定できます。自動タ

スクリカバリを有効にした場合、Integration Serviceはワークフローがまだ実行中の場

合、終了した[セッション]タスクと[コマンド]タスクをユーザー介入なしにリカバリ

します。タスクのリカバリをIntegration Serviceが試みる回数を設定します。ワークフロ

ープロパティで自動タスクリカバリを有効にします。

セッションの再開後のチェックポイントから再開するようにセッションリカバリを設定した場合、

Integration Serviceによって、セッションリカバリの処理を開始する場所を決定するため

に$PMStorageDirにチェックポイントが作成されます。 Integration Serviceは、セッシ

ョンを再開するときに、各ソース、ターゲット、およびトランスフォーメーションの状態

など、操作のセッションステートをリストアします。Integration Serviceは、処理に必要

なソースデータの量を確認します。

174 章 9: ワークフローリカバリ

Page 194: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

Integration Serviceがセッションを再開するときには、リカバリセッションが元のセッシ

ョンと同じデータを生成する必要があります。 後のチェックポイントから再開するよう

にリカバリを設定した場合、セッションは無効ですが、セッションは再現可能なデータを

生成できません。

Integration Serviceは、FTPソースなどのフラットファイルソースをリカバリできます。

フラットファイルとFTPターゲットを切り詰めるかまたは追加することができます。

後のチェックポイントからセッションをリカバリすると、Integration Serviceは操作の

セッションステートをリストアし、実行可能なリカバリのタイプを確認します。

¨ 差分。 Integration Serviceは、中断した時点からデータの処理を開始します。中断前

に処理した行の読み込みまたは変換を行いません。デフォルトでは、Integration

Serviceは差分リカバリを実行しようとします。

¨ フル。 差分リカバリを実行できない場合、Integration Serviceはすべてのソース行を

再び読み込み、すべてのトランスフォーメーションロジックを実行します。

Integration Serviceは、 後のコミットポイントでターゲットへの書き込みを開始し

ます。いずれかのセッションコンポーネントでフルリカバリが必要な場合、

Integration Serviceはそのセッションについてフルリカバリを実行します。

以下の表に、Integration Serviceによって、どのような時にセッションの設定に応じて差

分リカバリまたはフルリカバリが実行されるのかを示します。

コンポーネ

ント

差分リカバリ フルリカバリ

コミットタ

イプ

セッションはソースベースのコ

ミットを使用します。マッピン

グは、コミットを生成するトラ

ンスフォーメーションを含みま

せん。

セッションは、ターゲット

ベースのコミットまたはユ

ーザー定義のコミットを使

用します。

トランスフ

ォーメーシ

ョン範囲

トランスフォーメーションは、

トランザクションをプロパゲー

トします。トランスフォーメー

ションスコープは、[トランザ

クション]または[行]である

ことが必要です。

少なくとも1個のトランスフ

ォーメーションが[すべ

て]トランスフォーメーシ

ョン範囲で設定されていま

す。

ファイルソ

ース

ファイルソースは差分読み込み

をサポートします。

なし

FTPソース 差分読み込みを可能にするに

は、FTPサーバーがシーク操作

をサポートしている必要があり

ます。

FTPサーバーはシーク操作を

サポートしません。

リレーショ

ナルソース

出力が再現可能で決定性がある

場合、リレーショナルソースは

差分読み込みをサポートしま

す。出力が再現可能で決定性が

ない場合、Integration

ServiceはSQL結果をストレージ

ファイルにステージングするこ

なし

セッションの再開 175

Page 195: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

コンポーネ

ント

差分リカバリ フルリカバリ

とにより、リレーショナルソー

スの差分読み込みをサポートし

ます。

VSAMソース なし Integration Serviceによ

り、フルリカバリが実行さ

れます。

XMLソース なし Integration Serviceによ

り、フルリカバリが実行さ

れます。

XMLジェネレ

ータトラン

スフォーメ

ーション

XMLジェネレータトランスフォ

ーメーションのトランスフォー

メーションスコープは[トラン

ザクション]に設定されている

必要があります。

なし

XMLターゲッ

XMLターゲットは、コミットで

新しいXMLドキュメントを生成

するように設定されている必要

があります。

なし

再現可能なデータに関する作業後のチェックポイントから再開するようにリカバリを設定する場合、リカバリセッショ

ンは元のセッションと同じ順序で同じデータを生成できる必要があります。

セッションを検査すると、Workflow Managerによって、再現性および決定性を持つデータ

を生成するようにトランスフォーメーションが設定されていることが検査されます。 後

のチェックポイントから再開するようにリカバリを設定していても、再現性および決定性

を持つデータ用にトランスフォーメーションが設定されていない場合、セッションは無効

です。

すべてのターゲットが再現可能なデータを以下のマッピングオブジェクトから受け取る場

合、セッションデータは再現可能です。

¨ ソース。 ソースからの出力データは、元の実行とリカバリ実行の間で再現可能です。

¨ トランスフォーメーション。 各トランスフォーメーションからターゲットへの出力デ

ータは再現可能です。

ソースの再現性

各ソースが一連の同一のデータを生成する場合で、出力の順序がセッション間で再現可能

な場合は、 後のチェックポイントからセッションを再開できます。ソースデータは、セ

ッション内のソースのタイプに基づいて再現可能です。

176 章 9: ワークフローリカバリ

Page 196: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

リレーショナルソース

リレーショナルソースは、ワークフロー間で異なるデータまたは順序の異なるデータを生

成する場合があります。 後のチェックポイントから再開するようにリカバリを設定する

と、Integration Serviceは、リカバリ用の出力順序を保証するためにSQL結果をキャッシ

ュファイルに格納します。

SQL結果がワークフロー間で同じになると分かっている場合、データが再現可能で決定性が

あることを示すようにソース修飾子を設定することができます。リレーショナルソース出

力に決定性があり、出力が常に再現可能な場合、Integration ServiceはSQL結果をキャッ

シュファイルに格納しません。リレーショナル出力が再現可能でない場合、マッピング内

のトランスフォーメーションが順番付けられたデータを常に生成する場合は、Integration

Serviceはキャッシュファイルの作成をスキップできます。

SDKソース

SDKソースが再現可能なデータを生成する場合、SDKソース修飾子トランスフォーメーショ

ンで[出力が確定的]と[出力が再現可能]を有効にすることができます。

フラットファイルソース

フラットファイルはセッション実行とリカバリ実行の間で変わりません。ソースファイル

を変更した後にセッションをリカバリした場合は、予期できない結果がリカバリセッショ

ンで発生する可能性があります。

トランスフォーメーションの再現性

セッション内のトランスフォーメーションがセッション実行とリカバリ実行の間で同じデ

ータを生成する場合、 後のチェックポイントから再開するようにセッションを設定でき

ます。すべてのトランスフォーメーションには、再現可能なデータを作成できるかどうか

を決定するプロパティがあります。出力に決定性があり出力が再現可能な場合、トランス

フォーメーションはセッション実行とリカバリ実行の間で同じデータを作成できます。

警告: : トランスフォーメーションに再現性および決定性を設定している場合、データの

再現性を保証するのはユーザーの責任です。リカバリしようとしているセッションのトラ

ンスフォーメーションから再現性および決定性を持つデータが生成されない場合、リカバ

リプロセスによりデータが破損することがあります。

出力が確定的

常に同じ出力データが同じ入力データから作成された場合に、トランスフォーメーション

は決定性出力を作成します。

出力が再現可能

トランスフォーメーションは、セッション間で同じ順序で行を生成する場合、再現可能な

データを作成します。トランスフォーメーションはトランスフォーメーションのタイプ、

トランスフォーメーションの設定、またはマッピングの設定に基づいて、再現可能なデー

タを作成します。

再現可能なデータに関する作業 177

Page 197: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

トランスフォーメーションは、次の状況で再現可能なデータを作成します。

¨ 常時。入力データの順序がセッションの実行間で矛盾している場合でも、出力データの

順序はセッションの実行間で一貫しています。

¨ 入力順を基準。トランスフォメーションによって、すべての入力グループの入力データ

の順序がセッション実行間で一貫している場合は、セッション実行間で再現可能なデー

タが作成されます。 入力グループからの入力データが順序付けられていない場合、出

力は順序付けられません。

トランスフォーメーションが入力順序に依存して再現可能なデータを作成する場合、セ

ッションの検査中にWorkflow Managerはマッピングを検査して、トランスフォーメーシ

ョンが再現可能なデータを作成できるかどうか確認します。例えば、式トランスフォー

メーションによって、再現可能なデータを受け取った場合にだけ再現可能データが生成

されます。

¨ 不可能。出力データの順序はセッションの実行間で矛盾します。

リカバリ用のマッピングの設定

セッション内のトランスフォーメーションがセッション実行とリカバリ実行の間で同じデ

ータを作成できるように、マッピングを設定できます。マッピングに再現可能なデータを

作成しないトランスフォーメーションが含まれている場合は、その直後に再現可能なデー

タを常に作成するトランスフォーメーションを追加できます。

例えば、再現可能なデータを作成しないトランスフォーメーションを、入力順序に依存し

て再現可能なデータを作成するトランスフォーメーションに直接接続します。データが再

現可能でなければ、 後のチェックポイントから再開するようにリカバリを設定すること

はできません。セッションをリカバリ可能にするために、再現可能なデータを作成しない

トランスフォーメーションの後に、再現可能なデータを常に作成するトランスフォーメー

ションを追加できます。

次の図に、 後のチェックポイントからの再開でリカバリできないマッピングを示しま

す。

上図のマッピングは、再現可能なデータを作成するソース修飾子トランスフォーメーショ

ンを2つ含んでいます。再現可能なデータを作成しない共有体トランスフォーメーションと

カスタムトランスフォーメーションがあります。ルックアップトランスフォーメーション

は、再現可能なデータを受け取った場合、再現可能データを作成します。そのため、ター

ゲットは再現可能なデータを受け取れないので、リカバリを再開するようにセッションを

設定することはできません。

リカバリを再開できるようにマッピングを一部変更することができます。出力行が重複し

ないように設定されたソータトランスフォーメーションを、再現可能なデータを出力しな

いトランスフォーメーションの直後に追加します。カスタムトランスフォーメーションの

後にソータトランスフォーメーションを追加します。

178 章 9: ワークフローリカバリ

Page 198: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

次の図に、ソータトランスフォーメーションをカスタムトランスフォーメーションに接続

したマッピングを示します。

ルックアップトランスフォーメーションは、再現可能なデータをソータトランスフォーメ

ーションから受け取っているため、再現可能データを作成します。

以下の表に、いつ再現可能なデータをトランスフォーメーションが作成するかを示しま

す。

トランスフォーメーシ

ョン

再現可能なデータ

アグリゲータ 常に作成する。

アプリケーションソー

ス修飾子

入力順に基づく。

カスタム 入力順に基づく。トランスフォーメーションプロシー

ジャの動作に従って、プロパティを設定します。

データマスキング 入力順に基づく。トランスフォーメーションプロシー

ジャの動作に従って、プロパティを設定します。再現

可能なデータを生成するには、ポートごとに再現可能

なマスキングまたはキーマスキングを設定します。

Expression 入力順に基づく。

エクスターナルプロシ

ージャ

入力順に基づく。トランスフォーメーションプロシー

ジャの動作に従って、プロパティを設定します。

Filter 入力順に基づく。

HTTP 入力順に基づく。トランスフォーメーションプロシー

ジャの動作に従って、プロパティを設定します。

ジョイナ 入力順に基づく。

Java 入力順に基づく。トランスフォーメーションプロシー

ジャの動作に従って、プロパティを設定します。

Lookup、動的 常に作成する。ルックアップソースは、セッション内

のターゲットと同じである必要があります。

Lookup、静的 入力順に基づく。

再現可能なデータに関する作業 179

Page 199: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

トランスフォーメーシ

ョン

再現可能なデータ

MQソース修飾子 常に作成する。

Normalizer、パイプラ

イン

入力順に基づく。

Normalizer、VSAM 常に作成する。Normalizerは、一意なプライマリキー

の形式でソースデータを生成します。セッションを再

開すると、そのセッションは、正常に完了した場合と

は異なるキー値を生成する場合があります。

ランク 常に作成する。

ルータ 入力順に基づく。

シーケンスジェネレー

常に作成する。Integration Serviceは、現在の値を

リポジトリに格納します。

Sorter(出力行が重複

しない設定)

常に作成する。

Sorter(出力行が重複

しない設定なし)

入力順に基づく。

Source Qualifier、フ

ラットファイル

常に作成する。

ソース修飾子、リレー

ショナル

入力順に基づく。トランスフォーメーションをソース

データに従って設定します。データが再現可能でない

場合、Integration Serviceはそのデータをステージ

ングします。

SQLトランスフォーメ

ーション

入力順に基づく。トランスフォーメーションをソース

データに従って設定します。

ストアドプロシージャ 入力順に基づく。トランスフォーメーションプロシー

ジャの動作に従って、プロパティを設定します。

トランザクションコン

トロール

入力順に基づく。

Union 作成しない。

Unstructured Data 入力順に基づく。トランスフォーメーションプロシー

ジャの動作に従って、プロパティを設定します。

アップデートストラテ

入力順に基づく。

XMLジェネレータ 常に作成する。

180 章 9: ワークフローリカバリ

Page 200: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

トランスフォーメーシ

ョン

再現可能なデータ

XMLパーサ 入力順に基づく。トランスフォーメーションをソース

データに従って設定します。

XMLソース修飾子 常に作成する。

以下のトランスフォーメーションに[出力が再現可能]および[出力が確定的]プロパテ

ィを設定することも、あるいはこれらのトランスフォーメーションの直後に再現可能なデ

ータを生成するトランスフォーメーションを追加することもできます。

¨ アプリケーションソース修飾子

¨ カスタム

¨ エクスターナルプロシージャ

¨ ソース修飾子、リレーショナル

¨ ストアドプロシージャ

ワークフローとタスクのリカバリの手順ワークフローをリカバリ用に設定すると、そのワークフローをリカバリすることができま

す。セッションのリカバリ戦略を設定すると、セッションをリカバリすることができま

す。セッションのリカバリ戦略を設定する場合、セッションをリカバリするためにワーク

フローのリカバリを有効にする必要はありません。

次のいずれかの方法を使ってワークフローまたはタスクをリカバリできます。

¨ ワークフローのリカバリ。 中断ポイントからワークフローの処理を続行します。

¨ セッションのリカバリ。セッションをリカバリしますが、ワークフローの残りはリカバ

リしません。

¨ セッションからのワークフローのリカバリ。 セッションをリカバリし、ワークフロー

の処理を続行します。

Integration Serviceでオペレーティングシステムのプロファイルが使用されている場合、

Integration Serviceでセッションまたはワークフローの実行に使用されるものと同じオペ

レーティングシステムのプロファイルを使用して、セッションまたはワークフローをリカ

バリします。

ワークフローまたはタスクをリカバリなしでリスタートする場合、コールドスタートモー

ドを使用できます。リアルタイムセッションのリカバリ動作は、リアルタイムソースに応

じて異なります。

ワークフローとタスクのリカバリの手順 181

Page 201: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

ワークフローのリカバリ

ワークフローをリカバリすると、Integration Serviceは操作のワークフローステートをリ

ストアし、失敗したところから処理を続行します。Integration Serviceは、失敗したタス

クをリカバリするためにタスクのリカバリ戦略を使用します。

タスクが失敗したときにワークフローが一時停止するように設定することにより、または

ワークフロープロパティでリカバリを有効にすることにより、ワークフローをリカバリ用

に設定します。

Workflow Manager、Workflow Monitor、またはpmcmdを使用してワークフローをリカバリ

することができます。ワークフローをリカバリする場合、Integration Serviceによって既

存のセッションログにログイベントが追加されます。

Workflow Monitorを使用したワークフローのリカバリ

Workflow Monitorを使用してワークフローをリカバリするには:

1. Workflow Monitorでワークフローを選択します。

2. ワークフローを右クリックし、[リカバリ]を選択します。

Integration Serviceによって失敗したタスクがリカバリされ、ワークフローの残り

の部分が実行されます。

pmcmd recoverworkflowコマンドを使用してワークフローをリカバリすることもできます。

セッションのリカバリ

失敗、終了、強制終了、または停止したセッションを、ワークフローをリカバリすること

なくリカバリすることができます。ワークフローが完了すると、残りのワークフローを実

行することなく、セッションをリカバリすることができます。セッションをリカバリする

には、 後のチェックポイントからのリスタートまたは再開のリカバリ戦略を設定する必

要があります。Integration Serviceはタスクのリカバリ戦略に基づいてセッションをリカ

バリします。セッションをリカバリするために、ワークフローをサスペンド状態にした

り、ワークフローのリカバリを有効にしたりする必要はありません。セッションをリカバ

リする場合、Integration Serviceにより別のセッションログが作成されます。

Workflow Monitorを使用してセッションをリカバリするには:

1. Workflow Monitorでワークフローをダブルクリックして展開し、タスクを表示しま

す。

2. セッションを右クリックし、[タスクのリカバリ]を選択します。

Integration Serviceによって、失敗したセッションがリカバリ戦略に従ってリカバリされ

ます。

pmcmd starttaskを-recoverオプション付きで使用して、セッションをリカバリすること

もできます。

セッションからのワークフローのリカバリ

セッションが停止、強制終了、または終了し、ワークフローが完了しない場合、セッショ

ンのリカバリ戦略を設定していれば、セッションからワークフローをリカバリすることが

182 章 9: ワークフローリカバリ

Page 202: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

できます。セッションをリカバリすると、Integration Serviceはそのリカバリ戦略を使用

し、セッションをリカバリしてワークフローを続行します。ワークフローをサスペンド状

態にしたり、ワークフローのリカバリを有効にしたりしない場合でも、セッションをリカ

バリすることができます。セッションからワークフローをリカバリする場合、Integration

Serviceにより、別のセッションログが作成されます。

Workflow Monitorでセッションからワークフローをリカバリするには:

1. Workflow Monitorでワークフローをダブルクリックして展開し、セッションを表示し

ます。

2. セッションを右クリックし、[このタスクのリカバリによるワークフローのリスター

ト]を選択します。

Integration Serviceによって、失敗したセッションがリカバリ戦略に従ってリカバリされ

ます。

セッションからワークフローをリカバリするには、pmcmd startworkflowを-recoveryオプ

ション付きで使用します。

注: ワークレット内のセッションをリカバリするには、ワークレットを展開し、タスクの

リカバリを選択します。

セッションリカバリに関するルールおよびガイドライン

セッションをリカバリする場合には、以下のルールおよびガイドラインを使用します。

¨ Integration Serviceは、セッションリカバリを実行するときに新しいセッションログ

を作成します。

¨ セッションは、 後に成功した実行のパフォーマンス統計をレポートします。

¨ シードパラメータを指定する場合は、乱数生成(RAND)関数を使用するトランスフォー

メーションを含むセッションをリカバリできます。

¨ セッションリカバリの実行時に、マッピング変数が開始値にリセットされます。

Old Trans: 後のチェックポイントから再開するようにするためのリカバリの設定

後のチェックポイントから再開するようにリカバリを設定するときは、次のルールとガ

イドラインに従う必要があります。

¨ トランスフォーメーションごとにパススルーパーティション化を使用する必要がありま

す。

¨ グリッド上で実行されるセッションの場合は、 後のチェックポイントから再開するよ

うにリカバリを設定することはできません。

¨ 完全なプッシュダウンの 適化にセッションを設定すると、Integration Serviceは、

そのセッションをデータベース上で実行します。その結果、セッションが失敗すると、

セッションリカバリに関するルールおよびガイドライン 183

Page 203: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

差分リカバリが実行されません。SQLオーバーライドを含んだセッションのリカバリを

実行する場合、Integration Serviceはビューを削除し、再作成する必要があります。

¨ ワークフローまたはセッションを中断された実行とリカバリ実行の間で変更したとき

は、予期しない結果が得られることがあります。Integration Serviceでは、変更され

たワークフローに対するリカバリは防止されません。 ワークフローまたはタスクが前

回実行後に変更された場合、リカバリのワークフローログまたはセッションログはメッ

セージを表示します。

¨ 後のチェックポイントからセッションを再開する場合、セッション実行前のコマンド

と実行前SQLコマンドは1回しか実行されません。実行前または実行後のコマンドまたは

SQLコマンドが失敗すると、Integration Serviceは、リカバリ中にそのコマンドを再度

実行します。再度実行できるようにコマンドを設計してください。

¨ セッションがリレーショナルターゲットへの書き込みを一括モードで行った場合、再開

するようにそのセッションを設定することはできません。

リカバリ不可能なワークフローまたはタスク

場合によっては、Integration Serviceがワークフローまたはタスクをリカバリできないこ

とがあります。以下の状況では、ワークフローまたはタスクをリカバリすることができま

せん。

¨ パーティション数を変更した場合。セッションが失敗した後でパーティション数を変更

した場合、リカバリセッションは失敗します。

¨ 中断されたタスクに、失敗リカバリ戦略がある場合。 コマンドまたはセッションのリ

カバリが失敗し、ワークフローのリカバリが続行されるように設定した場合、タスクを

リカバリすることはできません。

¨ リカバリストレージファイルが欠如している場合。$PMStorageDirにリカバリストレー

ジファイルが見つからないか、$PMStorageDirの定義が当初の実行からリカバリ実行に

変更された場合、Integration Serviceはセッションまたはワークフローのリカバリに

失敗します。

¨ リカバリテーブルが空であるかターゲットデータベース内に存在しない場合。

Integration Serviceでは、以下の状況でリカバリセッションが中止されます。

- Integration Serviceで作成されたテーブルを削除した。

- Integration Serviceがリカバリ情報をテーブルから削除した直後に、リカバリが有

効になっているセッションが失敗した。

以下の状況でリカバリを実行すると、整合性のないデータが生成される場合があります。

¨ 初期セッション後にソースまたはターゲットが変更された場合。セッションをリカバリ

する前にインデックスを削除または作成するか、ソースまたはターゲットテーブルのデ

ータを編集した場合、Integration Serviceが存在しない行または繰り返し行を返すこ

とがあります。

¨ 初期セッションの失敗後に、ソースまたはターゲットコードページが変更された場合。

ソースまたはターゲットコードページを変更した場合、Integration Serviceによって

不正なデータが返されることがあります。 そのコードページと元のコードページとの

間で両方向の互換性がある場合は、リカバリを実行できます。

184 章 9: ワークフローリカバリ

Page 204: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

第 1 0 章

停止と強制終了

この章では、以下の項目について説明します。

¨ 停止と強制終了の概要, 185 ページ

¨ エラーのタイプ, 186 ページ

¨ Integration Serviceによるセッションの失敗の処理, 187 ページ

¨ ワークフローの停止または強制終了, 188 ページ

¨ 停止または強制終了の手順, 189 ページ

停止と強制終了の概要タスク、ワークフロー、またはワークレットは、いつでも停止または強制終了することが

できます。

タスクの停止や強制終了とまったく同じように、セッションを停止したり強制終了したり

できます。マッピングロジックでABORT()関数を使ってセッションを強制終了することもで

きます。セッションエラーが発生した場合、Integration Serviceによってセッションが早

期に停止されることがあります。 セッションにエラーしきい値を設定するか、マッピング

でABORT関数を使用するか、あるいはIntegration Serviceにセッションの停止を要求する

ことによって、停止位置を制御できます。 Integration Serviceにより致命的なエラー

(ターゲットデータベースへの接続が失われた場合など)が検出された場合、停止位置の

制御はできません。

エラーの結果、セッションが失敗した場合、ワークフローをリカバリしてセッションをリ

カバリできます。

ワークフローを停止した場合、Integration Serviceは、ワークフローで現在実行中のすべ

てのタスクの停止を試みます。 ワークフローにワークレットが含まれている場合、

Integration Serviceは、ワークレット内の現在実行中のすべてのタスクの停止も試みま

す。 Integration Serviceでワークレットを停止できない場合は、ワークフローを強制終

了する必要があります。

Integration Serviceは、以下のタスクを完全に停止できます。

¨ セッション

¨ コマンド

185

Page 205: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

¨ タイマ

¨ Event-Wait

¨ ワークレット

複数のコマンドを含んでいるコマンドタスクを停止した場合、Integration Serviceは現在

のコマンドの実行を完了し、残りのコマンドを実行しません。 Integration Serviceは、

電子メールタスクなどのタスクは停止できません。 例えば、停止コマンドを発行した際に

既にIntegration Serviceが電子メールを送信していた場合、Integration Serviceはワー

クフローの実行を停止する前に、電子メールの送信を完了します。

リポジトリサービスプロセスがシャットダウンした場合、Integration Serviceはワークフ

ローを強制終了します。

エラーのタイプセッションエラーには、致命的なものと非致命的なものがあります。 初の発生でセッシ

ョンの強制的な終了が行われないエラーが、非致命的エラーです。致命的なエラーは、

Integration Serviceがソース、ターゲット、またはリポジトリにアクセスできない場合に

発生します。

しきい値のエラー

非致命的エラーの発生が指定した回数に達したときにセッションが停止するように選択す

ることができます。 初の発生でセッションの強制的な終了が行われないエラーが、非致

命的エラーです。エラーのしきい値は、セッションプロパティで[Stop on Error(エラー

発生時に停止)]オプションを使って指定できます。このオプションを有効にした場合、

Integration Serviceではreader、writer、およびトランスフォーメーションの各スレッ

ドで発生した非致命的エラーがカウントされます。

Integration Serviceでは、ソースの読み込み、データの変換、およびターゲットへの書き

込み時に、独立したエラー数が保持されます。 セッションプロパティで[エラー時の停

止]オプションを設定した場合、Integration Serviceでは以下の非致命的エラーがカウン

トされます。

¨ readerエラー。ソースデータベースまたはソースファイルの読み込み中にIntegration

Serviceによって検出されたエラー。 Unicodeモードでセッションを実行している場合

は、readerエラーしきい値に不揃いエラーを含めることができます。

¨ writerエラー。ターゲットデータベースまたはターゲットファイルへの書き込み中に

Integration Serviceによって検出されたエラー。 writerエラーしきい値には、キー

制約違反、非NULLフィールドへのNULLのロード、およびデータベーストリガ応答を含む

ことができます。

¨ トランスフォーメーションエラー。データの変換中にIntegration Serviceによって検

出されたエラー。 トランスフォーメーションエラーしきい値には、変換エラー、およ

びERRORとして設定したすべての条件(NULL入力など)を含むことができます。

1つのパイプラインに複数のパーティションを作成した場合、Integration Serviceではパ

ーティションごとに別々のエラーしきい値が保持されます。 Integration Serviceはすべ

186 章 10: 停止と強制終了

Page 206: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

てのパーティションのエラーしきい値に達した場合、セッションを停止します。 writerが

1つ以上のパーティションからのデータの書き込みを続行する場合がありますが、正常なリ

カバリを実行する機能には影響を与えません。

注: 非ラインシーケンシャルVSAMファイルで不揃いエラーが発生した場合、Integration

Serviceではエラーしきい値が1に設定され、セッションが停止します。

致命的なエラー

致命的なエラーは、Integration Serviceがソース、ターゲット、またはリポジトリにアク

セスできない場合に発生します。 これには、データをロードするためのデータベース容量

不足など、接続またはターゲットデータベースエラーが含まれます。セッションでノーマ

ライザまたはシーケンスジェネレータトランスフォーメーションが使用されている場合、

Integration Serviceがリポジトリ内でシーケンス値を更新することができず、致命的なエ

ラーが発生します。

セッションでノーマライザまたはシーケンスジェネレータトランスフォーメーションが使

用されておらず、Integration Serviceでリポジトリとの接続が失われた場合、セッション

は停止しません。 セッションは完了しますが、Integration Serviceはセッション統計を

リポジトリに記録できません。

せッションは、Workflow Managerまたはpmcmdから停止できます。

セッションを、Workflow Managerから強制終了できます。 指定されたトランスフォーメー

ションエラーがIntegration Serviceによって検出された場合には、マッピングロジックで

ABORT関数を使用してセッションを強制終了させることもできます。

Integration Serviceによるセッションの失敗の処理

Integration Serviceでは、セッションが失敗した原因のエラーまたはイベントに応じて、

さまざまな方法でセッションエラーが処理されます。

以下の表に、セッションが失敗する際のIntegration Serviceの動作を示します。

セッションエラーの原

Integration Serviceの動作

- readerエラーによっ

てエラーのしきい値

に達した

- Workflow Managerま

たはpmcmdを使用した停止コマンド

Integration Serviceにより以下のタスクが実行され

ます。

- 読み込みを停止する。

- データ処理を継続する。

- ターゲットへのデータの書き込みおよびコミットを

継続する。

Integration Serviceによるセッションの失敗の処理 187

Page 207: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

セッションエラーの原

Integration Serviceの動作

Integration Serviceがデータの処理やコミットを完

了できない場合は、強制終了コマンドを発行してセッ

ションを停止する必要があります。

Workflow Managerを使

用した強制終了コマン

Integration Serviceにより以下のタスクが実行され

ます。

- 読み込みを停止する。

- データ処理を継続する。

- ターゲットへのデータの書き込みおよびコミットを

継続する。

Integration Serviceで60秒以内にデータの処理とコ

ミットを完了できない場合、Integration Serviceは

DTMプロセスを中止し、セッションを終了します。

- データベースからの

致命的なエラー

- writerエラーによっ

てエラーのしきい値

に達した

Integration Serviceにより以下のタスクが実行され

ます。

- 読み込みと書き込みを停止する。

- ターゲットデータベースに書き込んでないデータを

すべてロールバックする。

セッションが致命的なエラーのために停止した場合、

コミットまたはロールバックが成功する場合としない

場合があります。

- トランスフォーメー

ションエラーによっ

てエラーのしきい値

に達した

- ABORT( )

- トランザクション制

御式の無効な評価

Integration Serviceにより以下のタスクが実行され

ます。

- 読み込みを停止する。

- 行に強制終了行としてのフラグを設定し、データの

処理を継続する。

- 強制終了行に達するまで、ターゲットデータベース

への書き込みを継続する。

- コミットの間隔に基づいてコミットを発行する。

- ターゲットデータベースに書き込んでないデータを

すべてロールバックする。

ワークフローの停止または強制終了ワークフローの制御タスクを使用することにより、Integration Serviceによってワークフ

ローを停止または強制終了する時間と方法を指定できます。 ワークフローの開始後、

Workflow Monitorまたはpmcmdを使用してワークフローの停止または強制終了ができます。

停止または強制終了コマンドは、ワークフローの実行中のいつでも発行できます。

ワークフローを停止または強制終了するには、以下のいずれかの操作を行います。

¨ ワークフロー内で[Control]タスクを使用する。

¨ Workflow Monitorで停止または強制終了コマンドを発行する。

¨ pmcmdで停止または強制終了コマンドを発行する。

188 章 10: 停止と強制終了

Page 208: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

タスクの停止または強制終了

Workflow Monitorから、ワークフロー内のタスクを停止または強制終了することができま

す。タスクを停止または強制終了した場合、Integration Serviceはタスクの処理を停止し

ます。 停止または強制終了されたタスクのパス内にある他のタスクは、Integration

Serviceによって処理されません。 ワークフロー内の同時実行されるタスクの処理は、

Integration Serviceによって続行されます。 Integration Serviceがそのタスクを停止

できない場合は、タスクを強制終了できます。

タスクを強制終了した場合、Integration Serviceはタスク上のプロセスを中止します。

タスクを強制終了した場合、Integration Serviceによってワークフロー内の同時実行され

るタスクの処理が続行されます。

また、ワークレットを停止または強制終了することもできます。Integration Serviceでは

ワークレットの停止と強制終了が、タスクの停止と強制終了の場合と同様に行われます。

Integration Serviceは、ワークフロー内の同時実行されるタスクを実行する際に、ワーク

レットを停止します。 また、ワークレット内のタスクを停止または強制終了することもで

きます。

セッションタスクの停止または強制終了

停止コマンドを発行する際にIntegration Serviceがセッションタスクを実行していた場

合、Integration Serviceはデータの読み込みを停止します。 Integration Serviceによ

り、ターゲットへのデータの書き込みやコミットの処理は続行されます。Integration

Serviceがデータの処理やコミットを完了できない場合、強制終了コマンドを発行できま

す。

Integration Serviceでは、Integration Serviceに60秒のタイムアウト期間があること以

外は、セッションタスクの強制終了コマンドが停止コマンドのように処理されます。

Integration Serviceは、データ処理やコミットをタイムアウト期間内に完了できない場

合、DTMプロセスを中止し、セッションを終了します。

停止または強制終了の手順Workflow Monitorでは、タスク、ワークフロー、またはワークレットをいつでも停止また

は強制終了することができます。ワークフロー内のタスクを停止する場合、Integration

Serviceはそのタスクと、そのパスにある他のすべてのタスクの実行を停止します。同時実

行されるタスクの実行は、Integration Serviceによって続行されます。Integration

Serviceがタスクの処理を停止できない場合は、タスクを強制終了する必要があります。

Integration Serviceがタスクを強制終了する場合、Integration ServiceはDTMプロセス

を中止し、タスクを終了します。

リアルタイムセッションの動作は、リアルタイムソースによって異なります。

Workflow Monitorでワークフロー、タスク、またはワークレットを停止または強制終了す

るには:

1. ナビゲータ内で、停止または強制終了したいタスク、ワークフロー、またはワークレ

ットを選択します。

停止または強制終了の手順 189

Page 209: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

2. [タスク]-[停止]または[タスク]-[強制終了]をクリックします。

Workflow Monitorで、停止または強制終了コマンドのステータスがアウトプットウィ

ンドウに表示されます。

190 章 10: 停止と強制終了

Page 210: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

第 1 1 章

コンカレントワークフロー

この章では、以下の項目について説明します。

¨ コンカレントワークフローの概要, 191 ページ

¨ 一意のワークフローインスタンスの設定, 192 ページ

¨ 同一名のコンカレントワークフローの設定, 193 ページ

¨ パラメータおよび変数の使用, 194 ページ

¨ コンカレントワークフローの設定手順, 195 ページ

¨ コンカレントワークフローの開始および停止, 196 ページ

¨ コンカレントワークフローの監視, 198 ページ

¨ セッションログおよびワークフローログの表示, 199 ページ

¨ コンカレントワークフローに関するルールおよびガイドライン, 200 ページ

コンカレントワークフローの概要コンカレントワークフローとは、複数インスタンスとして並列実行できるワークフローの

ことです。ワークフローインスタンスとは、ワークフローの表現です。コンカレントワー

クフローの設定時には、ワークフローの単一インスタンスをIntegration Serviceが複数回

並列に実行できるようにするか、ワークフローの一意インスタンスを並列実行されるよう

に定義します。

コンカレントワークフローを設定するには、次のいずれかのワークフローオプションを使

用します。

¨ 同一インスタンス名を持つコンカレントワークフローの許可。 1つのワークフローイン

スタンスを複数回並列に実行されるように設定します。各インスタンスのソースパラメ

ータ、ターゲットパラメータ、および変数パラメータは同じです。Integration

Serviceは各インスタンスを実行IDで識別します。実行IDは、実行済みのワークフロー

インスタンスを特定する番号です。

¨ 一意のワークフローインスタンスの同時実行の設定。 各ワークフローインスタンスの

名前を定義して、インスタンスのワークフローパラメータファイルを設定します。パラ

メータファイル内には、さまざまなソース、ターゲット、および変数を定義することが

できます。

191

Page 211: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

コンカレントワークフローを実行した場合、各ワークフローのワークフロー名およびイン

スタンス名がWorkflow Monitorに表示されます。ワークフローに一意のインスタンス名が

付いていない場合、実行済みの各コンカレントワークフローの同じワークフロー名が

Workflow Monitorに表示されます。

Integration Serviceでは、インスタンス名、または実行IDとタイムスタンプのどちらかを

ワークフロー名およびセッションログ名に追加して、コンカレントワークフローの一意の

ログファイルが作成されます。

一意のワークフローインスタンスの設定ワークフローの複数インスタンスを設定して、各インスタンスを一度に並列実行すること

ができます。ワークフローインスタンスの設定時には、インスタンスの一意名を指定し、

インスタンスのワークフローパラメータファイルを設定します。

ワークフローインスタンスを、別のソースとターゲットを持つワークフローを実行するよ

うに設定します。たとえば、所属組織が3部門から売上データを受け取るとします。売上デ

ータを読み取ってデータベースに書み込むワークフローを作成します。そのワークフロー

に対して3つのインスタンスを設定します。各インスタンスには、処理対象の売上ファイル

を定義する別個のワークフローパラメータファイルがあります。ワークフローのインスタ

ンスはすべて並列実行できます。

ワークフローの開始時には、実行対象のインスタンスを選択することができます。コンカ

レントワークフローが一意のインスタンスで実行されるように設定されている場合、イン

スタンスを並列に実行することができます。1つのインスタンスを複数回並列に実行するに

は、ワークフローを同じインスタンス名で実行されるように設定します。

ワークフローインスタンスのインスタンス名によるリカバリ

Workflow Monitorまたはpmcmdからワークフローインスタンスをリカバリできます。ワーク

フローのリカバリを有効にすると、Integration Serviceでワークフロー実行IDがリカバリ

ストレージファイル名に追加されます。

コンカレントワークフローをリカバリする際には、リカバリ対象のインスタンスを識別し

てください。Workflow Monitorで、リカバリ対象のインスタンスを右クリックします。

pmcmdを使用してリカバリする際には、インスタンス名パラメータを入力します。

同一インスタンス名のコンカレントインスタンスの実行に関するルールおよびガイドライン

同一インスタンス名のコンカレントインスタンスを実行する際は、次の規則およびガイド

ラインに従ってください。

¨ Integration Serviceではコンカレントワークフロー実行間で変数が上書きされます。

¨ ワークフローはpmcmdから実行IDで強制終了できます。

¨ ワークフロータスクはpmcmdから実行IDで強制終了できます。

192 章 11: コンカレントワークフロー

Page 212: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

¨ Workflow Monitorではインスタンスごとの実行IDは表示されません。実行IDは、ワーク

フローログ、セッションログ、およびWorkflow Monitorの[Run Properties(実行プ

ロパティ)]パネルにが表示されます。

¨ 同一インスタンス名のコンカレントワークフローが実行される設定にした場合、ログフ

ァイル名には常にタイムスタンプが組み込まれます。

同一名のコンカレントワークフローの設定一意のインスタンス名を定義しなくても、ワークフローを並列に実行できます。同じワー

クフロー名のインスタンスを複数実行することができます。各ワークフローインスタンス

は、実行ID識別子番号(実行ID)でIntegration Serviceに判別されます。各ワークフロ

ー実行には、一意の実行IDが付けられます。Integration Serviceはワークフローログ名、

セッションログ名、リカバリファイル名などの一時ファイル名に実行IDを付加して、各ワ

ークフローごとに個別のファイルを作成します。

ワークフローをリアルタイムソース(たとえば、メッセージキューやWebサービス)から読

み出すときは、コンカレントワークフローを同じインスタンス名で実行します。たとえ

ば、複数のプロジェクトチームからのデータを管理するとします。ソースデータおよびタ

ーゲットを判別するメッセージキューからデータを読み込むワークフローを作成します。

インスタンスを複数回並列に実行して、別々の接続パラメータをメッセージキューからワ

ークフローインスタンスに渡すことができます。

コンカレントWebサービスワークフローの実行

Webサービスワークフローを実行すると、Integration Serviceで複数のワークフローイン

スタンスを実行するパフォーマンスが向上します。ワークフローをWebサービスとして実行

されるように設定するときは、ハブ上で実行されるワークフローインスタンスの数、およ

び新規ワークフローインスタンスの起動タイミングを設定します。

ワークフローをWebサービスとして有効にすると、Workflow Designerで同一ワークフロー

名のワークフローの並列実行が有効になります。Web Services Hubでは、Webサービス用に

設定された1ハブあたりの 大実行数、およびサービス時間プロパティに基づいて、Webサ

ービスの新規インスタンスの起動タイミングが決定されます。

Webサービスワークフローインスタンスは、Web Services Hubによって起動されたときに、

他のワークフローインスタンスと同じ名前が付けられます。

注: ワークフローをWebサービスとして有効にすると、Workflow Designerではデフォルト

で、ワークフローの並列実行が有効になります。

同一名のワークフローインスタンスの設定

同一インスタンス名のワークフローの並列実行を有効にした場合は、そのワークフロー用

にワークフローインスタンスおよびパラメータファイルも設定できます。各インスタンス

は並列して複数回起動することができます。

同一名のコンカレントワークフローの設定 193

Page 213: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

たとえば、ワークフローを定義して2つのインスタンスを作成しておくと、そのワークフロ

ーを開始して、両方のインスタンスを実行することができます。ワークフローを再度開始

して、同一インスタンスを並列に実行することができます。

並列実行されている4つのインスタンスは、Workflow Monitorのタスクビューに表示されま

す。

wf_sales [Instance1]wf_sales [Instance2]wf_sales [Instance1]wf_sales [Instance2]

同一名のワークフローインスタンスのリカバリ

ワークフローのリカバリを有効にすると、Integration Serviceでワークフローリカバリス

トレージファイルに実行IDが付加されます。Workflow Monitorまたはpmcmdで、同一名の

ワークフローをリカバリすることができます。

コンカレントワークフローのリカバリ時には、リカバリ対象のインスタンスを特定する必

要があります。Workflow Monitorで、リカバリ対象のインスタンスを右クリックします。

リカバリにpmcmdを使用するときは、実行IDパラメータを入力します。

注: ワークフローでリレーショナルターゲットが更新される場合、 終チェックポイント

からセッションをリカバリすることはできません。リカバリセッションは失敗し、エラー

メッセージが出力されます。

同一インスタンス名のコンカレントインスタンスの実行に関するルールおよびガイドライン

同一インスタンス名のコンカレントインスタンスを実行する際は、次の規則およびガイド

ラインに従ってください。

¨ Integration Serviceではコンカレントワークフロー実行間で変数が上書きされます。

¨ ワークフローはpmcmdから実行IDで強制終了できます。

¨ ワークフロータスクはpmcmdから実行IDで強制終了できます。

¨ Workflow Monitorではインスタンスごとの実行IDは表示されません。実行IDは、ワーク

フローログ、セッションログ、およびWorkflow Monitorの[Run Properties(実行プ

ロパティ)]パネルにが表示されます。

¨ 同一インスタンス名のコンカレントワークフローが実行される設定にした場合、ログフ

ァイル名には常にタイムスタンプが組み込まれます。

パラメータおよび変数の使用競合を防ぐには、ワークフローインスタンスごとにパラメータファイルを設定します。

194 章 11: コンカレントワークフロー

Page 214: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

以下の表に、コンカレントワークフローの設定パラメータのリストを一覧表示します。

パラメータタイプ パラメータ名

データベース接続 $DBConnectionName

ソースファイル $InputFileName

ターゲットファイル $OutputFileName

拒否ファイル $BadFileName

ルックアップファイル $LookupFileName

Integration Serviceでは、ワークフロー変数がワークフロー実行インスタンス名によって

持続されます。

実行インスタンス名または実行IDへのアクセス

一意のインスタンス名でワークフローを並列に実行するように設定した場合、Integration

Serviceではワークフロー実行インスタンスは実行インスタンス名で区別されます。各ワー

クフローインスタンスはワークフロー名と実行インスタンス名を組み合わせて定義される

ため、複数のワークフローに対して同一の実行インスタンス名を設定することができま

す。同一のインスタンス名でワークフローを並列に実行するように設定した場合、

Integration Serviceではワークフロー実行インスタンスは実行IDで区別されます。

組み込みの変数$PMWorkflowRunInstanceNameおよび$PMWorkflowRunIdによって、ワークフ

ロー実行インスタンス名および実行IDが文字列値として返されます。これらの変数は読み

取り専用です。ワークフローまたはマッピングでこれらの変数にアクセスして、ワークフ

ローインスタンスの名前または実行IDを取得できます。これらの変数は、式、ファイル監

視イベント、またはデータに適用できます。また、これらの変数を使用して、一意のファ

イル名を設定することもできます。

例えば、事前定義済み[イベント待ち]タスクを作成して、インジケータファイルが表示

された後に削除するとします。$PMWorkflowRunInstanceNameを使用して、ファイル名を定

義します。一意のインスタンス名の付いた2つのコンカレントワークフローを実行すると、

各ワークフロー[イベント待ち]タスクは別個のインジケータファイルを待って削除しま

す。

注: 並列実行が有効化されていないワークフローを実行した場合、

$PMWorkflowRunInstanceNameには値が代入されません。

コンカレントワークフローの設定手順ワークフローの作成時、または編集時には、ワークフローの並列実行を有効にすることが

できます。

コンカレントワークフローの設定手順 195

Page 215: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

ワークフローの並列実行を有効にするには:

1. Workflow Managerで、ワークフローを開きます。

2. ワークフローの[全般]タブで、並列実行を有効にします。

同一インスタンス名のワークフローの並列実行が有効になります。

3. いくつかのインスタンス名を設定するには、[並列実行の設定]をクリックします。

[並列実行の設定]ダイアログボックスが表示されます。

4. 次のいずれかのオプションを選択します。

¨ 一意のインスタンス名を持つもののみ同時実行を許可。インスタンス名が一意であ

る場合、Integration Serviceではコンカレントワークフローを実行できます。

¨ 同一インスタンス名を持つものの同時実行を許可。Integration Serviceでは、同

じ名前を持つコンカレントワークフローを実行できます。

5. 必要に応じて、[追加]ボタンをクリックして、ワークフローインスタンスの名前を

追加します。

ワークフローインスタンスの名前では、大文字と小文字は区別されません。インスタ

ンス名の文字がWorkflow Designerによって検査されます。インスタンス名に使用で

きない特殊文字は、次のとおりです。

$ . + - = ~ ` ! % ^ & * () [] {} ' \ " ; : / ? , < > \\ | \t \r \n

6. 必要に応じて、インスタンス用ワークフローパラメータファイルへのパスを入力しま

す。ワークフローインスタンスごとに異なるソース、ターゲット、または変数を使用

するには、インスタンスごとにパラメータファイルを設定します。

7. [OK]をクリックします。

コンカレントワークフローの開始および停止コンカレントワークフローは、Workflow DesignerまたはWorkflow Monitorで開始するこ

とができます。ワークフローはpmcmdから開始することもできます。一意のワークフローイ

ンスタンスを実行するには、ワークフローの開始時に、実行するインスタンスを選択しま

す。

Workflow Designerからのワークフローインスタンスの開始

実行するワークフローインスタンスは、Workflow Designerからワークフローを開始する際

に選択することができます。定義済みインスタンスが1つ以上あるワークフローを開始する

には、次の手順に従います。

Workflow Designerからワークフローインスタンスを起動するには:

1. ワークフローが格納されているフォルダを開きます。

2. ナビゲータで、開始するワークフローを選択します。

3. ワークフローを右クリックし、[Workflow Advancedの開始]を選択します。

196 章 11: コンカレントワークフロー

Page 216: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

4. 起動するワークフロー実行インスタンスを選択します。デフォルトでは、すべてのイ

ンスタンスが選択されています。ワークフローインスタンスをすべてクリアしてか

ら、起動するインスタンスを選択することができます。

5. [OK]をクリックして、ワークフローインスタンスを起動します。

Workflow Monitorに各コンカレントワークフロー名およびインスタンス名が表示されま

す。

単一のコンカレントワークフローの開始

コンカレントワークフローに一意のインスタンス名が付いていない場合、またはユーザー

が設定済みインスタンスの実行を望まない場合は、ワークフローの開始にWorkflow

Designerを使用することができます。[ワークフローの開始]オプションを使用してワー

クフローを開始した場合、Integration Serviceでのワークフロー実行には、[プロパテ

ィ]タブおよび[変数]タブで定義された属性および変数が使用されます。設定済みワー

クフローインスタンスはいっさいIntegration Serviceで実行されません。

1つのコンカレントワークフローインスタンスを起動するには:

1. ワークフローが格納されているフォルダを開きます。

2. ナビゲータで、開始するワークフローを選択します。

3. ナビゲータ内でワークフローを右クリックし、[ワークフローの開始]を選択しま

す。

[プロパティ]タブおよび[変数]タブから参照された属性を使用して、1つのワーク

フローインスタンスが実行されます。

コマンドラインからのコンカレントワークフローの開始

コマンドラインからは一度に1つのワークフローインスタンスを起動できます。pmcmd

startworkflowコマンドには、インスタンス名を指定するパラメータがあります。コマンド

ラインからワークフローを開始してインスタンス名パラメータを入力すると、Integration

Serviceによってワークフローのインスタンスが起動されます。複数のワークフローインス

タンスを実行するには、pmcmd startworkflowコマンドを複数回実行します。

startworkflowにインスタンス名パラメータを入力しないと、Integration Serviceでのワ

ークフロー実行に属性および変数が使用されます。設定済みワークフローインスタンスは

いっさいIntegration Serviceで実行されません。

コマンドラインからのワークフローインスタンスの作成

pmcmdを使用してワークフローを開始する場合、インスタンスを動的に作成できます。イン

スタンス名およびパラメータファイル名を入力します。インスタンス名が設定されていな

い場合、インスタンスはIntegration Serviceで生成されます。リポジトリ内のインスタン

スの変数はIntegration Serviceによる永続化が可能ですが、そのインスタンスは[並列実

行の設定]ダイアログボックスには表示されません。

コンカレントワークフローの開始および停止 197

Page 217: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

コンカレントワークフローの停止または強制終了

コンカレントワークフローは、Workflow Monitorまたはpmcmdから停止または強制終了する

ことができます。ワークフローをWorkflow Monitorから停止または強制終了するには、ナ

ビゲータでワークフローを右クリックして、[停止]または[強制終了]を選択します。

Workflow Monitorで、停止または強制終了コマンドのステータスがアウトプットウィンド

ウに表示されます。

コンカレントワークフローをpmcmdから停止または強制終了するには、コマンドラインでイ

ンスタンス名またはワークフロー実行IDパラメータを入力して、ワークフローインスタン

スを指定します。コンカレントワークフロー内のタスクを停止または強制終了するには、

ワークフローインスタンスの名前、または停止するタスクを含むコンカレントワークフロ

ーの実行IDを入力します。コンカレントワークフローに一意のインスタンス名が付いてい

ない場合は、ワークフローログまたはWorkflow Monitorのワークフロー実行プロパティに

ワークフロー実行IDを調べることができます。

コンカレントワークフローの監視コンカレントワークフローを実行すると、実行された各ワークフローのワークフロー名が

Workflow Monitorに表示されます。ワークフローに一意のインスタンス名が付いている場

合、Workflow Monitorにインスタンス名がワークフロー名付きで表示されます。

以下の図に、Workflow Monitorのタスクビューに表示されるコンカレントワークフロー名

およびインスタンス名を示します。

ガントチャートビューでコンカレントワークフローを表示した場合、Workflow Monitorに

ワークフローの名前またはワークフローインスタンスの名前ごとに1つのタイムラインが表

示されます。ワークフローに一意のインスタンス名(RunInstance1、RunInstance2など)

が付いている場合、ワークフロー実行ごとのインスタンス名がWorkflow Monitorに表示さ

れます。 タイムウィンドウをスクロールして、特定のワークフロー実行の情報を表示する

ことができます。

198 章 11: コンカレントワークフロー

Page 218: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

セッションログおよびワークフローログの表示

Integration Serviceでは設定された同時実行に基づいて、コンカレントワークフローセッ

ションおよびワークフローログファイルに名前が付けられます。

¨ 一意のインスタンス名。Integration Serviceによって、ログファイル名にインスタン

ス名が追加されます。

¨ 同一名のインスタンス。Integration Serviceにより、ログファイル名に実行IDおよび

タイムスタンプが追加されます。

ワークフローログには実行IDおよびワークフロータイプが書き込まれます。ワークフロー

タイプは、ワークフローがコンカレントワークフローであるかどうかを示します。

以下に例を示します。

Workflow SALES_REV started with run id [108], run instance name [WF_CONCURRENT_SALES1], run type [Concurrent Run with Unique Instance Name].

各セッションログには、ワークフロー実行IDおよびインスタンス名を示すエントリも含ま

れます。

Workflow: [SALES_REV] Run Instance Name: [WF_CONCURRENT_SALES1] Run Id: [108]

注: エラー重要度レベルを警告にしたときにすべてのワークフローログメッセージが表示

されない場合は、ワークフローログのエラー重要度レベルを変更してください。

PowerCenter Integration Serviceプロセスの詳細プロパティで、ログレベルを警告から

情報に変更します。

一意のワークフローインスタンス用のログファイル

一意のインスタンス名のワークフローを並列実行するように設定しておくと、Integration

Serviceによってインスタンスごとにログが作成されます。各ログファイル名には、インス

タンス名が組み込まれます。

<workflow_name>.<workflow_instance_name><session_name>.<workflow_instance_name>

たとえば、ワークフローログファイル名がwf_store_sales.log、インスタンス名が

store1_workflowの場合、Integration Serviceでバイナリワークフローログファイルおよ

びテキストワークフローログファイル用に作成されるログファイル名は、次のようになり

ます。

wf_store_sales.log.store1_workflow.binwf_store_sales.log.store1_workflow

ログファイルの上書きを回避するために、ログファイルをアーカイブするか、またはログ

ファイルをタイムスタンプで保存することができます。

セッションログおよびワークフローログの表示 199

Page 219: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

同一名のワークフローインスタンス用のログファイル

ワークフローを同一インスタンス名で同時に実行するように設定した場合、Integration

Serviceによってインスタンスごとにログファイルが作成されます。各ログファイル名には

デフォルトで、実行IDおよびタイムスタンプが組み込まれます。

<workflow_name>.<runID>.<timestamp><session_name>.<run ID>.<timestamp>

例えば、ワークフローログファイル名がwf_store_sales.log、実行IDが845で、2007年7月

12日11:20:45にワークフローが実行された場合、Integration Serviceでバイナリワーク

フローログファイルおよびテキストワークフローログファイル用に作成されるログファイ

ル名は、次のようになります。

wf_store_sales.log.845.20070712112045.binwf_store_sales.log.845.20070712112045

ワークフローを同一インスタンス名で並列実行されるように設定してインスタンス名を定

義すると、Integration Serviceによってログファイル名にインスタンス名およびタイムス

タンプが付加されます。以下に例を示します。

<workflow_name>.<instance_name>.<run ID>.20070712112045.bin<session_name>.<instance_name>.<run ID>.20070712112045.bin

Integration Serviceでは、インスタンス名および実行IDがワークフローログに書き込まれ

ます。以下に例を示します。

Workflow wf_Stores started with run ID[86034], run instance name[Store1_workflow]

コンカレントワークフローに関するルールおよびガイドライン

コンカレントワークフローに使用される規則およびガイドラインは、次のとおりです。

¨ パラメータファイル内のワークフロー実行インスタンスは、参照することができませ

ん。インスタンスごとに別々のパラメータを使用するには、個別のパラメータファイル

を設定する必要があります。

¨ 複数のコンカレントワークフローインスタンスに対して同じキャッシュファイル名を使

用しても、各ワークフローインスタンスは有効です。ただし、キャッシュへの書き込み

中に競合が発生した場合は、セッションが失敗します。

¨ コンカレントワークフローを実行IDまたはインスタンス名でリスタートするには、

pmcmdを使用します。

¨ ワークフローの複数インスタンスを設定して、ワークフローをスケジュールしておく

と、スケジュールされた時刻にすべてのインスタンスがIntegration Serviceによって

実行されます。インスタンスをそれぞれ別個のスケジュールで実行することはできませ

ん。

¨ ワークレットの[全般]タブでは、ワークレットを並列に実行するように設定します。

¨ 親ワークフローの並列実行を有効にした場合は、ワークレットの並列実行を有効にする

必要があります。そうしないと、ワークフローは無効です。

200 章 11: コンカレントワークフロー

Page 220: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

¨ ワークレットの並列実行を有効にして、そのワークレットを2つの非コンカレントワー

クフロー内に配置することができます。Integration Serviceでは2つのワークレットを

並列実行できます。

¨ 並列実行が有効化された2つのワークフローは、同一のワークレットを実行できます。

同一ワークレット(ただし、そのワークレットに永続化された変数がない場合)の2つ

のインスタンスは、1つのワークフローで実行できます。

¨ ワークレット内のセッションは、同一インスタンス名の別のワークレット内のセッショ

ン(ただし、そのセッションに永続化された変数が含まれていない場合)と並列実行で

きます。

コンカレントワークフローに関する制約のあるトランスフォーメーションは、次のとおり

です。

¨ アグリゲータトランスフォーメーション。コンカレントワークフローには、差分集計を

使用できません。 セッションが失敗します。

¨ ルックアップトランスフォーメーション。 コンカレントワークフローのルックアップ

トランスフォーメーションには、以下の規則およびガイドラインが使用されます。

-コンカレントワークフローに対して、静的または動的なルックアップキャッシュを使

用できます。

-キャッシュが非永続的な場合、Integration Serviceによって、ワークフロー実行ID

が接頭語としてキャッシュファイル名に追加されます。

-キャッシュが名前のない永続キャッシュの場合、Integration Serviceによって、実

行インスタンス名が接頭語としてキャッシュファイル名に追加されます。

-キャッシュが動的で名前がない永続キャッシュであり、現在のワークフローが同一イ

ンスタンス名による同時実行を許可するように設定されている場合、セッションは失

敗します。

-ルックアップキャッシュ名がパラメータ化されている場合、Integration Serviceに

よって、キャッシュファイルにパラメータ値に基づいた名前が付けられます。実行イ

ンスタンスごとに異なるファイル名を渡します。

¨ シーケンスジェネレータトランスフォーメーション。コンカレントワークフロー用に同

一シーケンス番号のセットが生成されるのを回避するには、シーケンスジェネレータト

ランスフォーメーション内のキャッシュ値の数を設定します。

コンカレントワークフローに関するルールおよびガイドライン 201

Page 221: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

第 1 2 章

グリッド処理

この章では、以下の項目について説明します。

¨ グリッド処理の概要, 202 ページ

¨ グリッド上でのワークフローの実行, 203 ページ

¨ グリッド上でのセッションの実行, 203 ページ

¨ パーティショングループに関する作業, 204 ページ

¨ グリッドの接続とリカバリ, 205 ページ

¨ グリッド上で実行するためのワークフローまたはセッションの設定, 206 ページ

グリッド処理の概要PowerCenterドメインに複数のノードが含まれている場合、グリッド上で実行するようにワ

ークフローとセッションを設定できます。グリッド上でワークフローを実行する場合、

Integration Serviceによりグリッドの各使用可能なノードでサービスプロセスが実行さ

れ、パフォーマンスと拡張性が向上します。 グリッド上でセッションを実行する場合、

Integration Serviceによりグリッド内の各ノード上で複数のDTMプロセスにセッションス

レッドが分散され、パフォーマンスと拡張性が向上します。

Administratorツールで、グリッドの作成とIntegration Serviceの設定を行います。 グ

リッド上でワークフローを実行するには、グリッドと関連付けられたIntegration Service

で実行するようにワークフローを設定します。グリッド上でセッションを実行するには、

グリッド上で実行するようにセッションを設定します。

Integration Serviceにより、実行するためのワークフローまたはセッションの、以下の設

定方法に基づいて、ワークフロータスクとセッションスレッドが分散されます。

¨ グリッド上でのワークフローの実行。 Integration Serviceでは、グリッド内のノード

全体にワークフローが分散します。 また、グリッド内のノード全体にワークフロー内

でセッション、コマンド、および定義済みイベント待ちタスクも分散します。

¨ グリッド上でのセッションの実行。 Integration Serviceでは、グリッド内のノード全

体にセッションスレッドが分散します。

注: グリッド上でワークフローを実行するには、[サーバーグリッド]オプションを使用

している必要があります。グリッド上でワークフローを実行するには、[サーバーグリッ

ド]オプションを使用している必要があります。

202

Page 222: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

グリッド上でのワークフローの実行グリッド上でワークフローを実行する場合、マスタサービスプロセスによって、他のノー

ドに分散されるセッションタスク、コマンドタスク、および定義済みイベント待ちタスク

以外のワークフローおよびすべてのタスクが実行されます。マスタサービスプロセスは、

ワークフローが実行されるIntegration Serviceプロセスであり、他のノードで実行されて

いるサービスプロセスを監視し、ロードバランサを実行します。 スケジューラはマスター

サービスプロセスノード上で実行されるので、マスタサービスプロセスノードのために日

付および時間が使用され、スケジュール設定されたワークフローが開始されます。

ロードバランサは、グリッド内のノードにセッションタスク、コマンドタスク、および定

義済みイベント待ちタスクをディスパッチするIntegration Serviceのコンポーネントで

す。 ロードバランサでは、ノードの可用性に基づいてタスクが分散します。 Integration

Serviceがリソースをチェックするように設定されている場合、ロードバランサではリソー

スの可用性に基づいても各タスクが分散します。

例えば、ワークフローに[セッション]タスク、[ディシジョン]タスク、および[コマ

ンド]タスクが含まれているとします。[セッション]タスクのリソース要件を指定しま

す。グリッドにはノードが4つ含まれており、ノード4は使用できないとします。マスタサ

ービスプロセスは、[スタート]タスクと[ディシジョン]タスクを実行します。ロード

バランサは、リソースの可用性とノードの可用性に基づいて、グリッド上の各ノードに

[セッション]タスクと[コマンド]タスクを分散します。

グリッド上でのセッションの実行グリッド上でセッションを実行する場合、マスタサービスプロセスによって、グリッド上

でワークフローを実行する場合に行われるように、他のノードに分散されるセッションタ

スク、コマンドタスク、および定義済みイベント待ちタスク以外のワークフローおよびす

べてのタスクが実行されます。スケジューラはマスターサービスプロセスノード上で実行

されるので、マスタサービスプロセスノードのために日付および時間が使用され、スケジ

ュール設定されたワークフローが開始されます。さらに、ロードバランサは、異なるノー

ドで実行されているDTMプロセスにセッションスレッドを分散します。

グリッド上でセッションを実行する場合、ロードバランサにより以下の要素に基づいてセ

ッションスレッドが分散されます。

¨ ノードの可用性。 ロードバランサによって、タスクのディスパッチに対して現在どの

ノードが実行され、有効であり、使用可能であるかが確認されます。

¨ リソースの可用性。 Integration Serviceがリソースをチェックするように設定されて

いる場合、セッションでマッピングオブジェクトに必要なリソースを持つノードが特定

されます。

¨ パーティション化の設定。ロードバランサにより、パーティション化の設定に基づい

て、別々のノードにセッションスレッドのグループがディスパッチされます。

ワークフローに、実行に時間がかかるセッションが含まれている場合、グリッド上で実行

するようにセッションを設定した方がよいことがあります。

たとえば、ワークフローに、パーティションが1つ設定されたセッションが含まれていると

します。負荷を分散するには、グリッド上で実行するようにセッションを設定し、リソー

グリッド上でのワークフローの実行 203

Page 223: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

スをチェックするようにIntegration Serviceを設定します。 ロードバランサでは、

reader、writer、およびトランスフォーメーションのスレッドが、グリッド内の各ノード

で実行されるDTMプロセスに分散します。 readerスレッドにはリソースが必要であるた

め、ロードバランサにより、リソースが使用可能なノード上のDTMプロセスにこれらのスレ

ッドが分散されます。

パーティショングループに関する作業グリッド上でセッションを実行すると、Data Transformation Manager(DTM)プロセスに

より、パーティショングループと呼ばれるセッションスレッドのグループが形成されま

す。パーティショングループとは、単一のDTMプロセスで実行されるreader、writer、また

はトランスフォーメーションの各スレッドのグループを指します。パーティショングルー

プには、1つ以上のパイプラインステージが含まれています。パイプラインステージとは、

任意の2つのパーティションポイント間で実行されるパイプラインの一区間です。トランス

フォーメーションの中には、グリッドを越えてパーティションできないものがあります。

グリッドを越えてトランスフォーメーションをパーティションできない場合、DTMは、トラ

ンスフォーメーションスレッドに単一のパーティショングループを作成して、単一のノー

ドでこれらのスレッドを実行します。

リソース要件を使用しないパーティショングループの作成

セッションで複数のパーティションが使用される場合、DTMは、パーティション化の設定に

基づいてパーティショングループを作成します。例えば、1つのセッションで2つのパーテ

ィションが設定されているとします。DTMは、パーティションごとにスレッドのパーティシ

ョングループを作成します。また、ロードバランサは、2つのノードにグループを分散しま

す。

リソース要件を使用するパーティショングループの形成

マッピングオブジェクトにリソース要件を指定する場合、DTMプロセスは、特定のノードで

使用できるリソースに基づいてパーティショングループを作成します。たとえば、特定の

ノードで、セッションのソースファイルを使用でき、ソース修飾子トランスフォーメーシ

ョンにリソース要件が指定されている場合、DTMプロセスは、この要件に基づいてパーティ

ショングループを形成します。

ソース修飾子トランスフォーメーションのリソース要件を満たすために、DTMプロセスは、

readerスレッドからパーティショングループを作成します。ロードバランサは、リソース

を使用できるノードにreaderスレッドを分散させます。

注: ロードバランサによって、必須リソースの使用可能なノードで、スレッドが分散され

るようにするには、Integration Serviceがリソースをチェックするように設定する必要が

あります。

204 章 12: グリッド処理

Page 224: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

パーティショングループの作成に関するルールおよびガイドライン

Integration Serviceによって、以下のルールとガイドラインが使用されパーティショング

ループが作成されます。

¨ Integration Serviceによって、パーティショングループの数は、グリッド内のノード

の数に制限されます。

¨ トランスフォーメーションをローカル形式でパーティションできる場合、DTMプロセス

は、トランスフォーメーションスレッドのパーティショングループを1つ形成して、1つ

のDTMプロセスでそのグループを実行します。以下の各トランスフォーメーションはロ

ーカル形式でパーティションされます。

-ローカル形式でパーティションするよう設定されたカスタムトランスフォーメーショ

-エクスターナルプロシージャトランスフォーメーション

-キャッシュされたルックアップトランスフォーメーション

-未ソートジョイナトランスフォーメーション

-ローカル形式でパーティションするよう設定されたSDK ReaderまたはWriterトランス

フォーメーション

キャッシュに関する作業

Integration Serviceによって、アグリゲータ、ランク、ジョイナ、ソータ、およびルック

アップの各トランスフォーメーションにインデックスとデータキャッシュが作成されま

す。 セッションに複数のパーティションが含まれている場合、トランスフォーメーション

スレッドを、グリッド内の複数のノードに分散できます。これらのトランスフォーメーシ

ョンスレッドに単一のデータキャッシュとインデックスキャッシュを作成するには、ルー

トディレクトリとキャッシュディレクトリが、グリッド内のノードすべてで同じディレク

トリを指していることを確認します。

Integration Serviceによって、共有ディレクトリにルックアップトランスフォーメーショ

ンのキャッシュが作成される場合、 初のパーティショングループにキャッシュが構築さ

れます。そして、後続のパーティショングループによってこのキャッシュが使用されま

す。 ルックアップトランスフォーメーションキャッシュファイルに共有ディレクトリを設

定しないと、個別のノード上にある各サービスプロセスは、データベースまたはソースフ

ァイルからデータをフェッチしてキャッシュを作成します。ソースデータが頻繁に変更さ

れる場合、個別のノードで作成された各キャッシュが矛盾することがあります。

関連項目:

¨ 「セッションのキャッシュ」 (312ページの)

グリッドの接続とリカバリグリッド上でワークフローまたはセッションを実行する場合、サービスプロセスとDTMプロ

セスは、異なるノード上で実行されます。ネットワーク障害が発生すると、個別のノード

グリッドの接続とリカバリ 205

Page 225: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

上で実行されている各プロセス間の接続が失われることがあります。サービスが予期せず

シャットダウンすることがあります。あるいは、ワークフローまたはセッションの実行中

にIntegration Serviceまたはサービスプロセスを無効にできます。これらの状況での

Integration Serviceのフェイルオーバーおよびリカバリの動作は、サービスプロセスが無

効にされたか、シャットダウンしたか、接続が失われたかによって異なります。 リカバリ

動作は、以下の要素によっても異なります。

¨ 高可用性オプション。 高可用性を使用している場合、ノードまたはサービスがシャッ

トダウンすると、ワークフローは別のノードにフェイルオーバーされます。高可用性を

使用していない場合、別のノードでワークフローを手動で再起動すればリカバリできま

す。

¨ リカバリ戦略。 エラー発生時にサスペンド状態にするようにワークフローを設定でき

ます。ワークフロー内のタスクにリカバリ戦略を設定できます。ワークフローが一時停

止する場合、リカバリ動作は、ワークフロー内のタスクごとに設定したリカバリ戦略に

よって異なります。

¨ シャットダウンモード。 Integration Serviceまたはサービスプロセスを無効にした場

合、サービスが、サービス上で実行されるプロセスを完了、強制終了、または停止する

ように指定できます。 Integration Serviceを無効にするか、サービスプロセスを無効

にするかで、動作が異なります。また、マスタサービスプロセスを無効にするか、

Worker Serviceプロセスを無効にするかでも動作が異なります。Integration Service

またはサービスプロセスも、予期せずシャットダウンすることがあります。この場合、

フェイルオーバーとリカバリ動作は、シャットダウンするサービスプロセスと設定済み

リカバリ戦略により異なります。

¨ 実行モード。 グリッド上でワークフローが実行される場合、Integration Serviceは、

別のノード上でワークフローとタスクがリカバリできます。 グリッド上でセッション

が実行される場合、再開リカバリ戦略を設定できません。

¨ 操作モード。Integration Serviceがセーフモードで実行されている場合、セッション

およびワークフローでリカバリは無効になっています。

注: Integration Serviceがグリッド内で実行されている場合は、セーフモードでフェイ

ルオーバーするように設定することはできません。

グリッド上で実行するためのワークフローまたはセッションの設定

グリッド上でセッションまたはワークフローを実行する前に、グリッドを複数のノードに

割り当て、Integration Serviceはグリッド上で実行するように設定する必要があります。

Administratorツールで、グリッドの作成とIntegration Serviceの割り当てを行います。

ドメイン管理者でこれらの設定を確認することが必要になる場合があります。

グリッド上でワークフローまたはセッションを実行するには、以下のプロパティおよび設

定を使用します。

¨ ワークフロープロパティ。 ワークフロープロパティの[全般]タブで、ワークフロー

を実行するIntegration Serviceを割り当てます。 グリッド上で実行するように

Integration Serviceが設定されていることを確認します。

206 章 12: グリッド処理

Page 226: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

¨ セッションプロパティ。 グリッド上でセッションを実行するには、セッションプロパ

ティの[設定オブジェクト]タブで、グリッド上でセッションを実行できるようにしま

す。

¨ リソース要件。 セッション、コマンド、定義済みイベント待ちタスクの[全般]タブ

で、リソース要件を設定します。

グリッド上で実行するためのワークフローまたはセッションの設定に関するルールおよびガイドライン

グリッドで実行するようにセッションまたはワークフローを設定する際には、以下のルー

ルおよびガイドラインを使用します。

¨ グリッドでセッションを実行するには、オペレーティングシステムとビットモードがグ

リッドの各ノードで同一であることを確認します。 ノードが異なるオペレーティング

システムまたはビットモードで動作している場合、セッションはそのグリッドで実行で

きない場合があります。

¨ サービスプロセス変数をオーバーライドする場合には、Integration Serviceが、入力

ファイル、キャッシュ、ログ、ストレージ、および一時ディレクトリ、およびソースと

ターゲットファイルディレクトリにアクセスできることを確認します。

¨ セッション、コマンド、定義済みイベント待ちタスクが特定のノードで実行することを

確認するには、Integration Serviceがリソースをチェックしてタスクにリソース要件

を指定するように設定します。

¨ マッピングオブジェクトのセッションスレッドが特定のノードで実行することを確認す

るには、Integration Serviceがリソースをチェックしてそのオブジェクトにリソース

要件を指定するように設定します。

¨ キャッシュファイルを作成するセッションを実行する場合、共有場所を使用するように

ルートディレクトリとキャッシュディレクトリを設定して、キャッシュファイル間での

一貫性を確認します。

¨ ジョイナトランスフォーメーションでパーティションポイントを追加し、このトランス

フォーメーションが1:nのパーティション化として設定されている場合、Integration

Serviceが、共有場所内にキャッシュを構築することを確認します。 明細パイプライン

用のキャッシュを共有する必要があります。

¨ ルックアップトランスフォーメーションでパーティションポイントを追加し、パーティ

ションタイプがハッシュ自動キーでない場合、Integration Serviceが、共有場所内に

キャッシュを構築することを確認します。

¨ 動的パーティションを使用するセッションを実行して、グリッド内のノード全体にセッ

ションスレッドを分散する場合は、セッション用に動的パーティション化を設定して

「グリッドのノード数に基づく」方法を使用します。

¨ デバッグセッションはグリッド上で実行できません。

¨ グリッド上で実行するセッションでは、レジュームリカバリ戦略を設定できません。

¨ 実行に時間がかかるセッションを使用する場合、グリッド上で実行するようにセッショ

ンを設定します。

¨ 複数のコンカレントセッションを使用している場合、グリッド上で実行するようにワー

クフローを設定します。

グリッド上で実行するためのワークフローまたはセッションの設定 207

Page 227: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

¨ グリッド上で永続プロファイルセッションを実行できますが、グリッド上で一時プロフ

ァイルセッションを実行することはできません。

¨ シーケンスジェネレータトランスフォーメーションを使用する場合、キャッシュされる

値の数を増加して、マスタおよびワーカDTMプロセスとリポジトリ間で必要な通信の回

数を減らします。

¨ グリッド上でワークフローまたはセッションを実行する場合にログビューアが必ずログ

イベントを正確に順序付けることができるように、時間同期化ソフトウェアを使用し

て、グリッドのノードが確実に同期化された日時を使用するようにします。

¨ Windows環境でワークフローが[E-Mail]タスクを使用する場合、[E-Mail]タスクを

確実に実行できるように、各ノードで同じMicrosoft Outlookプロファイルを設定しま

す。

208 章 12: グリッド処理

Page 228: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

第 1 3 章

ロードバランサ

この章では、以下の項目について説明します。

¨ ロードバランサの概要, 209 ページ

¨ ワークフローへのサービスレベルの割り当て, 210 ページ

¨ タスクへのリソースの割り当て, 210 ページ

ロードバランサの概要ロードバランサによって、ノード上で実行されているIntegration Serviceプロセスにタス

クがディスパッチされます。 ワークフローを実行する場合、ロードバランサによって、ワ

ークフロー内のセッション、コマンド、定義済みイベント待ちタスクがディスパッチされ

ます。 Integration Serviceがリソースをチェックするように設定されている場合、ロー

ドバランサによって、タスク要件とリソース可用性が一致し、タスクを実行するのに 適

なノードが特定されます。 単一のノードまたは複数ノード全体にタスクをディスパッチす

る場合があります。

タスクを実行できるノードを特定するために、ロードバランサではタスクが必要とするリ

ソースを各ノードで使用可能なリソースと一致させます。 ロードバランサにより、タスク

を受け取った順序でタスクがディスパッチされます。ディスパッチするセッションタスク

およびコマンドタスクの数が、Integration Serviceがその時点で実行できる数を超えてい

る場合、ロードバランサはそのタスクをディスパッチキューに入れます。 ノードが利用可

能になったとき、キューから待機しているタスクは、ロードバランサにより、ワークフロ

ーのサービスレベルによって決定される順序でディスパッチされます。

Workflow Managerを使用して、リソースおよびサービスレベルを割り当てます。以下のタ

スクを実行できます。

¨ サービスレベルの割り当て。ワークフローにサービスレベルを割り当てます。 サービ

スレベルでは、ディスパッチを待機しているワークフロータスク間の優先度が設定され

ます。

¨ リソースの割り当て。タスクにリソースを割り当てます。 セッション、コマンド、お

よび定義済みのイベント待ちの各タスクは、成功させるためにPowerCenterリソースを

必要とします。 Integration Serviceがリソースをチェックするように設定されている

場合、ロードバランサではリソースが利用可能になっているノードにタスクをディスパ

ッチします。

209

Page 229: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

ワークフローへのサービスレベルの割り当てサービスレベルによって、ロードバランサがディスパッチキューからタスクをディスパッ

チする順序が決定します。 複数のタスクがディスパッチを待機している場合、ロードバラ

ンサによって、優先度の高いタスクの後に優先度の低いタスクがディスパッチされます。

Administratorツールでサービスレベルを作成し、ディスパッチ優先度を設定します。

ワークフロープロパティの[全般]タブで、サービスレベルをワークフローに割り当てま

す。

タスクへのリソースの割り当てPowerCenterリソースとは、タスクを成功させるためにタスクが必要とするデータベース接

続、ファイル、ディレクトリ、ノード名、およびオペレーティングシステムのタイプのこ

とです。 ロードバランサでは、リソースを使用しタスクをディスパッチできます。

Integration Serviceが、グリッド上で実行するように設定されていない場合、またはリソ

ースをチェックするように設定されていない場合、リソース要件はロードバランサに無視

されます。 そのノード上で実行されているマスタIntegration Serviceプロセスにすべて

のタスクがディスパッチされます。

Integration Serviceがグリッド上で実行されている場合、およびリソースをチェックする

ように設定されている場合、ロードバランサではリソースを使用しタスクをディスパッチ

します。 Integration Serviceではワークフローのタスクが必要とするリソースをグリッ

ド内の各ノードで使用できるリソースと一致させ、どのノードがタスクを実行できるか判

断します。 ロードバランサによって、セッション、コマンド、および定義済みのイベント

待ちの各タスクが、使用可能なリソースを持つノードに分散されます。 例えば、セッショ

ンにより予約語ファイルのファイルリソースが必要な場合、ロードバランサによって、こ

のセッションが、このファイルにアクセスできるノードにディスパッチされます。 必須リ

ソースが利用可能のノードをIntegration Serviceが特定できない場合、タスクは失敗しま

す。

Administratorツールでは、各ノードで使用可能なリソースを定義します。 リソースに

は、定義済みリソースとユーザー定義リソースがあります。定義済みリソースには、ノー

ドで使用できる接続、ノード名、およびオペレーティングシステムのタイプが含まれてい

ます。ユーザー定義リソースには、ファイル/ディレクトリリソースおよびカスタムリソー

スが含まれています。

タスクのプロパティでは、PowerCenterリソースを、これらのリソースを必要とする再利用

不可能なタスクに割り当てます。 再利用可能なタスクにリソースを割り当てることはでき

ません。

210 章 13: ロードバランサ

Page 230: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

以下の表に、リソースタイプと、リソースタイプに割り当て可能なリポジトリオブジェク

トを一覧表示します。

リソース

タイプ

定義済み/

ユーザー

定義

リソースを使用するリポジトリオブジェクト

カスタム ユーザー

定義

[セッション]、[コマンド]、および定義済みの

[Event Wait]タスクのインスタンス、およびセッ

ション内のすべてのマッピングオブジェクト。

ファイル/

ディレク

トリ

ユーザー

定義

[セッション]、[コマンド]、および定義済みの

[Event Wait]タスクのインスタンス、およびセッ

ション内の次のマッピングオブジェクト。

- ソース修飾子

- アグリゲータトランスフォーメーション

- カスタムトランスフォーメーション

- エクスターナルプロシージャトランスフォーメー

ション

- ジョイナトランスフォーメーション

- ルックアップトランスフォーメーション

- ソータトランスフォーメーション

- カスタムトランスフォーメーション

- Javaトランスフォーメーション

- HTTPトランスフォーメーション

- SQLトランスフォーメーション

- 共有体トランスフォーメーション

- ターゲット

ノード名 定義済み [セッション]、[コマンド]、および定義済みの

[Event Wait]タスクのインスタンス、およびセッ

ション内のすべてのマッピングオブジェクト。

オペレー

ティング

システム

タイプの

タイプ

定義済み [セッション]、[コマンド]、および定義済みの

[Event Wait]タスクのインスタンス、およびセッ

ション内のすべてのマッピングオブジェクト。

リポジトリオブジェクトに適用されないリソースタイプを割り当てようとすると、

Workflow Managerは、以下のエラーメッセージを表示します。

The selected resource cannot be applied to this type of object. Please select a different resource.

Workflow Managerにより、接続リソースが割り当てられます。 リレーショナル、FTP、ま

たは外部ローダー接続を使用する場合は、Workflow Managerによって接続リソースが、セ

ッションインスタンス内のソース、ターゲット、およびトランスフォーメーションに割り

当てられます。 Workflow Managerでは接続リソースを手動で割り当てることができませ

ん。

リソースをタスクインスタンスに割り当てるには:

1. Worklet DesignerまたはWorkflow Designerでタスクプロパティを開きます。

[Event Wait]タスクの場合、リソースを割り当てることができるのは、タスクが定

義済みのイベントを待機している場合に限ります。

タスクへのリソースの割り当て 211

Page 231: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

2. [全般]タブの[編集]をクリックします。

3. [リソースの編集]ダイアログボックスの[追加]をクリックして、リソースを追加

します。

4. [リソースの選択]ダイアログボックスで、リソースを割り当てるオブジェクトを選

択します。[リソース]リストに、Integration Serviceを実行するノードで使用で

きるリソースが表示されます。

5. 割り当てるリソースを選択した後、[選択]をクリックします。

6. [リソースの編集]ダイアログボックスで[OK]をクリックします。

212 章 13: ロードバランサ

Page 232: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

第 1 4 章

ワークフロー変数

この章では、以下の項目について説明します。

¨ ワークフロー変数の概要, 213 ページ

¨ 定義済みワークフロー変数, 214 ページ

¨ ユーザー定義ワークフロー変数, 219 ページ

¨ ワークレット変数の使用, 223 ページ

¨ ワークレットでの変数値の割り当て, 224 ページ

ワークフロー変数の概要変数を作成してワークフロー内で使用すると、値を参照したり情報を記録したりできま

す。例えば、[ディシジョン]タスク内で変数を使用して、直前のタスクが正常に実行さ

れたかどうかを判定するとします。直前のタスクが正常に実行されたと判定された場合

は、次のタスクを実行できます。直前のタスクが正常に実行されたと判定されなかった場

合は、ワークフローを停止することができます。

以下のタイプのワークフロー変数を使用します。

¨ 定義済みワークフロー変数。 Workflow Managerによって、ワークフロー内のタスク用

に定義済みワークフロー変数が提供されます。

¨ ユーザー定義ワークフロー変数。ワークフローを作成する際に、ユーザー定義ワークフ

ロー変数を作成します。

以下のタイプのタスクを設定する際に、ワークフロー変数を使用します。

¨ 割り当てタスク。 ユーザー定義のワークフロー変数に値を割り当てるために、割り当

てタスクを使用します。例えば、カレント値に1を加えるように変数を設定すること

で、ユーザー定義のカウンタ変数を増やすことができます。

¨ ディシジョンタスク。 ディシジョンタスクによって、Integration Serviceでどのよう

にワークフローが実行されるか決定されます。例えば、 初のセッションが正常に終了

した場合のみ2番目のセッションを実行するために、ステータス変数が使用されます。

¨ リンク。リンクによって各ワークフロータスクが接続されます。 ワークフローにブラ

ンチを作成するために、リンクでワークフロー変数を使用します。例えば、ディシジョ

ンタスクの後に、判定条件が真に評価された場合のリンクと偽に評価された場合のリン

クを作成することができます。

213

Page 233: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

¨ タイマータスク。タイマータスクによって、Integration Serviceでワークフロー内の

次のタスクがいつ実行すれるか指定されます。 Integration Serviceによって次のタス

クの実行が開始される時刻を指定するには、ユーザー定義の日付/時刻変数を使用しま

す。

変数を使用する式を作成するには、式エディタを使用します。式を作成するときは、[組

み込み]タブで組み込み変数を選択できます。ユーザー定義変数は、[ユーザー定義]タ

ブで選択できます。[関数]タブには、ワークフロー変数といっしょに使用する関数が含

まれます。ポイントアンドクリック方法を使用して、変数を使用する式を入力します。

ユーザー定義ワークフロー変数および組み込みワークフロー変数を使用した式を作成する

には、以下のキーワードを使用します。

¨ AND

¨ OR

¨ NOT

¨ TRUE

¨ FALSE

¨ NULL

¨ SYSDATE

定義済みワークフロー変数ワークフローごとに一式の組み込み変数があり、それらを使ってワークフローやタスクの

状況を評価します。以下のタイプの組み込みワークフロー変数を使用します。

¨ タスク固有の変数。Workflow Managerにより、ワークフロー内の各タスクに対し、タス

ク固有の変数のセットが提供されます。 リンク条件にタスク固有の変数を使用して、

ワークフローの実行中にIntegration Serviceがたどるパスを制御します。Workflow

Managerは、式エディタ内のタスク名の下にタスク固有の変数をリストします。

¨ 組み込み変数。ワークフロー内の組み込み変数を使用して、ランタイム情報またはシス

テム情報(フォルダ名、Integration Service名、システム日付、ワークフロー開始時

刻など)を返します。 Workflow Managerでは、式エディタの組み込みノードの下に組

み込み変数が一覧表示されます。

ヒント: Integration Serviceでログファイルのエラー重要度レベルを、[トレース]

に設定した場合、ワークフローログに、ワークフロー変数の値が表示されます。 この

ロギングレベルは、トラブルシューティングの場合にのみ使用されます。

214 章 14: ワークフロー変数

Page 234: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

以下の表に、Workflow Managerで使用可能なタスク固有のワークフロー変数を一覧表示し

ます。

タスク固有

変数

説明 タスク

タイプ

データ

ータイ

Condition 判定条件式の評価結果。

タスクが失敗した場合、Workflow Manager

は、ConditionにNULLを設定したままにし

ます。

構文の例:$Dec_TaskStatus.Condition = <TRUE | FALSE | NULL | any integer>

ディシ

ジョン

Integer

EndTime 関連タスクが終了した日付および時刻。精

度は秒までです。

構文の例:$s_item_summary.EndTime > TO_DATE('11/10/2004 08:13:25')

すべて

のタス

日付/時

ErrorCode 関連タスクに対して 後に出力されたエラ

ーコード。エラーがない場合、

Integration Serviceは、タスクが完了し

たときにErrorCodeを0に設定します。

構文の例:$s_item_summary.ErrorCode = 24013

注: タスクが常に失敗し、この 終エラ

ーメッセージが表示される場合に、この変

数を使用する場合があります。

すべて

のタス

Integer

ErrorMsg 関連タスクに対して 後に出力されたエラ

ーメッセージ。

エラーがない場合、Integration Service

は、タスクが完了したときにErrorMsgを空

の文字列に設定します。

構文の例:$s_item_summary.ErrorMsg = 'PETL_24013 Session run completed with failure

Nstring型の変数は、 大で600文字の長さ

を持つことができます。

注: タスクが常に失敗し、この 終エラ

ーメッセージが表示される場合に、この変

数を使用する場合があります。

すべて

のタス

Nstring

FirstErrorC

ode

セッションにおける 初のエラーメッセー

ジのエラーコード。

エラーがない場合、Integration Service

は、セッションが完了したときに

FirstErrorCodeを0に設定します。

構文の例:$s_item_summary.FirstErrorCode = 7086

セッシ

ョン

Integer

FirstErrorM

sg

セッションにおける 初のエラーメッセー

ジ。

セッシ

ョン

Nstring

定義済みワークフロー変数 215

Page 235: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

タスク固有

変数

説明 タスク

タイプ

データ

ータイ

エラーがない場合、Integration Service

は、タスクが完了したときに

FirstErrorMsgを空の文字列に設定しま

す。

構文の例:$s_item_summary.FirstErrorMsg = 'TE_7086 Tscrubber: Debug info… Failed to evalWrapUp'

Nstring型の変数は、 大で600文字の長さ

を持つことができます。

PrevTaskSta

tus

Integration Serviceが前回実行したワー

クフローのタスクの状態。次の状態があり

ます。

- ABORTED

- FAILED

- 停止

- SUCCEEDED

前回のタスク状態を評価する式を記述する

ときに、上記のキーワードを使用します。

構文の例:$Dec_TaskStatus.PrevTaskStatus = FAILED

すべて

のタス

Integer

SrcFailedRo

ws

Integration Serviceがソースからの読み

込みに失敗した行の合計数。

構文の例:$s_dist_loc.SrcFailedRows = 0

セッシ

ョン

Integer

SrcSuccessR

ows

ソースからの読み込みが成功した行の合計

数。

構文の例:$s_dist_loc.SrcSuccessRows > 2500

セッシ

ョン

Integer

StartTime 関連タスクが開始された日付および時刻。

精度は秒までです。

構文の例:$s_item_summary.StartTime > TO_DATE('11/10/2004 08:13:25')

すべて

のタス

日付/時

ステータス ワークフロー内の前回実行タスクの状態。

次の状態があります。

- ABORTED

- 無効

- FAILED

- NOTSTARTED

- STARTED

- 停止

- SUCCEEDED

現在のタスク状態を評価する式を記述する

ときに、上記のキーワードを使用します。

構文の例:$s_dist_loc.Status = SUCCEEDED

すべて

のタス

Integer

216 章 14: ワークフロー変数

Page 236: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

タスク固有

変数

説明 タスク

タイプ

データ

ータイ

TgtFailedRo

ws

Integration Serviceがターゲットへの書

き込みに失敗した行の合計数。

構文の例:$s_dist_loc.TgtFailedRows = 0

セッシ

ョン

Integer

TgtSuccessR

ows

ターゲットに正常に書き込まれた行の合計

数。

構文の例:$s_dist_loc.TgtSuccessRows > 0

セッシ

ョン

Integer

TotalTransE

rrors

トランスフォーメーションエラーの合計

数。

構文の例:$s_dist_loc.TotalTransErrors = 5

セッシ

ョン

Integer

Statusを除くすべての組み込みワークフロー変数は、デフォルト値としてNULLを持ちま

す。Integration Serviceは、ワークフロー内でまだ実行されていないタスクから組み込み

変数が検出されると、デフォルト値NULLを使用します。したがって、まだ実行されていな

いタスクに依存する式およびリンク条件は有効です。「Status」のデフォルト値は

NOTSTARTEDです。

式における定義済みワークフロー変数の使用

式にワークフロー変数を使用するときは、Integration Serviceが式を評価してTrueまたは

Falseを返します。条件がTrueと評価された場合、Integration Serviceは次のタスクを実

行します。Integration Serviceはワークフローログに以下のメッセージのようなエントリ

を書き込みます。

INFO : LM_36506 : (1980|1040) Link [Session2 --> Session3]: condition is TRUE for the expression [$Session2.PrevTaskStatus = SUCCEEDED].

式エディタは、組み込みワークフロー変数を[組み込み]タブに表示します。Workflow

Managerでは、タスク固有の変数がタスク別にグループ化されて表示されるとともに、ビル

トイン変数が[ビルドイン]ノードに表示されます。式内で変数を使用するには、目的の

変数をダブルクリックします。式エディタは、タスク固有の変数を以下の形式で[式]フ

ィールドに表示します。

$<TaskName>.<predefinedVariable>

ワークフロー内の条件の評価

判定条件式の結果を評価するには、リンク条件の条件を使用します。

定義済みワークフロー変数 217

Page 237: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

以下の図に、条件を使用したリンク条件のあるワークフローを示します。

図 4. 条件変数の例

FileExistディシジョンタスクの判定条件式は、$Check_for_file.Status = SUCCEEDEDで

す。 マッピングには次の2つのリンク条件が含まれます。$FileExists.Condition = False

によって電子メールタスクが実行され、$FileExists.Condition = Trueによってコマンド

タスクProcess_the_Fileが実行されます。

ワークフローを実行する際に、Integration Serviceはリンク条件を評価し、FileExists

ディシジョンタスクの判定条件式に基づいた値を返します。 Integration Serviceでは、

Check_for_Fileタスクの結果に応じて、電子メールタスクまたはコマンドタスクが実行さ

れます。

ワークフロー内のタスクステータスの評価

ワークフロー内の前回実行タスクの状態をテストするには、リンク条件のStatusを使用し

ます。

以下の図に、ステータスを使用したリンク条件のあるワークフローを示します。

図 5. ステータス変数の例

ワークフローを実行するときに、Integration Serviceはリンク条件$Session2.Status =

SUCCEEDEDを評価し、セッション2のステータスに基づいた値を返します。

ワークフロー内の前回実行のタスクステータスの評価

Integration Serviceが前回実行したワークフロー内のタスクの状態をテストするには、リ

ンク条件のPrevTaskStatusを使用します。

ワークフロー内のタスクを無効にする場合は、PrevTaskStatusを使用します。条件に無効

タスクを使用していない場合は、StatusとPrevTaskStatusは同じ値を返します。

218 章 14: ワークフロー変数

Page 238: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

以下の図に、PrevTaskStatusを使用したリンク条件のあるワークフローを示します。

図 6. PrevTaskStatus変数の例

ワークフローを実行するときに、Integration Serviceは無効となったセッション2をスキ

ップします。Integration Serviceは、リンク条件$Session2.PrevTaskStatus =

SUCCEEDEDが評価されると、セッション1の状態に基づいた値を返します。

ヒント: セッション2を無効にしないと、Integration Serviceはセッション2の状態に基

づいた値を返します。セッション2を有効または無効にするときに、リンク条件を変更する

必要はありません。

ユーザー定義ワークフロー変数ワークフロー内に変数を作成できます。ワークフロー内に自分で変数を作成した場合、変

数はそのワークフロー内でのみ有効になります。作成した変数は、そのワークフロー内の

タスクで使用します。ユーザー定義のワークフロー変数は、編集や削除が可能です。

ユーザー定義の変数は、自分で指定した条件に基づいてワークフローの判定を行う必要が

ある場合に使用します。例えば、注文データベースにデータを毎晩ロードするワークフロ

ーを作成するとします。さらに、このデータのサブセットを定期的に、ローカルの注文デ

ータベースを10回更新するごとに、本社側のデータベースにロードする必要があるとしま

す。ローカルデータベースを更新するセッションと本社のデータベースを更新するセッシ

ョンを個別に作成します。

以下の図にワークフローを示します。

図 7. ワークフロー変数を使用するワークフロー

ここで、ユーザー定義の変数を使用して、本社にある注文データベースを更新するセッシ

ョンをいつ実行するかを決定します。

ユーザー定義ワークフロー変数 219

Page 239: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

ユーザー定義ワークフロー変数を設定するには、以下の手順を実行します。

1. ワークフローが実行された回数を表す持続型ワークフロー変数$$WorkflowCountを作

成します。

2. [Start]タスクと両方のセッションをワークフローに追加します。

3. ローカル注文データベースを更新するセッションの後に[ディシジョン]タスクを配

置します。

ワークフローの実行回数が10で均等に割りきれるかどうかを確認する判定条件を設定

します。このためには、MOD関数を使用します。

4. [割り当て]タスクを作成して、$$WorkflowCount変数を1だけ増分します。

5. 判定条件が真に評価された場合、本社側のデータベースを更新するセッションに[デ

ィシジョン]タスクをリンクします。判定条件が偽に評価された場合、[ディシジョ

ン]タスクを[割り当て]タスクにリンクします。

条件を使用してワークフロー変数を設定する場合、ワークフローを実行するたびに、ロー

カルデータベースを更新するセッションが実行されます。本社側のデータベースを更新す

るセッションは、ワークフローを10回実行するごとに実行されます。

ワークフロー変数の初期値とカレント値

理論的には、Integration Serviceは、ワークフローの実行中にワークフロー変数に関して

以下の2つの異なる値を保持します。

¨ ワークフロー変数の初期値

¨ ワークフロー変数のカレント値

初期値とは、ワークフローの開始時に変数が持つ値です。初期値には、変数のパラメータ

ファイルに定義されている値、ワークフローの前回の実行によってリポジトリに保存され

ている値、変数に対してユーザーが定義した初期値、変数のデータ型に基づくデフォルト

値などが使用されます。

Integration Serviceは、以下の順に変数の初期値を探します。

1. パラメータファイルに定義されている値

2. リポジトリに保存されている値(変数が持続型の場合)

3. ユーザーによって指定されたデフォルト値

4. データ型に基づくデフォルト値

例えば、ワークフロー内にワークフロー変数を作成してデフォルト値を入力した一方で、

その変数の値をパラメータファイルに定義していないとします。このワークフローを初め

て実行する場合、Integration Serviceは変数の初期値をユーザー定義のデフォルト値とし

て評価します。

変数を持続型として宣言した場合、Integration Serviceは、ワークフローの実行が終了し

たときにこの変数の値をリポジトリに保存します。次回同じワークフローを実行するとき

は、リポジトリに保存されている値が変数の初期値として評価されます。

変数が非持続型の場合、Integration Serviceは変数の値を保存しません。次回同じワーク

フローを実行するときは、ユーザーによって指定されたデフォルト値が変数の初期値とし

て評価されます。

220 章 14: ワークフロー変数

Page 240: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

リポジトリに保存されている値をワークフローの実行前に上書きしたい場合は、パラメー

タファイルにその変数の値を定義する必要があります。パラメータファイルにワークフロ

ー変数の値が定義されている場合、Integration Serviceは、リポジトリに保存されている

値や、変数に設定されている初期値ではなく、この値を使用します。

カレント値とは、ワークフローの進行にともなって変数に保持される値です。ワークフロ

ーの開始時の変数のカレント値は初期値と等しくなります。変数の値を更新する

[Assignment]タスクを作成している場合は、ワークフローの進行に合わせて変数の値が

変化します。

変数が持続型の場合、Integration Serviceは、ワークフローの実行が正常終了したときに

変数のカレント値をリポジトリに保存します。ワークフローが完了できなかった場合、

Integration Serviceは、リポジトリ内の変数の値を更新しません。

Integration Serviceは、ワークフロー変数ごとに、リポジトリに保存された値をワークフ

ローログに記録します。

データタイプのデフォルト値

他の方法によって変数の初期値を特定できない場合、Integration Serviceは変数のデータ

タイプに基づいてそのデフォルト値を使用します。

以下の表に、ユーザー定義ワークフロー変数の各データタイプのデフォルト値を示しま

す。

表 4. ユーザー定義ワークフロー変数の各データタイプのデフォルト値

データータイプ Workflow Managerのデフォルト値

日付/時刻 1/1/1753 00:00:00.000000000 A.D.

ダブル 0

Integer 0

Nstring 空の文字列

ユーザー定義ワークフロー変数の作成

ワークフローのワークフロー変数は、ワークフロープロパティで作成することができま

す。

ワークフロー変数を作成するには:

1. Workflow Designerで、新しいワークフローを作成するか、または既存のワークフロ

ーを編集します。

2. [変数]タブを選択します。

3. [追加]をクリックします。

ユーザー定義ワークフロー変数 221

Page 241: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

4. 以下の表に示す情報を入力し、[OK]をクリックします。

フィールド 説明

名前 変数名。正しい形式は$$VariableNameです。ワークフロー

変数名は大文字/小文字を区別しません。

ユーザー定義ワークフロー変数に単独のドル記号($)を

使用してはなりません。単独のドル記号($)は、組み込

みワークフロー変数用に予約されています。

データ型 変数のデータ型。以下のデータ型の中から選択できます。

- 日付/時刻

- ダブル

- Integer

- Nstring

パーシステン

変数が持続型かどうか。ワークフローの実行の間で変数の

値を保持したい場合は、このオプションを有効にします。

デフォルト値 変数のデフォルト値。パラメータファイルで変数に値を設

定しておらず、リポジトリに値が格納されていない場合、

セッション中、Integration Serviceは変数にこの値を使

用します。

Date/Time型の変数で使用できる形式は、以下のとおりで

す。

- MM/DD/RR

- MM/DD/YYYY

- MM/DD/RR HH24:MI

- MM/DD/YYYY HH24:MI

- MM/DD/RR HH24:MI:SS

- YYYY/MM/DD HH24:MI:SS

- MM/DD/RR HH24:MI:SS.MS

- MM/DD/YYYY HH24:MI:SS.MS

- MM/DD/RR HH24:MI:SS.US

- MM/DD/YYYY HH24:MI:SS.US

- MM/DD/RR HH24:MI:SS.NS

- MM/DD/YYYY HH24:MI:SS.NS

以下の区切り記号を使用することができます。ダッシュ

(-)、スラッシュ(/)、バックスラッシュ(\\uff09、

コロン(:)、ピリオド(.)、およびスペース。

Integration Serviceでは、余分な空白は無視されます。

年または時間の「HH12」形式には、1桁または3桁の値を使

用できません。

Nstring型の変数は、 大で600文字の長さを持つことがで

きます。

デフォルト値

= NULL

変数のデフォルト値がNULLかどうか。デフォルト値がNULL

の場合、このオプションを有効にします。

説明 変数に関する説明。

5. 新しいワークフロー変数のデフォルト値を検査するには、[検査]をクリックしま

す。

6. [適用]をクリックして新しいワークフロー変数を保存します。

222 章 14: ワークフロー変数

Page 242: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

7. [OK]をクリックします。

ワークレット変数の使用ワークレット変数はワークフロー変数に似ています。ワークレットは、タスクと同じ定義

済み変数のセットを持ちます。また、ユーザー定義のワークレット変数を作成することも

できます。ユーザー定義のワークフロー変数と同様に、ユーザー定義のワークレット変数

には、持続型と非持続型があります。

永続ワークレット変数

ユーザー定義のワークレット変数には、持続型と非持続型があります。持続型ワークレッ

ト変数を作成するには、変数を作成するときに[パーシステント]を選択します。永続ワ

ークレット変数を作成した場合、ワークレット変数は、次回Integration Serviceによって

親ワークフローでワークレットが実行されるときも保持されます。

たとえば、持続型変数を持つワークレットがあるとします。ワークレットを2回実行するた

めに、ワークフロー内にワークレットのインスタンスが2つあるとします。ワークレットの

1つ目のインスタンスはWorklet1、2つ目のインスタンスはWorklet2です。

ワークフローの実行時、持続型ワークレット変数はWorklet1での値を保持してそれが

Worklet2における初期値となります。Integration ServiceでWorklet2が実行された後、

Integration Serviceによって永続変数の値がリポジトリに保持され、次回このワークフロ

ーを実行するときにこの値が使用されます。

ワークレット変数は、同じワークフローが実行されるときだけその値を持続します。ワー

クレット変数は、別のワークフローにあるワークレットのインスタンスが使用された場合

はその値を持続しません。

初期値のオーバーライド

それぞれのワークレットインスタンスごとに、ワークフロー変数をワークレット変数に割

り当てることで、ワークレット変数の初期値を上書きすることができます。

ワークレット変数の初期値を上書きするには:

1. Workflow Designerの作業領域内でワークレットのインスタンスをダブルクリックしま

す。

2. [変数]タブで、プリワークレット変数の割り当てで[追加]ボタンをクリックしま

す。

3. [ユーザー定義ワークレット変数]フィールドの右端のボタンをクリックし、ワーク

レット変数を選択します。

4. [適用]をクリックします。

このワークレットインスタンス内のワークレット変数には、初期値として選択された

ワークフロー変数が含まれます。

ワークレット変数の使用 223

Page 243: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

ワークレット変数の使用に関するルールおよびガイドライン

ワークレット変数を使用する際には、以下のルールおよびガイドラインを使用します。

¨ ワークレットで親ワークフロー変数を使用することはできません。

¨ ワークフロー変数の値をワークレット変数に割り当てて初期化することができます。

¨ 親ワークフローでユーザー定義のワークレット変数を使用することはできません。

¨ ワークフローの他のタスクに定義済みの変数を使えるのと同様に、定義済みのワークレ

ット変数を親ワークフローで使用することはできます。

ワークレットでの変数値の割り当てワークレットの実行前または実行後に変数の値を更新できます。この機能により、1つのワ

ークレットから同じワークフロー内の別のワークレット、または親ワークレットに情報を

渡すことができます。たとえば、同じカウンタをインクリメントする必要がある2つのワー

クレットを含むワークフローがあるとします。1つ目のワークレットでカウンタをインクリ

メントし、更新後のカウンタ値を2つ目のワークレットに渡し、そのカウンタを再び2つ目

のワークレットでインクリメントすることができます。

また、情報をワークレットから再利用不可能なセッションに、あるいは再利用不可能なセ

ッションからワークレットに渡すこともできます。この場合、ワークレットとセッション

が共に同じワークフローあるいは親ワークレットであることが条件です。再利用可能なワ

ークレットと再利用不可能なワークレット内の変数を割り当てることができます。

ワークレットの実行前に変数を割り当てるか、またはワークレットの実行後に変数を割り

当てるかによって、異なる変数値を更新できます。ワークレットの実行前または実行後に

次のタイプの変数を更新できます。

¨ ワークレット実行前の変数割り当て。ワークレットの実行前にユーザー定義のワークレ

ット変数を更新できます。 これらのワークレット変数に、親ワークフロー変数または

ワークレット変数の値、あるいはワークフローまたは親ワークレットの他のタスクから

のマッピング変数の値を割り当てることができます。

ワークレットの親からの値でワークレット変数を更新できます。したがって、ワークレ

ットがワークフロー内の別のワークレットである場合、そのワークフロー変数の値では

なく、親ワークレット変数からの値を割り当てることができます。

¨ ワークレット実行後の変数割り当て。ワークレットの完了後、親ワークフローまたはワ

ークレット変数を更新できます。 これらの変数に、ユーザー定義のワークレット変数

の値を割り当てることができます。

ワークレットを編集するときには[変数]タブで変数を割り当てます。

ワークレット間での変数値の受け渡し

1つのワークレットから同じワークフロー内の後続ワークレットまたは親ワークレットに値

を渡すために、ワークレット内の変数値を割り当てます。例えば、ワークフローに

wklt_CreateCustListとwklt_UpdateCustOrdersの2つのワークレットが含まれているとし

224 章 14: ワークフロー変数

Page 244: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

ます。Worklet wklt_UpdateCustOrdersは、wklt_CreateCustListで更新されたワークレッ

ト変数の値を使用する必要があります。

以下の図にワークフローを示します。

wklt_CreateCustListからwklt_UpdateCustOrdersにワークレット変数を渡すには、以下の

手順を実行します。

1. 例えば、ワークレット変数$$URLString1を使用するようにワークレット

wklt_CreateCustListを設定します。

2. 例えば、ワークレット変数$$URLString2を使用するようにワークレット

wklt_UpdateCustOrdersを設定します。

3. 例えば、ワークフロー変数$$PassURLStringを使用するようにワークフローを設定し

ます。

4. ワークレットの完了後、ワークレット変数$$URLString1の値を、ワークフロー変数$

$PassURLStringに割り当てるようにワークレットwklt_CreateCustListを設定しま

す。

5. ワークレットを開始する前に、ワークフロー変数 $$PassURLStringの値を、ワークレ

ット変数$$URLString2に割り当てるようにワークレットwklt_UpdateCustOrdersを設

定します。

変数割り当ての設定

ワークレットを編集するときには[変数]タブで変数を割り当てます。ワークレットの実

行前または実行後に、次のタイプの変数に値を割り当てます。

¨ ワークレット実行前の変数割り当て。ユーザー定義のワークレット変数を、親ワークフ

ローまたはワークレット変数の値、あるいはワークフロー内の他のタスクからのマッピ

ング変数またはこのワークレットの前に実行している親ワークレットの値で更新しま

す。

¨ ワークレット実行後の変数割り当て。親ワークフローおよびワークレット変数を、ユー

ザー定義ワークレット変数の値で更新します。

ワークレット内の変数を割り当てるには:

1. 変数を割り当てるワークレットを編集します。

2. [変数]タブをクリックします。

3. 変数割り当てタイプを選択します。

¨ ワークレット実行前の変数割り当て。ワークレットの実行前にユーザー定義のワー

クレット変数に値を割り当てます。

¨ ワークレット実行後の変数割り当て。ワークレットの完了後に親ワークフローおよ

びワークレット変数に値を割り当てます。

4. 変数割り当てフィールドの[編集]ボタンをクリックします。

ワークレットでの変数値の割り当て 225

Page 245: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

5. プリワークレット変数またはポストワークレット変数の割り当て領域で、追加ボタン

をクリックして、変数割り当て文を追加します。

6. [ユーザー定義ワークレット変数]フィールドおよび[親ワークフロー/ワークレット

変数]フィールドのオープンボタンをクリックして、値を読み込む変数または値を割

り当てる変数を選択します。プリワークレット変数の割り当てでは、これらのフィー

ルドにパラメータと変数名を入力する場合があります。Workflow Managerでは、パラ

メータと変数名は検査されません。

Workflow Managerは、割り当て文の右側から割り当て文の左側の変数に値を割り当て

ます。したがって、変数割り当て文が“$$SiteURL_WFVar=$$SiteURL_WkltVar,”の場

合、Workflow Managerは$$SiteURL_WkltVar の値を$$SiteURL_WFVarに割り当てま

す。

7. Configuring Variable AssignmentsからConfiguring Variable Assignmentsまでの

手順を繰り返して、さらに変数割り当て文を追加します。

変数割り当て文を削除するには、割り当て文のフィールドの1つをクリックして、[カ

ット]ボタンをクリックします。

8. [OK]をクリックします。

226 章 14: ワークフロー変数

Page 246: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

第 1 5 章

セッションのパラメータおよび変数

この章では、以下の項目について説明します。

¨ セッションパラメータに関する作業, 227 ページ

¨ セッションのマッピングパラメータおよび変数, 234 ページ

¨ セッションでのパラメータ値および変数値の割り当て, 235 ページ

セッションパラメータに関する作業セッションパラメータは、データベース接続やソースファイルとターゲットファイルな

ど、セッションの実行ごとに変更できる値を示します。

セッションパラメータには、ユーザー定義パラメータまたは組み込みパラメータのいずれ

かがあります。セッションまたはワークフローのプロパティでユーザー定義のセッション

パラメータを使用し、パラメータファイルでその値を定義します。セッションを実行する

際は、Integration Serviceではパラメータファイル内のパラメータをセッション内のパラ

メータと一致させます。 セッションプロパティ値にパラメータファイルの値を使用しま

す。パラメータファイルでは、フォルダ名とセッション名は大文字/小文字が区別されま

す。

例えば、ログファイルにセッションログを書き込むことができます。セッションプロパテ

ィで、セッションログファイル名として$PMSessionLogFileを使用し、パラメータファイル

で$PMSessionLogFileをTestRun.txtに設定します。セッションを実行する際に、

Integration Serviceによって、TestRun.txtと名付けられたセッションログが作成されま

す。

ユーザー定義のセッションパラメータにはデフォルト値がないので、パラメータファイル

でこれらを定義する必要があります。Integration Serviceによってユーザー定義のセッシ

ョンパラメータの値が検索できない場合、セッションが失敗するか、空の文字列をデフォ

ルト値とするか、または実行時にパラメータの展開に失敗します。

pmcmdを使用してセッションを開始すると、各種パラメータファイルを使用して1つのセッ

ションを実行できます。pmcmdを使用して設定したパラメータファイルは、セッションまた

はワークフロープロパティでパラメータファイルを上書きします。

227

Page 247: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

組み込みセッションパラメータを使用して、フォルダ名、サービス名、セッション実行統

計などのランタイム情報を取得します。組み込みセッションパラメータは、セッション実

行後のシェルコマンド、SQLコマンド、およびメールメッセージの中に使用できます。それ

らのセッションパラメータは、DesignerおよびWorkflow Managerでセッションパラメータ

を受け入れる入力フィールドに使用できます。Integration Serviceは組み込みセッション

パラメータの値を設定します。組み込みセッションパラメータ値は、パラメータファイル

内には定義することができません。これらのパラメータは、Integration Serviceでセッシ

ョンの実行時に展開されます。

以下の表に、ユーザー定義のセッションパラメータを示します。

パラメータタイ

命名規則 説明

セッションログ

ファイル

$PMSessionLogFil

e

セッション実行間のセッションログの

名前を定義します。

パーティション

の数

$DynamicPartitio

nCount

セッションのパーティション数を定義

します。

ソースファイル $InputFileName ソースファイル名を定義します。

適切なプレフィックスを使用してパラ

メータ名を定義します。

ルックアップフ

ァイル

$LookupFileName ルックアップファイル名を定義しま

す。

適切なプレフィックスを使用してパラ

メータ名を定義します。

ターゲットファ

イル

$OutputFileNames ターゲットファイル名を定義します。

適切なプレフィックスを使用してパラ

メータ名を定義します。

拒否ファイル $BadFileName 拒否ファイル名を定義します。

適切なプレフィックスを使用してパラ

メータ名を定義します。

データベース接

$DBConnectionName

ソース、ターゲット、ルックアップ、

またはストアドプロシージャのリレー

ショナルデータベース接続を定義しま

す。

適切なプレフィックスを使用してパラ

メータに名前を付けます。

外部ローダー接

$LoaderConnectio

nName外部ローダー接続を定義します。

適切なプレフィックスを使用してパラ

メータ名を定義します。

FTP接続 $FTPConnectionName

FTP接続を定義します。

適切なプレフィックスを使用してパラ

メータ名を定義します。

228 章 15: セッションのパラメータおよび変数

Page 248: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

パラメータタイ

命名規則 説明

キュー接続 $QueueConnection

Nameメッセージキューのデータベース接続

を定義します。

適切なプレフィックスを使用してパラ

メータ名を定義します。

ソースまたはタ

ーゲットアプリ

ケーション接続

$AppConnectionName

ソースアプリケーションおよびターゲ

ットアプリケーションへの接続を定義

します。

適切なプレフィックスを使用してパラ

メータ名を定義します。

一般のセッショ

ンパラメータ

$ParamName 他のセッションプロパティを定義しま

す。たとえば、このパラメータを使用

して、テーブルオーナー名、テーブル

名の接頭語、FTPファイルまたはディ

レクトリ名、ルックアップキャッシュ

ファイル名接頭語、またはメールアド

レスを定義できます。このパラメータ

を使用して、ソース、ルックアップ、

ターゲット、およびリジェクトファイ

ル名を定義できますが、セッションロ

グファイル名やデータベース接続は定

義できません。

適切なプレフィックスを使用してパラ

メータ名を定義します。

以下の表に、組み込みセッションパラメータを示します。

パラメータ

タイプ

命名規則 説明

フォルダ名 $PMFolderName フォルダ名を返します。

Integratio

n Service

$PMIntegrationServiceName Integration Service名を

返します。

マッピング

$PMMappingName マッピング名を返します。

Repository

Service名

$PMRepositoryServiceName リポジトリサービス名を返

します。

リポジトリ

ユーザ名

$PMRepositoryUserName リポジトリユーザ名を返し

ます。

セッション

$PMSessionName セッション名を返します。

セッションパラメータに関する作業 229

Page 249: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

パラメータ

タイプ

命名規則 説明

セッション

実行モード

$PMSessionRunMode セッション実行モード(ノ

ーマルまたはリカバリ)を

返します。

ソース側の

影響を受け

た行の数

$PMSourceQualifierName@numAffectedRows

Integration Serviceで名

前付きSource Qualifierか

ら正常に読み込まれた行の

数が返されます。

適切なプレフィックスおよ

びサフィックスを使用して

パラメータ名を定義しま

す。

ソース側の

適用された

行の数

$PMSourceQualifierName@numAppliedRows

Integration Serviceで名

前付きSource Qualifierか

ら正常に読み込まれた行の

数が返されます。

適切なプレフィックスおよ

びサフィックスを使用して

パラメータ名を定義しま

す。

ソース側の

拒否された

行の数

$PMSourceQualifierName@numRejectedRows

Integration Serviceで名

前付きSource Qualifierか

らの読み込み中に削除され

た行の数が返されます。

適切なプレフィックスおよ

びサフィックスを使用して

パラメータ名を定義しま

す。

ソーステー

ブル名

$PMSourceName@TableName 名前付きソースインスタン

スのテーブル名が返されま

す。

適切なプレフィックスおよ

びサフィックスを使用して

パラメータ名を定義しま

す。

ターゲット

側の影響を

受けた行の

$PMTargetName@numAffectedRows Integration Serviceで名

前付きターゲットインスタ

ンスに対する特定操作の影

響が及んだ行の数が返され

ます。

適切なプレフィックスおよ

びサフィックスを使用して

パラメータ名を定義しま

す。

230 章 15: セッションのパラメータおよび変数

Page 250: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

パラメータ

タイプ

命名規則 説明

ターゲット

側の適用さ

れた行の数

$PMTargetName@numAppliedRows Integration Serviceで名

前付きターゲットインスタ

ンスに正常に適用された行

の数が返されます。

適切なプレフィックスおよ

びサフィックスを使用して

パラメータ名を定義しま

す。

ターゲット

側の拒否さ

れた行の数

$PMTargetName@numRejectedRows Integration Serviceで名

前付きターゲットインスタ

ンスへの書き込み中に拒否

された行の数が返されま

す。

適切なプレフィックスおよ

びサフィックスを使用して

パラメータ名を定義しま

す。

ターゲット

テーブル名

$PMTargetName@TableName 名前付きターゲットインス

タンスのテーブル名が返さ

れます。

適切なプレフィックスおよ

びサフィックスを使用して

パラメータ名を定義しま

す。

ワークフロ

ー名

$PMWorkflowName ワークフロー名を返しま

す。

ワークフロ

ー実行ID。

$PMWorkflowRunId ワークフロー実行IDを返し

ます。

ワークフロ

ー実行イン

スタンス名

$PMWorkflowRunInstanceName ワークフロー実行インスタ

ンス名を返します。

適切なプレフィックスおよびサフィックスを使用してパラメータ名を定義します。 例え

ば、ソースインスタンスが「Customers」という名前の場合、ソーステーブル名を示すパラ

メータは$PMCustomers@TableNameとなります。ソース修飾子が「SQ_Customers」という名

前の場合、影響を受けた行のソース数を示すパラメータは

$PMSQ_Customers@numAffectedRowsとなります。

セッションログ名の変更

ファイルにログイベントを書き込むようにセッションを設定できます。セッションプロパ

ティで、セッションログファイルディレクトリは、デフォルトでサービスプロセス変数

$PMSessionLogDirとなります。セッションログファイル名は、デフォルトでは、

$PMSessionLogFileとなります。

セッションパラメータに関する作業 231

Page 251: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

パラメータファイルで、$PMSessionLogFileをTestRun.txtに設定します。Administrator

ツールで、$PMSessionLogDirを\\server\infa_shared\SessLogsと定義します。 Integration

Serviceによってセッションが実行される場合、\\server\infa_shared\SessLogsディレクトリに

TestRun.txtという名前のセッションログファイルが作成されます。

ターゲットファイルおよびディレクトリの変更

セッションのターゲットファイルとディレクトリを変更するには、セッションプロパティ

でターゲットファイルパラメータを使用します。[出力ファイル名]フィールドには、デ

ィレクトリ名とファイル名が含まれているパスを入力できます。[出力ファイル名]フィ

ールドにディレクトリを含める場合、出力ファイルディレクトリをクリアする必要があり

ます。Integration Serviceによって、出力ファイルディレクトリと出力ファイル名が連結

され、ターゲットファイルの場所が特定されます。

たとえば、セッションでファイルパラメータを使用して内部Webログと外部Webログを読み

取ります。内部Webログセッションの結果と外部Webログセッションの結果を別個の場所に

書き込むとします。

セッションのプロパティで、ターゲットファイルに$OutputFileNameと名前を付け、[出力

ファイルディレクトリ]フィールドをクリアします。パラメータファイルでは、内部Webロ

グセッションのターゲットファイルを作成するのに、$OutputFileNameを「E:

\internal_weblogs\November_int.txt」に設定します。そのセッションが完了したら、今度は外

部Webログセッション用に$OutputFileNameを「F:\external_weblogs\November_ex.txt」に設定し

ます。

ターゲットごとに異なるパラメータファイルを作成しpmcmdを使用すれば、特定のパラメー

タファイルでセッションを開始できます。このパラメータファイルは、セッションプロパ

ティのパラメータファイル名を上書きします。

ファイルでのソースパラメータの変更

パラメータファイルでセッションプロパティに複数のパラメータを定義し、セッションで

これらのパラメータの1つを使用できます。セッションプロパティでパラメータ名を変更

し、別のパラメータ値を指定して再度セッションを実行できます。

たとえば、パラメータファイル内に$InputFile_Productsという名前のセッションパラメー

タを作成します。パラメータ値を"products,txt"に設定します。同じパラメータファイル

内に、$InputFile_Itemsと呼ばれる別のパラメータを作成します。パラメータ値を

items.txtに設定します。

セッションプロパティでソースファイル名を$InputFile_Productsに設定すると、

Integration Serviceでproducts.txtが読み込まれます。 ソースファイル名を

$InputFile_Itemsに変更すると、Integration Serviceでitems.txtが読み込まれます。

接続パラメータの変更

ソース、ターゲット、ルックアップテーブル、またはストアドプロシージャを個別に指定

してセッションを再実行するには、接続パラメータを使用します。接続パラメータは、任

意のセッションのセッションプロパティで作成できます。パラメータで接続を参照できま

す。すべての接続セッションパラメータの名前には必ず、先頭に接頭語を指定し、その後

に任意の英数字や下線文字を付けます。

232 章 15: セッションのパラメータおよび変数

Page 252: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

たとえば、2つのリレーショナルソースから読込むセッションを実行するとします。あるソ

ースにはデータベース接続「Marketing」を使用してアクセスし、他のソースには

「Sales」という接続でアクセスするとします。セッションプロパティで、

「$DBConnection_Source」という名前のソースデータベース接続パラメータを作成しま

す。パラメータファイル内で$DBConnection_SourceをMarketingと定義したあと、セッシ

ョンを実行します。次のセッション実行のパラメータファイルで$DBConnection_Sourceを

Salesに設定します。

ソースまたはターゲットの接続を上書きする接続パラメータを使用すれば、パラメータフ

ァイル内の接続属性を上書きすることができます。ソースインスタンスまたはターゲット

インスタンスに対して非リレーショナル接続パラメータを使用しているならば、接続属性

の上書きが可能です。パラメータファイル内に接続を定義すると、接続属性を定義する特

定のユーザー定義セッションパラメータがIntegration Serviceによって検索されます。た

とえば、$FTPConnectionMyFTPConnというFTP接続パラメータを作成し、それをパラメータ

ファイル内に定義するとします。 パラメータファイル内の次のパラメータが、

Integration Serviceによって検索されます。

¨ $Param_FTPConnectionMyFTPConn_Remote_Filename

¨ $Param_FTPConnectionMyFTPConn_Is_Staged

¨ $Param_FTPConnectionMyFTPConn_Is_Transfer_Mode_ASCII

これらのパラメータの値がいずれも定義されていない場合、接続オブジェクト用に定義さ

れた値がIntegration Serviceで使用されます。

上書き可能な接続属性は、次のテンプレートファイル内にリストされています。

<PowerCenter Installation Directory>/server/bin/ConnectionParam.prm

ランタイム情報の取得

フォルダ名、 Integration Service名、ソーステーブル名、ターゲットテーブル名などの

ランタイム情報を取得するには、組み込みセッションパラメータを使用します。組み込み

セッションパラメータは、セッション実行後のシェルコマンド、SQLコマンド、およびメー

ルメッセージの中に使用できます。それらのセッションパラメータは、Designerおよび

Workflow Managerでセッションパラメータを受け入れる入力フィールドに使用できます。

たとえば、セッション"s_UpdateCustInfo"の完了後に、セッション後の電子メールを送信

するとします。この電子メールには、ソース修飾子"SQ_Customers"およびターゲッ

ト"T_CustInfo"に関するセッション実行統計を含めます。電子メールの本文に、次のテキ

ストを入力します。

Statistics for session $PMSessionNameIntegration service: $PMIntegrationServiceNameSource number of affected rows: $PMSQ_Customers@numAffectedRowsSource number of dropped rows: $PMSQ_Customers@numRejectedRowsTarget number of affected rows: $PMT_CustInfo@numAffectedRowsTarget number of applied rows: $PMT_CustInfo@numAppliedRowsTarget number of rejected rows: $PMT_CustInfo@numRejectedRows

電子メール変数を使用して、セッション名、Integration Service名、ロードされた行数、

および拒否された行数を取得することもできます。

セッションパラメータに関する作業 233

Page 253: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

ファイルパラメータとデータベース接続パラメータの作成に関するルールおよびガイドライン

セッションファイルパラメータとデータベース接続パラメータは、各種ファイルとデータ

ベースに対してセッションを実行する柔軟性を提供します。

ファイルパラメータを作成する場合には、次の規則およびガイドラインに従ってくださ

い。

¨ ノードのリソースとしてパラメータファイルを定義する場合、パラメータファイルにア

クセスできるノードでIntegration Serviceがセッションを実行していることを確認し

ます。ノードのリソースを定義し、リソースをチェックするようにIntegration

Serviceを設定し、そのリソースを要求するようにセッションを編集します。

¨ ファイルパラメータを作成する場合、英数字と下線文字を使用します。たとえば、ソー

スファイルパラメータ名を指定するには、$InputFile_Dataなどの$InputFileNameを使

用します。

¨ 特定タイプのセッションファイルパラメータにはすべて、明確な名前を付ける必要があ

ります。たとえば、ソースファイルパラメータを2つ作成する場合、$SourceFileAccts

および$SourceFilePricesという名前を付けます。

¨ ファイルでパラメータを定義すると、Integration Serviceのいずれかのローカルディ

レクトリを参照することができます。

¨ ファイルの場所を定義するパラメータを使用します。ファイルの場所を定義するエント

リをセッションプロパティでクリアします。パラメータファイルに、ファイルのフルパ

スを入力します。

¨ セッションを実行するたびにパラメータファイルのパラメータ値を変更できます。また

は、複数のパラメータファイルを作成することもできます。複数のパラメータファイル

を使用する場合は、-paramfileオプションまたは-localparamfileオプションを指定し

たpmcmd Startworkflowコマンドを使用して、使用するパラメータファイルを指定しま

す。

データベース接続パラメータを作成する場合には、次の規則およびガイドラインに従って

ください。

¨ リレーショナルソース、ターゲット、ルックアップ、およびストアドプロシージャの各

接続を変更できます。

¨ パラメータを定義すると、リポジトリ内の任意のデータベース接続を参照できます。

¨ セッションで、複数の接続に同じ$DBConnectionパラメータを使用します。

セッションのマッピングパラメータおよび変数

セッションのプロパティのマッピングパラメータを使用して、所定のマッピング属性を変

更できます。たとえば、トランスフォーメーションオーバーライド内のマッピングパラメ

ータを使用して、ソース修飾子トランスフォーメーション内のフィルタまたはユーザー定

義の結合を上書きできます。

234 章 15: セッションのパラメータおよび変数

Page 254: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

セッション内でマッピング変数を使用している場合は、セッションを編集してリポジトリ

に格納されている任意の変数値をクリアすることができます。変数値を取り消した場合、

次回セッションを実行する際にIntegration Serviceによりパラメータファイル内の値が使

用されます。 セッションでパラメータファイルが使用されない場合、Integration

Serviceではセッション実行前の変数の割り当てで割り当てられた値が使用されます。 割

り当てられた値がない場合、Integration Serviceではマッピングに定義されている初期値

が使用されます。

リポジトリに格納されているマッピング変数の値を表示または削除するには:

1. Workflow Managerのナビゲータウィンドウで、[セッション]タスクを右クリック

し、 [パーシステント値の表示]を選択します。

変数の名前と値を確認できます。

2. [リセット]をクリックして既存の変数値を削除します。

3. [OK]をクリックします。

セッションでのパラメータ値および変数値の割り当て

再利用不可能なセッションの実行前または実行後に、特定のパラメータ値および変数の値

を更新できます。この機能により、1つのセッションから同じワークフローまたはワークレ

ット内の別のセッションへと情報を渡すことができます。たとえば、同じカウンタをイン

クリメントする必要がある2つのセッションを含むワークフローがあるとします。1つ目の

セッションでカウンタをインクリメントし、更新後のカウンタ値を2つ目のセッションに渡

し、再度2つ目のセッションでカウンタをインクリメントすることができます。または、同

じWebサイトにアクセスするセッションを含むワークレットがあるとします。 初のセッシ

ョンがWebサイトからセッションIDを取得するように、次にそのセッションID値を後続のセ

ッションに渡すように設定できます。

また、セッションとワークレットが同じワークフローまたは親ワークレットにある限り、

セッションからワークレットに、あるいはワークレットからセッションに情報を渡すこと

もできます。

注: 再利用可能なセッションでパラメータおよび変数を割り当てることはできません。

更新可能なパラメータおよび変数のタイプは、セッション実行前に割り当てるか、または

セッション実行後に割り当てるかによって異なります。セッション実行前または実行後に

更新できるのは、次のパラメータおよび変数タイプです。

¨ セッション実行前の変数割り当てセッション実行前に、マッピングパラメータ、マッピ

ング変数、およびセッションパラメータを更新できます。 これらのパラメータおよび

変数には、親ワークフローまたはワークレット内のワークフローまたはワークレット変

数の値を割り当てることができます。したがって、セッションがワークフロー内のワー

クレット内にある場合は、ワークフロー変数ではなくワークレット変数から値を割り当

てることができます。

セッション実行前の変数割り当てでは、ワークレット変数を更新することはできませ

ん。

セッションでのパラメータ値および変数値の割り当て 235

Page 255: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

¨ セッション実行後の成功時の変数割り当て親ワークフローまたは親ワークレット内のワ

ークフロー変数やワークレット変数は、セッションが正常に完了した後に更新できま

す。 これらの変数には、マッピングパラメータおよびマッピング変数の値を割り当てる

ことができます。

¨ セッション実行後の失敗時の変数割り当てセッションが失敗した場合に、親ワークフロ

ーまたは親ワークレット内のワークフロー変数やワークレット変数を更新できます。

これらの変数には、マッピングパラメータおよびマッピング変数の値を割り当てること

ができます。

パラメータおよび変数はセッションプロパティの[コンポーネント]タブで割り当てま

す。

セッション間でのパラメータ値および変数値の受け渡し

1つのセッションから同じワークフローやワークレット内の以降のセッションに値を渡すた

めに、セッション内でパラメータ値および変数値を割り当てることができます。例えば、

ワークフローに、2つのセッションs_NewCustomersとs_MergeCustomersが含まれていると

します。Session s_MergeCustomersは、 s_NewCustomersで更新されたマッピング変数の

値を使用する必要があります。

以下の図にワークフローを示します。

s_NewCustomersからs_MergeCustomersにマッピング変数値を渡すには、次の手順を実行し

ます。

1. 例えば、マッピング変数$$Count1を使用するように、セッション s_NewCustomers に

関連付けられたマッピングを設定します。

2. 例えば、マッピング変数$$Count2を使用するように、セッション s_MergeCustomers

に関連付けられたマッピングを設定します。

3. 例えば、ユーザー定義のワークフロー変数$$PassCountValueを使用するように、ワー

クフローを設定します。

4. セッションが正常に完了した後にマッピング変数$$Count1の値をワークフロー変数$

$PassCountValueに割り当てるように、セッションs_NewCustomersを設定します。

5. セッションの開始前にワークフロー変数$$PassCountValueの値をマッピング変数$

$Count2に割り当てるように、セッションs_MergeCustomersを設定します。

236 章 15: セッションのパラメータおよび変数

Page 256: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

変数割り当ての設定

ワークレットを編集するときには[変数]タブで変数を割り当てます。ワークレットの実

行前または実行後に、次のタイプの変数に値を割り当てます。

¨ ワークレット実行前の変数割り当て。ユーザー定義のワークレット変数を、親ワークフ

ローまたはワークレット変数の値、あるいはワークフロー内の他のタスクからのマッピ

ング変数またはこのワークレットの前に実行している親ワークレットの値で更新しま

す。

¨ ワークレット実行後の変数割り当て。親ワークフローおよびワークレット変数を、ユー

ザー定義ワークレット変数の値で更新します。

ワークレット内の変数を割り当てるには:

1. 変数を割り当てるワークレットを編集します。

2. [変数]タブをクリックします。

3. 変数割り当てタイプを選択します。

¨ ワークレット実行前の変数割り当て。ワークレットの実行前にユーザー定義のワー

クレット変数に値を割り当てます。

¨ ワークレット実行後の変数割り当て。ワークレットの完了後に親ワークフローおよ

びワークレット変数に値を割り当てます。

4. 変数割り当てフィールドの[編集]ボタンをクリックします。

5. プリワークレット変数またはポストワークレット変数の割り当て領域で、追加ボタン

をクリックして、変数割り当て文を追加します。

6. [ユーザー定義ワークレット変数]フィールドおよび[親ワークフロー/ワークレット

変数]フィールドのオープンボタンをクリックして、値を読み込む変数または値を割

り当てる変数を選択します。プリワークレット変数の割り当てでは、これらのフィー

ルドにパラメータと変数名を入力する場合があります。Workflow Managerでは、パラ

メータと変数名は検査されません。

Workflow Managerは、割り当て文の右側から割り当て文の左側の変数に値を割り当て

ます。したがって、変数割り当て文が“$$SiteURL_WFVar=$$SiteURL_WkltVar,”の場

合、Workflow Managerは$$SiteURL_WkltVar の値を$$SiteURL_WFVarに割り当てま

す。

7. Configuring Variable Assignmentsから6までの手順を繰り返して、さらに変数割り

当て文を追加します。

変数割り当て文を削除するには、割り当て文のフィールドの1つをクリックして、[カ

ット]ボタンをクリックします。

8. [OK]をクリックします。

セッションでのパラメータ値および変数値の割り当て 237

Page 257: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

第 1 6 章

パラメータファイル

この章では、以下の項目について説明します。

¨ パラメータファイルの概要, 238 ページ

¨ パラメータおよび変数のタイプ, 239 ページ

¨ パラメータおよび変数を使用する場所, 240 ページ

¨ パラメータファイル内の接続属性のオーバーライド, 252 ページ

¨ パラメータファイル構造体, 253 ページ

¨ パラメータファイル名および場所の設定, 257 ページ

¨ パラメータファイルの例, 260 ページ

¨ パラメータファイルの作成に関するガイドライン, 261 ページ

¨ パラメータおよびパラメータファイルのトラブルシューティング, 262 ページ

¨ パラメータおよびパラメータファイルに関するヒント, 263 ページ

パラメータファイルの概要パラメータファイルは、パラメータと変数、およびそれらに関連する値のリストです。こ

れらの値はサービス、サービスプロセス、ワークフロー、ワークレット、またはセッショ

ンのプロパティを定義します。Integration Serviceにより、これらの値は、パラメータフ

ァイルを使用するワークフローまたはセッションを実行する際に適用されます。

パラメータファイルを使用すると、セッションまたはワークフローを実行するたびに、パ

ラメータや変数の値を柔軟に変更することができます。複数のサービス、サービスプロセ

ス、ワークフロー、ワークレット、およびセッションに関する情報を1つのパラメータファ

イルに含めることができます。また、複数のパラメータファイルを作成し、セッションま

たはワークフローを実行するたびに異なるファイルを使用することもできます。

Integration Serviceにより、ワークフローまたはセッションの開始時にパラメータファイ

ルが読み込まれ、ファイルに定義されたパラメータおよび変数の開始値が決定されます。

パラメータファイルはワードパッドやメモ帳などのテキストエディタを使って作成できま

す。

238

Page 258: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

パラメータファイルを使用する際は、以下に注意してください。

¨ パラメータおよび変数のタイプ。1つのパラメータファイル内に、さまざまなタイプの

パラメータと変数を定義できます。 サービス変数、サービスプロセス変数、ワークフ

ロー変数とワークレット変数、セッションパラメータ、およびマッピングパラメータと

マッピング変数などが含まれます。

¨ パラメータファイルに設定可能なプロパティ。パラメータおよび変数を使用して、

DesignerおよびWorkflow Manager内に多数のプロパティを定義します。 例えば、リレ

ーショナルターゲットインスタンスの更新の上書きとしてセッションパラメータを入力

し、パラメータファイルのUPDATE文にこのパラメータを設定できます。パラメータは、

Integration Serviceでセッションの実行時に展開されます。

¨ パラメータファイル構造体。パラメータ名または変数名、およびパラメータ値または変

数値を「name=value」形式で1行に入力することで、パラメータファイルのパラメータ

または変数に値を割り当てます。 パラメータおよび変数のグループの先頭には、パラ

メータまたは変数を適用するサービス、サービスプロセス、ワークフロー、ワークレッ

ト、またはセッションを識別する見出しを付ける必要があります。

¨ パラメータファイルの場所。ワークフローまたはセッションで使用するパラメータファ

イルを指定します。 ワークフローまたはセッションのプロパティ、あるいはpmcmdコマ

ンドラインに、パラメータファイルの名前とディレクトリを入力できます。

パラメータおよび変数のタイプパラメータファイルには、さまざまなタイプのパラメータおよび変数を含めることができ

ます。パラメータファイルを使用するセッションまたはワークフローの実行時には、

Integration Serviceによってパラメータファイルが読み込まれ、ファイル内に定義された

パラメータおよび変数が展開されます。

パラメータファイルには、以下のタイプのパラメータおよび変数を定義できます。

¨ サービス変数。電子メールアドレス、ログファイル数、エラーしきい値など、

Integration Serviceの一般的なプロパティを定義します。 $PMSuccessEmailUser、

$PMSessionLogCount、$PMSessionErrorThresholdなどは、サービス変数の例です。パ

ラメータファイルで定義したサービス変数値は、Administratorツールで設定された値

をオーバーライドします。

¨ サービスプロセス変数。各Integration ServiceプロセスのIntegration Serviceファ

イルのディレクトリを定義します。 $PMRootDir、$PMSessionLogDir、$PMBadFileDir

などは、サービスプロセス変数の例です。パラメータファイルで定義したサービスプロ

セス変数値は、Administratorツールで設定された値をオーバーライドします。

Integration Serviceがオペレーティングシステムのプロファイルを使用する場合、オ

ペレーティングシステムのプロファイルで指定されているペレーティングシステムのユ

ーザーは、サービスプロセス変数に定義されたディレクトリへのアクセス権を持つ必要

があります。

¨ ワークフロー変数。ワークフロー内のタスク条件とレコード情報を評価します。 たと

えば、[ディシジョン]タスク内でワークフロー変数を使用して、直前のタスクが正常

に実行されたかどうかを判定できます。ワークフローで、$TaskName.PrevTaskStatus

パラメータおよび変数のタイプ 239

Page 259: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

は、組み込みワークフロー変数で、$$VariableNameは、ユーザー定義のワークフロー変

数です。

¨ ワークレット変数。 ワークレット内のタスク条件とレコード情報を評価します。親ワ

ークフロー内では定義済みのワークレット変数を使用できます。ただし、ワークレット

内では親ワークフローのワークフロー変数を使用することはできません。ワークレット

で、$TaskName.PrevTaskStatusは、定義済みのワークレット変数で、$$VariableName

は、ユーザー定義のワークレット変数です。

¨ セッションパラメータ。データベース接続またはファイル名など、セッション間で変更

できる値を定義します。 $PMSessionLogFileおよび$ParamNameは、ユーザー定義のセ

ッションパラメータです。

¨ マッピングパラメータ。消費税率など、セッション全体で一定の値を定義します。 マ

ッピングまたはマップレットで宣言される$$ParameterNameは、ユーザー定義のマッピ

ングパラメータです。

¨ マッピング変数。 セッション中に変更できる値を定義します。Integration Service

は、セッションが正常に実行されるたびに、そのセッションの 後にマッピング変数の

値をリポジトリに保存し、その値を次回セッションを実行するときに使用します。 マ

ッピングまたはマプレットで宣言される$$VariableNameは、マッピング変数です。

パラメータファイルには、以下のタイプの変数を定義することはできません。

¨ $Source接続変数および$Target接続変数。 リレーショナルソース、リレーショナルタ

ーゲット、ルックアップテーブル、またはストアドプロシージャ用のデータベースの場

所を定義します。

¨ 電子メール変数。 ロードされる行の数、セッションの完了時間、読み込み統計および

書き込み統計など、電子メールメッセージ内のセッション情報を定義します。

¨ ローカル変数。アグリゲータ、式、およびランクトランスフォーメーション内の変数ポ

ート内のデータを一時的に格納します。

¨ 組み込み変数。 Integration Service名やシステム日付などのランタイム情報またはシ

ステム情報を返す変数。

¨ トランザクション制御変数。データベース行の処理中にトランザクションをコミットま

たはロールバックする条件を定義します。

¨ ABAPプログラム変数。SAP構造体、SAP構造体のフィールド、またはABAPプログラムの値

を表します。

パラメータおよび変数を使用する場所パラメータおよび変数を使用して、DesignerやWorkflow Managerのプロパティに値を割り

当てたり、サービスおよびサービスプロセスのプロパティを上書きしたりできます。例え

ば、パラメータを使用して、ルックアップキャッシュファイル名の接頭語、またはFTP接続

のデフォルトリモートディレクトリを指定できます。

プロパティがSQL文またはSQLコマンドの場合、SQL文またはSQLコマンド内にパラメータお

よび変数を使用するか、あるいはプロパティの入力フィールドにパラメータまたは変数を

入力して、そのパラメータまたは変数をパラメータファイル内の文またはコマンド全体に

設定することができます。

240 章 16: パラメータファイル

Page 260: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

例えば、リレーショナルターゲットの上書きでパラメータまたは変数を使用するとしま

す。リレーショナルターゲットの上書きのUPDATEステートメント内にパラメータまたは変

数を入力して、パラメータファイルの適切な見出しの下にパラメータまたは変数を定義で

きます。または、パラメータファイルでUPDATEステートメントを定義するには、以下の手

順を実行します。

1. Designerで、ターゲットインスタンスを編集し、[更新の上書き]フィールドにセッ

ションパラメータ$ParamMyOverrideを入力し、マッピングを保存します。

2. Workflow Managerで、パラメータファイルを使用するようにワークフローまたはセッ

ションを設定します。

3. パラメータファイルの適切な見出しの下にあるSQL UPDATE文に$ParamMyOverrideを設

定します。

また、パラメータファイルを使用して、Administratorツールで定義したサービスおよびサ

ービスプロセスのプロパティをオーバーライドすることもできます。 例えば、セッション

ログディレクトリ$PMSessionLogDirを上書きすることができます。これには、パラメータ

ファイルを使用するようにワークフローまたはセッションを設定し、パラメータファイル

で新しいファイルパスに$PMSessionLogDirを設定します。

パラメータおよび変数は、以下のPowerCenterオブジェクトに指定できます。

¨ ソース。ソースに関連する入力フィールドにパラメータおよび変数を使用できます。

¨ ターゲット。ターゲットに関連する入力フィールドにパラメータおよび変数を使用でき

ます。

¨ トランスフォーメーション。トランスフォーメーションに関連する入力フィールドにパ

ラメータおよび変数を使用できます。

¨ タスク。Workflow Managerのタスクに関連する入力フィールドにパラメータおよび変数

を使用できます。

¨ セッション。セッションタスクに関連する入力フィールドにパラメータおよび変数を使

用できます。

¨ ワークフロー。ワークフローに関連する入力フィールドにパラメータおよび変数を使用

できます。

¨ 接続。接続オブジェクトに関連する入力フィールドにパラメータおよび変数を使用でき

ます。

¨ データプロファイリングオブジェクト。データプロファイリングに関連する入力フィー

ルドにパラメータおよび変数を使用できます。

以下の表に、パラメータおよび変数を指定できるソースに関連する入力フィールドを一覧

表示します。

表 5. パラメータおよび変数を受け入れるソース入力フィールド

ソースタイプ フィールド 有効なパラメータおよび変数のタ

イプ

リレーショナル ソーステーブル名 ワークフロー変数、ワークレット

変数、セッションパラメータ、マ

ッピングパラメータ、およびマッ

ピング変数。

パラメータおよび変数を使用する場所 241

Page 261: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

ソースタイプ フィールド 有効なパラメータおよび変数のタ

イプ

Workflow Managerのセッションプ

ロパティ([マッピング]タブ)

でパラメータおよび変数をオーバ

ーライドする際に、このフィール

ドにパラメータおよび変数を指定

することができます。

PeopleSoft SetID、

有効日、

ツリー名、

制御値設定、

抽出日

すべて。

TIBCO TIB/Adapter SDKリポジ

トリURL

サービスおよびサービスプロセス

変数。

Webサービス エンドポイントURL マッピングパラメータとマッピン

グ変数

Workflow Managerのセッションプ

ロパティ([マッピング]タブ)

でパラメータおよび変数をオーバ

ーライドする際に、このフィール

ドにパラメータおよび変数を指定

することができます。

以下の表に、パラメータおよび変数を指定できるターゲットに関連する入力フィールドを

一覧表示します。

表 6. パラメータおよび変数を受け入れるターゲット入力フィールド

ターゲットタ

イプ

フィールド 有効なパラメータおよび変数のタ

イプ

リレーショナル 更新オーバーライド

セッション実行前およ

び実行後のSQLコマンド

すべて。

Workflow Managerのセッションプ

ロパティ([マッピング]タブ)

でパラメータおよび変数をオーバ

ーライドする際に、これらのフィ

ールドにパラメータおよび変数を

指定することができます。

リレーショナル ターゲットテーブル名 ワークフロー変数、ワークレット

変数、セッションパラメータ、マ

ッピングパラメータ、およびマッ

ピング変数。

Workflow Managerのセッションプ

ロパティ([マッピング]タブ)

でパラメータおよび変数をオーバ

242 章 16: パラメータファイル

Page 262: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

ターゲットタ

イプ

フィールド 有効なパラメータおよび変数のタ

イプ

ーライドする際に、このフィール

ドにパラメータおよび変数を指定

することができます。

XML キャッシュディレクト

サービスおよびサービスプロセス

変数。

Workflow Managerのセッションプ

ロパティ([マッピング]タブ)

でパラメータおよび変数をオーバ

ーライドする際に、このフィール

ドにパラメータおよび変数を指定

することができます。

TIBCO TIB/Adapter SDKリポジ

トリURL

サービスおよびサービスプロセス

変数。

Webサービス エンドポイントURL マッピングパラメータとマッピン

グ変数。

Workflow Managerのセッションプ

ロパティ([マッピング]タブ)

でパラメータおよび変数をオーバ

ーライドする際に、このフィール

ドにパラメータおよび変数を指定

することができます。

以下の表に、パラメータおよび変数を指定できるトランスフォーメーションに関連する入

力フィールドを一覧表示します。

表 7. パラメータおよび変数を受け入れるトランスフォーメーション入力フィールド

トランスフォ

ーメーション

のタイプ

フィールド 有効なパラメータおよび変数のタ

イプ

式エディタを使

用可能なトラン

スフォーメーシ

ョン

トランスフォーメーシ

ョンの式

マッピングパラメータとマッピン

グ変数。

アグリゲータ、

ジョイナ、ルッ

クアップ、ラン

ク、XMLジェネ

レータ

キャッシュディレクト

サービスおよびサービスプロセス

変数。

Workflow Managerのセッションプ

ロパティ([マッピング]タブ)

でパラメータおよび変数をオーバ

ーライドする際に、このフィール

ドにパラメータおよび変数を指定

することができます。

パラメータおよび変数を使用する場所 243

Page 263: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

トランスフォ

ーメーション

のタイプ

フィールド 有効なパラメータおよび変数のタ

イプ

カスタム、エク

スターナルプロ

シージャ、

HTTP、XMLパー

サー

実行時位置 サービスおよびサービスプロセス

変数。

Workflow Managerのセッションプ

ロパティ([マッピング]タブ)

でパラメータおよび変数をオーバ

ーライドする際に、このフィール

ドにパラメータおよび変数を指定

することができます。

データマスク シード マッピングパラメータとマッピン

グ変数。

エクスターナル

プロシージャ

初期化プロパティ サービスおよびサービスプロセス

変数。

HTTP ベースURL マッピングパラメータとマッピン

グ変数。

ルックアップ SQLオーバーライド

キャッシュファイル名

のプレフィックス

すべて。

Workflow Managerのセッションプ

ロパティ([マッピング]タブ)

でパラメータおよび変数をオーバ

ーライドする際に、このフィール

ドにパラメータおよび変数を指定

することができます。

ルックアップ 接続情報 セッションパラメータ

$DBConnectionNameおよび

$AppConnectionName、接続変数

$Sourceおよび$Target、マッピン

グパラメータおよび変数。

Workflow Managerのセッションプ

ロパティ([マッピング]タブ)

でパラメータおよび変数をオーバ

ーライドする際に、このフィール

ドにパラメータおよび変数を指定

することができます。

ソータ デフォルトワークディ

レクトリ

サービスおよびサービスプロセス

変数。

Workflow Managerのセッションプ

ロパティ([マッピング]タブ)

でパラメータおよび変数をオーバ

ーライドする際に、このフィール

ドにパラメータおよび変数を指定

することができます。

ソース修飾子

(リレーショナ

ルソース)

SQLクエリ

ユーザー定義結合

ソースフィルタ条件。

すべて。

Workflow Managerのセッションプ

ロパティ([マッピング]タブ)

244 章 16: パラメータファイル

Page 264: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

トランスフォ

ーメーション

のタイプ

フィールド 有効なパラメータおよび変数のタ

イプ

セッション実行前およ

び実行後のSQLコマンド

でパラメータおよび変数をオーバ

ーライドする際に、このフィール

ドにパラメータおよび変数を指定

することができます。

SQL スクリプトファイル名 マッピングパラメータとマッピン

グ変数。

Workflow Managerのセッションプ

ロパティ([マッピング]タブ)

でパラメータおよび変数をオーバ

ーライドする際に、このフィール

ドにパラメータおよび変数を指定

することができます。

ストアドプロシ

ージャ

呼び出しテキスト(未

接続のストアドプロシ

ージャ)

すべて。

Workflow Managerのセッションプ

ロパティ([マッピング]タブ)

でパラメータおよび変数をオーバ

ーライドする際に、このフィール

ドにパラメータおよび変数を指定

することができます。

ストアドプロシ

ージャ

接続情報 セッションパラメータ

$DBConnectionName、接続変数

$Sourceおよび$Target。

Workflow Managerのセッションプ

ロパティ([マッピング]タブ)

でパラメータおよび変数をオーバ

ーライドする際に、このフィール

ドにパラメータおよび変数を指定

することができます。

Webサービスコ

ンシューマ

エンドポイントURL マッピングパラメータとマッピン

グ変数。

Workflow Managerのセッションプ

ロパティ([マッピング]タブ)

でパラメータおよび変数をオーバ

ーライドする際に、このフィール

ドにパラメータおよび変数を指定

することができます。

パラメータおよび変数を使用する場所 245

Page 265: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

以下の表に、パラメータおよび変数を指定できるWorkflow Managerのタスクに関連する入

力フィールドを一覧表示します。

表 8. パラメータおよび変数を受け入れるタスク入力フィールド

タスクタイプ フィールド 有効なパラメータおよび変数のタ

イプ

[割り当て]タ

スク

割り当て(ユーザー定

義変数および式)

ワークフロー変数とワークレット

変数

[コマンド]タ

スク

コマンド(名前および

コマンド)

サービス、サービスプロセス、ワ

ークフロー、およびとワークレッ

ト変数

[コマンド]タ

スク

セッション実行前およ

び実行後のシェルコマ

ンド

すべて

[ディシジョ

ン]タスク

ディシジョン名(評価

する条件)

ワークフロー変数とワークレット

変数

電子メールタス

メールユーザー名、件

名、および本文

サービス、サービスプロセス、ワ

ークフロー、およびとワークレッ

ト変数

[イベント待

ち]タスク

トリガファイル名(定

義済みイベント)

サービス、サービスプロセス、ワ

ークフロー、およびとワークレッ

ト変数

リンク リンク条件 サービス、サービスプロセス、ワ

ークフロー、およびとワークレッ

ト変数

セッション Where to Use Parameters and Variablesを参照してくださ

い。

[タイマ]タス

時刻指定: ワークフロ

ー変数から開始時刻を

決定する

ワークフロー変数とワークレット

変数

246 章 16: パラメータファイル

Page 266: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

以下の表に、パラメータおよび変数を指定できるセッションに関連する入力フィールドを

一覧表示します。

表 9. パラメータおよび変数を受け入れるセッション入力フィールド

タブ フィールド 有効なパラメータおよび変数のタ

イプ

[プロパティ]

タブ

セッションログファイ

ル名

組み込みセッションパラメータ

$PMSessionLogFile。

[プロパティ]

タブ

セッションログファイ

ルディレクトリ

サービスおよびサービスプロセス

変数。

[プロパティ]

タブ

パラメータファイル名 ワークフローとワークレット変

数。

[プロパティ]

タブ

$Source接続値および

$Target接続値

セッションパラメータ

$DBConnectionNameおよび

$AppConnectionName、接続変数

$Sourceおよび$Target。

[プロパティ]

タブ

プッシュダウンの 適

化セッションプロパテ

マッピングパラメータ$

$PushdownConfig。

[設定オブジェ

クト]タブ

セッションログカウン

ト数

サービス変数

$PMSessionLogCount。

[設定オブジェ

クト]タブ

セッションエラーしき

い値

サービス変数

$PMSessionErrorThreshold。

[設定オブジェ

クト]タブ

リレーショナルエラー

ログのテーブル名の接

頭語

すべて。

[設定オブジェ

クト]タブ

エラーログファイル名

およびエラーログファ

イルディレクトリ

サービス変数、サービスプロセス

変数、ワークフロー変数、ワーク

レット変数、セッションパラメー

タ。

[設定オブジェ

クト]タブ

動的パーティション化

のパーティション数

組み込みセッションパラメータ

$DynamicPartitionCount。

[マッピング]

タブ

マッピングで設定する

プロパティを上書きす

るトランスフォーメー

ションプロパティ

プロパティによって変わります。

詳細については、Where to Use

Parameters and Variablesを参照

してください。

[マッピング]

タブ

リレーショナル接続値 セッションパラメータ

$DBConnectionName、接続変数

$Sourceおよび$Target。

[マッピング]

タブ

キュー接続値 セッションパラメータ

$QueueConnectionName。

パラメータおよび変数を使用する場所 247

Page 267: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

タブ フィールド 有効なパラメータおよび変数のタ

イプ

この接続タイプの場合、パラメー

タファイル内の接続属性はオーバ

ーライドできます。

[マッピング]

タブ

FTP接続値 セッションパラメータ

$FTPConnectionName。

この接続タイプの場合、パラメー

タファイル内の接続属性はオーバ

ーライドできます。

[マッピング]

タブ

アプリケーション接続

セッションパラメータ

$AppConnectionName。

この接続タイプの場合、パラメー

タファイル内の接続属性はオーバ

ーライドできます。

[マッピング]

タブ

外部ローダー接続値 セッションパラメータ

$LoaderConnectionName。

この接続タイプの場合、パラメー

タファイル内の接続属性はオーバ

ーライドできます。

[マッピング]

タブ

FTPリモートファイル名 すべて。

[マッピング]

タブ

ルックアップソースフ

ァイル名およびルック

アップソースファイル

ディレクトリ

サービス変数、サービスプロセス

変数、ワークフロー変数、ワーク

レット変数、セッションパラメー

タ。

[マッピング]

タブ

セッション実行前およ

び実行後のSQLコマンド

(ソースおよびターゲ

ット)

すべて。

[マッピング]

タブ

ファイルソースおよび

ファイルターゲット用

のコードページ

ワークフロー変数、ワークレット

変数、セッションパラメータ

$ParamName。

[マッピング]

タブ

ソース入力ファイル名

およびソース入力ファ

イルディレクトリ

サービス変数、サービスプロセス

変数、ワークフロー変数、ワーク

レット変数、セッションパラメー

タ。

[マッピング]

タブ

ソース入力ファイルコ

マンド

サービス変数、サービスプロセス

変数、ワークフロー変数、ワーク

レット変数、セッションパラメー

タ。

[マッピング]

タブ

リレーショナルソース

のテーブル所有者名

すべて。

248 章 16: パラメータファイル

Page 268: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

タブ フィールド 有効なパラメータおよび変数のタ

イプ

[マッピング]

タブ

ターゲット統合ファイ

ル名およびターゲット

統合ファイルディレク

トリ

サービス変数、サービスプロセス

変数、ワークフロー変数、ワーク

レット変数、セッションパラメー

タ。

[マッピング]

タブ

ターゲット統合コマン

サービス変数、サービスプロセス

変数、ワークフロー変数、ワーク

レット変数、セッションパラメー

タ。

[マッピング]

タブ

ターゲットヘッダおよ

びターゲットフッタの

コマンド

サービス変数、サービスプロセス

変数、ワークフロー変数、ワーク

レット変数、セッションパラメー

タ。

[マッピング]

タブ

ターゲット出力ファイ

ル名およびターゲット

出力ファイルディレク

トリ

サービス変数、サービスプロセス

変数、ワークフロー変数、ワーク

レット変数、セッションパラメー

タ。

[マッピング]

タブ

ターゲット拒否ファイ

ル名およびターゲット

拒否ファイルディレク

トリ

サービス変数、サービスプロセス

変数、ワークフロー変数、ワーク

レット変数、セッションパラメー

タ。

[マッピング]

タブ

ターゲットテーブル名

接頭語

すべて。

[マッピング]

タブ

Teradata FastExport一

時ファイル

サービスおよびサービスプロセス

変数。

[マッピング]

タブ

Teradata外部ローダー

用の制御ファイルコン

テンツのオーバーライ

すべて。

[マッピング]

タブ

WebSphere MQ、JMS、

SAP ALE IDoc、TIBCO、

webMethods、Web

Service Providerソー

ス用のリカバリキャッ

シュディレクトリ

サービスおよびサービスプロセス

変数。

[マッピング]

タブ

継続サブスクリプショ

ン名

セッションパラメータ$Param名。

[マッピング]

タブ

MQソース修飾子フィル

タ条件

すべて。

[マッピング]

タブ

SAPステージングファイ

ル名およびSAPステージ

サービス変数、サービスプロセス

変数、ワークフロー変数、ワーク

パラメータおよび変数を使用する場所 249

Page 269: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

タブ フィールド 有効なパラメータおよび変数のタ

イプ

ングファイルディレク

トリ

レット変数、セッションパラメー

タ。

[マッピング]

タブ

SAPソースファイルディ

レクトリ

サービス変数、サービスプロセス

変数、ワークフロー変数、ワーク

レット変数、セッションパラメー

タ。

[コンポーネン

ト]タブ

セッション後のメール

(ユーザー名、件名、

および本文)

すべて。

[コンポーネン

ト]タブ

セッション実行後に発

信されるメールの添付

ファイル名

すべて。

以下の表に、パラメータおよび変数を指定できるワークフローに関連する入力フィールド

を一覧表示します。

表 10. パラメータおよび変数を受け入れるワークフロー入力フィールド

タブ フィールド 有効なパラメータおよび変数のタ

イプ

[プロパティ]

タブ

ワークフローログファ

イル名およびワークフ

ローログファイルディ

レクトリ

サービス、サービスプロセス、ワ

ークフロー、およびワークレット

変数。

[プロパティ]

タブ

ワークフローログカウ

ント数

サービス変数

$PMWorkflowLogCount。

[全般]タブ サスペンド時のメール

(ユーザー名、件名、

および本文)

サービス、サービスプロセス、ワ

ークフロー、およびワークレット

変数。

以下の表に、パラメータおよび変数を指定できるWorkflow Managerの接続オブジェクトに

関連する入力フィールドを一覧表示します。

表 11. パラメータおよび変数を指定できる接続オブジェクト入力フィールド

接続タイプ フィールド 有効なパラメータおよび変数のタ

イプ

リレーショナル データベースユーザー

名、パスワード

セッションパラメータ

$ParamName。

250 章 16: パラメータファイル

Page 270: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

接続タイプ フィールド 有効なパラメータおよび変数のタ

イプ

pmpasswdコマンドラインプログラ

ムを使用し、CRYPT_DATA暗号化タ

イプを指定して、パラメータファ

イル内のパスワードを暗号化しま

す。

リレーショナ

ル: ソース、タ

ーゲット、ルッ

クアップ、スト

アドプロシージ

接続およびトランザク

ション環境SQL

すべて。

FTP ホストマシンのユーザ

ー名、パスワード

セッションパラメータ

$ParamName。

pmpasswdコマンドラインプログラ

ムを使用し、CRYPT_DATA暗号化タ

イプを指定して、パラメータファ

イル内のパスワードを暗号化しま

す。

FTP デフォルトリモートデ

ィレクトリ

すべて。

アプリケーショ

アプリケーションユー

ザー名、パスワード

セッションパラメータ

$ParamName。

pmpasswdコマンドラインプログラ

ムを使用し、CRYPT_DATA暗号化タ

イプを指定して、パラメータファ

イル内のパスワードを暗号化しま

す。

アプリケーショ

ン: Webサービ

スコンシューマ

エンドポイントURL セッションパラメータ

$ParamName、マッピングパラメー

タと変数。

アプリケーショ

ン: HTTP

ベースURL セッションパラメータ

$ParamName。

アプリケーショ

ン: JMS

JMS接続先 セッションパラメータ

$ParamName。

ローダー データベースユーザー

名、パスワード

セッションパラメータ

$ParamName。

pmpasswdコマンドラインプログラ

ムを使用し、CRYPT_DATA暗号化タ

イプを指定して、パラメータファ

イル内のパスワードを暗号化しま

す。

パラメータおよび変数を使用する場所 251

Page 271: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

以下の表に、パラメータおよび変数を指定できるデータプロファイリングに関連する入力

フィールドを一覧表示します。

表 12. パラメータおよび変数を受け入れるデータプロファイリング入力フィールド

オブジェクト フィールド 有効なパラメータおよび変数のタ

イプ

データプロファ

イルドメイン

データプロファイリン

グドメイン値

サービスおよびサービスプロセス

変数

パラメータファイル内の接続属性のオーバーライド

セッションパラメータを使用してソースまたはターゲットの接続を定義する場合、パラメ

ータファイル内の接続属性を上書きすることができます。$FTPConnectionName、

$QueueConnectionName、$LoaderConnectionName、または$AppConnectionNameセッション

パラメータを使用します。

パラメータファイル内に接続を定義すると、接続属性を定義する特定のユーザー定義セッ

ションパラメータがIntegration Serviceによって検索されます。たとえば、

$QueueConnectionMyMQというメッセージキュー接続パラメータを作成して、パラメータフ

ァイル内の“[s_MySession]”セクションで定義するとします。 Integration Service

は、パラメータファイル内のこのセクションを検索し、「rows per message(メッセージ

あたりの行数)」パラメータ$Param_QueueConnectionMyMQ_Rows_Per_Messageを探しま

す。

PowerCenterをインストールすると、FTP、キュー、ローダ、およびアプリケーション接続

用の上書き可能な接続属性をリストしたConnectionParam.prmという名前のテンプレートフ

ァイルが、インストールプログラムによって作成されます。 ConnectionParam.prmファイ

ルは、次のディレクトリに配置されています。

<PowerCenter Installation Directory>/server/bin

パラメータファイル内に接続を定義する際には、適切な接続タイプのテンプレートをコピ

ーしてパラメータファイル内に貼り付けてください。その後、パラメータ値を指定しま

す。

たとえば、パラメータファイル内にFTP接続の接続属性を上書きするには、次の手順を実行

します。

1. セッションまたはワークフローをパラメータファイルで実行されるように設定しま

す。

2. セッションプロパティの[マッピング]タブで、[接続]ノード内のソースインスタ

ンスまたはターゲットインスタンスを選択します。

252 章 16: パラメータファイル

Page 272: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

3. [値]フィールドで[開く]ボタンをクリックして、セッションパラメータを使用す

るように接続を設定します。たとえば、FTP接続には$FTPConnectionMyFTPConnを使用

します。

4. テキストエディタでConnectionParam.prmテンプレートファイルを開き、属性を上書

きする対象の接続タイプのセクションまでスクロールします。たとえば、FTP接続の場

合、 「接続タイプ:FTP」セクションに位置付けます。

Connection Type : FTP

---------------------

...

Template

====================

$FTPConnection<VariableName>=

$Param_FTPConnection<VariableName>_Remote_Filename=

$Param_FTPConnection<VariableName>_Is_Staged=

$Param_FTPConnection<VariableName>_Is_Transfer_Mode_ASCII=

5. 上書きする接続属性のテンプレートテキストをコピーします。例えば、[リモートフ

ァイル名]属性および[Is Staged]属性を上書きするには、次の行をコピーします。

$FTPConnection<VariableName>=

$Param_FTPConnection<VariableName>_Remote_Filename=

$Param_FTPConnection<VariableName>_Is_Staged=

6. テキストをパラメータファイルに貼り付けます。<VariableName>を接続名で置き換え

て、パラメータ値を指定します。以下に例を示します。

[MyFolder.WF:wf_MyWorkflow.ST:s_MySession]

$FTPConnectionMyFTPConn=FTP_Conn1

$Param_FTPConnectionMyFTPConn_Remote_Filename=ftp_src.txt

$Param_FTPConnectionMyFTPConn_Is_Staged=YES

注: 等号符号の前または後にあるスペースまたは引用符は、パラメータ名または値の

一部としてIntegration Serviceに解釈されます。

属性の値を定義しない場合、接続オブジェクト用に定義された値がIntegration

Serviceで使用されます。

パラメータファイル構造体パラメータファイルには、パラメータと変数、および割り当てられた値のリストが含まれ

ます。パラメータおよび変数はパラメータファイルの各セクションでグループ化されま

す。各セクションの先頭には、パラメータまたは変数を定義する、Integration Serviceプ

ロセス、ワークフロー、ワークレット、またはセッションを識別する見出しが付けられま

パラメータファイル構造体 253

Page 273: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

す。 見出しのすぐ下でパラメータや変数を定義します。このとき各パラメータや変数を新

しい行に入力します。各セクション内では、パラメータおよび変数を任意の順序で記述で

きます。

パラメータまたは変数の定義は、「名前=値」の形式で入力します。例えば、以下の行で

は、サービス変数$PMSuccessEmailUserとセッションパラメータ$ParamTgtOverrideに値が

割り当てられます。

[email protected]$ParamTgtOverride=UPDATE T_SALES SET DATE_SHIPPED = :TU.DATE_SHIPPED, TOTAL_SALES = :TU.TOTAL_SALES WHERE :TU.EMP_NAME = EMP_NAME and EMP_NAME = 'MIKE SMITH'

Integration Serviceでは、行の先頭から 初の等号までの間のすべての文字はパラメータ

名、 初の等号から行末までの間のすべての文字はパラメータ値として解釈されます。 し

たがって、パラメータ名と等号の間にスペースを入力した場合、そのスペースは

Integration Serviceによってパラメータ名の一部として解釈されます。 行に複数の等号

が含まれている場合、 初の等号の後にあるすべての等号はIntegration Serviceによって

パラメータ値の一部として解釈されます。

警告: Integration Serviceでは、 パラメータファイルを使用してワークフローを実行す

る際に、フォルダ、ワークフロー、およびセッションの名前を修飾するためにピリオド

(.)が使用されます。 フォルダ名にピリオド(.)が含まれる場合、Integration

Serviceにより名前が適切に修飾されず、ワークフローが失敗します。

パラメータファイルのセクション

パラメータおよび変数は、パラメータファイルのどのセクションにも定義できます。ワー

クフロー、ワークレットまたはセッションセクションにサービスまたはサービスプロセス

変数を定義する場合、その変数はタスクを実行するサービスプロセスに適用されます。同

様に、セッションセクションにワークフロー変数を定義する場合、そのワークフロー変数

の値はセッションを実行するときにのみ適用されます。

以下の表に、パラメータファイルの各セクションを定義するパラメータファイルの見出し

と、各セクションに定義するパラメータおよび変数の範囲を示します。

見出し 範囲

[グローバル] すべてのIntegration Services、

Integration Serviceプロセス、ワーク

フロー、ワークレット、およびセッショ

ン。

[サービス:サービス名] このサービスを実行する名前付きの

Integration Service、ワークフロー、

ワークレット、およびセッション。

[サービス:サービス名.ND:ノード名] このサービスプロセスを実行する名前付

きのIntegration Serviceプロセス、ワ

ークフロー、ワークレット、およびセッ

ション。

[フォルダ名.WF:ワークフロー名] 名前付きワークフローおよびワークフロ

ー内のすべてのセッション。

254 章 16: パラメータファイル

Page 274: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

見出し 範囲

[フォルダ名.WF:ワークフロー

名.WT:ワークレット名]

名前付きワークレットおよびワークレッ

ト内のすべてのセッション。

[フォルダ名.WF:ワークフロー

名.WT:ワークレット名.WT:ワークレ

ット名...]

ネストしたワークレットおよびネストし

たワークレット内のすべてのセッショ

ン。

[フォルダ名.WF:ワークフロー名.ST:

セッション名]

-または-

[フォルダ名.WF:ワークフロー名.WT:

ワークレット名.ST:セッション名]

-または-

[フォルダ名.セッション名]

-または-

[セッション名]

名前付きセッション。

各見出しはパラメータファイルで1つのみ作成します。パラメータファイルに同じ見出しを

何度も指定した場合、Integration Serviceでは 初の見出しの下のセクションの情報が使

用され、後続の同一の見出しの下のセクションの情報は無視されます。 例えば、パラメー

タファイルに以下のような同一の見出しが含まれていたとします。

[HET_TGTS.WF:wf_TCOMMIT1]$$platform=windows...[HET_TGTS.WF:wf_TCOMMIT1]$$platform=unix$DBConnection_ora=Ora2

ワークフローwf_TCOMMITでは、マッピングパラメータ$$platformの値は「unix」ではなく

「windows」で、セッションパラメータ$DBConnection_oraは定義されていません。

パラメータファイル内の複数のセクションで同じパラメータや変数を定義すると、 も小

さいスコープのパラメータまたは変数が、より大きいスコープのパラメータまたは変数よ

りも優先されます。たとえば、パラメータファイルには以下のセクションが含まれます。

[HET_TGTS.WF:wf_TGTS_ASC_ORDR]$DBConnection_ora=Ora2[HET_TGTS.WF:wf_TGTS_ASC_ORDR.ST:s_TGTS_ASC_ORDR]$DBConnection_ora=Ora3

セッションs_TGTS_ASC_ORDRでは、セッションパラメータ$DBConnection_oraの値は

「Ora3」です。ワークフロー内の他のすべてのセッションでは、「Ora2」となります。

コメント

パラメータファイルにはコメントを含めることができます。Integration Serviceでは、有

効でない見出しの行は無視されます。また、等号文字(=)は含まれません。 以下にパラ

メータファイルのコメントの例を示します。

---------------------------------------Created 10/11/06 by JSmith.*** Update the parameters below this line when you run this workflow on Integration Service Int_01.

パラメータファイル構造体 255

Page 275: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

***; This is a valid comment because this line contains no equals sign.

NULL値

パラメータファイルのパラメータおよび変数にはNULL値を割り当てることができます。パ

ラメータおよび変数にNULL値を割り当てると、Integration Serviceは、パラメータのタ

イプまたは変数のタイプに応じて、次の場所から値を取得します。

¨ サービスおよびサービスプロセス変数。Integration ServiceによりAdministratorツ

ール内で使用される値です。

¨ ワークフローとワークレット変数。Integration Serviceにより、リポジトリに保存さ

れている値(変数が永続の場合)、ユーザー固有のデフォルト値、またはデータタイプ

デフォルト値が使用されます。

¨ セッションパラメータ。セッションパラメータにはデフォルト値はありません。

Integration Serviceがセッションパラメータの値を検出できない場合、セッションが

失敗するか、空の文字列をデフォルト値とするか、実行時にパラメータの展開に失敗す

る可能性があります。たとえば、Integration Serviceはセッションパラメータ

$DBConnectionNameが定義されていないセッションに失敗します。

¨ マッピングパラメータとマッピング変数。Integration Serviceにより、リポジトリに

保存された値(マッピング変数のみ)、設定された初期値、またはデータタイプデフォ

ルト値が使用されます。

NULL値を割り当てるには、マッピングパラメータまたは変数の値を"<null>"に設定する

か、値を空欄のままにします。たとえば、以下の行では、サービスプロセス変数

$PMBadFileDirと$PMCacheDirにNULL値を割り当てます。

$PMBadFileDir=<null>$PMCacheDir=

サンプルのパラメータファイル

以下のテキストは、1つのIntegration Serviceのサービス変数および4つのワークフローの

パラメータを含むパラメータファイルからの抜粋です。

----------------------------------------File created by RSmith 11/12/2005----------------------------------------[Service:IntSvs_01][email protected][email protected][HET_TGTS.WF:wf_TCOMMIT_INST_ALIAS]$$platform=unix[HET_TGTS.WF:wf_TGTS_ASC_ORDR.ST:s_TGTS_ASC_ORDR]$$platform=unix$DBConnection_ora=Ora2$ParamAscOrderOverride=UPDATE T_SALES SET CUST_NAME = :TU.CUST_NAME, DATE_SHIPPED = :TU.DATE_SHIPPED, TOTAL_SALES = :TU.TOTAL_SALES WHERE CUST_ID = :TU.CUST_ID[ORDERS.WF:wf_PARAM_FILE.WT:WL_PARAM_Lvl_1]$$DT_WL_lvl_1=02/01/2005 01:05:11$$Double_WL_lvl_1=2.2[ORDERS.WF:wf_PARAM_FILE.WT:WL_PARAM_Lvl_1.WT:NWL_PARAM_Lvl_2]$$DT_WL_lvl_2=03/01/2005 01:01:01$$Int_WL_lvl_2=3$$String_WL_lvl_2=ccccc

256 章 16: パラメータファイル

Page 276: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

パラメータファイル名および場所の設定ワークフローまたはセッションを開始する場合は、パラメータファイルを使用して、パラ

メータ値および変数値をIntegration Serviceに渡します。 ワークフローまたはセッショ

ンのプロパティ、あるいはpmcmdコマンドラインに、パラメータファイル名とディレクトリ

を指定できます。 Integration Serviceでオペレーティングシステムプロファイルを使用

している場合、オペレーティングシステムプロファイルに指定されているオペレーティン

グシステムのユーザー名は、パラメータファイルへのアクセス権を持っている必要があり

ます。

pmcmdで使用するパラメータファイルは、ワークフローまたはセッションプロパティでパラ

メータファイルを上書きします。pmcmdコマンドラインにパラメータファイル名を入力しな

い場合、Integration Serviceでは、ワークフローおよびワークフロー内のすべてのセッシ

ョンのワークフロープロパティで指定したパラメータファイルが使用されます。 pmcmdコ

マンドラインまたはワークフロープロパティでパラメータファイル名を入力しない場合、

Integration Serviceでは、セッションプロパティで指定したパラメータファイルが使用さ

れます。

ワークフローまたはセッションでのパラメータファイルの使用

ワークフローまたはセッションのプロパティで、パラメータファイルの名前とディレクト

リを指定できます。ワークフローが並列実行されるように設定されている場合、各ワーク

フロー実行インスタンスのセッションに別々のパラメータファイルを使用するときは、セ

ッションパラメータファイル名としてワークフロー変数またはワークレット変数を指定し

ます。

ワークフローまたはセッションにパラメータファイルを指定しても、Integration Service

が指定したパラメータファイルを特定できない場合、ワークフローまたはセッションは失

敗します。

ワークフロープロパティ内のパラメータファイルの入力

ワークフローのプロパティでパラメータファイルを指定するには:

1. Workflow Managerでワークフローを開きます。

2. [ワークフロー]-[編集]をクリックします。

[ワークフローの編集]ダイアログボックスが表示されます。

3. [プロパティ]タブをクリックします。

4. [Parameter Filename(パラメータファイル名)]フィールドにパラメータファイル

の場所と名前を入力します。

ダイレクトパスまたはサービスプロセス変数のいずれかを入力できます。Integration

Serviceオペレーティングシステムに有効な区切り文字を使用します。 PowerCenter

環境を高可用性に設定した場合は、サービスプロセス変数をパスに含めます。

5. [OK]をクリックします。

パラメータファイル名および場所の設定 257

Page 277: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

セッションプロパティ内のパラメータファイルの入力

セッションのプロパティでパラメータファイルを指定するには:

1. Workflow Managerでセッションを開きます。

[Edit Tasks(タスクの編集)]ダイアログボックスが表示されます。

2. [プロパティ]タブをクリックし、[General Options]設定を開きます。

3. [Parameter Filename(パラメータファイル名)]フィールドにパラメータファイル

の場所と名前を入力します。

ダイレクトパスまたはサービスプロセス変数を入力できます。Integration Service

オペレーティングシステムに有効な区切り文字を使用します。 PowerCenter環境を高

可用性に設定した場合は、サービスプロセス変数ををパスに含めます。

また、ユーザー定義のワークフロー変数またはワークレット変数も入力することがで

きます。ワークフローパラメータファイル内にセッションパラメータファイル名を定

義するためのワークフロー変数またはワークレット変数を入力します。

4. [OK]をクリックします。

変数を使用したセッションパラメータファイルの指定

セッションパラメータファイル名として、ワークフロー変数またはワークレット変数を入

力できます。ワークフローが並列実行されるように設定されている場合、各ワークフロー

実行インスタンスのセッション用に別々のパラメータ値および変数値を定義するときは、

ワークフロー変数またはワークレット変数をセッションパラメータファイル名として入力

してください。

ワークフロー内のセッション用にワークフローパラメータファイルおよびセッションパラ

メータファイルを定義する場合、Integration Serviceではワークフローパラメータファイ

ルを使用するため、セッションパラメータファイルが無視されます。変数を使用してセッ

ションパラメータファイル名を定義する場合は、セッションパラメータファイル名を定義

し、ワークフローパラメータファイルに$PMMergeSessParamFile=TRUEを設定する必要があ

ります。$PMMergeSessParamFileプロパティを設定すると、Integration Serviceでセッシ

ョンパラメータファイルおよびワークフローパラメータファイルの両方が読み込まれま

す。

例えば、3つのセッションを含む2つのコンカレントインスタンスを実行するようにワーク

フローを設定したとします。

258 章 16: パラメータファイル

Page 278: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

1番目と2番目のワークフローインスタンスでは、セッションに次のセッションパラメータ

ファイルを使用します。

セッショ

セッションパラメータファイ

ル名

(1番目のワークフロー実行イ

ンスタンス)

セッションパラメータファイ

ル名

(2番目のワークフロー実行イ

ンスタンス)

s_1 s_1Inst1.txt s_1Inst2.txt

s_2 s_2Inst1.txt s_2Inst2.txt

s_3 s_3Inst1.txt s_3Inst2.txt

ワークフロー変数を作成して、セッションパラメータファイル名を格納できます。例え

ば、ユーザー定義のワークフロー変数$$s_1ParamFileName、$$s_2ParamFileName、および

$$s_3ParamFileNameを作成することができます。各セッションのセッションプロパティ

で、パラメータファイル名をワークフロー変数に設定してください。

セッション セッションパラメータファイル名

セッションプロパティ内

s_1 $$s_1ParamFileName

s_2 $$s_2ParamFileName

s_3 $$s_3ParamFileName

各ワークフローインスタンスのワークフローパラメータファイルで、各ワークフロー変数

を正しいセッションパラメータファイル名に設定し、$PMMergeSessParamFile=TRUEを設定

します。

セッションパラメータファイル名として変数を使用した場合、セッションパラメータファ

イルとワークフローパラメータファイルの両方に同じパラメータまたは変数が定義されて

いるときは、Integration Serviceでは次のルールに従ってパラメータ値および変数値が設

定されます。

¨ ワークフローパラメータファイルにもセッションパラメータファイルにも同一セクショ

ンにパラメータまたは変数が定義されている場合、Integration Serviceで使用される

のはワークフローパラメータファイル内の値です。

¨ セッションパラメータファイルのセッションセクション、およびワークフローパラメー

タファイルのワークフローセクションの両方にパラメータまたは変数が定義されている

場合、Integration Serviceで使用されるのはセッションパラメータファイル内の値で

す。

pmcmdでのパラメータファイルの使用

pmcmd startworkflowまたはstarttaskコマンドで、パラメータファイルを使用します。

これらのコマンドを使用して、ワークフローまたはセッションを開始するときに使用する

パラメータファイルを指定できます。

パラメータファイル名および場所の設定 259

Page 279: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

pmcmd -paramfileオプションは、セッションまたはワークフローを実行するときに使用す

るパラメータファイルを定義します。 -localparamfileオプションは、Integration

Serviceマシン上のパラメータファイルにアクセスできない場合に参照できるローカルマシ

ン上のパラメータファイルを定義します。

次のコマンドは、myfile.txtというパラメータファイルを使用してワークフローAを開始し

ます。

pmcmd startworkflow -uv USERNAME -pv PASSWORD -s SALES:6258 -f east ‑w wSalesAvg -paramfile '\$PMRootDir/myfile.txt' workflowA

次のコマンドは、myfile.txtというパラメータファイルを使用してタスクAを開始します。

pmcmd starttask -uv USERNAME -pv PASSWORD -s SALES:6258 -f east ‑w wSalesAvg -paramfile '\$PMRootDir/myfile.txt' taskA

パラメータファイルの例このセクションの例では、パラメータファイルの使用が必要なセッションについて説明し

ます。別の状態および時間値を指定してセッションを再実行することもできます。この例

では、設定可能なパラメータおよび変数を示し、パラメータ値と変数値をリストし、さら

にセッションを再実行する際の変更について説明します。

プロダクションフォルダにs_MonthlyCalculationsというセッションがあります。このセッ

ションではセッションパラメータを使用してソースファイルおよびターゲットデータベー

スに接続し、セッションログファイルに書き込みます。セッションに失敗した場合、

Integration Serviceによって電子メールメッセージが[email protected]に送信されま

す。 このセッションでは、文字列マッピングパラメータ$$Stateと日付/時刻マッピング変

数$$Timeを使用しています。$$Stateには「MA」と設定します。リポジトリ内の$$Timeの初

期値は「9/30/2005:04:00」ですが、この値を「10/1/2005 05:04:11」と上書きします。

次の表に、s_MonthlyCalculationsセッションのパラメータおよび変数を示します。

パラメータまたは変数のタイ

パラメータまたは変

数の名前

定義

サービス変数 $PMFailureEmailUser [email protected]

文字列マッピングパラメータ $$State MA

日付/時刻マッピング変数 $$Time 05/10/01 05:04:11

ソースファイル (セッション

パラメータ)

$InputFile1 Sales.txt

データベース接続 (セッショ

ンパラメータ)

$DBConnection_Targe

t

Sales

セッションログファイル (セ

ッションパラメータ)

$PMSessionLogFile d:/session logs/

firstrun.txt

260 章 16: パラメータファイル

Page 280: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

セッションのパラメータファイルには、フォルダ名とセッション名、各パラメータと変数

を記述します。

[Production.s_MonthlyCalculations][email protected]$$State=MA$$Time=10/1/2005 05:04:11$InputFile1=sales.txt$DBConnection_target=sales$PMSessionLogFile=D:/session logs/firstrun.txt

次回のセッション実行時には、パラメータファイルを編集して状態をMDに変更し、$$Time

変数を削除することができます。これにより、Integration Serviceは前回のセッションで

リポジトリに格納された変数の値を使用できるようになります。

パラメータファイルの作成に関するガイドライン

パラメータファイルを作成する際には、以下のルールおよびガイドラインを使用します。

¨ セッションパラメータをすべてリスト。セッションパラメータにはデフォルト値はあり

ません。 Integration Serviceがセッションパラメータの値を検出できない場合、セッ

ションが失敗するか、空の文字列をデフォルト値とするか、実行時にパラメータの展開

に失敗する可能性があります。セッションパラメータ名の大文字/小文字は区別されま

せん。

¨ 必要なマッピングパラメータおよびマッピング変数をすべてリスト。 マッピングパラ

メータおよび変数の値は、マッピング内のパラメータおよび変数の開始値となります。

マッピングパラメータ名および変数名の大文字/小文字は区別されません。

¨ 一意でないセッション名へのフォルダ名の入力。リポジトリ内にセッション名が複数存

在する場合は、セッションの場所を示すためにフォルダ名を入力します。

¨ マップレット内のパラメータと変数の前にマップレット名を配置。次の形式を使用しま

す。

mapplet_name.parameter_name=valuemapplet2_name.variable_name=value

¨ 複数のパラメータファイルの使用。ワークフロー、ワークレット、およびセッションに

対し、個別にパラメータファイルを割り当てます。 これらすべてのタスクに同じパラ

メータファイルを指定するか、複数のパラメータファイルを作成することができます。

¨ パラメータ値を定義する際の不必要な改行やスペースの不使用。Integration Service

では、余分なスペースはパラメータ名または値の一部として解釈されます。

¨ 日時の値に対する正しい日付形式の使用。日時の値には、以下の日付形式を使用しま

す。

- MM/DD/RR

- MM/DD/YYYY

- MM/DD/RR HH24:MI

- MM/DD/YYYY HH24:MI

パラメータファイルの作成に関するガイドライン 261

Page 281: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

- MM/DD/RR HH24:MI:SS

- YYYY/MM/DD HH24:MI:SS

- MM/DD/RR HH24:MI:SS.MS

- MM/DD/YYYY HH24:MI:SS.MS

- MM/DD/RR HH24:MI:SS.US

- MM/DD/YYYY HH24:MI:SS.US

- MM/DD/RR HH24:MI:SS.NS

- MM/DD/YYYY HH24:MI:SS.NS

以下の区切り記号を使用することができます。ダッシュ(-)、スラッシュ(/)、バ

ックスラッシュ(\\uff09、コロン(:)、ピリオド(.)、およびスペース。

Integration Serviceでは、余分な空白は無視されます。年または時間の「HH12」形

式には、1桁または3桁の値を使用できません。

¨ パラメータや変数の値を引用符で囲まない。Integration Serviceでは、 初の等号の

後はすべて値の一部として解釈されます。

¨ エラーログテーブル名のプレフィックスに対する適切な長さのパラメータまたは変数値

の使用。エラーログテーブル名のプレフィックスにパラメータまたは変数を使用する場

合は、Oracle、Sybase、またはTeradataのエラーログテーブルの名前を付ける際に19文

字を超えるプレフィックスを指定しないようにします。 エラーテーブル名に使用でき

る文字数は、 大11文字です。Oracle、Sybase、Teradataデータベースでは、テーブル

名の 大長に30文字という制限があります。パラメータまたは変数名は、 19文字以上

を指定できます。

パラメータおよびパラメータファイルのトラブルシューティング

セッションのパラメータファイル内にセクションが存在しますが、Integration Serviceがそのセクションを読み込んでいないように思われます。

Wrokflow Managerで表示されるとおりにフォルダ名とセッション名が正しく入力されてい

るかどうかを確認してください。また、ユーザー定義のセッションパラメータには、適切

なプレフィックスを使用してください。

ソースファイルパラメータを使用してソースファイルとその場所を指定しようとしても、Integration Serviceがソースファイルを見つけられません。

セッションプロパティでソースファイルディレクトリが消去されていることを確認してく

ださい。Integration Serviceにより、ソースファイルディレクトリとソースファイル名が

連結され、ソースファイルの場所が特定されます。

262 章 16: パラメータファイル

Page 282: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

また、Integration Serviceのローカルにディレクトリが入力されており、オペレーティン

グシステムで適切な区切り文字が使用されていることを確認してください。

パラメータファイルを使用してワークフローを実行すると、セッションの1つが必ず失敗します。

パラメータファイルに定義されていないパラメータがそのセッションで使用されている可

能性があります。Integration Serviceでは、パラメータファイルを使用して、ワークフロ

ー内のすべてのセッションが開始されます。 セッションのプロパティをチェックし、パラ

メータファイル内ですべてのセッションパラメータが正しく定義されていることを確認し

てください。

パラメータファイルを使用するワークフローまたはセッションを実行しましたが、失敗しました。Integration Serviceは、リカバリ実行中にどのパラメータ値および変数値を使用しますか。

サービス変数、サービスプロセス変数、セッションパラメータ、およびマッピングパラメ

ータについては、Integration Serviceは、これらが存在する場合にはパラメータファイル

で指定された値を使用します。 パラメータファイルに値が指定されていない場合、

Integration Serviceはリカバリストレージファイルに保存された値を使用します。 ワー

クフロー、ワークレット、マッピング変数については、Integration Serviceは、リカバリ

ストレージファイルに保存された値を常に使用します。

パラメータおよびパラメータファイルに関するヒント

1つのパラメータファイルを使用して、関連するセッションのパラメータ情報をグループ化します。

同じデータベース接続やディレクトリを使用する複数のセッションがある場合は、それら

を1つのパラメータファイルで定義します。接続またはディレクトリを変更する場合、1つ

のパラメータファイルを編集するだけですべてのセッションの情報を更新することができ

ます。

定期的に実行するセッションに対しては、pmcmdと複数のパラメータファイルを組み合わせます。

サイクル内のセッションパラメータを再利用する場合があります。たとえば、あるセッシ

ョンを売上げデータベースに対して毎日実行しますが、同じセッションを売上げおよびマ

ーケティングデータベースに対して週に1回実行するとします。セッションの実行ごとに異

なるパラメータファイルを作成することができます。週次セッションを実行するたびにセ

ッションプロパティでパラメータファイルを変更する代わりに、pmcmdを使用して、セッシ

ョンを開始するときに使用するパラメータファイルを指定します。

パラメータおよびパラメータファイルに関するヒント 263

Page 283: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

拒否ファイルパラメータとセッションログパラメータをターゲットファイルパラメータまたはターゲットデータベース接続パラメータといっしょに使用します。

ターゲットファイルパラメータまたはターゲットデータベース接続パラメータをセッショ

ンで使用する場合は、拒否ファイルパラメータを使うことで、拒否ファイルを追跡できま

す。同様に、セッションログパラメータを使うことで、セッションログをターゲットマシ

ンに書き込むことができます。

リソースを使用して、パラメータファイルへのアクセス権を持つノード上でセッションが実行されることを確認します。

Administratorツールで、パラメータファイルへのアクセス権を持つ各ノードにファイルリ

ソースを定義し、リソースをチェックするようにIntegration Serviceを設定できます。

次に、パラメータファイルを使用するセッションを編集し、リソースを割り当てます。ワ

ークフローを実行すると、Integration Serviceにより、リソースが使用可能なノード上で

必須リソースを使用してセッションが実行されます。

セッションのワークフロー変数の初期値をセッションセクションで定義することにより、これらの値を上書きできます。

ワークフロー変数の値を変更する[Assignment]タスクがワークフローに含まれる場合、

ワークフロー内の次のセッションでは、 新の変数の値がセッションの初期値として使用

されます。セッションの初期値を上書きするには、パラメータファイルのセッションセク

ションで新しい変数の値を定義します。

パラメータおよび変数を定義する際に、他のパラメータおよび変数を使用することができます。

たとえば、パラメータファイルで、セッションパラメータ$PMSessionLogFileをサービスプ

ロセス変数を使用して以下のように定義できます。

$PMSessionLogFile=$PMSessionLogDir/TestRun.txt

264 章 16: パラメータファイル

Page 284: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

第 1 7 章

FastExport

この章では、以下の項目について説明します。

¨ FastExportの使用の概要, 265 ページ

¨ 手順1。 FastExport接続の作成, 266 ページ

¨ 手順2 readerの変更, 269 ページ

¨ 手順3 ソース接続の変更, 269 ページ

¨ 手順4。 制御ファイルのオーバーライド(オプション), 269 ページ

¨ FastExportの使用に関するルールおよびガイドライン, 271 ページ

FastExportの使用の概要FastExportは複数のTeradataセッションを使用して、Teradataデータベースから大容量の

データを素早くエクスポートするツールです。FastExportを使用してTeradataソースを読

み込むPowerCenterセッションを作成できます。

FastExportを使用するには、Teradataソースデータベースとのマッピングを作成します。

マッピングには、1つのソース修飾子トランスフォーメーションで結合された同じTeradata

ソースデータベースからの複数のソース定義を含めることができます。そのセッション中

は、Relational readerに代わってFastExport readerを使用します。セッションでエクス

ポートするTeradataテーブルとのFastExport接続を使用します。

FastExportでは、何をエクスポートするかを定義する制御ファイルを使用します。セッシ

ョンを開始した場合、Integration Serviceにより、FastExport接続属性から制御ファイ

ルが作成されます。 TeradataテーブルにSQLオーバーライドを作成する場合、

Integration Serviceでは、SQLが使用され制御ファイルが生成されます。 セッションプ

ロパティで制御ファイルを定義することにより、セッションの制御ファイルをオーバーラ

イドできます。

Integration Serviceにより、FastExportメッセージがセッションログに書き込まれ、

FastExportパフォーマンスに関する情報がFastExportログに書き込まれます。

PowerCenterは、FastExportログを、Temporary File Nameセッション属性で定義されたフ

ォルダに保存します。FastExportログのデフォルト拡張子は、.logです。

セッションでFastExportを使用するには、以下の手順を実行します。

1. Workflow ManagerでFastExport接続を作成し、接続属性を設定します。

265

Page 285: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

2. セッションを開いて、[Reader]をRelational からTeradata FastExport Readerに

変更します。

3. 接続タイプを変更し、セッションに対してFastExport接続を選択します。

4. 必要に応じて、テキストエディタでFastExport制御ファイルを作成し、リポジトリに

保存します。

手順1。 FastExport接続の作成Workflow ManagerでFastExport接続を作成します。FastExport接続を編集すると、その接

続を使用するセッションはすべて、この更新された接続を使用します。

FastExport接続を作成するには:

1. Workflow Managerで、[接続]-[アプリケーション]をクリックします。

[接続ブラウザ]ダイアログボックスが表示されます。

2. [新規作成]をクリックします。

3. Teradata FastExport接続を選択し、[OK]をクリックします。

4. FastExport接続の名前を入力します。

5. データベースユーザー名を入力します。

6. データベースユーザー名のパスワードを入力するか、あるいは[パスワードでパラメ

ータを使用]をクリックしてデータベースパスワードにセッションパラメータ

$ParamNameを使用します。

[パスワードでパラメータを使用]を有効にした場合は、ワークフローまたはセッシ

ョンパラメータファイルでパスワードを定義し、pmpasswd CRYPT_DATAオプションを

使用してそのパスワードを暗号化します。

7. FastExportでTeradataソースの読み込みに使用するコードページを選択します。

FastExportでは、fexpcodepagemapfile.datファイルが使用され、FastExportでサポ

ートされるTeradata文字セットにコードページ名がマッピングされます。 このファイ

ルにコードページが含まれていること、割り当てられた文字セットがTeradataデータ

ベースで有効になっていることを確認します。

8. FastExport属性を入力して、[OK]をクリックします。

以下の表に、Teradata FastExport接続に設定する属性を示します。

表 13. FastExport接続属性

属性 デフォルト

説明

TDPID なし TeradataデータベースID。

Tenacity 4 FastExportがTeradataデータベースへのログオ

ンを試行する時間の長さです(単位:時間)。

266 章 17: FastExport

Page 286: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

属性 デフォルト

説明

FastExportがログオンしようとしたが、 大数

のTeradataセッションがすでに実行されている

場合、FastExportは、SLEEPオプションで定義さ

れた時間待機します。SLEEP時間が経ったら、

FastExportは、再度Teradataデータベースにロ

グオンしようとします。

FastExportは、必要な数のセッションにログオ

ンするか、TENACITY時間を超えるまで、このプ

ロセスを繰り返します。

大セッシ

ョン数

1 FastExportジョブ1つあたりのFastExportセッシ

ョンの 大数。[ 大セッション数]は1以上

で、さらにシステムのアクセスモジュールプロ

セス(AMP)の合計数以下でなければなりませ

ん。

スリープ 6 FastExportがログインを再試行するまでの待ち

時間(単位:分)。FastExportは、ログインが

成功するか、Tenacity時間が経過するまでログ

インの試行を繰り返します。

ブロックサ

イズ

64000 エクスポートしたデータに使用する 大ブロッ

クサイズ。

データ暗号

無効 FastExportのデータ暗号化を有効にします。バ

ージョン8 Teradataクライアントを使用すれば

データ暗号化を使用できます。

Logtable名 FE_<ソース

テーブル名>

ログテーブル名をリスタートします。

FastExportユーティリティでは、リスタートロ

グテーブルでこの情報を使用して、Teradataデ

ータベース障害またはクライアントシステム障

害が原因で停止したジョブをリスタートしま

す。各FastExportジョブでは、個別のログテー

ブルを使用する必要があります。指定したテー

ブルが存在していない場合、FastExportユーテ

ィリティは、このテーブルを作成し、リスター

トログとして使用します。

PowerCenterでは、FastExportのリスタートはサ

ポートされていません。ただし、出力をステー

ジングする場合、FastExportを手動でリスター

トできます。

実行可能名 fexp ソースデータの読み込みに使用するTeradataコ

マンド。 デフォルト値を使用します。

データベー

ス名

なし 接続するTeradataデータベースの名前。

Integration Serviceは、テーブル名のプレフィ

ックスとしてデータベース名を使用してSQL文を

生成します。

手順1。 FastExport接続の作成 267

Page 287: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

コードページのマッピングファイルの確認

FastExport接続を作成する場合、FastExportでTeradataソースの読み込みに使用する

PowerCenterのコードページを選択します。 FastExportでは、fexpcodepagemapfile.dat

ファイルが使用され、FastExportでサポートされるTeradata文字セットにPowerCenterの

コードページ名がマッピングされます。例えば、「MS Windows Latin 1(ANSI)、Latin1

のスーパーセット」を接続コードページとして選択した場合、PowerCenterでは「MS1252」

という名前が付けられたコードページが使用され、Teradataでは「Latin1252_0A」という

名前が付けられた文字セットが使用されます。

fexpcodepagemapfile.datファイルでは、Teradata International Character Set

Supportに指定された中から 適なTeradata文字セットをPowerCenterコードページにマッ

プします。Teradata文字セットは、使用する前にデータベースで有効にしておく必要があ

ります。デフォルトでは、以下の文字セットのみがTeradataデータベースで有効になって

います。

¨ ASCII

¨ EBCDIC

¨ UTF8

¨ UTF16

FastExport接続に選択するPowerCenterのコードページがfexpcodepagemapfile.datファイ

ルに存在しない場合、または割り当てられたTeradata文字セットがデータベースで有効に

なっていない場合は、Integration Serviceでセッションが失敗します。

fexpcodepagemapfile.datファイルは、<PowerCenter installation directory>\server\binにありま

す。 このファイルにFastExport接続で選択するPowerCenterコードページが含まれている

こと、割り当てた文字セットがTeradataデータベースで有効になっていることを確認して

ください。追加のPowerCenterコードページをTeradata文字セットに割り当てたり、既存の

マッピングを変更したりするには、テキストエディタを使用します。PowerCenterコードペ

ージをTeradata文字セットに割り当てるには、以下の形式で単一行に名前を入力します。

<PowerCenter_code_page> = <Teradata_character_set>.

例: MS1252 = Latin1252_0A

このファイルを編集する際には、以下のルールおよびガイドラインを使用します。

¨ コメントを指定する場合は、感嘆符(!)で行を開始します。

¨ 行は、空白スペースのみやタブ文字のみでは構成できません。

¨ このファイルで単一のPowerCenterのコードページが複数のTeradata文字セットにマッ

ピングされている場合、FastExportではファイルで 後に割り当てられた文字セットが

使用されます。

注: Teradataでは、UnicodeのUTF-16LEエンコードについて、ビッグエンディアンとリト

ルエンディアンが区別されません。 UTF-16LEの文字を処理する場合は、Workflow Manager

でFastExport接続を作成する際に「UnicodeのUTF-16LEエンコード(プラットフォームエ

ンディアン)」のコードページを選択します。

268 章 17: FastExport

Page 288: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

手順2 readerの変更TeradataのデフォルトreaderはRelational readerです。FastExportを使用するには、

readerをTeradata FastExport readerに変更します。

手順3 ソース接続の変更セッションでFastExportを使用するには、Teradataソース接続をTeradata FastExport接

続に変更します。セッション属性によっては上書きすることができます。

以下の表に、FastExportで変更できるセッション属性を示します。

表 14. FastExportセッション属性

属性 デフォルト

精度

ステージング済み 無効 有効にすると、FastExportはデータをステ

ージファイルに書き込みます。無効にする

と、FastExportはデータを名前付きパイプ

に書き込みます。

小数秒の精度。 0 タイムスタンプ内の小数点以下のミリ秒の

精度。0~6を入力できます。たとえば、精

度6のタイムスタンプは、

hh:mi:ss.ss.ss.ssです。ミリ秒精度は、

Teradataデータベース内の設定と一致して

いる必要があります。

Temporary File $PMTempDir

\

PowerCenterは、一時ファイル名を使用し

て、ログファイル、制御ファイル、および

ステージングする出力ファイルの名前を生

成します。ファイルの完全パスを入力しま

す。

制御ファイルのオ

ーバーライド

空白 制御ファイルのテキストデータ。この属性

を使用して、Integration Serviceによっ

てセッションに作成された制御ファイルを

オーバーライドします。

手順4。 制御ファイルのオーバーライド(オプション)

デフォルトで、Integration Serviceにより、FastExportでセッションを実行する場合、

セッションおよび接続のプロパティに基づいて、FastExport制御ファイルが生成されま

手順2 readerの変更 269

Page 289: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

す。 Integration Serviceにより、生成した制御ファイルが一時ファイルディレクトリに

保存され、次回セッションを実行する際にオーバーライドされます。

Integration Serviceにより生成された制御ファイルをオーバーライドできます。 制御フ

ァイルをオーバーライドする場合、Workflow Designerにより制御ファイルがリポジトリに

保存されます。セッションを実行する場合、Integration Serviceにより保存された制御フ

ァイルが使用されます。

各FastExport文は、次の基準を満たしている必要があります。

¨ 改行します。

¨ 先頭にはピリオド(.)を指定します。

¨ 終わりにはセミコロン(;)を指定します。

以下の表に、PowerCenterで使用できる制御ファイル文を示します。

表 15. FastExport制御ファイル文

制御ファイル文 説明

.LOGTABLE utillog ; リスタートログテーブル名。

LOGON tdpz/user,pswd; データベースログイン文字列。データベース、

ユーザー名、およびパスワードを指定します。

BEGIN EXPORT 初のエクスポートコマンド。

.SESSIONS 20; Teradataセッションの数。

.EXPORT OUTFILE ddname2; エクスポートするデータの宛先ファイル。

SELECT EmpNo, Hours FROM

charges

データを選択するSQL文。

WHERE Proj_ID = 20 -

ORDER BY EmpNo ; -

.END EXPORT ; エクスポートタスクの終わりを示し、エクスポ

ートプロセスを開始します。

LOGOFF ; データベースからの切断。

制御ファイルをオーバーライドする手順

1. テキストエディタで制御ファイルを作成します。

2. 制御ファイルのテキストをクリップボードにコピーします。

3. 制御ファイルのテキストを[制御ファイルのオーバーライド]フィールドに貼り付け

ます。

Workflow Manager では、制御ファイルの構文は検証しません。セッションの実行時に

Teradataが制御ファイルの構文を検証します。制御ファイルが無効だと、セッションは失

敗に終わります。

270 章 17: FastExport

Page 290: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

ヒント: 制御ファイルを読み込み専用に変更することで、その制御ファイルを各セッショ

ンに使用することができます。Integration Serviceでは、読み込み専用ファイルは上書き

されません。

FastExportの使用に関するルールおよびガイドライン

PowerCenterでFastExportを使用する場合、以下のルールおよびガイドラインに従ってくだ

さい。

¨ TeradataにSQLオーバーライドを使用する場合、PowerCenterは、このSQLオーバーライ

ドを使用してFastExport制御ファイルを作成します。SQLオーバーライドを使用しない

場合、PowerCenterは、ソース修飾子内の接続されたポートに基づいて制御ファイルを

生成します。

¨ UNIX MP-RASオペレーティングシステムでは、FastExportは、 大2 GBのエクスポート

ファイルサイズをサポートしています。他のオペレーティングシステムでは、ファイル

サイズに制限はありません。

¨ エクスポートされたデータファイルを結合することはできません。

¨ セッション実行前SQLコマンドおよびFastExportを使用した場合、セッションは失敗し

ます。

FastExportの使用に関するルールおよびガイドライン 271

Page 291: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

第 1 8 章

外部データのロード

この章では、以下の項目について説明します。

¨ 外部データのロードの概要, 272 ページ

¨ 外部ローダーの動作, 273 ページ

¨ IBM DB2へのロード, 275 ページ

¨ Oracleへのロード, 282 ページ

¨ Sybase IQへのロード, 285 ページ

¨ Teradataへのロード, 288 ページ

¨ セッション内での外部データのロードの設定, 299 ページ

¨ 外部データのロードのトラブルシューティング, 302 ページ

外部データのロードの概要IBM DB2、Oracle、Sybase IQ、およびTeradataの外部ローダを使ってセッションターゲッ

トファイルをそれぞれのデータベースにロードするように、セッションを設定することが

できます。外部ローダを使用すると、ファイルまたはパイプから情報を直接ロードするこ

とによって、SQLコマンドを実行して同じデータをデータベースに挿入するよりも、セッシ

ョンのパフォーマンスを高めることができます。

1つのセッションで複数の外部ローダを使用してください。たとえば、マッピングに2つの

ターゲットが含まれている場合には、Oracle外部ローダ接続とSybase IQ外部ローダ接続を

使用するセッションを作成できます。

はじめに

外部ローダーを実行する前に、以下の作業を実行します。

¨ 制約の無効化。ロードを実行する前に、データを受け取るテーブルに組み込まれている

制約を無効にしておきます。 制約を無効にする方法の詳細については、データベース

のマニュアルを参照してください。

¨ データベースロギングのオフまたは無効化。高いパフォーマンスを維持するために、コ

ミット間隔を増やし、データベースロギングをオフにすることができます。 ただし、

272

Page 292: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

失敗したセッションのデータベースのリカバリを実行するには、データベースロギング

をオンにしておく必要があります。

¨ コードページの設定。IBM DB2、Oracle、Sybase IQ、およびTeradataデータベースサ

ーバーは、ターゲットフラットファイルのコードページと同じコードページを使用する

必要があります。 Integration Serviceによって、ターゲットフラットファイルのコー

ドページを使用して制御ファイルとターゲットフラットファイルが作成されます。 タ

ーゲットフラットファイルに対して7ビットASCII以外のコードページを使用する場合

は、Integration ServiceをUnicodeデータ移動モードで実行します。

¨ 外部ローダー接続をリソースとして設定。Integration Serviceがグリッド上で実行す

るように設定されている場合、外部ローダーが利用可能なノード上に外部ローダー接続

をリソースとして設定します。

外部ローダーの動作外部ローダーを使用するセッションを実行する場合、Integration Serviceにより制御ファ

イルとターゲットフラットファイルが作成されます。 制御ファイルには、データ形式や外

部ローダに対するロード指示などの情報が格納されます。制御ファイルの拡張子は.ctlで

す。制御ファイルおよびターゲットフラットファイルは、ターゲットファイルディレクト

リに格納されます。

セッションを実行する場合、Integration Serviceによりターゲットファイルが削除され、

再作成されます。 外部ローダは制御ファイルを使用してセッション出力をデータベースに

ロードします。日時データは、次の方法でIntegration Serviceで処理された後、データベ

ースにロードされます。

¨ セッションがサブ秒切り捨ての設定になっている場合、Integration Serviceでの日時

データ処理には精度19が使用されます。

¨ セッションがサブ秒切り捨ての設定になっていない場合、Integration Serviceでの日

時データ処理は、ターゲットフラットファイル内に指定されている精度に基づきます。

精度は19~29の範囲です。サブ秒の切り捨ては、指定された精度に基づきます。

¨ ターゲットファイル内に指定された精度は、データベース用に指定されている精度を越

える場合、データベース用に指定されている 大精度に制限されます。

Integration Serviceは、すべての外部データのロードが完了するまで待ってから、セッシ

ョン実行後に実行するコマンドを実行し、エクスターナルプロシージャを実行し、セッシ

ョン実行後に発信されるメールを送信します。

Integration Serviceにより、外部ローダーの初期化と完了のメッセージがセッションログ

に書き込まれます。 外部ローダのパフォーマンスの詳細については、外部ローダのログを

チェックしてください。ローダは、ターゲットフラットファイルと同じディレクトリにロ

グを保存します。外部ローダのログにはデフォルトで.ldrlogという拡張子が付きます。

外部ローダの動作は、選択したデータロード方法によって異なります。名前付きパイプま

たはフラットファイルにデータをロードできます。

外部ローダーの動作 273

Page 293: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

名前付きパイプへのデータのロード

データがパイプに出力された時点で、外部ローダは即座にデータベースへのデータのロー

ドを開始します。ローダはロードが完了した時点で、即座に名前付きパイプを削除しま

す。

UNIXでは、Integration Serviceにより、設定されたターゲットファイル名に従って名付

けられた名前付きパイプに書き込まれます。

Windowsでは、Integration Serviceにより、指定された形式を使用して名前付きパイプに

データが書き込まれます。

\\.\pipe\<pipe name>

パイプ名は設定されたターゲットファイル名と同じです。

フラットファイルへのデータのステージング

WindowsまたはUNIXでフラットファイルにデータをステージングする場合、Integration

Serviceによって、設定されたターゲットファイル名に従って名付けられたフラットファイ

ルにデータが書き込まれます。 Integration Serviceによってターゲットフラットファイ

ルにすべてのデータが書き込まれた後で、外部ローダーによって、ターゲットデータベー

スへのデータのロードが開始されます。 外部ローダは、ターゲットフラットファイルをデ

ータベースにロードしたあとで、このファイルを削除しません。ターゲットファイルのデ

ィレクトリに、ターゲットフラットファイルのサイズに必要な容量があることを確認して

ください。

注: Integration Serviceでは、フラットファイルにデータをステージングするときに、

ポートの位取りに基づいて数値が丸められます。名前付きパイプにデータをロードする外

部ローダを使用している場合、またはターゲットをノーマルロードに設定している場合、

結果は丸められません。

Integration Serviceがフラットファイルターゲットにすべてのデータを書き込む前にセッ

ションが強制終了または失敗した場合、外部ローダーは起動されません。 Integration

Serviceがフラットファイルターゲットにすべてのデータを書き込んだ後にセッションが強

制終了または失敗した場合、外部ローダーはターゲットデータベースへのデータのロード

を完了してから終了します。

外部ローダーを使用したセッションのパーティション化

フラットファイルターゲットを使用するセッションに複数のパーティションを設定する場

合、Integration Serviceによってパーティションごとにフラットファイルが1つずつ作成

されます。 一部の外部ローダは、複数のファイルからデータをロードすることができませ

ん。複数のパーティションがあるセッションで外部ローダを使用するときは、ご使用の外

部ローダに従ってターゲットパーティションタイプを設定する必要があります。

複数のファイルからデータをロードできる外部ローダを使用する場合は、フラットファイ

ルターゲットで使用可能なパーティションタイプを選択できます。パーティションごとに

外部ローダ接続も選択してください。Integration Serviceがパーティションごとに出力フ

ァイルを作成し、外部ローダーによって各ターゲットファイルからの出力がデータベース

274 章 18: 外部データのロード

Page 294: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

にロードされます。 次のローダを使用する場合は、任意のターゲットパーティションタイ

プを使用してください。

¨ Oracle(パラレルロードが有効)

¨ Teradata TPump

複数のファイルからロードできないローダを使用する場合は、ラウンドロビンパーティシ

ョン化を使用して、データを単一のターゲットファイルへルーティングします。パーティ

ションごとに外部ローダ接続を選択してください。ただし、Integration Serviceによって

このローダー接続が 初のパーティションに使用されます。 Integration Serviceによっ

て単一の出力ファイルが作成され、外部ローダーによってターゲットファイルからの出力

がデータベースにロードされます。 ターゲットに他のパーティションタイプを選択した場

合、Integration Serviceのセッションは失敗します。 次のローダを使用する場合は、ラ

ウンドロビンのターゲットパーティションタイプを使用してください。

¨ IBM DB2 EE

¨ IBM DB2 EEE Autoloader

¨ Oracle(パラレルロードが無効)

¨ Sybase IQ

¨ Teradata MultiLoad

¨ Teradata Fastload

IBM DB2へのロードIBM DB2ターゲットにロードする際は、IBM DB2 EEまたはIBM DB2 EEE外部ローダーを使用

します。 どちらの外部ローダーも、ターゲットに対して挿入操作と置換操作を行います。

ロード操作のリスタートまたは終了も行うことができます。 どちらの外部ローダーも、デ

ータをパーティション化し、パーティション化されたデータを対応するデータベースパー

ティションへ同時にロードすることができます。

IBM DB2 EE外部ローダー

IBM DB2 EE外部ローダーを使用して、次のいずれかのデータベースにロードします。

¨ IBM DB2 EEバージョン8.x

¨ IBM DB2 EEEバージョン8.x

¨ IBM DB2バージョン9.x

IBM DB2 EE外部ローダーによって、Integration Serviceインストールディレクトリにあ

る次のいずれかの実行可能ファイルが呼び出されます。

¨ db2load。 バージョン9.5より前のIBM DB2クライアント用に使用します。

¨ db2load95。IBM DB2クライアントバージョン9.5用に使用します。

外部ローダー接続を作成する場合は、Integration Serviceプロセスが実行されるマシン上

にインストールされているIBM DB2クライアントバージョンに応じて、実行可能ファイル名

を指定します。

IBM DB2へのロード 275

Page 295: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

IBM DB2 EE外部ローダーでは、Integration Serviceからリモートであるマシン上のIBM

DB2サーバーにデータをロードできます。

LOBデータの処理

IBM DB2 EE外部ローダーでは、LOBデータ(Blob、Clob、Dbclobデータなど)をロードす

ることができません。 IBM DB2 EE外部ローダーを使用するセッションを実行し、ソースに

LOBデータが含まれる場合は、以下のマッピング設定に応じて、外部ローダーでは残りのデ

ータを正常にターゲットにロードできます。

¨ LOBポートが接続されていない状態。 外部ローダーによって、残りのデータが正常にタ

ーゲットにロードされます。

¨ LOBポートが接続されている状態。データベースバージョン8.xにロードする場合、外部

ローダーによりLOBデータはNULLとしてロードされ、残りのデータが正しくロードされ

ます。 データベースバージョン9.xにロードする場合、外部ローダーではどのデータも

ロードされません。 拒否された行は、外部ローダーによって外部ローダーログに記録

されます。

IBM DB2 EEE外部ローダー

IBM DB2 EEE外部ローダーを使用して、IBM DB2 EEEバージョン8.xデータベースにロード

します。 IBM DB2 EEE外部ローダは、IBM DB2 Autoloaderプログラムを起動してデータを

ロードします。Autoloaderプログラムは、db2atld実行ファイルを使用します。IBM DB2

EEEローダーによって、IBM DB2サーバーはIntegration Serviceをホストする同じマシン

上にあることが要求されます。

注: IBM DB2 EEEサーバーがIntegration Serviceからリモートであるマシン上に存在す

る場合は、IBM DB2 EE外部ローダーを使用するか、リレーショナルデータベース接続を使

用してIBM DB2 EEEデータベースに接続します。 IBM DB2ターゲットのためにデータベース

パーティション化を使用します。データベースパーティション化を使用した場合、

Integration Serviceによって、テーブルのパーティション情報のためにIBM DB2システム

に対してクエリが行われ、パーティション化データがターゲットデータベースで対応する

ノードにロードされます。

IBM DB2 EEE外部ローダーに関するルールおよびガイドライン

外部ローダを使用してIBM DB2にロードする場合には、以下の規則およびガイドラインに従

ってください。

¨ IBM DB2外部ローダは、区切りフラットファイルからロードします。ターゲットテーブ

ルのカラムの幅が、すべてのデータを格納するのに十分かどうか確認してください。

¨ IBM DB2クライアント認証を使用する接続の場合は、外部ローダ接続を作成する際に

PmNullUserユーザー名とPmNullPasswdを入力してください。PowerCenterによって、接

続ユーザー名がPmNullUserでIBM DB2データベースに接続する際に、IMB DB2クライアン

ト認証が使用されます。

¨ 複数のパーティションを伴うセッションについては、ラウンドロビンのパーティション

タイプを使用して、データを単一のターゲットファイルにルーティングします。

276 章 18: 外部データのロード

Page 296: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

¨ 同じパイプライン内の複数のターゲットでIBM DB2外部ローダーを使用するように設定

した場合は、各ローダーによりターゲットデータベース上の異なるテーブルスペースに

ロードされる必要があります。

¨ データベーステーブルにデータをロードするための正しい権限レベルと特権が必要で

す。

操作モードの設定

外部ローダが実行するロードの種類は、IBM DB2の操作モードによって異なります。IBM

DB2 EEまたはIBM DB2 EEE外部ローダは、次のいずれかの操作モードで動作するように設定

できます。

¨ 挿入。既存のテーブルデータを変更せずに、ロードしたデータをテーブルに追加しま

す。

¨ 置き換え。テーブルから既存のデータをすべて削除して、ロードしたデータを挿入しま

す。 テーブルおよびインデックスの定義は変更されません。

¨ リスタート。以前に中断されたロード操作をリスタートします。

¨ 終了。以前に中断したロード操作を終了して、(整合点を超えている場合でも)操作を

開始ポイントまでロールバックします。 テーブルスペースは通常状態に戻り、外部ロ

ーダーによってすべてのテーブルオブジェクトは一貫した状態になります。

オーソリティ、特権、権限の設定

IBM DB2特権により、データベースリソースの作成およびアクセスが許可されます。オーソ

リティレベルにより、特権をグループ化し、データベースマネージャに対するより高いレ

ベルの保守およびユーティリティ操作を実行することが可能になります。特権とオーソリ

ティにより、データベースマネージャとそのデータベースオブジェクトへのアクセスを制

御します。必要な特権またはオーソリティを持っているオブジェクトにアクセスできま

す。

テーブルにデータをロードするためには、次のいずれかのオーソリティが必要です。

¨ SYSADMオーソリティ

¨ DBADMオーソリティ

¨ データベースに対するLOADオーソリティおよび次のいずれかの特権

-ロードユーティリティをINSERTモード、TERMINATEモード、またはRESTARTモードで起

動する場合、テーブルに対するINSERT特権。

-ロードユーティリティをREPLACEモード、TERMINATEモード、またはRESTARTモードで

起動する場合、テーブルに対するINSERTおよびDELETE特権。

さらに、適切な読み込みアクセスおよび読み込み/書き込み権限を持っている必要がありま

す。

¨ データベースインスタンスのオーナーは、外部ローダ入力ファイルに対する読み込みア

クセス権を持っている必要があります。

¨ IBM DB2がWindows上のサービスとして動作している場合には、サービス開始アカウント

に、LANリソース(ドライブ、ディレクトリ、ファイルなど)を使用する読み込み/書き

込み権限を持つユーザーアカウントを設定する必要があります。

IBM DB2へのロード 277

Page 297: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

¨ IBM DB2 EEEにロードする場合には、データベースインスタンスのオーナーがロードダ

ンプファイルおよびロード一時ファイルに対する書き込み権限を持っている必要があり

ます。

IBM DB2 EE外部ローダーの属性の設定

IBM DB2 EE外部ローダーでは、ロード先となる以下のデータベースに基づき、単一のログ

または複数のログが作成されます。

¨ IBM DB2 EEバージョン8.xまたはパーティション化されていないIBM DB2バージョン

9.x。外部ローダーによって、ターゲットフラットファイルと同じディレクトリ内に、

拡張子.ldrlogを持つ単一の外部ローダーログが作成されます。

¨ IBM DB2 EEEバージョン8.xまたはパーティション化されたIBM DB2バージョン9.x。外部

ローダーによって、ターゲットフラットファイルと同じディレクトリ内に、複数の外部

ローダーログが作成されます。 ローダーログには以下の拡張子が付いています。

- ldrlog.load.number。 Load Agent外部ローダープロセスによって作成されたもので

す。 Load Agentによってログファイルが2つ作成されます。

- ldrlog.part.partition_number。 Partitioning Agent外部ローダープロセスによっ

て作成されたものです。 Partitioning Agentでは、ターゲットテーブル内のパーテ

ィションの数に基づき、複数のファイルを作成できます。

- ldrlog.prep.partition_number。 Pre-partitioning Agent外部ローダープロセスに

よって作成されたものです。 Pre-partitioning Agentでは、ターゲットテーブル内

のパーティションの数に基づき、複数のファイルを作成できます。

- ldrlog。 IBM DB2 EE外部ローダーによって作成されたものです。

以下の表に、IBM DB2 EE外部ローダー接続の属性を示します。

属性 デフォ

ルト値

説明

Opmode 挿入 IBM DB2外部ローダの操作モード。次のいずれかの

操作モードを選択します。

- 挿入

- 置換

- リスタート

- 終了

External

Loader

Executable

db2load IBM DB2 EE外部ローダー実行可能ファイルの名前。

Integration Serviceプロセスが実行されるマシン

上にインストールされたIBM DB2クライアントバー

ジョンに基づき、次のいずれかのファイル名を入

力します。

- db2load。 バージョン9.5より前のIBM DB2クラ

イアントに使用します。

- db2load95。 IBM DB2クライアントバージョン

9.5に使用します。

DB2 Server

Location

リモー

Integration Serviceに対応するIBM DB2データベ

ースサーバーの場所。 データベースサーバーが、

Integration Serviceが稼動しているマシン上に存

278 章 18: 外部データのロード

Page 298: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

属性 デフォ

ルト値

説明

在している場合は、[ローカル]を選択します。

データベースサーバーがほかのマシン上に存在し

ている場合は、[リモート]を選択します。

ステージング

済み

無効 データのロード方法。データベースへのロード前

に、フラットファイルのステージング領域にデー

タをロードするには、[Is Staged]を選択しま

す。デフォルトでは、データは名前付きパイプを

使用してデータベースにロードされます。

リカバリ可能 有効 forward recoveryが有効な場合は、テーブルスペ

ースをバックアップ保留状態にします。forward

recoveryを無効にすると、IBM DB2テーブルスペー

スはバックアップ保留状態に設定されません。IBM

DB2テーブルスペースがバックアップ保留状態にあ

る場合は、テーブルスペースに関する操作を行う

前にデータベースを完全にバックアップする必要

があります。

IBM DB2 EE外部ローダーを使用した空白スペースのロード

IBM DB2 EE外部ローダーを通して空白スペースをロードする必要がある場合は、セッショ

ンを設定する必要があります。 ステージングしたモードでは、オプションのダブル引用符

を使用するようにフラットファイルを設定します。 ステージングしていないモードでは、

以下の行を制御ファイルに追加します。

MODIFIEDBY = keepblanks

制御ファイルを読み込み専用に設定します。

IBM DB2 EE外部ローダの戻りコード

IBM DB2 EE外部ローダは、ロード操作が成功したか失敗したかを戻りコードで示します。

Integration Serviceによって、外部ローダーの戻りコードがセッションログに書き込まれ

ます。 戻りコード(0)は、ロード操作が成功したことを示します。外部ローダーによっ

てロード操作が正常に完了された場合、Integration Serviceによってセッションログに次

のメッセージが書き込まれます。

WRT_8029 External loader process <external loader name> exited successfully.

それ以外の戻りコードは、ロード操作が失敗したことを示します。Integration Serviceに

よって、以下のエラーメッセージがセッションログに書き込まれます。

WRT_8047 Error: External loader process <external loader name> exited with error <return code>.

IBM DB2へのロード 279

Page 299: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

以下の表に、IBM DB2 EE外部ローダーの戻りコードを示します。

コード 説明

0 外部ローダ操作が正常に完了しました。

1 外部ローダが制御ファイルを見つけられません。

2 外部ローダが外部ローダログファイルを開くことができませんでし

た。

3 制御ファイルが他のプロセスによってロックされているため、外部ロ

ーダが制御ファイルにアクセスできませんでした。

4 IBM DB2データベースがエラーを返しました。

IBM DB2 EEE外部ローダの属性の設定

IBM DB2 EEE外部ローダは、データベースにロードするときに異なるロードモードを使用す

るように設定できます。ロードモードにより、IBM DB2 EEE外部ローダがデータベースの複

数パーティションにまたがってデータをどのようにロードするかが決まります。IBM DB2

EEE外部ローダは、次のロードモードを使用するように設定できます。

¨ 分割およびロード。データをパーティション化して、対応するデータベースパーティシ

ョンを使用して同時にロードします。

¨ 分割専用。 データをパーティション化して、指定された分割ファイルディレクトリ内

のファイルに出力を書き込みます。

¨ ロード専用。データをパーティション化しません。 対応するデータベースパーティシ

ョンを使用して既存の分割ファイルにデータをロードします。

¨ 分析。すべてのデータベースパーティション間で均一に分散した 適パーティションマ

ップを生成します。 外部ローダーを分析モードで実行した後に、分割およびロードモ

ードで実行する場合、外部ローダーは 適パーティションマップを使用してデータをパ

ーティション化します。

IBM DB2 EEE外部ローダは、ロード先のデータベースパーティションの数に基づいて複数の

ログを作成します。各パーティションについて、外部ローダはパーティション番号に対応

した番号を外部ローダログファイル名に付加します。IBM DB EEE外部ローダログのファイ

ル名は、「<>ファイル名</>.ldrlog.<>パーティション番号</2>」という形式で指定しま

す。

Integration Serviceでは、IBM DB2 EEE外部ローダーログがアーカイブされたり、上書き

されることはありません。 外部ローダーの実行時に同じ名前の外部ローダーログが存在す

る場合、外部ローダーによって既存の外部ローダーログファイルの 後に新しい外部ロー

ダーログメッセージが追加されます。外部ローダーログファイルは手動でアーカイブ、ま

たは削除する必要があります。

IBM DB2 EEE外部ローダーの戻りコードの詳細については、IBM DB2のマニュアルを参照し

てください。

280 章 18: 外部データのロード

Page 300: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

以下の表に、IBM DB2 EEE外部ローダー接続の属性を示します。

属性 デフォ

ルト値

説明

Opmode 挿入 IBM DB2外部ローダの操作モード。次のいずれか

の操作モードを選択します。

- 挿入

- 置換

- リスタート

- 終了

External

Loader

Executable

db2atld IBM DB2 EEE外部ローダ実行ファイルの名前。

Split File

Location

なし 分割ファイルの場所。SPLIT_ONLYロードモードを

設定した場合、外部ローダは分割ファイルを作成

します。

Output Nodes なし ロード操作を行うデータベースパーティション。

Split Nodes なし データをどのように分割するかを決定するデータ

ベースパーティション。この属性を指定しない

と、外部ローダが 適な分割方法を決定します。

Mode Split

and load

外部ローダがデータをロードするときに使用する

ロードモード。次のいずれかのロードモードを選

択します。

- Split and load

- Split only

- Load only

- 分析

Max Num

Splitters

25 分割プロセスの 大数。

強制 いいえ 開始時に一部のターゲットパーティションまたは

テーブルスペースがオフラインであることを検出

した場合でも、外部ローダ操作を強制的に継続し

ます。

ステータス

Interval

100 外部ローダログに進捗メッセージを書き込む前に

外部ローダがロードするデータのサイズ(単位:

MB)。1~4,000MBの値を指定します。

ポート 6000-60

63

外部ローダがIBM DB2サーバーとの内部通信用ソ

ケットを作成するために使用する、TCPポートの範

囲。

Check Level Nocheck 入力または出力時にレコードの切り詰めをチェッ

クします。

マップファイ

ル出力

なし パーティションマップを指定するファイルの名

前。カスタマイズしたパーティションマップを使

IBM DB2へのロード 281

Page 301: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

属性 デフォ

ルト値

説明

用するには、この属性を指定します。外部ローダ

を分析ロードモードで実行する場合に、カスタマ

イズしたパーティションマップを生成してくださ

い。

マップファイ

ル入力

なし 外部ローダを[Analyze]ロードモードで実行す

る場合のパーティションマップの名前。外部ロー

ダを[Analyze]モードで実行したい場合は、こ

の属性を指定する必要があります。

トレース 0 データ変換プロセスのダンプとハッシュ値の出力

を見たい場合に、外部ローダがトレースする行

数。

ステージング

済み

無効 データのロード方法。データベースへのロード前

に、フラットファイルのステージング領域にデー

タをロードするには、[Is Staged]を選択しま

す。それ以外の場合、データは名前付きパイプを

使用してデータベースにロードされます。

日付形式 mm/dd/

yyyy

日付形式。ターゲット定義で定義する日付形式と

一致する必要があります。IBM DB2は、次の日付

形式をサポートします。

- MM/DD/YYYY

- YYYY-MM-DD

- DD.MM.YYYY

- YYYY-MM-DD

OracleへのロードOracleターゲットにロードする際は、Oracle SQL Loaderを使用してターゲットに対して挿

入、更新、および削除操作を実行してください。

Oracle外部ローダーでは、データベースによって拒否されたデータのための拒否ファイル

が作成されます。 拒否ファイルの拡張子は.ldrrejectです。ローダは、ターゲットファイ

ルディレクトリに拒否ファイルを保存します。

282 章 18: 外部データのロード

Page 302: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

Oracle外部ローダーに関するルールおよびガイドライン

外部ローダを使用してOracleにロードする場合には、以下の規則およびガイドラインに従

ってください。

¨ Oracle外部ローダを選択した場合は、デフォルトの外部ローダの実行ファイル名は

sqlloadです。これはほとんどのUNIXプラットフォームでは正しい名前ですが、Windows

を使っている場合は、Oracleのマニュアルを調べて、外部ローダ実行ファイルの名前を

確認してください。

¨ Oracle OS認証を使用する接続の場合は、外部ローダ接続を作成する際にPmNullUserユ

ーザー名とPmNullPasswdを入力してください。PowerCenterは接続ユーザー名が

PmNullUserでOracleデータベースへの接続を要求しているときに、Oracle OS認証を使

用します。

¨ Oracle外部ローダのターゲットフラットファイルは、固定長または区切りファイルで

す。

¨ パーティション化されたターゲットに書き込むときに 適なパフォーマンスを得るに

は、[ダイレクトパス]を選択してください。詳細については、Oracleのマニュアルを

参照してください。

¨ Oracle 10.xまたはOracle 11.xターゲットのタイムスタンプカラムにサブ秒データを書

き込むようにセッションを設定した場合、Integration Serviceによってデフォルトで

書き込まれるサブ秒データはマイクロ秒までです。 精度を高めるには、制御ファイル

を編集し、タイムスタンプ精度を変更します。たとえば、TIMESTAMP(9)を指定してナノ

秒を処理します。

¨ 適なパフォーマンスを得るには、以下のガイドラインに従って、パーティション化さ

れたターゲットとパーティション化されていないターゲットの設定を決定します。

ターゲット ロード方法 パラレルロード ロードモード

パーティション

ダイレクトパス 有効化 付加

パーティション

通常パス 有効化 なし

非パーティショ

ン化

なし 無効化* なし

* パラレルモードを無効にした場合、データを単一のターゲットファイルへ

ルーティングするには、ラウンドロビンパーティション化を選択する必要が

あります。

Oracleへのマルチバイトデータのロード

マルチバイトデータをOracleへロードするときは、固定長ファイルのデータ精度はバイト

単位、区切りファイルのデータ精度は文字単位です。ターゲットテーブルのカラムの幅

が、すべてのデータを格納するのに十分かどうか確認してください。

Oracleは、Ncharなどの文字単位のデータ型をサポートしています。その場合、精度は文字

単位になります。Ncharデータ型を使用する場合は、 大文字数にKを掛けます。Kは、選択

Oracleへのロード 283

Page 303: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

したターゲットコードページで1文字に含まれる 大のバイト数です。これにより、

Integration Serviceではターゲットファイルをロードする前にデータを切り詰めることが

なくなります。

Oracle外部ローダーの属性の設定

以下の表に、Oracle外部ローダー接続の属性を示します。

属性 デフォルト値 説明

エラー数の上

限値

1 外部ローダがロード操作を中止するまでに許

可されるエラー数。

ロードモード 付加 外部ローダがデータをロードするときに使用

するロードモード。次のいずれかのロードモ

ードを選択します。

- 付加

- 挿入

- 置換

- 切り詰め

ロード方法 通常パスを使

外部ローダがデータをロードするときに使用

する方式。次のいずれかのロード方式を選択

します。

- 通常パスを使用

- ダイレクトパスを使用(リカバリ可能)。

- ダイレクトパスを使用(リカバリ可能)。

パラレルロー

ドを有効にす

パラレルロー

ドを有効にす

Oracle外部ローダが、パーティション化され

たOracleターゲットテーブルに並行してデー

タをロードするかどうかを決定します。

- パーティション化されたターゲットにロー

ドする場合は、[パラレルロード゙を有効に

する]を選択します。

- パーティション化されていないターゲット

にロードする場合は、[Do Not Enable

Parallel Load]を選択します。

Rows Per

Commit

10000 [ダイレクトパスを使用]ロード方式の場

合、この属性はロード操作に対するバインド

配列内の行数を指定します。[Use Direct

Path]ロード方式の場合、この属性は、外部

ローダがデータベースにデータを保存する前

にターゲットフラットファイルから読み込む

行数を指定します。

External

Loader

Executable

sqlload 外部ローダ実行ファイルの名前。

284 章 18: 外部データのロード

Page 304: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

属性 デフォルト値 説明

ログファイル

なし 外部ローダログファイルのパスと名前。

ステージング

済み

無効 データのロード方法。データベースへのロー

ド前に、フラットファイルのステージング領

域にデータをロードするには、[Is Staged]

を選択します。それ以外の場合、データは名

前付きパイプを使用してデータベースにロー

ドされます。

Sybase IQへのロードSybase IQにロードする際は、Sybase IQ外部ローダーを使用して挿入操作を実行します。

Integration Serviceでは、マルチバイトデータをSybase IQターゲットにロードすること

ができます。 Integration Serviceでは、Sybase IQサーバーがIntegration Serviceと同

じマシン上にある場合、または異なるマシン上にある場合でもフラットファイルに書き込

むことができます。 Integration ServiceがSybase IQデータベースサーバーに対してロ

ーカルである場合、Integration Serviceでは名前付きパイプに書き込むことができます。

Sybase IQ外部ローダーに関するルールおよびガイドライン

外部ローダを使用してSybase IQにロードする場合には、以下の規則およびガイドラインに

従ってください。

¨ ターゲットテーブルがプライマリキー制約に違反していないことを確認する必要があり

ます。

¨ Sybase IQ外部ローダを使用するには、読み込み/書き込みアクセス権を持つSybase IQ

ユーザーを事前に設定しておかなければなりません。

¨ Sybase IQ外部ローダのターゲットフラットファイルは、固定長または区切りファイル

です。

¨ Sybase IQ外部ローダはターゲットに対して更新操作や削除操作を実行できません。

¨ 複数のパーティションを伴うセッションについては、ラウンドロビンのパーティション

タイプを使用して、データを単一のターゲットファイルにルーティングします。

¨ Integration ServiceおよびSybase IQサーバーが異なるマシン上にある場合は、

Integration ServiceをホストするマシンからSybase IQサーバーをホストするマシン

へドライブをマッピングまたはマウントします。

Sybase IQへのマルチバイトデータのロード

マルチバイトデータをSybase IQターゲットにロードする場合は、以下のガイドラインを使

用します。

Sybase IQへのロード 285

Page 305: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

区切りフラットファイルターゲット

区切りフラットファイルの場合、データ精度は文字単位です。ターゲットにマルチバイト

文字データを挿入する場合、マルチバイトデータ用に追加の精度を確保する必要はありま

せん。Sybase IQでは、オプションの引用符を使用できません。区切りターゲットフラット

ファイルを持っている場合は、[引用符]に[なし]を選択する必要があります。

マルチバイトデータをSybase IQにロードする場合、NULLキャラクタおよび区切り文字はそ

れぞれ4バイトまでにすることができます。区切り文字が通常の文字として読み取られない

ようにするために、区切り文字の各バイトは0x40未満のASCII値でなければなりません。

固定幅フラットファイルターゲット

固定長フラットファイルの場合、データ精度は文字単位ではなくバイト単位です。固定長

フラットファイルターゲットにマルチバイトデータをロードする場合は、マルチバイトデ

ータを許容できるように精度を設定します。精度が小さくてマルチバイトデータに対応で

きない場合、Integration Serviceにより、行が拒否ファイルに書き込まれます。

Sybase IQ外部ローダーの属性の設定

PowerCenterでは、Sybase IQに外部ローダー接続タイプを使用します。Sybase IQデータ

ベースのログイン資格情報には接続文字列属性を指定します。

接続文字列の属性は、使用するSybaseのバージョンに応じて次のようになります。

¨ Sybase IQ 12およびそれ以前のSybase IQのバージョンでは、接続文字列の属性は次の

ようになります。

uid=user ID; pwd=password; eng=Sybase IQ database server name; links=tcpip (host=host name; port=port number)

例えば、次の接続文字列を使用できます。

uid=qasrvr65;pwd=qasrvr65;eng=SUNQA2SybaseIQ_1243;links=tcpip(host=sunqa2)

¨ Sybase IQ 15.xの接続文字列の属性は、次のようにする必要があります。

uid=user ID; pwd=password; eng=Sybase IQ database server name

例えば、次の接続文字列を使用できます。

uid=qasrvr65;pwd=qasrvr65;eng=SUNQA2SybaseIQ

注: 接続文字列に引用符を使用した場合、セッションが失敗する可能性があります。

以下の表に、Sybase IQ外部ローダー接続の属性を示します。

属性 デフォル

ト値

説明

Block Factor 10000 ターゲットSybaseテーブル内の1ブロックあた

りのレコード数。外部ローダがロード操作に

[Block Factor]属性を適用するのは、固定

長フラットファイルターゲットの場合のみで

す。

ブロックサイズ 50000 Sybaseデータベース操作に使用されるブロッ

クのサイズ。外部ローダがロード操作に

286 章 18: 外部データのロード

Page 306: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

属性 デフォル

ト値

説明

[Block Size]属性を適用するのは、区切り

フラットファイルターゲットの場合のみで

す。

Checkpoint 有効 利用可能にすると、Sybase IQデータベースは

テーブルを正常にロードしたあとでチェック

ポイントを発行します。利用不可にすると、

データベースはチェックポイントを発行しま

せん。

Notify Interval 1000 Sybase IQ外部ローダが外部ローダログにステ

ータスメッセージを書き込む前にロードする

行数。

Server Datafile

Directory

なし Integration Serviceをホストするマシンか

らアクセスできる、Sybase IQサーバーの場

所。ターゲットファイルの場所を指定する

と、Sybase IQサーバーはそのファイルのアク

セスに失敗することがあります。

この属性には、データベースサーバーのイン

ストールディレクトリからの相対的な位置を

指定します。

ディレクトリがWindowsシステムにある場合

は、ディレクトリパスにバックスラッシュ(\

\uff09を使用します。

D:\mydirectory\inputfile.out

ディレクトリがUNIXシステムにある場合は、

ディレクトリパスにフォワードスラッシュ

(/)を使用します。

/mydirectory/inputfile.out

データベースサーバーインストールをホスト

するマシンに対応する構文を使用してディレ

クトリパスを入力します。たとえば

Integration ServiceがWindowsマシン上にあ

り、Sybase IQサーバがUNIXマシン上にある

場合は、UNIXの構文を使用します。

External Loader

Executable

Sybase

IQ 12お

よびそれ

以前のバ

ージョ

ン:

dbisql

Sybase

15.x:

dbisql -

host<hos

tname> -

port<por

Sybase IQ外部ローダ実行ファイルの名前。

Sybase IQ外部ローダ接続を作成する場合、

Workflow Managerは外部ローダ実行ファイル

の名前をデフォルトでdbisqlに設定します。

別の名前の実行ファイルを使用する場合は、

[外部ローダ実行可能]フィールドを更新す

る必要があります。外部ローダ実行ファイル

のディレクトリがシステムパスに含まれてい

ない場合は、このフィールドにファイルのパ

スとファイル名を入力する必要があります。

Sybase IQへのロード 287

Page 307: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

属性 デフォル

ト値

説明

t

number>

Is Staged 有効 データのロード方法。データベースへのロー

ド前に、フラットファイルのステージング領

域にデータをロードするには、[Is Staged]

を選択します。名前付きパイプからデータを

ロードするには、この属性をクリアします。

Integration ServiceがSybase IQデータベー

スに対してローカルな場合、Integration

Serviceは名前付きパイプに書き込むことがで

きます。

TeradataへのロードTeradataターゲットにロードする場合、次のいずれかの外部ローダーを使用します。

¨ Multiload。大量の増分ロードのための挿入、更新、削除およびupsert操作を行いま

す。 単一のパーティションでセッションを実行する際にこのローダーを使用します。

マルチロードによりテーブルレベルのロックが取得されるので、オフラインローディン

グに適しています。

¨ TPump。比較的少量の変更のための挿入、更新、削除およびupsert操作を行います。 複

数のパーティションでセッションを実行する際にこのローダーを使用します。TPumpに

よってテーブルに関する行ハッシュロックが取得されるので、TPumpがテーブルにロー

ドしているときも他のユーザーはそのテーブルにアクセスできます。

¨ FastLoad。大量の初期ロードのための挿入、または大量の切り詰めおよび再ロード操作

のための挿入を行います。 単一のパーティションでセッションを実行する際にこのロ

ーダーを使用します。セカンダリインデックスが定義されていない空のターゲットテー

ブルでこのローダーを使用します。

Teradata外部ローダーを使用して更新またはupsert操作を行う場合、Mapping Designerの

[ターゲット更新の上書き]オプションを使用して、外部ローダー制御ファイルのUPDATE

文をオーバーライドします。upsertでは、外部ローダー制御ファイルのINSERT文は変更さ

れません。

288 章 18: 外部データのロード

Page 308: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

Teradata外部ローダーに関するルールおよびガイドライン

外部ローダーを使用してTeradataにロードする際には、以下のルールおよびガイドライン

を使用します。

¨ Integration Serviceでは、Teradata外部ローダーを使用して固定長フラットファイル

および区切りフラットファイルをTeradataデータベースにロードすることができます。

すべてのTeradataローダは改行(\n)文字を使用して個々のレコードを区切るため、

Teradata ローダの区切り文字として改行文字を使用することはできません。

¨ セッションに1つのパーティションが含まれる場合、ターゲット出力ファイル名は、拡

張子を含めて 大27文字です。セッションに複数のパーティションが含まれる場合、タ

ーゲット出力ファイル名は、拡張子を含めて 大25文字です。

¨ Teradata外部ローダを使用してマルチバイトデータをロードします。

¨ Teradata外部ローダを使用してバイナリデータをロードすることはできません。

¨ 名前付きパイプを使用してTeradataにロードする場合、チェックポイント操作が外部ロ

ーダによって実行されないように、チェックポイントの値を0に設定してください。

¨ 使用しているローダに従って、エラーテーブル名、ログテーブル名、または作業テーブ

ル名を指定できます。エラーデータベース名、ログデータベース名、または作業データ

ベース名も指定できます。

¨ セッションプロパティで制御ファイルを上書きできます。

¨ Teradataを使用する場合、制御ファイルにパスワードが出力されないように、データベ

ースのパスワードとしてPmNullPasswdを入力することができます。代わりに、

Integration Serviceにより制御ファイルにパスワード用に空の文字列が書き込まれま

す。

制御ファイルのオーバーライド

セッションのローダ接続を編集するときに、制御ファイルを上書きできます。ローダ接続

で編集できない一部のローダプロパティを変更したいときなどに、制御ファイルをオーバ

ーライドできます。たとえば、制御ファイル中のトレースオプションを設定できます。

制御ファイルを上書きするときは、Workflow Managerが制御ファイルをリポジトリに保存

します。制御ファイルの属性をクリアするまで、Integration Serviceでは、セッションの

実行時および各後続セッションの実行時に保存された制御ファイルが使用されます。 制御

ファイルを編集した後にターゲットまたはローダ接続設定を変更した場合は、これらの変

更は制御ファイルに含まれません。これらの変更を含める場合は、制御ファイルを再度生

成して編集する必要があります。

制御ファイルを上書きしない場合、セッションを実行するたびに、Integration Serviceに

よってセッションプロパティとローダープロパティに基づいて、新規制御ファイルが生成

されます。 Integration Serviceによって、制御ファイルが出力ファイルディレクトリに

生成されます。 セッションが実行されるたびに制御ファイルを上書きします。

注: Workflow Manager では、制御ファイルの構文は検証しません。セッションの実行時

にTeradataが制御ファイルの構文を検証します。制御ファイルが無効だと、セッションは

失敗に終わります。

編集済みの制御ファイルを表示するには、制御ファイルエディタを開きます。

Teradataへのロード 289

Page 309: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

制御ファイルを上書きするには:

1. Workflow Managerで、セッションプロパティを開きます。

2. [マッピング]タブをクリックし、[トランスフォーメーション]ビューを開きま

す。

3. [ターゲット]ノードをクリックします。

4. [接続]設定の[値]フィールドで、[変更]をクリックします。

5. [Control File Content Override(制御ファイルの内容の上書き)]フィールドで

[開く]をクリックします。

[Control File Editor(制御ファイルエディタ)]ダイアログボックスが表示されま

す。

6. [生成]をクリックします。

Workflow Managerはセッションプロパティとローダプロパティに基づいて制御ファイ

ルを生成します。

7. 生成された制御ファイルを編集し、[OK]をクリックして変更を保存します。

制御ファイルでのユーザー変数の作成

MultiLoadまたはTPump外部ローダ属性を設定する場合は、ユーザー変数を作成できます。

ユーザー変数は、制御ファイルで使用するカスタム定義された置き換え変数です。ユーザ

ー変数は、接続オブジェクト属性で利用できない可能性があるセッション固有の情報を取

得します。多くの場合、ユーザー変数はロード前またはロード後の処理に使用されます。

ユーザー変数名および置き換え値は、接続オブジェクト内に定義します。制御ファイル

で、置換変数の接頭語とユーザー変数名を対応するコマンドに追加します。セッションを

実行すると、Integration Serviceは制御ファイル内の置換変数の接頭語とユーザー変数名

を、置き換え値に置き換えます。制御ファイルを編集した後に置き換え値を変更した場

合、制御ファイルは新しい値を使用します。

ユーザー変数を作成する場合には、次の規則およびガイドラインに従ってください。

¨ ユーザー変数を作成する場合は、以下の構文を使用します。

<User_Variable_Name>=<Substitution_Value>

¨ ユーザー変数名や置き換え値にスペースを含めると、セッションは失敗します。

¨ 制御ファイルにユーザー変数を追加する場合は、以下の構文を使用します。

:CF.<User_Variable_Name>

Integration Serviceがターゲットにデータをロードした後、システム日付を出力ファイル

に表示できます。接続オブジェクトでは、以下のユーザー変数を設定します。

OutputFileName=output_file.txt

制御ファイルで、以下のように設定します。

DISPLAY ‘&SYSDATE’ TO FILE ‘:CF.OutputFileName’

セッションを実行すると、Integration Serviceは「:CF.OutputFileName」を制御ファイ

ルの「output_file.tx」に置き換えます。

290 章 18: 外部データのロード

Page 310: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

Teradata MultiLoad外部ローダーの属性の設定

MultiLoad外部ローダで作業する場合は、以下の規則およびガイドラインに従ってくださ

い。

¨ ターゲット上での挿入、更新、削除および更新挿入操作を行えます。また、データドリ

ブンモードを使用し、アップデートストラテジトランスフォーメーションまたはカスタ

ムトランスフォーメーションに基づいて、挿入、更新、および削除操作を実行すること

ができます。

¨ 複数のパーティションを伴うセッションについては、ラウンドロビンのパーティション

タイプを使用して、データを単一のターゲットファイルにルーティングします。

¨ データベースで許可されている同時実行セッションの 大数を超える数のセッションを

起動すると、セッションがハングすることがあります。[Tenacity]および[Sleep]

に 小値を設定すると、セッションがハングではなく、失敗するようにできます。

Teradata MultiLoad外部ローダの属性を設定するには、[接続]-[ローダ]をクリック

し、[タイプ]を選択し、[編集]をクリックします。

以下の表に、Teradata MultiLoad外部ローダーに対して設定する属性を示します。

属性 デフォ

ルト値

説明

TDPID なし TeradataデータベースID。

データベース

なし ベース名(オプション)。データベース名を指定しな

い場合、Integration Serviceによって、マッピング

で定義したターゲットテーブルデータベース名が使用

されます。

日付形式 なし 日付形式。接続オブジェクトの日付形式は、ターゲッ

ト定義で定義する日付形式と一致する必要がありま

す。Integration Serviceは、次の日付形式をサポー

トします。

- DD/MM/YYYY

- MM/DD/YYYY

- YYYY/DD/MM

- YYYY/MM/DD

エラー数の上

限値

0 MultiLoadがMultiLoadエラーテーブルに書き込める

リジェクトレコードの合計数。一意性違反は、リジェ

クトレコードとして数えられません。

エラー制限が0の場合は、リジェクトされるレコード

数に制限がないことを意味します。

チェックポイ

ント

10,000 チェックポイント間の間隔。間隔は、次の値に設定で

きます。

- 60以上。MultiLoadは、このレコード数を処理する

ごとにチェックポイント操作を実行します。

- 1–59。MultiLoadは、指定された間隔(単位:分)

でチェックポイント操作を実行します。

- 0。MultiLoadは、インポート作業中にチェックポイ

ント操作を実行しません。

Teradataへのロード 291

Page 311: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

属性 デフォ

ルト値

説明

Tenacity 10,000 MultiLoadが必要なセッションにログインしようと試

みる時間(単位:時間)。ログインが失敗した場合、

MultiLoadは[Sleep]属性に指定された時間(単

位:分)だけ待ってから、ログインを再試行します。

MultiLoadは、ログインが成功するか、または

[Tenacity]属性に指定された時間が経過するまで、

ログインの試行を繰り返します。

ロードモード Upsert SQLコマンドを生成するモード。Insert、Delete、

Update、Upsert、Data Drivenのいずれかを選択しま

す。

データドリブンのロードを選択すると、Integration

Serviceは、アップデートストラテジまたはカスタム

トランスフォーメーションの指示に従って、挿入、削

除、または更新の行にフラグをたてるか決定します。

Integration Serviceはアップデートストラテジを示

すカラムをターゲットファイルまたは名前付きパイプ

に出力します。制御ファイルでは、これらの値を使用

しターゲットに対してどのようにデータをロードする

のか決定します。Integration Serviceでは、以下の

値を使用してアップデートストラテジを指定します。

0 - 挿入

1 - 更新

2 - 削除

Drop Error

Tables

有効 次のセッションを開始する前にMultiLoadエラーテー

ブルを削除します。テーブルを削除するにはこのオプ

ションを選択します。

External

Loader

Executable

mload Teradata外部ローダ実行ファイルのファイル名と必要

に応じてファイルパス。外部ローダ実行ファイルのデ

ィレクトリがシステムパスに含まれていない場合は、

絶対パスを入力する必要があります。

大セッショ

ン数

1 MultiLoadジョブ1つあたりのMultiLoadセッションの

大数。[Max Sessions]は1~32,767までの値でな

ければなりません。

複数のMultiLoadセッションを実行すると、クライア

ントとデータベースが使用するリソースの量が増えま

す。そのため、この値を小さな数に設定すると、パフ

ォーマンスが向上します。

スリープ 6 MultiLoadがログインを再試行するまでの待ち時間

(単位:分)。MultiLoadは、ログインが成功する

か、または[Tenacity]属性に指定された時間が経過

するまで、ログインの試行を繰り返します。

[Sleep]には0より大きな値を指定する必要がありま

す。0を指定すると、MultiLoadはエラーメッセージ

を発行し、デフォルトの値(6分)を使用します。

292 章 18: 外部データのロード

Page 312: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

属性 デフォ

ルト値

説明

ステージング

済み

無効 データのロード方法。データベースへのロード前に、

フラットファイルのステージング領域にデータをロー

ドするには、[Is Staged]を選択します。それ以外

の場合、データは名前付きパイプを使用してデータベ

ースにロードされます。

Error

Database

なし Error Database Nameこの属性を使用して、デフォル

トのエラーデータベース名を上書きします。データベ

ース名を指定しない場合、Integration Serviceによ

って、ターゲットテーブルデータベースが使用されま

す。

ワークテーブ

ルデータベー

なし 作業テーブルデータベースの名前。この属性を使用し

て、デフォルトの作業テーブルデータベース名を上書

きします。データベース名を指定しない場合、

Integration Serviceによって、ターゲットテーブル

データベースが使用されます。

ログテーブル

データベース

なし ログテーブルデータベースの名前。この属性を使用し

て、デフォルトのログテーブルデータベース名を上書

きします。データベース名を指定しない場合、

Integration Serviceによって、ターゲットテーブル

データベースが使用されます。

ユーザー変数 なし デフォルトの制御ファイルで使用するユーザー定義変

数。

以下の表に、セッションプロパティでTeradata MultiLoad外部ローダー接続オブジェクト

を上書きする際に設定する属性を示します。

属性 デフォ

ルト値

説明

エラーテーブル1 なし 初のエラーテーブルのテーブル名。この属性を

使用して、デフォルトのエラーテーブル名を上書

きします。エラーテーブル名を指定しない場合、

Integration Serviceにより

ET_<target_table_name>が使用されます。

エラーテーブル2 なし 2番目のエラーテーブルのテーブル名。この属性を

使用して、デフォルトのエラーテーブル名を上書

きします。エラーテーブル名を指定しない場合、

Integration Serviceにより、

UV_<target_table_name>が使用されます。

ワークテーブル なし 作業テーブル名は、デフォルトの作業テーブル名

を上書きします。作業テーブル名を指定しない場

合、Integration Serviceにより

WT_<target_table_name>が使用されます。

Teradataへのロード 293

Page 313: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

属性 デフォ

ルト値

説明

ログテーブル なし ログテーブル名は、デフォルトのログテーブル名

を上書きします。ログテーブル名を指定しない場

合、Integration Serviceにより

ML_<target_table_name>が使用されます。

制御ファイルの

上書き

なし 制御ファイルのテキストこの属性を使用して、

Integration ServiceがTeradataへロードすると

きの制御ファイルを上書きします。

Teradata TPump外部ローダーの属性の設定

ターゲット上での挿入、更新、削除および更新挿入操作を行えます。また、データドリブ

ンモードを使用し、アップデートストラテジトランスフォーメーションまたはカスタムト

ランスフォーメーションに基づいて、挿入、更新、および削除操作を実行することができ

ます。

複数のパーティションを含むセッションを実行する場合は、各パーティションについて

Teradata TPump外部ローダを選択してください。

Teradata TPump外部ローダの属性を設定するには、[接続]-[ローダ]をクリックし、

[タイプ]を選択し、[編集]をクリックします。

以下の表に、Teradata TPump外部ローダーに対して設定する属性を示します。

属性 デフォ

ルト値

説明

TDPID なし TeradataデータベースID。

データベース名 なし ベース名(オプション)。データベース名を指定

しない場合、Integration Serviceによって、マッ

ピングで定義したターゲットテーブルデータベー

ス名が使用されます。

エラー数の上限

0 エラーとして拒否される行数を制限します。エラ

ー制限を超えると、TPumpは、 後のエラーが発生

したトランザクションをロールバックします。エ

ラー制限が0の場合は、TPumpはエラーが1回発生

しただけで処理を中止します。

チェックポイン

15 チェックポイント間の時間間隔(単位:分)。チ

ェックポイントは、0~60の範囲で設定する必要が

あります。

Tenacity 4 TPumpが必要なセッションにログインしようと試み

る時間(単位:時間)。ログインが失敗した場

合、TPumpは[Sleep]属性に指定された時間(単

位:分)だけ待ってから、ログインを再試行しま

す。TPumpは、ログインが成功するか、または

294 章 18: 外部データのロード

Page 314: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

属性 デフォ

ルト値

説明

[Tenacity]属性に指定された時間が経過するま

で、ログインの試行を繰り返します。

[Tenacity]を無効にするには、値を0に設定しま

す。

ロードモード Upsert SQLコマンドを生成するモード。Insert、Delete、

Update、Upsert、Data Drivenのいずれかを選択し

ます。

データドリブンのロードを選択すると、

Integration Serviceは、アップデートストラテジ

またはカスタムトランスフォーメーションの指示

に従って、挿入、削除、または更新の行にフラグ

をたてるか決定します。Integration Serviceはア

ップデートストラテジを示すカラムをターゲット

ファイルまたは名前付きパイプに出力します。制

御ファイルでは、これらの値を使用し、データベ

ースに対してどのようにデータをロードするかを

決定します。Integration Serviceでは、以下の値

を使用してアップデートストラテジを指定しま

す。

0 - 挿入

1 - 更新

2 - 削除

Drop Error

Tables

有効 次のセッションを開始する前にTPumpエラーテーブ

ルを削除します。テーブルを削除するにはこのオ

プションを選択します。

External

Loader

Executable

tpump Teradata外部ローダ実行ファイルのファイル名と

必要に応じてファイルパス。外部ローダ実行ファ

イルのディレクトリがシステムパスに含まれてい

ない場合は、絶対パスを入力する必要がありま

す。

大セッション

1 TPumpジョブ1つあたりのTPumpセッションの 大

数。セッション内の各パーティションは、固有の

TPumpジョブを開始します。複数のTPumpセッショ

ンを実行すると、クライアントとデータベースが

使用するリソースの量が増えます。そのため、こ

の値を小さな数に設定すると、パフォーマンスが

向上します。

スリープ 6 TPumpがログインを再試行するまでの待ち時間(単

位:分)。TPumpは、ログインが成功するか、また

は[Tenacity]属性に指定された時間が経過する

まで、ログインの試行を繰り返します。

Packing Factor 20 各セッションバッファが保持する行数。パッキン

グにより、ターゲットフラットファイルと

Teradataデータベースの間での送受信の回数が減

Teradataへのロード 295

Page 315: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

属性 デフォ

ルト値

説明

るため、ネットワークおよびチャネルの効率が向

上します。

Statement Rate 0 TPump実行ファイルがTeradataデータベースに文を

送信する初期 大速度(毎分)。この属性を0に設

定した場合、速度は不定になります。

Serialize 無効 特定のキーの組み合わせ(行)に対する操作が連

続的に行われるかどうかを指定します。

TPumpジョブで1つの行に対して複数の変更がある

場合は、このオプションを有効にしてください。

キー範囲が同じでフィルタ条件が異なる複数のパ

ーティションがあるセッションでは、1つの行に対

して複数の変更が行われる場合があります。この

場合(特に[Pack]属性が1より大きな値に設定さ

れている場合)には、[Serialize]を有効にし

て、Teradataデータベースのロック競合を避けた

方がよいでしょう。

[Serialize]を有効にした場合、Integration

Serviceは、ターゲットテーブルにキーカラムとし

て指定されているプライマリキーを使用します。

ターゲットテーブルにプライマリキーがない場合

には、このオプションをクリアするか、制御ファ

イルのデータレイアウトセクションでキーカラム

を指定します。

Robust 無効 [Robust]を選択しない場合、TPumpは単純なリス

タートロジックを使用します。この場合、リスタ

ートロジックによりTPumpは 後のチェックポイン

トから処理を開始します。TPumpは、チェックポイ

ント後にロードされたデータがあれば、そのデー

タを再ロードします。この方法では、堅牢なロジ

ックでの追加のデータベース書き込みによる余分

なオーバーヘッドは生じません。

No Monitor 有効 この属性を選択すると、TPumpは、TPumpモニタア

プリケーションからの文速度の変更、またはTPump

モニタアプリケーションの更新ステータス情報を

チェックしないようになります。

ステージング済

無効 データのロード方法。データベースへのロード前

に、フラットファイルのステージング領域にデー

タをロードするには、[Is Staged]を選択しま

す。それ以外の場合、データは名前付きパイプを

使用してデータベースにロードされます。

Error Database なし Error Database Nameこの属性を使用して、デフォ

ルトのエラーデータベース名を上書きします。デ

ータベース名を指定しない場合、Integration

Serviceによって、ターゲットテーブルデータベー

スが使用されます。

296 章 18: 外部データのロード

Page 316: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

属性 デフォ

ルト値

説明

ログテーブルデ

ータベース

なし ログテーブルデータベースの名前。この属性を使

用して、デフォルトのログテーブルデータベース

名を上書きします。データベース名を指定しない

場合、Integration Serviceによって、ターゲット

テーブルデータベースが使用されます。

ユーザー変数 なし デフォルトの制御ファイルで使用するユーザー定

義変数。

以下の表に、セッションプロパティでTeradata TPump外部ローダー接続オブジェクトをオ

ーバーライドする際に設定する属性を示します。

属性 デフォ

ルト値

説明

エラーテーブル なし エラーテーブル名。この属性を使用して、デフォ

ルトのエラーテーブル名を上書きします。エラー

テーブル名を指定しない場合、Integration

Serviceにより

ET_<target_table_name><partition_number>が使

用されます。

ログテーブル なし ログテーブル名この属性を使用して、デフォルト

のログテーブル名を上書きします。ログテーブル

名を指定しない場合、Integration Serviceにより

TL_<target_table_name><partition_number>が使

用されます。

制御ファイルの

上書き

なし 制御ファイルのテキストこの属性を使用して、

Integration ServiceがTeradataへロードするとき

の制御ファイルを上書きします。

Teradata FastLoad外部ローダーの属性の設定

FastLoad外部ローダで作業する場合は、以下のガイドラインに従ってください。

¨ 各FastLoadジョブは、データを1つのTeradataデータベーステーブルにロードします。

FastLoadを使用して複数のテーブルにデータをロードさせるには、複数のFastLoadジョ

ブを作成する必要があります。

¨ 複数のパーティションを伴うセッションについては、ラウンドロビンのパーティション

タイプを使用して、データを単一のターゲットファイルにルーティングします。

¨ 二次インデックスの定義されていない空のターゲットテーブルである必要があります。

¨ FastLoadは、ターゲットテーブルにプライマリキーが存在する場合、出力ファイルの重

複行をTeradataデータベースのターゲットテーブルにロードしません。

¨ 日付の値をターゲットテーブルにロードする場合、ターゲットテーブルのカラムに

「YYYY-MM-DD」の形式で日付形式を設定する必要があります。

Teradataへのロード 297

Page 317: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

¨ FastLoadを使用してバイナリデータをロードすることはできません。

¨ 区切り文字としてカンマ(,)、タブ(\t)、およびパイプ( | )を使用できます。

Teradata FastLoad外部ローダに属性を設定するには、[接続]-[ローダ]をクリック

し、[タイプ]を選択し、[編集]をクリックします。

以下の表に、Teradata FastLoad外部ローダーに対して設定する属性を示します。

属性 デフォ

ルト値

説明

TDPID なし TeradataデータベースID。

データベース

なし データベース名。

エラー数の上

限値

1,000,

000

FastLoadがデータベーステーブルへのロードを中止す

るまでにリジェクトできる行の 大数。

チェックポイ

ント

0 チェックポイントとチェックポイントとの間に

Teradataデータベースへ送信される行数。FastLoad

ジョブの実行中に処理が停止した場合、 近のチェッ

クポイントからジョブをリスタートできます。

「0」を入力した場合、FastLoadはチェックポイント

操作を実行しません。

Tenacity 4 大数のロードジョブがTeradataデータベースで既に

実行されている場合に、必要なFastLoadセッションに

対してFastLoadがログインの試行を繰り返す時間の長

さです(単位:時間)。FastLoadは、新しいセッショ

ンへのログイン時に、 大数のロードセッションが

Teradataデータベースで既に実行されていることが分

かった場合、ログインされた新しいセッションをすべ

てログオフさせ、[Sleep]属性に指定された時間

(単位:分)だけ待ってから、ログインを再度試みま

す。FastLoadは、必要な数のセッションにログインで

きるまで、または[Tenacity]属性に指定された時間

が経過するまで、ログインの試行を繰り返します。

Drop Error

Tables

有効 次のセッションを開始する前にFastLoadエラーテーブ

ルを削除します。前のジョブからのデータがあるエラ

ーテーブルが存在する場合、FastLoadは実行されませ

ん。

テーブルを削除するにはこのオプションを選択しま

す。

External

Loader

Executable

fastlo

ad

Teradata外部ローダ実行ファイルのファイル名と必要

に応じてファイルパス。外部ローダ実行ファイルのデ

ィレクトリがシステムパスに含まれていない場合は、

絶対パスを入力する必要があります。

大セッショ

ン数

1 FastLoadジョブ1つあたりのFastLoadセッションの

大数。[ 大セッション数]は1以上で、さらにシス

テムのアクセスモジュールプロセス(AMP)の合計数

以下でなければなりません。

298 章 18: 外部データのロード

Page 318: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

属性 デフォ

ルト値

説明

スリープ 6 FastLoadがログインを再試行するまでの待ち時間(単

位:分)。FastLoadは、ログインが成功するか、また

は[Tenacity]属性に指定された時間が経過するま

で、ログインの試行を繰り返します。

ターゲットテ

ーブルの切り

詰め

無効 FastLoadジョブを開始する前に、ターゲットデータベ

ーステーブルを切り詰めます。FastLoadでは、空でな

いテーブルにデータをロードすることはできません。

ステージング

済み

無効 データのロード方法。データベースへのロード前に、

フラットファイルのステージング領域にデータをロー

ドするには、[Is Staged]を選択します。それ以外

の場合、データは名前付きパイプを使用してデータベ

ースにロードされます。

Error

Database

なし Error Database Nameこの属性を使用して、デフォル

トのエラーデータベース名を上書きします。データベ

ース名を指定しない場合、Integration Serviceによ

って、ターゲットテーブルデータベースが使用されま

す。

以下の表に、セッションプロパティでTeradata FastLoad外部ローダー接続オブジェクトを

オーバーライドする際に設定する属性を示します。

属性 デフォ

ルト値

説明

エラーテーブ

ル1

なし 初のエラーテーブルのテーブル名は、デフォルトの

エラーテーブル名を上書きします。エラーテーブル名

を指定しない場合、Integration Serviceにより

ET_<target_table_name>が使用されます。

エラーテーブ

ル2

なし 2番目のエラーテーブルのテーブル名は、デフォルト

のエラーテーブル名を上書きします。エラーテーブル

名を指定しない場合、Integration Serviceにより、

UV_<target_table_name>が使用されます。

制御ファイル

の上書き

なし 制御ファイルのテキストこの属性を使用して、

Integration ServiceがTeradataへロードするときの

制御ファイルを上書きします。

セッション内での外部データのロードの設定セッション内で外部データのロードを設定する前に、Workflow Managerで外部ローダー接

続を作成し、外部ローダーの属性を設定する必要があります。

セッション内での外部データのロードの設定 299

Page 319: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

外部ローダーをセッションに使用するには、次の手順を実行します。

1. リレーショナルデータベースにではなく、フラットファイルに書き込むように、セッ

ションを設定します。

2. ファイルプロパティを設定します。

3. セッションプロパティで外部ローダー接続を選択します。

ファイルに書き込むようにセッションを設定

外部ローダを使用するには、ターゲットデータベースタイプに応じてマッピングにターゲ

ット定義を作成します。セッションは、デフォルトでリレーショナルターゲットタイプを

設定します。外部ローダ接続を選択するには、セッションがリレーショナルターゲットで

はなくファイルに書き込むように設定する必要があります。ファイルに書き込むようにセ

ッションを設定するには、writerのタイプをリレーショナルwriterからファイルwriterに

変更します。ライタのタイプは、[マッピング]タブの[Writers]設定を使用して変更し

ます。

ターゲットのwriterのタイプを変更するには、ターゲットインスタンスを選択し、writer

のタイプを[リレーショナルWriter]から[ファイルWriter]に変更します。

ファイルプロパティの設定

ファイルに書き込むようにセッションを設定したあとは、ファイルプロパティを設定でき

ます。出力ファイル名およびディレクトリと、拒否ファイル名およびディレクトリを指定

する必要があります。これらのプロパティは、[マッピング]タブの[プロパティ]設定

で設定します。ファイルプロパティを設定するには、ターゲットインスタンスを選択しま

す。

以下の表に、[プロパティ]設定の属性を示します。

属性 説明

出力ファイルディ

レクトリ

出力ファイルディレクトリの名前およびパス。このフィー

ルドにはディレクトリ名を入力します。デフォルトでは、

ディレクトリ$PMTargetFileDirに出力ファイルが書き込ま

れます。

[Output filename]フィールドに完全なディレクトリお

よびファイル名を入力する場合は、このフィールドをクリ

アします。出力ファイルのパスにダブルスペースを使用し

た場合、外部ローダセッションが失敗する場合がありま

す。

Output Filename 出力ファイルの名前。ファイル名、またはファイル名とデ

ィレクトリを入力します。デフォルトで、Workflow

Managerにより、マッピングで使用されるターゲット定義

に基づいてターゲットファイルに名前が付けられます。<ターゲット名>。 出力ファイルのパスにダブルスペースを

使用した場合、外部ローダセッションが失敗する場合があ

ります。

300 章 18: 外部データのロード

Page 320: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

属性 説明

拒否ファイルディ

レクトリ

拒否ファイルディレクトリの名前およびパス。デフォルト

では、Integration Serviceは拒否ファイルをすべてディ

レクトリ$PMBadFileDirに書き込みます。

[Reject filename]フィールドに完全なディレクトリお

よびファイル名を入力する場合は、このフィールドをクリ

アします。

Reject Filename 拒否ファイルの名前。ファイル名、またはファイル名とデ

ィレクトリを入力します。Integration Serviceはこのフ

ィールドの情報を、[Reject File Directory]フィール

ドに入力された情報に追加します。たとえば、[拒否ファ

イルディレクトリ]フィールドに「C:/reject_file/」と

入力されているときに、[拒否ファイル名]フィールドに

「filename.bad」と入力すると、Integration Serviceは

リジェクトされた行をC:/reject_file/filename.badに書

き込みます。

デフォルトで、Integration Serviceはターゲットインス

タンス名に従って、「ターゲット名.bad」のように拒否フ

ァイルに名前を付けます。

また、拒否ファイルセッションパラメータを入力して拒否

ファイルまたは拒否ファイルとディレクトリを表すことも

できます。すべての拒否ファイルパラメータには、

$BadFile名前のように名前を付けます。

ファイルプロパテ

ィ設定

フラットファイルプロパティの定義。外部ローダを使用す

る場合には、[ファイルプロパティ設定]リンクをクリッ

クしてフラットファイルプロパティを定義する必要があり

ます。

Oracle外部ローダの場合、ターゲットフラットファイル

は、固定長または区切りファイルです。

Sybase IQ外部ローダの場合、ターゲットフラットファイ

ルは、固定長または区切りファイルです。

Teradata外部ローダの場合、ターゲットフラットファイル

は固定長でなければなりません。

IBM DB2外部ローダの場合、ターゲットフラットファイル

は区切りファイルでなければなりません。

注: [Merge Partitioned Files]を選択したり、結合ファイル名を入力したりしないで

ください。外部ローダを使用する場合、パーティション化された出力ファイルを結合する

ことはできません。

外部ローダ接続の選択

ファイルプロパティを設定した後は、外部ローダ接続を選択できます。外部ローダ接続を

選択するには、接続タイプと接続オブジェクトを選択します。接続オプションは、[マッ

ピング]タブの[接続]設定で設定します。

セッションに複数のパーティションが含まれていて、複数の出力ファイルからロードでき

るローダを選択する場合は、パーティションごとに異なる接続を選択できますが、各接続

が同じタイプである必要があります。たとえば、パーティションごとに異なるTeradata

セッション内での外部データのロードの設定 301

Page 321: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

TPump外部ローダ接続を選択できますが、1つのパーティションにTeradata TPump接続を選

択して別のパーティションにOracle接続を選択することはできません。

セッションに複数のパーティションが含まれていて、1つの出力ファイルからしかロードで

きないローダを選択する場合は、ラウンドロビンパーティション化を使用して、データを

単一のターゲットファイルへルーティングします。接続ごとにローダーを選択できます

が、Integration Serviceによってこの接続が 初のパーティションに使用されます。

外部ローダ接続を選択するには:

1. [マッピング]タブで、ナビゲータのターゲットインスタンスを選択します。

2. [ローダ]接続タイプを選択します。

3. [値]フィールドで、[開く]ボタンをクリックします。

4. 接続オブジェクトまたは変数を選択します。

¨ オブジェクトの使用。ローダー接続オブジェクトを選択します。 [上書き]ボタ

ンをクリックして、接続属性をオーバーライドします。オーバーライドすることの

できる属性は、ローダータイプに応じて異なります。

¨ 接続変数の使用。$LoaderConnectionNameセッションパラメータを使用して、パラ

メータファイル内にパラメータを定義します。 パラメータファイル内の接続属性

をオーバーライドします。

5. [OK]をクリックします。

外部データのロードのトラブルシューティング

データを外部ローダにロードするセッションを設定しようとしていますが、セッションプロパティで外部ローダ接続を選択できません。

マッピングにリレーショナルターゲットが含まれていることを確認してください。セッシ

ョンの作成時に、セッションプロパティの[マッピング]タブの[Writers]設定で[File

Writer]を選択してください。次に、[接続]設定を開いて、外部ローダ接続を選択しま

す。

TPumpを使用するセッションを実行しようとしていますが、セッションが失敗します。セッションログには、Teradata出力ファイル名が長すぎるというエラーが表示されます。

Integration Serviceにより、Teradata出力ファイル名を使用して、TPumpのエラーファイ

ルとログファイルの名前、およびログテーブル名が生成されます。 これらの名前を生成す

るために、Integration Serviceによって出力ファイル名に数文字のプレフィックスが追加

されます。 1つのパーティションを含むセッションについては3文字を追加し、複数のパー

ティションを含むセッションについては5文字を追加します。

Teradataでは、ログテーブル名に 大30文字を使用できます。Integration Serviceによ

ってプレフィックスが追加されるため、単一のパーティションを含むセッションを実行す

302 章 18: 外部データのロード

Page 322: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

る場合には、ターゲット出力ファイル名を 大27文字(拡張子を含む)で指定します。 複

数のパーティションを含むセッションを実行する場合には、ターゲット出力ファイル名を

大25文字(拡張子を含む)で指定する必要があります。

TPumpを使ってTeradataにデータをロードしようとしましたが、セッションが失敗しました。エラーを修正しても、やはりセッションが失敗します。

Teradataは、セッションを再実行したときにログテーブルを削除しないことがあります。

Teradataデータベースをチェックして、ログテーブルが存在する場合は手動で削除してく

ださい。その後で、セッションを再実行してください。

外部データのロードのトラブルシューティング 303

Page 323: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

第 1 9 章

FTP

この章では、以下の項目について説明します。

¨ FTPの概要, 304 ページ

¨ Integration Serviceの動作, 305 ページ

¨ セッションのFTPの設定, 307 ページ

FTPの概要フラットファイルまたはXMLソースからの読み込みや、フラットファイルまたはXMLターゲ

ットへの書き込みに、ファイル転送プロトコル(FTP)を使用するようにセッションを設定

できます。Integration Serviceは、メインフレームを含め、接続できるどのマシンにも、

FTPを使用してアクセスできます。 ソースファイルとターゲットファイルの両方に関し

て、ファイルを直接転送するとき、またはファイルをローカルディレクトリにステージン

グするときにFTPを使用します。ソースファイルに直接アクセスするか、またはファイルリ

ストを使用して、セッション内の間接ソースファイルにアクセスできます。

セッションでFTPファイルソースおよびターゲットを使用するには、次のタスクを実行しま

す。

1. Workflow ManagerでFTP接続オブジェクトを作成し、接続属性を設定します。

2. セッションでFTP接続オブジェクトを使用するように、セッションプロパティを設定し

ます。

SFTPサーバーに接続している場合は、SSHファイル転送プロトコル(SFTP)を使用するよう

にFTP接続を設定してください。SFTPを使用すると、セキュリティで保護されたデータスト

リームでのファイル転送を行うことができます。Integration Serviceは安全な接続を実現

し、SFTPサーバー上のファイルへのアクセスを可能にするSSH2トランスポートレイヤを作

成します。

304

Page 324: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

FTPの使用に関するルールおよびガイドライン

フラットファイルまたはXMLのソースまたはターゲットでFTPを使用する場合、以下のガイ

ドラインに従ってください。

¨ セッションプロパティで、ソースまたはターゲットの出力ディレクトリを指定できま

す。ディレクトリを指定しない場合、Integration Serviceは、UNIXではIntegration

Serviceが実行されるディレクトリ、Windowsではシステムディレクトリにファイルをス

テージングします。

¨ メインフレーム上に配置されている同じFTPソースファイルまたはターゲットファイル

を使用する複数のセッションを並列に実行することはできません。

¨ メインフレームからFTPソースまたはターゲットをステージングするセッションを含む

ワークフローを強制終了すると、接続がタイムアウトするまで、そのワークフローを再

実行できないことがあります。

¨ パブリックキー認証を必要とするSFTPサーバーでFTP接続を使用するセッションを実行

するには、セッションを実行するノードでパブリックキーおよびプライベートキーファ

イルにアクセスできるようにする必要があります。

Integration Serviceの動作FTPを使用したIntegration Serviceの動作は、FTP接続とセッションの設定方法により異

なります。 Integration Serviceは、FTPを使用して、以下の方法でソースファイルおよ

びターゲットファイルにアクセスできます。

¨ ソースファイル。 Integration Serviceをホストするマシン上にソースファイルをステ

ージングします。または、FTPホストから直接ソースファイルにアクセスします。 単一

のソースファイル、または単一のソースインスタンスに対応する複数の間接ソースファ

イルで構成されるファイルリストを使用します。

¨ ターゲットファイル。Integration Serviceをホストするマシン上にターゲットファイ

ルをステージングします。または、FTPホスト上のターゲットファイルに書き込みま

す。

FTPファイルをステージングすることで、ネットワーク障害による部分的な転送のリスクを

減らすことができます。Integration Serviceをホストするマシン上でステージングされた

ファイルを作成します。FTPプロセスがステージングされたファイルを作成した後、読み取

り操作が開始されます。ターゲットでFTPを使用すると、FTPプロセスはIntegration

Serviceがステージングされたファイルに書き込みを行った後に開始されます。ステージン

グされたファイルが完了する前にネットワーク障害が発生した場合は、ステージングされ

たファイルを削除してセッションを実行し直すことができます。

ステージングはFTP接続オブジェクト内で、またはセッションの前後のシェルコマンドを通

じて設定できます。

ソースファイルを対象としたFTPの使用

フラットファイルまたはXMLファイルソースを読み取るセッションでFTPを使用します。

Integration Serviceをホストするマシン上にセッションのソースファイルをステージング

Integration Serviceの動作 305

Page 325: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

できます。 単一のソースファイル、または各ソースインスタンスのファイルリストを使用

します。

ソースデータをステージングする場合、Integration ServiceはFTPを使用してローカルフ

ァイルを作成します。ローカルファイルはセッションのソースとして使用されます。ステ

ージングされたファイルが完了するまで、Integration Serviceはデータをパイプラインに

移動しません。

ソースデータをステージングしない場合、Integration ServiceはFTP を使用してソース

ファイルに直接アクセスします。ネットワーク障害が発生した場合は、セッションを再度

実行します。

以下の表に、ソースファイルでFTPを使用するIntegration Serviceの動作を示します。

ソースタイ

ステージ

ング済み

Integration Serviceの動作

Direct はい Integration Serviceは、セッションの開始後に、

FTPホストからIntegration Serviceのホストマシン

にファイルをコピーします。

Direct いいえ Integration Serviceは、FTPを使用して、ソースフ

ァイルに直接アクセスします。

Indirect はい Integration Serviceは、セッションの開始後にフ

ァイルリストを読み取り、そのファイルリストとソ

ースファイルをIntegration Serviceのホストマシ

ンにコピーします。

Indirect いいえ Integration Serviceは、セッションの開始後に、

Integration Serviceのホストマシンにファイルリ

ストをコピーします。Integration Serviceは、FTP

を使用して、ソースファイルに直接アクセスしま

す。

ターゲットファイルでのFTPの使用

フラットファイルまたはXMLファイルターゲットに書き込むセッションでFTPを使用しま

す。ターゲットファイルをFTPホストにコピーする前に、Integration Serviceをホストす

るマシンでターゲットファイルをステージングできます。

ターゲットデータをステージングする際、Integration Serviceは、ローカルでターゲット

ファイルを作成し、セッションの完了後にそのファイルをFTPホストに転送します。 ター

ゲットファイルをステージングしない場合、Integration Serviceは、FTPホスト上のター

ゲットファイルに直接書き込みます。 ネットワーク障害が発生した場合は、セッションを

再度実行します。

パーティション化オプションを使用している場合は、複数のターゲットパーティションイ

ンスタンスにFTPを使用します。Integration ServiceまたはFTPホスト上で、複数のター

ゲットファイルまたは統合ファイルに書き込むことができます。

306 章 19: FTP

Page 326: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

セッションのFTPの設定FTPを使用するようにセッションを設定する前に、Workflow ManagerでFTP接続オブジェク

トを作成する必要があります。Integration Serviceは、FTP接続属性を使用して、FTPサ

ーバーに接続します。

Workflow ManagerでFTP接続オブジェクトを作成したら、その後、FTPを使用するセッショ

ンを設定できます。安全な接続を使用するには、SFTPに設定されたFTP接続オブジェクトを

選択します。フラットファイル、XMLソース、またはXMLターゲットで任意のセッションを

使用します。

セッションを設定するには、FTP接続を必要とするソースおよびターゲットごとに次のタス

クを実行します。

¨ FTP接続を選択します。

¨ ソースファイルプロパティを設定します。

¨ ターゲットファイルプロパティを設定します。

Integration Serviceマシンでソースファイルまたはターゲットファイルをステージングす

るには、セッションプロパティでFTP接続を編集して、一時ファイルのディレクトリとファ

イル名を設定します。

セッションのSFTPの設定

パブリックキー認証を必要とするSFTPサーバーでFTP接続を使用するセッションを実行する

には、セッションを実行するノードでパブリックキーおよびプライベートキーファイルに

アクセスできるようにする必要があります。

Integration Serviceがプライマリとバックアップのノードで実行するよう設定されている

場合、Integration Serviceプロセスを実行するように設定された各ノード上で、これらの

キーファイルにアクセスできるようにしてください。

Integration Serviceがグリッド上で実行するように設定されている場合、グリッド上で実

行するように設定されている各ノードでこれらのキーファイルにアクセスできるようにし

てください。グリッド内で各ノードにこれらのファイルを置くことができない場合、ドメ

インにリソースを作成して、ファイルを置く各ノードに割り当てます。セッションを作成

するときに、リソースを使用するようにセッションを設定します。

たとえば、「SFTP」という名前のカスタムリソースを作成するとします。セッションを作

成するときに、SFTPリソースを使用するためにセッションが必要になる場合があります。

ロードバランサは、これらのキーファイルにアクセス可能なノードにセッションをディス

パッチするだけです。

FTP接続の選択

FTPを使用するようにセッションを設定するには、接続タイプと接続オブジェクトを選択し

ます。 FTP接続を使用するソースおよびターゲットごとにFTP接続オブジェクトを選択しま

す。SFTPを使用するには、SFTPに設定されたFTP接続オブジェクトを選択します。接続オプ

ションは、[マッピング]タブの[接続]設定で設定します。

セッションのFTPの設定 307

Page 327: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

ソースインスタンスまたはターゲットインスタンスにFTP接続を選択するには:

1. [マッピング]タブの[トランスフォーメーション]ビューでソースインスタンスと

ターゲットインスタンスを選択します。

2. FTP接続タイプを選択します。

3. [値]フィールドで、[開く]ボタンをクリックします。

4. 接続オブジェクトまたは変数を選択します。

¨ オブジェクトの使用。FTP接続オブジェクトを選択します。 [上書き]ボタンをク

リックして、接続属性をオーバーライドします。

¨ 接続変数の使用。$FTPConnectionNameセッションパラメータを使用して、パラメ

ータファイル内にパラメータを定義します。 パラメータファイル内の接続属性を

オーバーライドします。

以下の属性をオーバーライドできます。

属性 説明

リモートフ

ァイル名

ソースまたはターゲットのリモートファイル名。間接ソー

スファイルを使用する場合には、間接ソースファイル名を

入力します。

このファイル名には7ビットASCII文字を使用する必要があ

ります。Unicode文字のリモートファイル名を使用すると、

セッションは失敗します。

ソースファイル名に完全修飾名を入力すると、Integration

Serviceにより、[デフォルトリモートディレクトリ]フィ

ールドに入力されたパスが無視されます。 完全修飾ファイ

ル名を一重引用符または二重引用符で囲むと、セッション

は失敗します。

リモートファイル名には、パラメータまたは変数を使用で

きます。パラメータファイルで定義可能なパラメータまた

は変数タイプを使用します。たとえば、ソースまたはター

ゲットリモートファイル名としてセッションパラメータ

$ParamMyRemoteFileを使用し、パラメータファイルでその

ファイル名に$ParamMyRemoteFileを設定できます。

ステージン

グ済み

Integration Service上のソースファイルまたはターゲット

ファイルをステージングします。デフォルトでは、ステー

ジングされません。

Is Transfer

Mode ASCII

転送モードを変更します。有効時には、ASCII転送モードが

Integration Serviceで使用されます。Windowsマシン上で

のファイル転送時には、ASCIIモードを使用すると、テキス

トファイル内の行末文字を確実に正しく変換することがで

きます。無効時には、バイナリ転送モードがIntegration

Serviceで使用されます。UNIXマシン上では、ファイル

転送時にバイナリ転送モードを使用してください。デフォ

ルトでは無効になっています。

5. [OK]をクリックします。

308 章 19: FTP

Page 328: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

ソースファイルプロパティの設定

FTPでソースファイルにアクセスする場合、ソースインスタンスにFTP接続を選択した後、

ソースファイルプロパティを設定します。ソースファイルプロパティで、ソースファイル

タイプと一時領域を特定します。[マッピング]タブの[プロパティ]設定でソースファ

イルプロパティを設定できます。

ソースファイルをステージングする場合は、ソースファイル名、ディレクトリ、およびフ

ァイルタイプを選択します。

ソースファイルをステージングしない場合は、ソースファイルタイプを指定します。

Integration Serviceでは、FTP接続オブジェクトのリモートファイル名とディレクトリが

使用され、ソースファイル名とディレクトリが無視されます。

以下の表に、[マッピング]タブのソースファイルプロパティを示します。

属性 説明

ソースファイル

タイプ

ソースファイルにソースデータと、同じファイルプロパティ

を持つファイルのリストとのどちらが格納されているかを表

示します。ソースファイルにソースデータが含まれる場合に

は、[Direct]を選択します。ソースファイルにファイルの

リストが含まれる場合には、[Indirect]を選択します。

ソースファイル

のディレクトリ

ソースデータのステージングに使用するローカルソースファ

イルディレクトリの名前とパス。デフォルトでは、

Integration Serviceは、サービスのプロセス変数ディレクト

リ「$PMSourceFileDir」をファイルソースとして使用しま

す。Integration Serviceは、セッションの実行時に、このフ

ィールドと[ソースファイル名]フィールドを連結します。

ソースファイルをステージングしない場合、Integration

Serviceは、FTP接続オブジェクトのファイル名とディレクト

リを使用します。

[ソースファイル名]フィールドに完全修飾ファイル名を入

力すると、Integration Serviceは、このフィールドを無視し

ます。

ソースファイル

ソースデータのステージングに使用するローカルソースファ

イルの名前。ファイル名、またはファイル名とパスを入力で

きます。完全修飾ファイル名を入力すると、Integration

Serviceは、[ソースファイルのディレクトリ]フィールドを

無視します。

ソースファイルを転送しない場合、Integration Serviceは、

FTP接続オブジェクトのリモートファイル名とデフォルトディ

レクトリを使用します。

ターゲットファイルプロパティの設定

FTPでターゲットファイルに書き込む場合、ターゲットインスタンスにFTP接続を指定した

後、ターゲットファイルのプロパティを指定します。ターゲットファイルのプロパティに

より、拒否ファイルとディレクトリ、および一時領域が特定されます。[マッピング]タ

ブの[プロパティ]設定でターゲットファイルプロパティを指定します。

セッションのFTPの設定 309

Page 329: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

ターゲットファイルをステージングする場合は、ターゲットファイル名とディレクトリ、

および拒否ファイル名とディレクトリを設定します。ターゲットファイルをステージング

しない場合は、拒否ファイルとディレクトリを設定します。Integration Serviceでは、

FTP接続オブジェクトのリモートファイル名とディレクトリが使用されます。

パーティション化オプションを使用する場合は、統合ファイルプロパティも選択できま

す。

以下の表に、[マッピング]タブのターゲットファイル属性を示します。

属性 説明

出力ファイル

ディレクトリ

ターゲットデータのステージングに使用するローカルターゲッ

トファイルディレクトリの名前とパス。デフォルトでは、

Integration Serviceは、サービスのプロセス変数ディレクト

リ「$PMTargetFileDir」を使用します。Integration Service

は、セッションの実行時に、このフィールドと[出力ファイル

名]フィールドを連結します。

ターゲットファイルをステージングしない場合、Integration

Serviceは、FTP接続オブジェクトのファイル名とディレクト

リを使用します。

[出力ファイル名]フィールドで完全修飾ファイル名を入力す

ると、Integration Serviceは、このフィールドを無視しま

す。

出力ファイル

ターゲットデータのステージングに使用するローカルターゲッ

トファイルの名前。ファイル名、またはファイル名とパスを入

力できます。完全修飾ファイル名を入力すると、Integration

Serviceは、[出力ファイルディレクトリ]フィールドを無視

します。

ソースファイルを転送しない場合、Integration Serviceは、

FTP接続オブジェクトのリモートファイル名とデフォルトディ

レクトリを使用します。

FTPファイルターゲットのパーティション化

セッションのパーティション化したターゲットに対してFTP接続タイプを選択する場合、タ

ーゲットパーティションのFTP設定を行います。

パーティションごとにターゲットファイルまたは個々のターゲットファイルを統合できま

す。

ターゲットパーティションに対してFTP設定を行う場合には、以下の規則とガイドラインに

従ってください。

¨ ターゲットパーティションごとにFTP接続を使用する必要があります。

¨ ターゲットパーティションに接続オブジェクトを選択すると、ファイルのステージング

を選択できます。シーケンシャル統合を使用するにはファイルをステージングする必要

があります。

¨ ターゲットパーティションのFTP接続に、リモートファイル名以外の設定が指定されて

いる場合、Integration Serviceは、統合ファイルを作成しません。

310 章 19: FTP

Page 330: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

次の表に、パーティション化されたFTPファイルターゲットに対するIntegration Service

のアクションを示します。

Merge Type Integration Serviceの動作

No Merge Integration Serviceは、パーティションごとにターゲットファ

イルを1つ生成します。ファイルをステージングする場合、セッ

ションの終わりにターゲットファイルがリモートロケーション

に転送されます。ファイルをステージングしない場合、リモー

トロケーションでターゲットファイルが1つ生成されます。

シーケンシャ

ル統合

Integration Serviceは、接続オブジェクトの[ステージングの

有無]オプションを有効にします。パーティションごとに出力

ファイルを1つ作成します。セッションの終わりに次のアクショ

ンを実行します。

1.個々の出力ファイルを統合ファイルに統合します。

2.個々の出力ファイルを削除します。

3.統合ファイルをリモートロケーションに転送します。

ファイルリス

ファイルをステージングする場合、Integration Serviceは、以

下のファイルを作成します。

- パーティションごとの出力ファイル

- ローカルファイルの名前とパスが含まれているファイルリス

- リモートファイルの名前とパスが含まれているファイルリス

セッションの終わりに、Integration Serviceは、これらのファ

イルをリモートロケーションに転送します。個々のターゲット

ファイルがMerge File Directory内に配置されている場合、フ

ァイルリストには、相対パスが指定されています。上記以外の

場合には、ファイルリストには絶対パスが指定されています。

ファイルをステージングしない場合、Integration Serviceは、

リモートロケーションでパーティションごとにデータを書き込

み、個々のターゲットファイルのリストを含むリモートファイ

ルリストを作成します。

ファイルリストは別のマッピングでソースファイルとして使用

します。

Concurrent

Merge

ファイルをステージングする場合、Integration Serviceは、す

べてのターゲットパーティションのデータを、ローカルマージ

ファイルに同時に書き込みます。セッションの終わりに、

Integration Serviceは、このマージファイルをリモートロケー

ションに転送します。Integration Serviceは、中間出力ファイ

ルに書き込むことはしません。

ファイルをステージングしない場合、Integration Serviceは、

すべてのパーティションのターゲットデータを、リモートロケ

ーションのマージファイルに同時に書き込みます。

セッションのFTPの設定 311

Page 331: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

第 2 0 章

セッションのキャッシュ

この章では、以下の項目について説明します。

¨ セッションのキャッシュの概要, 312 ページ

¨ キャッシュメモリ, 313 ページ

¨ キャッシュファイル, 314 ページ

¨ キャッシュサイズの設定, 318 ページ

¨ キャッシュのパーティション化, 322 ページ

¨ アグリゲータキャッシュ, 323 ページ

¨ ジョイナキャッシュ, 325 ページ

¨ ルックアップキャッシュ, 329 ページ

¨ ランクキャッシュ, 331 ページ

¨ ソータキャッシュ, 333 ページ

¨ XMLターゲットキャッシュ, 334 ページ

¨ キャッシュサイズの 適化, 335 ページ

セッションのキャッシュの概要Integration Serviceでは、XML ターゲット、アグリゲータ、ジョイナ、ルックアップ、

ランク、およびソータの各トランスフォーメーションに対して、キャッシュメモリが割り

当てられます。Integration Serviceでは、XML ターゲット、アグリゲータ、ジョイナ、

ルックアップ、およびランクの各トランスフォーメーションに対して、インデックスキャ

ッシュおよびキャッシュメモリが作成されます。Integration Serviceではインデックスキ

ャッシュにキー値が格納され、データキャッシュに出力値が格納されます。Integration

Serviceでは、ソータトランスフォーメーションに対して、ソートキーおよびソートするデ

ータを保存する1つのキャッシュが作成されます。

セッションプロパティで、キャッシュのメモリパラメータを設定します。キャッシュサイ

ズを 初に設定する場合、トランスフォーメーションの処理に必要なメモリ容量を計算す

るか、または実行時にメモリ要件が自動的に設定されるようにIntegration Serviceを設定

できます。

312

Page 332: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

セッションの実行後に、そのセッション内のトランスフォーメーションのキャッシュサイ

ズを調整できます。トランスフォーメーション統計を分析すると、 適なセッションパフ

ォーマンスに必要なキャッシュサイズを決定し、設定したキャッスサイズを更新できま

す。

設定よりも多いメモリをIntegration Serviceが必要とする場合は、オーバーフローした値

がキャッシュファイルに格納されます。セッションの終了時に、Integration Serviceによ

ってキャッシュメモリが解放されます。ほとんどの場合、これらのキャッシュファイルは

削除されます。

セッションに複数のパーティションが含まれる場合は、Integration Serviceによって、パ

ーティションごとに1つのメモリキャッシュが作成されます。特別な状況では、

Integration Serviceはキャッシュのパーティション化を使用し、パーティションごとに個

別のキャッシュが作成されます。

以下の表に、Integration Serviceで各キャッシュに保存される情報のタイプを示します。

マッピングオ

ブジェクト

キャッシュタイプと説明

アグリゲータ - インデックス。GroupByポートの設定に従ってグループ値を

格納します。

- データ。GroupByポートに基づいて計算結果を格納します。

ジョイナ - インデックス。結合条件に、一意キーを持つすべてのマス

ター行を格納します。

- データ。マスターソースの行を格納します。

ルックアップ - インデックス。ルックアップ条件の情報を格納します。

- データ。インデックスキャッシュに格納されないルックア

ップデータを格納します。

ランク - インデックス。GroupByポートの設定に従ってグループ値を

格納します。

- データ。GroupByポートに基づいてランク情報を格納しま

す。

ソータ - ソータ。ソートキーおよびデータを格納します。

XMLターゲット - インデックス。別々のキャッシュに、プライマリキーおよ

び外部キーの情報を格納します。

- データ。XMLターゲットの生成中に、XML行データを格納し

ます。

キャッシュメモリIntegration Serviceでは、設定したキャッシュサイズに基づいて、各メモリキャッシュが

作成されます。 セッションの作成時に、セッションプロパティで各トランスフォーメーシ

ョンインスタンスにキャッシュサイズを設定できます。

キャッシュメモリ 313

Page 333: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

Integration Serviceでは、以下のいずれかの理由により、設定したキャッシュサイズを増

やすことがあります。

¨ 設定されたキャッシュサイズが、操作を処理するために必要な 小キャッシュサイズよ

りも小さい場合。Integration Serviceでは、各セッションを初期化するために 小限

のメモリが必要です。 設定したキャッシュサイズが必要な 小キャッシュサイズより

も小さい場合は、 小要件を満たすように、Integration Serviceによって設定済みの

キャッシュサイズが増加されます。Integration Serviceが必要な 小メモリを割り当

てることができない場合、セッションは失敗します。

¨ 設定されたキャッシュサイズが、キャッシュページサイズの倍数ではない場合。

Integration Serviceは、キャッシュデータをキャッシュページに格納します。 キャッ

シュされたページは、キャッシュに均等に収まる必要があります。したがって、たとえ

ばキャッシュサイズを10MB(1,048,576バイト)に設定し、キャッシュページサイズが

10,000バイトである場合、Integration Serviceでは、設定したキャッシュサイズが10,

000バイトのページサイズの倍数になるように1,050,000バイトまで増やされます。

Integration Serviceによって、設定したキャッシュサイズが増やされると、セッションの

実行が継続され、以下のようなメッセージがセッションログに書き込まれます。

MAPPING> TE_7212 Increasing [Index Cache] size for transformation <transformation name> from <configured index cache size> to <new index cache size>.

セッションログで、 小要件を満たすのに十分なメモリが割り当てられているかどうかを

確認してください。

適なパフォーマンスを達成するには、キャッシュサイズをトランスフォーメーションの

処理に必要な総メモリ量に設定します。トランスフォーメーションを処理するのに十分な

キャッシュメモリがない場合、Integration Serviceでは、メモリ内でトランスフォーメー

ションの一部が処理され、残りを処理するために情報がディスクにページングされます。

以下の情報を使用して、32ビットのマシンと64ビットのマシンとでメモリキャッシュの処

理方法が異なることを理解してください。

¨ 32ビットのマシン上で実行されるIntegration Serviceプロセスは、設定されたすべて

のセッションのキャッシュの合計が2GBを超える場合、セッションを実行できません。

グリッドでセッションを実行する場合、単一ノードで実行するすべてのセッションスレ

ッドの合計キャッシュサイズが、2GBを超えないようにする必要があります。

¨ グリッドに32ビットと64ビットのIntegration Serviceプロセスがあり、セッションが

2GBのメモリを超えている場合、64ビットマシンでIntegration Serviceを実行するよう

にセッションを設定する必要があります。

キャッシュファイルセッションを実行すると、Integration Serviceによって各トランスフォーメーションに対

して 低でも1つのキャッシュファイルが作成されます。Integration Serviceのメモリで

トランスフォーメーションを処理できない場合、オーバーフローした値がキャッシュファ

イルに書き込まれます。

314 章 20: セッションのキャッシュ

Page 334: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

以下の表に、Integration Serviceでさまざまなマッピングオブジェクトに対して作成され

るキャッシュファイルのタイプを示します。

マッピングオブジェク

キャッシュファイル

アゲリゲータ、ジョイ

ナ、ルックアップ、お

よびランクトランスフ

ォーメーション

Integration Serviceでは、以下のタイプのキャッシ

ュファイルが作成されます。

- インデックスキャッシュおよびデータキャッシュご

とに1つのヘッダファイル

- インデックスキャッシュおよびデータキャッシュご

とに1つのデータファイル

ソータトランスフォー

メーション

Integration Serviceでは、1つのソータキャッシュフ

ァイルが作成されます。

XMLターゲット Integration Serviceでは、以下のタイプのキャッシ

ュファイルが作成されます。

- XMLターゲットグループごとに1つのデータキャッシ

ュファイル

- XMLターゲットグループごとに1つのプライマリキー

インデックスキャッシュファイル

- XMLターゲットグループごとに1つの外部キーインデ

ックスキャッシュファイル

Integration Serviceは、Integration Serviceコードページに基づいてキャッシュファイ

ルを作成します。

セッションを実行すると、Integration Serviceは、セッションログにキャッシュファイル

名とトランスフォーメーション名を示すメッセージを書き込みます。 セッションが完了す

ると、Integration Serviceはキャッシュメモリを解放し、通常はキャッシュファイルを削

除します。 以下の状況では、インデックスキャッシュファイルおよびデータキャッシュフ

ァイルは、キャッシュディレクトリに保持されます。

¨ セッションが差分集計を実行している場合。

¨ 永続キャッシュを使用してルックアップトランスフォーメーションを設定した場合。

¨ セッションが正常終了しなかった場合。次回セッションを実行すると、Integration

Serviceによって既存のキャッシュファイルが削除され、新しいキャッシュファイルが

作成されます。

注: キャッシュファイルへの書き込みによってセッションのパフォーマンスが低下する可

能性があるため、メモリでトランスフォーメーションが処理されるようにキャッシュサイ

ズを設定します。

キャッシュファイルの命名規則

では、インデックス、データ、およびソータキャッシュファイルに対して、さまざまな命

名規則が使用されます。

キャッシュファイル 315

Page 335: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

以下の表に、各キャッシュファイルタイプの命名規則を示します。

キャッシュ

ファイル

命名規則

データおよ

びソータ

[<名前の接頭語> | <接頭語> <セッションID>_<トランスフォー

メーションID>]_[パーティションインデックス]_[OS][BIT].<接

尾語> [オーバーフローインデックス]

インデック

<接頭語> <セッションID>_<トランスフォーメーションID>_<グ

ループID>_<キータイプ>.<接尾語> <オーバーフロー>

以下の表に、キャッシュファイル名のコンポーネントを示します。

ファイル名

の要素

説明

Nameプレフ

ィクス

Lookupトランスフォーメーションで設定されたキャッシュファ

イル名の接頭語。Lookupトランスフォーメーションキャッシュ

ファイル用です。

Prefix トランスフォーメーションのタイプを表します。

- Aggregatorトランスフォーメーション - PMAGG

- Joinerトランスフォーメーション - PMJNR

- Lookupトランスフォーメーション - PMLKUP

- Rankトランスフォーメーション - PMAGG

- Sorterトランスフォーメーション - PMSORT

- XMLターゲット - PMXML.

Session ID セッションインスタンスのID番号。

Transformat

ion ID

トランスフォーメーションインスタンスのID番号。

Group ID 階層型のXMLターゲットでのグループごとのID。Integration

Serviceでは、グループごとに1つのインデックスキャッシュが

作成されます。XMLターゲットキャッシュファイル用です。

Key Type キーのタイプ。外部キーまたはプライマリキーを使用できま

す。XMLターゲットキャッシュファイル用です。

Partition

Index

セッションに複数のパーティションが含まれる場合、このIDに

よってパーティション番号が識別されます。パーティションイ

ンデックスはゼロベースになります。したがって、先頭パーテ

ィションにはパーティションインデックスはありません。パー

ティションインデックス2は、3つ目のパーティションに作成さ

れたキャッシュファイルという意味になります。

316 章 20: セッションのキャッシュ

Page 336: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

ファイル名

の要素

説明

OS Integration Serviceプロセスを実行するマシンのオペレーティ

ングシステムを識別します。

- W - Windows

- H - HP-UX

- S - Solaris

- A - AIX

- L - Linux

- M - Mainframe

Lookupトランスフォーメーションキャッシュファイル用です。

BIT Integration Serviceプロセスを実行するマシンのビットプラッ

トフォームを識別します(32ビットまたは64ビット)。Lookup

トランスフォーメーションキャッシュファイル用です。

Suffix キャッシュファイルのタイプを識別します。

- インデックスキャッシュファイルは、ヘッダファイルの場合

は.idx0、データファイルの場合は.idxnです。

- データキャッシュファイルは、ヘッダファイルの場合

は.dat0、データファイルの場合は.datnです。

- Sorterキャッシュファイルは、.PMSORT()です。

Overflow

Index

キャッシュファイルが2GBを超えるデータを扱う場合、

Integration Serviceでは、より多くのキャッシュファイルが作

成されます。これらのファイルを作成するときにIntegration

Serviceはファイル名にオーバーフローインデックスを付加し、

PMAGG*.idx2やPMAGG*.idx3のようにします。キャッシュファイ

ルの数は、キャッシュディレクトリのディスクの空きによって

制限されます。

注: ソータトランスフォーメーションのキャッシュファイルが

2GBを超えるデータを処理する場合、PowerCenter Integration

Serviceがさらにキャッシュファイルを作成することはありませ

ん。

たとえば、インデックスキャッシュのデータファイル名はPMLKUP748_2_5S32.idx1としま

す。PMLKUPは、トランスフォーメーションタイプがLookupであることがわかり、748はセッ

ションID、2はトランスフォーメーションID、5はパーティションインデックス、S

(Solaris)はオペレーティングシステム、32はビットプラットフォームです。

キャッシュファイルディレクトリ

Integration Serviceでは、キャッシュファイルはデフォルトで$PMCacheDirディレクトリ

に作成されます。 Integration Serviceプロセスがディレクトリを見つけられない場合

は、セッションは失敗し、キャッシュファイルを作成するまたは開くことができなかった

ことを示すメッセージがセッションログに書き込まれます。

Integration Serviceで、複数のキャッシュファイルが作成される場合もあります。キャッ

シュファイルの数は、キャッシュディレクトリのディスクの空きによって制限されます。

グリッドでIntegration Serviceを実行する際に、一部のIntegration Serviceノードのみ

が共有キャッシュファイルディレクトリに高速アクセスしている場合は、ディレクトリへ

キャッシュファイル 317

Page 337: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

のアクセスを高速なノードで実行するために、大きいキャッシュを持つ各セッションを設

定します。ディレクトリへのアクセスが高速なノードで実行するようにセッションを設定

するには、以下の手順を実行します。

1. PowerCenterリソースを作成します。

2. ディレクトリへのアクセスが高速なノードで、そのリソースを使用できるようにしま

す。

3. そのリソースをセッションに割り当てます。

グリッドのすべてのIntegration Serviceプロセスがキャッシュファイルに低速でアクセス

している場合は、Integration Serviceプロセスごとに別々のローカルキャッシュファイル

ディレクトリを設定します。キャッシュディレクトリを含むマシンと同一のマシンで

Integration Serviceプロセスを実行する場合は、キャッシュファイルへのアクセスが高速

になることもあります。

キャッシュサイズの設定セッションプロパティでキャッシュのメモリ容量を設定します。セッションプロパティで

指定したキャッシュサイズによって、トランスフォーメーションプロパティで設定した値

はオーバーライドされます。

設定するメモリ容量は、使用するメモリキャッシュおよびディスクキャッシュのサイズに

よって異なります。設定したキャッシュサイズが、メモリでトランスフォーメーションを

処理するのに十分な大きさではない場合は、Integration Serviceではトランスフォーメー

ションの一部はメモリで実行され、残りのトランスフォーメーションを処理するためにキ

ャッシュファイルに情報がページングされます。セッションのパフォーマンスを 適にす

るには、Integration Serviceのメモリですべてのデータを処理できるように、キャッシュ

サイズを設定します。

セッションが再利用可能な場合、セッションのすべてのインスタンスで、再利用可能なセ

ッションプロパティで設定したキャッシュサイズが使用されます。 セッションインスタン

スのキャッシュサイズはオーバーライドできません。

キャッシュサイズを設定するには、以下のいずれかの方法を使用します。

¨ キャッシュの計算。この計算を使用して、トランスフォーメーションの処理に必要な総

メモリ容量を計算します。

¨ 自動キャッシュメモリ。自動メモリを使用して、トランスフォーメーションの処理に割

り当てるキャッシュサイズに上限を指定します。 Integration Serviceプロセスを実行

しているマシンのキャッシュメモリが制限されている場合に、この方法を使用します。

¨ 数値。キャッシュサイズに特定の値を設定します。 キャッシュサイズをチューニング

するときに、特定の値を設定します。

Integration Serviceによってキャッシュのパーティション化が使用されている場合、メモ

リ要件は別の方法で設定します。Integration Serviceによってキャッシュのパーティショ

ン化が使用されている場合、各パーティションには設定されたキャッシュサイズが割り当

てられます。キャッシュのパーティション化を使用するトランスフォーメーションのメモ

リ要件を設定するには、トランスフォーメーションに必要な合計サイズを計算し、それを

パーティション数で割ります。

318 章 20: セッションのキャッシュ

Page 338: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

トランスフォーメーションへの入力が変更されると、トランスフォーメーションのキャッ

シュファイル要件も変更される場合があります。定期的にセッションログでキャッシュサ

イズを監視すると、キャッシュサイズの調整に役立ちます。

キャッシュサイズの計算

キャッシュの計算を使用して、トランスフォーメーションの処理に必要な総メモリ容量を

見積もります。キャッシュサイズを計算するには、入力を行う必要があります。この入力

は、トランスフォーメーションのタイプによって異なります。たとえば、アグリゲータト

ランスフォーメーションのキャッシュサイズを計算するには、グループの数を入力しま

す。

キャッシュの計算では、以下のいずれかのモードを選択できます。

¨ 自動。[設定オブジェクト]タブで設定した 大メモリに基づいて、Integration

Serviceの実行中にキャッシュサイズを決定する場合に、自動モードを選択します。

¨ 計算。入力値に基づいてトランスフォーメーションに必要なサイズの合計を計算する場

合に選択します。 キャッシュの計算には、トランスフォーメーションごとに別々の入

力が必要となります。計算したキャッシュサイズを適用するには、適切なキャッシュタ

イプを選択する必要があります。たとえば、計算したキャッシュサイズをインデックス

サイズにではなくデータキャッシュに適用するには、[データキャッシュサイズ]オプ

ションのみを選択します。

キャッシュの計算では、入力値に基づいて 適なセッションパフォーマンスに必要なキャ

ッシュサイズを見積もります。キャッシュサイズを設定し、セッションを実行した後に、

セッションログでトランスフォーメーションの統計を確認して、設定したキャッシュサイ

ズを調整できます。

注: キャッシュの計算を使用して、XMLターゲットのキャッシュサイズを概算することは

できません。

自動キャッシュサイズ

デフォルトでは、トランスフォーメーションのメモリキャッシュは自動モードに設定され

ます。Integration Serviceでは、キャッシュが自動モードに設定されているすべてのトラ

ンスフォーメーションに自動的にキャッシュメモリが割り当てられます。Integration

Serviceでトランスフォーメーションに割り当てることができる 大キャッシュメモリ量を

設定することができます。

自動キャッシュモードのトランスフォーメーションの 大キャッシュメモリを設定するに

は、次のセッションプロパティを設定します。

自動メモリ属性で使用できる 大メモリ

セッションキャッシュに割り当てる 大メモリ量です。キャッシュメモリが自動に設

定されたすべてのトランスフォーメーションに、セッションキャッシュからメモリが

割り当てられます。デフォルトの単位はバイトです。他の単位を指定するには、値に

KB、MB、またはGBを追加します。例えば、「1048576」、「1024KB」、「1MB」のよう

に指定します。

キャッシュサイズの設定 319

Page 339: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

自動メモリ属性で使用できる合計メモリの 大割合(%)

セッションキャッシュに割り当てるマシンのメモリの割合です。キャッシュメモリが

自動に設定されたすべてのトランスフォーメーションに、セッションキャッシュから

メモリが割り当てられます。

セッションの 大キャッシュサイズを設定すると、メモリの 大割合が計算され、指定し

た 大メモリ量と比較されます。その後、自動キャッシュモードのトランスフォーメーシ

ョンに、どちらか少ない方のメモリが割り当てられます。自動キャッシュモードのトラン

スフォーメーションが複数ある場合は、自動キャッシュモードのすべてのトランスフォー

メーションにメモリが割り当てられます。

例えば、Integration Serviceをホストするマシンのメモリが1GBであるとします。[自動

メモリ属性で使用できる 大メモリ]プロパティを800MBに設定し、さらに[自動メモリ属

性で使用できる合計メモリの 大割合(%)]プロパティを10%に設定します。この場合、

セッションキャッシュに102.4MBのメモリが割り当てられ、自動キャッシュモードのすべて

のトランスフォーメーションにそのキャッシュメモリが分割されます。

大セッションキャッシュサイズの設定は、キャッシュモードが自動に設定されたトラン

スフォーメーションだけに適用されます。特定のキャッシュサイズを設定したトランスフ

ォーメーションには、個別にメモリが割り当てられます。

キャッシュが必要なトランスフォーメーションがセッションに複数ある場合、トランスフ

ォーメーションごとに、キャッシュモードを自動に設定したり、キャッシュサイズを指定

したりできます。このようにすると、キャッシュサイズの数値が設定されたトランスフォ

ーメーションのメモリに加え、自動キャッシュモードのトランスフォーメーションに指定

されたメモリも割り当てられます。

例えば、キャッシュが必要なトランスフォーメーションがセッションに3つあるとします。

そのうちの2つのトランスフォーメーションを自動キャッシュモードに設定し、セッション

の 大メモリキャッシュサイズを800MBと指定します。さらに、3つ目のトランスフォーメ

ーションのキャッシュサイズを500MBと指定します。Integration Serviceでは、合計

1,300MBのメモリが割り当てられます。

キャッシュのパーティション化が使用される場合、Integration Serviceではセッション内

のすべてのトランスフォーメーションに、自動キャッシュメモリに指定した 大キャッシ

ュサイズが割り当てられ、そのパーティションのすべてに、各トランスフォーメーション

のキャッシュメモリが分割されます。

数値のキャッシュサイズの設定

キャッシュサイズに特定の値を設定できます。キャッシュサイズを調整するときに、特定

の値を設定します。キャッシュサイズを 初に設定するときに、キャッシュの計算または

自動キャッシュメモリを使用できます。キャッシュサイズを設定し、セッションを実行し

た後、セッションログでトランスフォーメーションの統計を分析して、キャッシュサイズ

を調整できます。セッションログには、ディスクにページングすることなくメモリでトラ

ンスフォーメーションを処理するのに必要となるキャッシュサイズが表示されます。セッ

ションのパフォーマンスを 適にするには、セッションログに指定されたキャッシュサイ

ズを使用します。

320 章 20: セッションのキャッシュ

Page 340: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

キャッシュサイズを設定する手順

セッションプロパティで、トランスフォーメーションのキャッシュサイズを設定できま

す。Integration Serviceでキャッシュのパーティション化が使用されない場合に限り、キ

ャッシュサイズを設定するときに、トランスフォーメーションが必要とする合計サイズを

指定します。

Integration Servicesでキャッシュのパーティション化が使用される場合は、別のキャッ

シュサイズを設定します。Integration Servicesでキャッシュのパーティション化が使用

される場合にキャッシュサイズを計算するには、トランスフォーメーションに必要な合計

サイズを計算して、パーティションの数で割ります。

セッションのキャッシュサイズを設定するには、以下の手順を実行します。

1. Workflow Managerでセッションを開きます。

2. [マッピング]タブをクリックします。

3. 左ペインでマッピングオブジェクトを選択します。

[マッピング]タブの右ペインに、キャッシュサイズを設定できるオブジェクトプロ

パティが表示されます。

4. キャッシュサイズを設定するには、以下のいずれかの方法を使用します。

キャッシュサイズの値を入力し、[OK]をクリックして、手順Steps to Configure

the Cache Sizeに進みます。デフォルトでは、値はすべてバイト単位で入力します。

ただし、値を入力するときに、KB、MB、GBのいずれかの単位を指定できます。単位を

入力する場合は、値と単位の間にスペースを入力しないでください。たとえば、

350000KB、200MB、1GBと入力します。

-または-

キャッシュサイズに「自動」と入力し、[OK]をクリックして、手順Steps to

Configure the Cache Sizeに進みます。

-または-

[開く]ボタンをクリックして、キャッシュの計算を開きます。

5. モードを選択します。

トランスフォーメーションに割り当てられるキャッシュの合計を制限するには、[自

動]モードを選択します。手順Steps to Configure the Cache Sizeに進みます。

-または-

トランスフォーメーションに必要なメモリの合計を計算するには、[計算]モードを

選択します。

6. トランスフォーメーションタイプに基づいて入力値を指定し、[計算]をクリックし

ます。

注: 入力値が大きすぎてキャッシュの計算に値を入力できない場合は、自動メモリキ

ャッシュを使用します。

キャッシュの計算によって、キロバイト単位でキャッシュサイズが計算されます。

7. トランスフォーメーションにデータキャッシュおよびインデックスキャッシュがある

場合は、[データキャッシュサイズ]か[インデックスキャッシュサイズ]、または

その両方を選択します。

8. [OK]をクリックして、手順Steps to Configure the Cache Sizeで選択したキャッ

シュサイズに、計算した値を適用します。

キャッシュサイズの設定 321

Page 341: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

キャッシュのパーティション化複数のパーティションを持つセッションを作成した場合、Integration Serviceではアグリ

ゲータ、ジョイナ、ルックアップ、ランク、ソータの各トランスフォーメーションについ

て、キャッシュのパーティション化が使用される場合があります。 キャッシュをパーティ

ション化する場合、Integration Serviceではパーティションごとに個別のキャッシュが作

成され、各パーティションに設定済みのキャッシュサイズが割り当てられます。

Integration Serviceでは各キャッシュに異なるデータが格納されます。この場合、各キャ

ッシュには、そのパーティションが必要とする行のみが格納されます。したがって、

Integration Serviceには各パーティションのキャッシュメモリ全体の一部が必要です。

Integration Serviceでキャッシュのパーティション化が使用されている場合、各パーティ

ションのキャッシュへのアクセスは並列的に行われます。キャッシュのパーティション化

が使用されていない場合、各パーティションのキャッシュへのアクセスは直列的に行われ

ます。

以下の表に、適用可能なそれぞれのトランスフォーメーションに対してIntegration

Serviceが使用するキャッシュのパーティション化を示します。

トランスフォーメ

ーション

説明

アグリゲータトラ

ンスフォーメーシ

ョン

アグリゲータトランスフォーメーションを含むセッション

に複数のパーティションを作成します。アグリゲータトラ

ンスフォーメーションにパーティションポイントを設定す

る必要はありません。

ジョイナトランス

フォーメーション

ジョイナトランスフォーメーションにパーティションポイ

ントを作成します。

ルックアップトラ

ンスフォーメーシ

ョン

ルックアップトランスフォーメーションに自動ハッシュキ

ーパーティションポイントを作成します。

ランクトランスフ

ォーメーション

ランクトランスフォーメーションを含むセッションに複数

のパーティションを作成できます。ランクトランスフォー

メーションにパーティションポイントを設定する必要はあ

りません。

ソータトランスフ

ォーメーション

ソータトランスフォーメーションを含むセッションに複数

のパーティションを作成できます。ソータトランスフォー

メーションにパーティションポイントを設定する必要はあ

りません。

キャッシュのパーティション化用のキャッシュサイズの設定

Integration Serviceによってキャッシュのパーティション化が使用されている場合、メモ

リ要件は別の方法で設定します。Integration Serviceによってキャッシュのパーティショ

ン化が使用されている場合、各パーティションには設定されたキャッシュサイズが割り当

てられます。キャッシュのパーティション化を使用するトランスフォーメーションのメモ

322 章 20: セッションのキャッシュ

Page 342: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

リ要件を設定するには、トランスフォーメーションに必要な合計サイズを計算し、それを

パーティション数で割ります。

例えば、アグリゲータトランスフォーメーションで1つのセッションにパーティションを4

つ作成します。アグリゲータトランスフォーメーションに400MBのデータキャッシュが必要

になるとします。アグリゲータトランスフォーメーションのデータキャッシュサイズに、

100MBを設定します。セッションを実行する際に、Integration Serviceは、アグリゲータ

トランスフォーメーションに合計400MBを使用して、各パーティションに100MBを割り当て

ます。

キャッシュの計算を使用して、トランスフォーメーションに必要な合計サイズを計算しま

す。動的パーティション化を使用する場合、動的パーティション化の方法に基づいて、パ

ーティションの数を決定できます。グリッドのノードに基づいた動的パーティション化を

使用する場合は、Integration Serviceによってノードごとに1つのパーティションが作成

されます。ソースのパーティション化に基づいた動的パーティション化を使用する場合

は、ソースデータベースのパーティション数を使用します。

アグリゲータキャッシュIntegration Serviceではキャッシュメモリを使用して、入力が未ソートのアグリゲータト

ランスフォーメーションを処理します。 セッションを実行すると、Integration Service

では集計の計算が完了するまで、メモリにデータが格納されます。

Integration Serviceでは、アグリゲータトランスフォーメーションに対して以下のキャッ

シュが作成されます。

¨ インデックスキャッシュ。GroupByポートの設定に従ってグループ値を格納します。

¨ データキャッシュ。GroupByポートに基づいて計算結果を格納します。

デフォルトでは、Integration Serviceによって、トランスフォーメーションのデータとイ

ンデックスの両方に対して、メモリキャッシュとディスクキャッシュが1つずつ作成されま

す。

アグリゲータトランスフォーメーションで1つのセッションに複数のパーティションを作成

すると、Integration Serviceではキャッシュのパーティション化が使用されます。 すべ

てのパーティションにディスクキャッシュが1つ、各パーティションに別々のメモリキャッ

シュが作成されます。

差分集計

差分集計セッションを初めて実行するときに、Integration Serviceではソース全体が処理

されます。セッションの 後で、Integration Serviceによって、集計したデータが2つの

キャッシュファイル(インデックスキャッシュファイルとデータキャッシュファイル)に

格納されます。Integration Serviceではキャッシュファイルがキャッシュファイルディレ

クトリに格納されます。 次回セッションを実行するときに、Integration Serviceではキ

ャッシュファイルにキャッシュされた集計値を使用して、新しい行が集計されます。

差分アグリゲータトランスフォーメーションを持つセッションを実行した場合、

Integration Serviceによりセッションの開始時に$PMCacheDirにアグリゲータキャッシュ

ファイルのバックアップが作成されます。Integration Serviceでは、セッションリカバリ

アグリゲータキャッシュ 323

Page 343: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

の実行開始時に、バックアップキャッシュが初期キャッシュへプロモートされます。セッ

ションが強制終了した場合、Integration Serviceはバックアップキャッシュファイルをリ

ストアできません。

差分集計を使用したセッションで複数のパーティションを作成すると、Integration

Serviceでは各パーティションに1つのキャッシュファイルが作成されます。

アグリゲータトランスフォーメーションのキャッシュサイズの設定

未ソートのポートを使用したアグリゲータ トランスフォーメーションのキャッシュサイズ

を設定します。

ソート済みポートを使用するアグリゲータトランスフォーメーションでは、キャッシュメ

モリを設定する必要はありません。Integration Serviceではシステムメモリを使用して、

ソート済みのポートを使用したアグリゲータ トランスフォーメーションが処理されます。

以下の表に、アグリゲータのキャッシュサイズを計算する場合に入力する値の説明を示し

ます。

オプション

説明

グループ数 グループの数です。アグリゲータトランスフォーメーションで

は、グループ別にデータが集計されます。ポート別のグループを

使用して、グループ数を計算します。たとえば、Store IDとItem

ID別にグループ化したときに、Storeが5個、Itemが25個あり、各

Storeに25個のItemがすべて含まれる場合は、以下のようにグル

ープ数を計算します。5 * 25 = 125 groups

データ移動

モード

Integration Serviceのデータ移動モードです。キャッシュ要件

はデータ移動モードによって異なります。各ASCII文字には、1バ

イトが使用されます。各Unicode文字には、2バイトが使用されま

す。

入力値を入力して[計算]をクリックすると、データおよびソータキャッシュサイズが計

算されます。[データキャッシュサイズ]フィールドおよび[インデックスキャッシュサ

イズ]フィールドに、計算値が表示されます。

アグリゲータキャッシュのトラブルシューティング

このセッションの情報を使用すると、アグリゲータトランスフォーメーションのキャッシ

ュのトラブルシューティングに役立ちます。

キャッシュの計算によって、アグリゲータトランスフォーメーションのキャッシュサイズを計算するときに、以下の警告が表示されます。

CMN_2019 Warning: The estimated data cache size assumes the number of aggregate functions equals the number of connected output-only ports. If there are more aggregate functions, increase the cache size to cache all data in memory.

アグリゲータトランスフォーメーションでは、1つ以上の集計関数を使用できます。出力が

1つの集計関数に基づいている場合、キャッシュの計算によってキャッシュサイズの見積も

324 章 20: セッションのキャッシュ

Page 344: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

りが行われます。複数の集約関数を使用して、1つの出力ポートの値を決定する場合は、キ

ャッシュサイズを増加する必要があります。

セッションログでトランスフォーメーションの統計を確認して、セッション内のアグリゲ

ータトランスフォーメーションのキャッシュサイズを調整します。

以下に示すメモリ割り当てエラーは、4GBを超えるアグリゲータキャッシュサイズを設定したセッションを実行し、Integration ServiceプロセスをPA RISCプロセッサ搭載のHewlett Packard 64ビットのマシン上で実行したときにセッションログに書き出されたものです。

FATAL 8/17/2006 5:12:21 PM node01_havoc *********** FATAL ERROR : Failed to allocate memory (out of virtual memory). *********** FATAL 8/17/2006 5:12:21 PM node01_havoc *********** FATAL ERROR : Aborting the DTM process due to memory allocation failure. ***********

PA RISCプロセッサ搭載の64ビットHP-UXマシンでは、デフォルトで1プロセスあたり 大

4GBのメモリが割り当てられます。セッションに必要なメモリが4GBを上回る場合には、

maxdsiz_64bitオペレーティングシステム変数を使用してマシンの 大メモリ量を増やしま

す。maxdsiz_64bitの詳細については、以下のURLを参照してください。

http://docs.hp.com/en/B3921-90010/maxdsiz.5.html

ジョイナキャッシュIntegration Serviceではキャッシュメモリを使用して、ジョイナトランスフォーメーショ

ンが処理されます。セッションを実行するときに、Integration Serviceによってマスター

ソースと明細ソースから同時に行が読み込まれ、マスター行に基づいてインデックスキャ

ッシュおよびデータキャッシュが構築されます。Integration Serviceでは、明細ソースデ

ータおよびキャッシュされたマスターデータに基づいて結合が実行されます。

Integration Serviceでは、ジョイナトランスフォーメーションのタイプに基づいて、さま

ざまな数の行が格納されます。

以下の表に、Integration Serviceでさまざまなタイプのジョイナトランスフォーメーショ

ンに対してキャッシュに格納される情報を示します。

ジョイナト

ランスフォ

ーメーショ

ンのタイプ

インデックスキャッシュ データキャッシュ

未ソートの

入力

ジョイン条件に、一意のイン

デックスキーを持つすべての

マスター行を格納します。

すべてのマスター行を格納し

ます。

別のソース

を使用した

ソート済み

入力

ジョイン条件に、一意のイン

デックスキーを持つのマスタ

ー行を100行格納します。

インデックスキャッシュに格

納された行に対応するマスタ

ー行を格納します。マスター

データに同じキーを持つ複数

の行が含まれる場合、

ジョイナキャッシュ 325

Page 345: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

ジョイナト

ランスフォ

ーメーショ

ンのタイプ

インデックスキャッシュ データキャッシュ

Integration Serviceによって

100件以上の行がデータキャッ

シュに格納されます。

同じソース

を使用した

ソート済み

入力

ジョイン条件に、一意のイン

デックスキーを持つすべての

マスター行または明細行を格

納します。Integration

Serviceで、マスターパイプラ

インよりも高速な明細パイプ

ラインを処理する場合、明細

行を格納します。それ以外の

場合は、マスター行を格納し

ます。格納される行数は、マ

スターパイプラインと明細パ

イプラインの処理の速さによ

って異なります。1つのパイプ

ラインによる行の処理が他の

パイプラインよりも速い場

合、Integration Serviceで

は、既に処理されたすべての

行がキャッシュに格納され、

他のパイプラインによる行の

処理が終了するまでキャッシ

ュに格納されたままになりま

す。

インデックスキャッシュに格

納された行に、データを格納

します。インデックスキャッ

シュにマスターパイプライン

のキーが格納されると、デー

タキャッシュにはマスターパ

イプラインのデータが格納さ

れます。インデックスキャッ

シュに明細パイプラインのキ

ーが格納されると、データキ

ャッシュには明細パイプライ

ンのデータが格納されます。

データが格納されると、Integration Serviceによって、すべてのパーティションに1つの

ディスクキャッシュ、各パーティションに別々のメモリキャッシュが作成されます。行の

データが結合された後に、キャッシュから各行が開放されます。

データが格納されず、ジョイナトランスフォーメーションにパーティションがない場合

は、Integration Serviceによって各パーティションに1つのディスクキャッシュおよび別

々のメモリキャッシュが作成されます。データが格納されず、ジョイナトランスフォーメ

ーションにパーティションがある場合は、Integration Serviceによって各パーティション

に別々のディスクキャッシュおよびメモリキャッシュが作成されます。データが格納され

ない場合、Integration Serviceでは、すべてのデータが結合されるまでキャッシュにすべ

てのマスターデータが保持されます。

セッションに複数のパーティションを作成する場合、1:nのパーティション化またはn:nの

パーティション化を使用できます。 Integration Serviceでは、1:nのパーティション化

を使用するときと、n:nパーティション化を使用するときではそれぞれ異なる方法でジョイ

ナトランスフォーメーションが処理されます。

1:nのパーティション化

ソート済み入力を使用したジョイナトランスフォーメーションでは、1:nのパーティション

化を使用できます。 1:nのパーティション化を使用するときは、マスターパイプラインに1

つのパーティション、明細パイプラインに複数のパーティションを作成します。

326 章 20: セッションのキャッシュ

Page 346: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

Integration Serviceで結合処理を行うときに、明細パーティションの行とマスターソース

の行が比較されます。アウタージョインでマスタデータおよび明細データを処理するとき

には、すべての明細パーティションが処理された後に、Integration Serviceによって一致

しないマスタ行が出力されます。

n:nのパーティション化

ソート済みまたは未ソートの入力を使用したジョイナトランスフォーメーションでは、n:n

のパーティション化を使用できます。ジョイナトランスフォーメーションでn:nのパーティ

ション化を使用するときは、マスターパイプラインおよび明細パイプラインにn個のパーテ

ィションを作成します。Integration Serviceで結合処理を行うときに、明細パーティショ

ンの行と対応するマスターパーティションの行とが比較され、その他のマスターパーティ

ションの行は無視されます。アウタージョインでマスタデータおよび明細データを処理す

るときには、各明細キャッシュのパーティションが処理された後に、Integration Service

によって一致しないマスタ行が出力されます。

ヒント: マスタソースに数多くの行がある場合は、セッションのパフォーマンスをより良

くするために、n:nのパーティション化を使用します。

n:nのパーティション化を使用するには、セッションに複数のパーティションを作成し、ジ

ョイナトランスフォーメーションにパーティションポイントを作成する必要があります。

ジョイナトランスフォーメーションにパーティションポイントを作成して、ジョイナトラ

ンスフォーメーションのマスタソースと明細ソースの両方に、複数のパーティションを作

成します。

ジョイナトランスフォーメーションにパーティションポイントを作成する場合、

Integration Serviceではキャッシュのパーティション化が使用されます。 各パーティシ

ョンにメモリキャッシュが1つ作成されます。 各パーティションのメモリキャッシュに

は、そのパーティションに必要な行のみが含まれます。したがって、Integration Service

には各パーティションのキャッシュメモリ全体の一部が必要です。

ジョイナトランスフォーメーションのキャッシュサイズの設定

ジョイナトランスフォーメーションのセッションプロパティに、インデックスキャッシュ

およびデータキャッシュのサイズを設定できます。

1:nのパーティション化を使用すると、Integration Serviceによって各パーティションに

メモリキャッシュが複製されます。各パーティションには、トランスフォーメーションに

必要な合計と同じ容量のメモリが必要です。 1:nのパーティション化を使用してジョイナ

トランスフォーメーションのキャッシュサイズを設定するときは、トランスフォーメーシ

ョンに必要な合計にキャッシュサイズを設定します。

n:nのパーティション化を使用するときは、各パーティションにはトランスフォーメーショ

ンの処理に必要な合計メモリの一部が必要です。n:nのパーティション化を使用してジョイ

ナトランスフォーメーションのキャッシュサイズを設定するときは、トランスフォーメー

ションに必要な合計を計算して、それをパーティション数で割ります。

キャッシュの計算を使用して、トランスフォーメーションの処理に必要なキャッシュサイ

ズを決定できます。たとえば、キャッシュの計算を使用して、ジョイナトランスフォーメ

ーションではインデックスキャッシュ用に2,000,000バイトのメモリ、データキャッシュ用

に4,000,000バイトのメモリが必要であることを決定します。また、パイプラインに対して

ジョイナキャッシュ 327

Page 347: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

4つのパーティションを作成したとします。 1:nのパーティション化を使用する場合は、イ

ンデックスキャッシュに 2,000,000バイト、データキャッシュに 4,000,000バイトを設定

します。n:nのパーティション化を使用する場合は、インデックスキャッシュに 500,000バ

イト、データキャッシュに 1,000,000バイトを設定します。

以下のテーブルで、ジョイナのキャッシュサイズを計算するために入力する値について説

明します。

入力 説明

マスタ行の

マスターソース内の行数。未ソートの入力を使用したジョイナト

ランスフォーメーションに適用します。マスター行数は、ソート

済みのジョイナトランスフォーメーションのキャッシュサイズに

は影響しません。

注: マスタソースの行が一意のキーを共有する場合は、キャッ

シュの計算によってインデックスキャッシュのサイズが過大に概

算されます。

データ移動

モード

Integration Serviceのデータ移動モードです。キャッシュ要件

はデータ移動モードによって異なります。ASCII文字は1バイトを

使用します。Unicode文字は2バイトを使用します。

入力値を入力して[計算]をクリックすると、データおよびソータキャッシュサイズが計

算されます。[データキャッシュサイズ]フィールドおよび[インデックスキャッシュサ

イズ]フィールドに、計算値が表示されます。

ジョイナキャッシュのトラブルシューティング

このセッションの情報を使用すると、ジョイナトランスフォーメーションのキャッシュの

トラブルシューティングに役立ちます。

ソート済み入力を使用するジョイナトランスフォーメーションのキャッシュサイズを計算するときに、キャッシュの計算によって以下の警告が表示されます。

CMN_2020 Warning: If the master and detail pipelines of a sorted Joiner transformation are from the same source, the Integration Service cannot determine how fast it will process the rows in each pipeline. As a result, the cache size estimate may be inaccurate.

マスターパイプラインと明細パイプラインとで、同時に行が処理されます。同じソースの

データを結合する場合、パイプラインでは異なる速さで行が処理されることがあります。1

つのパイプラインによる行の処理が他のパイプラインよりも速い場合、Integration

Serviceでは、既に処理されたすべての行がキャッシュに格納され、他のパイプラインによ

る行の処理が終了するまでキャッシュに格納されたままになります。キャッシュされた行

の合計は、2つのパイプライン間での処理の速さの違いによって異なります。

適なセッションパフォーマンスを実現するために、キャッシュされた行をすべて格納す

るのに十分なキャッシュサイズが必要です。キャッシュサイズが十分に大きくない場合

は、サイズを増加します。

注: 異なるソースのデータを結合するときにこのメッセージが表示される場合でも、同じ

ソースのデータを結合すると表示されます。

328 章 20: セッションのキャッシュ

Page 348: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

ソート済み入力を使用するジョイナトランスフォーメーションのキャッシュサイズを計算するときに、キャッシュの計算によって以下の警告が表示されます。

CMN_2021 Warning: Increase the data cache size if the sorted Joiner transformation processes master rows that share the same key. To determine the new cache size, divide the existing cache size by 2.5 and multiply the result by the average number of master rows per key.

ソート済み入力を使用したジョイナトランスフォーメーションのキャッシュサイズを計算

する場合、キャッシュの計算では、一意キーごとに平均2.5のマスター行という要件に基づ

いてキャッシュが見積もられます。一意キーごとのマスター行の平均数が2.5よりも大きい

場合、それに応じてキャッシュサイズを増加します。たとえば、一意キーごとのマスター

行の平均数が5(2.5の2倍のサイズ)の場合、キャッシュの計算によって計算されたキャッ

シュサイズを2倍にします。

ルックアップキャッシュルックアップトランスフォーメーションでキャッシュを有効にした場合、Integration

Serviceではルックアップデータを格納するためのキャッシュがメモリに構築されます。

Integration Serviceによってメモリにルックアップキャッシュが構築されると、トランス

フォーメーションの 初のデータ行が処理され、トランスフォーメーションを入力する各

行に対してキャッシュのクエリが実行されます。 キャッシュが有効でない場合は、

Integration Serviceでは各入力行に対してルックアップソースのクエリーが実行されま

す。

ルックアップソースをキャッシュに格納するかどうかに関わらず、ルックアップクエリー

の結果および処理は同じです。ただし、ルックアップキャッシュを使用するとセッション

のパフォーマンスを向上させることができます。ソースが大きい場合は、ルックアップソ

ースをキャッシュすることによってパフォーマンスを 適化できます。

セッションとセッションの間にルックアップが変更されない場合は、永続ルックアップキ

ャッシュを使用するようにトランスフォーメーションを設定できます。セッションの実行

時、キャッシュファイルが存在しない場合やキャッシュファイルが無効である場合、

Integration Serviceは永続キャシュを構築します。

Integration Serviceでは、ルックアップトランスフォーメーションに対して以下のキャッ

シュが作成されます。

¨ データキャッシュ。ルックアップトランスフォーメーションが接続されている場合、接

続された出力ポートで、ルックアップ条件で使用されるポート以外のデータを格納しま

す。 ルックアップトランスフォーメーションが接続されていない場合、戻りポートの

データを格納します。

¨ インデックスキャッシュ。ルックアップ条件で使用されるカラムのデータを格納しま

す。

Integration Serviceでは、ルックアップキャッシュおよびパーティション化の情報に基づ

いて、ディスクおよびメモリキャッシュが作成されます。

ルックアップキャッシュ 329

Page 349: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

以下のテーブルでは、キャッシュおよびパーティション化の情報に基づいてIntegration

Serviceで作成されるキャッシュについて説明します。

ルックアップ条件 ディスクキャッシュ メモリキャッシュ

- 静的キャッシュ

- 自動ハッシュキーパー

ティションなし

すべてのパーティション

に対して1つのディスク

キャッシュ。

パーティションごとに1

つのメモリキャッシュ。

- 動的キャッシュ

- 自動ハッシュキーパー

ティションなし

すべてのパーティション

に対して1つのディスク

キャッシュ。

すべてのパーティション

に対して1つのメモリキ

ャッシュ。

- 静的キャッシュまたは

動的キャッシュ

- 自動ハッシュキーのパ

ーティションポイント

パーティションごとに1

つのディスクキャッシ

ュ。

パーティションごとに1

つのメモリキャッシュ。

ルックアップトランスフォーメーションを使用してセッションに複数のパーティションを

作成し、ルックアップトランスフォーメーションに自動ハッシュキーのパーティションポ

イントを作成すると、Integration Serviceではキャッシュのパーティション化が使用され

ます。

Integration Serviceでキャッシュのパーティション化が使用されると、任意のパーティシ

ョンの 初の行がルックアップトランスフォーメーションに到達したときに、ルックアッ

プトランスフォーメーションのキャッシュが作成されます。コンカレントキャッシュ用に

ルックアップトランスフォーメーションを設定した場合、Integration Serviceによってパ

ーティションのすべてのキャッシュが同時に構築されます。

キャッシュの共有

Integration Serviceでは、キャッシュが静的か動的かどうかによって、共有されたルック

アップキャッシュの処理が異なります。

¨ 静的キャッシュ。 2つのルックアップトランスフォーメーションで1つの静的キャッシ

ュを共有する場合、Integration Serviceでは、同じパイプラインステージで共有され

たトランスフォーメーションに対して追加メモリの割り当てを行いません。 異なるパ

イプラインステージで共有されるトランスフォーメーションについては、Integration

Serviceによって追加メモリが割り当てられます。

同じデータまたはデータのサブセットを使ってディスクキャッシュを作成する静的なル

ックアップトランスフォーメーションであれば、複数のルックアップトランスフォーメ

ーションがディスクキャッシュを共有できます。ただし、ルックアップキーは異なる場

合があるため、各トランスフォーメーションは別々のメモリキャッシュを持つ必要があ

ります。

¨ 動的キャッシュ。 ルックアップトランスフォーメーションが1つの動的キャッシュを共

有する場合、Integration Serviceはメモリキャッシュとディスクキャッシュを更新し

ます。 キャッシュの同期を保つために、Integration Serviceはディスクキャッシュと

それに対応するメモリキャッシュをトランスフォーメーション間で共有する必要があり

ます。

330 章 20: セッションのキャッシュ

Page 350: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

ルックアップトランスフォーメーションのキャッシュサイズの設定

セッションプロパティで、ルックアップトランスフォーメーションのキャッシュサイズを

設定できます。

以下のテーブルで、ルックアップのキャッシュサイズを計算するために入力する値につい

て説明します。

入力 説明

一意のルックア

ップキーを持つ

行数

一意のルックアップキーを持つルックアップソースの行数で

す。

データ移動モー

Integration Serviceのデータ移動モードです。キャッシュ

要件はデータ移動モードによって異なります。ASCII文字は1

バイトを使用します。Unicode文字は2バイトを使用します。

入力値を入力して[計算]をクリックすると、データおよびソータキャッシュサイズが計

算されます。[データキャッシュサイズ]フィールドおよび[インデックスキャッシュサ

イズ]フィールドに、計算値が表示されます。

ランクキャッシュIntegration Serviceではキャッシュメモリを使用して、ランクトランスフォーメーション

が処理されます。 ランク付けが完了するまで、ランクメモリにデータが格納されます。

Integration Serviceは、ランクトランスフォーメーションでセッションを実行するとき、

入力行とデータキャッシュの行を比較します。 格納されている行よりも入力行の方がラン

クが高くなった場合に、Integration Serviceは格納されている行を入力行に置き換えま

す。

たとえば、売り上げ高の上位3位までを検索するランクトランスフォーメーションを設定し

ます。Integration Serviceは、以下の入力データを読み込みます。

SALES 10,00012,2105,0002,4556,324

Integration Serviceは 初の3つの行(10,000、12,210、および5,000)をキャッシュに

格納します。 次にIntegration Serviceはその次の行(2,455)を読み込んでキャッシュ

内の値と比較します。 この行はキャッシュに格納されている行よりもランクが低いため、

サーバーは2,455の値を持つこの行を削除します。しかしその次の行(6,324)はキャッシ

ュ内の行の1つよりも高いランクを持ちます。したがって、Integration Serviceはキャッ

シュされた行をより上位のランクを持つ入力行に置き換えます。

ランクキャッシュ 331

Page 351: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

複数のグループにまたがってランク付けを行うようにランクトランスフォーメーションが

設定されている場合、Integration Serviceは検索したそれぞれのグループに対して同じや

り方でランク付けを行い、ランクの数字は増加していきます。

Integration Serviceでは、ランクトランスフォーメーションに対して以下のキャッシュが

作成されます。

¨ データキャッシュ。GroupByポートに基づいてランキング情報を格納します。

¨ インデックスキャッシュ。GroupByポートの設定に従ってグループ値を格納します。

デフォルトでは、Integration Serviceはすべてのパーティションに対して1つのメモリキ

ャッシュとディスクキャッシュを作成します。

セッションに複数のパーティションを作成した場合、Integration Serviceではキャッシュ

のパーティション化が使用されます。 ランクトランスフォーメーションに1つのディスク

キャッシュ、各パーティションに1つのメモリキャッシュが作成され、トランスフォーメー

ションのグループキー値に基づいてパーティションから別のパーティションにデータがル

ーティングされます。

ランクトランスフォーメーションのキャッシュサイズの設定

セッションプロパティで、ランクトランスフォーメーションのキャッシュサイズを設定で

きます。

以下の表に、ランクのキャッシュサイズを計算するために入力する値を示します。

入力 説明

グループ数 グループの数です。ランクトランスフォーメーションでは、グル

ープ別にデータをランク付けします。ポート別のグループを使用

して、グループの数を決定します。たとえば、Store IDとItem

ID別にグループ化したときに、Storeが5個、Itemが25個あり、各

Storeに25個のItemすべてが含まれる場合、以下のようにグルー

プの数を計算します。5 * 25 = 125 groups

ランク数 ランク付けの項目数です。たとえば、上位10位の売り上げをラン

ク付けする場合は、10個のランクがあります。キャッシュの計算

では、ランクトランスフォーメーションで設定した値に基づい

て、この値が入力されます。

データ移動

モード

Integration Serviceのデータ移動モードです。キャッシュ要件

はデータ移動モードによって異なります。ASCII文字は1バイトを

使用します。Unicode文字は2バイトを使用します。

入力値を入力して[計算]をクリックすると、データおよびソータキャッシュサイズが計

算されます。[データキャッシュサイズ]フィールドおよび[インデックスキャッシュサ

イズ]フィールドに、計算値が表示されます。

332 章 20: セッションのキャッシュ

Page 352: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

ランクキャッシュのトラブルシューティング

このセッションの情報を使用すると、ランクトランスフォーメーションのキャッシュのト

ラブルシューティングに役立ちます。

以下に示すメモリ割り当てエラーは、4GBを超えるランクキャッシュサイズを設定したセッションを実行し、Integration ServiceプロセスをPARISCプロセッサ搭載のHewlett Packard 64ビットのマシン上で実行したときにセッションログに書き出されたものです。

FATAL 8/17/2006 5:12:21 PM node01_havoc *********** FATAL ERROR : Failed to allocate memory (out of virtual memory). ***********FATAL 8/17/2006 5:12:21 PM node01_havoc *********** FATAL ERROR : Aborting the DTM process due to memory allocation failure. ***********

PA RISCプロセッサ搭載の64ビットHP-UXマシンでは、デフォルトで1プロセスあたり 大

4GBのメモリが割り当てられます。セッションに必要なメモリが4GBを上回る場合には、

maxdsiz_64bitオペレーティングシステム変数を使用してマシンの 大メモリ量を増やしま

す。maxdsiz_64bitの詳細については、以下のURLを参照してください。

http://docs.hp.com/en/B3921-90010/maxdsiz.5.html

ソータキャッシュIntegration Serviceではキャッシュメモリを使用して、ソータトランスフォーメーション

が処理されます。 Integration Serviceは、ソート操作を実行する前に、すべての受信デ

ータをソータトランスフォーメーションに渡します。

Integration Serviceではデータのソート中に、ソートキーおよびデータを格納するための

ソータキャッシュが作成されます。デフォルトでは、Integration Serviceはすべてのパー

ティションに対して1つのメモリキャッシュとディスクキャッシュを作成します。

セッションに複数のパーティションを作成した場合、Integration Serviceではキャッシュ

のパーティション化が使用されます。 ソータトランスフォーメーションに1つのディスク

キャッシュ、各パーティションに1つのメモリキャッシュが作成されます。Integration

Serviceによって、各パーティションに別々のキャッシュが作成され、各パーティションが

別々にソートされます。

メモリ内のすべてのデータをソートするようにキャッシュサイズを設定していない場合、

Integration Serviceによってソースデータに複数のパスが作成されたことを示す警告が、

セッションログに表示されます。ソートを完了するためにディスクに情報をページングす

る必要がある場合、Integration Serviceによってデータに複数のパスが作成されます。

Integration Serviceでデータが1回読み込まれ、ディスクにページングしないでメモリで

ソートが実行される場合に、このメッセージには単一パスに必要なバイト数が表示されま

す。セッションのパフォーマンスを向上させるには、Integration Serviceによってデータ

に1つのパスが作成されるように、キャッシュサイズを設定します。

ソータキャッシュ 333

Page 353: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

ソータトランスフォーメーションのキャッシュサイズの設定

セッションプロパティで、ソータトランスフォーメーションのソータキャッシュを設定で

きます。

以下の表に、ソータのキャッシュサイズを計算するために入力する値を示します。

入力 説明

行数 行数。

データ移動

モード

Integration Serviceのデータ移動モードです。キャッシュ要件

はデータ移動モードによって異なります。ASCII文字は1バイトを

使用します。Unicode文字は2バイトを使用します。

ソータキャッシュサイズを計算するには、入力値を入力して、[計算]をクリックしま

す。計算された値が、[ソータキャッシュサイズ]フィールドに表示されます。

XMLターゲットキャッシュIntegration Serviceではキャッシュメモリを使用して、XMLターゲットが作成されます。

Integration Serviceでは、XMLターゲットの生成中に、データおよびXML階層がキャッシ

ュメモリに格納されます。

Integration Serviceによって、XMLターゲットに対して以下のタイプのキャッシュが作成

されます。

¨ データキャッシュ。XMLターゲットドキュメントの生成中に、XML行データを格納しま

す。 すべてのグループに対して1つのデータキャッシュを格納します。

¨ インデックスキャッシュ。プライマリキーまたは外部キーを格納します。 各グループ

にプライマリキーインデックスキャッシュおよび外部キーインデックスキャッシュを作

成します。

XMLターゲットのキャッシュサイズの設定

ターゲットプロパティまたはセッションプロパティで、XMLターゲットのキャッシュサイズ

を設定します。デフォルトでは、キャッシュサイズが「自動」に設定されます。必要なキ

ャッシュメモリ容量は、Integration Serviceのランタイムに決定されます。

また、キャッシュサイズを設定して、キャッシュメモリ容量をバイト単位で指定すること

もできます。キャッシュサイズを計算するには、次の手順を完了します。

1. 各グループ内の行数を見積もります。

2. 次の計算式を使用して、各グループのキャッシュサイズを計算します。

Group cache size = Data cache size + Primary key index cache size + Foreign key index cache size

334 章 20: セッションのキャッシュ

Page 354: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

3. 次の計算式を使用して合計キャッシュサイズを計算します:

合計キャッシュサイズ=Sum(すべてのグループのキャッシュサイズ)

グループのデータキャッシュのサイズを計算する式を次に示します。

(グループ内の行数)X(グループの行サイズ)

グループのプライマリキーツリーのサイズを計算する式を次に示します。

(グループ内の行数)X(プライマリキーインデックスのキャッシュサイズ)

グループの外部キーツリーのサイズを計算する式を次に示します。

Sum((親グループ内の行数)X(外部キーインデックスのキャッシュサイズ))

注: キャッシュの計算を使用して、XMLターゲットのキャッシュサイズを設定することは

できません。

キャッシュサイズの 適化セッションパフォーマンスを 適にするには、ディスクにページングしないでメモリでト

ランスフォーメーションが処理されるように、Integration Serviceのキャッシュサイズを

設定します。Integration Serviceでディスクにページングされると、セッションパフォー

マンスが減少します。

キャッシュの計算を使用してキャッシュサイズを計算すると、キャッシュの計算では、入

力値に基づいて 適なセッションパフォーマンスに必要なキャッシュサイズが見積もられ

ます。セッションログに指定されたキャッシュサイズを使用して、その見積もりを調整で

きます。セッションの実行後に、セッションログのトランスフォーメーション統計を確認

して、キャッシュサイズを所得します。

たとえば、AGGTRANSというアグリゲータトランスフォーメーションを実行します。セッシ

ョンログには、以下のテキストが含まれます。

MAPPING> TT_11031 Transformation [AGGTRANS]:MAPPING> TT_11114 [AGGTRANS]: Input Group Index = [0], Input Row Count [110264]MAPPING> TT_11034 [SQ_V_PETL]: Input - 110264MAPPING> TT_11115 [AGGTRANS]: Output Group Index = [0]MAPPING> TT_11037 [FILTRANS]: Output - 1098,Dropped - 0MAPPING> CMN_1791 The index cache size that would hold [1098] aggregate groups of input rows for [AGGTRANS], in memory, is [286720] bytesMAPPING> CMN_1790 The data cache size that would hold [1098] aggregate groups of input rows for [AGGTRANS], in memory, is [1774368] bytes

このログは、ディスクにページングしないでメモリでトランスフォーメーションを処理す

るには、インデックスキャッシュには286,720バイト、データキャッシュには1,774,368バ

イトが必要なことを示しています。

キャッシュサイズは、セッションまたはソースデータへの変更に応じて異なる場合があり

ます。後続セッションの実行後にセッションログを確認して、キャッシュサイズへの変更

を監視します。

Integration Serviceでトランスフォーメーション統計のセッションログへの書き込みを有

効にするには、セッションプロパティのトレースレベルを[Verbose Initialization]に

設定する必要があります。

キャッシュサイズの 適化 335

Page 355: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

注: セッションログには、ソータ、ソート済み入力を使用したジョイナトランスフォーメ

ーション、ソート済み入力を使用したアグリゲータトランスフォーメーション、またはXML

ターゲットのトランスフォーメーション統計は含まれません。

336 章 20: セッションのキャッシュ

Page 356: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

第 2 1 章

差分集計

この章では、以下の項目について説明します。

¨ 差分集計の概要, 337 ページ

¨ 差分集計のためのIntegration Serviceの処理, 338 ページ

¨ 集計ファイルの再初期化, 339 ページ

¨ 集計ファイルの移動と削除, 339 ページ

¨ 差分集計を使用したパーティション化のガイドライン, 340 ページ

¨ 差分集計のための準備, 341 ページ

差分集計の概要差分集計では、ソース内から取得した変更をセッションで集計計算に適用します。ソース

の変更が差分であり、その変更を取得できる場合は、その変更を処理するようにセッショ

ンを設定できます。この結果、Integration Serviceは、セッションを実行するたびにソー

ス全体を処理して同じデータを再計算する代わりに、ターゲットの差分だけを更新するこ

とができます。

たとえば、新しいデータを毎日受け取るソースを使用するセッションがあるとします。既

存のデータをデータフローから取り除くフィルタ条件をマッピングに追加してあり、それ

によって差分変更を取得することができます。そして、差分集計を有効にします。

このセッションを、差分集計を有効にして3月1日に初めて実行するときには、ソース全体

を使用します。この結果、Integration Serviceは、必要な集計データを読み込んで格納で

きます。 3月2日にセッションを再び実行すると、3月2日のタイムスタンプが付いたレコー

ド以外はすべてフィルタによって除外されます。Integration Serviceは、新しいデータを

処理し、それに応じてターゲットを更新します。

次の状況での差分集計の使用を検討します。

¨ 新しいソースデータがキャプチャ可能な場合。セッションを実行するたびに新しいソー

スデータをキャプチャできる場合、差分集計を使用します。 ストアドプロシージャト

ランスフォーメーションまたはフィルタトランスフォーメーションを使用して、新しい

データを処理します。

337

Page 357: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

¨ 差分変更がターゲットを大幅に変更しない場合。変更がターゲットを大幅に変更しない

場合、差分集計を使用します。 差分変更のソースによって既存のターゲットの半分以

上が変更される場合、セッションで差分集計を使用することで得られる利点がなくなり

ます。この場合には、テーブルを削除してから、完全なソースデータを使ってターゲッ

トを再作成してください。

注: マッピングにPercentile関数またはMedian関数が含まれている場合、差分集計は使用

しないでください。Integration Serviceは、これらの関数を処理するときに、セッション

プロパティで設定したキャッシュメモリだけでなく、システムメモリも使用します。 この

結果、Integration Serviceはディスクキャッシュに、Percentile関数およびMedian関数

の差分集計の値を格納しません。

差分集計のためのIntegration Serviceの処理

差分集計セッションを初めて実行するときに、Integration Serviceではソース全体が処理

されます。 セッションの 後に、Integration Serviceはセッションの実行によって得た

集計データを2つのファイル(インデックスファイルとデータファイル)に格納します。

Integration Serviceは、アグリゲータトランスフォーメーションのプロパティで指定した

キャッシュディレクトリでこれらのファイルを作成します。

差分集計を含むセッションを以降に実行するたびに、ソースの差分変更をセッションで使

用します。入力レコードごとに、Integration Serviceはインデックスファイル内の履歴情

報をチェックして対応するグループがあるかどうかを調べます。 対応するグループが見つ

かった場合、Integration Serviceはそのグループの集計データを使って差分集計処理を行

い、差分変更を保存します。 対応するグループが見つからない場合、Integration

Serviceは新しいグループを作成してレコードデータを保存します。

ターゲットに書き込むときには、Integration Serviceは既存のターゲットに変更を適用し

ます。 変更された集計データをインデックスファイルとデータファイルに保存し、次にセ

ッションを実行するときに履歴データとして使用できるようにします。

ソースに大幅な変更があり、かつIntegration Serviceに将来の差分変更に備えて集計デー

タの保存を継続させたい場合は、既存の集計データを新しい集計データで上書きするよう

にIntegration Serviceを設定します。

差分集計を含むセッションを以降に実行するたびに、Integration Serviceでは、差分集計

ファイルのバックアップが作成されます。 アグリゲータトランスフォーメーションのキャ

ッシュディレクトリには、これらの2つのファイルのセットを格納するのに十分なディスク

容量が必要です。

差分集計を使用するセッションをパーティション化する場合、Integration Serviceでは、

パーティションごとにキャッシュファイルが1セット作成されます。

次のいずれかのタスクを実行した場合、Integration Serviceでは履歴データが使用される

のではなく、新しい集計データが作成されます。

¨ マッピングの新しいバージョンを保存する。

¨ 集計キャッシュを再初期化するようにセッションを設定する。

338 章 21: 差分集計

Page 358: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

¨ セッションプロパティでファイルに設定されているパスまたはディレクトリを修正せず

に、集計ファイルを移動する。

¨ 集計ファイルを新しい場所に移動せずに、集計ファイルに対して設定されているパスま

たはディレクトリを変更する。

¨ キャッシュファイルを削除する。

¨ パーティション数を減らす。

Integration Serviceによって差分集計ファイルが再構築された場合、前回のファイルに含

まれていたデータは失われます。

注: ファイルの破損やディスク障害から差分集計ファイルを保護するために、これらのフ

ァイルを定期的にバックアップします。

集計ファイルの再初期化ソーステーブルに大幅な変更があった場合、履歴データを使用するのではなく、

Integration Serviceで集計データを新たに作成できます。 Integration Serviceで集計

データを新たに作成するには、集計キャッシュを再初期化するようにセッションを設定し

ます。

たとえば、セッションで使うソースが毎日差分で変更され、月に1回は完全に変更されると

いう場合、集計キャッシュの再初期化を行うことができます。その月の新しいソースデー

タを受け取ったときに、集計キャッシュを再初期化し、既存のターゲットを切り詰め、セ

ッション中に新しいソーステーブルを使用するようにセッションを設定するとします。

集計キャッシュを再初期化するセッションを実行した後は、セッションプロパティを編集

して、[集計キャッシュの再初期化]オプションを無効にしてください。[集計キャッシ

ュの再初期化]の選択を取り消さない場合、Integration Serviceではセッションを実行す

るたびに集計キャッシュが上書きされます。

注: WindowsからUNIXへ移行する場合は、キャッシュを再初期化する必要があります。し

たがって、コードページの互換性の有無にかかわらず、Latin1からMSLatin1へのコードペ

ージの変更はできません。

集計ファイルの移動と削除差分集計セッションを実行した後は、集計情報の履歴が格納されているインデックスファ

イルやデータファイルの移動や変更を避けます。

これらのファイルを別のディレクトリに移動し、Integration Serviceで集計ファイルを使

用する場合は、セッションプロパティでこれらのファイルのパスも変更する必要がありま

す。 また、ファイルのパスを変更してもファイルが移動していない場合、次回セッション

を実行するときに、Integration Serviceによってファイルが再構築されます。

特定のセッションまたはIntegration Serviceのプロパティを変更した場合、Integration

Serviceで差分集計ファイルが使用できず、セッションは失敗します。 次のいずれかの作

集計ファイルの再初期化 339

Page 359: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

業を行う際には、セッションの失敗を回避するために、既存の差分集計ファイルを削除し

ます。

¨ Integration Serviceのデータ移動モードをASCIIからUnicode、またはUnicodeから

ASCIIに変更する。

¨ Integration Serviceのコードページを互換性のないコードページに変更する。

¨ Integration ServiceがUnicodeモードで動作しているときにセッションのソート順を

変更する。

¨ [高精度10進演算を有効にする]セッションオプションを変更する。

インデックスファイルとデータファイルの検索

デフォルトでは、Integration Serviceによってインデックスファイルとデータファイル

は、Workflow Managerでプロセス変数$PMCacheDirに入力されたディレクトリに格納されま

す。 Integration Serviceは、インデックスファイルに「PMAGG*.idx*」という名前を付

けます。 そして、Integration Serviceはデータファイルに「PMAGG*.dat*」という名前

を付けます。

セッションの実行時、Integration Serviceは、ファイル名をセッションログに書き込みま

す。 ファイルの場所を特定するには、以前のセッションログを調べて、キャッシュファイ

ルの名前とディレクトリを示すSM_7034およびSM_7035の各メッセージを探します。たとえ

ば、セッションログのエントリには、次のようなメッセージが出力されます。

MAPPING> SM_7034 Aggregate Information: Index file is [C:\Informatica\PowerCenter8.0\server\infa_shared\Cache\PMAGG8_4_2.idx2]MAPPING> SM_7035 Aggregate Information: Data file is [C:\Informatica\PowerCenter8.0\server\infa_shared\Cache\PMAGG8_4_2.dat2]

差分集計を使用したパーティション化のガイドライン

複数のパーティションを含むセッションで差分集計を使用する場合、Integration Service

は、パーティションごとにキャッシュファイルを1セット作成します。

パーティション数またはキャッシュディレクトリを変更する場合は、次のガイドラインを

使用します。

¨ パーティション用のキャッシュディレクトリの変更。パーティション用のディレクトリ

を変更し、Integration Serviceでキャッシュファイルを再利用する場合は、変更した

ディレクトリに関連付けられたパーティション用のキャッシュファイルを移動する必要

があります。

- 初のパーティション用のディレクトリを変更し、キャッシュファイルを移動しない

場合、Integration Serviceではすべてのパーティション用にキャッシュファイルが

再構築されます。

-パーティション2-n用のディレクトリを変更し、キャッシュファイルを移動しない場

合、Integration Serviceでは見つからなかったキャッシュファイルが再構築されま

す。

340 章 21: 差分集計

Page 360: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

¨ パーティション数を減らす。パーティションを削除し、Integration Serviceでキャッ

シュファイルを再利用する場合は、削除されたパーティション用のキャッシュファイル

を、 初のパーティション用に設定されたディレクトリに移動する必要があります。

初のパーティションのディレクトリにファイルを移動しなかった場合、Integration

Serviceでは見つからなかったキャッシュファイルが再構築されます。

注: パーティションの数を増やした場合、次回セッションを実行するときに、

Integration Serviceによって、インデックスとデータのキャッシュファイルが再調整

されます。 これらのファイルを再構築する必要はありません。

¨ キャッシュファイルの移動。パーティション用のキャッシュファイルを移動し、

Integration Serviceでファイルを再利用する場合は、パーティションのディレクトリ

も変更する必要があります。 ディレクトリを変更しなかった場合、次回セッションを

実行するときにIntegration Serviceによりファイルが再構築されます。

¨ キャッシュファイルを削除する。キャッシュファイルを削除した場合、次回セッション

を実行するときにIntegration Serviceによりファイルが再構築されます。

パーティション数とキャッシュディレクトリを変更した場合、その両方について、キャッ

シュファイルを移動する必要があります。たとえば、パーティション1のキャッシュディレ

クトリを変更し、パーティションの数を減らした場合、削除したパーティションのキャッ

シュファイル、および変更したディレクトリに関連付けられたパーティションのキャッシ

ュファイルを移動する必要があります。

差分集計のための準備差分集計を使用する場合、マッピングのプロパティとセッションのプロパティを両方とも

設定する必要があります。

¨ 既存のデータを除外するマッピングロジックまたはフィルタを実装します。

¨ 差分集計用にセッションを設定し、ファイルディレクトリに集計ファイルを格納できる

だけの十分なディスク容量があることを確認します。

マッピングの設定

差分集計を有効にする前に、ソースデータ内の変更を取得しなければなりません。マッピ

ングでフィルタまたはストアードプロシージャトランスフォーメーションを使用すれば、

セッション中に既存のソースデータを削除できます。

差分集計のための準備 341

Page 361: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

セッションの設定

差分集計用にセッションを設定する場合は、以下のガイドラインを使用します。

¨ 集計ファイルを格納する場所の確認。インデックスファイルとデータファイルは、ソー

スデータに比例して大きくなります。 セッションの履歴データを格納するのに十分な

ディスクスペースがあることを確認してください。

複数の差分集計セッションを実行する場合は、ファイルの格納先を決めてください。そ

の後、Workflow Managerで、プロセス変数$PMCacheDirに適切なディレクトリを入力し

てください。インデックスファイルとデータファイル用に、セッションごとに固有のデ

ィレクトリを入力できます。ただし、差分集計を使うすべてのセッションにプロセス変

数を使用すれば、$PMCacheDirを変更するだけで、必要なときにキャッシュディレクト

リを簡単に変更できます。

ファイルを移動しないで、キャッシュディレクトリを変更した場合、Integration

Serviceにより集計キャッシュが再初期化され、新しい集計データが収集されます。

グリッドでは、Integration Serviceによって、見つからなかった差分集計ファイルが

再構築されます。 Integration Serviceによって差分集計ファイルが再構築された場

合、集計の履歴は失われます。

¨ セッションプロパティでの差分集計設定の確認。[プロパティ]タブの[パフォーマン

ス]設定で、差分集計のセッションを設定できます。

集計キャッシュを再初期化するように、セッションを設定することもできます。キャッ

シュの再初期化を選択した場合、Workflow Managerは、Integration Serviceが既存の

キャッシュを上書きすることを示す警告を表示し、セッションの実行後にこのオプショ

ンの選択を取り消すように注意を促します。

注: [Transaction]をトランスフォーメーション範囲とするアグリゲータトランスフォ

ーメーションがマッピングに含まれる場合、差分集計を使用することはできません。その

ようなセッションは、Workflow Managerによって無効のマークが付けられます。

342 章 21: 差分集計

Page 362: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

第 2 2 章

セッションログインタフェース

この章では、以下の項目について説明します。

¨ セッションログインタフェースの概要, 343 ページ

¨ セッションログインタフェースの実装, 343 ページ

¨ セッションログインタフェースの関数, 345 ページ

¨ セッションログインタフェースの例, 349 ページ

セッションログインタフェースの概要デフォルトでは、Integration Serviceにより、セッションイベントはサービスプロセスが

実行されるノード上のバイナリログファイルに書き込みます。 さらに、Integration

Serviceにより、セッションイベント情報が外部ライブラリに渡されます。 外部共有ライ

ブラリ内に、Integration Serviceがログイベントを書き込む方法の手順を提供することが

できます。

PowerCenterでは、セッションログインタフェースを通してセッションイベント情報へのア

クセスが提供されます。 共有ライブラリを作成する場合、セッションログインタフェース

で提供された関数を実装します。

セッションイベントを書き込む際、Integration Serviceにより、セッションログインタフ

ェースで指定された関数が呼び出されます。 作成した共有ライブラリ内の関数は、セッシ

ョンログインタフェースで定義された関数宣言に一致しなければなりません。

セッションログインタフェースの実装セッションイベント情報の処理にカスタム手順を使用するようにIntegration Serviceを設

定するには、以下の手順を実行します。

1. セッションログインタフェースを実装する共有ライブラリを作成します。

343

Page 363: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

2. AdministratorツールでIntegration Serviceプロパティを設定する際、作成する共有

ライブラリの名前にExportSessionLogLibNameプロパティを設定します。

Integration Serviceとセッションログインタフェース

Integration ServiceのExportSessionLogLibNameプロパティを共有ライブラリの名前に設

定した場合、Integration Serviceでは、イベントログファイルの作成に加えて、共有ライ

ブラリに定義された手順が実行されます。

Integration Serviceでは、以下の方法で共有ライブラリが使用されます。

1. Integration Serviceは、共有ライブラリをロードし、INFA_InitSessionLog()関数を

呼び出してから、セッション内の 初のイベントをログに記録します。

2. セッションログファイルにイベントを記録するたびに、Integration Serviceは

INFA_OutputSessionLog()関数を呼び出し、メッセージ、コード、およびセッション

情報を共有ライブラリに渡します。

3. セッションが完了し、 後のイベントが記録されると、Integration Serviceは

INFA_EndSessionLog()を呼び出し、共有ライブラリをアンロードします。

共有ライブラリがIntegration Serviceによって正しく呼び出されるようにするには、次の

ガイドラインに従って共有ライブラリを記述します。

セッションログインタフェースの実装に関するルールおよびガイドライン

セッションログインタフェースを実装するためにコードを書き込む場合は、以下のルール

およびガイドラインを使用します。

¨ セッションログインタフェース内のすべての関数を実装する必要があります。

¨ 異常終了を除き、Integration Serviceからセッションログインタフェース内の関数へ

のすべての呼び出しはシリアライズされます。 Integration Serviceにより、イベント

をセッションログに記録する場合に、これらの関数への呼び出しが実行されます。 そ

のため、セッションログインタフェース内の関数を実装する際に、ミューテックスオブ

ジェクトを使用して、一度に1つのスレッドしかコードセクションを実行できないよう

にする必要はありません。

¨ セッションログインタフェースをUNIXで実装する場合、関数内でシグナル処理を実行し

ないようにします。 これは、関数によりPowerCenterが信号を処理する方法を妨害され

ることがないようにするためです。 シグナルハンドラを登録しないか、登録を解除し

ます。

¨ Integration Serviceはマルチスレッドプロセスであるため、共有ライブラリをマルチ

スレッドライブラリとしてコンパイルし、共有ライブラリが正しくロードされるように

する必要があります。

344 章 22: セッションログインタフェース

Page 364: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

セッションログインタフェースの関数セッションログインタフェースの関数からは値は返されません。 そのため、セッションロ

グインタフェースの関数に対するIntegration Service呼び出しが原因でセッションが失敗

することはありません。

以下の表に、セッションログインタフェースの関数を示します。

関数 説明

INFA_InitSessionLog Integration Serviceがイベントログを書き込むセ

ッションに関する情報を提供します。

INFA_OutputSessionLogM

sg

イベントが記録されるたびに呼び出されます。イベ

ントに関する情報を渡します。

INFA_OutputSessionLogF

atalMsg

異常終了する前に 後のイベントが記録されたと

き、呼び出されます。

INFA_EndSessionLog 後のメッセージがセッションログに送られ、セッ

ションが正常に終了した後に呼び出されます。

INFA_AbnormalSessionTe

rmination

後のメッセージがセッションログに送られ、セッ

ションが異常終了した後に呼び出されます。

この節に記述された関数は、標準Cヘッダファイルのtime.hで宣言された時間構造体を使用

します。また、この関数は、以下の宣言を前提としています。

typedef int INFA_INT32;

typedef unsigned int INFA_UINT32;

typedef unsigned short INFA_UNICHAR;

typedef char INFA_MBCSCHAR;

typedef int INFA_MBCS_CODEPAGE_ID;

INFA_InitSessionLog

void INFA_InitSessionLog(void ** dllContext,

const INFA_UNICHAR * sServerName,

const INFA_UNICHAR * sFolderName,

const INFA_UNICHAR * sWorkflowName,

const INFA_UNICHAR * sessionHierName[]);

Integration Serviceは、セッションログイベントを書き込む前にINFA_InitSessionLog関

数を呼び出します。 この関数に渡されるパラメータは、Integration Serviceがイベント

ログを書き込むセッションに関する情報を提供します。

セッションログインタフェースの関数 345

Page 365: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

INFA_InitSessionLogには、以下のパラメータがあります。

パラメータ データタイプ 説明

dllContext 未指定 共有ライブラリに固有のユーザー定義情報。

このパラメータは、後続する関数呼び出しの

すべての関数に渡されます。このパラメータ

は、ネットワーク接続に関連する情報を格納

したり、セッションログ出力の処理中に必要

となるメモリを割り当てる際に使用できま

す。共有ライブラリは、このパラメータに関

連付けられたメモリの割り当ておよび割り当

て解除を行う必要があります。

sServerName 符号なしの

short型

セッションを実行しているIntegration

Serviceの名前。

sFolderName 符号なしの

short型

セッションを含むフォルダ名。

sWorkflowNam

e

符号なしの

short型

セッションに関連付けられたワークフローの

名前。

sessionHierN

ame[]

符号なしの

short型の配

セッション階層を含む配列。配列には、セッ

ションが属しているリポジトリ、ワークフロ

ー、およびワークレット(指定している場

合)が含まれます。ポインタのサイズで除算

された配列のサイズは、配列要素の数と等し

くなります。

INFA_OutputSessionLogMsg

void INFA_OutputSessionLogMsg(

void * dllContext,

time_t curTime,

INFA_UINT32 severity,

const INFA_UNICHAR * msgCategoryName,

INFA_UINT32 msgCode,

const INFA_UNICHAR * msg,

const INFA_UNICHAR * threadDescription);

Integration Serviceは、イベントを記録するたびに、この関数を呼び出します。 この関

数に渡されるパラメータには、ログイベントメッセージのさまざまな要素が含まれます。

このパラメータは、ログ出力の形式をカスタマイズしたり、メッセージをフィルタリング

する際に使用できます。

346 章 22: セッションログインタフェース

Page 366: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

INFA_OutputSessionLogMsgには、以下のパラメータがあります。

パラメータ データタイ

説明

dllContext 未指定 共有ライブラリに固有のユーザー定義情報。こ

のパラメータは、ネットワーク接続に関連する

情報を格納したり、セッションログ出力の処理

中に必要となるメモリを割り当てる際に使用で

きます。共有ライブラリは、このパラメータに

関連付けられたメモリの割り当ておよび割り当

て解除を行う必要があります。

curTime time_t Integration Serviceによりイベントが記録され

る時刻。

severity 符号なしの

int型

ログイベントメッセージのタイプを示すコー

ド。イベントログでは、以下の重要度コードが

使用されます。

32:デバッグメッセージ

8: 情報メッセージ

2: エラーメッセージ

msgCategoryN

ame

定数

符号なしの

short型

ログイベントメッセージのカテゴリを示すコー

ドのプレフィックス。

次のメッセージ例で、文字列BLKRはmsgCategoryNameパラメータに渡される値です。READER_1_1_1> BLKR_16003 Initialization completed successfully.

msgCode 符号なしの

int型

ログイベントメッセージを識別する番号。

次の例で、文字列16003はmsgCodeパラメータに

渡される値です。READER_1_1_1> BLKR_16003 Initialization completed successfully.

msg 定数

符号なしの

short型

ログイベントメッセージのテキスト。

次のメッセージ例で、文字列Initializationcompleted successfullyはmsgパラメータに渡さ

れる値です。READER_1_1_1> BLKR_16003 Initialization completed successfully.

threadDescri

ption

定数

符号なしの

short型

イベントログを生成しているスレッドを示すコ

ード。

次の例で、文字列READER_1_1_1はthreadDesciptionパラメータに渡される値で

す。READER_1_1_1> BLKR_16003 Initialization completed successfully.

INFA_OutputSessionLogFatalMsg

void INFA_OutputSessionLogFatalMsg(void * dllContext, const char * msg);

セッションログインタフェースの関数 347

Page 367: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

Integration Serviceは、異常終了の前に、この関数を呼び出して 後のイベントを記録し

ます。 パラメータmsgは、Integration Serviceコードページ内のMBSC文字です。

UNIXでこの関数を実装する場合には、この関数から非同期シグナルセーフ関数のみを呼び

出すようにしてください。

INFA_OutputSessionLogFatalMsgには、以下のパラメータがあります。

パラメータ データタイ

説明

dllContext 未指定 共有ライブラリに固有のユーザー定義情報。こ

のパラメータは、ネットワーク接続に関連する

情報を格納したり、セッションログ出力の処理

中に必要となるメモリを割り当てる際に使用で

きます。共有ライブラリは、このパラメータに

関連付けられたメモリの割り当ておよび割り当

て解除を行う必要があります。

msg キャラクタ

定数

エラーメッセージのテキスト。一般に、これら

のメッセージはアサーションエラーメッセージ

か、オペレーティングシステムエラーメッセー

ジです。

INFA_EndSessionLog

void INFA_EndSessionLog(void * dllContext);

Integration Serviceは、 後のメッセージがセッションログに送られ、セッションが正常

に終了した後に、この関数を呼び出します。 この関数は、クリーンアップ操作の実行、お

よびメモリとリソースの解放を行う際に使用できます。

INFA_EndSessionLogには、以下のパラメータがあります。

パラメータ データタイプ 説明

dllContext 未指定 共有ライブラリに固有のユーザー定義情報。

このパラメータは、ネットワーク接続に関連

する情報を格納したり、セッションログ出力

の処理中に必要となるメモリを割り当てる際

に使用できます。共有ライブラリは、このパ

ラメータに関連付けられたメモリの割り当て

および割り当て解除を行う必要があります。

INFA_AbnormalSessionTermination

void INFA_AbnormalSessionTermination(void * dllContext);

Integration Serviceは、 後のメッセージがセッションログに送られ、セッションが異常

終了した後に、この関数を呼び出します。 Integration Serviceは、

INFA_OutputSessionLogFatalMsg関数を呼び出した後に、この関数を呼び出します。

Integration Serviceは、この関数を呼び出した後、INFA_EndSessionLogを呼び出しませ

ん。

348 章 22: セッションログインタフェース

Page 368: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

例えば、DTMが強制終了またはタイムアウトになった場合に、Integration Serviceはこの

関数を呼び出します。 UNIXでは、シグナル例外が発生した場合に、Integration Service

はこの関数を呼び出します。

この関数を実装する場合、 小限の機能のみが含められます。UNIXでは、この関数から非

同期シグナルセーフ関数のみを呼び出すようにしてください

INFA_AbnormalSessionTerminationには、以下のパラメータがあります。

パラメータ データタイプ 説明

dllContext 未指定 共有ライブラリに固有のユーザー定義情報。

このパラメータは、ネットワーク接続に関連

する情報を格納したり、セッションログ出力

の処理中に必要となるメモリを割り当てる際

に使用できます。共有ライブラリは、このパ

ラメータに関連付けられたメモリの割り当て

および割り当て解除を行う必要があります。

セッションログインタフェースの例Informaticaでは、セッションログインタフェースを使用するサンプルプログラムが用意さ

れています。 このサンプルプログラムでは、sesslog.logという名前のテキストファイル

にセッションログイベントが送信されます。このサンプルプログラムを表示し、セッショ

ンログインタフェースを使用した、各自の要件に基づくセッションログイベントの処理方

法について理解を深めることができます。 また、サンプルプログラムをコンパイルして、

テキストファイルにセッションログイベントを送信する外部ライブラリを構築することも

できます。

セッションログサンプルプログラムは、Informatica Development Platformインストーラ

からPowerCenter SDKファイルをインストールすると利用できるようになります。 デフォ

ルトでは、セッションログサンプルプログラムは、以下のディレクトリにインストールさ

れます。

<SDKInstallationDir>/SessionLog_API/samples

外部セッションログライブラリの構築

外部ライブラリを構築するには、サンプルプログラムdemo_sesslog.cppに付属のmakeファ

イルを使用します。ライブラリをコンパイルするためのコマンドは、使用するプラットフ

ォームによって異なります。

セッションログインタフェースの例 349

Page 369: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

UNIXでのライブラリの構築

以下の表に、各種プラットフォームでライブラリを構築するためのコマンドを示します。

プラットフォーム コンパイラ コマンド

Solaris CC make -f makefile_sol

HP/UX aCC make -f makefile_hpux

HP-UX 64ビット aCC make -f makefile_hpux64

AIX xCl_r make -f makefile_aix

AIX 64ビット xCl_r make -f makefile_aix64

Linux g++ make -f makefile_linux

Windowsでのライブラリの構築

Windowsでは、Microsoft Visual C++ 6.0を使用してセッションログライブラリのサンプ

ルを構築します。Visual C++ 6.0でサンプルプログラムdemo_sesslog.dswを開き、プロジ

ェクトを構築します。

外部セッションログライブラリの使用

構築したライブラリを使用して、セッションログの出力をファイルに書き込むことができ

ます。

サンプルの外部セッションログライブラリを使用するには、以下の手順を実行します。

1. Administratorツールにログインし、セッションログファイルを設定するIntegration

Serviceを選択します。

2. Integration Serviceの[プロパティ]タブで、設定プロパティを編集します。

3. ExportSessionLogLibNameプロパティを、セッションログサンプルプログラムから作

成したセッションログライブラリのパスおよびファイル名に設定します。

350 章 22: セッションログインタフェース

Page 370: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

第 2 3 章

バッファメモリについて

この章では、以下の項目について説明します。

¨ バッファメモリの概要について, 351 ページ

¨ 自動バッファメモリ設定, 352 ページ

¨ バッファメモリの設定, 353 ページ

¨ セッションキャッシュメモリの設定, 353 ページ

バッファメモリの概要についてセッションを実行すると、Integration Serviceプロセスは、Data Transformation

Manager(DTM)を開始します。DTMは、セッションプロパティの[DTMバッファサイズ]設

定に基づいて、実行時にバッファメモリをセッションに割り当てます。

DTMは、セッションのプロパティの[デフォルトのバッファブロックサイズ]設定に従っ

て、メモリを複数のバッファブロックに分割します。readerスレッド、トランスフォーメ

ーションスレッド、およびwriterスレッドは、バッファブロックを使用してソースからタ

ーゲットにデータを移動します。バッファブロックサイズは、ソースまたはターゲット内

のデータの 大行の精度より大きくなっている必要があります。

Integration Serviceでは、パーティションのソースおよびターゲットごとに少なくとも2

つのバッファブロックを割り当てます。XMLのソースおよびターゲットについては、ソース

およびターゲットに含まれるグループ数の2倍以上のバッファブロックが必要です。非正規

化カラムを含むXMLリーダーや循環参照を含むXMLスキーマでは、追加のバッファブロック

が必要になる場合があります。

以下のセッションプロパティを調整して、バッファメモリ設定を行います。

DTMバッファサイズ

DTMバッファサイズには、DTMでセッションを処理するときにIntegration Serviceが

使用するバッファメモリの量を指定します。セッションのプロパティの[プロパテ

ィ]タブでDTMバッファサイズを設定します。

デフォルトのバッファブロックサイズ

バッファブロックサイズには、ソースからターゲットにデータのブロックを移動する

のに使用するバッファメモリの量を指定します。セッションのプロパティの[設定オ

ブジェクト]タブでバッファブロックサイズを設定します。

351

Page 371: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

Integration Serviceにより、バッファメモリとバッファブロックの 小メモリ割り当てが

計算されます。デフォルトでは、ブロックあたり64,000バイトか、マッピングのソースま

たはターゲットの 大行のサイズのうち、どちらか大きい方が割り当てられます。

DTMが設定された量のバッファメモリをセッションに割り当てられなかった場合、そのセッ

ションは初期化できません。通常、バッファメモリに1 GBを超えるメモリ量は必要ありま

せん。

バッファサイズの値は手動で設定できます。また、必要なバッファメモリサイズを

Integration Serviceで特定するようにセッションを設定することもできます。

自動バッファメモリ設定DTMの初期化時に、セッションの実行時に使用するバッファメモリが割り当てられます。バ

ッファメモリサイズをIntegration Serviceで自動的に割り当てるように設定することも、

メモリバッファとブロックのサイズを手動で設定することもできます。

デフォルトでは、PowerCenter Integration Serviceによって、トランスフォーメーショ

ンの要件とマッピングのソースおよびターゲットに基づいて、セッションに必要なバッフ

ァメモリが自動的に計算されます。この計算では、ホストマシンのメモリの量や、そのう

ちの使用可能なメモリの量は考慮されません。そのため、場合によっては、使用可能なメ

モリのごく一部しかセッションに割り当てられないこともあります。

PowerCenter Integration Serviceによって自動的に計算されたバッファメモリではセッ

ションに必要なメモリフットプリントを確保できない可能性がある場合は、PowerCenter

Integration Serviceでセッションに割り当てるバッファメモリのサイズとブロックのサイ

ズを手動で指定することができます。

関連項目:

¨ 「セッションのキャッシュの概要」 (312ページの)

セッション設定オブジェクトを使用したメモリの設定

セッション設定オブジェクトを使用して、複数のセッションのメモリ設定を設定すること

ができます。セッション設定オブジェクトごとに異なるメモリ設定を設定できます。

リポジトリ内の各フォルダには、コミット/ロード設定、ログオブション、エラー処理設定

などのセッションプロパティを含むデフォルトのセッション設定オブジェクトがありま

す。セッションを作成すると、Workflow Managerによってデフォルトの設定オブジェクト

の設定がセッションに適用されます。セッションで使用する設定オブジェクトを選択する

こともできます。

複数のセッションに異なる設定を適用する場合、複数の設定オブジェクトを作成できま

す。例えば、テスト環境からプロダクション環境に移行する場合や、異なる自動メモリ要

件を持つ複数のセッションがある場合に、セッション設定オブジェクトでメモリ設定を設

定できます。

352 章 23: バッファメモリについて

Page 372: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

バッファメモリの設定Integration Serviceでセッションに必要なメモリを自動的に計算することも、DTMのバッ

ファサイズとデフォルトのブロックサイズを手動で設定することもできます。

バッファメモリ設定は、セッションプロパティで設定できます。

1. セッションを開き、[設定オブジェクト]タブをクリックします。

2. デフォルトバッファブロックサイズに値を入力します。

自動または数値を指定できます。

デフォルトの単位はバイトです。他の単位を指定するには、値にKB、MB、またはGBを

追加します。例えば、「1048576」、「1024KB」、「1MB」のように指定します。

3. [プロパティ]タブをクリックします。

4. DTMバッファサイズの値を入力します。

自動または数値を指定できます。セッションでDTMバッファサイズに設定した値より多

くのメモリが必要な場合、セッションパフォーマンスが下がり、セッションが失敗す

ることがあります。

デフォルトの単位はバイトです。他の単位を指定するには、値にKB、MB、またはGBを

追加します。例えば、「1048576」、「1024KB」、「1MB」のように指定します。

セッションキャッシュメモリの設定Integration Serviceは、次のセッションのキャッシュに必要なメモリを判定することがで

きます。

¨ ルックアップトランスフォーメーションのインデックスとデータキャッシュ

¨ アグリゲータトランスフォーメーションのインデックスとデータキャッシュ

¨ ランクトランスフォーメーションのインデックスとデータキャッシュ

¨ ジョイナトランスフォーメーションのインデックスとデータキャッシュ

¨ ソータトランスフォーメーションのキャッシュ

¨ XMLターゲットキャッシュ

トランスフォーメーションのプロパティまたはセッションプロパティの[マッピング]タ

ブでインデックスとデータのキャッシュサイズを自動に設定することができます。

セッションキャッシュの制限

Integration Serviceは、メモリキャッシュが自動モードに設定されているトランスフォー

メーションに、セッションキャッシュを使用してメモリを割り当てます。セッションキャ

ッシュのメモリの量は制限することができます。セッションキャッシュを制限する場合、

他のプロセス用に一部のメモリが残るよう、Integration Serviceがセッションに使用でき

るメモリの量を制限します。

バッファメモリの設定 353

Page 373: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

キャッシュメモリの制限を指定するときは、数値と合計メモリに対する割合の両方を指定

する必要があります。割合は、Integration Serviceが実行されているマシンの物理メモリ

の合計に基づきます。

Integration Serviceでは、数値と割合の値を比較してどちらが少ないかを特定し、少ない

方の値をセッションキャッシュの合計メモリとして割り当てます。

セッションに割り当てられるメモリキャッシュに制限を設定するには、セッション設定オ

ブジェクトの次の属性を使用します。

自動メモリ属性で使用できる 大メモリ

セッションキャッシュに割り当てるメモリ量です。自動キャッシュメモリの合計がこ

のプロパティの値を超えないように制限されます。これは、使用されるマシンメモリ

の割合が[自動メモリ属性で使用できる合計メモリの 大割合(%)]プロパティの値

より低くなる場合でも同様です。物理メモリが多いマシンでセッションを実行する場

合に、この状況になることがあります。

自動メモリ属性で使用できる合計メモリの 大割合(%)

セッションキャッシュに割り当てるマシンのメモリの割合です。自動キャッシュメモ

リの合計は、このプロパティの値を超えないように制限されます。これは、[自動メ

モリ属性で使用できる 大メモリ]プロパティの値の方が高い場合でも同様です。物

理メモリが非常に少ないマシンでセッションを実行する場合に、この状況になること

があります。

キャッシュメモリが自動に設定されたすべてのトランスフォーメーションに、セッション

キャッシュからメモリが割り当てられます。そのメモリがすべてのトランスフォーメーシ

ョンのキャッシュで分割されます。

例えば、セッションの3つのルックアップトランスフォーメーションに自動キャッシュを設

定するとします。セッションのメモリキャッシュの制限は500MBに設定します。セッション

を実行すると、500MBの割り当てメモリが、3つすべてのルックアップトランスフォーメー

ションのインデックスキャッシュとデータキャッシュで分割されます。セッションのメモ

リキャッシュの制限は、自動キャッシュの対象として設定していないトランスフォーメー

ションには適用されません。

セッションキャッシュを自動割り当ての対象として設定している場合、自動キャッシュ割

り当ての対象に設定された各トランスフォーメーションに対して、インデックスキャッシ

ュ用に1MB以上、データキャッシュ用に2MB以上のメモリが割り当てられます。セッション

キャッシュの制限でインデックスキャッシュとデータキャッシュに割り当てるメモリを確

保できない場合、キャッシュの制限は無効になり、インデックスキャッシュとデータキャ

ッシュにそれぞれ 小メモリが割り当てられます。

例えば、セッションキャッシュのメモリを4MBに制限し、自動キャッシュ割り当ての対象と

して2つのトランスフォーメーションを設定しているとします。この場合、セッションキャ

ッシュの制限は無効になり、自動キャッシュ割り当ての対象に設定された各トランスフォ

ーメーションに対して、インデックスキャッシュ用に1MB、データキャッシュ用に2MBの

小メモリが割り当てられます。そのため、トランスフォーメーションのキャッシュに割り

当てられるメモリは合計で6MBになります。

グリッドでセッションを実行する場合、[自動メモリ属性で使用できる 大メモリ]を設

定すると、割り当てたメモリキャッシュがグリッドのすべてのノード間で分割されます。

[自動メモリ属性で使用できる合計メモリの 大割合(%)]を設定すると、指定した割合

のメモリキャッシュがグリッドの各ノードに割り当てられます。

354 章 23: バッファメモリについて

Page 374: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

セッションキャッシュの自動メモリ設定

セッションキャッシュの自動メモリ設定をするには:

1. Transformation Developer、またはセッションのプロパティの[マッピング]タブで

トランスフォーメーションを開きます。

2. トランスフォーメーションのプロパティで、以下の各キャッシュサイズ設定でAutoを

選択するか入力します

¨ インデックスおよびデータキャッシュ

¨ ソータキャッシュ

¨ XMLキャッシュ

3. Task Developerまたは Workflow Designerでセッションを開いて、[設定オブジェク

ト]タブをクリックします。

4. [自動メモリ属性で使用できる 大メモリ]に値を入力します。

この値は、セッションキャッシュに使用する 大メモリ量を指定します。

デフォルトの単位はバイトです。他の単位を指定するには、値にKB、MB、またはGBを

追加します。例えば、「1048576」、「1024KB」、「1MB」のように指定します。

5. [自動メモリ属性で使用できる合計メモリの 大割合(%)]に値を入力します。

この値は、セッションキャッシュが使用できる合計メモリの 大パーセンテージを指

定します。

セッションキャッシュメモリの設定 355

Page 375: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

第 2 4 章

高精度データ

この章では、以下の項目について説明します。

¨ 高精度データの概要, 356 ページ

¨ Bigint, 356 ページ

¨ Decimal, 357 ページ

高精度データの概要高精度データは、桁数の多い数値をより正確に表す方法を決定します。数字の桁数には、

小数点桁数が含まれます。例えば、値11.47は、4桁の精度と2桁の小数点桁数を持ちます。

桁数の多い数値は、オーバーフローが発生する計算で使用される場合、丸め処理が行われ

ることにより精度が損なわれる場合があります。 高精度データを切り捨てる際にエラーが

発生すると、正しい演算結果が得られなくなる可能性があります。

高精度データの値は、より精度が高い値です。 精度の高い値が必要な場合は、高精度を有

効にします。

高精度はセッションの[プロパティ]タブで有効にします。Integration Serviceは、

Bigint値および10進値に対して別々に高精度データ処理を行います。

Bigint結果が10進値となる計算では、Integration ServiceはBigint値をDoubleタイプまたは

Decimalタイプとして処理します。セッションに結果が10進値となる計算が含まれ、かつ実

行に高精度を必要としない場合、Integration Serviceは計算を実行する前にBigint値を

Doubleタイプに変換します。 トランスフォーメーションのDoubleデータタイプは 大15桁

の精度をサポートし、Bigintデータタイプは 大19桁の精度をサポートします。 このた

め、精度が15桁より大きいBigint値となる計算では、精度の損失が発生することがありま

す。

例えば、式トランスフォーメーションには以下の計算が含まれています。

POWER( BIGINTVAL, EXPVAL )

356

Page 376: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

Integration Serviceでは、計算を開始する前に、POWER関数への入力をDouble値に変換し

ます。BIGINTVALポートにBigint値9223372036854775807が含まれている場合、

Integration Serviceはこの値を9.22337203685478e+18に変換し、 後4桁の精度が失われ

ます。EXPVALポートに値1.0が含まれており、結果ポートがBigintの場合、計算結果の

9223372036854780000が 大bigint値を超えているため、行エラーが作成されます。

結果が10進値となる計算でBigint値を使用し、高精度でセッションを実行する場合、

Integration ServiceはBigint値を10進値に変換します。トランスフォーメーションの

Decimalデータタイプは 大28桁までの精度をサポートします。 このため、計算結果が、

精度が28桁より大きい値にならない限り、精度の損失は発生しません。 この場合、

Integration Serviceは結果をDouble値として保存します。

Decimal高精度を有効にせずにセッションを実行すると、Integration Serviceは10進値をDouble

値に変換します。 トランスフォーメーションのDecimalデータタイプは28桁までの精度を

サポートしますが、Doubleデータタイプは15桁までの精度をサポートします。 したがっ

て、15桁を超える精度を持つ10進値の場合、精度の損失が発生します。

例えば、Decimal(20,0)を使用して数値40012030304957666903を渡すマッピングがある

とします。高精度でセッションを実行しない場合、Integration Serviceは10進値をDouble

値に変換し、4.00120303049577 x 1019を渡します。

大28桁の精度を確保するためには、Decimalデータタイプを使用して、セッションプロパ

ティで高精度を有効にします。 高精度でセッションを実行すると、Integration Service

は10進値をDecimalとして処理します。 計算結果が、精度が28桁より大きい値にならない

限り、精度の損失は発生しません。 この場合、Integration Serviceは結果をDouble値と

して保存します。

Decimal 357

Page 377: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

索引

記号{Teradataでのプッシュダウンの 適化

派生テーブル 84

$$PushdownConfig

説明 87

$AppConnection

using 227

$BadFile

using 227

命名規則 227

$DynamicPartitionCount

説明 227

$InputFile

using 227

命名規則 227

$LoaderConnection

using 227

$LookupFile

using 227

命名規則 227

$OutputFile

using 227

命名規則 227

$PMSessionLogFile

using 227

$PMStorageDirPMStorageDir

ワークフローのセッションの状態 164

$PMStorageDir

ワークフローの操作の状態 163

$PMWorkflowRunId

コンカレントワークフロー 195

$PMWorkflowRunInstanceName

コンカレントワークフロー 195

$QueueConnection

using 227

数字85以前のタイムスタンプの互換性オプション、Netezzaで

のプッシュダウンの 適化 70

AABORT関数

セッションの失敗 187

Bbigint

高精度処理 356

CConnectionParam.prmファイル

使用 252

CPUの数

動的パーティションでの設定 6

CPUの数を基準

設定 6

CUME関数

パーティション化の制限 45

D$DBConnection

使用 227

命名規則 227

decimal

高精度処理 356

DTM(データ変換マネージャ)

バッファサイズ 353

DTMバッファサイズ要件

構成 353

FFTP

SFTP 304

セッションの作成 307

ソースファイルのアクセス 307

ターゲットのパーティション化 310

ターゲットファイルのアクセス 307

ファイルターゲットへの接続 30

リモートディレクトリ、パラメータおよび変数のタイプ

240

リモートファイル名、パラメータおよび変数のタイプ

240

概要 304

$FTPConnection

使用 227

FTP接続

パラメータタイプ[ぱらめたたいぷ] 240

セッションパラメータ 227

パスワード、パラメータのタイプ 240

358

Page 378: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

ユーザー名、パラメータのタイプ 240

HHTTPトランスフォーメーション

スレッド 34

パイプラインのパーティション化 33

IIBM DB2

データベースパーティション化。 51

データベースパーティション化 46, 54

IBM DB2 EE

外部データのロード 275

空白スペースのロード 279

属性 278

IBM DB2 EEE

外部データのロード 275

属性 280

INFA_AbnormalSessionTermination

セッションログインタフェース 348

INFA_EndSessionLog

セッションログインタフェース 348

INFA_InitSessionLog

セッションログインタフェース 345

INFA_OutputSessionLogFatalMsg

セッションログインタフェース 347

INFA_OutputSessionLogMsg

セッションログインタフェース 346

Informix

行レベルのロック 29

Integration Service

外部ローダーのサポート 272

グリッド上でのセッションの実行 203

グリッド上での動作 205

グリッドの概要 202

グリッドへの割り当て 206

コミット間隔の概要 132

セッションログインタフェースでの関数の呼び出し 344

Integration Serviceコードページ

差分集計への影響 339

JJavaトランスフォーメーション

スレッド 34

パイプラインのパーティション化 33

JMS接続先

パラメータおよび変数のタイプ 240

LLogtable名

FastExport属性 266

MMicrosoft Access

パイプラインのパーティション化 29

MOVINGAVG関数

パーティション化の制限 45

MOVINGSUM関数

パーティション化の制限 45

NNetezza接続

プッシュダウンの 適化、ルールおよびガイドライン

70

OOracle

データベースパーティション化。 51

データベースパーティション化 46

Oracle外部ローダー

外部ローダーのサポート 272, 282

拒否ファイル 282

区切りフラットファイルターゲット 283

固定幅フラットファイルターゲット 283

属性 284

データ精度 283

パーティション化されたターゲットファイル 284

マルチバイトデータ 283

PPM_TGT_RUN_ID

形式 164

手動での作成 166

説明 164

PMError_MSGテーブル

スキーマ 153

PMError_ROWDATAテーブル

スキーマ 151

PMError_Sessionテーブル

スキーマ 155

PM_RECOVERYテーブル

形式 164

手動での作成 166

説明 164

デッドロックリトライ 164

PM_REC_STATEテーブル

手動での作成 166

説明 164

リアルタイムセッション 122

PowerExchange Client for PowerCenter

リアルタイムデータ 113

Rreader

Teradata FastExportに対しての選択 269

索引 359

Page 379: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

Reader時間制限

構成 116

SSDKソース

リカバリ 177

SetID

PeopleSoft、パラメータおよび変数のタイプ 240

SFTP

キーファイルの場所 307

グリッド上でのセッションの実行 307

セッションの作成 307

説明 304

$Source接続値

パラメータおよび変数のタイプ 240

SQL

パーティション化されたパイプラインでのクエリ 20

プッシュダウンの 適化に対する生成 64, 65

SQLオーバーライド

プッシュダウンの 適化 84

SQLクエリ

パラメータおよび変数のタイプ 240

Sybase IQ

パーティション化の制限 29

Sybase IQ外部ローダー

概要 285

区切りフラットファイルターゲット 286

固定幅フラットファイルターゲット 286

サポート 272

属性 286

データ精度 286

マルチバイトデータ 285

T$Target接続値

パラメータおよび変数のタイプ 240

TDPID

説明 266

Tenacity

FastExport属性 266

Teradata FastExport

fexpコマンド 266

readerの選択 269

TDPID属性 266

一時ファイル、変数のタイプ 240

使用するための手順 265

ステージングデータ 269

制御ファイルのオーバーライド 269

セッション属性の説明 269

接続属性 266

接続の作成 266

説明 265

ソース接続の変更 269

マルチバイト文字の読み取り 266

ルールおよびガイドライン 271

Teradata外部ローダー

FastLoadの属性 297

MultiLoadの属性 291

TPumpの属性 294

コードページ 288

サポート 272

制御ファイルコンテンツのオーバーライド、パラメータ

および変数のタイプ 240

制御ファイルのオーバーライド 289

日付形式 288

TIB/リポジトリ

TIB/Adapter SDKリポジトリURL、変数のタイプ 240

UUNIXシステム

外部ローダーの動作 274

WWeb Services Hub

コンカレントワークフローの実行 193

Webサービスメッセージ

リアルタイムデータ 113

Windowsシステム

外部ローダーの動作 274

Workflow Advancedの開始

コンカレントワークフローの開始 196

Workflow Manager

グリッド上でのセッションの実行 202

グリッド上でのワークフローの実行 202

Workflow Monitor

コンカレントワークフローの表示 198

WriterWaitTimeOut

ターゲットベースのコミット 133

XXMLジェネレータトランスフォーメーション

パーティション化の制限 44

XMLターゲット

キャッシュ 334

キャッシュの設定 334

ターゲットベースのコミット 133

パーティション化の制限 45

XMLターゲットキャッシュ

説明 334

変数のタイプ 240

あアイドル時間

構成 116

アイドル状態のデータベース

説明 66

アクティブソース

コミットの生成 134

ソースベースのコミット 133, 134

アグリゲータトランスフォーメーション

キャッシュ 323

キャッシュの計算の入力 324

キャッシュの設定 324

キャッシュのパーティション化 322, 323

コンカレントワークフローへの追加 200

ソート済みポート 324

360 索引

Page 380: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

パーティションポイントの使用 17

プッシュダウンの 適化 98

アグリゲータキャッシュ

概要 323

説明 323

アップデートストラテジトランスフォーメーション

プッシュダウンの 適化 110

アプリケーション接続

パラメータタイプ[ぱらめたたいぷ] 240

セッションパラメータ 227

パスワード、パラメータのタイプ 240

ユーザー名、パラメータのタイプ 240

い一時ファイル

Teradata FastExport属性 269

イベント待ちタスク

トリガファイル名、変数のタイプ 240

インスタンス

ワークフローインスタンスの説明 191

インデックス

検索 340

ディレクトリの作成 342

インデックスキャッシュ

差分集計 340

インデックスキャッシュ。

命名規則 315

え永続変数

定義 220

ワークレット 223

エクスターナルプロシージャトランスフォーメーション

初期化プロパティ、変数のタイプ 240

パーティション化のガイドライン 45

エラー

しきい値 186

重大 187

エラーしきい値

エラー時の停止 186

パイプラインのパーティション化 186

変数のタイプ 240

エラー処理

PMError_MSGテーブルスキーマ 153

PMError_ROWDATAテーブルスキーマ 151

PMError_Sessionテーブルスキーマ 155

エラーログファイル 157

オプション 160

概要 187

トランザクション制御 139

プッシュダウンの 適化 81

エラーメッセージ

外部ローダー 273

エラーログ

オプション 160

概要 149

セッションエラー 187

エラーログテーブル

概要 150

作成 150

エラーログファイル

概要 157

ディレクトリ、パラメータおよび変数のタイプ 240

テーブル名プレフィックス長の制限 261

名前、パラメータおよび変数のタイプ 240

演算子

データベース内で使用可能 74

プッシュダウンの 適化 74

エンドポイントURL

Webサービス、パラメータおよび変数のタイプ 240

パラメータおよび変数のタイプ 240

おオーバーライド

Teradataローダー制御ファイル 289

オープントランザクション

定義 142

か外部ローダー

DB2 275

Integration Serviceのサポート 272

Oracle 282

Sybase IQ 285

Teradata 288

Windowsシステム上 274

Workflow Managerの設定 299

エラーメッセージ 273

概要 272

コードページ 272

サブ秒の処理 273

動作 273

パーティション化されたパイプラインでの使用 30

マルチバイトデータのロード 283, 285, 286

リソースとしての設定 272

外部ローダー接続

パラメータタイプ[ぱらめたたいぷ] 240

セッションパラメータ 227

パスワード、パラメータのタイプ 240

ユーザー名、パラメータのタイプ 240

カスタムトランスフォーメーション

スレッド 34

パイプラインのパーティション化 33

パーティション化のガイドライン 45

環境SQL

パラメータおよび変数のタイプ 240

関数

セッションログインタフェース 345

データベース内で使用可能 75

プッシュダウンの 適化 75

完全なプッシュダウンの 適化

説明 65

きキー範囲パーティション化

キー範囲の追加 58

説明 4, 46

追加 57

索引 361

Page 381: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

パーティションキーの追加 58

パーティションビュー 11

パフォーマンス 58

プッシュダウンの 適化 92

キャッシュ

XMLターゲット 334

XMLターゲットの設定 334

アグリゲータトランスフォーメーション 323

アグリゲータトランスフォーメーションの設定 324

アグリゲータトランスフォーメーションのソート済み入

力用 324

永続ルックアップ 329

オーバーライド 318

概要 312

キャッシュの計算 319, 321

グリッド上のインデックスキャッシュ 205

グリッド上のデータキャッシュ 205

構成 321

大メモリ量の設定 354

適化 335

再利用可能なセッション 318

再利用不可能なセッション 318

自動メモリ 319

ジョイナトランスフォーメーション 325

ジョイナトランスフォーメーションの設定 327, 334

数値 320

セッションキャッシュファイル 312

設定方法 318

ソータトランスフォーメーション 333

トランスフォーメーション 312

パーティション化 8

メモリ 313

ランクトランスフォーメーション 331

ランクトランスフォーメーションの設定 332

リアルタイムセッションによるリセット 143

ルックアップトランスフォーメーション 329

ルックアップトランスフォーメーションの設定 331

キャッシュサイズ

構成 318

適化 335

セッションメモリ要件、設定 353

キャッシュディレクトリ

共有 317

適、選択 317

変数のタイプ 240

キャッシュの計算

アグリゲータトランスフォーメーションの入力 324

ジョイナトランスフォーメーションの入力 327

使用 321

説明 319

ソータトランスフォーメーションの入力 334

ランクトランスフォーメーションの入力 332

ルックアップトランスフォーメーションの入力 331

キャッシュのパーティション化

アグリゲータトランスフォーメーション 322, 323

キャッシュサイズの設定 322

差分集計 323

ジョイナトランスフォーメーション 322, 327

説明 8

ソータトランスフォーメーション 322, 333

トランスフォーメーション 322

パフォーマンス 8

ランクトランスフォーメーション 322, 331

ルックアップトランスフォーメーション 41, 322, 329

キャッシュファイル

場所 340

命名規則 315

キュー接続

パラメータタイプ[ぱらめたたいぷ] 240

セッションパラメータ 227

強制終了

Integration Serviceの処理 185

セッション 189

タスク 189

ワークフロー 188

共有体トランスフォーメーション

プッシュダウンの 適化 110

共有ライブラリ

セッションログインタフェースの実装 344

拒否ファイル

Oracle外部ローダー 282

セッションパラメータ 227

トランザクション制御 139

パラメータおよび変数のタイプ 240

拒否ファイルディレクトリ

ターゲットファイルプロパティ 31

パラメータおよび変数のタイプ 240

拒否ファイル名

説明 31

くグリッド

Integration Serviceの動作 205

Integration Serviceのプロパティ設定 206

概要 202

キャッシュ要件 205

大メモリ量の指定 354

セッションの実行 203

セッションの分散 203, 205

セッションのリカバリ 205

セッションプロパティの設定 206

パイプラインのパーティション化 204

要件 207

リソースの設定 206

ワークフローの分散 203, 205

ワークフローのリカバリ 205

ワークフロープロパティの設定 206

グリッド上のセッション

シーケンスジェネレータトランスフォーメーションのパ

ーティション化 43

説明 203

グリッドのノード数

動的パーティション化での設定 6

け継続サブスクリプション名

JMS用の変数のタイプ 240

検証

セッションリカバリ 176

362 索引

Page 382: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

こ更新

差分 341

高精度

Bigintデータタイプ 356

Decimalデータタイプ 356

処理 356

コードページ

外部ローダーファイル 272

コマンド

パーティション化されたソース 22

パーティション化されたターゲット 32

コマンドタスク

変数のタイプ 240

リソースの割り当て 210

コマンドのタイプ

ファイルソースのパーティション化 24

コマンドプロパティ

パーティション化されたターゲットの設定 31

ファイルソースのパーティション化 24

コミット間隔

構成 147

説明 132

ソースベースおよびターゲットベース 132

コミットソース

ソースベースのコミット 134

コミットタイプ

構成 118

リアルタイムセッション 118

コールドスタート

リアルタイムセッション 125

コンカレントワークフロー

pmcmdを使用したワークフローインスタンスの作成 197

Webサービスワークフローの実行 193

[Workflow Advancedの開始]オプション 196

Workflow Monitorでの表示 198

一意のインスタンスの設定 192

インスタンス名の追加 195

開始および停止 196

異なるセッションパラメータファイルの使用 258

コマンドラインからの開始 197

コマンドラインからの停止 198

スケジューリング 200

設定手順 195

説明 191

同一名による実行の設定 193

トランスフォーメーション制限 200

パラメータの使用 194

ルールおよびガイドライン 200

ログの表示 199

[ワークフローの開始]オプション 197

コンカレントワークレット

説明 200

さ再開リカバリ戦略

再現可能なデータの使用 176

リカバリターゲットテーブルの使用 164

再現可能なデータ

ソース 176

トランスフォーメーション 177

ワークフローのリカバリ 176

後のチェックポイントから再開

リカバリ戦略 172, 174

再初期化

集計キャッシュ 339

大セッション数

FastExport属性 266

大メモリ量

キャッシュでの設定 354

グリッド上のセッション 354

再利用可能なセッション

キャッシュ 318

再利用不可能なセッション

キャッシュ 318

作成

FTPセッション 307

インデックスディレクトリ 342

エラーログテーブル 150

データファイルディレクトリ 342

パーティション化されたソースのファイルリスト 23

ワークフロー変数 221

サスペンド時のメール

変数のタイプ 240

サスペンド状態

ステータス 168

サスペンド中

ステータス 168

電子メール 169

動作 168

ワークフロー 168

サービスプロセス変数

パラメータファイル 239

サービス変数

パラメータファイル 239

サービスレベル

タスクへの割り当て 210

サブ秒

外部データのロード 273

差分集計

Integration Serviceのデータ移動モード 339

概要 337

キャッシュの再初期化 339

キャッシュのパーティション化 323

処理 338

セッションの設定 342

セッションのソート順の変更 339

データのパーティション化 340

ファイルの移動 339

ファイルの削除 339

有効化の準備 341

差分変更

キャプチャ 341

差分リカバリ

説明 174

しシェルコマンド

パラメータおよび変数のタイプ 240

パラメータおよび変数のタイプ 240

プッシュダウンの 適化 74

索引 363

Page 383: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

式トランスフォーメーション

プッシュダウンの 適化 99

シーケンシャル統合

ファイルターゲット 32

シーケンスジェネレータトランスフォーメーション

コンカレントワークフローへの追加 200

パーティション化 43

パーティション化のガイドライン 18, 45

プッシュダウンの 適化 104

実行可能名

FastExport属性 266

実行後のシェルコマンド

パラメータおよび変数のタイプ 240

実行時位置

変数のタイプ 240

実行時のパーティション化

セッションプロパティでの設定 6

自動タスクリカバリ

構成 174

自動メモリ設定

構成 352

集計キャッシュ

再初期化 339

集計ファイル

移動 339

再初期化 339

削除 339

終了条件

構成 116

出力が確定的(プロパティ)

概要 177

出力が再現可能(プロパティ)

概要 177

出力タイププロパティ

ファイルターゲットのパーティション化 31

出力ファイルディレクトリプロパティ

FTPターゲット 309

ターゲットファイルのパーティション化 31

パラメータおよび変数のタイプ 240

出力ファイル名プロパティ

FTPターゲット 309

ターゲットファイルのパーティション化 31

パラメータおよび変数のタイプ 240

ジョイナキャッシュ

説明 325

ジョイナトランスフォーメーション

キャッシュ 325

キャッシュの計算の入力 327

キャッシュの設定 327, 334

キャッシュのパーティション化 322, 327

ソート済みフラットファイルの結合 37

ソート済みリレーショナルデータの結合 39

パーティション化 325

パーティション化のガイドライン 45

プッシュダウンの 適化 100

小数秒の精度

Teradata FastExport属性 269

すスクリプトファイル

パラメータおよび変数のタイプ 240

ステージング済み

FastExportセッション属性 269

ステージングファイル

SAPファイル名およびディレクトリ、変数のタイプ 240

ステータス

サスペンド状態 168

サスペンド中 168

ストアドプロシージャトランスフォーメーション

接続情報、パラメータおよび変数のタイプ 240

呼び出しテキスト、パラメータおよび変数のタイプ 240

スリープ

FastExport属性 266

スループットの 適化

セッションのプロパティ 27

スレッド

HTTPトランスフォーメーション 34

Javaトランスフォーメーション 34

カスタムトランスフォーメーション 34

パーティション 3

せ制御タスク

ワークフローの停止または強制終了 188

制御値設定

PeopleSoft、パラメータおよび変数のタイプ 240

制御ファイルのオーバーライド

Teradata FastExport文の設定 269

Teradata FastExportをオーバーライドするための手順

269

Teradataのロード 289

説明 269

生成

ソースベースのコミットによるコミット 134

セッション

FTPの使用 307

SFTPの使用 307

外部データのロード 272, 299

完全なプッシュダウンの 適化 65

強制終了 185, 189

グリッド上での実行 203

グリッド上での分散 203, 205

グリッド上でのリカバリ 205

結合処理のパフォーマンスを 適化するための設定 36

失敗 11, 186

情報の受け渡し 235

情報の受け渡し、例 236

セッション実行前および実行後の変数の割り当て 235

操作の状態 164

ソース側でのプッシュダウンの 適化 64

ターゲット側でのプッシュダウンの 適化 65

停止 185, 189

パラメータ 227

プッシュダウンの 適化 64

プッシュダウンの 適化のための設定 89

リソースの割り当て 210

セッションエラー

処理 187

セッション実行後の電子メール

パラメータおよび変数のタイプ 240

セッション実行後の変数割り当て

失敗時に実行 235

成功時に実行 235

364 索引

Page 384: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

セッション実行前および実行後のSQL

コマンド、パラメータおよび変数のタイプ 240

セッション実行前の変数割り当て

実行 235

セッションのプロパティ

FastExportソース 269

ソート順 339

ターゲットベースのコミット 147

セッションパラメータ

FTP接続パラメータ 227

アプリケーション接続パラメータ 227

外部ローダー接続パラメータ 227

概要 227

キュー接続パラメータ 227

拒否ファイルパラメータ 227

組み込み 227

セッション間での値の受け渡し 235

セッションログパラメータ 227

ソースファイルパラメータ 227

ターゲットファイルパラメータ 227

データベース接続パラメータ 227

パーティションの数 227

パラメータファイル 239

ファイル名、変数のタイプ 240, 258

命名規則 227

ユーザー定義 227

リソースとしての設定 234

セッションパラメータファイル名

変数のタイプ 240, 258

セッションリカバリデータのフラッシュ

メッセージリカバリ 121

セッションリカバリデータのフラッシュ(プロパティ)

Integration Service 121

セッションログ

外部ライブラリへの受け渡し 343

外部ローダーのエラーメッセージ 273

セッションパラメータ 227

ディレクトリ、変数のタイプ 240

ファイル名、パラメータのタイプ 240

ワークフローリカバリ 183

セッションログインタフェース

INFA_AbnormalSessionTermination 348

INFA_EndSessionLog 348

INFA_InitSessionLog 345

INFA_OutputSessionLogFatalMsg 347

INFA_OutputSessionLogMsg 346

Integration Serviceの呼び出し 344

ガイドライン 344

関数 345

実装 343

説明 343

セッションログカウント数

変数のタイプ 240

接続

Teradata FastExport接続の変更 269

Teradata FastExport文の作成 266

パラメータファイルのテンプレート 252

接続環境SQL

パラメータおよび変数のタイプ 240

接続されていないトランスフォーメーション

パーティション化の制限 18

絶対入力行の順序の維持

セッションのプロパティ 27

そ操作の状態

セッションリカバリ 164

チェックポイント 164, 174

ワークフローリカバリ 163

相対入力行の順序の維持

セッションのプロパティ 27

ソース修飾子トランスフォーメーション

パーティションポイントの使用 17

プッシュダウンの 適化 107

プッシュダウンの 適化、SQLオーバーライド 84

ソータキャッシュ

説明 333

命名規則 315

属性

パーティションレベル 8

ソース

コマンド 22

セッションのプロパティ 24

同時読み込み 24

入力行のソート順の維持 27

パーティション化 22

ソース側でのプッシュダウンの 適化

説明 64

ソースデータ

集計のための変更のキャプチャ 337

ソースデータベース

データベース接続セッションパラメータ 227

ソーステーブル

パラメータおよび変数のタイプ 240

ソースの場所

セッションのプロパティ 24

ソースパイプライン

説明 1, 16, 46

ソースファイル

FTP経由でのアクセス 304, 307

セッションのプロパティ 24

セッションパラメータ 227

パラメータの使用 227

ソースファイルタイプ

説明 24, 309

ソースファイルのディレクトリ

説明 309

ソースファイル名

説明 24, 309

ソースベースのコミット

アクティブソース 134

構成 118

説明 133

リアルタイムセッション 118

ソータトランスフォーメーション

キャッシュ 333

キャッシュの計算の入力 334

キャッシュのパーティション化 322, 333

適化された結合処理のパフォーマンスのパーティショ

ン化 39

作業用ディレクトリ、変数のタイプ 240

パーティション化 43

プッシュダウンの 適化 106

ソート順

差分集計への影響 339

入力行について維持 27

索引 365

Page 385: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

ソート済みフラットファイル

適化された結合処理のパフォーマンスのパーティショ

ン化 37

ソート済みポート

キャッシュ要件 324

ソート済みリレーショナルデータ

適化された結合処理のパフォーマンスのパーティショ

ン化 39

存在する場合追加

フラットファイルターゲットのプロパティ 31

たターゲット

FTP経由でのアクセス 304, 307

出力ファイルの統合 30, 31

パーティションポイントの削除 17

パーティション化 28, 29

プッシュダウンの 適化 109

プッシュダウンの 適化の使用 92

タイマタスク

変数 240

タイマータスク

変数 213

ターゲット側でのプッシュダウンの 適化

説明 65

ターゲットコマンド

ターゲット 32

パーティションでの使用 32

ターゲット接続グループ

データのコミット 133

トランザクションコントロールトランスフォーメーショ

ン 146

ターゲットデータベース

データベース接続セッションパラメータ 227

ターゲットテーブル

パラメータおよび変数のタイプ 240

ターゲットの更新

パラメータおよび変数のタイプ 240

ターゲットファイル

追加[ついか] 31

セッションパラメータ 227

ターゲットファイルの統合

FTP 30

FTPファイルターゲット 310

コマンド 32

シーケンシャル統合 32

セッションのプロパティ 31

同時統合 32

ファイルリスト 32

ローカル接続 30, 31

ターゲットベースのコミット

WriterWaitTimeOut 133

構成 118

リアルタイムセッション 118

ターゲットベースのコミット間隔

説明 133

ターゲットリカバリテーブル

手動による作成 166

説明 164

タスク

強制終了 189

自動リカバリ 174

停止 189

リカバリ戦略 172

リソースの割り当て 210

ロードバランサの設定 209

タスクリカバリ戦略の失敗

説明 172, 174

タスクリカバリ戦略のリスタート

説明 172, 174

ちチェックポイント

セッションリカバリ 174

操作のセッション状態 164, 174

致命的なエラー

セッションの失敗 187

抽出日

PeopleSoft、パラメータおよび変数のタイプ 240

つツリー

PeopleSoft、パラメータおよび変数のタイプ 240

て停止

Integration Serviceの処理 185

エラーしきい値 186

セッション 189

タスク 189

ワークフロー 188

ディシジョンタスク

変数 213

変数のタイプ 240

ディレクトリ

共有キャッシュ 317

履歴集計データ用 342

データベースパーティション化。

パフォーマンス 51

データベースビュー

孤立したビューの削除 85

トラブルシューティング 85

プッシュダウンの 適化 85

プッシュダウンの 適化による作成 84

リカバリ中の削除 85

データ

ソースの差分変更のキャプチャ 337, 341

データ暗号化

FastExport属性 266

データ移動モード

差分集計への影響 339

データキャッシュ

差分集計 340

命名規則 315

データのコミット

ターゲット接続グループ 133

トランザクション制御 138

データのロールバック

トランザクション制御 138

366 索引

Page 386: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

データファイル

検索 340

ディレクトリの作成 342

データプロファイリングドメイン

ドメイン値、変数のタイプ 240

データベースシーケンス

孤立シーケンスの削除 85

トラブルシューティング 85

プッシュダウンの 適化 85

リカバリ中の削除 85

データベース接続

パラメータタイプ[ぱらめたたいぷ] 240

セッションパラメータ 227

パスワード、パラメータのタイプ 240

パラメータ 232

プッシュダウン互換性 70

ユーザー名、パラメータのタイプ 240

データベースパーティション化

1つのソース 52

Integration Serviceに関するルールおよびガイドライ

ン 53

Integration Serviceの処理 53

説明 4, 46

ソースに関するルールおよびガイドライン 54

ターゲット 54

ターゲットに関するルールおよびガイドライン 55

パフォーマンス 54

複数のソース 52

テーブルオーナー名

パラメータおよび変数のタイプ 240

テーブル名

アイドル状態のデータベースの構文 72

プッシュダウン互換性の修飾 72

テーブル名のプレフィックス

ターゲット、パラメータおよび変数のタイプ 240

リレーショナルエラーログ、長さ制限 261

リレーショナルエラーログ、パラメータおよび変数のタ

イプ 240

電子メール

サスペンド時、変数のタイプ 240

セッション実行後、パラメータおよび変数のタイプ 240

電子メールタスク

サスペンド時のメール 169

変数のタイプ 240

と統合コマンド

説明 31

パラメータおよび変数のタイプ 240

統合タイプ

説明 31

統合ファイルディレクトリ

説明 31

パラメータおよび変数のタイプ 240

統合ファイル名

説明 31

パラメータおよび変数のタイプ 240

動作可能なデータベース

説明 66

同時接続

パーティション化されたパイプライン 29

同時統合

ファイルターゲット 32

同時読み込みのパーティション化

セッションのプロパティ 24

動的パーティション

CPUの数を基準 6

グリッドのノード数を基準 6

説明 5

ソースパーティションの使用 6

パーティションタイプでの使用 8

パーティションの数、パラメータのタイプ 240

パーティションの数を基準 6

パフォーマンス 5

無効 6

ルールおよびガイドライン 7

トランザクション

定義 142

トランザクション環境SQL

パラメータおよび変数のタイプ 240

トランザクション境界

削除 142

トランザクション制御 142

トランザクションコントロールトランスフォーメーショ

ターゲット接続グループ 146

パーティション化のガイドライン 48

トランザクションジェネレータ

トランザクション制御ポイント 142

トランザクション制御

Integration Serviceの処理 138

オープントランザクション 142

概要 142

拒否ファイル 139

トランスフォーメーションエラー 139

トランスフォーメーション範囲 143

バルクロード 138

ファイルの末尾 139

ポイント 142

ユーザー定義コミット 138

リアルタイムセッション 142

ルールおよびガイドライン 146

トランザクション制御単位

説明 146

トランスフォーメーション

キャッシュ 312

再現可能なデータの生成 177

差分アグリゲータによるセッションのリカバリ 164

パーティション化の制限 45

プッシュダウンの 適化の設定 96

リアルタイムセッション 127

トランスフォーメーションの式

パラメータおよび変数のタイプ 240

トランスフォーメーション範囲

説明 143

トランスフォーメーション 143

リアルタイム処理 143

に入力タイプ

ファイルソースのパーティション化のプロパティ 24

索引 367

Page 387: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

のノーマライザトランスフォーメーション

パーティションポイントの使用 17

はパイプライン

説明 1, 16, 46

パイプラインステージ

説明 1

パイプラインのパーティション化

FTPファイルターゲット 310

HTTPトランスフォーメーション 33

Informixへのロード 29

Javaトランスフォーメーション 33

SQLクエリ 20

エラーしきい値 186

オブジェクトの検証 11

ガイドライン 22

外部ローダー 30, 274

カスタムトランスフォーメーション 33

間接ファイルのパーティション化 23

キー範囲 57

キー範囲の追加 58

キャッシュ 8

グリッド上 204

結合処理のパフォーマンスを 適化するための設定 36

シーケンスジェネレータトランスフォーメーション 43

ジョイナトランスフォーメーション 36

使用例 47

数値関数の制限 45

スレッドとパーティション 3

セッションの設定 11

説明 1, 16, 46

ソータトランスフォーメーション 39, 43

ソート済みデータの設定 36

ソート済みフラットファイル 37

ソート済みリレーショナルデータ 39

ターゲットファイルの統合 30, 31

データベースの互換性 29

同時接続 29

動的パーティション 5

トランザクションコントロールトランスフォーメーショ

ン 48

パイプラインステージ 1

パススルーパーティションタイプタイプ 60

ハッシュキーの追加 56

ハッシュ自動キーのパーティション化 55

ハッシュユーザーキーのパーティション化 56

パーティションキー 56, 58

パーティションポイントの編集 11

パフォーマンス 56, 61

パフォーマンス 58

ファイルソース 22

ファイルターゲット 29

ファイルリスト 23

フィルタ条件 21

複数グループトランスフォーメーション 4

プッシュダウンの 適化の設定 90

マッピング変数 9

メッセージキュー 30

有効なパーティションタイプ 48

ラウンドロビンパーティション化 61

リカバリ 186

リレーショナルターゲット 28

ルール 10

パイプラインルックアップ

ソーステーブルのパーティション化 42

パススルーパーティションタイプ

概要 46

処理 60

説明 4

パフォーマンス 60

プッシュダウンの 適化 92

ハッシュ自動キーのパーティション化

概要 55

説明 4

ハッシュパーティション化

説明 46

ハッシュキーの追加 56

ハッシュユーザーキー

説明 4

ハッシュユーザーキーのパーティション化

概要 56

パフォーマンス 56

バッファブロックサイズ

構成 351

バッファメモリ

構成 351

バッファブロック 351

割り当て 351

パーティション

XMLジェネレータ 44

計算 5

削除 13

セッションのプロパティ 31

説明 3

説明の入力 13

ターゲットデータの統合 32

追加 13

プッシュダウンの 適化のための統合 92

パーティション化

差分集計 340

ジョイナトランスフォーメーション 325

パイプラインルックアップソーステーブル 42

パフォーマンス 61

複数のターゲットでのFTPの使用 306

パーティションカウント

セッションパラメータ 227

パーティション化の制限

Informix 29

Sybase IQ 29

XMLジェネレータ 44

XMLターゲット 45

数値関数 45

接続されていないトランスフォーメーション 18

トランスフォーメーション 45

パーティションの数 10

リレーショナルターゲット 29

パーティションキー

NULL値を含む行 58

キー範囲の追加 58

追加 56, 58

ルールおよびガイドライン 59

368 索引

Page 388: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

パーティショングループ

ステージ 204

説明 204

パーティションタイプ

概要 4

キー範囲 57

設定 48

説明 46

デフォルト 48

パススルー 60

パーティションポイントでの使用 48

パフォーマンス 47

変更 13

ラウンドロビン 61

パーティションの数

概要 3

セッションパラメータ 227

動的パーティションでの設定 6

パフォーマンス 3

パーティションの数を基準

設定 6

パーティションポイント

HTTPトランスフォーメーション 33, 34

Javaトランスフォーメーション 33, 34

概要 2

カスタムトランスフォーメーション 33, 34

ジョイナトランスフォーメーション 36

追加および削除 16

追加、手順 12

編集 11

ルックアップトランスフォーメーション 41

パーティション名

設定 13

パーティションレベルの属性

説明 8

パフォーマンス

キャッシュ設定 318

コミット間隔 133

パラメータ

セッション 227

タイプの概要 239

データベース接続 232

パラメータファイルでの定義 240

パラメータを受け入れる入力フィールド 240

パラメータファイル

NULL値、入力 256

pmcmdでの使用 259

概要 238

構造体 253

コメント、追加 255

コンカレントワークフローインスタンスの設定 194

作成ガイドライン 253, 261

作成のヒント 263

サンプルのパラメータファイル 256

使用するファイルを指定 238

使用例 260

セクション 254

セッションでの使用 257

セッションパラメータファイル名、変数のタイプ 240,

258

接続属性のオーバーライド 252

説明 238

テンプレートファイル 252

トラブルシューティング 262

名前、設定 257

日時形式 261

場所、設定 257

パラメータおよび変数のタイプ 239

パラメータおよび変数の範囲 253

パラメータおよび変数を受け入れる入力フィールド 240

プロパティの定義 240

変数を使用した指定 258

見出し 254

優先 259

ワークフローでの使用 257

バルクロード

ユーザー定義コミットの使用 138

ひ非永続変数

定義 220

ふファイルソース

コードページ、パラメータおよび変数のタイプ 240

ディレクトリ、パラメータおよび変数のタイプ 240

名前、パラメータおよび変数のタイプ 240

入力ファイルコマンド、パラメータおよび変数のタイプ

240

パーティション化 22

ファイルターゲット

コードページ、パラメータおよび変数のタイプ 240

パーティション化 29

ファイルの末尾

トランザクション制御 139

ファイルリスト

ターゲットファイルの統合 32

パーティション化されたソースの作成 23

フィルタ条件

WebSphere MQ、パラメータおよび変数のタイプ 240

追加 59

パーティション化されたパイプライン 21

パラメータおよび変数のタイプ 240

フィルタトランスフォーメーション

プッシュダウンの 適化 99

複数グループトランスフォーメーション

パーティション化 4

プッシュダウングループ

説明 93

表示 93

プッシュダウンの 適化ビューア、使用 93

プッシュダウン互換性

互換性がないデータベースユーザー 71

説明 70

要件 70

プッシュダウンの 適化

$$PushdownConfigパラメータ[ぷっしゅだうんのさ

いてきか

pushdown config] 87

ODBCドライバ 67

パラメータタイプ[ぱらめたたいぷ] 240

SQLとANSI SQL 67

アグリゲータトランスフォーメーション 98

アップデートストラテジトランスフォーメーション 110

索引 369

Page 389: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

一時シーケンス 83

エラー処理 81

演算子 74

概要 63

関数 75

完全なプッシュダウンの 適化 65

キー範囲パーティション化、使用 92

共有体トランスフォーメーション 110

式 74

式トランスフォーメーション 99

シーケンスジェネレータトランスフォーメーション 104

ジョイナトランスフォーメーション 100

生成されるSQL 64, 65

セッション 64

セッションの設定 89

ソース修飾子トランスフォーメーション 107

ソース側での 適化 64

ソースデータベースのパーティション化 54

ソータトランスフォーメーション 106

ターゲット 109

ターゲット側での 適化 65

ターゲットにロード 92

データベースビューの作成 84

データベースシーケンス 85

データベースビュー 85

トランスフォーメーション 96

ネイティブデータベースドライバ 67

パススルーパーティションタイプ 92

パーティション化の設定 90

パーティションの統合 92

パフォーマンスの問題 65

フィルタトランスフォーメーション 99

マッピングへのトランスフォーメーションの追加 93

マッピング変数 75

リカバリ 81

ルータートランスフォーメーション 104

ルールおよびガイドライン 93

ロギング 81

一時ビュー 84

プッシュダウンの 適化ビューア

プッシュダウングループの表示 93

フッタ

パラメータおよび変数のタイプ 240

ファイルターゲットでの作成 31

フッタのコマンド

フラットファイルターゲット 31

フラッシュ待ち時間

構成 117

説明 117

フラットファイル

出力ファイルセッションパラメータ 227

ソースファイルセッションパラメータ 227

入力行の順序の維持 27

フッタのコマンドプロパティ 31

ヘッダのオプションプロパティ 31

ヘッダのコマンドプロパティ 31

フラットファイル

リカバリの設定 177

フラットファイルのロギンク

エラーログタイプ、設定 160

エラーログファイルディレクトリ、設定 160

エラーログファイル名、設定 160

フルリカバリ

説明 174

ブロックサイズ

FastExport属性 266

へ並列実行の設定

ワークフローインスタンスの設定 195

ベースURL

パラメータおよび変数のタイプ 240

ヘッダ

パラメータおよび変数のタイプ 240

ファイルターゲットでの作成 31

ヘッダのオプション

フラットファイルターゲット 31

ヘッダのコマンド

フラットファイルターゲット 31

変更されたソースデータ

リアルタイムデータ 113

変数

$PMWorkflowRunId 195

$PMWorkflowRunInstanceName 195

タイプの概要 239

パラメータファイルでの定義 240

変数を受け入れる入力フィールド 240

ワークフロー 213

変数値

パーティション全体での計算 9

ま待ち時間

説明 112

マッピング

パーティションからのセッションの失敗 11

マッピングパラメータ

$$PushdownConfig

pushdown config] 87

オーバーライド 234

セッション間での値の受け渡し 235

セッションプロパティ内 234

パラメータファイル 239

マッピング変数

セッション間での値の受け渡し 235

データベース内で使用可能 75

パーティション化されたパイプライン 9

パラメータファイル 239

プッシュダウンの 適化 75

マルチバイトデータ

Oracle外部ローダー 283

Sybase IQ外部ローダー 285

Teradata FastExport 266

め命名規則

セッションパラメータ 227

メッセージ

リアルタイムデータの処理 113

メッセージカウント

構成 116

370 索引

Page 390: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

メッセージキュー

パーティション化されたパイプラインでの使用 30

リアルタイムデータの処理 113

メッセージとメッセージキュー

リアルタイムデータ 113

メッセージの処理

リアルタイムセッション 120, 122, 123

リカバリキュー 123

リカバリテーブル 122

リカバリトピック 123

リカバリファイル 120

ルールおよびガイドライン 127

メッセージリカバリ

セッションリカバリデータのフラッシュ 121

説明 118

前提条件 119

有効化 120

リアルタイムセッション 118, 121–123

リカバリキュー 118, 123

リカバリテーブル 118, 122

リカバリトピック 118, 123

リカバリファイル 118, 121

ルールおよびガイドライン 127

メモリ

キャッシュ 313

自動設定の設定 352

複数のセッションに対する設定 352

メモリ設定

複数のセッションでの設定 352

メモリ要件

DTMバッファサイズ 353

セッションキャッシュサイズ 353

ゆ有効日

PeopleSoft、パラメータおよび変数のタイプ 240

優先度

タスクへの割り当て 210

ユーザー定義結合

パラメータおよび変数のタイプ 240

ユーザー定義コミット

バルクロード 138

らラウンドロビンパーティション化

説明 4, 46, 61

ランクキャッシュ

説明 331

ランクトランスフォーメーション

キャッシュ 331

キャッシュの計算の入力 332

キャッシュの設定 332

キャッシュのパーティション化 322, 331

パーティションポイントの使用 17

りリアルタイム処理

サンプルマッピング 128

説明 112

リアルタイム製品

概要 130

リアルタイムセッション

PM_REC_STATEテーブル 122

Reader時間制限、設定 116

アイドル時間、設定 116

概要 112

強制終了 124

構成 115

コミットタイプ、設定 118

コールドスタート 125

再開 125

再起動 125

サポートされる製品 130

サンプルマッピング 128

終了条件、設定 116

説明 112

停止 124

トランスフォーメーション 127

トランスフォーメーション範囲 143

フラッシュ待ち時間、設定 117

メッセージカウント、設定 116

メッセージの処理 120, 122, 123

メッセージリカバリ 121–123

リカバリ 126

ルールおよびガイドライン 127

レジリエンス 127

リアルタイムデータ

Webサービスメッセージ 113

概要 113

サポートされる製品 130

変更されたソースデータ 113

メッセージとメッセージキュー 113

リアルタイムフラッシュ待ち時間

構成 117

リカバリ

PM_RECOVERYテーブル形式 164

PM_TGT_RUN_IDテーブル形式 164

SDKソース 177

インスタンス名によるリカバリ 192

概要 162

グリッド上のセッション 205

グリッド上のワークフロー 205

後のチェックポイントから再開 172, 174

差分 174

差分アグリゲータを含むセッション 164

実行IDによるワークフローのリカバリ 194

セッション内の再現可能なデータ 176

セッションの検証 176

戦略 172

操作のセッション状態 164

ターゲットリカバリテーブル 164

タスクからのワークフローのリカバリ 182

タスクのリカバリ 181

チェックポイントからのセッション 174

データベースシーケンスの削除 85

データベースビューの削除 85

パイプラインのパーティション化 186

プッシュダウンの 適化 81

フラットファイル 177

フルリカバリ 174

リアルタイムセッション 118

リカバリ不可能なセッションの完了 184

索引 371

Page 391: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

ルールおよびガイドライン 183

ワークフローの操作の状態 163

リカバリ可能なタスク

説明 171

リカバリキャッシュフォルダ

JMS用の変数のタイプ 240

TIBCO用の変数のタイプ 240

webMethods用の変数のタイプ 240

WebSphere MQ用の変数のタイプ 240

リカバリキュー

メッセージの処理 123

メッセージリカバリ 118, 123

リカバリ戦略

後のチェックポイントから再開 172, 174

タスクのリスタート 172, 174

タスクを失敗してワークフローを続行 172, 174

リカバリテーブル

スクリプトからの手動での作成 166

説明 164

メッセージの処理 122

メッセージリカバリ 118, 122

リカバリトピック

メッセージの処理 123

メッセージリカバリ 118, 123

リカバリファイル

メッセージの処理 120

メッセージリカバリ 118, 121

リソース

外部ローダーの割り当て 272

タスクへの割り当て 210

リレーショナルターゲット

パーティション化 28

パーティション化の制限 29

リレーショナルデータベースのロギング

エラーログタイプ、設定 160

リンク

変数 213

変数のタイプ 240

るルータートランスフォーメーション

プッシュダウンの 適化 104

ルックアップ

永続キャッシュ 329

ルックアップSQLオーバーライドオプション

パラメータおよび変数のタイプ 240

ルックアップキャッシュ

説明 329

ファイル名のプレフィックス、パラメータおよび変数の

タイプ 240

ルックアップソースファイル

パラメータの使用 227

ルックアップデータベース

データベース接続セッションパラメータ 227

ルックアップトランスフォーメーション

キャッシュ 329

キャッシュの計算の入力 331

キャッシュの設定 331

キャッシュのパーティション化 41, 322, 329

コンカレントワークフローへの追加 200

接続情報、パラメータおよび変数のタイプ 240

ソースファイル、パラメータおよび変数のタイプ 240

プッシュダウンの 適化 101

ルックアップファイル

ルックアップファイルセッションパラメータ 227

れレジリエンス

リアルタイムセッション 127

ろロギング

プッシュダウンの 適化 81

ロードバランサ

タスクへの優先度の割り当て 210

タスクへのリソースの割り当て 210

ワークフローの設定 209

わワークフロー

pmcmdを使用したコンカレントワークフローの開始 197

一意のインスタンスの設定 192

インスタンス名の設定 195

強制終了 188

グリッド上での実行 203

グリッド上での分散 203, 205

グリッド上でのリカバリ 205

コンカレントインスタンス 191

コンカレントワークフローのスケジューリング 200

サスペンド中 168

サービスレベル 210

ステータス 168

操作の状態 163

タスクのディスパッチ 209

停止 188

同一名のコンカレントの設定 193

パラメータファイル 220

変数 213

ワークフローインスタンス

$PMWorkflowRunInstanceName変数の使用 195

Workflow Monitorでの表示 198

開始および停止 196

コマンドラインからの開始 197

説明 191

動的に作成 197

ワークフローインスタンスの追加 195

ワークフローの実行ID

説明 193

ワークフローログに表示 200

ワークフローのスケジューリング

コンカレントワークフロー 200

ワークフローのリカバリ

インスタンス名によるワークフローのリカバリ 192

実行IDによるインスタンスのリカバリ 194

ワークフロープロパティ

サービスレベル 210

ワークフロー変数

永続変数 220

キーワード 213

組み込み変数 214

372 索引

Page 392: Informatica PowerCenter - 9.5.1 - 詳細ワークフロー … Documentation...Informatica PowerCenter 詳細ワークフローガイド 参照項目 9.5.1 12月 2012 著作権 1998-2012

作成 221

式での使用 217

使用 213

初期値とカレント値 220

セッション間での値の受け渡し 235

定義済み 214

データー型 214, 221

デフォルト値 214, 220, 221

日時形式 221

パラメータファイル 239

非永続変数 220

命名規則 221

ユーザー定義 219

ワークレット間での値の受け渡し 224

ワークフローログ

ファイル名およびディレクトリ、変数のタイプ 240

ワークフローログカウント数、変数のタイプ 240

ワークフローログファイル

コンカレントワークフローの表示 199

ワークレット

永続変数 223

永続変数の例 223

コンカレントワークフローへの追加 200

情報の受け渡し 224

情報の受け渡し、例 224

[パラメータ]タブ 223

変数 223

変数値のオーバーライド 223

ワークレット実行前および実行後の変数の割り当て、手

順 225, 237

ワークレット実行前および実行後の変数割り当て 224

ワークレット実行後の変数割り当て

実行 224

ワークレット実行前の変数割り当て

実行 224

ワークレット変数

セッション間での値の受け渡し 235

パラメータファイル 239

ワークレット間での値の受け渡し 224

割り当てタスク

変数 213, 240

索引 373