ジョブの作成とモニター

ジョブはOracle Cloud Infrastructureリソースの1つであり、これを使用して、単一の管理対象データベースまたはデータベース・グループ内のすべての管理対象データベースに対するSQLジョブを作成し、非同期的に実行できます。

ジョブを作成してその実行および実行処理をモニターする前に、次のことを行う必要があります:

  • 診断および管理の開始に記載されているタスクを確認し、完了します。「問合せ」タイプのジョブを作成するには、Oracle Cloud Infrastructure Object Storageのサービス権限が追加されている必要があります。詳細は、診断および管理を使用するために必要な追加権限を参照してください。
  • データベース・グループ内のすべてのデータベースに対するジョブを作成する場合は、データベース・グループを作成します。

「ジョブ」セクションに移動するには:

  1. Oracle Cloud Infrastructureコンソールにサインインします。
  2. ナビゲーション・メニューを開き、「監視および管理」をクリックします。「データベース管理」で、「診断および管理」をクリックします。
  3. 単一管理対象データベースかデータベース・グループのどちらにジョブを作成するかに応じて、次のいずれかのページに移動します:
  4. 左側のペインの「リソース」で、「ジョブ」をクリックします。

「ジョブ」セクションには、次のタブが表示されます:

  • 定義: このタブでは、ジョブを作成し、アクティブ状態である、「期間」フィールドで選択した期間内に作成されたジョブを表示できます。
  • 実行: このタブでは、ジョブの実行および実行処理をモニターできます。

ジョブの作成

単一の管理対象データベースまたはデータベース・グループに対して管理操作を実行するSQLジョブを作成できます。

ジョブの作成時に提供される情報は、次のコンポーネントに接続して対話できるようにするためのものです:

  • ジョブが実行される単一の管理対象データベースまたはデータベース・グループ。
  • 外部データベースの場合、ホストにインストールされ、外部データベースに接続されたOracle Cloud Infrastructure管理エージェントがジョブの実行に使用されます。
    ノート

    Oracle CloudデータベースおよびAutonomous Databasesの場合、管理エージェントは必要ありません。
  • 「問合せ」タイプのジョブのジョブ結果が格納されるOracle Cloud Infrastructureオブジェクト・ストレージ・バケット。

