28. 28
フィルタ範囲の追加または削除
範囲ビルダを使用して、[範囲] 列に 1 つ以上の値を追加できます。リスト内のいずれかの範囲に一致する値は、レプリケーションに含まれます。
範囲ビルダを使用するには:
1. [Table Settings]ウィンドウの [Filter]タブで、フィルタする列を選択します。詳細については、「フィルタの使用」を参照してください。
2. [Ranges] 列の右側にあるボタンをクリックします。範囲ビルダーが開きます。
3. [Add Range]をクリックします。表示されたドロップダウン リストから次のいずれかを選択します。
条件 表示 説明
Equal to Equal to = [N] 選択した列の値が入力した値と等しい場合、
[ Include/Exclude外] 列で選択したオプ
ションに応じて、レプリケーションタスクに結果が含
まれるか除外されます。
Between Between [N] - [N] 入力した 2 つの値の間の値が列に含まれている
場合は、結果は[ Include/Exclude]列で
選択したオプションに応じてレプリケーションタスク
に含まれるか除外されます。
Less than or equal to Less than or Equal to =< [N] 選択した列の値が入力した値以下の場合、
[Include/Exclude] 列で選択したオプション
に応じて、レプリケーションタスクに結果が含まれる
か除外されます。
Greater than or equal to Less than or Equal to =< [N] 選択した列の値が入力した値以上の場合、
[Include/Exclude] 列で選択したオプション
に応じて、レプリケーションタスクに結果が含まれる
か除外されます。
32. 32
Parallel Load
• Full Loadレプリケーションモードでは、テーブルをセグメントに分割し、セグメントを並列でロードすることにより、大きなテーブルのレプリケー
ションを高速化できます。
• テーブルは、データ範囲、パーティション、またはサブパーティション別にセグメント化できます。
33. 33
サポートされているエンドポイント
タスクは、次のソースエンドポイントとターゲットエンドポイントの組み合わせで定義する必要があります。
サポートされているソース エンドポイント:
• Oracle
• Microsoft SQL Server
• MySQL
• PostgreSQL
※パーティションまたはサブパーティションによるテーブルセグメンテーションは、
PostgreSQL ソースエンドポイントではサポートされていません。
• IBM DB2 for LUW
• IBM DB2 for z/OS
※パーティションまたはサブパーティションによるテーブルセグメンテーションは、
IBM DB2 for z/OSソースエンドポイントではサポートされていません。
• SAP Sybase ASE
• SAP Application
• SAP Application (DB)
• Amazon RDS for Microsoft SQL Server
• Teradata
サポートされているターゲット エンドポイント:
• Oracle
• Microsoft SQL Server
• Hadoop (Hortonworks, Cloudera,
and MapR)
• PostgreSQL
• Google Cloud SQL for PostgreSQL
• Sybase ASE
• Vertica
• MySQL
• File
• Amazon S3
• Amazon Redshift
• Amazon EMR
• Databricks on AWS
• Microsoft Azure SQL Database
• Microsoft Azure Database for
MySQL
• Microsoft Azure ADLS
• Microsoft Azure Database for
PostgreSQL
• Microsoft Azure Databricks
• Microsoft Azure Data Warehouse
• Microsoft Azure HDInsight
• Google Cloud SQL for MySQL
• Google Cloud BigQuery
• Google Dataproc
• Google Cloud Storage
• Hortonworks Data Platform (HDP)
• Snowflake on AWS
• Snowflake on Azure
• Snowflake on Google
• Cloudera Data Platform (CDP)
Private Cloud
35. 35
データ範囲でセグメントの境界を定義する場合
5. [Define Segment Boundaries] セクションで、次の手順を実行します。
a. [Add Segment]をクリックしてセグメントを追加します。選択した列は、表見出
しとして表示されます。
b. 選択した列にセグメントの上位データ範囲を入力します。
c. 必要に応じて、セグメントを追加します。
d. [Validate] をクリックして、指定したデータがソース列のデータ型に対応している
こと、および定義されたすべてのセグメントに値が含まれていることを検証します。
e. セグメントを削除するには、目的のセグメントを選択し、[Delete] をクリックします。
6. [OK] をクリックして設定を保存します。
※[Use Data Ranges] を選択すると、すべての列にデータ範囲が定義されていない場
合でも、すべてのテーブル データがレプリケートされます。
※DATE 列の値は、ソースでサポートされている形式で入力する必要があります。たとえば、Oracle ソース
の場合、正しい形式は次のようになります。
ALTER SESSION SET NLS_DATE_FORMAT:
‘YYYY-MM-DD HH24:MI:SS’ (YYYY-MM-DDだけでも有効であることを指定)
ALTER SESSION SET NLS_TIMESTAMP_FORMAT:
YYYY-MM-DD HH24:MI:SS.FF9'
ALTER SESSION SET NLS_TIMESTAMP_TZ_FORMAT:
'YYYY-MM-DD HH24:MI:SS.FF9 TZH:TZM’
36. 36
データ範囲でセグメントの境界を定義する使用例
Column_1 Column_2 Column_3
10 30 105
20 20 120
100 12 99
次のセグメントが[Define Segment Boundaries]テーブルで定義されているとします。
この場合、ロードセグメントごとに次の「WHERE」句が作成されます。
• Segment 1: ((COL1 < 10) OR ((COL1 = 10) AND (COL2 < 30)) OR ((COL1 = 10) AND (COL2 = 30) AND (COL3 < 105)))
• Segment 2: NOT ((COL1 < 10) OR ((COL1 = 10) AND (COL2 < 30)) OR ((COL1 = 10) AND (COL2 = 30) AND (COL3 < 105)))
AND ((COL1 < 20) OR ((COL1 = 20) AND (COL2 < 20)) OR ((COL1 = 20) AND (COL2 = 20) AND (COL3 < 120)))
• Segment 3: NOT ((COL1 < 20) OR ((COL1 = 20) AND (COL2 < 20)) OR ((COL1 = 30) AND (COL2 = 20) AND (COL3 < 120)))
AND ((COL1 < 100) OR ((COL1 = 100) AND (COL2 < 12)) OR ((COL1 = 100) AND (COL2 = 12) AND (COL3 < 99)))
• Segment 4: NOT ((COL1 < 100) OR ((COL1 = 100) AND (COL2 < 12)) OR ((COL1 = 100) AND (COL2 = 12) AND (COL3 < 99)))
37. 37
すべてのテーブル パーティションによるセグメント境界を定義する場合
テーブルが既にパーティション化されていることが確実な場合にのみ、この方法を選択してください。
1. [Parallel Load] タブの[Select Parallel Load Method] セクションで、[Use Partitions] を選択します。
2. [Select Partitions]セクションで、[Use all table partitions] を選択します。これにより、ソース データベースに既に存在するパーティションに
従ってテーブルがセグメント化されます。
3. 次のいずれかを選択します。
• Use main partitions
• Use sub partitions (ソース データベースがサブパーティションをサポートしていない場合、このオプションは無効になります。)
4. [OK] をクリックします。