Oracle Application Server 高可用性ガイド 10g リリース2(10.1.2) B15817-04 |
|
この付録では、Oracle Application Serverを高可用性構成で配置および管理するときに発生する問題と、それらの解決方法を説明します。この付録の項目は次のとおりです。
この項では、OracleAS Cold Failover Clusterの構成の一般的な障害と解決策について説明します。この項の項目は次のとおりです。
OracleAS Cold Failover Cluster環境でOracleAS Web Cacheがフェイルオーバーしません(つまり、スタンバイ・ノードで起動されません)。ログ・ファイルに次のエラーが書き込まれます。
[26/Apr/2005:14:36:08 -0700] [error 13079] [ecid: -] No matching CACHE element found in webcache.xml for current hostname (hostname) and ORACLE_HOME (/path/to/oracle/home)
OracleAS Cold Failover Cluster環境でOracleAS Web Cacheをフェイルオーバーさせるには、次の手順を実行する必要があります。
webcache.xml
のCACHE
要素)を同期状態に保ちます。
OracleAS Web Cacheクラスタの詳細は、『Oracle Application Server Web Cache管理者ガイド』の第10章「キャッシュ・クラスタの設定」を参照してください。
オンライン・データベースのバックアップとリストアに伴う問題を示します。この情報はOracleAS Cold Failover Cluster環境に関連するものです。
依存関係が原因でInfrastructureデータベースのオンライン・リカバリを実行できません。クラスタ・アドミニストレータがBackup and Recovery Toolのリカバリ・フェーズ中にデータベースの停止および起動を試みています。
正常なリカバリを実行するには、次の手順を実行します。
net start OracleService
<SID>
Windowsの場合、リカバリを実行するには、次の手順を実行します。
Backup and Recovery Toolがデータベースを停止および起動しているわずかの間、データベースにはアクセスできなくなります。データベースが起動すると、中間層およびInfrastructureのコンポーネントによってアクセス可能になります。
Microsoftクラスタ アドミニストレータを使用してアイドル状態のOracleAS Metadata Repositoryデータベースを停止した後に、そのデータベースに接続してリストアすることはできません。
Microsoftクラスタ アドミニストレータを使用してOracleAS Metadata Repositoryデータベースを停止すると、Microsoftクラスタ アドミニストレータが厳密かつ迅速に中断を行い、データベース・サービスが停止します。停止後は、データベースに接続できません。
この障害を再現する手順は次のとおりです。
ts$
表は変更しないでください)。
sysdba
として接続を試みます。接続は失敗するはずです。
Oracle Fail Safe Managerを使用して、データベースを停止します。これを行うには、次の手順を実行します。
sysdba
としてデータベースに接続します。接続は成功するはずです。
この項では、OracleAS Cluster(Identity Management)の構成の一般的な障害と解決策について説明します。この項の項目は次のとおりです。
マルチマスター・レプリケーションおよびその他のOracle Internet Directoryの機能に関連する障害と解決策は、『Oracle Internet Directory管理者ガイド』のトラブルシューティングに関する項を参照してください。
OracleAS Single Sign-OnとOracle Internet Directoryをファイアウォールの反対側で実行していて(OracleAS Single Sign-Onをファイアウォールの外側で実行し、Oracle Internet Directoryをファイアウォールの内側で実行)、構成済のタイムアウト時間の経過後にアイドル接続を切断またはリサイクルするようにファイアウォールが構成されている場合、OracleAS Single Sign-Onのログインに長い時間がかかることがあります。
この値(分単位)は、ORACLE_HOME
/sso/conf/policy.properties
ファイルのconnectionIdleTimeout
パラメータを使用して指定します。たとえば、次のように指定すると、タイムアウト値は20分になります。OracleAS Single Sign-Onサーバーによって、20分より長い時間アイドルになっている接続は削除されます。
connectionIdleTimeout = 20
新しい値を有効にするために、OracleAS Single Sign-Onサーバーを実行しているOC4Jサーバー(OC4J_SECURITY)を再起動します。
ORACLE_HOME
/network/admin/sqlnet.ora
ファイルのSQLNET.EXPIRE_TIME
パラメータで、データベース接続のタイムアウトを設定します。この値も、ファイアウォールやロード・バランサのタイムアウト値より小さい値に設定します。このパラメータでは、データベース・サーバーからクライアント(OracleAS Single Sign-Onサーバー)へプローブ・パケットを送信する頻度を指定します。このプローブ・パケットの定期的な動作により、OracleAS Single Sign-Onサーバーからデータベースへの接続をアクティブな状態に保つことができます。
この値は分単位で指定します。次の例では、データベース・サーバーからクライアントへ、20分間隔でプローブ・パケットが送信されます。
SQLNET.EXPIRE_TIME = 20
新しい値を有効にするために、データベースを再起動します。
説明: 接続が一定の時間アイドルになると、ファイアウォールまたはロード・バランサによってOracle Internet Directoryおよびデータベースへの接続が削除される場合があります。ファイアウォールまたはロード・バランサで接続が削除されても、OracleAS Single Sign-Onサーバーへtcpクローズ通知が送信されない場合があります。その場合、OracleAS Single Sign-Onサーバーでは接続が無効になっていることが認識されず、この接続を使用したOracle Internet Directoryまたはデータベースの操作が試行されます。OracleAS Single Sign-Onサーバーはレスポンスを受信しないと、次の接続を試行します。最終的に、プール内のすべての接続を試行してから、Oracle Internet Directoryまたはデータベースへの新しい接続が行われます。
OracleAS Single Sign-Onサーバーおよびデータベースのタイムアウトをファイアウォールやロード・バランサのタイムアウトより小さい値に設定すると、接続を確実に有効にすることができます。
OracleAS Cluster(Identity Management)内のノード間の時間に250秒を超える時差がある場合、Oracle Internet Directoryモニター(oidmon
)によって、時間が遅い方のノードのOracle Internet Directoryが停止されます。たとえば、ノードAの時間がノードBの時間より250秒進んでいる場合は、oidmon
によって、ノードBのOracle Internet Directoryプロセスが停止されます。これは、すべてのノードのoidmon
プロセスで、10秒ごとにデータベースが更新して、他のノードに動作中であること通知するためです。250秒間応答がないノードは、他のノードからは障害のあるノードとして扱われます。
すべてのノードの時差を250秒以内になるように同期させます。
この問題は、Windows 2000プラットフォームにのみ該当します。この問題には次の2つの現象があります。
現象1: TCPポート監視を使用してOracle Internet Directoryポートを監視するようにロード・バランサを構成している場合に、最大接続数に達したことを示すエラーがOracle Internet Directoryログ・ファイルに記録されることがあります。これは、クライアントがOracle Internet Directoryに接続できないことを示します。
現象2: Oracle Internet Directoryが終了した場合に、再起動できません。再起動しようとすると、システム・アイドル・プロセスですでに使用中のためOracle Internet Directoryがポートにアクセスできないというメッセージが表示されます。Oracle Internet Directoryは、ポートに排他的にアクセスする必要があります。
この問題は、Oracle Internet DirectoryのポートでTCPポートを監視するアプリケーション(この場合はロード・バランサ)が原因で発生します。TCPポート監視では、アプリケーションによってOracle Internet Directoryポートへの接続および切断が行われます。Windows 2000では接続が適切に終了されず、このために最大接続数に達します。
回避策は、Oracle Internet DirectoryのポートでTCPポート監視を使用しないことです。かわりに、LDAPまたはHTTPポート監視を使用してください。
Cluster Configuration Assistantを使用したコンポーネントのクラスタリング時に発生する障害について説明します。
Oracle Identity Managementの分散構成のインストール時には、OracleAS Single Sign-OnおよびOracle Delegated Administration Servicesコンポーネントが他のOracle Identity Managementコンポーネントとは異なる、専用の2つのノードにインストールされます。Cluster Configuration Assistantは、作成された2つのOracleAS Single Sign-On/Oracle Delegated Administration Servicesインスタンスのクラスタリングを試みます。しかし、エラー・メッセージ「使用不可コンポーネントを含むインスタンスは、クラスタに追加できません。」が表示されます。このメッセージは、Enterprise Managerが、無効化されたコンポーネントを持つインスタンスをクラスタリングできないために表示されます。
Cluster Configuration Assistantに障害が発生した場合は、インストール後にインスタンスをクラスタリングできます。この場合、インスタンスをクラスタリングするには、Application Server Controlコンソールではなくdcmctl joincluster
コマンドを使用する必要があります。Application Server Controlコンソールは、無効化されたコンポーネントを持つインスタンスをクラスタリングできないため、使用できません。この状況では、ホームOC4Jインスタンスが無効化されます。
高可用性Infrastructureのインストール時、Oracle Ultra Search Configuration Assistantを、「仮想ホスト名アドレッシング」画面に示された仮想ホスト名のポート3060でOracle Internet Directoryインスタンスに接続できない問題について説明します。
Infrastructureのインストール時に仮想ホスト名によるアドレス指定を使用する場合に、起こしがちな間違いです。ロード・バランサの仮想サーバー名が入力され、この名前を認識するようにロード・バランサが正しく設定されています。しかし、Infrastructureノードはこの名前を解決するように正しく設定されていません。このため、InfrastructureノードのOracle Ultra Search Configuration Assistantをロード・バランサの仮想サーバー名に接続しようとすると、Configuration Assistantはロード・バランサを見つけることができません。
解決策は、Infrastructureマシンに、ロード・バランサの仮想サーバー名の名前解決を正しく設定することです。この手順は、プラットフォームによって異なります。正確な手順については、オペレーティング・システムのマニュアルを参照してください。UNIXでは、通常、/etc/hosts
ファイルを編集し、このファイルが名前解決に使用されていることを/etc/nsswitch.conf
ファイルの編集によって確認します。Windowsでは、通常、C:¥WINDOWS¥system32¥drivers¥etc¥hosts
ファイルを編集します。
ノード間のodisrv
プロセス・フェイルオーバーの問題について説明します。
任意のOracleAS Cluster(Identity Management)ソリューションで、opmnctl stopall
が実行されて、そのノード上にあるOPMN管理対象プロセスがすべて停止しても、odisrv
は2次ノードで自動的に起動しません。opmnctl stopall
は、実際のノード障害ではなく正常な管理停止であるためです。実際のノード障害では、元のodisrv
プロセスで問題が検出されると、残りのノードでodisrv
が起動します。
OracleAS Cluster(Identity Management)で計画されたメンテナンスを実行する場合は、oidctl
コマンドを使用して、odisrv
を明示的に停止および起動します。
odisrv
が実行されているノードで、次のコマンドを使用してodisrv
を停止します。
ORACLE_HOME/bin/oidctl connect=<dbConnect> server=odisrv inst=1 stop
残りのアクティブ・ノードで、次のコマンドを使用してodisrv
を起動します。
ORACLE_HOME/bin/oidctl connect=<dbConnect> server=odisrv instance=1 flags="host=OIDhost port=OIDport" start
すべてのOracleAS Cluster(Identity Management)ノードのシステム時間が同期化されていない場合、予期しない動作が発生します。
OracleAS Cluster(Identity Management)構成では、各ノードのOracle Internet Directory Monitor(OIDMON)が、10秒毎にディレクトリ・データベースをメタデータで更新します。それと同時に、データベースに問合せを行い、他のすべてのディレクトリ・サーバーが実行されていることを確認します。
OIDMONがデータベースを250秒間更新しなかった場合、他のノードは、そのノードに障害が発生したとみなします。ノードのシステム・クロックが他のノードと250秒以上の差異で設定されていると、更新の遅れとして誤認識されます。このとき、他のノードの1つにあるOIDMONが、フェイルオーバー操作を開始します。これにより、障害が発生したノードで実行されているプロセスが他のノードのローカルで起動されます。このプロセスを起動したノードでは、障害が発生したノードで進行中だった操作の処理を続行します。
例として、ノードAとノードBが構成されているOracleAS Cluster(Identity Management)があるとします。ノードBのシステム・クロックは、ノードAのシステム・クロックより300秒遅れています。ノードBはディレクトリ・データベースにあるメタデータ(システム・クロック値を含む)を更新します。ノードAは、データベースに対してアクティブなOracle Internet Directoryサーバーを問い合せて、ノードBの時間値が300秒なので、ノードBに障害が発生したと判断します。ノードAはその後、ノードBで実行されているすべてのOracle Internet Directoryサーバー・プロセスをローカルで起動することにより、フェイルオーバー操作を開始します。
OracleAS Cluster(Identity Management)構成内のすべてのノードのシステム・クロック値を、グリニッジ標準時間を使用して同期化し、ノード間で250秒以上の差異が発生しないようにします。
『Oracle Internet Directory管理者ガイド』のラックマウント型ディレクトリ・サーバー構成についての章を参照してください。
クラスタリングされたOracle Application Serverインスタンスの前面にロード・バランサが配置されている場合に、そのインスタンスの構成ファイルに正しいロード・バランサの仮想サーバー名が指定されないことがあります。
ロード・バランサがフロントエンドに配置されたOracle Application Serverインスタンスのクラスタでは、クラスタへの再リダイレクトにはロード・バランサの仮想サーバー名が含まれていないことがあります。サーブレットまたはJSPによって作成された動的ページでも、正しいロード・バランサの仮想サーバー名を使用していない場合があります。どちらの場合も、ローカル・ホスト名が代用されることがほとんどです。
使用するロード・バランサの仮想サーバー名を正しく指定するには、各インスタンスのhttpd.conf
およびdefault-web-site.xml
ファイルを変更する必要があります。
Oracle Application Serverの各インスタンスで、次の手順を実行します。
opmnctl stopproc ias_component=HTTP_Server
httpd.conf
ファイルで、ServerName
ディレクティブの値をロード・バランサの仮想サーバー名に変更します。たとえば、localhost
(ローカル・ホスト)にしている場合は、ロード・バランサの仮想サーバー名に変更します。
httpd.conf
ファイルで、Port
ディレクティブの値を、ロード・バランサで受信リクエスト用に構成されたポートの番号に変更します。たとえば、指定されたポート番号が7777の場合、それをロード・バランサで構成されたポート80に変更します。
dcmctl updateConfig -ct ohs
opmnctl startproc ias_component=HTTP_Server
opmnctl stopproc ias_component=OC4J
default-web-site.xml
を編集します。<frontend host="
load_balancer_name
" port="
port_number
" />
load_balancer_name
をロード・バランサの仮想サーバー名に、port_number
を受信リクエスト用に構成されたポート番号に置き換えます(これらの値は前述のhttpd.conf
に入力した値と類似しています)。
default-web-site.xml
ファイルに行った変更で更新します。dcmctl updateconfig -ct oc4j
opmnctl startproc ias_component=OC4J
この項では、OracleAS Disaster Recoveryの構成の一般的な障害と解決策について説明します。この項の項目は次のとおりです。
OracleAS Disaster Recoveryスタンバイ・サイトのOracleAS Metadata Repositoryが、プライマリ・サイトのOracleAS Metadata Repositoryと同期化されない問題について説明します。
OracleAS Disaster Recoveryソリューションでは、手動による構成と、プライマリ・サイトからスタンバイ・サイトへのデータ・ファイルの転送が必要です。また、データ・ファイル(アーカイブ・データベース・ログ・ファイル)は、スタンバイ・サイトで自動的に適用されません。つまり、OracleAS Disaster RecoveryはOracle Data Guardの管理リカバリを使用しません。
アーカイブ・ログ・ファイルは手動で適用する必要があります。これらの作業の実行に必要な手順については、第13章「OracleAS Disaster Recovery」を参照してください。
スタンバイ・インスタンスが、フェイルオーバーまたはスイッチオーバー操作の後に起動しない問題について説明します。
IPアドレスはインスタンスの構成で使用されます。OracleAS Disaster Recoveryの設定では、本番サイトとスタンバイ・サイトのピア・インスタンスに、同一のIPアドレスは必要ありません。OracleAS Disaster Recoveryの同期では、本番サイトとスタンバイ・サイト間のIPアドレスの不一致が調整されません。したがって、構成で明示的なIPアドレスxxx.xx.xxx.xxを使用する場合、同期化後のスタンバイの構成は機能しません。
明示的なIPアドレスの使用を避けます。たとえば、OracleAS Web CacheおよびOracle HTTP Serverの構成では、リスニング・アドレスとしてIPアドレスのかわりにANYまたはホスト名を使用します。
スタンバイ・サイトでOracleAS Web Cacheを起動できないのは、フェイルオーバーまたはスイッチオーバー後のスタンドアロンOracleAS Web Cacheの構成に誤りがあることが考えられます。
OracleAS Disaster Recoveryの同期では、スタンドアロンのOracleAS Web Cacheインストールが同期化されません。
標準のOracle Application Serverの完全なCDイメージを使用して、OracleAS Web Cacheコンポーネントをインストールします。
マシンの物理的なホスト名が変更された後も、スタンバイ・サイトの中間層インストールで間違ったホスト名が使用されている問題について説明します。
物理的なホスト名の変更に加えて、/etc/hosts
ファイルにも、物理的なホスト名を最初のエントリとして入力する必要があります。このファイルの変更に失敗すると、インストーラーが間違ったホスト名を使用してしまいます。
/etc/hosts
ファイルに物理的なホスト名を最初のエントリとして入力します。詳細は、第13.2.2項「ホスト名解決の構成」を参照してください。
スタンバイ・ファームのファーム検証操作を実行すると、中間層マシンのインスタンスが見つからず、スタンバイ・ファームが本番のファームと対称性がないことを示すエラー・メッセージが表示され、失敗します。
スタンバイ・ファームのファーム検証操作では、本番およびスタンバイ・ファームが互いに対称で、一貫性があり、障害時リカバリの要件に一致していることが検証されます。
検証操作は、中間層インスタンスをmid_tier.
<physical_hostname>
ではなくmid_tier.
<hostname>
とみなすため、失敗します。インストール時に設定した環境変数_CLUSTER_NETWORK_NAME_
に問題があると考えることもできます。ただし、この状況では違います。_CLUSTER_NETWORK_NAME_
環境変数設定のチェックで、このエントリが正しいことがわかっています。一方、/etc/hosts
ファイルのコンテンツのチェックで、問題になっている中間層のエントリが正しくないことがわかります。つまり、すべての中間層インストールは、/etc/hosts
ファイルの2番目の列からホスト名を取得します。
たとえば、次の使用例を想定します。
examp1
およびexamp2
の2つの環境を使用しています。
examp1
およびexamp2
にホストinfra
としてインストールしています。
examp1
およびexamp2
にホストnode1
としてインストールしています。
duf.jar
およびbackup_restore
ファイルで更新されています。
asgctl
)を起動しています。
connect asg
、set primary
、dump farm
のasgctl
操作を実行しています。
standby farm
に、asgctl verify farm
の操作を実行しました。しかし、インスタンスをmid_tier.node1.us.oracle.com
ではなくmid-tier.examp1
とみなすため失敗します。
/etc/hosts
ファイルのチェックにより、次のエントリが示されます。
123.45.67.890 examp1 node1.us.oracle.com node1 infra
ias.properties
およびファームが次のように表示され、検証操作が失敗します。
IASname=midtier_inst.examp1
/etc/hosts
ファイルは、実際は次のようにする必要があります。
123.45.67.890 node1.us.oracle.com node1 infra
ias.properties
およびファームが次のようになり、検証操作が成功します。
IASname=midtier_inst.node1.us.oracle.com
/etc/hosts
ファイルの2番目の列のエントリをチェックし、前述で説明した、問題になっている中間層ノードのホスト名と一致するように変更します。
sync farm to
操作を実行すると、「ASDBに接続できません」というエラー・メッセージが返される問題について説明します。
事前にasdbデータベース接続を確立する必要がある操作の実行で、ときどき管理者がasgctl
コマンドライン・ユーティリティを使用したプライマリ・データベースの設定を忘れることがあります。このようなsync farm to
操作の使用例を次に示します。
ASGCTL> connect asg hsunnab13 ias_admin/iastest2 Successfully connected to hsunnab13:7890 ASGCTL> . . . <Other asgctl operations may follow, such as verify farm, dump farm, <and show operation history, and so forth that do not require the connection <to the asdb database to be established or a time span may elapse of no activity <and the administrator may miss performing this vital command. . . . ASGCTL> sync farm to usunnaa11 prodinfra(asr1012): Syncronizing each instance in the farm to standby farm prodinfra: -->ASG_ORACLE-300: ORA-01031: insufficient privileges prodinfra: -->ASG_DUF-3700: Failed in SQL*Plus executing SQL statement: connect null/******@asdb.us.oracle.com as sysdba;. prodinfra: -->ASG_DUF-3502: Failed to connect to database asdb.us.oracle.com. prodinfra: -->ASG_DUF-3504: Failed to start database asdb.us.oracle.com. prodinfra: -->ASG_DUF-3027: Error while executing Syncronizing each instance in the farm to standby farm at step - init step.
asgctl set primary database
コマンドを実行します。このコマンドは、sync farm to
操作を実行するために、asdbデータベースを開くのに必要な接続パラメータを設定します。現在の接続セッションでプライマリ・データベースが指定されていない場合、set primary database
コマンドを、instantiate farm to
コマンドおよびswitchover farm to
コマンドの前に実行する必要があります。
この項では、高可用性構成の中間層コンポーネントの一般的な障害と解決策について説明します。この項の項目は次のとおりです。
NIC(ネットワーク・インタフェース・カード)が2つ搭載されているコンピュータでOracleAS Cluster(OC4J-EJB)を実行しており、一方のNICをネットワーク接続に、もう一方のNICをクラスタ内の他のノードへの接続に使用している場合に、マルチキャスト・メッセージが正常に送受信されないことがあります。これは、セッション情報がクラスタ内のノード間でレプリケートされないことを意味します。
oc4j.multicast.bindInterface
パラメータを、ノード上のもう一方のNICの名前またはIPアドレスに設定して、OC4Jインスタンスを起動する必要があります。
たとえば、図A-1に示す値を使用して、これらのパラメータでOC4Jインスタンスを起動します。
ノード1では、次のパラメータで起動するようにOC4Jインスタンスを構成します。
-Doc4j.multicast.bindInterface=123.45.67.21
ノード2では、次のパラメータで起動するようにOC4Jインスタンスを構成します。
-Doc4j.multicast.bindInterface=123.45.67.22
このパラメータと値は、Application Server Controlコンソールの「サーバー・プロパティ」ページ、「コマンドライン・オプション」セクションの「Javaオプション」フィールドで指定します(図A-2)。
Context.PROVIDER_URL
プロパティでopmn:
の接頭辞を使用するアプリケーションがある場合に、InitialContext
メソッドのパフォーマンスが遅くなることがあります。
次のサンプル・コードでは、PROVIDER_URL
が、opmn:
接頭辞を含むURLに設定されます。
Hashtable env = new Hashtable(); env.put(Context.PROVIDER_URL, "opmn:ormi://hostname:port/cmpapp"); // ... set other properties ... Context context = new InitialContext(env);
PROVIDER_URL
で指定されているホストが停止している場合、アプリケーションはOPMNに対してネットワーク接続を行って別のホストを検索する必要があります。ネットワーク経由でのOPMNへの接続には時間がかかります。
別のホストを見つけるためにOPMNに対して別のネットワーク接続を行うことを避けるには、OPMNから最初に返された値をキャッシュし、キャッシュ内の値をアプリケーションで使用できるように、oracle.j2ee.naming.cache.timeout
プロパティを設定します。
次のサンプル・コードを実行すると、oracle.j2ee.naming.cache.timeout
プロパティが設定されます。
Hashtable env = new Hashtable(); env.put(Context.PROVIDER_URL, "opmn:ormi://hostname:port/cmpapp"); // set the cache value env.put("oracle.j2ee.naming.cache.timeout", "30"); // ... set other properties ... Context context = new InitialContext(env);
表A-1は、有効なoracle.j2ee.naming.cache.timeout
プロパティ値を示しています。
値 | 意味 |
---|---|
|
キャッシュなし。 |
|
リフレッシュなしで1回だけキャッシュ。 |
|
ここで指定した秒数を経過すると、キャッシュをリフレッシュできます。ただしこれは自動ではありません。リフレッシュは、「 このプロパティを設定しない場合のデフォルト値は60です。 |
このプロパティを設定しても、最初のnew InitialContext()
コールではある程度の遅延が見られますが、その後のコールでは、OPMNにネットワーク接続せずにキャッシュからデータを取得するため、速度が増します。
パフォーマンスを最適にするために、さらにDedicated.Connection
をYES
またはDEFAULT
に、Dedicated.RMIcontext
をFALSE
に設定してください。
Backup and Recovery Toolを使用して、あるホストから別のホストへOracleAS Metadata Repositoryをバックアップおよびリストアするとき、新しいホストのORACLE SIDが、古いホストのORACLE SIDと異なる場合には失敗します。
Backup and Recovery Toolが、異なるORACLE SID値に対して動作しません。
ORACLE SIDの不一致によってリストアが失敗したときに表示されるエラー・メッセージの例を次に示します。
2つのノードAおよびBがあるとします。Backup and Recovery Toolを使用してマシンAのOracleAS Metadata Repositoryをバックアップします。同じツールを使用してマシンBでのリストアを試みた場合、次のメッセージが表示されます。
Oracle instance started
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-00579: the following error occurred at 09/08/2003 16:29:15
RMAN-06003: ORACLE error from target database: ORA-01103: database name 'M16REP1' in controlfile is not 'M16MR2'
RMAN-06097: text of failing SQL statement: alter database mount
RMAN-06099: error occurred in source file: krmk.pc, line: 4124
「M16REP1」はバックアップされたデータベースのORACLE SIDです。
現在はありません。異なるORACLE SIDのデータベースに対するOracleAS Metadata Repositoryのリストアは、現在サポートされていません。
クラスタ・ファイル・システムを使用しないReal Application Clustersでは、Oracle Ultra Search Webクローラが、使用可能なノードにフェイルオーバーしません。
現在、Oracle Ultra Search Webクローラは、Real Application Clusterの1つのノードのみから実行されるように構成されています。そのノード(またはデータベース)が停止しても、Webクローラは使用可能なノードで起動しません。この状況は、非クラスタ・ファイル・システムのReal Application Clustersで起こります。
Real Application Clustersでクラスタ・ファイル・システムを使用している場合、Oracle Ultra Searchクローラは、任意のReal Application Clustersノードから起動可能です。この場合、1つ以上のノードが実行されている必要があります。
クラスタ・ファイル・システムが使用されていない場合、Oracle Ultra Searchクローラは、常に特定のノードで実行されます。そのノードが動作を停止した場合は、wk0reconfig.sql
スクリプトを実行してOracle Ultra Searchを別のReal Application Clustersノードに移動する必要があります。スクリプトは、次のように実行します。
> sqlplus wksys/wksys_passwd SQL> ORACLE_HOME/ultrasearch/admin/wk0reconfig.sql <instance_name> <connect_url>
ここで、<instance_name>
は、Oracle Ultra Searchがクローリングに使用するReal Application Clustersインスタンスの名前です。この名前は、データベースに接続した後に、次のSQL文を使用することによって取得できます。
SELECT instance_name FROM v$instance
<connect_url>
は、特定のインスタンスのみへの接続を保証するJDBC接続文字列で、次のようになります。
(DESCRIPTION= (ADDRESS_LIST= (ADDRESS=(PROTOCOL=TCP) (HOST=<nodename>) (PORT=<listener_port>))) (CONNECT_DATA=(SERVICE_NAME=<service_name>)))
Oracle Ultra Searchを、あるReal Application Clustersノードから別のノードに切り替えると、キャッシュのコンテンツが破棄されます。インスタンスを切り替えると、キャッシュの再移入のためにドキュメントの再クロールが強制されます。
前述の項で説明した情報では十分でない場合は、Oracle MetaLink(http://metalink.oracle.com)を参照してください。問題の解決策が見つからない場合は、サービス・リクエストをログに記録してください。
|
Copyright © 2005, 2007 Oracle. All Rights Reserved. |
|