2023年8月3日木曜日

ORDS 23.2の最初の画面をAPEXの画面に戻す(ADB-Sを除く)

 Oracle REST Data Services 23.2より、http(s)://ホスト/ords/だけでアクセスしたときに表示される画面が、APEXのサインイン画面から以下の画面に変更されました。


これをAPEXワークスペースのサインイン画面に戻してみます。ORDSのプロパティのmisc.defaultPageapexを設定します。


Setting TypeがPool specificになっていますが、Globalの間違いだと思います。


ADBでも/ords/でアクセスすると上記のページが開くようになっていますが、こちらはプロパティmisc.defaultPageを変更する方法がないため、変更できません。APEXのワークスペースのサインイン画面に直接アクセスしたいときは/ords/apexとURLにapexを加えるようにします。

以下の記事の手順に沿って、ORDSをインストールした場合を想定します。

Oracle APEXの環境作成(6) - Oracle REST Data Servicesのインストール

最初にORDSをアップデートします。rootユーザーで、以下のコマンドを実行します。

dnf --repofrompath ol8_oracle_software,http://yum.oracle.com/repo/OracleLinux/OL8/oracle/software/x86_64 update ords

[root@apex opc]# systemctl stop ords

[root@apex opc]# dnf --repofrompath ol8_oracle_software,http://yum.oracle.com/repo/OracleLinux/OL8/oracle/software/x86_64  update ords

Added ol8_oracle_software repo from http://yum.oracle.com/repo/OracleLinux/OL8/oracle/software/x86_64

Oracle Linux 8 BaseOS Latest (x86_64)                             182 kB/s | 3.6 kB     00:00    

Oracle Linux 8 BaseOS Latest (x86_64)                              81 MB/s |  61 MB     00:00    

Oracle Linux 8 Application Stream (x86_64)                        204 kB/s | 3.9 kB     00:00    

Oracle Linux 8 Application Stream (x86_64)                         79 MB/s |  48 MB     00:00    

Latest Unbreakable Enterprise Kernel Release 7 for Oracle Linux 8 227 kB/s | 3.0 kB     00:00    

Latest Unbreakable Enterprise Kernel Release 7 for Oracle Linux 8  73 MB/s |  18 MB     00:00    

ol8_oracle_software                                               206 kB/s | 2.9 kB     00:00    

ol8_oracle_software                                               1.6 MB/s |  94 kB     00:00    

Dependencies resolved.

==================================================================================================

 Package         Architecture      Version                   Repository                      Size

==================================================================================================

Upgrading:

 ords            noarch            23.2.1-2.el8              ol8_oracle_software             95 M


Transaction Summary

==================================================================================================

Upgrade  1 Package


Total download size: 95 M

Is this ok [y/N]: y

Downloading Packages:

ords-23.2.1-2.el8.noarch.rpm                                       37 MB/s |  95 MB     00:02    

--------------------------------------------------------------------------------------------------

Total                                                              37 MB/s |  95 MB     00:02     

Running transaction check

Transaction check succeeded.

Running transaction test

Transaction test succeeded.

Running transaction

  Preparing        :                                                                          1/1 

  Running scriptlet: ords-23.2.1-2.el8.noarch                                                 1/1 

  Running scriptlet: ords-23.2.1-2.el8.noarch                                                 1/2 

  Upgrading        : ords-23.2.1-2.el8.noarch                                                 1/2 

  Running scriptlet: ords-23.2.1-2.el8.noarch                                                 1/2 

INFO: Before starting ORDS, run the below command as user oracle to migrate 

INFO: your configuration from previous versions to 22.1.0:

        ords --config /etc/ords/config install --legacy-config <path_to_legacy_config> --admin-user <db_admin_user>

INFO: To enable the ORDS service during startup, run the below command:

        sudo  systemctl enable ords


  Running scriptlet: ords-23.1.3-4.el8.noarch                                                 2/2 

  Cleanup          : ords-23.1.3-4.el8.noarch                                                 2/2 

  Running scriptlet: ords-23.2.1-2.el8.noarch                                                 2/2 

  Running scriptlet: ords-23.1.3-4.el8.noarch                                                 2/2 

  Verifying        : ords-23.2.1-2.el8.noarch                                                 1/2 

  Verifying        : ords-23.1.3-4.el8.noarch                                                 2/2 


Upgraded:

  ords-23.2.1-2.el8.noarch                                                                        


Complete!

[root@apex opc]# 


続いて接続先のデータベースに存在するスキーマORDS_METADATAをアップデートします。ORDSをインストールしたユーザー(今回はoracle)で実行します。

ords --config /etc/ords/config install

インストレーションのタイプとしてInstall or upgrade ORDS in the database onlyを選択します。続いて、アップグレードするスキーマORDS_METADATAが存在するデータベースへの接続に使用する接続プールを選択します。

[oracle@apex config]$ ords --config /etc/ords/config install


ORDS: Release 23.2 Production on Thu Aug 03 08:16:23 2023


Copyright (c) 2010, 2023, Oracle.


Configuration:

  /etc/ords/config/


Oracle REST Data Services - Interactive Install


  Enter a number to select the type of installation

    [1] Install or upgrade ORDS in the database only

    [2] Create or update a database pool and install/upgrade ORDS in the database

    [3] Create or update a database pool only

  Choose [1]: 

  Enter a number to select the database pool to use or specify the database connection

    [1] default      jdbc:oracle:thin:@//localhost:1521/freepdb1

    [2] Specify the database connection

  Choose [1]: 

  Provide database user name with administrator privileges.

    Enter the administrator username: sys

  Enter the database password for SYS AS SYSDBA: 

