この付録では、トレース・ファイルおよびログ・ファイルを使用して、Oracle Real Application Clusters(Oracle RAC)コンポーネントの問題を診断する方法について説明します。この項の内容は次のとおりです。
Oracle Real Application ClustersでのJavaベースのツールとユーティリティに関するトレースの有効化
Oracle Real Application Clustersインスタンスでプライベート・ネットワークが使用されているかどうかの判別方法
注意: Oracle RACを使用して生成されたOracle Databaseのトレース・ファイルおよびログ・ファイルは、Oracle Clusterwareコンポーネントでも使用できます。Oracle Clusterwareの場合、これらのファイルはOracle Databaseによって統合ディレクトリのログ構造に格納されます。Oracle Clusterwareのトラブルシューティングの詳細は、『Oracle Clusterware管理およびデプロイメント・ガイド』を参照してください。 |
Oracle Databaseは、Oracle RAC環境で発生する重要なイベントに関する情報をトレース・ファイルに記録します。Oracle RACのトレース・ファイルは、シングル・インスタンスのOracle Databaseの場合と同じです。すべてのインスタンスに対してトレース・ファイルを定期的に監視およびバックアップし、将来のトラブルシューティングのための情報を保持します。
ORA-600
エラーに関する情報は、各インスタンスのalert_SID
.log
ファイルにあります。ここでSIDには、インスタンスの識別子を指定します。
バックグラウンド・プロセスおよびサーバー・プロセス用のアラート・ログ・ファイルとすべてのトレース・ファイルは、自動診断リポジトリに書き込まれます。自動診断リポジトリの位置は、DIAGNOSTIC_DEST
初期化パラメータで指定できます。トレース・ファイルの名前はオペレーティング・システム固有ですが、通常、各ファイルにはファイルを書き込むプロセスの名前(LGWRやRECOなど)が含まれます。次に例を示します。
diagnostic_dest=/oracle/11.1/diag/rdbms/rac/RAC2/trace
Oracle Databaseでは、バックグラウンド・スレッドごとに異なるトレース・ファイルが作成されます。Oracle RACバックグラウンド・スレッドは、データベース操作とデータベース・エラーの記録に、トレース・ファイルを使用します。これらのトレース・ログは、トラブルシューティングに有効です。また、Oracleサポート・サービスは、これらのトレース・ログを使用して、クラスタ・データベース構成の問題をより効率的にデバッグできます。Linux、UNIXおよびWindowsシステムの場合、バックグラウンド・プロセス・トレース・ファイルはSID_
process name
_process identifier
.trc
という名前です。
関連項目: トレース・ファイルでのエラーの監視およびアラートの詳細は、『Oracle Database管理者ガイド』を参照してください。 |
DIAGNOSTIC_DEST
初期化パラメータを設定すると、ユーザー・プロセスに関するトレース・ファイルが作成されます。ユーザー・プロセス・トレース・ファイルの名前は、SID
_ora_
process_identifier/thread_identifier
.trc
の形式です。LinuxおよびUNIXシステムの場合、process_identifier
はプロセス識別子(PID)を示す5桁の数値です。Windowsシステムの場合、thread_identifier
はスレッド識別子です。
Oracle RACインスタンス全体にわたる問題は、最も診断が難しいタイプの問題である可能性があります。たとえば、複数のインスタンスからトレース・ファイルを相互に関連付け、マージする必要がある場合があります。Oracle Database 11gには、診断データの収集および管理用の高度な障害診断インフラストラクチャが含まれており、データベース診断データの格納に自動診断リポジトリ(ADR)ファイル・ベースのリポジトリが使用されます。共有ディスクにADRベースを作成すると、同じOracle RACデータベースのすべてのインスタンスのADRホームを同じADRベースに配置できます。共有記憶域を使用すると、次の処理を実行できます。
ADRCIコマンドライン・ツールを使用して、すべてのインスタンスの診断を相互に関連付けることができます。
ADRCIは、ADR内の診断データを確認し、Oracleサポートへの送信用に発生事象と問題の情報をzipファイルに圧縮できるコマンドライン・ツールです。診断データには、発生事象と問題の説明、トレース・ファイル、ダンプ、状態モニター・レポート、アラート・ログ・エントリなどが含まれます。
関連項目: ADRCIの使用方法の詳細は、『Oracle Databaseユーティリティ』を参照してください。 |
データ・リカバリ・アドバイザを使用して、破損したデータ・ブロック、破損または欠落したファイルおよびその他のデータ障害を修復できます。
データ・リカバリ・アドバイザは、永続データ障害の自動的診断、修復オプションの提示およびユーザーの要求に応じた問題の修復を行う、Oracle Databaseインフラストラクチャです。
関連項目: 診断データの管理の詳細は、『Oracle Database管理者ガイド』を参照してください。 |
Oracle RACデータベースの各インスタンスには、1つのアラート・ファイルがあります。各インスタンスのアラート・ファイル(alert.SID.log
)には、データベース操作中に発生したエラー・メッセージおよび例外に関する重要な情報が含まれています。インスタンスを起動するたびに、アラート・ファイルの末尾に情報が追加されます。すべての処理スレッドをインスタンスのアラート・ファイルに書き込むことができます。
alert_SID.log
ファイルは、init
db_name.ora
初期化パラメータ・ファイルのDIAGNOSTIC_DEST
パラメータで指定されたディレクトリにあります。
Oracle RACで使用可能なJavaベースのすべてのツールとユーティリティは、ツールまたはユーティリティと同じ名前のスクリプトを実行して起動します。クラスタ検証ユーティリティ(CVU)、Database Configuration Assistant(DBCA)、Net Configuration Assistant(NetCA)、Server Control(SRVCTL
)、Global Services Daemon(GSD)などがあります。たとえば、DBCAを実行するには、コマンドdbca
を入力します。
Oracle Databaseでは、デフォルトでDBCAおよびDatabase Upgrade Assistant(DBUA)のトレースが有効になっています。CVU、GSDCTLおよびSRVCTL
の場合は、 SRVM_TRACE
環境変数をTRUE
に設定すると、Oracle Databaseでトレースを生成できます。トレースはログ・ファイルに書き込まれます。たとえば、DBCAおよびDBUAの場合、トレースはそれぞれOracle home
/cfgtoollogs/dbca
およびOracle home
/cfgtoollogs/dbua
内のログ・ファイルに書き込まれます。
SHUTDOWN IMMEDIATE
が保留され、停止要求を繰り返してもOracle Databaseが迅速に応答しなくなる場合があります。これは、Oracle Clusterwareで現行の停止要求が処理中のため発生する場合があります。そのような場合は、以後の停止要求に対し、SQL*Plusを使用してSHUTDOWN ABORT
を実行します。
この項では、Oracle RACインスタンスでプライベート・ネットワークが使用されているかどうかを手動で判別する方法について説明します。ただし、このタスクを実行する場合は、Oracle Enterprise Manager Database ControlのGraphical User Interfaceを使用してインターコネクトを確認することをお薦めします。また、Oracle Enterprise Managerを使用したOracle RACの監視の詳細は、『Oracle Database 2日でReal Application Clustersガイド』を参照してください。
ほとんどのネットワーク・プロトコルで、oradebug ipc
コマンドを実行し、データベースで使用されているインターコネクトを確認できます。次に例を示します。
oradebug setmypid
oradebug ipc
これらのコマンドは、DIAGNOSTIC_DEST
初期化パラメータによって指定された場所にトレース・ファイルをダンプします。出力は次のようになる場合があります。
SSKGXPT 0x1a2932c flags SSKGXPT_READPENDING info for network 0 socket no 10 IP 172.16.193.1 UDP 43749 sflags SSKGXPT_WRITESSKGXPT_UP info for network 1 socket no 0 IP 0.0.0.0 UDP 0...
この例では、データベースがユーザー・データグラム・プロトコル(UDP)プロトコルでIP 172.16.193.1を使用していることを確認できます。oradebug tracefile_name
コマンドを実行して、出力が書き込まれるトレースの場所を出力することもできます。
また、V$CLUSTER_INTERCONNECTS
ビューを問い合せて、プライベート・インターコネクトに関する情報を確認できます。次に例を示します。
SQL> SELECT * FROM V$CLUSTER_INTERCONNECTS;NAME IP_ADDRESS IS_ SOURCE ----- -------------------------- --- ------------------------------- eth0 138.2.236.114 NO Oracle Cluster Repository