2025年4月22日火曜日

ローカルのOracle APEXのSQLワークショップにSQL Developer Webを組み込む

Oracle REST Data Services 25.1のリリース・ノートのDeprecation Noticeに、以下が記載されています。Oracle APEXがSQLワークショップの機能のひとつとして提供しているRESTfulサービスが非推奨になり、SQL Developer Webが推奨ツールになります。

Oracle REST Data Services 25.1
Release Notes
Version 25.1.0.100.1652
Date: April 2025
Deprecation Notice 
The RESTful Services area of the SQL Workshop for building and managing ORDS REST APIs in APEX has been deprecated. The recommended web interface for managing your ORDS REST APIs is Database Actions, also known as, SQL Developer Web.

Oracle APEXのSQLワークショップの以下のメニューに当たります。


Autonomous DatabaseではデフォルトでSQLワークショップSQL Developer Webが含まれています。そのため、スキーマがREST有効化ずみであれば、そのままSQL Developer Webを開くことができます。


ローカルのデータベースにインストールしたOracle APEXでは、SQLワークショップにSQL Developer Webを含めるには追加の設定が必要です。

デフォルトではSQLワークショプSQL Developer Webのメニューはありません。


以下よりSQLワークショップSQL Developer Webを追加する手順を紹介します。

手順はドキュメントの以下に説明されています。

Oracle APEX SQLワークショップ・ガイド Release 24.1
7 RESTfulサービスを使用したデータ交換の有効化
7.9 APEXからSQL Developer Webへの直接アクセス

ドキュメントでは「メニュー・オプションを有効にするための要件」として、「Oracle REST Data Servicesリリース23.1.0 (HTTPSモードで実行)。」とありますが、HTTPでも構成できました。恐らく、ドキュメントに最近の設定が反映されていないと思われます。

設定はAPEXの管理サービスより行います。

管理サービスにサインインし、インスタンスの設定機能構成を開きます。


機能構成SQLワークショップのセクションにあるSQL Developer Webの有効化はいに変更します。

変更の適用をクリックします。


変更が保存されると、SQLワークショップのメニューにSQL Developer Webが含まれるようになります。


開発ツールに戻ってSQLワークショップを確認します。SQL Developer Webが含まれています。


SQL Developer Webを開こうとすると、ワークスペース・スキーマの選択を求められます。

ダイアログに記載されているように、SQLワークショップからSQL Developer Webを直接開くには、APEXのスキーマがあらかじめREST対応REST有効化ともいいます)になっている必要があります。


Oracle APEXではRESTfulサービスを開き、ORDSにスキーマを登録を実行することで、スキーマをREST対応にすることができました。


Oracle APEXのRESTfulサービスが非推奨ということは、この画面も非推奨になります。

Autonomous Databaseの場合は管理者ユーザーADMINでSQL Developer Webに接続し、ユーザーの編集画面から、REST有効化、無効化を設定できます。

以下のユーザー編集画面のWebアクセスオンに切り替えることで、そのスキーマでRESTサービスの呼び出しを受付ができるようになります。REST別名については、スキーマがAPEXで使用されていて名前がWKSP_で始まる場合は、WKSP_以降の文字列を小文字で設定します。


ローカルにインストールしたOracle APEXの場合、Autonomous Databaseとは異なり、SQL Developer Webに管理者ユーザーでサインインするには追加の設定が必要です。追加の設定については、以前の記事「ローカル環境のSQL Developer Webの管理者ユーザーを作成する」で紹介しています。SQL Developer Webに管理者ユーザーでアクセスできるように構成した後はAutonomous Databaseと同様に、SQL Developer WebよりRESTを有効にできます。

以下はユーザーPDBADMINにDBAロールを割り当て、SQL Developer Webにサインインしています。ORDS 25.1よりダーク・モードがサポートされています。


この他の方法として、管理者ユーザー(SYS)でORDS_ADMIN.ENABLE_SCEMAを呼び出す、または対象スキーマでORDS.ENABLE_SCHEMAを呼び出す方法があります。プロシージャの引数などは同じなので、今回は管理者ユーザーで実行してみます。
begin
ords_admin.enable_schema(
p_enabled => true,
p_schema => 'スキーマ名',
p_url_mapping_pattern => 'ORDS別名'
);
end;
/

SQL> begin

  2  ords_admin.enable_schema(

  3  p_enabled => true,

  4  p_schema => 'WKSP_APEXDEV',

  5  p_url_mapping_pattern => 'apexdev'

  6  );

  7  end;

  8* /


PL/SQLプロシージャが正常に完了しました。


SQL> commit;


コミットが完了しました。


SQL> 


以上の設定で、ローカルのOracle APEXのSQLワークショップよりSQL Developer Webを開いて、REST開発ツールを利用できるようになります。


必須ではありませんが、APEXの管理サービスのインスタンスの管理/機能構成RESTのセクションに含まれるRESTfulサービスを有効にするいいえにすると、SQLワークショップよりRESTfulサービスが除かれます。


以下のようにSQLワークショップからRESTfulサービスが除かれます。


Oracle APEXの管理サービスの代わりに、パッケージAPEX_INSTANCE_ADMINのSET_PARAMETERを呼び出してSQL Developer Webの有効化オンにするには、パラメータALLOW_SQL_DEVELOPER_WEBを設定します。

APIリファレンスのAvailable Parameter Valuesには、なぜか含まれていなかったので、ビューAPEX_INSTANCE_PARAMETERSを検索して確認しています。

SQL> select * from apex_instance_parameters where name like '%SQL%';


NAME                          VALUE     CREATED_ON    LAST_UPDATED_ON    

_____________________________ _________ _____________ __________________ 

ALLOW_SQL_DEVELOPER_WEB       Y         25-04-21      25-04-21           

ENABLE_TRANSACTIONAL_SQL      N         25-04-21      25-04-21           

PLSQL_EDITING                 Y         25-04-21      25-04-21           

SQL_SCRIPT_MAX_OUTPUT_SIZE    200000    25-04-21      25-04-21           

DG_ALLOW_SQL_DATA_SOURCES     Y         25-04-21      25-04-21           

SQL_COMMAND_MAX_INACTIVITY    60        25-04-21      25-04-21           


6行が選択されました。 


SQL> 


RESTfulサービスSQLワークショップから除くには、パラメータRESTFUL_SERVICES_ENABLEDNにします。

SQL> select * from apex_instance_parameters where name like '%REST%';


NAME                                                           VALUE     CREATED_ON    LAST_UPDATED_ON    

______________________________________________________________ _________ _____________ __________________ 

RESTFUL_SERVICES_ENABLED                                       N         25-04-21      25-04-22           

DG_MAXIMUM_NUMBER_OF_ROWS_TO_RETRIEVE_FROM_REST_DATA_SOURCE    500000    25-04-21      25-04-21           


SQL> 


Oracle REST Data Services 25.1より追加されたダーク・モードですが、ユーザーのプレファレンスより設定します。


テーマには(Light)、(Dark)、Same as browserの3つから選べます。


今回の記事は以上になります。