目次

Search

  1. はじめに
  2. Workflow Manager
  3. ワークフローとワークレット
  4. セッション
  5. セッション設定オブジェクト
  6. タスク
  7. ソース
  8. ターゲット
  9. 接続オブジェクト
  10. 検証
  11. ワークフローのスケジュール設定と実行
  12. メールの発信
  13. Workflow Monitor
  14. Workflow Monitorの詳細
  15. セッションとワークフローのログ
  16. セッションプロパティリファレンス
  17. ワークフロープロパティリファレンス

ワークフローベーシックガイド

ワークフローベーシックガイド

ターゲットテーブルの切り詰め

ターゲットテーブルの切り詰め

統合サービスでは、セッションの実行前にターゲットテーブルを切り詰めることができます。 ターゲット単位でテーブルの切り詰めを選択できます。 ターゲットインスタンスが複数ある場合でも、ターゲットテーブル切り詰めオプションは1つのターゲットインスタンスについて選択するだけで済みます。
統合サービスは、セッションターゲット内のターゲットデータベースおよびプライマリキーと外部キーのリレーションに基づいて、deleteコマンドまたはtruncateコマンドを発行します。 パフォーマンスを最適化するには、truncate tableコマンドを使用します。delete fromコマンドはパフォーマンスに影響を与える可能性があります。
以下の表に、統合サービスが各データベースに発行するコマンドを示します。
ターゲットデータベース
外部キーで参照されるプライマリキーが含まれるテーブル
外部キーで参照されるプライマリキーが含まれないテーブル
DB21
delete from <テーブル名>
truncate table <table_name> immediate
Informix
delete from <テーブル名>
delete from <テーブル名>
ODBC
delete from <テーブル名>
delete from <テーブル名>
Oracle
delete from <テーブル名> unrecoverable
truncate table <テーブル名>
Microsoft SQL Server
delete from <テーブル名>
truncate table <table_name>2
Sybase 11.x
truncate table <テーブル名>
truncate table <テーブル名>
統合サービスがtruncate target tableコマンドを発行し、ターゲットテーブルインスタンスがテーブル名のプレフィックスを指定すると、統合サービスはtruncateコマンドを発行することによってターゲットテーブルのデータベースユーザー特権を検証します。 データベースユーザーがターゲットオーナー名として指定されていない場合、またはデータベースユーザーにターゲットテーブルを切り詰めるデータベース特権がない場合、統合サービスは代わりにdeleteコマンドを発行します。
統合サービスがdeleteコマンドを発行し、データベースのログが有効になっていた場合、データベースはロールバックに備えて、削除されたレコードをすべてログに保存します。 削除されたレコードをロールバック用に保存しない場合は、ログを無効にして削除の速度を高めることができます。
すべてのデータベースにおいて、ユーザーに必要な特権がないために、統合サービスが選択したテーブルの切り詰めまたは削除に失敗した場合、セッションは失敗します。
以下のセッションでターゲットテーブルの切り詰めを有効化する場合、統合サービスではターゲットテーブルの切り詰めが実行されません。
  • 差分集計。
    セッションプロパティでターゲットテーブルの切り詰めと差分集計を両方とも有効にした場合、Workflow Managerは、同じセッション内で両方とも有効にすることはできないという警告を生成します。
  • テストロード。
    ターゲットテーブルの切り詰めとテストロードを両方とも有効にした場合、統合サービスはテーブルの切り詰め機能を無効にしてテストロードセッションを実行した後、テストロードセッションのためにターゲットテーブルの切り詰めオプションがオフにされたというメッセージをセッションログに書きこみます。
  • リアルタイム。
    リカバリデータを含むJMSまたはWebSphere MQリアルタイムセッションをリスタートした場合、統合サービスはターゲットテーブルを切り詰めません。