Connecting to database user: SYS AS SYSDBA url: jdbc:oracle:thin:@//localhost:1521/freepdb1


Retrieving information.

Connecting to database user: ORDS_PUBLIC_USER url: jdbc:oracle:thin:@//localhost:1521/freepdb1

2023-08-03T08:16:48.351Z INFO        Upgrading Oracle REST Data Services schema 23.1.3.r1371032 to version 23.2.1.r2001208 in FREEPDB1

------------------------------------------------------------

Date       : 03 Aug 2023 08:16:48

Release    : Oracle REST Data Services 23.2.1.r2001208

Type       : ORDS Upgrade from 23.1.3.r1371032 to 23.2.1.r2001208

Database   : Oracle Database 23c Free,  

DB Version : 23.2.0.0.0

------------------------------------------------------------

Container Name: FREEPDB1

------------------------------------------------------------


[*** Info: Upgrade intialize ]

[*** script: ords_alter_session_script.sql] 


[中略]


[*** script: ords_version.sql] 


Session altered.



PL/SQL procedure successfully completed.


[*** script: ords_completed_upgrade.sql] 


Session altered.


INFO: 17:16:56 Validating objects for Oracle REST Data Services.

VALIDATION: 17:16:56 Starting validation for schema: ORDS_METADATA

VALIDATION: 17:16:56 Validating objects

VALIDATION: 17:16:58 Validating roles granted to ORDS_METADATA and

ORDS_PUBLIC_USER

VALIDATION: 17:16:58 Validating ORDS Public Synonyms

VALIDATION: 17:16:58 Total objects: 332, invalid objects: 0, missing objects: 0

VALIDATION: 17:16:58     95  INDEX

VALIDATION: 17:16:58      1  JOB

VALIDATION: 17:16:58      3  LOB

VALIDATION: 17:16:58     23  PACKAGE

VALIDATION: 17:16:58     22  PACKAGE BODY

VALIDATION: 17:16:58      1  PROCEDURE

VALIDATION: 17:16:58     58  PUBLIC SYNONYM

VALIDATION: 17:16:58      1  SEQUENCE

VALIDATION: 17:16:58     33  TABLE

VALIDATION: 17:16:58     33  TRIGGER

VALIDATION: 17:16:58     20  TYPE

VALIDATION: 17:16:58      6  TYPE BODY

VALIDATION: 17:16:58     36  VIEW

VALIDATION: 17:16:58 Validation completed.

INFO: 17:16:58 Completed validating objects for Oracle REST Data Services.



PL/SQL procedure successfully completed.



Commit complete.


[*** script: ords_alter_session_script.sql] 


PL/SQL procedure successfully completed.


2023-08-03T08:16:58.702Z INFO        Completed upgrade for Oracle REST Data Services version 23.2.1.r2001208. Elapsed time: 00:00:10.239 


[*** Info: Upgrade complete ]

[*** Info: Completed upgrade for Oracle REST Data Services version 23.2.1.r2001208. Elapsed time: 00:00:10.239 

 ]

[oracle@apex config]$ 


以上でアップグレード完了です。この後、ORDSを起動します。

ORDSのバージョンを確認します。2023年8月時点での最新バージョンの23.2.1.r2001208であることが確認できます。

[oracle@apex config]$ ords --config /etc/ords/config --version


ORDS: Release 23.2 Production on Thu Aug 03 08:47:58 2023


Copyright (c) 2010, 2023, Oracle.


Configuration:

  /etc/ords/config/


Oracle REST Data Services 23.2.1.r2001208

[oracle@apex config]$ 


データベースのスキーマORDS_METADATAのバージョンを確認します。APEXのSQLコマンドから実行します。

select ords.installed_version from dual;

ords --versionで報告されたバージョンと、同じバージョンであることを確認します。

ords.installed_versionの実行には特殊な権限が必要なため、SYSやSYSTEMでは実行できません。SQL Developer WebSQLワークシートAPEXSQLコマンドより実行することをお勧めします。


オンプレミスのインストールでは、ORDSのバージョンアップを行なったのちスキーマのアップグレードを忘れがちになります。ADBでCustomer Managed ORDSの場合は、スキーマORDS_METADATAはオラクル側でバージョンアップするため、Customer Managed ORDSのバージョンアップを忘れがちになります。

可能な限りORDSとORDS_METADATAのバージョンは一致させておく必要があります。

今回の記事の本題である、ORDSのデフォルト・ページを変更します。ORDSのインストールを行なったユーザー(今回はoracle)で以下のコマンドを実行します。

ords --config /etc/ords/config config set --global misc.defaultPage apex

[oracle@apex config]$ ords --config /etc/ords/config config set --global misc.defaultPage apex


ORDS: Release 23.2 Production on Thu Aug 03 08:55:22 2023


Copyright (c) 2010, 2023, Oracle.


Configuration:

  /etc/ords/config/


The global setting named: misc.defaultPage was set to: apex

[oracle@apex config]$ 


設定後ORDSを再起動すると、デフォルト・ページがAPEXワークスペースへのサインイン画面に変わります。