ジョブを作成するには:

  1. 管理対象データベースの「管理対象データベースの詳細」ページ、またはジョブを作成するデータベース・グループの「データベース・グループの詳細」ページに移動します。
  2. 左側のペインの「リソース」で、「ジョブ」をクリックします。
  3. 「ジョブ」セクションで、「定義」タブをクリックし、「ジョブの作成」をクリックします。
  4. 「ジョブの作成」パネルで:
    1. SQLジョブについて次の情報を指定します:
      1. ジョブ名: ジョブの一意の名前を入力します。
      2. ジョブの説明: オプションで、ジョブの説明を入力します。
      3. SQLタイプ: SQLタイプを選択します。使用可能なオプションは次のとおりです:
        • 問合せ
        • DML
        • DDL
        • PL*SQL
      4. コンパートメントの選択: ジョブを作成するコンパートメントを選択します。デフォルトでは、管理対象データベースまたはデータベース・グループが存在するコンパートメントが選択されますが、別のコンパートメントにジョブを作成することも選択できます。
      5. タイムアウト: SQLジョブにかかる可能性のある時間に応じて、ドロップダウン・リストからいずれかのオプションを選択します。選択したオプションに基づいて、ジョブの優先度が決定されます。
    2. 次のいずれかのオプションを選択して、ジョブのスケジュール詳細を指定します:
      • 1回(即時): ジョブを1回(即時)実行する場合に選択します。
      • 1回(後で): ジョブを1回(後で)実行し、その実行時刻を指定する場合に選択します。
      • 繰返し: 指定した頻度でジョブを複数回実行する場合に選択します。スケジュール済ジョブの終了日を指定する場合は、「終了日の定義」チェック・ボックスを選択する必要があります。
    3. 「資格証明タイプ」ドロップダウン・リストで、使用可能なオプションのいずれかを選択して、管理対象データベースに接続するためのデータベース資格証明を指定します。資格証明タイプの詳細は、資格証明を使用した診断および管理タスクの実行を参照してください。
      ノート

      • データベース・グループのジョブを作成する場合は、名前付き資格証明を使用できないため、「資格証明タイプ」ドロップダウン・リストで「新規資格証明」オプションを選択し、ユーザー名、ユーザー・パスワード・シークレットおよびロールを指定する必要があります。また、データベース・グループに対するジョブを作成する場合、データベース資格証明をデータベース・グループ内のすべてのデータベースに適用する必要があります。
      • スケジュール済ジョブの作成(1回または複数回実行)時に、「ポリシーが必要...」メッセージが表示された場合は、「ポリシーの追加」をクリックして、管理対象データベース・リソースにシークレットにアクセスする権限を付与するリソース・プリンシパル・ポリシーを表示し、自動的に追加します。Oracle Cloud Infrastructure IAMサービスによってポリシーが作成され、IAMサービスのDBMgmt_Resource_Policyというポリシーのコレクションに追加されます。
    4. 「問合せ」タイプのジョブの場合、ジョブ結果が格納されるオブジェクト・ストレージ・バケットを選択します。「バケット名」ドロップダウン・リストを含む「ジョブ結果用のOracleオブジェクト・ストレージ」セクションは、「問合せ」タイプのジョブを選択した場合にのみ表示されます。オブジェクト・ストレージ・バケットは、ジョブと同じコンパートメントにも、別のコンパートメントにも配置できます。バケットを選択するには、必要なオブジェクト・ストレージ・サービス権限を持っている必要があります。

      スケジュール済ジョブの作成(1回または複数回実行)時に、「ポリシーが必要...」メッセージが表示された場合は、「ポリシーの追加」をクリックして、管理対象データベース・リソースにスケジュール済ジョブの結果をオブジェクト・ストレージ・バケットに書き込む権限を付与するリソース・プリンシパル・ポリシーを表示し、自動的に追加します。IAMサービスによってポリシーが作成され、IAMサービスのDBMgmt_Resource_Policyというポリシーのコレクションに追加されます。

      詳細は、次を参照してください:

    5. 「SQLのロード」をクリックしてSQLコマンドをロードするか、「SQLコマンド」フィールドに入力します。SQLコマンドを入力する場合は、後続の;/を追加しないでください。
    6. 「問合せ」DMLおよびPL*SQLタイプのジョブでは、オプションで「バインド変数」セクションにバインド変数を追加します。バインド変数をプレースホルダとして使用し、文を正常に実行するために有効な値に置き換える必要がある場合は、「バインド変数の追加」をクリックして、次の情報を指定します:
      1. 位置: バインド変数の位置を選択します。
      2. タイプ: バインド変数がバインド内変数かバインド外変数かを指定するタイプを選択します。
      3. データ型: 関連するデータ型を選択します。
      4. 配列タイプ: 数値の配列および文字列の配列データ型の配列タイプを入力します。「データ型」フィールドで「数値」「文字列」または「CLOB」を選択した場合、このフィールドは表示されません。
      5. : バインド変数値を入力します。

      さらにバインド変数値を追加するには、「バインド変数の追加」をクリックし、必要な情報を指定します。バインド変数の詳細は、『Oracle Database SQLチューニング・ガイド』変数およびカーソルのバインドを参照してください。

    7. オプションで、「拡張オプションの表示」をクリックして、フリーフォームまたは定義済のタグをジョブに追加します。ジョブの作成に必要な権限がある場合は、フリーフォーム・タグを追加する権限もあります。定義済タグを追加するには、タグ・ネームスペースを使用する権限が必要です。

      詳細は、次を参照してください:

    8. 「ジョブの作成」をクリックします。
新しいジョブは、管理対象データベースまたはデータベース・グループの「定義」タブの「ジョブ」セクションにリストされます。ジョブが実行中の場合、ジョブのステータスは「アクティブ」であり、すでに実行されている場合は「非アクティブ」です。

