この章では、Oracle Virtual Assembly Builderに関連する問題について説明します。次のトピックが含まれます:
この項では、Oracle Virtual Assembly Builderのインストールに関連する問題について説明します。次の項目が含まれます。
Oracle Virtual Assemblyの組合せインストール(Studioとデプロイヤ)を実行し、その後でOracle WebLogic Serverドメインでデプロイヤを構成する場合、インストールにより、ab_instanceディレクトリがOracle WebLogic Serverドメイン・ルート(デプロイヤ・インスタンス・ディレクトリ)の下に作成されます。このab_instanceはabctl
を使用する目的では機能しません。
かわりに、組合せインストールの場合、Oracle Virtual Assembly Builderインストーラにより作成されたStudioインスタンス・ディレクトリ(通常はMIDDLEWARE_HOMEの直下に配置)のみを使用する必要があります。
デプロイヤ・インスタンス・ディレクトリはデプロイヤのみのインストールでの使用にのみ適しています。
Oracle Virtual Assembly Builderを大きなディスク・スペースのあるOracle Exalogicマシンにインストールしているとき、Oracle Universal Installerの既知の問題によりインストールの完了が妨げられます。「errorString: Oracleホームに必要なディスク領域は350MBです。[[使用可能な領域: 0MB ]」というメッセージを含むエラーが表示されます。
回避するには、次のようにインストーラを起動します。
./runInstaller -novalidation -ignoreDiskWarning
特定のライブラリがVMにない場合、例外がVMのログに記録されることがあります。この例外はファイル・コピーの結果ですが、問題はありません。ファイルは正常にコピーされます。次のような例外が表示されます。
[2012-04-25T03:04:04.949-04:00] [as] [TRACE] [] [oracle.as.assemblybuilder.common] [tid: 11] [SRC_CLASS: oracle.as.assemblybuilder.common.jni.Native] [SRC_METHOD: <init>] Unable to load native library.
VMの作成で使用されるベース・イメージに間違ったsshd_configファイルが含まれています。この行は
#AllowTcpForwarding yes
コメント・アウトされており、次のように読み替えてください。
AllowTcpForwarding yes
リモート・イントロスペクションを許可するには、VMの/etc/ssh/sshd_config
ファイルを更新し、SSH (/etc/rc.d/init.d/sshd stop/start
)を再起動する必要があります。
この項では、イントロスペクション、ファイル・セットのキャプチャ、デプロイメントなどの、Oracle Virtual Assembly Builder Studioの操作に関する一般的な問題および回避方法について説明します。次の項目が含まれます。
この項では、イントロスペクション中に検出される問題について説明します。次の項目が含まれます。
WLSイントロスペクションに指定されたremoteUser
は、参照システムで実行中のWLSプロセスの所有者であるか、WLSプロセスの所有者が作成したファイルの読取り権限のあるユーザーである必要があります。
Oracle Virtual Assembly Builder Studioを使用して、複数のOVMに対するセキュアな接続を作成できます。しかし、1つのStudioセッション中に複数のOVMに対しセキュアな接続を作成することはできません。複数のセキュアな接続を作成するには、1つのセキュアな接続を作成してから、Oracle Virtual Assembly Builder Studioを終了する必要があります。Studioを再起動し、次のセキュアなOVM接続を作成します。この処理を必要なだけのセキュアなOVM接続に対して繰り返す必要があります。
同時にテンプレートのインポートと登録を試行しないでください。そうすることにより、登録が失敗し、予期せぬ副次的な作用を引き起こす可能性があります。
イントロスペクトされている参照システムのタイムゾーンと大幅に異なるタイムゾーンをベース・イメージに持たせることができます。イントロスペクトされている参照システムが、最近作成されたデモSSL証明書を持つOracle WebLogic Serverのインストールである場合、無効なSSL証明書によりデプロイメントのエラーが引き起こされる可能性があります。これは証明書にリストされた有効な時間が、ベース・イメージ内の時間と比べて未来であるのが原因です。この種類のエラーを回避するには、ベース・イメージのタイムゾーンを参照システムのタイムゾーンと一致させます。
この項では、ファイル・セットのキャプチャ操作中に検出される問題について説明します。次の項目が含まれます。
10.2.2.2項「Oracle Virtual Assembly BuilderをインストールしたユーザーのユーザーIDとは異なるユーザーIDでのファイル・セットのキャプチャ」
10.2.2.4項「Oracle Virtual Assembly Builderインスタンス・ディレクトリはFMWHOMEに存在してはならない」
Oracle Virtual Assembly Builderログ・ファイルでテンプレートの登録中にエラーを受信した場合(ImportError
や、oracle.ovs.biz.exception.OVSException
を含むエラーなど)、Oracle VMログで根本原因をチェックしてください。Oracle Virtual Assembly Builderログには示されていない可能性があります。
Oracle Virtual Assembly Builderのインストールに使用したのとは別のOSユーザーIDを使用してインストールしたローカルの参照システム上のファイル・セットをキャプチャすると、ファイルの権限エラーでファイル・セットのキャプチャが失敗します。この問題には、次の2つの回避方法があります。次のいずれかを使用します。
Oracle Virtual Assembly Builderをルートとして実行します。これを行う場合、カタログ内のすべての生成されたアーティファクト(メタデータ、ファイル・セット、その他など)はルート・ユーザーにより所有され、その後のすべての操作もルート・ユーザーとして実行される必要があります。
リモートsshを介してローカルのファイル・セットのキャプチャを実行します。参照システムのインストールの読取り権限のあるsshユーザーを使用して、ローカルの参照システムをリモートとして扱い、リモートのファイル・セット・キャプチャを実行します。
テンプレートのステータスが変更後すぐには更新されない、断続的な問題が報告されています。この問題が発生したら、Oracle Assembly Builder Studioを停止して再起動します。
イントロスペクション中に、必要なディスク領域が使用可能にもかかわらず、ディスクがいっぱいだというエラーを受け取ることがあります。Fusion Middlewareインスタンス・ホーム内にあるOracle Virtual Assembly Builderインスタンスを指定すると、この問題が発生します。この問題を修正するには、Oracle Virtual Assembly Builderインスタンス・ディレクトリをFusion Middlewareインスタンス・ホームの外に移動します。
イントロスペクション中に、ORACLE_HOMEなどのディレクトリにルートが所有するファイルがある場合、ルート・ユーザー以外は、イントロスペクションの一部としてORACLE_HOME内のファイル・セットをキャプチャできません。
解決策は、これらのファイルを削除するか、その所有権をファイル・セットをキャプチャしているユーザーに変更することです。
この項では、デプロイメント中に検出される問題について説明します。次の項目が含まれます。
スケール操作はデプロイメントの失敗に影響を受けます。
スケール・ダウン操作は適切に(正常に)デプロイされたインスタンスのみを削除します。デプロイメントが失敗した場合、それらのインスタンスはスケール・ダウン中に削除されません。失敗したインスタンスは残されて、トラブルシューティングの対象です。デプロイできなかったインスタンスを削除するには、それらをアンデプロイし、プランを修正してから、再度デプロイします。
アセンブリ内に失敗したインスタンスが存在すると、スケール・アップ操作は許可されません。上記のように、アンデプロイし、問題を修正してから、再度デプロイします。
importAsオプションを使用してアセンブリまたはアセンブリ・アーカイブ(OVAファイル)をインポート中に、デプロイメント・プランはインポートされますが、元のデプロイメント・プランにあったオーバーライドはインポートされません。オーバーライドされたプロパティを含まない新しいデプロイメント・プランがあるかのように表示されます。
デプロイメント・プランで指定されたIPアドレスがOracle Virtual Assemblyマシン(デプロイヤが実行しているマシン)で解決されていないと、デプロイメントは失敗します。この問題を回避するには、該当するIPアドレスが解決可能であることを確認します。
アセンブリ用のデプロイメント・プランを作成してから、アセンブリに特定の変更を加えた場合(特にアセンブリのアプライアンスのいずれかからネットワーク・インタフェースを追加または削除した場合)、デプロイメント・プランの値の割り当てが失敗する可能性があります(たとえば、削除されたネットワーク・インタフェースのIPアドレスとネットマスクが異なるネットワーク・インタフェースに割り当てられる可能性があります)。
これを回避するには、アセンブリで必要なすべての編集操作を完了してからのみ、デプロイメント・プランを作成および移入することをお薦めします。最も安全な方法は、アセンブリのアーカイブを最初に作成してからデプロイメント・プランを作成することです。アセンブリ・アーカイブの作成により、デプロイメント・プランを無効にする可能性のある追加の編集操作が妨げられるからです。
Oracle Virtual Assembly Builderは参照システムでのNFSのマウントをサポートしません。これらのNFSのマウントはデプロイメント環境でAssembly Builderにより作成されないからです。参照システムにNFSマウントがあると、デプロイメントが失敗する場合があります。
多くのサードパーティのツールでは、構成の一部としてファイル・システムのマウントが必要です。これには特定の回避方法が必要な場合があります。たとえば、外部JMSサーバーでWebsphere MessageQueueを使用している場合、次の問題が発生することがあります。
JMSサーバーの構成にはWebsphereにより提供されるクラスへのアクセスが必要です。環境によっては、これらのクラス(jarとも呼ばれる)は、Oracle WebLogic Serverの開始前に、PRE_CLASSPATH環境変数に追加されます。環境の構成に、これらのjarファイルを起動時に自動的に表示できるためのOracle WebLogic Serverへの変更が必要ないことを確認します。
JMSサーバー用のOracle WebLogic Server構成には、次のようなJNDI接続URL file://<path to mq config>
が必要です。このファイルは外部Websphereサーバーに存在し、使用できるように、ローカルにマウントされる必要があります。
テンプレートの登録を可能にするためには、Oracle VMホストはAssembly BuilderホストからHTTP経由でテンプレートをダウンロードできなければなりません。ファイアウォールを使用している場合(たとえばLinuxでのiptables)、ファイアウォールが通信できるように適切に構成する必要があります。デフォルトで、Oracle Virtual Assembly BuilderはそのHTTPポートが"0"になるように指定し、それによりシステムは1を発行します(そのためデフォルト・ポートはありません)。
deployer.properties
のovmPortプロパティを設定することで、ポートを指定できます。
より簡単な解決策はファイアウォールをオフにすることです。iptablesの場合、次のコマンドを使用します。/etc/init.d/iptables stop
ファイアウォールを構成するには、ファイアウォールのドキュメントを参照してください。
デプロイメント中に予期しないエラーが発生するたびに、通常、エラーからのリカバリ前に、何が悪いのか調査して必要なクリーンアップを実行しようとします。これらの理由で、Oracle Virtual Assembly Builderでは、自動的なリカバリ・メカニズムや障害からのリカバリ・ツールを提供していません。
デプロイヤのリカバリを実行するには、次の手順を実行します。
クラッシュしたAB_INSTANCE
に関連するresource-pools.xml
ファイルに構成された、対応するOracle Virtual Machineマネージャのリソース・プールを調査し、クリーンアップを実行します。これには、Oracle Virtual Assembly Builderにより開始されたすべてのインスタンスのクリーンアップ(停止および破棄)が含まれます。
.hastore
ファイルを削除します。
これはデプロイヤにクリーンの状態を返します。
コンポーネントによっては正常にデプロイするために多数のファイルを開く必要があるものもあります。制限が必要なベース・イメージが提供されても、制限はVMで実行しているOracle Virtual Assembly Builderサービスにより4096にリセットされます。
回避するには、$ORACLE_HOME/resources/bottler/ab/etc/ab_service.sh
を編集して、4096のかわりに必要な制限を設定してから、アセンブリ・アーカイブを作成(または再作成)します。
この項では、Oracle Virtual Assembly Builderで操作を実行中に検出されるその他の問題について説明します。次の項目が含まれます。
10.2.4.2項「大規模な削除操作によりOracle Virtual Assembly Builder Studioがロックされたように見えることがある」
10.2.4.8項「ゼロカウントのアプライアンスはOracle Virtual Assembly Builder Studioでスケーリングできない」
日本語のロケールに設定されたOracle Virtual Assembly Builder Studioのグラフィカル・ユーザー・インタフェースを使用してリソース・プールを作成する手順に従う場合、「DNSの追加」ボタンが機能しません。この問題を回避するには、ロケールを英語に設定します。
Oracle Virtual Assembly Builderを終了します。
次のコマンドを実行します。
export LC_ALL= c ./abstudio.sh
英語のロケールでリソース・プールの接続を作成します。
大規模に最上位のアイテムがOracle Virtual Assembly Builder Studioを介して削除されるとき、実際には正常に実行していても、インタフェースがロックされたように見えることがあります。これは正常な動きであり、アプリケーションはタスクを終了させることができます。
仮想マシンに最低でも500MBの使用可能なスワップ領域がある(マシンごと)ことを確認します。
最上位のアイテムの削除中に表示されるメッセージは英語のみです。
エクスポート操作では、AB_INSTANCE/tmpディレクトリが中間アーティファクトの記憶域に使用されます。つまり、エクスポート先ディレクトリが別のディスクに配置されていても、AB_INSTANCEが配置されているディスクに十分な容量がないと、エクスポートは失敗する可能性があります。
Oracle VM 3.0では名前にピリオド文字('.')が含まれるネットワークを作成できます。しかし、Oracle Virtual Assembly Builderでは名前の中のこの文字をサポートしないため、Oracle Virtual Assembly BuilderのVnetにOracle VM 3.0環境での実際のネットワーク名を付けることはできません。
Oracle Virtual Assembly Builderのabctl
コマンドライン・インタフェースでのcreateAssembly
コマンドでは、'.'文字を含むVnet名の不許可に失敗します。Oracle Virtual Assembly Builder Studioのグラフィカル・ユーザー・インタフェースでは正しく不許可にできます。
Oracle Virtual Assembly Builder Studioまたは組合せ(Studioとデプロイヤ)インストールでは、デプロイヤまたはEMソフトウェア・ライブラリからのアセンブリ・アーカイブのダウンロードにより、アーカイブは自動的にローカル・カタログにインポートされます。ダウンロード時にオプションでアセンブリの新しい名前を指定すると、アーカイブ・ファイルはその新しい名前を使用してディスクに保存され、新しい名前を使用してカタログにインポートされます。しかし、アーカイブ内のコンテンツは、依然として元のアセンブリの名前を参照するので、このダウンロードされたアーカイブは不要と考えられます。
そのため、正常にダウンロードおよびインポートされた後は、ダウンロードされたアーカイブは使用しないでください。手動でAB_INSTANCE/アーカイブから削除するか、-force
オプションを指定してcreateAssemblyArchive
コマンドを使用して上書きするか、またはOracle Virtual Assembly Builder Studioグラフィカル・ユーザー・インタフェースでテンプレート・ウィザードを作成(暗黙的に-force
オプションを使用)することができます。
ゼロカウント・アプライアンス(つまり、スケーリング最小値と初期ターゲットの両方が0に設定されているアプライアンス)を含むアセンブリをデプロイする場合、Oracle Virtual Assembly Builder Studioグラフィカル・ユーザー・インタフェースを使用してそのアプライアンスをスケール・アップすることはできません。かわりに、Oracle Virtual Assembly Builderコマンドライン・インタフェースでscale
コマンドを使用します。describeScalingGroups
コマンドでスケーリングするグループが示されない場合は、describeAssemblyInstances
出力の「アプライアンス」列にあるappliance id
を使用します。
この項では、Oracle Virtual Assembly Builderがイントロスペクトできるコンポーネントに特有の問題について説明します。各コンポーネントの問題のリストには、最初に最も重要または頻繁に発生する問題を示し、次に優先度の低い問題を示しています。
この項の内容は次のとおりです。
この項では、Oracle VMの問題について説明します。次の項目が含まれます。
Oracle VMの使用時に断続的エラーがレポートされています。oracle.ovs.biz
を含むエラーを受信したら、Oracle VMのログをチェックし、問題の根本原因を理解するようにします。タスクを再試行するだけで問題が解決する場合もありますが、ログを調べることが最適な方法です。
Oracle Virtual Machineでは仮想マシン名が100文字以下に制限されます。名前が長すぎると、次のエラーを受信します。oracle.ovs.biz.exception.invalidNameException: OVM-4008
Oracle Virtual Assembly Builder Deployerでは、仮想マシン名を次の形式に基づいて決定します。
deploymentId_subassemblyName_applianceName_instanceName0
仮想マシン名の長さを定義した100文字に制限するために、アセンブリ名(およびすべてのサブアセンブリ名)とアプライアンス名の組合せは、組み合わされても100文字を超えない長さにしなくてはなりません。
Oracle Virtual Machineでは仮想マシンのパスワードが50文字以下に制限されます。仮想マシンのパスワードは50文字よりも短くなければなりません。パスワードが長すぎると、次のエラーを受信します。Oracle.ovs.biz.exception.OVSException: OVM-5101 テンプレート{0}が見つかりません。
Oracle VMでは最大26の仮想ディスクのあるアプライアンスの処理をサポートします。もっと多くの仮想ディスクを作成する操作を実行しようとすると、エラーが発生し、OVFで宣言されたディスク・イメージがOVAに存在しないことを示すエラー・メッセージが表示されます。
テンプレートの作成時にVNCパスワードを指定する必要があり、デプロイメント・プランのこのパスワードは上書きできるにもかからわず、これらの値のいずれも実際には有効になりません。Oracle VM Managerで定義された適切な証明書を使用して、Oracle VM Managerコンソールを介して仮想マシンVNCコンソールにアクセスする必要があります。
この項では Oracle WebLogic Serverの問題について説明します。次の項目が含まれます。
スラッシュ文字('/
')を含む名前でWebLogic Serverサービス(JMSサーバー定義またはデータ・ソース定義)を作成できます。サービスの名前にスラッシュ文字が含まれていると、Oracle WebLogic Server Deploymentのデプロイメントが失敗する原因となります。これを回避するには、WebLogic Serverのサービスの名前に'/
'文字を含めないようにします。
アプリケーション・スコープで構成されたJDBCデータ・ソース・マッピングを使用したアプリケーションが起動できないというエラー・メッセージが報告されています。このエラーはOracle WebLogic Server AdminServerでのデプロイメントでのみ発生し、AdminServer自体がデプロイされた直後にのみ発生します。
この問題を修正するには、AdminServerを手動で起動します。
Oracle WebLogic Server参照システムにもホストされているWebサービスにアクセスするアプリケーションは、新しいWebサービスの場所をポイントするようにデプロイメントで更新されません。新しいOracle VMホストのWebサービスWSDLにアクセスするアプリケーションを更新してから、管理コンソールやwlstなどのOracle WebLogic Server管理ツールを使用して、アプリケーションをOracle VM Oracle WebLogic Server環境に再デプロイします。
Oracle Virtual Assembly BuilderはOracle WebLogic Serverドメインの移動時に、パック/アンパック・ユーティリティを使用します。このユーティリティの問題が原因で、ユーティリティを使用して、元は10.3.1ドメインだが10.3.2のインストール中に10.3.2にアップグレードされたドメインを移動するときに、アンパック操作が失敗します。
この問題は、Oracle Virtual Assembly Builderがデプロイされ、Oracle WebLogic Serverの管理対象サーバーを含む、必要なインスタンスがアセンブリで開始され、その後で管理対象サーバー(ゲストOSではなく)がクラッシュしたか、または外部ツールにより明示的に停止されたという、一般的でない状況に適用されます。
ゲストOSのコンテキストから手動での開始を実行する場合、StartManagedServer.shスクリプトを手動で変更し、正しい管理サーバーURL(管理サーバーのホスト名)を指定します。これは、デフォルトの管理URLの値が誤っている(管理サーバーのマシン名がテンプレートの作成時には不明である)ために必要です。
管理コンソールのノード・マネージャを使用してサーバーを起動または停止することもできます。
Oracle WebLogic Serverプラグインはファイル・セットの所有権の変更をサポートしません。デフォルトの'oracle'ユーザーを使用する必要があり、そうでないと、デプロイメントの失敗を含む、予期しない結果が生じる可能性があります。
Oracle WebLogic Serverクラスタのサーバーがノード・マネージャ経由で開始できない場合にエラーが検出されます。ノード・マネージャを再配置した場合にこのエラーが発生する可能性があります。これはサポートされません。特に、nodemanager.properties
ファイルが<weblogic_home>/common/nodemanager
ディレクトリに存在する場合に、イントロスペクション時にのみノード・マネージャの構成が発生します。
setDomainEnv.sh
のユーザー特有のパラメータ(JAVA_OPTS
、PRE_CLASSPATH
またはPOST_CLASSPATH
など)を設定する場合、これらの設定はOracle VMへのドメインの再構成中に失われます。
この項では、Oracle Web Cacheの問題について説明します。次の項目が含まれます。
Oracle WebCacheがEnterprise Managerに登録されてイントロスペクトされる場合、結果のEnterprise Manager登録出力は、プロトコルの不一致により、Oracle WebLogic Server管理サーバー入力に接続できません。
回避するには、Oracle Web Cacheのappliance.xml
ファイルを手動で編集します。$AB_INSTANCE/catalog/metadata
の下にOracle Web Cacheコンポーネントのappliance.xml
ファイルがあります。これを編集し、'EMRegistration'出力を探します。プロトコルを'HTTP'から'http'に変更します。出力をOracle WebLogic Server管理サーバー入力に接続できるようになりました。
Oracle Virtual Assembly Builderは管理ポートとして特権ポート(ポート番号が1024より下)のあるOracle Web Cacheアプライアンスのデプロイメントをサポートしません。
Oracle Virtual Assembly Builderはスケーリングの実行後、各インスタンスのwebcache.xml
ファイルを自動的に更新しません。エラーが発生することなくスケーリング操作が完了しても、各インスタンスのwebcache.xml
ファイルを更新して、インスタンスがクラスタ内のすべてのメンバーを認識できるようにする必要があります。
Oracle Web Cacheでは、仮想ホスト・マップ(VHM)要素のポートとOracle Web Cache構成のリスニング要素のポート間に相互関係があるとは限りません。ポートを変更するたびに、VHMポートを手動で更新し、VHMに関連するプロパティを更新する必要があります。
この項では、Oracle Databaseの問題について説明します。次の項目が含まれます。
Database Vaultが参照システムのデータベース・ホームに構成された場合、一部のOracle Virtual Assembly Builder操作中にエラーが発生することがあります。
問題を回避するためには、次の手順を完了します。
イントロスペクション前に、システムで次のコマンドを実行し、データベース・ホームで一時的にDatabase Vaultを無効にします。
$ make -f $ORACLE_HOME/rdbms/lib/ins_rdbms.mk dv_off ioracle
参照システムでデータベースを再起動してから停止します。
ファイル・セットのキャプチャ後に、参照システムで次のコマンドを実行し、データベース・ホームでDatabase Vaultを再度有効にします。
$ make -f $ORACLE_HOME/rdbms/lib/ins_rdbms.mk dv_on ioracle
参照システムでデータベースを再起動します。
デプロイメント後に、新しい仮想マシンで次のコマンドを実行し、データベース・ホームでDatabase Vaultを有効にします。
$ make -f $ORACLE_HOME/rdbms/lib/ins_rdbms.mk dv_on ioracle
新しい仮想マシンでデータベースを再起動します。
Oracle Virtual Assembly Builder操作中に、新しく作成した仮想マシンで、リスナーがデフォルト名LISTENERを使用して開始します。参照システムでリスナーに別の名前を使用している場合、エラーを受信します。このエラーを回避するには、デフォルト名(LISTENER)を使用するようにしてください。
別のリスナー名を使用する必要がある場合は、リスナーを正しい名前で手動で開始します。
$ORACLE_HOME/bin/lsnrctl start <listener name>
注意: 正しいリスナー名を表示するには、$ORACLE_HOME/network/admin/listener.oraを参照します。 |
データベースのイントロスペクタはリスナー(listener.ora configuration)が次のように構成されていると予測します。
(ADDRESS = (PROTOCOL = TCP)(HOST = example.cm)(PORT = 5521))
注意: プロトコル、ホストおよびポートはすべて必須で、ここに示されている順序で表示する必要があります。 |
1つのインスタンスのデータベースのOracle Homeは、そのOracle Homeがリリース10gからアップグレードされていると、イントロスペクトできません。
この時点でドキュメントの訂正箇所はありません。