【Oracle Database】Oracle RAC環境の正常起動を確認する「crsctl status resource -t」の使いこなしTips:データベースサポート最前線の現場から(11)(1/2 ページ)
データベース管理システムの運用でトラブルが発生したらどうするか。データベースサポートスペシャリストが現場目線の解決Tipsをお届けします。今回は、クラスタウェア「Oracle RAC」の動作状態を確認する「crsctl status resource -t」の使いこなしTipsを紹介します。
複数のサーバで1つのデータベースを構成するOracle Databaseのクラスタリング機能「Oracle RAC(Real Application Clusters)」は、クラスタウェア(Oracle Clusterware)によってデータベースやリスナーがリソース管理される仕組みとなっています。そのため、メンテナンスの際にはクラスタウェアを含めた再起動が必要となるケースがあります。
今回は、このメンテナンス体制を的確に構築することを目的に、「crsctl」コマンドを使ってOracle RAC環境が正しく起動したことを判断するTipsを紹介します。
本稿の対象は、Linux/UNIXシステム上で動作する「Oracle Grid Infrastructure 11gR2/12cR1」以降となります。ちなみにOracle Clusterwareは、Oracle Database 11gR2から「Oracle Grid Infrastructure」のコンポーネントの1つとなっています。
Oracle RAC環境の正常起動を確認するコマンド「crsctl status resource -t」
Oracle RAC環境が正しく起動したかどうかは、「crsctl status resource -t」コマンドで確認します。具体的には、このコマンドを実行することで、クラスタウェアに管理されているデータベースやリスナーなどの「リソース」の起動状況を確認できます。なお、「crsctl stat res -t」と少し略すことも可能です。
crsctl status resource -t
crsctl stat res -t
コマンドは、Oracle RACを構成するいずれかのノードで、「Oracle Grid Infrastructureのインストールユーザー名で実行します。通常は、「grid」というユーザー名でインストールされています。
正常時の結果
正常に起動されていれば、各リソースのTarget列、State列が共に「ONLINE」の結果が返されます。ちなみに、Target列にはクラスタウェアが認識している状態(あるべき状態)、State列にはリソースの現在の状態が示されます。
[grid@node1 ~]$ crsctl stat res -t ---------------------------------------------------------------------- Name Target State Server State details ---------------------------------------------------------------------- Local Resources ---------------------------------------------------------------------- ・・・ ora.LISTENER.lsnr ONLINE ONLINE node1 STABLE ONLINE ONLINE node2 STABLE ・・・ ora.v1212.db 1 ONLINE ONLINE node1 Open,STABLE 2 ONLINE ONLINE node2 Open,STABLE
異常時の結果
一方、異常時には、各リソースのTarget列とState列の値が「ONLINE以外」で返されます。
[grid@node1 ~]$ crsctl stat res -t ---------------------------------------------------------------------- Name Target State Server State details ---------------------------------------------------------------------- Local Resources ---------------------------------------------------------------------- ・・・ ora.LISTENER.lsnr ONLINE ONLINE node1 STABLE ONLINE ONLINE node2 STABLE ・・・ ora.v1212.db 1 ONLINE OFFLINE Abnormal Termination ,CLEANING 2 ONLINE ONLINE node2 Open,STABLE
上記の例では、データベース名「ora.v1212.db」が「OFFLINE」となっています。データベースに問題が発生しており、Oracle RACも正しく起動できていないことを示しています。データベースにどんな問題が発生したのかについては、アラートログを確認して状況を把握します。
今回はテストのために、smon(システムモニター)プロセスを強制終了(kill)して仮想的に障害を発生させました。アラートログを確認すると、クラスタウェアの死活監視機能によって、データベースの停止が検知され、自動復旧されたことが記録されていました。
Wed Oct 21 16:25:45 2015 Instance Critical Process (pid: 24, ospid: 11247, SMON) died unexpectedly /* SMONが停止し、データベースが異常終了 */ PMON (ospid: 11165): terminating the instance due to error 474 ・・・ Wed Oct 21 16:26:00 2015 Starting ORACLE instance (normal) (OS id: 15687) /* 死活監視により停止を検知し、起動を実施 */ ・・・ Wed Oct 21 16:26:35 2015 AQPC started with pid=51, OS id=16032 Starting background process CJQ0 Completed: ALTER DATABASE OPEN /* db agent *//* {0:25:36} */ /* データベースの起動が完了 */
なお今回のテストでは単純なデータベースの異常終了を模したことから自動復旧されましたが、エラーの内容によっては、死活監視機能による再起動でも正しく起動されない可能性があります。バックナンバー『忘れていませんか? 「アラートログ調査」に必要な、たった3つのキホン』と『Oracleトラブル解決の基礎 「ログ」を理解して「初動対応」を早くする』を参照いただき、しかるべき対処ができるように「ただしいログ採取の体制」はあらかじめ整えておくようにしてください。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- 「新機能」「廃止機能」「サポート状況」から見たユーザーにとってのOracle Database 12c
Oracle Database導入を実施ならびに支援するサービスプロバイダという筆者の立場から、ユーザーにとっての新バージョンの意義を考えながら、新機能や廃止された機能などを紹介します。 - オラクルが確約した「クラウド6箇条」と「Database 12c R2」の気になるトコロ
米オラクルのラリー・エリソンCTOが、同社の年次イベントで今後のクラウド事業の行方を確約する「Oracle Cloud、6つの設計目標」を掲げました。同時に発表された基幹製品「Oracle Database 12c」の次期バージョンのポイントと共に、そこにどんな狙いがあるかを振り返ります。 - オラクルのエリソン会長、「Oracle Database」最新版や多数のクラウドイノベーションを発表
米オラクルのラリー・エリソン氏は「Oracle OpenWorld 2016」の開幕基調講演を行い、同社のクラウドコンピューティングプラットフォーム全般にわたる多くのイノベーションを披露した。 - 【Oracle Database】忘れていませんか? 「アラートログ調査」に必要な、たった3つのキホン
データベース管理システムの運用でトラブルが発生したらどうするか。データベースサポートスペシャリストが現場目線の解決Tipsをお届けします。今回は基本編として「アラートログの調査で押さえるべき3つのポイント」を解説します。【Oracle Database 12c対応版】 - Oracle運用の基本「ログ」を理解しよう
本連載では、Oracle Database運用の鍵となるトラブル対処法について紹介していきます。第1回、第2回では情報収集の要となるログについて見ていきます。ログの出力情報は10gと11gとでは大きく異なる点がありますので、それぞれについても確認しておきましょう。 - カーソル・エラーとオブジェクトの問題切り分け
Oracleデータベースの運用管理者は、突発的に直面するパフォーマンス障害にどうやって対処したらよいか。本連載は、非常に複雑なOracleのアーキテクチャに頭を悩ます管理者に向け、短時間で問題を切り分け、対処法を見つけるノウハウを紹介する。対象とするバージョンはOracle8から9iまでを基本とし、10gの情報は随時加えていく。(編集局) - IF文のネスト地獄から抜け出せるMERGE文