目次

Search

  1. はじめに
  2. 一括取り込みデータベース

一括取り込みデータベース

一括取り込みデータベース

スキーマドリフト処理

スキーマドリフト処理

一括取り込みデータベース
は、ソーススキーマの変更を自動的に検出し、ターゲットに対してこれらの変更を処理するように設定できます。このプロセスは、スキーマドリフト
と呼ばれます。
一括取り込みデータベース
は次のタイプのソーススキーマの変更を検出できます。
  • カラムの追加
  • カラムの変更
  • カラムの削除
  • カラム名の変更
タスクを定義するときに、データベース取り込みタスクウィザードの
[スケジュールおよびランタイムオプション]
ページで、サポートされているタイプのスキーマ変更の処理方法を設定できます。例えば、スキーマドリフトオプションを設定して、変更を無視したり、変更をレプリケートしたり、スキーマの変更が発生したときにジョブまたはサブタスクを停止したりできます。詳細については、スケジュールとランタイムオプションの設定を参照してください。スキーマ変更のタイプが異なると、ターゲットのタイプに応じてデフォルト設定が異なる場合があります。
スキーマドリフトオプションは、次のソースとターゲットの組み合わせおよびロードタイプでサポートされています。
ソース
ロードタイプ
ターゲット
Db2 for i
差分
初期と増分の組み合わせ
Amazon Redshift、Amazon S3、Databricks Delta、Google BigQuery、Google Cloud Storage、Kafka(増分ロードのみ)、Microsoft Azure Data Lake Storage、Microsoft Azure Synapse Analytics、Oracle、Oracle Cloud Object Storage、またはSnowflake
DB2 for z/OS(Db2 11を除く)
差分
初期と増分の組み合わせ
Amazon Redshift、Amazon S3、Databricks Delta、Google BigQuery、Google Cloud Storage、Kafka(増分ロードのみ)、Microsoft Azure Data Lake Storage、Microsoft Azure Synapse Analytics、Oracle、Oracle Cloud Object Storage、またはSnowflake
Microsoft SQL Server
差分
初期と増分の組み合わせ
Amazon Redshift、Amazon S3、Databricks Delta、Google BigQuery、Google Cloud Storage、Kafka(増分ロードのみ)、Microsoft Azure Data Lake Storage、Microsoft Azure Synapse Analytics、Oracle、Oracle Cloud Object Storage、またはSnowflake
Oracle
差分
初期と増分の組み合わせ
Amazon Redshift、Amazon S3、Databricks Delta、Google BigQuery、Google Cloud Storage、Kafka(増分ロードのみ)、Microsoft Azure Data Lake Storage、Microsoft Azure Synapse Analytics、Oracle、Oracle Cloud Object Storage、またはSnowflake
PostgreSQL
差分
初期と増分の組み合わせ
増分ロード: Amazon Redshift、Amazon S3、Databricks Delta、Google BigQuery、Google Cloud Storage、Kafka(増分ロードのみ)、Microsoft Azure Data Lake Storage、Microsoft Azure Synapse Analytics、Oracle、Oracle Cloud Object Storage、またはSnowflake
初期と増分の組み合わせ: OracleまたはSnowflake
  • ターゲットでサポートされていないタイプのスキーマ変更をレプリケートしようとすると、データベース取り込みジョブはエラーが発生して終了します。
  • 一括取り込みデータベース
    は、プライマリキーまたは一意キーの制約を追加、削除、または変更するソースの変更をレプリケートしません。ソースでこれらのタイプの変更が発生した場合は、ターゲットテーブルを再同期する必要があります。
  • 一括取り込みデータベース
    がスキーマの変更を検出したときにジョブを停止するスキーマドリフトオプションを設定している場合は、
    [オプションを指定して再開]
    コマンドを使用して、オーバーライドスキーマドリフトオプションを指定してジョブを再開することができます。
  • 一括取り込みデータベース
    がソーステーブルのスキーマ変更を検出するのは、変更されたソーステーブルでDML操作が発生した後のみです。DML操作に干渉せずに複数のスキーマ変更が発生した場合、
    一括取り込みデータベース
    はDML操作が発生すると、スキーマのすべての変更を一度に検出します。
    一括取り込みデータベース
    がサポートされているすべてのスキーマ変更を正しく検出するようにするために、Informaticaでは、スキーマ変更をソーステーブルに1つずつ適用し、その後に少なくとも1つのDML変更を適用することをお勧めします。
  • OracleまたはSQL Serverソースを持つタスクの[カラムの追加]オプションを[レプリケート]に設定した場合、一括取り込みデータベースは、テーブル定義の最後に新しいカラムが追加されると想定します。テーブル定義の途中に新しいカラムがある場合、一括取り込みデータベースは、カラムが削除されて再度追加されたかのように変更を処理する場合があります。この状況では、次の警告によって、同じカラムが削除されて追加されたと報告されることがあります。
    Column <column_name2> has been added. Column <column_name2> has been dropped.
  • Microsoft Azure Synapse Analyticsターゲットを持つデータベース取り込みタスクは、ソースカラムの名前変更操作をレプリケートできません。
    [レプリケート]
    オプションは使用できません。
  • Snowflakeターゲットを持つデータベース取り込みタスクは、次の制限付きでソースカラムの変更操作をサポートします。
    • Snowflakeターゲットは、NUMBERカラムのスケールを変更できません。
    • Snowflakeターゲットは、既存のカラムのデータ型を別のデータ型に変更することはサポートしていません。
  • Google BigQueryターゲットを持つデータベース取り込みタスクは、ソースカラムの名前変更または変更操作をレプリケートできません。これらの操作のスキーマドリフトオプションは使用できません。
  • [カラムの追加]
    オプションを
    [レプリケート]
    に設定してから、デフォルト値を持つカラムをDB2 for iソーステーブルに追加すると、
    一括取り込みデータベース
    は、ターゲットに新たに追加されたテーブル行にデフォルト値を追加します。ただし、ターゲットの既存の行は更新されず、デフォルト値が反映されません。既存のターゲット行に移入されたデフォルト値を取得するには、別の初期ロードを実行してターゲットを再実体化します。