アップグレード

すでにOracle Application ExpressをインストールしているユーザーがOracle Application Expressのバージョンのアップグレードを希望する場合は、次の項目を検討する必要があります。

バージョンおよびパッチセット

Oracle Application Expressはダウンロードのページから入手できる最新バージョンに定期的にアップグレードすることを強く推奨します。 Oracle Application Expressに対して報告されているバグの大半は、関連するリリースの既知の問題に関するページにリストされています。 Oracle Application Expressの最新バージョンを実行しているユーザーが各自のインストールを更新できるように、可能な場合はバグに対するパッチセットが公開されます。 メジャー・バージョンの間にはしばしばポイント・リリースがあります。たとえばOracle Application Express 4.2.1ではバグが修正され、その時点でリリースされているすべてのパッチセットが組み込まれます。ただし、新しい機能は導入されていません。 パッチセットおよびポイント・リリースはMy Oracle Supportからダウンロードできます。
注:たとえばOracle Application Express 4.1からOracle Application Express 4.2.1のように、以前のリリースのOracle Application Expressからアップグレードする場合は、ダウンロードのページから最新のファイルを単純にダウンロードできます。 ただし、Oracle Application Express 4.2からOracle Application Express 4.2.1へアップグレードする場合は、My Oracle Supportからポイント・リリースをダウンロードする必要があります。

Oracle Database 11g Release 2をインストールすると、Oracle Application Express 3.2.1がデフォルトで組み込まれます。同様に、Oracle Database 11g Release 1にはOracle Application Express 3.0.2が付属していました。 最新のリリースには、追加機能のほかに、最新のバグ修正とともに機能上およびパフォーマンス上の改良が多数含まれているため、どのような使用例の場合も、ダウンロードのページにある最新のリリースをなるべく早目にインストールする必要があります。

現在実行しているOracle Application Expressのバージョンを確認するには、アプリケーション・ビルダー環境にログインします。 ホーム・ページの右下隅に現在のリリースが表示されます。 1つのOracle Databaseサーバーに構成できるのは、1つのバージョンのOracle Application Expressのみです。 異なるバージョンのOracle Application Expressを実行する場合は、それぞれを別々のOracle Databaseで実行する必要があります。 以前のリリースからエクスポートしたアプリケーションをインポートすることはできますが、Oracle Application Express 4.2.xからエクスポートしたアプリケーションを以前のリリースにインポートすることはできません。

スキーマ

Oracle Application Expressエンジンの構成要素は、それぞれのバージョンに固有のスキーマに存在する膨大な数のOracle表と数千行のPL/SQLプログラムです。 Oracle Application Express 4.2.xはAPEX_040200スキーマにインストールされ、Oracle Application Express 4.1.xはAPEX_040100スキーマにインストールされます。 Oracle Application Express 3.1.x以前のリリースでは、スキーマにFLOWS_xxxxxxという名前が付いています。

Oracle Application Expressを初めてインストールする場合も、以前のリリースを更新する場合も、OTNからダウンロードした同じインストール・プロシージャとファイルを使用します。 インストール・スクリプトを実行すると、最新のOracle Application Expressスキーマがすでにあるかどうかがチェックされ、インスタンス、ワークスペース、およびアプリケーションのメタデータが以前のスキーマからAPEX_040200スキーマに自動的にコピーされます。 以前のリリースと関連付けられている元のスキーマはまったく変更されません。 ベスト・プラクティスに従い、Oracle Application Expressの新しいリリース用に新しい表領域を作成し、ドキュメントに記載されている適切なインストール手順を実行することを推奨します。

アプリケーション

Oracle Application Expressの新しいリリースをインストールすると、以前のリリースに構築した既存のアプリケーションはすべて、最新のリリースで実行するように自動的に更新されます。 ただし、Oracle Application Expressの開発チームは意図して、アップグレードの結果ユーザー・インタフェースが変更されることがないようにしています。 そのため、ユーザー・インタフェースを変更する可能性があるアプリケーション・コンポーネントは、アップグレードの対象とはなりません。 そのようなコンポーネントについては、開発者が責任を持って手動で見直し、更新するか、以前のままで実行するかを判断します。 例としては、インタラクティブ・レポート、グラフ('カスタムXML'を使用するグラフは手動で更新する必要があり、更新しなかった場合はカスタムXMLが失われます)、特定の検証などに追加された新機能があります。 これらのコンポーネントのアップグレードによる影響を確認するには、アプリケーション・ビルダーに移動し、アップグレードした各アプリケーションについて「Utilities」→「Upgrade Application」の順に選択してそれぞれのアップグレードの種類を確認します。 アップグレードされなかったコンポーネントについては、コンポーネントの1つ、すべて、または選択したインスタンスを、このページから簡単にアップグレードできます。 アプリケーションのユーザー・インタフェースを更新すると、既存のアプリケーション・ドキュメントやトレーニング・ガイドの変更が必要になる場合があり、ページが大幅に変更される場合はエンドユーザーのトレーニングをやり直すことが必要になる場合もありますので、ご注意ください。

