クライアント・インタフェースで使用されている主な構造体はジョブ・ハンドルで、コール元に対しては整数として表示されます。ハンドルは、DBMS_DATAPUMP
.OPEN
ファンクションまたはDBMS_DATAPUMP
.ATTACH
ファンクションを使用して作成します。他のセッションをジョブに接続してその進捗状況を監視および制御できます。この機能によって、DBAは帰宅前にジョブを開始して、自宅でその進捗状況を確認できます。ハンドルはセッション固有です。同じジョブによって、セッションごとに異なるハンドルを作成できます。
未定義: ハンドル作成前
定義中: ハンドルの最初の作成時
実行中: DBMS_DATAPUMP
.START_JOB
プロシージャの実行時
完了中: ジョブがその作業を終了し、データ・ポンプ・プロセスを終了中
完了: ジョブの完了時
停止保留: 手順に従ったジョブの停止が要求された場合
停止処理中: ジョブの停止処理を実行中
アイドル: 停止しているジョブに接続するためにDBMS_DATAPUMP.ATTACH
が実行されてから、そのジョブを再開するためにDBMS_DATAPUMP.START_JOB
が実行されるまでの期間
未実行: 実行されていない(関連付けられたデータ・ポンプ・プロセスが存在しない)ジョブに対してマスター表が存在する状態
「アイドル」状態のジョブに対してDBMS_DATAPUMP
.START_JOB
を実行すると、「実行中」状態に戻ります。
すべてのユーザーがDBMS_DATAPUMP
.DETACH
を実行して「定義中」状態のジョブとの接続を切断すると、そのジョブはデータベースから完全に削除されます。
ジョブが異常終了した場合またはジョブを実行しているインスタンスが停止した場合、「実行中」または「アイドル」状態のジョブは「未実行」状態になります。ユーザーは、その状態からジョブを再開できます。
マスター制御プロセスは、「定義中」、「アイドル」、「実行中」、「停止処理中」、「停止保留」、「完了処理中」の状態でアクティブです。また、一時的に「停止」および「完了」の状態にもなります。ジョブのマスター表は、「未定義」状態を除いてすべての状態で存在します。ワーカー・プロセスは「実行中」および「停止保留」状態、つまりインポート・ジョブに対する「定義中」状態でのみアクティブです。
ジョブの状態が「実行中」の場合に接続を切断しても、そのジョブは停止しません。実行中のジョブにはいつでも再接続して、ジョブに関する状態情報を再度取得できます。
DBMS_DATAPUMP.DETACH
プロシージャが実行されると、明示的に切断されることがあります。または、データ・ポンプAPIセッションが停止した場合や、データ・ポンプAPIがデータ・ポンプ・ジョブと通信できない場合、もしくはDBMS_DATAPUMP.STOP_JOB
プロシージャが実行された場合は、暗黙的に切断されることがあります。
「未実行」状態は、実行中のジョブのコンテキストの外部にマスター表が存在することを示します。この状態は、(後で再開するために)ジョブが停止された場合またはジョブが異常終了した場合に発生します。また、この状態は、ジョブの開始時に行われるジョブの状態の移行中、およびマスター表を削除する前に行うジョブの終了時に、一時的に発生する場合があります。「未実行」状態は、DBA_DATAPUMP_JOBS
ビューおよびUSER_DATAPUMP_JOBS
ビューでのみ表示されます。GET_STATUS
プロシージャから返されることはありません。
表6-1に、DBMS_DATAPUMP
プロシージャを実行できる有効なジョブの状態を示します。この表に示す状態は、特に指定がないかぎり、エクスポートとインポートの両方で有効です。
表6-1 DBMS_DATAPUMPプロシージャを実行できる有効なジョブの状態
プロシージャ名 | 有効な状態 | 説明 |
---|---|---|
ADD_FILE |
定義中(エクスポート・ジョブとインポート・ジョブの両方で有効) 実行中、アイドル(エクスポート・ジョブでダンプ・ファイルを指定する場合にのみ有効) |
ダンプ・ファイル・セット、ログ・ファイルまたはSQLFILEの出力用のファイルを指定する。 |
ATTACH |
定義中、実行中、アイドル、停止、完了、完了処理中、未実行 |
ユーザー・セッションで、ジョブの監視または停止したジョブの再開を可能にする。ジョブのダンプ・ファイル・セットまたはマスター表が削除または変更されている場合、接続操作は失敗します。 |
DATA_FILTER |
定義中 |
ジョブが処理するデータを制限する。 |
DETACH |
すべて |
ユーザー・セッションをジョブから切断する。 |
GET_DUMPFILE_INFO |
すべて |
ダンプ・ファイルのヘッダー情報を取得する。 |
GET_STATUS |
完了、未実行、停止および未定義を除くすべての状態 |
ジョブの状態を取得する。 |
LOG_ENTRY |
定義中、実行中、アイドル、停止保留、完了処理中 |
ログ・ファイルにエントリを追加する。 |
METADATA_FILTER |
定義中 |
ジョブが処理するメタデータを制限する。 |
METADATA_REMAP |
定義中 |
ジョブが処理するメタデータを再マップする。 |
METADATA_TRANSFORM |
定義中 |
ジョブが処理するメタデータを変更する。 |
OPEN |
未定義 |
新しいジョブを作成する。 |
SET_PARALLEL |
定義中、実行中、アイドル |
ジョブの並列度を指定する。 |
SET_PARAMETER |
定義中脚注1 |
ジョブのデフォルトの処理を変更する。 |
START_JOB |
定義中、アイドル |
ジョブを開始または再開する。 |
STOP_JOB |
定義中、実行中、アイドル、停止保留 |
ジョブの停止を開始する。 |
WAIT_FOR_JOB |
完了、未実行、停止および未定義を除くすべての状態 |
ジョブの終了を待機する。 |
脚注1
ENCRYPTION_PASSWORD
パラメータは、アイドル状態および定義中状態のときに入力できます。