SQL Developer Webの概要におけるDBMS_SCHEDULERのサポート (2022/01/25)
SQL Developer Webの概要におけるDBMS_SCHEDULERのサポート (2022/01/25)
https://www.thatjeffsmith.com/archive/2022/01/dbms_scheduler-support-in-sql-developer-web-overview/
数週間前にOracle REST Data Servicesのバージョン21.4をリリースしましたが、新機能の1つにSQL Developer WebのSchedulerサポートが追加されました。21.4に含まれるすべての内容を把握する必要がある場合は、ここで確認することができます。
Oracle Databaseには、DBMS_JOBSとDBMS_SCHEDULERという2種類のスケジューリングシステムが用意されています。DBMS_SCHEDULERの概要については、Oracle-Baseに非常によくまとまっているので、新しいトピックであれば、そちらを読むことを強くお勧めします。
スケジューラには、以下のような構成要素がありますが、それだけにとどまりません。
- ジョブ - スケジューリングするもの
- プログラム - ジョブの実行時に実行させたいコード...ジョブ自体に入れる場合と比較して
- ウィンドウ - ジョブを実行させたい期間、例えば「週末」。
- チェーン - ジョブのグループをステップで「チェーン」し、並行して実行することも可能
SQL Developer Webは、あなたが定義したもの、以前に実行されたもの、今後実行予定のものを見るためのインターフェイスを提供し、これらのチェーンを視覚化して、それらが何をしているかを理解することができます。
簡単なデモ
Timのスケジューラデモ、特にスケジューラチェーンについては、SQL Developer Webのスケジューラセクションに入り、実際に試してみることができます。
チェーンを見る、チェーンをクリックする、チェーンの画像を取得する、チェーンのステップをドリルインする、コードを見る。
SQL Developer Webの他のいくつかの機能と同様に、一連のレポートから始めています。ウィザードやダイアログによるジョブ、ウィンドウ、チェーンなどの作成は、今後のリリースでサポートされる予定です。
それでは、21.4(およびOracle Autonomous Databaseに近日追加予定)で今日できることを見ていきましょう。
「壊れている」または「今」実行されているものを表示
スケジューリングをクリックすると、何が壊れているかのレポートが表示され、現在実行中のものに素早く移動できるようにします。
1つのジョブを走らせているが、合計40個。そして、1つのジョブが私のところで失敗したこともあります。
管理者としては、稼働中のジョブや故障したジョブが気になるところです。だから、ここに誘導しているんです。100%成功した場合は、スケジューラ全体のジョブサマリーを表示する画面に移動します。
実行中のジョブのリストをクリックしてみましょう。
このジョブの実行時間、CPU消費量は?
問題のあったジョブに話を戻します。
何が問題だったのか?
ジョブ履歴レポート
そのジョブの履歴を掘り下げると、一度だけ実行されたことがわかり、そのジョブの実行で発生したエラーもわかります。
シングルレコードビューは、これらのログを読むのがとても簡単になります。
すべてのジョブを表示
ジョブサマリーページに移動した場合
ここではフィルタリングがかなり有効でしょう。ジョブオーナー、ステータス、ジョブタイプでフィルタリングすることができますね。
FAILEDになったMYジョブを表示してくれ、みたいな。
なんとか興味のある仕事までドリルダウンしたら
右にスクロールすると、各行の最後のセルに「アクション」ボタンがあります。
履歴...一定期間、このジョブで何が起こったかを表示します。
この特定のジョブで一定期間に何が起こったかを示す別のグリッドレポートです。
このウィンドウのデフォルトは、現在の日付から1週間前までです。
待てよ、これは何なんだ?
もしかしたら、そのジョブが思い通りに動いていないのかも?
ジョブ履歴レポートのほとんどにこのウィジェットが表示されます。もし何かがスケジュール通りに実行されていないなら、リソースの競合が発生している可能性があります。
たくさんの数字が並んでいますが、何が起こっているのかを知る良い方法はないでしょうか?
そう、チャートです。
ジョブ履歴のチャート化
ウィンドウを狭めてデータを拡大したり、生データをスライダーとして上に戻して開いたりすることができます。
来週何が起こるか教えてください
データベースで実行されるすべてのジョブを、平均遅延時間、時間期間、スケジュール開始時間に基づいて、将来のタイムラインを表示することができますね。
デフォルトでは全てを表示しますが、スキーマでフィルタリングしたり、1つ以上の選択したジョブのタイムラインを表示させることも可能です。
次の週にHRが実行されるものはすべてここにあります...
仕事全般の詳細を聞いたり、チェックマークをクリックして特定の予報の詳細を知ることができるんだ。
この仕事、見覚えがないんだけど、何してるんだろう?
という方、ぜひ一度試してみてください。
メタデータを掘り起こすのはとても大変です。SELECT * FROMs 🙂として自由に実行してください。
今後は、ディクショナリベースのレポートにどんどんチャートを埋め込んでいこうと思っています。それについてどう思いますか?
また、グリッド上に1つのレコードを表示する代わりに、オブジェクトのプロパティをJSONドキュメントとして表示することも試しています。上のアニメーションの終盤でご覧いただけます。正直なところ、最初に見たときは反対だったのですが、もしかしたら間違っていたかもしれないと認めることができるほど、私は大きな人間なのです。
チェーンに戻る
もっと「面白い」チェーンを見てみましょう。ズームイン、ズームアウトして、チェーンの依存関係とステップの分析をしてみましょう。
あなたのチェーンはこんなにきれいですか?
単純な「タスク」の実行が、あっという間にたくさんのプログラムの実行に拡大することがあります。このチェーンツールは、その複雑さを把握するのに役立ちます。
これで全部?
いいえ、そうではありません。このページには、たくさんのレポートとドリルダウンがあります。ジョブの実行、無効化、有効化など、オブジェクトに対していくつかの限定的なアクションを実行することができます。しかし、このリリースで構築したUIパターンと「クールな」機能の大部分を示すことができたと思います。
今年の後半には、次のようなものが登場する予定です。
すべてのスケジューラオブジェクトタイプの作成および編集ダイアログ
コメント
コメントを投稿