Oracle Application Express Advisor(Advisor)を使用すると、Oracle Application Expressアプリケーションの整合性と品質をチェックできます。 AdvisorはコンパイラまたはLINTのような役割を果たし、疑わしい動作やエラーにフラグを付けます。 Advisorを実行すると、基盤となるメタデータに基づいてアプリケーションの整合性がチェックされます。 Oracle Application Expressは、以前は無視された無効な開発者コードが今度はエラーになる可能性があるなど、後発のリリースほどルール・エンジンが厳しくなります。 Advisorは、アプリケーションの品質を向上させるために、こうした問題を他の多数の警告とともにエラーとして識別します。 したがって、アップグレードしたアプリケーションの1つ1つに「Utilities」→「Advisor」を実行することを強く推奨します。

各アプリケーション内でも、アプリケーション定義で互換性モードを指定でき、これにより特定の実行時動作が変わります。 このオプションは、4.1より前のリリース、4.1および4.2に含まれます。 適切な互換性モード、およびアップグレードしたアプリケーションへの影響を判断するには、関連項目のヘルプを参照してください。

テスト

Oracle Application Expressのアップグレードの一環として必要となるリグレッション・テストの量は、アップグレードするアプリケーションの複雑さ、規模および数によって異なります。 重要なJavaScriptまたは大量のPL/SQL評価やプロセスを組み込んだページを含め、"複雑な"ページのほとんどをリグレッション・テストの対象にする必要があります。 アプリケーションのアップグレードまたはAdvisorに基づいて手動で更新したページも、リグレッション・テストの対象にする必要があります。 残りのすべてのページをリグレッション・テストの対象にする必要はありませんが、レポート、グラフ、フォームなど、種類の異なるページのサンプルを十分に含める必要があります。 アップグレード後に互換性モードを変更した場合は、必ずアプリケーションをリグレッション・テストの対象にする必要があります。

エンドユーザーの操作を中断するリスクを最小限に抑えるには、アップグレードしたアプリケーションのリグレッション・テストが不可欠ですが、テスト期間を長引かせないようにすることが重要です。 通常は、開発環境を最初にアップグレードし、開発者がアプリケーションを調査したり、必要に応じて、または要望に応じて初期更新を実行したりできるようにします。 その後、QA/テスト環境を更新し、開発環境でアップグレードしたアプリケーションをこの環境に組み込みます。 本番環境も更新されるまで、ほとんどの場合はバグの解決や新機能の開発のために本番アプリケーションを変更するのは困難または危険です。

クリーンアップ

すべての環境でOracle Application Expressを最新リリースへ無事にアップグレードしたら、これらの環境をクリーンアップする必要があります。 新しいリリースで開発を開始したあとは、以前のリリースに関連付けられているOracle Application Expressスキーマを削除できます。 別個の表領域に以前のリリースをインストールした場合は、その表領域を単純にドロップすることができます。 古いOracle Application Expressスキーマを数週間は残しておいて、そのあとで開発環境、QA/テスト環境、および本番環境から削除することを推奨します。 このクリーンアップを実行すると、ディスク領域が解放され、SQL DeveloperやSQL*Plusなどのツールを使用して古いスキーマにアクセスできなくなります。

以前のリリースへのダウングレード

Oracle Application Expressでは、メジャー・リリースごとに新しいスキーマが自動的に作成されますが、そのおもなメリットの1つは、以前のリリースに戻すのが比較的簡単で低リスクの選択肢となることです。 以前のリリースに戻すと、Oracle Application Express 4.2インスタンスで行った変更はすべて失われます。 おもな作業は、パブリック・シノニムおよび権限付与の参照先を、APEX_040200スキーマではなく以前のスキーマに切り替えることです。 正確な手順は、Oracle Application Expressインストレーション・ガイドの付録A:Oracle Application Expressのトラブルシューティングの項を参照してください。 以前のリリースでのテストを無事に実行できたら、APEX_040200スキーマを削除することも重要です。