この付録では、トラブルシューティングについて説明します。内容は次のとおりです。
この付録に示すトラブルシューティングの手順を実行する前に、システムが要件を満たしていること、および第2章に説明されているインストール前の作業をすべて完了していることを確認してください。
リリース・ノートの参照
製品をインストールする前に、その製品に関するリリース・ノートを参照してください。リリース・ノートは、Oracle Database 11gのDVDで提供されています。リリース・ノートの最新バージョンは、次のURLにあるOracle Technology NetworkのWebサイトからも入手できます。
http://www.oracle.com/technology/documentation/
Oracle Universal Installerをリモート・システム上で実行して、ローカル・システム上でOracle Universal Installerのユーザー・インタフェースを表示しようとすると、次のようなエラー・メッセージが表示されることがあります。
"Failed to connect to server" "Connection refused by server" "Can't open display"
このうちいずれかのエラー・メッセージが表示された場合は、次の手順を実行してください。
|
注意: この手順は、UNIXワークステーションのユーザーにのみ適用されます。Xサーバー・ソフトウェアがインストールされているPCまたは他のシステムを使用している場合、リモート・システムでローカル・システムのXアプリケーションを表示できるようにする方法については、Xサーバーのドキュメントを参照してください。 |
ローカル・ターミナル・ウィンドウから、X Windowセッションを起動したユーザーとしてログインします。
次のコマンドを入力します。
$ xhost fully_qualified_remote_host_name
次に例を示します。
$ xhost somehost.us.example.com
次のコマンドを入力します。workstation_nameは、ワークステーションのホスト名またはIPアドレスです。
Bourne、Bash、またはKornシェルの場合:
$ DISPLAY=workstation_name:0.0
$ export DISPLAY
Cシェルの場合:
% setenv DISPLAY workstation_name:0.0
X Windowアプリケーションがローカル・システムで正しく表示されるかどうかを確認するには、次のコマンドを入力します。
$ xclock
Xクロックがモニターに表示されます。
Xクロックが表示されたら、Xクロックを閉じ、Oracle Universal Installerを再起動します。
インストール中にエラーが発生した場合は、次のように操作してください。
Oracle Universal Installerを終了しないでください。
インストール画面の1つに間違った情報を入力して「次へ」をクリックした場合は、「戻る」をクリックして元の画面に戻り、情報を訂正します。
Oracle Universal Installerによるファイルのコピーまたはリンク中にエラーが発生した場合は、「インストール・セッションのログの確認」を参照してください。
コンフィギュレーション・アシスタントの実行中にエラーが発生した場合は、「コンフィギュレーション・アシスタントのトラブルシューティング」を参照してください。
問題を解決できない場合は、「インストール失敗後のクリーン・アップ」の手順に従って、失敗したインストールの内容を削除してください。
インストール中には、Oracle Universal Installerにより実行されるすべてのアクションがログ・ファイルに記録されます。インストール中にエラーが発生した場合は、問題の原因と考えられる情報をログ・ファイルで確認してください。
|
注意: 日次のcronジョブの実行中にOracle Universal Installerを実行すると、cronジョブがクリーンアップを実行している場合に不明なインストールの問題が発生し、インストールが完了する前に一時ファイルが削除されます。日次のcronジョブの実行前にインストールを完了するか、インストールが完了するまでクリーンアップを実行する日次のcronジョブを無効化することをお薦めします。 |
ログ・ファイルを表示する手順は、次のとおりです。
必要な場合は、次のコマンドを入力して、oraInventoryディレクトリの位置を確認してください。
$ cat /etc/oraInst.loc
oraInventoryディレクトリの位置は、このファイルのinventory_locパラメータで指定します。
次のコマンドを入力して、ディレクトリをOracle Universal Installerのログ・ファイル・ディレクトリに変更します。orainventory_locationには、oraInventoryディレクトリの位置を指定します。
$ cd /orainventory_location/logs
次のコマンドを入力して、ログ・ファイルの名前を指定します。
$ ls -ltr
このコマンドを実行すると、ファイルが作成順に表示され、直近に作成されたファイルが最後に表示されます。Oracle Universal Installerのログ・ファイルは、次のような形式の名前で保存されています。date_timeは、インストールが開始された日時を示します。
installActionsdate_time.log
問題に関する情報が含まれている可能性が高いログ・ファイルの最新エントリを表示するには、次のようなコマンドを入力します。
$ tail -50 installActionsdate_time.log │ more
このコマンドを実行すると、ログ・ファイルの最後の50行が表示されます。
Oracle Universal Installerにより表示されたエラーまたはログ・ファイルに記録されたエラーが、再リンクに問題があることを示している場合は、次のファイルで詳細を確認してください。
$ORACLE_HOME/install/make.log
ASMのホスト名を変更すると、Oracle CSSデーモンは起動しなくなります。この問題に対処するには、次の手順を使用してください。
rootユーザーとしてログインします。
localconfig deleteを実行し、CSSの構成を解除します。これにより、古いホスト名を参照していたシステム上の構成関連ファイルが削除されます。
localconfig addを実行し、新しいホスト名を使用してCSSを再構成します。
次に例を示します。
# $ORACLE_HOME/bin/localconfig [add] [delete] [ reset destination_Oracle_home ] [-silent] [-paramfile Complete_path_of_file_specifying_parameter_values]
この項では、Oracle Configuration Managerの使用中に発生する可能性のあるエラーと、そのエラーに対するトラブルシューティングのヒントについて説明します。
installCCRSQL collectconfigの実行に必要な権限の不足
installCCRSQL.shスクリプトを実行すると、ORACLE_OCMユーザーが作成され、データベース構成情報を収集するためのジョブが設定されます。ORACLE_OCMユーザーには、データベース・バージョン10g以上のUTL_FILEおよびDBMS_SCHEDULER、およびデータベース・バージョン10gより前のDBMS_JOBに対するEXECUTE権限が必要です。これらの権限がPUBLICに対して付与されている場合、ORACLE_OCMユーザーはこれらの権限を継承し、そうでない場合は、installCCRSQL.shスクリプトが実行される際に、これらの権限を明示的に付与する必要があります。継承された権限が取り消された場合は、権限が不足していることを示す次のエラーがalert_logに記録されます。
ORA-12012: error on auto execute of job 52
ORA-04068: existing state of packages has been discarded
ORA-04063: package body "ORACLE_OCM.package_name" has errors
ORA-06508: PL/SQL: could not find program unit being called
これらのエラーを解消するには、取り消されたEXECUTE権限をORACLE_OCMユーザーに付与する必要があります。
データベース・バージョン10g以上では、次のSQL*PLUSコマンドを入力して、UTL_FILEおよびDBMS_SCHEDULERパッケージに対するEXECUTE権限をORACLE_OCMユーザーに付与します。
SQL> grant execute on UTL_FILE to oracle_ocm; SQL> grant execute on DBMS_SCHEDULER to oracle_ocm; SQL> ALTER PACKAGE oracle_ocm.MGMT_DB_LL_METRICS compile; SQL> ALTER PACKAGE oracle_ocm.mgmt_config compile;
バージョン10gより前のデータベースでは、次のSQL*PLUSコマンドを入力して、DBMS_JOBパッケージに対するEXECUTE権限をORACLE_OCMユーザーに付与します。
SQL> grant execute on UTL_FILE to oracle_ocm; SQL> grant execute on DBMS_JOB to oracle_ocm; SQL> ALTER PACKAGE oracle_ocm.MGMT_DB_LL_METRICS compile; SQL> ALTER PACKAGE oracle_ocm.mgmt_config compile;
ORA-04021エラー
インストール中、ORACLE_OCMユーザーに対して必要な権限を付与する必要が生じる場合があります。権限を付与する際、$ORACLE_HOME/ccr/log/collectconfigSID.logに次のエラーが記録されることがあります。
ORA-04021: timeout occurred while waiting to lock object SYS.<package like UTL_FILE>
このエラーは、付与しようとしている権限の対象であるパッケージが、別のプロシージャにより使用されている場合に発生します。このエラーを解消するには、パッケージが使用されていないときにインストールを再試行してください。このエラーは、UTL_FILE、DBMS_SCHEDULERまたはDBMS_JOBに対する権限を付与する際に発生する可能性があります。
installCCRSQL実行中のORA-01925エラー
このエラーは、MAX_ENABLED_ROLES初期化パラメータの値が、上限値を超えている場合に発生します。このエラーを解消するには、次の手順に従って、MAX_ENABLED_ROLES初期化パラメータの値を大きくし、データベースを再起動する必要があります。
initsid.oraファイル(sidはデータベース・システム識別子)を編集し、MAX_ENABLED_ROLESの値を大きくします。サーバー・パラメータ(spfile)が使用されている場合は、次のSQL*PLusコマンドを使用して、MAX_ENABLED_ROLESパラメータの値を変更します。
SQL>alter system set MAX_ENABLED_ROLES=value scope=spfile
データベースを再起動します。
データベースの再起動後、installCCRSQL.shスクリプトを試行します。
正しく構成されていないホスト名の短縮名のみのOracleMetaLinkでの表示
ホスト名がOracleMetaLinkに完全修飾名で表示されるようにするには、ホスト名およびドメインを含むエントリが次の形式で/etc/hostsファイルに記述されている必要があります。
IP-Address Full-HostName Short-HostName
次に例を示します。
10.10.10.10 myhost.mydomain myhost
/etc/hostsファイルが正しく構成されていない場合、OracleMetaLink上には短縮名のみが表示されます。
Oracle Configuration Managerの同期メッセージ: Oracle Configuration Managerでは、複数のコマンドを同時に実行できません。複数のコマンドを同時に実行しようとすると、次のようなメッセージが表示される場合があります。
メッセージ: 他の操作が進行中です。お待ちください...
説明: 同時には実行できないOracle Configuration Managerのコマンドが複数存在します。別のコマンドの実行中にこれらのコマンドの1つを実行しようとすると、最初のコマンドが完了するまで2番目のコマンドは実行されません。別のコマンドを実行中であることを示すメッセージが表示されます。最初のコマンドが完了すると、2番目のコマンドは自動的に実行されます。
コマンド: emCCR collect、emCCR getupdates、emCCR update_componentsおよびemCCR upload
アクション: 最初は、何も実行しないでください。2番目のコマンドは、最初のコマンドが完了すると実行されます。ただし、コマンドの実行に時間がかかりすぎる場合、タイムアウトが発生します。タイムアウトが発生した場合、emCCR stopコマンドを実行して、Oracle Configuration Managerアクティビティが実行されていないことを確認してください。ccr/state/collector.lockファイルを削除し、emCCR startコマンドを実行してスケジューラを再起動してください。コマンドを切断モードで実行した場合、収集または更新が行われていないことを確認し、ccr/state/collector.lockファイルを削除してください。
メッセージ: 操作はブロックされました。待機中..
説明: 他のemCCRコマンドが実行されている場合、emCCR update_componentsコマンドは実行できません。このコマンドを実行しようとすると、ブロックされます。また、他のすべてのコマンドがブロックされるため、emCCR update_componentsが実行されている場合も、emCCRコマンドを実行できません。
コマンド: configCCRおよびほとんどのemCCRコマンド
アクション: 最初は、何も実行しないでください。このコマンドは、現在のコマンドが完了すると実行されます。タイムアウトが発生した場合、emCCR stopコマンドを実行して、Oracle Configuration Managerアクティビティが実行されていないことを確認してください。ccr/state/semaphore.op*およびccr/state/semaphore.update*ファイルを削除し、emCCR startコマンドを実行してOracle Configuration Managerを再起動してください。コマンドを切断モードで実行している場合、収集または更新が行われていないことを確認し、ccr/state/semaphore.op*およびccr/state/semaphore.update*ファイルを削除してください。
メッセージ: スケジューラはアップグレードのために停止しています。
説明: Oracle Configuration Managerのアップグレード中、emCCRコマンドは実行できません。
コマンド: すべてのemCCRコマンド
アクション: コマンドを後で再試行してください。
コンフィギュレーション・アシスタントの実行中に発生したインストール・エラーのトラブルシューティング方法は、次のとおりです。
「インストール・セッションのログの確認」に示したインストール・ログ・ファイルを確認します。
$ORACLE_HOME/cfgtoollogsディレクトリにある特定のコンフィギュレーション・アシスタントのログ・ファイルを確認します。エラーの原因となった問題を修正します。
「致命的エラー。再インストール」というメッセージが表示される場合は、ログ・ファイルを確認して問題の原因を調べます。これ以降の手順は、「致命的エラー」を参照してください。
Oracleのコンフィギュレーション・アシスタントの障害は、インストール画面の最下部に表示されます。追加情報がある場合は、コンフィギュレーション・アシスタントのインタフェースに表示されます。コンフィギュレーション・アシスタントの実行ステータスは、次のファイルに格納されます。
oraInventory_location/logs/installActionsdate_time.log
次の表に、実行ステータス・コードを示します。
| ステータス | 結果コード |
|---|---|
| コンフィギュレーション・アシスタントの正常終了 | 0 |
| コンフィギュレーション・アシスタントの異常終了 | 1 |
| コンフィギュレーション・アシスタントの取消し | -1 |
コンフィギュレーション・アシスタントの実行中にリカバリ不能なエラーが発生した場合は、次の手順に従って現在のインストールを削除し、Oracleソフトウェアを再インストールしてください。
「インストール失敗後のクリーン・アップ」の説明に従って、失敗したインストールの内容を削除します。
リカバリ不能なエラーの原因を修正します。
Oracleソフトウェアを再インストールします。
サイレント・モード・インストールが正常に実行されたかどうかを判断するには、次のログ・ファイルを参照してください。
/oraInventory_location/logs/silentInstalldate_time.log
必要な場合は、前項を参照してoraInventoryディレクトリの位置を確認してください。
サイレント・インストールは、次の場合に失敗します。
レスポンス・ファイルを指定していない場合
不正または不完全なレスポンス・ファイルを指定している場合
たとえば、製品固有のデータは正しく指定しているが、ステージング領域の位置の指定が誤っていることがよくあります。このような場合は、FROM_LOCATION変数をチェックし、インストール・メディアにあるproducts.xmlファイルを指していることを確認します。このproducts.xmlは、インストール・メディアのresponse/stageにあります。
Oracle Universal Installerにディスク領域不足などのエラーが発生した場合
Oracle Universal Installerまたはコンフィギュレーション・アシスタントは、実行時にレスポンス・ファイルの妥当性を検査します。妥当性検査に失敗すると、サイレント・モード・インストールまたは構成プロセスは終了します。コンテキスト、書式またはタイプが不正なパラメータ値は、Oracle Universal Installerによって、ファイルに値が指定されていない場合と同様に処理されます。
インストールが失敗した場合は、インストール中にOracle Universal Installerで作成されたファイル、およびOracleホーム・ディレクトリを削除する必要があります。ファイルを削除するには、次の手順を実行します。
「Oracle Databaseソフトウェアのインストール」の説明に従って、Oracle Universal Installerを起動します。
「ようこそ」画面で「製品の削除」をクリックするか、Oracle Universal Installerのいずれかの画面で「インストールされた製品」をクリックします。
「インベントリ」画面が表示されます。この画面には、インストールされた製品がリストされています。
削除する製品が格納されているOracleホームを選択し、「削除」をクリックします。
失敗したインストール中に作成されたOracleホーム・ディレクトリを手動で削除します。
Oracleソフトウェアを再インストールします。
再インストールする場合は、インストール・タイプに応じて、1つまたは2つのデータベース・スキーマを削除する必要があります。
アップグレード・インストールに失敗した場合、Oracle Application Expressを以前のリリースに戻し、リリース2.2に関連付けられているスキーマを削除する必要があります。この項の内容は、次のとおりです。
Oracle Application Expressを以前のリリースに戻す手順は、次のとおりです。
imagesディレクトリを変更した場合は、テキスト・エイリアス/i/の参照先をリリース1.5のimagesディレクトリに戻す必要があります。
SQL*Plusで次のコマンドを実行します。
SQL*Plusを起動し、Oracle Application ExpressがインストールされているデータベースにSYSとして接続します。次に例を示します。
$ $ORACLE_HOME/bin/sqlplus
SQL> CONNECT SYS as SYSDBA
Enter password: SYS_password
Oracle Application Expressをリリース1.5に戻すには、次のコマンドを実行します。
ALTER SESSION SET CURRENT_SCHEMA = FLOWS_010500;
exec flows_010500.wwv_flow_upgrade.switch_schemas
('FLOWS_030000','FLOWS_010500');
Oracle Application Expressをリリース1.6に戻すには、次のコマンドを実行します。
ALTER SESSION SET CURRENT_SCHEMA = FLOWS_010600;
exec flows_010600.wwv_flow_upgrade.switch_schemas
('FLOWS_030000','FLOWS_010600');
Oracle Application Expressをリリース2.0に戻すには、次のコマンドを実行します。
ALTER SESSION SET CURRENT_SCHEMA = FLOWS_020000;
exec flows_020000.wwv_flow_upgrade.switch_schemas
('FLOWS_030000','FLOWS_020000');
リリース2.2のスキーマを削除する手順は、次のとおりです。
SQL*Plusを起動し、Oracle Application ExpressがインストールされているデータベースにSYSとして接続します。
次のコマンドを実行します。
DROP user FLOWS_030000 CASCADE;
新規インストールに失敗した後にスキーマを削除する手順は、次のとおりです。
SQL*Plusを起動し、Oracle Application ExpressがインストールされているデータベースにSYSとして接続します。
次のコマンドを実行します。
drop user FLOWS_030000 cascade; drop user FLOWS_FILES cascade;
「Oracle HTTP Serverの新規インストール時の構成」に記載されているとおり、imagesディレクトリをコピーしたファイル・システム・パスを指しているエイリアスのエントリを追加します。Oracle Application Expressにイメージが正しく表示されない場合、/i/エイリアスの定義が複数存在する可能性があります。この問題を解決する手順は、次のとおりです。
可能であれば、/i/の最初のインスタンス名を、別のエイリアス名に変更します。
あるいは、$ORACLE_HOME/marvel/imagesディレクトリから、最初の/i/エイリアスにより定義されているディレクトリにイメージをコピーします。
ユーザーが仮想ホストを介してOracle Application Expressにアクセスしている場合、オンライン・ヘルプは機能しません。次の例を検討します。
Oracle Application ExpressのDADが保存されているOracle HTTP Serverのホスト名がinternal.server.comであり、ポートが7777である。
ユーザーが仮想ホストを介してOracle Application Expressにアクセスしている。ユーザーのWebブラウザには、external.server.comおよびポート80が表示される。
この例の場合、ユーザーがinternal.server.comにアクセスできなければ、Oracle Application Expressのオンライン・ヘルプは機能しません。この問題を解決するには、Oracle Application Expressのデータベース・アクセス記述子(DAD)に次の行を追加し、CGI環境変数SERVER_NAMEおよびSERVER_PORTを上書きします。
PlsqlCGIEnvironmentList SERVER_NAME=external.server.com PlsqlCGIEnvironmentList SERVER_PORT=80
|
関連項目: CGI環境変数の上書きの詳細は、『Oracle Application Server mod_plsqlユーザーズ・ガイド』を参照してください。 |