コンテナapex-dbに接続して、SQL*Plusを実行します。ORDSはFREEPDB1にインストールされている前提です。
podman exec -it apex-db bash
% podman exec -it apex-db bash
bash-4.4$ sqlplus / as sysdba
SQL*Plus: Release 23.0.0.0.0 - Production on Tue Dec 17 01:30:23 2024
Version 23.5.0.24.07
Copyright (c) 1982, 2024, Oracle. All rights reserved.
Connected to:
Oracle Database 23ai Free Release 23.0.0.0.0 - Develop, Learn, and Run for Free
Version 23.5.0.24.07
SQL> alter session set container = freepdb1;
Session altered.
SQL>
SYSやSYSTEMといったDBA権限を持ったユーザーでデータベースに接続している場合は、以下のコマンドでデータベースにインストールされたORDSのバージョンを確認します。
select ords_metadata.ords_admin.installed_version from dual;
SQL> select ords_metadata.ords_admin.installed_version from dual;
INSTALLED_VERSION
--------------------------------------------------------------------------------
24.3.0.r2620924
SQL>
パッケージORDSの実行権限を持つデータベース・ユーザーで接続している場合は、以下のコマンドでORDSのバージョンを確認できます。
select ords.installed_version from dual;
SQL> select ords.installed_version from dual;
INSTALLED_VERSION
--------------------------------------------------------------------------------
24.3.0.r2620924
SQL>
以上より、データベースにインストールされているORDSのバージョンが24.3.0.r2620924であることが確認できました。
podman exec -it apex-ords bash
% podman exec -it apex-ords bash
[oracle@apex ords]$
ORDSのコンテナに含まれるNOTICE.txtに、コンテナに含まれているORDSのバージョンが記載されています。ファイルの内容を確認します。
[oracle@apex ords]$ more NOTICE.txt
Release Notes for Oracle REST Data Services 24.3.0.r2620924
----------------------------------------------------
The release notes are available at
https://www.oracle.com/tools/ords/ords-relnotes-24.3.0.html
[oracle@apex ords]$
コンテナに含まれているORDSが24.3.0.r2620924であることが確認できます。
ords --config /etc/ords/config --version
[oracle@apex ords]$ ords --config /etc/ords/config --version
ORDS: Release 24.3 Production on Tue Dec 17 01:40:21 2024
Copyright (c) 2010, 2024, Oracle.
Configuration:
/etc/ords/config
Oracle REST Data Services 24.3.0.r2620924
[oracle@apex ords]$
NOTICE.txtと同様に、バージョンが24.3.0.r2620924であることが確認できます。
https://container-registry.oracle.com/ords/ocr/ba/database/ords
ARM64およびAMD64ともに、最新のリリースが24.4.0であることが確認できます。
% podman pull container-registry.oracle.com/database/ords:latest
Trying to pull container-registry.oracle.com/database/ords:latest...
Getting image source signatures
Copying blob sha256:6b2276e7c34502084ba45359f48945cb1f8e9be0dae02b54d2e7601e9e16887b
Copying blob sha256:ff2d62e0124d4c22a72b692d4ec2bc8e513a3ea8d0eeabf5039b640051211857
Copying blob sha256:7283ff96fa7bfbeca82e3ad7f93286e1b237e58696803d40028e357fe2dce3b9
Copying blob sha256:8e8398ae8996e610aeafa80ea44d503b7d34e69aaac8adb3d5a01773ab89ae84
Copying blob sha256:3918d843340022050fe95bfd4844a8b67e27be90377c46506a4ff03fd166d375
Copying blob sha256:a02d370031d9594cdbdd916e412d7239de66e1c503a9225017ce73b98b1526b7
Copying blob sha256:3da2537959fce36986a78d991c7a1e90afc352dfb7d9ce4edc63ecbdd3d35b62
Copying blob sha256:0300cc03546fa58d9129eabad7d85fd76cfdc4f3f1f3117cec917e55ce21f338
Copying blob sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1
Copying config sha256:fd63c34a0d88d8279ef7f36e854993757216c9f8fdf42fe3c276d22480fcebf8
Writing manifest to image destination
fd63c34a0d88d8279ef7f36e854993757216c9f8fdf42fe3c276d22480fcebf8
%
% podman images
REPOSITORY TAG IMAGE ID CREATED SIZE
container-registry.oracle.com/database/ords latest fd63c34a0d88 5 hours ago 2 GB
ghcr.io/berriai/litellm main-v1.54.1 b3a579138ec2 7 days ago 1.4 GB
ghcr.io/berriai/litellm main-latest b3a579138ec2 7 days ago 1.4 GB
podとして作成しているapexをコンテナごと作り変えます。apex.yamlにはコンテナapex-ordsの作成にcontainer-registry.oracle.com/database/ords:latestを使うように記載されているので、作り直した時点での最新のバージョンのORDSに置き換わります。
% podman pod stop apex
apex
% podman pod rm apex
bbbc7882ccda851c3c8a76360913f4598fe35d25d75362d1f3fa56795011698c
% podman kube play apex.yaml
Pod:
3350365e1306d499fa969f6f31d899b4ae5b6185bee01948a75dea99deee89d3
Containers:
6d1d42af1c1a694d2d38140557edabc37d89a5b69a38b2706458bb15f91f1a9d
40e4da61fbd649892aab5153103c7e1cbd00bf610796e00eb34e7b2a8aea5aed
%
作り直されたORDSのコンテナに接続し、ORDSのバージョンを確認します。
% podman exec -it apex-ords bash
[oracle@apex ords]$ cat NOTICE.txt
Release Notes for Oracle REST Data Services 24.4.0.r3451601
----------------------------------------------------
The release notes are available at
https://www.oracle.com/tools/ords/ords-relnotes-24.4.0.html
[oracle@apex ords]$ ords --config /etc/ords/config --version
ORDS: Release 24.4 Production on Tue Dec 17 02:00:21 2024
Copyright (c) 2010, 2024, Oracle.
Configuration:
/etc/ords/config
Oracle REST Data Services 24.4.0.r3451601
[oracle@apex ords]$
ORDSのコンテナとしては、バージョンが24.4.0.r3451601になっていることが確認できます。
% podman exec -it apex-db bash
bash-4.4$ sqlplus / as sysdba
SQL*Plus: Release 23.0.0.0.0 - Production on Tue Dec 17 02:02:06 2024
Version 23.5.0.24.07
Copyright (c) 1982, 2024, Oracle. All rights reserved.
Connected to:
Oracle Database 23ai Free Release 23.0.0.0.0 - Develop, Learn, and Run for Free
Version 23.5.0.24.07
SQL> alter session set container = freepdb1;
Session altered.
SQL> select ords_metadata.ords_admin.installed_version from dual;
INSTALLED_VERSION
--------------------------------------------------------------------------------
24.3.0.r2620924
SQL>
データベースにインストールされているORDSのスキーマのバージョンは変わらず24.3.0.r2620924です。ミドルティアにインストールされているORDSを入れ替えただけでは、データベースにイントールされたORDSのスキーマはアップデートされません。
% podman stop apex-ords
apex-ords
%
installコマンドを実行します。以下では対話形式のインストールを実行しています。
podman run --pod apex --name ords-update --rm -it \
-v ords_config:/etc/ords/config container-registry.oracle.com/database/ords:latest install
% podman run --pod apex --name ords-update --rm -it \
> -v ords_config:/etc/ords/config container-registry.oracle.com/database/ords:latest install
2024-12-17T02:09:27Z INFO ORDS has not detected the option '--config' and this will be set up to the default directory.
ORDS: Release 24.4 Production on Tue Dec 17 02:09:28 2024
Copyright (c) 2010, 2024, Oracle.
Configuration:
/etc/ords/config
Oracle REST Data Services - Interactive Install
Enter a number to select the database pool to upgrade ORDS or create an additional database pool
[1] default jdbc:oracle:thin:@//localhost:1521/freepdb1
[C] Create an additional database pool
Choose [1]:
Provide database user name with administrator privileges.
Enter the administrator username: sys
Enter the database password for SYS AS SYSDBA: **********
Retrieving information.
Connecting to database user: ORDS_PUBLIC_USER url: jdbc:oracle:thin:@//localhost:1521/freepdb1
2024-12-17T02:09:33.182Z INFO Created folder /opt/oracle/ords/logs
2024-12-17T02:09:33.183Z INFO The log file is defaulted to the current working directory located at /opt/oracle/ords/logs
2024-12-17T02:09:33.208Z INFO Upgrading Oracle REST Data Services schema 24.3.0.r2620924 to version 24.4.0.r3451601 in FREEPDB1
2024-12-17T02:09:36.773Z INFO Completed upgrade for Oracle REST Data Services version 24.4.0.r3451601. Elapsed time: 00:00:03.548
2024-12-17T02:09:36.774Z INFO Log file written to /opt/oracle/ords/logs/ords_upgrade_2024-12-17_020933_18358.log
2024-12-17T02:09:36.773Z INFO Completed upgrade for Oracle REST Data Services version 24.4.0.r3451601. Elapsed time: 00:00:03.548
podman stop ords-update
% podman stop ords-update
ords-update
%
以上でORDSスキーマのアップグレードが完了したら、ORDSのコンテナを起動します。
podman start apex-ords
% podman start apex-ords
apex-ords
%
データベースに接続し、ORDSのスキーマのバージョンを確認します。
% podman exec -it apex-db bash
bash-4.4$ sqlplus / as sysdba
SQL*Plus: Release 23.0.0.0.0 - Production on Tue Dec 17 02:18:24 2024
Version 23.5.0.24.07
Copyright (c) 1982, 2024, Oracle. All rights reserved.
Connected to:
Oracle Database 23ai Free Release 23.0.0.0.0 - Develop, Learn, and Run for Free
Version 23.5.0.24.07
SQL> alter session set container = freepdb1;
Session altered.
SQL> select ords_metadata.ords_admin.installed_version from dual;
INSTALLED_VERSION
--------------------------------------------------------------------------------
24.4.0.r3451601
SQL>
スキーマのバージョンが24.4.0.r3451601に上がっていることが確認できます。