スキップしてメイン コンテンツに移動

ORDSを「インストール」せずに、新しいバージョンのORDSをテスト (2024/07/01)

ORDSを「インストール」せずに、新しいバージョンのORDSをテスト (2024/07/01)

https://www.thatjeffsmith.com/archive/2024/07/testing-a-new-version-of-ords-without-installing-it/

ORDSの新しいバージョンは3ヶ月ごとにリリースしており、場合によってはそれよりも頻繁にリリースすることもあります。

新バージョンがリリースされた場合(例えば、先週リリースされたバージョン24.2など)、できるだけ早く導入計画を立てる必要があります。新しい保守期間は、従来の5年から18ヶ月に変更されました。

ORDSミッドティアコンポーネントのテスト方法

ORDSは2つの部分から構成されています。

  1. WebLogic、Tomcat、または単体(スタンドアロン)で実行されるJavaコード
  2. ORDS_METADATAスキーマに格納されているデータベースコード

「ords install」を実行すると、データベースコードのインストールまたはアップグレードが行われます。「ords serve」を実行すると、ミドルティアのJavaコードが起動されます。

ORDS 24.1が稼働中にORDS 24.2を起動します

ORDS_METADATA のデータベースビットは更新せず、ORDS 24.1 が稼働している状態で、同時に ORDS 24.2 を起動するだけです。

現在、ポート8181でORDS 24.1が動作しており、設定フォルダ/ords/new_configを使用しています。そのため、同じマシン上で別のORDSを起動する場合は、別のポートを指定する必要があります。

設定ファイルをいじる必要はありません。ords を呼び出すときに http(s) ポートを直接指定するだけで済みます。例:

ords --config c:\ords\new_config serve --port 8080

ORDSがポート8080で正常に起動していることが確認できます。そうでなければ、別のプロセス(ORDS 24.1!)が既にポート8181を占有していたため、ORDSはポート8181にバインドできず、起動に失敗していたはずです。

つまり、現時点では、私のマシン上で新しいORDS 24.2 Javaコードが実行されており、ORDS 24.1 PL/SQLコードが格納されているデータベースに接続されています。

よし、新しいステータスコードなど、何かテストしてみよう…

24.2のリリースノートを読むと、これが一番最初に記載されていることから、かなり重要なことのようです。

さて、最初のテストはかなり簡単です。

REST対応スキーマ(HR)を選択し、データベースアカウントをロックすることができます。そうすることで、そのスキーマ内のリソースをリクエストした際に、ORDS_PUBLC_USERがHRへのプロキシ接続を試みると、接続が失敗します。

ヒント:ダミーアカウントを使用してください。実際のアカウントを壊したくないでしょう。

ユーザーHRアカウントのロックを変更します。

予想通り、新しいステータスコード「570」が再び表示されました。素晴らしい!

待って、これってなんで「かっこいい」の?

「ORDS」を含むアプリケーションを監視していて、エラー発生時にアラームや通知が作動するように設定している場合、さまざまな問題に対して1つの汎用的なコードを使用するのではなく、6つの特定の問題に対して6つの新しいステータスコードが追加されたことで、より高度なルールを設定できるようになりました。

可観測性は非常に重要であり、今回のアップデートによって、Oracle Databaseに関連付けられたWeb層で何が起こっているのかをより明確に把握できるようになるはずです。

🔖これ🔗すべてのORDSステータスコード(ドキュメント)

コメント

このブログの人気の投稿

Oracle Database 19cサポート・タイムラインの重要な更新 (2024/11/20)

ミリ秒の問題: BCCグループとOCIが市場データ・パフォーマンスを再定義する方法(AWSに対するベンチマークを使用) (2025/11/13)

Oracle Enterprise Manager 24aiの概要 (2024/12/18)