2023年6月1日木曜日

Oracle APEXのアップグレード(4) - ADBのAPEXのクローンとアップグレード

 Autonomous Databaseのクローン作業を確認します。Always Free枠のAutonomous Databaseは2インスタンスまで作成できるため、使用中のAutonomous Databaseをクローンし、アプリケーションの更新やテストを行うことができます。

Autonomous Databaseのクローンを作成するには、他のアクションクローンの作成を実行します。


アップグレードのテストに使用する場合は、クローン・タイプとしてフル・クローンを選択します。ソースのクローニングとしてデータベース・インスタンスからのクローニングを選択します。クローンはインスタンスを実行したまま実施できます。

表示名およびデータベース名を指定します。以下の例では表示名はClone-of-APEXDEV、データベース名はAPEXTESTとしています。


管理者資格証明パスワードを設定します。


ネットワーク・アクセスの選択ライセンスとOracle Databaseエディションの選択などを選択し(Always Freeの場合はほとんど選択肢はありません)、Autonomous Databaseのクローンの作成を実行します。


しばらく待つと、クローンであるAutonomous Databaseのインスタンスが作成されます。


作成されたAutonomous Databaseのインスタンスを使って、APEXのアップグレード前のテストを行うことができます。

APEXの管理サービスにサインインすると、APEXのアップグレードの猶予期間が表示されます。Always Freeのインスタンスでは、新しいバージョンのAPEXが利用可能になってからAPEXのアップグレードが実施されるまでに、45日の猶予期間が与えられています。猶予期間の延長はできません。

この期間の間にアップグレードのテストを完了する必要があります。猶予期間が満了すると、APEXは自動的にアップグレードされます。


有償のAutonomous Databaseの場合は、猶予期間を45日から90日に延長することができます。

使用可能な更新の案内に表示されている歯車のアイコンをクリックします。


アップグレード・ウィンドウを90日に変更し、変更の適用をクリックします。


以上で新しいバージョンのAPEXが利用可能になったときの猶予期間が延長されました。


アップグレードの猶予期間は、新しいバージョンのAPEXが利用可能になった後に延長することとはできません。延長された猶予期間は、次のアップデート・サイクルから適用されます。

この設定は、APEXのインスタンス・パラメータのUPGRADE_DEFERREDに相当します。90日に延長されている場合は、値がYになります。

begin
dbms_output.put_line(apex_instance_admin.get_parameter('UPGRADE_DEFERRED'));
end;



値を変更するには、apex_instance_admin.set_parameterを呼び出します。

begin
apex_instance_admin.set_parameter('UPGRADE_DEFERRED','N');
end;


API呼び出しにて変更された設定は、管理サービスでの表示に反映されます。


Autonomous DatabaseのAPEXアプリケーションは、最大でも90日の間にアップグレードの検証を完了する必要があります。

管理サービスの使用可能な更新に表示されている即時アップグレードをクリックすると、APEXはアップグレードされます。


確認のダイアログが表示されるので、即時アップグレードをクリックします。


管理サービスのページに、アップグレードが開始された旨、表示されます。


開発環境にサインインすると、以下のメッセージを確認できます。

Oracle APEXインスタンスを新しいリリースにアップグレード中です。 アプリケーションへの変更は、アップグレード・プロセスの間は無効化されます。アプリケーションおよびOracle APEX開発環境へのアクセスは、最大3分間中断されます。
アップグレードの最中は、アプリケーションの変更は実施すべきではありません。


アップグレードの作業自体は、apexins.sqlの実行と等価と考えて良いので、後はアップグレードの終了を待つだけになります。

バージョンの切り替え時はページ・アクセスの際にエラーが発生します。最大でも3分間で解消します。


バージョンの切り替えが終わった後に、言語リソースのロードが始まります。そのため、開発環境にアクセスすると、当初は英語だけになります。


ロードされているのは開発ツールの言語リソースなので、作成済みのアプリケーションの日本語表示に影響はありません。また、ユーザーが作成したアプリケーションは利用可能です。

ロードが完了した言語リソースから利用可能になります。


すべての言語リソースがロードされるまでにかなりの時間がかかりますが、最終的には10言語が利用可能になります。


続く