パイプラインの制御(パイプラインの起動、停止、削除またはリセット)

パイプラインを作成してテストした後、パイプラインを開始、停止または削除してパイプラインを制御します。パイプラインをリセットすることもできます。

パイプラインの開始

パイプラインを作成した後、パイプラインを開始できます。

パイプラインが開始されると、パイプラインはスケジュールされたジョブで継続的に実行されます。パイプラインのスケジュール済ジョブは、デフォルトで15分ごと、またはinterval属性で設定した間隔で繰り返されます。

  1. パイプラインを開始します。
    BEGIN
      DBMS_CLOUD_PIPELINE.START_PIPELINE(
          pipeline_name => 'EMPLOYEE_PIPELINE'
      );
    END;
    /

    デフォルトでは、パイプライン・ジョブは、パイプラインが開始されるとすぐに開始されます。パイプライン・ジョブを後で開始するには、start_dateパラメータを使用して、有効な将来の日付またはタイムスタンプを指定します。

    詳細は、START_PIPELINEプロシージャを参照してください。

  2. パイプラインが開始されていることを確認します。

    たとえば:

    
    SELECT pipeline_name, status from USER_CLOUD_PIPELINES
       WHERE pipeline_name = 'EMPLOYEE_PIPELINE';
    
    PIPELINE_NAME            STATUS  
    ------------------------ ------- 
    EMPLOYEE_PIPELINE        STARTED

パイプラインの停止

STOP_PIPELINEを使用して、パイプラインを停止します。パイプラインが停止すると、パイプラインに将来のジョブはスケジュールされません。

デフォルトでは、パイプラインを停止すると、現在実行中のジョブが完了します。実行中のジョブを終了し、パイプラインを即時に停止するには、forceパラメータをTRUEに設定します。

  1. パイプラインを停止します。
    BEGIN
      DBMS_CLOUD_PIPELINE.STOP_PIPELINE(
          pipeline_name => 'EMPLOYEE_PIPELINE'
      );
    END;
    /

    詳細は、STOP_PIPELINEプロシージャを参照してください。

  2. パイプラインが停止していることを確認します。
    
    SELECT pipeline_name, status from USER_CLOUD_PIPELINES
       WHERE pipeline_name = 'EMPLOYEE_PIPELINE';
    
    PIPELINE_NAME            STATUS  
    ------------------------ ------- 
    EMPLOYEE_PIPELINE        STOPPED

詳細は、STOP_PIPELINEプロシージャを参照してください。

パイプラインの削除

プロシージャDROP_PIPELINEは、既存のパイプラインを削除します。

パイプラインが開始されている場合は、パイプラインを削除する前に停止する必要があります。詳細は、STOP_PIPELINEプロシージャを参照してください。

起動されたパイプラインを削除するには、forceパラメータをTRUEに設定して、実行中のジョブを終了し、パイプラインをすぐに削除します。

  1. パイプラインを削除します。
    BEGIN
      DBMS_CLOUD_PIPELINE.DROP_PIPELINE(
          pipeline_name => 'EMPLOYEE_PIPELINE'
      );
    END;
    /
  2. パイプラインが削除されたことを確認します。
    SELECT pipeline_name, status from USER_CLOUD_PIPELINES
       WHERE pipeline_name = 'EMPLOYEE_PIPELINE';
    
    No rows selected

詳細は、DROP_PIPELINEプロシージャを参照してください。

パイプラインのリセット

パイプラインのリセット操作を使用して、パイプラインのレコードを初期状態にクリアします。
ノート

オプションで、リセット・パイプラインを使用して、ロード・パイプラインに関連付けられたデータベース表のデータをパージしたり、エクスポート・パイプラインのオブジェクト・ストア内のファイルを削除できます。通常、このオプションは、パイプライン開発中にパイプラインをテストする場合に使用されます。

リセット・パイプラインは次のように動作します。

  • ロード・パイプライン: ロード・パイプラインの場合、パイプラインをリセットすると、パイプラインによってロードされるファイルのレコードがクリアされます。ロード・パイプラインのリセット後にSTART_PIPELINEまたはRUN_PIPELINE_ONCEをコールすると、パイプラインはデータ・ロードを繰り返し、オブジェクト・ストアの場所にあるすべてのファイルを含めます。

    purge_dataTRUEに設定されている場合、プロシージャはデータベース表内のデータを切り捨てます。

  • エクスポート・パイプライン: エクスポート・パイプラインの場合、パイプラインをリセットすると、データベース表の最後の追跡データがクリアされます。エクスポート・パイプラインのリセット後にSTART_PIPELINEまたはRUN_PIPELINE_ONCEをコールすると、パイプラインは表または問合せからのデータのエクスポートを繰り返します。

    purge_dataTRUEに設定されている場合、プロシージャは、location属性で指定されたオブジェクト・ストアの場所にある既存のファイルを削除します。

パイプラインをリセットするには:

  1. リセットするパイプラインを停止します。

    データ・パイプラインをリセットするには、データ・パイプラインが停止状態である必要があります。詳細は、STOP_PIPELINEプロシージャを参照してください。

  2. パイプラインをリセットします。
    BEGIN
         DBMS_CLOUD_PIPELINE.RESET_PIPELINE(
            pipeline_name => 'EMPLOYEE_PIPELINE',
            purge_data => TRUE);
    END;
    /

    データベース表のデータをクリアする場合、ロード・パイプラインの場合、またはエクスポート・パイプラインのオブジェクト・ストア内のファイルをクリアする場合にのみ、値TRUEpurge_dataパラメータを使用します。通常、このオプションは、パイプライン開発中にパイプラインをテストする場合に使用されます。

    詳細は、RESET_PIPELINEプロシージャを参照してください。