サポートされるソース アプリケーション取り込みとレプリケーション がサポートするソースは、アプリケーション取り込みとレプリケーション タスクが、バッチ初期ロード操作でデータのポイントインタイムスナップショットを転送するか、特定の開始ポイントから増分変更データをロードするかによって異なります。
次の表に、アプリケーション取り込みとレプリケーション がサポートしているソースタイプと、各ソースタイプでサポートされているロード操作のタイプを示します。
ソースタイプ
サポートされているロード操作
Adobe Analytics
初期ロード、増分ロード、および初期ロードと増分ロードの組み合わせ
Google Analytics
初期ロード、増分ロード、および初期ロードと増分ロードの組み合わせ
Marketo
初期ロード、増分ロード、および初期ロードと増分ロードの組み合わせ
Microsoft Dynamics 365
初期ロード、増分ロード、および初期ロードと増分ロードの組み合わせ
NetSuite
初期ロード、増分ロード、および初期ロードと増分ロードの組み合わせ
Oracle Fusion Cloud Applications
REST: 初期ロード、増分ロード、および初期ロードと増分ロードの組み合わせ
BICC: 初期ロード、増分ロード、および初期ロードと増分ロードの組み合わせ
Salesforce
初期ロード、増分ロード、および初期ロードと増分ロードの組み合わせ
Salesforce Marketing Cloud
初期ロード
SAP ERP Central Component(SAP ECC)
初期ロード、増分ロード、および初期ロードと増分ロードの組み合わせ(接続タイプによって異なります。)
SAP ODP
SAP ECC: 初期ロード、増分ロード、および初期ロードと増分ロードの組み合わせ
SAP S4/HANA: 初期ロード、増分ロード、および初期ロードと増分ロードの組み合わせ
SAP Mass Ingestion
SAP ECC: Oracleデータベースの初期ロード、増分ロード、および初期ロードと増分ロードの組み合わせ。Snowflakeターゲットで動作確認済みです。
SAP S4/HANA: HANAデータベースの初期ロードと増分ロード。Snowflakeターゲットで動作確認済みです。
ServiceNow
初期ロード、増分ロード、および初期ロードと増分ロードの組み合わせ
Workday
初期ロード、増分ロード、および初期ロードと増分ロードの組み合わせ
Zendesk
初期ロード、増分ロード、および初期ロードと増分ロードの組み合わせ
ソースタイプに使用するコネクタを判断するには、「コネクタと接続」 > 「アプリケーション取り込みおよびレプリケーションコネクタ」を参照してください。
Google Analyticsソースのガイドライン Google Analyticsソースを使用する場合は、次のガイドラインを考慮してください。
• Google Analyticsソースの変更データをキャプチャするために増分ロードジョブを初めて実行するとき、ジョブは、関連付けられた取り込みタスクで指定されている日時以降に作成された変更レコードのみを取得してロードします。日付と時刻は、アプリケーション取り込みとレプリケーション タスクウィザードでソースを設定するときに指定できます。ただし、停止または強制終了されたジョブを再開すると、ジョブは最後に中断したところから変更データのプロパゲートを開始します。• アプリケーション取り込みとレプリケーション の取り込み初期ロードジョブでは、Google Analyticsレポートの説明が入力データになります。各レポートには、ターゲットにレプリケートされるディメンションとメトリックのリストが含まれています。ディメンションとメトリックを含め、535列あります。ただし、Google Analyticsで取得できるのは、1レポートにつき最大10個のメトリックと9個のディメンションです。複数のレポートを設定して、すべてのディメンションとメトリックを表示できます。• アプリケーション取り込みとレプリケーション タスクを設定する前に、レポートの説明ドキュメントを作成し、Secure Agentがアクセスできる場所に保存する必要があります。ファイルの読み取り権限が必要です。• Google Analyticsは、タイムスタンプで表される特定の間隔ではなく、日単位のデータのみを取得します。• アプリケーション取り込みとレプリケーション に関するレポートの説明ドキュメントを更新する際は、次のガイドラインを考慮してください。- レポート内で名前を変更する際は、フィールドの順序を変更しないでください。新しいフィールド名は上書きする必要があります。- レポートに新しいフィールドを追加する際は、レポートのフィールドのリストの最後にフィールドを追加します。- フィールドを削除するには、レポートのフィールドのリストから対応するフィールド名を削除します。Marketoソースのガイドライン Marketoソースを使用する場合は、次のガイドラインを考慮してください。
• Marketoソースの変更データをキャプチャするために増分ロードジョブを初めて実行するとき、ジョブは、関連付けられた取り込みタスクで指定されている日時以降に作成された変更レコードのみを取得してロードします。日付と時刻は、アプリケーション取り込みとレプリケーション タスクウィザードでソースを設定するときに指定できます。ただし、停止または強制終了されたジョブを再開すると、ジョブは最後に中断したところから変更データのプロパゲートを開始します。• Marketoソース用に設定された増分ロードジョブは、ソースオブジェクトに対して実行された挿入操作と更新操作のみをレプリケートできます。• アプリケーション取り込みとレプリケーション は、Marketoオブジェクト間で定義されているリレーションをレプリケートしません。ターゲットには、ソース上のオブジェクト間に存在するリレーションは含まれません。• デフォルトでは、Marketoインスタンスは1日あたりにダウンロード可能なデータが500 MBに制限されます。さらに、Bulk APIダウンロードは期間が31日間に制限されます。• 一部のMarketoオブジェクトでは、APIがそれらに保存されているデータを直接取得することを許可していません。APIがこのようなオブジェクトからデータを取得するには、入力パラメーターとして特定のフィルタが必要になります。APIが使用するフィルタは、他のMarketoオブジェクトのフィールドです。アプリケーション取り込みとレプリケーション は、他のオブジェクトに依存しているそのMarketoオブジェクトに保存されているデータをレプリケートしません。• アプリケーション取り込みとレプリケーション ジョブは、リードオブジェクトにリンクされていないカスタムオブジェクトに格納されているデータをプロパゲートしません。さらに、アプリケーション取り込みとレプリケーション ジョブは、表示名IDを持つカスタムオブジェクトフィールドに格納されているデータをプロパゲートしません。• デフォルトでは、アプリケーション取り込みとレプリケーション は、次のMarketoオブジェクトの変更データをキャプチャできます。- キャンペーン- 電子メールテンプレート- フォルダ- ランディングページ- ランディングページテンプレート- プログラム- セグメンテーション- スマートキャンペーン- スマートリスト- スニペット- 静的リスト注: キャンペーン、電子メールテンプレート、フォルダ、ランディングページ、ランディングページテンプレート、セグメンテーション、およびスニペットの各オブジェクトの変更データをキャプチャするには、marketo.include.additional.cdc.objectsカスタムプロパティをTRUEに設定する必要があります。カスタムプロパティはアプリケーション取り込みとレプリケーション タスクウィザードの[ソース] タブで設定できます。
Microsoft Dynamics 365ソースのガイドライン Microsoft Dynamics 365ソースを使用する場合は、次のガイドラインを考慮してください。
• Microsoft Dynamics 365ソースの変更データをキャプチャするために増分ロードジョブを初めて実行するとき、ジョブは、関連付けられた取り込みタスクで指定されている日時以降に作成された変更レコードのみを取得してロードします。日付と時刻は、アプリケーション取り込みとレプリケーション タスクウィザードでソースを設定するときに指定できます。ただし、停止または強制終了されたジョブを再開すると、ジョブは最後に中断したところから変更データのプロパゲートを開始します。• Microsoft Dynamics 365ソースの増分ロードジョブは、modifiedon フィールドのないオブジェクトの変更データをキャプチャしません。• Microsoft Dynamics 365ソースの増分ロードジョブ、および初期ロードと増分ロードの組み合わせジョブは、ソーススキーマに加えられた変更を検出およびレプリケートしません。• Microsoft Dynamics 365ソースの増分ロードジョブと、初期ロードと増分ロードの組み合わせジョブは、CDCサイクルのDELETEデータ操作をキャプチャしません。 • ソースオブジェクトにロケールIDとタイムゾーンコードの値が含まれている場合、アプリケーション取り込みとレプリケーション は、それらの値を実際の値に変換せずにターゲットにプロパゲートします。• アプリケーション取り込みとレプリケーション は、次のデータ型のフィールドをプロパゲートしません。- CUSTOMERTYPE- OWNERTYPE- PARTYLISTTYPE- VIRTUALTYPE- CALENDARRULESTYPE- UNKNOWNNetSuiteソースのガイドライン NetSuiteソースを使用する場合は、次のガイドラインを考慮してください。
Oracle Fusion Cloudソースのガイドライン Oracle Fusion Cloudソースを使用する場合は、次のガイドラインを考慮してください。
• アプリケーション取り込みとレプリケーション は、次のOracle Fusion Cloud Applications Suiteのモジュールおよびアプリケーションのデータをレプリケートできます。モジュール
アプリケーション
Enterprise Resource Planning(ERP)
Cloud Financials
Procurement
Project Management
Risk Management and Compliance
Human Capital Management(HCM)
Human Resources
Industry
Higher Education
Public Sector
Digital Experience for Communications
CX for Consumer Goods
CX for Financial Services
Sales
Loyalty
Partner Relationship Management
Customer Data Management
Sales Automation
Subscription Management
Service
B2B Service
Supply Chain & Manufacturing(SCM)
AI Apps
Cloud Service Logistics
Fusion Cloud Inventory Management
Maintenance
Manufacturing
Order Management
Product Lifecycle Management
Supply Chain Collaboration
Supply Chain Planning
• アプリケーション取り込みとレプリケーション は、Business Intelligence Cloud Connector(BICC)またはRESTアプローチを使用して、ソースからターゲットにデータを転送します。 • Oracle Fusion Cloudソース用に設定された増分ロードジョブおよび初期ロードと増分ロードの組み合わせジョブは、ソーススキーマへの変更をキャプチャおよびレプリケートしません。• 増分ロード、および初期ロードと増分ロードの組み合わせタイプをサポートするには、データストアのBICCコンソールの[増分サポート] オプションを有効にします。[増分サポート] オプションを有効にするには、データストア内の[TIMESTAMP] または[DATE] データ型のカラムの少なくとも1つに[増分フィルタ] または[有効な開始日] というマークを付ける必要があります。注: テーブル内で複数のカラムに[増分フィルタ] または[有効な開始日] というマークが付いている場合、Oracleの制限により、データ抽出の正確性が損なわれる可能性があります。
• デフォルトでは、増分ロードジョブは、LASTUPDATEDATEまたはCREATIONDATEフィールドを含んだオブジェクトの変更データのみをキャプチャします。ただし、Oracle Fusion Cloud(REST)の一部のオブジェクトには、LASTUPDATEDATEフィールドではなくCREATIONDATEフィールドのみが含まれます。CREATIONDATEフィールドのみを含むそのようなオブジェクトの変更データをキャプチャするには、アプリケーション取り込みとレプリケーション タスクウィザードの[ソース] タブで、oraclefusion.cdc.allow.creationdate.objects カスタムプロパティをtrue に設定します。デプロイされたタスクのカスタムプロパティをtrue に設定した場合は、変更を反映するため、ジョブをデプロイ解除してからタスクを再度デプロイしてください。オブジェクトにCREATIONDATEフィールドしかない場合、LASTUPDATEDATEフィールドは使用できないため、挿入のみが記録され、更新と削除は無視されます。
Salesforceソースのガイドライン Salesforceソースを使用する場合は、次のガイドラインを考慮してください。
• Salesforceソースの変更データをキャプチャするために増分ロードジョブを初めて実行するとき、ジョブは、関連付けられた取り込みタスクで指定されている日時以降に作成された変更レコードのみを取得してロードします。日付と時刻は、アプリケーション取り込みとレプリケーション タスクウィザードでソースを設定するときに指定できます。ただし、停止または強制終了されたジョブを再開すると、ジョブは最後に中断したところから変更データのプロパゲートを開始します。• デフォルトでは、増分ロードジョブは、lastmodifieddate またはsystemModstamp フィールドを含んだオブジェクトの変更データのみをキャプチャします。ただし、Salesforceの一部のオブジェクトには、lastmodifieddate フィールドとsystemModstamp フィールドはなく、CreatedDate フィールドしかありません。CreatedDate フィールドのみを含むそのようなオブジェクトの変更データをキャプチャするには、アプリケーション取り込みとレプリケーション タスクウィザードの[ソース] タブで、salesforce.cdc.allow.createddate.objectsカスタムプロパティをtrueに設定します。デプロイされたタスクのカスタムプロパティをtrueに設定した場合は、変更を反映するため、ジョブをデプロイ解除してからタスクを再度デプロイしてください。• Data.comオブジェクトをレプリケートする場合は、Salesforceアカウントに適切なData.comライセンスを割り当てる必要があります。• アプリケーション取り込みとレプリケーション は、Salesforceオブジェクト間で定義されているリレーションをレプリケートしません。ターゲットには、ソースオブジェクト間のリレーションは含まれません。• オブジェクトに複合フィールドが含まれている場合、アプリケーション取り込みとレプリケーション は、複合フィールドをプロパゲートするのではなく、複合フィールドを構成するコンポーネントフィールドをプロパゲートします。例えば、複合フィールドgeolocation がフィールドgeolocation_longitude とgeolocation_lattitude の組み合わせである場合、アプリケーション取り込みとレプリケーション は、複合フィールドgeolocation をプロパゲートするのではなく、geolocation_longitude フィールドとgeolocation_lattitude フィールドに保存されているデータをターゲットに個別にロードします。• ソースフィールドのマスキング設定は、ターゲットで保持されます。• すべての増分ロードアクティビティは、標準のREST APIのみを使用します。• ルックアップフィールドは、ターゲット上で一意の英数字の識別子によって表されます。• Functionデータ型のデフォルト値を持つ新しいフィールドが既存のソースオブジェクトに追加されると、アプリケーション取り込みとレプリケーション は、デフォルト値をターゲットの既存の行にプロパゲートしません。ただし、新しい行がオブジェクトに追加されると、増分ジョブは新しく追加された行に対してフィールドに保存されている値をプロパゲートします。• アプリケーション取り込みとレプリケーション ジョブは、Salesforceプラットフォームでインデックス処理されていないBig Objectに保存されているデータをレプリケートしません。Salesforceソースのアプリケーション取り込みとレプリケーション タスクをデプロイする前に、タスクのオブジェクト選択ルールで選択されたすべてのBig Objectをインデックス処理してください。• Decimalデータ型のソースフィールドに、そのフィールドに定義された上限を超えるスケールの値が含まれている場合、アプリケーション取り込みとレプリケーション ジョブは、そのようなフィールドのプロパゲートに失敗する場合があります。ただし、フィールドのプロパゲート中に、スケールの値を定義された制限値にトリミングすることは可能です。スケールの値のトリミングは、カスタムプロパティsalesforce.decimal.trim.scaleをtrueに設定することで行えます。Salesforce Marketing Cloudソースのガイドライン Salesforce Marketing Cloudソースを使用する場合は、次のガイドラインを考慮してください。
• アプリケーション取り込みとレプリケーション は、Salesforce Marketing Cloudのデータエクステンションオブジェクトに保存されているデータを取り込むことができます。• Salesforce Marketing Cloudソースに対しては初期ロードジョブのみを設定できます。• アプリケーション取り込みとレプリケーション ジョブは、データエクステンションオブジェクトをターゲットにレプリケートするときにオブジェクト名の先頭にDATA_EXTENSION__ を追加します。例えば、アプリケーション取り込みとレプリケーション ジョブがデータエクステンションオブジェクトAddress をレプリケートした場合、ターゲットでのオブジェクト名はDATA_EXTENSION__Address になります。• Salesforce Marketing CloudソースとMicrosoft Azure Synapse Analyticsターゲットを使用したアプリケーション取り込みとレプリケーション 初期ロードジョブで、一部のオブジェクトのデプロイに失敗する場合があります。SAP ECCおよびSAP S4/HANAソースのガイドラインSAP ODP Extractorコネクタの使用 SAP ODP ExtractorコネクタでSAP ECCまたはSAP S4/HANAソースを使用する場合は、次のガイドラインを考慮してください。
• SAP ソースを初めて使用する場合は、ソースに対してアプリケーション取り込みとレプリケーション タスクを設定する前に、次の手順を実行します。1 適切なSAP NotesがSAPサーバーで使用可能であることを確認します。詳細については、『SAPコネクタガイド 』を参照してください。2 SAP Java Connector(SAP JCo)ライブラリをSAP Webサイトからダウンロードします。3 ダウンロードしたSAP JCoライブラリからネイティブファイルとJARファイルを次のディレクトリにコピーします。<Secure_Agent>\ext\connectors\thirdparty\infa.odp\
4 sap-adapter-common.jarファイルを<Secure_Agent>\downloads\package-ICSAgent_<バージョン>\package\ICS\main\bin\rdtm\javalib\sap から次のディレクトリにコピーします。<Secure_Agent>\ext\connectors\thirdparty\infa.odp\
5 Secure Agentを再起動します。• SAP ソースに対してアプリケーション取り込みとレプリケーション タスクを設定する前に、データの転送元のデータソースを必ず解放してください。次の関数を使用して、必要なデータソースを解放することができます。- BS_ANLY_DS_RELEASE_ODP- RODPS_OS_EXPOSE• SAPソースの変更データを取得する増分ロードジョブを初めて実行するとき、ジョブは、ソースデータを含むデータストリーム内の最新の位置から変更レコードを取得してロードします。ただし、停止または強制終了されたジョブを再開すると、ジョブは最後に中断したところから変更データのプロパゲートを開始します。• SAP ソースの増分ロードジョブは、プライマリキーを持たないデータソースの変更データをキャプチャしません。また、増分ロードジョブは、次のSAPデータソースの変更データをキャプチャしません。- SAPが差分をサポートしていないデータソース。- 変更データを付加イメージの形式で提供するように設定されたデータソース。• アプリケーション取り込みとレプリケーション タスクでSAPテーブルソースカラムにNULL値が検出された場合、空白データを使用してNULLがターゲットテーブルにレプリケートされることはありません。 • アプリケーション取り込みとレプリケーション は、SAP ソースのスキーマ変更を検出およびプロパゲートしません。• アプリケーション取り込みとレプリケーション は、次の廃止されたSAPデータ型のフィールドをプロパゲートしません。さらに、アプリケーション取り込みとレプリケーション ジョブは、RSTRデータ型のフィールドをプロパゲートしません。
SAPユーザー権限の設定 SAPテーブルデータを処理するSAPユーザーアカウントを設定します。
次の表に、SAPテーブルから読み取るために必要な承認を示します。
読み取りオブジェクト名
必要な承認
S_BTCH_JOB
DELE、LIST、PLAN、SHOW
Job OperationをRELEに設定します。
S_PROGRAM
BTCSUBMIT、SUBMIT
S_RFC
SYST、SDTX、SDIFRUNTIME、/INFADI/TBLRDR、RFC1
S_TABU_DIS/ S_TABU_NUM
データを読み取るSAPテーブル名を指定します。
SAP ODPコネクタのトランスポートファイルのインストール アクセスするSAPマシンにSAP ODP Extractorのトランスポートファイルをインストールします。本番システムにトランスポートをインストールする前に、開発システムにトランスポートをインストールしてテストしてください。
SAP ODPオブジェクトからデータを抽出するための最新のトランスポートファイルをインストールしていることを確認します。
次のデータファイルとcofileをインストールして、SAP ODPオブジェクトからデータを読み取ります。
データおよびCoファイル名
トランスポート要求
機能
- K900426.IN7- R900426.IN7IN7K900426
階層をサポートするSAP ODPオブジェクトから読み取る場合にのみ、トランスポートをインストールします。
階層をサポートしないオブジェクトについては、SAP ODP ExtractorトランスポートファイルをインストールせずにSAP ODP Extractorコネクタを使用できます。
トランスポートファイルのインストール Unicode SAPシステムから読み取るために、Secure Agentディレクトリの最新のトランスポートファイルをインストールします。トランスポートファイルは、SAPバージョンERP 6.0 EHP7システム以降に対応しています。
1 Secure Agentマシンの次のディレクトリに、トランスポートファイルがあります:
<Informatica Secure Agent installation directory>\downloads\package-SAPODP.<Latest version>\package\sapodp\sap-transport
2 アクセスする各SAPマシンのSAPトランスポート管理ディレクトリにある Cofile ディレクトリに、cofileトランスポートファイルをコピーします。
cofileトランスポートファイルでは、次の命名規則を使用します: <number>.<sap system>
3 アクセスする各SAPマシンのSAPトランスポート管理ディレクトリにある Data ディレクトリにデータトランスポートファイルをコピーします。
データトランスポートファイルでは、次の命名規則を使用します: <number>.<sap-system>
4 STMSでトランスポートをSAPにインポートするには、 [補足] > [その他の依頼] > [追加] をクリックし、トランスポート要求をシステムキューに追加します。
5 [インポートキューに移送依頼追加] ダイアログボックスに、cofileトランスポートの要求番号を入力します。
要求番号は、名前を変更したcofileを次のような順序に置き替えたものです: <sap-system><number>
6 インポートキューの要求領域で、追加したトランスポート要求番号を選択して、 [インポート] をクリックします。
7 Informatica Transportsの以前のバージョンからアップグレードする場合、 [オリジナルを上書き] オプションを選択します。
SAP Mass Ingestionコネクタを使用したSAPソースのガイドライン SAP Mass Ingestionコネクタは、次のデータベースをサポートしています。
• SAP ECC(Oracleデータベース)• SAP S/4 HANA(トリガベース)ソースの準備: アプリケーション取り込みとレプリケーション タスクで基礎となるOracleデータベースを使用するには、最初にソースデータベースを準備し、使用に関する考慮事項を確認してください
• Secure Agentが実行されているLinuxまたはWindowsシステムで次のシステム環境変数を定義します。- ORACLE_HOME環境変数。WindowsのbinディレクトリまたはLinuxのlibディレクトリの1つ上のレベルにある、Oracleクライアントインストールディレクトリを指します。この環境変数は必須ではありません。ただし、これを定義しない場合は、サブディレクトリへのパスを指定する他の環境変数またはSecure Agentプロパティを定義するときに、Oracleクライアントの完全なインストールパスを指定する必要があります。- TNS_ADMIN環境変数。Oracleデータベース取り込み接続プロパティの[データベース接続文字列] プロパティでTNS名を指定している場合、ファイルがデフォルトの$ORACLE_HOME/network/adminディレクトリにないときは、この環境変数を使用してtsnnames.oraファイルのディレクトリの場所を指すようにします。tnsnames.oraファイルは、Oracleソースデータベースと通信するために、Oracle Call Interface(OCI)とともに使用されます。注: Administratorで、データベース取り込みエージェントサービス(DBMIエージェント)のociPathプロパティを、oci.dllまたはlibcIntsh.soファイルを含むOCIライブラリを指すように設定できます。OCIライブラリは、アプリケーション取り込みとレプリケーション のCDCタスクによってOracleに接続するために使用されます。Oracleは、Linuxでは$ORACLE_HOME/lib、Windowsでは%ORACLE_HOME%\binのociPath値をデフォルトで使用します。
• アプリケーション取り込みとレプリケーション ユーザーに、アプリケーション取り込みとレプリケーション のロードタイプの実行に必要なOracle権限があることを確認してください。詳細については、
Oracle特権 を参照してください。
• ログベースのCDCを使用したアプリケーション取り込みとレプリケーション ジョブには、増分変更データを読み取るためにOracleのオンラインREDOログとアーカイブREDOログへの読み取りアクセスが必要です。REDOログが、Secure Agentが実行されているオンプレミスシステムからリモートにある場合は、ログへの読み取りアクセスが提供されていることを確認してください。例えば、Oracle Automatic Storage Management(ASM)を使用して、ログをネットワークファイルシステム(NFS)にマウントすることによって、それを実現します。• Oracle 11.2.04を使用する場合は、Oracle COMPATIBLE初期化パラメータを11.2.04に設定して、そのリリースの最新のREDOログ修正がすべてOracleに適用されるようにします。• Secure AgentがOracleと通信できるように、Oracle Database ClientまたはInstant ClientがSecure Agentサーバーにインストールされ、設定されていることを確認します。Oracleクライアントをまだインストールしていない場合は、Oracle Webサイトからクライアントをダウンロードしてインストール情報にアクセスするか、Oracle DBAにOracleクライアントのダウンロードと設定を依頼してください。• ログベースのCDCを使用した増分ロードまたは初期ロードと増分ロードの組み合わせ操作の場合、Oracleで次の要件タスクを実行します。- OracleデータベースのARCHIVELOGモードを有効にします。データベースがAmazon RDS環境にない場合は、次のSQL文を発行します。SHUTDOWN IMMEDIATE; STARTUP MOUNT; ALTER DATABASE ARCHIVELOG; ALTER DATABASE OPEN; SHUTDOWN IMMEDIATE; STARTUP;
- ソースデータベースでOracleの最小限のグローバルサプリメンタルロギングを有効にします。SAP ECC(Oracleデータベース)の使用に関する考慮事項 • Oracleソースを使用する増分ロード操作の場合、アプリケーション取り込みとレプリケーション は、ソースから変更データをキャプチャし、そのデータをターゲットに適用するための代替キャプチャメソッドを提供します。アプリケーション取り込みとレプリケーション は、Oracle REDOログからデータ変更を読み取ります。この方法では、ユーザーの権限を拡張する必要があります。• アプリケーション取り込みとレプリケーション では、ソーステーブルの各行が一意であることを想定しているため、各ソーステーブルにプライマリキーを持たせることをお勧めします。アプリケーション取り込みとレプリケーション は、プライマリキーの代わりに一意のインデックスを許可しません。プライマリキーが指定されていない場合、アプリケーション取り込みとレプリケーション はすべてのカラムをプライマリキーの一部であるかのように扱います。• OracleソースのCHARカラムまたはVARCHARカラムにnullが含まれている場合、アプリケーション取り込みとレプリケーション ジョブは、Amazon S3、フラットファイル、Microsoft Azure Data Lake、またはMicrosoft Azure Synapse Analyticsターゲットにデータを書き込むときに、null値を二重引用符(")マークまたはその他の区切り文字で区切りません。• アプリケーション取り込みとレプリケーション は、RESETLOGS境界を越えてデータを処理できます。ソースとターゲットが同期しなくなるのを避けるため、RESETLOGSを実行する前にキャプチャ処理を停止し、RESETLOGSイベントの後にキャプチャ処理を再開することをお勧めします。そうしないと、キャプチャプロセスによってデータがターゲットに送信され、その後RESETLOGSイベントによって元に戻されて、ソースとターゲットが同期しなくなる可能性があります。• Oracle REDOログにアクセスするための別の戦略を利用できます。• アプリケーション取り込みとレプリケーション の増分ロードタスクまたは初期ロードと増分ロードの組み合わせタスクに、30文字を超えるOracleソーステーブル名または1つ以上のカラム名が含まれている場合、Oracleではプライマリキーと外部キーを含むテーブル全体の補足ログが抑制されます。その結果、テーブルに対するほとんどの操作が失敗します。この問題は、Oracleの制限が原因で発生します。この状況では、テーブルをキャプチャ処理から除外するか、長いテーブル名とカラム名を30文字以下の名前に変更してください。• OracleソースのRAWカラムをターゲットのCHARまたはVARCHARカラムにマッピングするときに、カスタムデータ型マッピングルールを使用しないようにしてください。カスタムデータ型マッピングルールを使用した場合、アプリケーション取り込みとレプリケーション タスクのデプロイメントが失敗する可能性があります。• アプリケーション取り込みとレプリケーション では、ターゲットタイプに関係なく、Oracleソースカラムの非表示カラムはサポートされていません。これらのカラムについては、アプリケーション取り込みとレプリケーション の増分ロードジョブと、初期ロードジョブと増分ロードジョブの組み合わせは、対応するターゲットカラムにnullをプロパゲートします。• Oracleソースを持つアプリケーション取り込みとレプリケーション の初期ロードと増分ロードの組み合わせジョブでは、アーカイブREDOログのコピーから変更を読み取ることができます。Oracleデータベース取り込み接続プロパティの[読み取りモード] プロパティをARCHIVECOPYに設定し、ソースのカスタムプロパティpwx.cdcreader.oracle.reader.additionalをdirおよびfileパラメータを指定して設定する必要があります。dirパラメータでは、CDCログリーダーがアーカイブログコピーをスキャンするベースディレクトリの名前を指すようにし、fileパラメータでは、ログコピーのフィルタリングに使用するマスクを指定します。トランスポートファイルのインストール Unicode SAPシステムから読み取るために、Secure Agentディレクトリの最新のトランスポートファイルをインストールします。トランスポートファイルは、SAPバージョンECC 5.0以降に対応します。
1 Secure Agentマシンの次のディレクトリに、トランスポートファイルがあります:
<Secure_Agent>\downloads\package-SAPAmi.<version>\package\sapami\SAPTableReader\
2 アクセスする各SAPマシンのSAPトランスポート管理ディレクトリにある Cofile ディレクトリに、cofileトランスポートファイルをコピーします。
cofileトランスポートファイルでは、次の命名規則を使用します: K<number>.EP6 。
3 アクセスする各SAPマシンのSAPトランスポート管理ディレクトリにある Data ディレクトリにデータトランスポートファイルをコピーします。
データトランスポートファイルでは、次の命名規則を使用します: R<number>.EP6 。
4 STMSでトランスポートをSAPにインポートするには、 [補足] > [その他の依頼] > [追加] をクリックし、トランスポート要求をシステムキューに追加します。
5 [インポートキューに移送依頼追加] ダイアログボックスに、cofileトランスポートの要求番号を入力します。
要求番号は、名前を変更したcofileを次のような順序に置き替えたものです: EP6K<number>
例えば、K900215.EP6 と名前変更されたcofileトランスポートファイルの場合、要求番号として「EP6K900215」と入力します。
6 インポートキューの要求領域で、追加したトランスポート要求番号を選択して、 [インポート] をクリックします。
7 Informatica Transportsの以前のバージョンからアップグレードする場合、 [オリジナルを上書き] オプションを選択します。
Oracle特権 Oracleソースを持つアプリケーション取り込みとレプリケーション タスクをデプロイして実行するには、ソース接続で取り込みロードタイプに必要な権限を持つアプリケーション取り込みとレプリケーション ユーザーを指定する必要があります。
ログベースのCDCを使用した増分ロード処理の権限
注: OracleログがASMによって管理されている場合、ユーザーはSYSASMまたはSYSDBA権限を持っている必要があります。
ログベースのCDCメソッドを使用した増分ロードまたは、初期ロードと増分ロードの組み合わせを実行するアプリケーション取り込みとレプリケーション タスクの場合、アプリケーション取り込みとレプリケーション のユーザー(cmid_user )に次の権限が付与されていることを確認してください。
GRANT CREATE SESSION TO <cmid_user>; GRANT SELECT ON table TO <cmid_user>; -- For each source table created by user GRANT EXECUTE ON DBMS_FLASHBACK TO <cmid_user>; -- The following grant is required for combined initial and incremental loads only. Do not -- use ANY TABLE unless your security policy allows it. GRANT FLASHBACK ON table|ANY TABLE TO <cmid_user>; -- Include the following grant only if you want to Execute the CDC script for enabling -- supplemental logging from the user interface. If you manually enable supplemental -- logging, this grant is not needed. GRANT ALTER table|ANY TABLE TO <cmid_user>; GRANT SELECT ON DBA_CONSTRAINTS TO <cmid_user>; GRANT SELECT ON DBA_CONS_COLUMNS TO <cmid_user>; GRANT SELECT ON DBA_INDEXES TO <cmid_user>; GRANT SELECT ON DBA_LOG_GROUPS TO <cmid_user>; GRANT SELECT ON DBA_LOG_GROUP_COLUMNS TO <cmid_user>; GRANT SELECT ON DBA_OBJECTS TO <cmid_user>; GRANT SELECT ON DBA_OBJECT_TABLES TO <cmid_user>; GRANT SELECT ON DBA_TABLES TO <cmid_user>; GRANT SELECT ON DBA_TABLESPACES TO <cmid_user>; GRANT SELECT ON DBA_USERS TO <cmid_user>; GRANT SELECT ON "PUBLIC".V$ARCHIVED_LOG TO <cmid_user>; GRANT SELECT ON "PUBLIC".V$CONTAINERS TO <cmid_user>; -- For Oracle multitenant environments GRANT SELECT ON "PUBLIC".V$DATABASE TO <cmid_user>; GRANT SELECT ON "PUBLIC".V$DATABASE_INCARNATION TO <cmid_user>; GRANT SELECT ON "PUBLIC".V$ENCRYPTION_WALLET TO <cmid_user>; -- For Oracle TDE access GRANT SELECT ON "PUBLIC".V$LOG TO <cmid_user>; GRANT SELECT ON "PUBLIC".V$LOGFILE TO <cmid_user>; GRANT SELECT ON "PUBLIC".V$PARAMETER TO <cmid_user>; GRANT SELECT ON "PUBLIC".V$PDBS TO <cmid_user>; -- For Oracle multitenant environments GRANT SELECT ON "PUBLIC".V$SPPARAMETER TO <cmid_user>; GRANT SELECT ON "PUBLIC".V$STANDBY_LOG TO <cmid_user>; GRANT SELECT ON "PUBLIC".V$THREAD TO <cmid_user>; GRANT SELECT ON "PUBLIC".V$TRANSACTION TO <cmid_user>; GRANT SELECT ON "PUBLIC".V$TRANSPORTABLE_PLATFORM TO <cmid_user>; GRANT SELECT ON "PUBLIC".V$VERSION TO <cmid_user>; GRANT SELECT ON SYS.ATTRCOL$ TO <cmid_user>; GRANT SELECT ON SYS.CCOL$ TO <cmid_user>; GRANT SELECT ON SYS.CDEF$ TO <cmid_user>; GRANT SELECT ON SYS.COL$ TO <cmid_user>; GRANT SELECT ON SYS.COLTYPE$ TO <cmid_user>; GRANT SELECT ON SYS.IDNSEQ$ TO <cmid_user>; GRANT SELECT ON SYS.IND$ TO <cmid_user>; GRANT SELECT ON SYS.INDPART$ TO <cmid_user>; GRANT SELECT ON SYS.OBJ$ TO <cmid_user>; GRANT SELECT ON SYS.PARTOBJ$ TO <cmid_user>; GRANT SELECT ON SYS.RECYCLEBIN$ TO <cmid_user>; GRANT SELECT ON SYS.TAB$ TO <cmid_user>; GRANT SELECT ON SYS.TABCOMPART$ TO <cmid_user>; GRANT SELECT ON SYS.TABPART$ TO <cmid_user>; GRANT SELECT ON SYS.TABSUBPART$ TO <cmid_user>; -- Also ensure that you have access to the following ALL_* views: ALL_CONSTRAINTS ALL_CONS_COLUMNS ALL_ENCRYPTED_COLUMNS ALL_INDEXES ALL_IND_COLUMNS ALL_OBJECTS ALL_TABLES ALL_TAB_COLS ALL_TAB_PARTITIONS ALL_USERS
クエリベースのCDCを使用した増分ロード処理の権限
クエリベースのCDCメソッドを使用した増分ロード、または初期ロードと増分ロードの組み合わせを実行するアプリケーション取り込みとレプリケーション タスクの場合、ユーザーが少なくとも次の特権を持っていることを確認してください。
GRANT CREATE SESSION TO <cmid_user>; GRANT SELECT ON DBA_INDEXES TO <cmid_user>; GRANT SELECT ON DBA_OBJECT_TABLES TO <cmid_user>; GRANT SELECT ON DBA_OBJECTS TO cmid_user; GRANT SELECT ON DBA_TABLES TO <cmid_user>; GRANT SELECT ON DBA_USERS TO <cmid_user>; GRANT SELECT ON DBA_VIEWS TO <cmid_user>; -- Only if you unload data from views GRANT SELECT ANY TABLE TO <cmid_user>; -or- GRANT SELECT ON table TO <cmid_user>; -- For each source table created by user GRANT SELECT ON ALL_CONSTRAINTS TO <cmid_user>; GRANT SELECT ON ALL_CONS_COLUMNS TO <cmid_user>; GRANT SELECT ON ALL_ENCRYPTED_COLUMNS TO <cmid_user>; GRANT SELECT ON ALL_IND_COLUMNS TO <cmid_user>; GRANT SELECT ON ALL_INDEXES TO <cmid_user>; GRANT SELECT ON ALL_OBJECTS TO <cmid_user>; GRANT SELECT ON ALL_TAB_COLS TO <cmid_user>; GRANT SELECT ON ALL_USERS TO <cmid_user>; GRANT SELECT ON "PUBLIC"."V$DATABASE" TO cmid_user; GRANT SELECT ON "PUBLIC"."V$CONTAINERS" TO cmid_user; GRANT SELECT ON SYS.ATTRCOL$ TO <cmid_user>; GRANT SELECT ON SYS.CCOL$ TO <cmid_user>; GRANT SELECT ON SYS.CDEF$ TO <cmid_user>; GRANT SELECT ON SYS.COL$ TO <cmid_user>; GRANT SELECT ON SYS.COLTYPE$ TO <cmid_user>; GRANT SELECT ON SYS.IND$ TO <cmid_user>; GRANT SELECT ON SYS.IDNSEQ$ TO cmid_user; GRANT SELECT ON SYS.OBJ$ TO <cmid_user>; GRANT SELECT ON SYS.RECYCLEBIN$ TO <cmid_user>; GRANT SELECT ON SYS.TAB$ TO <cmid_user>;
初期ロード処理の特権
初期ロードを実行するアプリケーション取り込みとレプリケーション タスクの場合、ユーザーが少なくとも次の権限を持っていることを確認してください。
GRANT CREATE SESSION TO <cmid_user>; GRANT SELECT ON DBA_INDEXES TO <cmid_user>; GRANT SELECT ON DBA_OBJECT_TABLES TO <cmid_user>; GRANT SELECT ON DBA_OBJECTS TO cmid_user; GRANT SELECT ON DBA_TABLES TO <cmid_user>; GRANT SELECT ON DBA_USERS TO <cmid_user>; GRANT SELECT ON DBA_VIEWS TO <cmid_user>; -- Only if you unload data from views GRANT SELECT ANY TABLE TO <cmid_user>; -or- GRANT SELECT ON table TO <cmid_user>; -- For each source table created by user GRANT SELECT ON ALL_CONSTRAINTS TO <cmid_user>; GRANT SELECT ON ALL_CONS_COLUMNS TO <cmid_user>; GRANT SELECT ON ALL_ENCRYPTED_COLUMNS TO <cmid_user>; GRANT SELECT ON ALL_IND_COLUMNS TO <cmid_user>; GRANT SELECT ON ALL_INDEXES TO <cmid_user>; GRANT SELECT ON ALL_OBJECTS TO <cmid_user>; GRANT SELECT ON ALL_TAB_COLS TO <cmid_user>; GRANT SELECT ON ALL_USERS TO <cmid_user>; GRANT SELECT ON "PUBLIC"."V$DATABASE" TO cmid_user; GRANT SELECT ON "PUBLIC"."V$CONTAINERS" TO cmid_user; GRANT SELECT ON SYS.ATTRCOL$ TO <cmid_user>; GRANT SELECT ON SYS.CCOL$ TO <cmid_user>; GRANT SELECT ON SYS.CDEF$ TO <cmid_user>; GRANT SELECT ON SYS.COL$ TO <cmid_user>; GRANT SELECT ON SYS.COLTYPE$ TO <cmid_user>; GRANT SELECT ON SYS.IND$ TO <cmid_user>; GRANT SELECT ON SYS.IDNSEQ$ TO cmid_user; GRANT SELECT ON SYS.OBJ$ TO <cmid_user>; GRANT SELECT ON SYS.RECYCLEBIN$ TO <cmid_user>; GRANT SELECT ON SYS.TAB$ TO <cmid_user>;n
Amazon RDS for Oracleソースに対するOracle特権 Amazon RDS for Oracleソースを使用している場合は、アプリケーション取り込みとレプリケーション ユーザーに特定の権限を付与する必要があります。
重要: GRANT文とプロシージャを実行するには、マスターユーザー名でAmazon RDSにログインする必要があります。
少なくとも、CDC処理に必要なオブジェクトおよびシステムテーブルに対するSELECT特権を、アプリケーション取り込みとレプリケーション ユーザー(cmid_user )に付与します。特定の状況では、追加の権限の付与が必要になります。
次のGRANT文を使用します。
GRANT SELECT ON "PUBLIC"."V$ARCHIVED_LOG" TO "cmid_user"; GRANT SELECT ON "PUBLIC"."V$DATABASE" TO "cmid_user"; GRANT SELECT ON "PUBLIC"."V$LOG" TO "cmid_user"; GRANT SELECT ON "PUBLIC"."V$LOGFILE" TO "cmid_user"; GRANT SELECT ON "PUBLIC"."V$TRANSPORTABLE_PLATFORM" TO "cmid_user"; GRANT SELECT ON "PUBLIC"."V$THREAD" TO "cmid_user"; GRANT SELECT ON "PUBLIC"."V$DATABASE_INCARNATION" TO "cmid_user"; GRANT SELECT ON "PUBLIC"."V$TRANSACTION" TO "cmid_user"; GRANT SELECT ON "SYS"."DBA_CONS_COLUMNS" TO "cmid_user"; GRANT SELECT ON "SYS"."DBA_CONSTRAINTS" TO "cmid_user"; GRANT SELECT ON DBA_INDEXES TO "cmid_user"; GRANT SELECT ON "SYS"."DBA_LOG_GROUP_COLUMNS" TO "cmid_user"; GRANT SELECT ON "SYS"."DBA_TABLESPACES" TO "cmid_user"; GRANT SELECT ON "SYS"."OBJ$" TO "cmid_user"; GRANT SELECT ON "SYS"."TAB$" TO "cmid_user"; GRANT SELECT ON "SYS"."IND$" TO "cmid_user"; GRANT SELECT ON "SYS"."COL$" TO "cmid_user"; GRANT SELECT ON "SYS"."PARTOBJ$" TO "cmid_user"; GRANT SELECT ON "SYS"."TABPART$" TO "cmid_user"; GRANT SELECT ON "SYS"."TABCOMPART$" TO "cmid_user"; GRANT SELECT ON "SYS"."TABSUBPART$" TO "cmid_user"; COMMIT; /* For combined load jobs:*/ GRANT EXECUTE ON DBMS_FLASHBACK TO "cmid_user"; /*To provide read access to the Amazon RDS online and archived redo logs:*/ GRANT READ ON DIRECTORY ONLINELOG_DIR TO "cmid_user"; GRANT READ ON DIRECTORY ARCHIVELOG_DIR TO "cmid_user";
さらに、マスターユーザーとしてログインし、次のAmazon RDSプロシージャを実行して、さらにいくつかのオブジェクトに対するSELECT特権を付与します。
begin rdsadmin.rdsadmin_util.grant_sys_object( p_obj_name => 'DBA_TABLES', p_grantee => 'cmid_user', p_privilege => 'SELECT'); end; / begin rdsadmin.rdsadmin_util.grant_sys_object( p_obj_name => 'DBA_OBJECTS', p_grantee => 'cmid_user', p_privilege => 'SELECT'); end; / begin rdsadmin.rdsadmin_util.grant_sys_object( p_obj_name => 'DBA_OBJECT_TABLES', p_grantee => 'cmid_user', p_privilege => 'SELECT'); end; / begin rdsadmin.rdsadmin_util.grant_sys_object( p_obj_name => 'DBA_VIEWS', p_grantee => 'cmid_user', p_privilege => 'SELECT'); end; / /begin rdsadmin.rdsadmin_util.grant_sys_object( p_obj_name => 'DBA_USERS', p_grantee => 'cmid_user', p_privilege => 'SELECT', p_grant_option => false); end; / begin rdsadmin.rdsadmin_util.grant_sys_object( p_obj_name => 'V_$CONTAINERS', p_grantee => 'cmid_user', p_privilege => 'SELECT'); end; / begin rdsadmin.rdsadmin_util.grant_sys_object( p_obj_name => 'V_$PARAMETER', p_grantee => 'cmid_user', p_privilege => 'SELECT'); end; / begin rdsadmin.rdsadmin_util.grant_sys_object( p_obj_name => 'V_$SPPARAMETER', p_grantee => 'cmid_user', p_privilege => 'SELECT'); end; / begin rdsadmin.rdsadmin_util.grant_sys_object( p_obj_name => 'V_$STANDBY_LOG', p_grantee => 'cmid_user', p_privilege => 'SELECT'); end; / begin rdsadmin.rdsadmin_util.grant_sys_object( p_obj_name => 'V_$VERSION', p_grantee => 'cmid_user', p_privilege => 'SELECT'); end; / begin rdsadmin.rdsadmin_util.grant_sys_object( p_obj_name => 'ALL_CONS_COLUMNS', p_grantee => 'cmid_user', p_privilege => 'SELECT'); end; / begin rdsadmin.rdsadmin_util.grant_sys_object( p_obj_name => 'ALL_CONSTRAINTS', p_grantee => 'cmid_user', p_privilege => 'SELECT'); end; / begin rdsadmin.rdsadmin_util.grant_sys_object( p_obj_name => 'ALL_OBJECTS', p_grantee => 'cmid_user', p_privilege => 'SELECT'); end; / begin rdsadmin.rdsadmin_util.grant_sys_object( p_obj_name => 'ALL_TABLES', p_grantee => 'cmid_user', p_privilege => 'SELECT', p_grant_option => false); end; / begin rdsadmin.rdsadmin_util.grant_sys_object( p_obj_name => 'ALL_TAB_PARTITIONS', p_grantee => 'cmid_user', p_privilege => 'SELECT', p_grant_option => false); end; / begin rdsadmin.rdsadmin_util.grant_sys_object( p_obj_name => 'ALL_USERS', p_grantee => 'cmid_user', p_privilege => 'SELECT'); end; / begin rdsadmin.rd 'ALL_TABLES', p_grantee => 'sadmin_util.grant_sys_object( p_obj_name => 'cmid_user', p_privilege => 'SELECT', p_grant_option => false); end; / begin rdsadmin.rdsadmin_util.grant_sys_object( p_obj_name => 'ALL_TAB_PARTITIONS', p_grantee => 'cmid_user', p_privilege => 'SELECT', p_grant_option => false); end; / begin rdsadmin.rdsadmin_util.grant_sys_object( p_obj_name => 'ATTRCOL$', p_grantee => 'cmid_user', p_privilege => 'SELECT'); end; / begin rdsadmin.rdsadmin_util.grant_sys_object( p_obj_name => 'CCOL$', p_grantee => 'cmid_user', p_privilege => 'SELECT'); end; / begin rdsadmin.rdsadmin_util.grant_sys_object( p_obj_name => 'COLTYPE$', p_grantee => 'cmid_user', p_privilege => 'SELECT'); end; / begin rdsadmin.rdsadmin_util.grant_sys_object( p_obj_name => 'INDPART$', p_grantee => 'cmid_user', p_privilege => 'SELECT'); end; / begin rdsadmin.rdsadmin_util.grant_sys_object( p_obj_name => 'IDNSEQ$', p_grantee => 'cmid_user', p_privilege => 'SELECT'); end; / begin rdsadmin.rdsadmin_util.grant_sys_object( p_obj_name => 'CDEF$', p_grantee => 'cmid_user', p_privilege => 'SELECT'); end; / begin rdsadmin.rdsadmin_util.grant_sys_object( p_obj_name => 'RECYCLEBIN$', p_grantee => 'cmid_user', p_privilege => 'SELECT'); end; / /* Only required for RDS21 which supports PDB*/ begin rdsadmin.rdsadmin_util.grant_sys_object( p_obj_name => 'V_$PDBS', p_grantee => 'cmid_user', p_privilege => 'SELECT'); end; /
OracleファイルシステムのOracle REDOログへのBFILEアクセスの設定 REDOログをローカルのOracleサーバーファイルシステムに保存し、BFILEでOracleディレクトリオブジェクトを使用してログにアクセスする場合は、次の設定タスクを実行します。
BFILEアクセスに固有ではない、次の通常のOracleソース準備タスクを完了します。
• アプリケーション取り込みとレプリケーション でOracle Call Interface(OCI)を使用してOracleソースデータベースと通信するためにSecure Agentが実行されるLinuxまたはWindowsシステムで、ORACLE_HOME環境変数を定義します。• アプリケーション取り込みとレプリケーション ユーザーに、アプリケーション取り込みとレプリケーション の増分ロード処理に必要なOracle権限があることを確認してください。詳細については、Oracle特権 を参照してください。• OracleデータベースのARCHIVELOGモードを有効にします。• アーカイブログの格納先を定義します。注: BFILEアクセスの場合は、特定のアーカイブログの格納先ディレクトリを使用します。Oracle USE_DB_RECOVERY_FILE_DESTキーワードを使用して、アーカイブログを日付別に高速リカバリ領域(FRA)に保存しないでください。
• ソースデータベースでOracleの最小限のグローバルサプリメンタルロギングを有効にします。• Oracleソーステーブルにプライマリキーがある場合は、すべてのプライマリキーカラムに対してサプリメンタルロギングが有効になっていることを確認してください。プライマリキーのないソーステーブルの場合、変更データがキャプチャされるすべてのカラムでサプリメンタルロギングが有効になっていることを確認してください。注: アプリケーション取り込みとレプリケーション タスクを作成するときに、選択したソーステーブルのすべてのカラムまたはプライマリキーカラムのみのサプリメンタルロギングを実装するスクリプトを生成するオプションがあります。
• Oracle MAX_STRING_SIZE初期化パラメータがEXTENDEDに設定されていない ことを確認してください。EXTENDEDに設定されている場合、アプリケーション取り込みとレプリケーション は、大きな(拡張サイズ)VARCHAR2、NVARCHAR2、またはRAWカラムで定義されたカラムを含むテーブルの挿入と更新をレプリケートできません。さらに、BFILEアクセスの場合は、次の手順を実行します。
1 Oracleデータベースに、Oracleサーバーファイルシステム内のオンラインREDOログとアーカイブREDOログの場所をクエリします。次のサンプルクエリを使用できます。オンラインREDOログの場所を取得するには、次の手順を実行します。
select * from v$logfile;
ログのアーカイブ先を取得するには、次の手順を実行します。
select dest_id, dest_name, destination, status from V$ARCHIVE_DEST;
2 手順1で取得したログファイルの場所を指すONLINELOG_DIRおよびARCHIVELOG_DIRディレクトリオブジェクトを作成します。Oracleディレクトリオブジェクトは、アクセスするログファイルが配置されているOracleサーバーファイルシステム上の物理ディレクトリの論理エイリアス名を指定します。以下に例を示します。CREATE DIRECTORY ONLINELOG_DIR AS '/u01/oracle/data'; CREATE DIRECTORY ARCHIVELOG_DIR AS '/u01/oracle/archivedata';
注: Oracle Database Ingestion接続でリーダーモードを[ARCHIVEONLY]に設定して、アーカイブログからのみ変更を読み取る場合は、ONLINELOG_DIRディレクトリまたはディレクトリオブジェクトを作成する必要はありません。
Oracleデータベースは、指定したディレクトリが存在することを確認しません。Oracleファイルシステムに存在する有効なディレクトリを指定していることを確認してください。
3 ディレクトリオブジェクトがREDOログの正しいファイルシステムパスで作成されたことを確認するには、次のようなselect文を発行します。select * from all_directories; OWNER DIRECTORY_NAME DIRECTORY_PATH -------- ------------------- ---------------------------------- SYS ARCHIVELOG_DIR /u01/oracle/data/JO112DTL SYS ONLINELOG_DIR /u01/oracle/data/JO112DTL
4 Oracleデータベース取り込み接続プロパティで指定されたアプリケーション取り込みとレプリケーション ユーザーに、ONLINELOG_DIRおよびARCHIVELOG_DIRディレクトリオブジェクトへの読み取りおよび書き込みアクセスを付与します。以下に例を示します。grant read on directory "ARCHIVELOG_DIR" to "cmid_user"; grant read on directory "ONLINELOG_DIR" to "cmid_user";
5 Oracle Database Ingestion接続プロパティで、[BFILEアクセス] チェックボックスを選択します。Oracleアーカイブログの保持に関する考慮事項 アプリケーション取り込みとレプリケーション の増分ロードジョブ、および初期ロードジョブと増分ロードジョブの組み合わせは、OracleオンラインREDOログおよびアーカイブREDOログのトランザクションデータにアクセスできる必要があります。ログを利用できない場合、アプリケーション取り込みとレプリケーション ジョブはエラーで終了します。
通常、Oracle DBAは、組織の特定のビジネスニーズとOracle環境に基づいて、アーカイブログの保持期間を設定します。ログを再起動処理に使用できるように、変更キャプチャが停止または潜在的な状態になると予想される最長期間プラス約1時間にわたって、ソースアーカイブログが保持されていることを確認してください。
環境内の現在のログ保持ポリシーが、アプリケーション取り込みとレプリケーション の変更キャプチャ処理に対応するのに十分かどうかを判断するには、次の要素を考慮してください。
• Oracleトランザクションは、通常、ソース上でどのくらいの期間開かれていますか?• 週末と休日を考慮して、変更キャプチャがダウンまたは潜在的な状態になることが許容される最長期間はどれくらいですか?• ソースからターゲットへのレプリケーション待ち時間はどのくらいですか?• アプリケーション取り込みとレプリケーション ジョブをスケジュールに基づいて実行していますか? そうである場合、どのようなスケジュールですか?• タスクウィザードの[ソース] ページで、pwx.cdcreader.oracle.option.additional ageOutPeriod=minutes カスタムプロパティが設定されていますか?注: このプロパティは、CDC対象の変更レコードのない未処理のUOWを次の再開ポイントの計算から削除する際の条件となる経過時間を指定します。このプロパティを使用すると、トランザクションが未処理で、UOWが開始されたREDOログが使用できないときにキャプチャ処理をシャットダウンして再開した場合に発生する可能性のあるCDC障害を防ぐことができます。
• REDO生成率はどのくらいですか?• アーカイブログのコピーをセカンダリシステムに配布していますか?ログのキャプチャ処理を再開する必要があるときにアーカイブログを使用できない場合は、DBAに、アーカイブログを復元して必要に応じて保存期間を変更するよう依頼してください。それ以外の場合は、別の初期ロードを実行してターゲットを再マテリアライズしてから、増分変更データ処理を再度開始してください。ただし、この場合、一部の変更が失われる可能性があります。
ServiceNowソースのガイドライン ServiceNowソースを使用する場合は、次のガイドラインを考慮してください。
• ServiceNowソースの変更データをキャプチャするために増分ロードジョブを初めて実行するとき、ジョブは、関連付けられた取り込みタスクで指定されている日時以降に作成された変更レコードのみを取得してロードします。日付と時刻は、アプリケーション取り込みとレプリケーション タスクウィザードでソースを設定するときに指定できます。ただし、停止または強制終了されたジョブを再開すると、ジョブは最後に中断したところから変更データのプロパゲートを開始します。• 一部のServiceNowオブジェクトに格納されているデータは、APIクライアントがmaintおよびnobodyロールで設定されている場合にのみ取得できます。アプリケーション取り込みとレプリケーション は、ServiceNow一括取り込み接続をmaintおよびnobodyロールで設定する必要があるソースオブジェクトからデータを取得しません。• テーブルAPIまたは集計APIにアクセスするには、管理者権限が必要です。• ServiceNowソース用に設定された増分ロードジョブは、sys_updated_onフィールドを含まないオブジェクトの変更データを取得しません。• ServiceNowソース用に設定された増分ロードジョブ、および初期ロードジョブと増分ロードジョブの組み合わせは、ソースフィールドの名前変更を検出およびレプリケートしません。• アプリケーション取り込みとレプリケーション は、ソースフィールドのマスキング設定をターゲットで保持します。例えば、ソースのマスクされたフィールドに値1234****が含まれている場合、ターゲットの対応するフィールドにも値1234****が含まれます。• Secure Agent設定プロパティで、metadata_manager.jvm.ai.servicenow.enable.cdc.using.inherited.columns およびtask_container.jvm.ai.servicenow.enable.cdc.using.inherited.columns カスタムプロパティをtrue に設定し、親テーブルからCDCカラムを継承する子テーブルをタスクに含めます。 • ai.servicenow.enable.additional.datatypes カスタムプロパティをtrue に設定して、次のServiceNowデータ型を有効にします。- Audio- Basic Image- Encrypted Text- FX Currency- Image- Journal List- List- Name-Value Pairs- Reference- ビデオ- Wiki注: [Reference] データ型については、ai.servicenow.enable.additional.datatypes カスタムプロパティがtrue に設定されている場合、columnName_value 、columnName_display_value 、およびcolumnName_link 属性がターゲットで使用可能になります。ai.servicenow.enable.additional.datatypes カスタムプロパティがfalse に設定されている場合、ターゲットではcolumnName 属性のみが使用可能になります。
Workdayソースのガイドライン Workdayソースを使用する場合は、次のガイドラインを考慮してください。
アプリケーション取り込みとレプリケーション には、次のWebサービスを介してWorkdayデータを抽出するオプションがあります。
• Workday Web Services : SOAP APIを介してWorkdayデータへのアクセスを実現します。• Workday Report-as-a-Service(RaaS) : カスタムレポートを介して、カスタムオブジェクトおよびカスタムフィールドのデータへのアクセスを実現します。必要なWebサービスを選択するためのオプションが、アプリケーション取り込みとレプリケーション タスクウィザードの[ソース] タブに表示されます。
Workday Web Servicesのガイドライン • Workday Web Servicesを使用して、Workday Human Capital Management(HCM)のデータを取り込むことができます。アプリケーション取り込みとレプリケーション タスクウィザードの[ソース] タブで、ターゲットにレプリケートするHCMサービスを選択できます。• アプリケーション取り込みとレプリケーション は、名前がGet_ で始まるソース操作のデータのみをレプリケートします。• アプリケーション取り込みとレプリケーション ジョブは、XML構造でソースデータを取得し、そのデータをJSONまたはXML形式の単一オブジェクトとしてターゲットに書き込みます。アプリケーション取り込みとレプリケーション ジョブを設定するときに、タスクウィザードの[ソース] タブで、ターゲットデータの形式を指定できます。ターゲットでは、各レコードに次のフィールドが含まれます。- WID : レコードの一意の識別子またはプライマリキーを格納します。- Data : レコードの内容をJSONまたはXML形式で格納します。• アプリケーション取り込みとレプリケーション は、ソースフィールドの階層構造をターゲットで保持します。• アプリケーション取り込みとレプリケーション は、カスタムオブジェクトに格納されているデータをプロパゲートしません。• アプリケーション取り込みとレプリケーション ジョブが操作をターゲットに取り込むと、操作の名前が次の形式に変更されます: <Service_Name>__<Operation_Name> • Get_Budgest_Pools操作のデータは、Workdayで初期ロードジョブでのレプリケートが許可されない場合があります。• WorkdayソースとMicrosoft Azure Data Lake Storage Gen2ターゲット用に設定された初期ロードジョブは、レコードが含まれていない次の操作に対してスキーマファイルを生成しません。- Benefits_Administration__Get_ACA_1095-C_Forms_Data- Compensation_Review__Get_Budget_Pools- Compensation_Review__Get_Employee_Awards- Recruiting__Get_Assess_Candidate- Recruiting__Get_Interview_Feedbacks• Workdayソースの変更データをキャプチャするために増分ロードジョブを初めて実行するとき、ジョブは、アプリケーション取り込みとレプリケーション タスクで指定されている日時以降に作成された変更レコードのみを取得してロードします。日付と時刻は、アプリケーション取り込みとレプリケーション タスクウィザードでソースを設定するときに指定できます。ただし、停止または強制終了されたジョブを再開すると、ジョブは最後に中断したところから変更データのプロパゲートを開始します。• 増分ロードジョブは、ソースで実行された挿入と更新操作を自動的にキャプチャできます。ターゲットで更新/挿入操作を実行して、ソース データで実行された挿入と更新操作をレプリケートします。更新/挿入操作はソーススキーマに加えられたすべての変更を自動的にレプリケートするため、アプリケーション取り込みとレプリケーション タスクウィザードは、Workdayソースのスキーマドリフトオプションを提供していません。• アプリケーション取り込みとレプリケーション は、Workdayの次のサービスおよび操作の変更データをキャプチャできます。サービス
操作
Human_Resources
Get_Job_Profiles
Get_Organizations
Get_Workers
Recruiting
Get_Evergreen_Requisitions
Get_Job_Requisitions
Get_Organizations
Get_Positions
Staffing
Get_Organizations
Get_Positions
Get_Workers
Workday RaaSのガイドライン • Workday RaaSは、初期ロードタスクでのみ使用できます。• アプリケーション取り込みとレプリケーション タスクウィザードの[ソース] タブで、1つ以上のカスタムレポートからデータを読み取ることを選択できます。複数のレポートを抽出する場合は、Secure AgentホストでCSVファイルを作成し、ファイルの最初のカラムにレポートの名前をリストします。• Workday RaaSを使用するように設定されたアプリケーション取り込みとレプリケーション ジョブは、ソーススキーマに加えられた変更を検出できません。Zendeskソースのガイドライン Zendeskソースを使用する場合は、次のガイドラインを考慮してください。
• Zendeskソースの変更データをキャプチャするために増分ロードジョブを初めて実行するとき、ジョブは、関連付けられた取り込みタスクで指定されている日時以降に作成された変更レコードのみを取得してロードします。日付と時刻は、アプリケーション取り込みとレプリケーション タスクウィザードでソースを設定するときに指定できます。ただし、停止または強制終了されたジョブを再開すると、ジョブは最後に中断したところから変更データのプロパゲートを開始します。• Zendeskソース用に構成された増分ロードジョブ、および初期ロードジョブと増分ロードジョブの組み合わせは、ソーススキーマに加えられた変更を検出およびレプリケートしません。• ソースレコードに複数のカスタムフィールドが含まれている場合、アプリケーション取り込みとレプリケーション ジョブは、すべてのカスタムフィールドのデータをJSONオブジェクトとしてターゲットテーブルの単一のカラムに格納します。• アプリケーション取り込みとレプリケーション ジョブは、次のZendeskオブジェクトに存在するカスタムフィールドからデータを取得できます。- Organizations- Requests- Tickets- Users• 初期ロードジョブは、次のZendeskフィールドに保存されているデータのNULL値をプロパゲートします。- Support Addressesオブジェクトのdns resultsフィールド。- Target Failuresオブジェクトのraw requestフィールドとraw responseフィールド。- Satisfactory Ratingsオブジェクトのreason codeフィールド。- Sharing AgreementsオブジェクトのURLフィールド。• 初期ロードジョブは、次のZendeskオブジェクトに保存されているデータをプロパゲートしません。- Attachments- Channel Framework- Dynamic Content Item Variants- End users- Incremental Skill-based Routing- NPS® Invitations- NPS® Recipients- NPS® Responses- OAuth Tokens for Grant Types- Push Notification Devices- Search- Side Conversations- Side Conversation Attachment- Side Conversation Events- Skill-based Routing- Ticket Comments- Ticket Import- User Identities- User Passwords• アプリケーション取り込みとレプリケーション は、次のZendesk標準オブジェクトの変更データを取得できます。- NPS Recipients- Organizations- Side Conversation Events- Tickets- Tickets Metric Events- Users• 増分ロードジョブは、次のオブジェクトに保存されているレコードの削除を取得できます。- Organizations- Tickets- Users• アプリケーション取り込みとレプリケーション は、タイプObjectのソースフィールドの階層構造をレプリケートしません。ターゲットテーブルでは、すべてのフィールドが同じ階層レベルにあります。アプリケーション取り込みとレプリケーション ジョブが、複数レベルの階層を持つオブジェクトフィールドをレプリケートする場合、ジョブは対応する同じ階層レベルのカラムを作成します。