[WLS, Database] Data Source Use of Oracle Edition Based Redefinition (EBR)

原文はこちら。
https://blogs.oracle.com/WebLogicServer/entry/using_oracle_edition_based_redefinition

Edition-based redefinition (エディションベースの再定義) はOracle Database 11gR2の新機能で、アプリケーションの実行中にそのデータベースコンポーネントをアップグレードでき、停止時間を最小化あるいは排除することができます。データのアップグレード前、アップグレード後のビューが同時に存在でき、ホットアップグレード機能を提供することによって動作します。どのビューを特定のセッションで利用するかを指定できます。詳細は以下のリンクをご覧下さい。
Oracle Databaseのこの機能の利用にあたり、新しいWebLogic Serverの機能は不要です。データソースの構成中の初期化SQL(Init SQL)パラメータに、以下の文を指定するだけで。自動的に各接続プールの接続に設定されます。
SQL ALTER SESSION SET EDITION = edition_name 
この設定はWebLogic管理コンソールもしくはWLST(JDBCConnectionPoolParamsのsetInitSQLから)で設定できます。新規作成された物理的な各データベース接続に対して、このSQL文を実行します。データソースがデータベースの一つのエディションだけを参照していることに注意して下さい。
この機能を利用するため、以前のデータベースのエディションを参照するデータソースを使うアプリケーションの以前のバージョンと、最近のエディションのデータベースのエディションを参照するデータソースを使うアプリケーションの最近のバージョンがあるとします。WebLogic Serverのアプリケーションの複数バーションについて話を始めると、きっとWebLogic Serverの"Side-by-Side"もしくは"バージョン付き"デプロイ機能(プロダクション再デプロイメント機能)を使うことでしょう。プロダクション再デプロイメントについて詳細は以下のリンクをご覧下さい。
Oracle Databaseのエディションベースの再定義機能と、WebLogic Serverのプロダクション再デプロイメント機能を組み合わせると、各々個別に使うよりもより強力になり、アプリケーションをダウンタイムなしでフェールオーバーすることができます。
一つ落とし穴があります。バージョンの切り替えを実現するためには、バージョン付きのデータベースとアプリケーションを実行する必要があります。推奨するWebLogic Serverのアプリケーションのバージョニング方法は、シンプルにMANIFEST.MFファイルの"Weblogic-Application-Version"プロパティを追加することです(ここでデプロイメント時にバージョンを指定することができます)。データソースの構成方法の推奨は、earファイルもしくはwarファイルに格納されたパッケージ化されたデータソースディスクリプタを使って、全てを自己完結するというものです。
なお、次のような制限がありますのでご注意下さい。
  • パッケージ化されたデータソースではLogging Last Resource(LLR)の構成を取ることができないため、システムリソースを利用する必要があります。
  • global-transactions-protocolにEmulateTwoPhaseCommit(疑似2PC)を使用している場合、アプリケーションスコープでパッケージ化されたデータソースをバージョニングされたアプリケーションと共に使うことはできないため、グローバル・スコープを使う必要があります。
詳細は以下のドキュメントをご覧下さい。
あと、XAデータソースでは正しく動作しない、という既知の問題が1件ありますが、パッチが提供されています(パッチ番号:14075837)。

0 件のコメント:

コメントを投稿