詳細な実行オプション
標準的な実行、停止、再開のオプションに加えて、タスクを実行するためのオプションもいくつか用意されています。次のいずれかを実行して、 [詳細な実行オプション] ダイアログを開くことができます。
- パイプライン ビューまたはタイル ビューで、レプリケーション タスクの メニューから、 [詳細な実行オプション] を選択します。
- レプリケーション タスクを開き、右上の メニューから [詳細な実行オプション] を選択します。
プロセスの変更
[詳細な実行オプション] ダイアログで、[プロセスの変更] を選択します。オプションは次のとおりです。
-
テーブルはすでにロードされています。 からプロセスの変更を開始:
情報メモタスクの停止中にソース テーブルで実行されたメタデータの変更 (DROP COLUMN など) は、タスクが以前の時間または位置 (SCN/LSN) から再開された場合にはキャプチャされません。このような場合は、タスクが再開されたときに存在するメタデータがキャプチャされます。-
日付と時刻: 変更のキャプチャを開始する日付と時刻を設定します。
情報メモ- ログがデータベースから削除されると (パージ ポリシーなどにより)、指定された日付と時刻に一致するログが存在しない場合があります。この場合、データ タスクは指定された日付と時刻以降の、可能な限り早い時点からタスクを再開します。
- IBM DB2 for LUW ソース エンドポイントでは、このオプションを使用して、 [変更の適用] タスクを元の開始時刻より前の時点から開始することはできません。別の言い方をすると、 [変更の適用] タスクの元の開始時刻以降の任意の時刻からタスクを開始する場合にのみ使用できます。
- タイムスタンプには、ブラウザ マシンの現地時間が使用されます。
-
ソース変更位置 (SCN または LSN): 変更処理を再開するログの位置を指定します。ソース変更位置の形式は、データ ソースに応じて異なります。詳細については、「ソース変更位置の確認方法」を参照してください。
情報メモ[ソース変更位置] オプションは、次のソース エンドポイントでのみサポートされます。
- Oracle
- Microsoft SQL Server
- MySQL
- PostgreSQL
- IBM DB2 for z/OS
- IBM DB2 for LUW
-
タスクの復元
[詳細な実行オプション] ダイアログで、[復元] を選択します。次のオプションを使用できます。
-
ローカルに保存されたチェックポイントを使用して復元する:テーブルがすでにロードされていて復元が不可能な場合は、このオプションを使用します。 オプションから変更の処理を開始します (スワップ ファイルの破損などによる)。このオプションが選択されている場合、レプリケーション タスクは <Data_Folder_Path>/data/tasks/<task_name>/StateManager に保存されているチェックポイント データを使用してタスクを復元します。
情報メモこのオプションを使用する場合は、次の制限と考慮事項に注意してください。
- トランザクション変更適用モードでのみサポートされ、トランザクションをサポートするデータ ターゲットでのみサポートされます。
- 次のデータ ソースのみがサポートされています。
- Oracle
- Microsoft SQL Server
MySQL
PostgreSQL
IBM DB2 for z/OS
SAP HANA
- タスクは CDC 中 (つまり、フル ロード完了後) にのみ復元できます
-
ターゲットに保存されたチェックポイントを使用して復元する:attrep_txn_state テーブル (ターゲット データベースに作成) のCHECKPOINT の値を使用してタスクを復元します。
チェックポイント値の例:
checkpoint:V1#15#0000038b:000033f1:0004#0#261#0000038b:0000348b:0009#0#273
データ フォルダー内のファイルが破損している場合、またはデータ フォルダーを含むストレージ デバイスに障害が発生した場合は、このオプションを選択します ([ローカルに保存されたチェックポイントを使用して復元する] オプションではなく)。
attrep_txn_state テーブルを使用して復元を設定および実装する方法の詳細については、「データ フォルダーの損失または破損からの復元」を参照してください。
ソース変更位置の確認方法
次のセクションでは、サポートされている各データベースのソース変更位置を確認する方法について説明します。
MySQL
オプション 1:
-
実行:
SHOW BINARY LOGS;
- binlog ファイル (例: log.000123) を選択します。
-
実行:
SHOW BINLOG EVENTS IN 'binlog_filename';
例:
SHOW BINLOG EVENTS IN 'log.000123';
-
BEGIN または DDL ステートメントの位置を見つけます (例: 1777888)。
情報メモMySQL はトランザクションの途中にある「開始位置」をサポートしていないため、BEGIN または DDL を選択する必要があります。
-
内部パラメーターの設定:
StartFromPosition = binlog_filename:begin_or_ddl_position
例:
StartFromPosition = log.000123:1777888
オプション 2:
-
実行:
SHOW MASTER STATUS;
-
「開始位置」を次のように設定:
firstColumnValue:secondColumnValue
例:
mysql.007472:775
Microsoft SQL Server
実行:
SELECT MAX([Current LSN]) FROM fn_dblog(null,null);
例: 00002717:00000e08:0003
Oracle
実行:
SELECT current_scn FROM V$DATABASE;
例: 1471212002
PostgreSQL
PostgreSQL のバージョンによってコマンドが異なることに注意してください。
PostgreSQL 10 以降
実行:
SELECT * FROM pg_current_wal_lsn();
IBM DB2 for z/OS
非データ共有環境では RBA である LSN を指定し、データ共有環境では LRSN を指定します。
IBM DB2 for LUW
- db2pd を実行して正しいログ名を見つけます。
-
返されたログ名で db2flsn を実行し、現在の LRI 値を使用します。
関連項目: pureScale 環境の LRI からタスクを再開または開始する
詳細については、Replicate ヘルプの「pureScale 環境の LRI からタスクを再開または開始する」を参照してください。
データ フォルダーの損失または破損からの復元
通常の動作中、移動 の状態は次の場所に保存されます。
<Data_Folder_Path>/data/tasks/<task_name>/StateManager
これにより、正常に再開できない (スワップ ファイルの破損などにより) タスク を、前述の [ローカルに保存されたチェックポイントを使用して復元する] オプションを使用して復元できるようになります。ただし、データ フォルダー内のファイルが破損した場合、またはデータ フォルダーを含むストレージ デバイスに障害が発生した場合は、代わりに [ターゲットに保存されたチェックポイントを使用して復元する] オプションを使用してタスクを復元する必要があります。
考慮事項と制限事項
このオプションを使用する場合は、次の考慮事項と制限に注意してください。
-
このオプションは、CDC が完了する前に、 [タスク設定] の [変更処理のチューニング] タブで [タスク リカバリ データをターゲット データベースに保存する] オプションが有効になっていた場合にのみ使用できます。
-
変更適用モードは [トランザクション] に設定する必要があります。
- 次のデータ ソース タイプのみがサポートされています。
- Amazon RDS for MySQL
- Amazon RDS for PostgreSQL
- Amazon RDS for SQL
- AWS Aurora Cloud for PostgreSQL
- Google Cloud SQL for MySQL
- PostgreSQL 用 Google Cloud SQL
- IBM DB2 for z/OS
- Microsoft Azure Database for MySQL
- Microsoft Azure SQL Managed Instance
- Microsoft SQL Server
- MySQL
- Oracle
- PostrgreSQL
- SAP HANA
- Microsoft SQL Server ターゲット タイプのみがサポートされています。
- タスクは CDC 中 (つまり、フル ロード完了後) にのみ復元できます
タスク復元の設定と開始
復元を成功させるには、タスクが失敗した時点からソース データベースのトランザクション ログを使用できる必要があります。
復元のためのタスク設定
- [タスク設定] の [変更処理のチューニング] タブで、 [タスク リカバリ データをターゲット データベースに保存する] オプションを必ず有効にしてください。このオプションは CDC 中にいつでも有効にできますが、CDC が完了する前に有効にする必要があります。
-
タスクを実行します。
選択したソース テーブルに加えて、タスクはターゲット データベースの attrep_txn_state テーブルにチェックポイント データを書き込みます (別のタスクによってまだ作成されていない場合は、テーブルが自動的に作成されます)。
復元を開始するには
- ターゲット データベースの attrep_txn_state テーブルにアクセスし、TASK_NAME 列で失敗したタスクを見つけます。複数の Qlik Talend Data Integration サーバー上で同じ名前のタスクが実行されている場合は、SERVER_NAME 列で適切なサーバーも見つける必要があります。関連するタスクを見つけたら、対応する CHECKPOINT 列の値をコピーします。
- [ターゲットに保存されたチェックポイントを使用して復元する] オプションを選択し、上記のように CHECKPOINT 値を入力します (貼り付けを推奨) 。
- [OK] をクリックして復元を開始します。
復元中、レプリケーション タスクは、CHECKPOINT 値に対応するコミット イベントを特定するまで、ターゲット データベースに何も書き込みません。CHECKPOINT コミット イベントを特定すると復元が実行され、タスクは標準操作に戻ります。