ジョブのアクション・アイコン(アクション)をクリックし、次のタスクを実行できます:

  • 詳細の表示: クリックして「ジョブ詳細」ページに移動し、ジョブ、ジョブの実行と実行処理、ジョブが実行される関連付けられた管理対象データベース、およびタグ関連タスクを実行します。詳細は、ジョブの実行および実行処理のモニターを参照してください。
  • ジョブのクローニング: ジョブをクローニングする場合にクリックします。
  • ジョブの編集: 「アクティブ」状態のスケジュール済繰返しジョブの詳細を編集する場合にクリックします。
  • ジョブの移動: 現在のコンパートメントから別のコンパートメントにジョブを移動する場合にクリックします。
  • ジョブの削除: ジョブを削除する場合にクリックします。

「実行」タブの「ジョブ」セクションに、関連付けられた実行および実行処理を表示できます。「期間」フィールドで選択した期間のジョブ実行が、ジョブ実行処理のステータスの概要(「成功」「失敗」および「進行中」)とともに表示されます。実行処理ステータスのリンクをクリックすると、実行処理をステータスでフィルタできます。

ノート

Oracle Cloudデータベースのジョブ実行の時間制限は50分です。ジョブ実行がこの制限を超えると失敗し、エラーが表示されます。

dbmgmtJobExecutionsCountメトリックを使用して、Oracle Cloud Infrastructure Monitoringサービスで、メトリック問合せを構築し、ジョブ実行ステータスに対するアラームを作成できます。詳細は、Oracle Databasesの診断および管理メトリックを参照してください。

失敗したジョブ・アラームの作成に使用できる問合せの例を次に示します:

dbmgmtJobExecutionsCount[1m]{managedDbId = "<OCID of the Oracle Database>", status = "Failed"}.mean()

問合せでは、managedDbIdディメンションを使用して、問合せでOCIDが指定されている管理対象データベースの失敗したジョブを通知します。同様に、次のディメンションを使用できます。

  • managedDbGroupId: データベース・グループ内のすべての管理対象データベースの失敗したジョブについて通知します。
  • jobId: 特定のジョブが失敗した場合に通知されます。

アラームの作成方法の詳細は、基本アラームの作成を参照してください。

ジョブの実行および実行処理のモニター

管理対象データベースまたはデータベース・グループに対する発行済ジョブの実行および実行処理をモニターできます。ジョブ実行処理は、ジョブに関連付けられた管理対象データベースごとに作成され、ジョブ実行は、スケジュールされた日に実行された特定のジョブの実行処理の合計です。

ジョブの実行および実行処理を表示するには:

  1. 「管理対象データベースの詳細」または「データベース・グループの詳細」ページに移動します。
  2. 「スコープ」の左ペインで、ジョブが作成されたコンパートメントが選択されていることを確認します。
  3. 左側のペインの「リソース」で、「ジョブ」をクリックします。
  4. 「ジョブ」セクションで、「定義」タブをクリックし、ジョブの名前をクリックします。または、対応するアクション・アイコン(アクション)をクリックして、「詳細の表示」をクリックすることもできます。

「ジョブの詳細」ページが表示され、ジョブ、ジョブの実行と実行処理、およびジョブが実行される関連付けられた管理対象データベースの詳細が表示されます。このページでは、ジョブの編集、移動、削除、タグの使用などのタスクを実行できます。また、各ジョブ実行処理とそのステータスをモニターすることもできます。これを行うには:

  1. 「ジョブ実行」セクションで、ジョブ実行を展開し、ジョブ実行処理リンクをクリックします。

    ジョブ実行処理リンクの形式は次のとおりです:

    <Name of job>_<Name of Managed Database>_YYYY-MM-DD'T'HH:MM:SS.SSS
  2. 「ジョブ実行の詳細」ページで、ジョブ実行処理ステータス、実行処理に関連付けられたSQL、ジョブ実行処理の期間などの詳細を確認します。期間は、データベースでのSQLの実行にかかった時間だけでなく、ジョブ実行処理ワークフロー全体の完了にかかった時間です。
  3. 「問合せ」タイプのジョブの場合は、「出力のダウンロード」をクリックして、ジョブ実行出力を.txtファイルにダウンロードします。
    ノート

    「出力のダウンロード」オプションは、「問合せ」タイプのジョブでのみ使用できます。このオプションを使用できるのは、必要なOracle Cloud Infrastructureオブジェクト・ストレージ・サービス権限を持っている場合のみです。詳細は、診断および管理を使用するために必要な追加権限を参照してください。