Database Support Blog

  • Oracle Database
  • Exadata
2022.06.28

こんなのあったんだ!Exadataの便利ツール ExaWatchar・Exachkをご紹介

Exadata

はじめに

今回はOracle Exadata Database Machine(以下、Exadata)の運用・管理にあたって非常に有用なツールをご紹介します。

Exadataはサーバ、ストレージ、内部ネットワークなどをまとめてアプライアンス製品として提供されるため、管理に課題や不安を感じている方もいらっしゃるのではないでしょうか?
実はExadataにデフォルトで実装されているツールを活用するだけでも、効率的な管理につながります。

本記事ではOSのパフォーマンス監視に有効な「ExaWatcher」と、Exadataシステムのヘルスチェックに役立つ「Exachk」をご紹介します。


ExaWatcherでOSのパフォーマンス監視

概要とメリット

ExaWatcherは自動でOSのパフォーマンス情報を収集するツールです。
CPU使用率やディスクI/O、プロセス情報などを収集しています。

内部ではiostat、vmstat、psといったコマンドを定期的に実行し蓄積しています。
コマンドの実行結果だけを確認することも可能ですが、レポートからグラフィカルにパフォーマンスを確認できる点も特徴です。

Linuxのsarコマンドでも同様の内容は確認できますが、ExaWatcherには下記のような優位点があります。

  • 自動で情報を収集、レポート化
  • 手動でコマンドを実行して表計算ソフトで加工する手間が不要です。
  • 期間を指定してレポートを作成
  • 障害発生時間帯だけに絞ったレポート出力も可能です。
  • 一定サイズで古いファイルをローテーション
  • 出力されたログはデフォルトの場合、データベース・サーバは3GB、ストレージ・サーバは600MBでローテーションされるためメンテナンス不要です。

次の図はグラフの一例です。OSのパフォーマンス情報を視覚的にも確認しやすいのがメリットです。

ExaWatcher サマリレポート

図1.ExaWatcherのサマリレポート


使用シーン

それではどういった時にExaWatcherが効果的なのか?
代表的な利用シーンを確認してみましょう。

1.パフォーマンス障害の調査時

例えばCPU高騰などのパフォーマンス障害の調査に必要となるのは、障害発生時のCPUやメモリの使用率、I/O負荷などの情報です。このような場合にExaWatcherを使えば簡単に過去のOSパフォーマンスを確認することが可能です。
弊社のサポートセンターでも調査用のログとしてExaWatcherの出力をご提供いただき、問題の分析に使用しています。


2.テスト時のパフォーマンス分析

システムのテスト時にExadataの負荷状況を確認することができます。
データベース観点ではAWR(*)などから情報を分析することができますが、OS観点ではExaWatcherのログから簡単に確認することができます。

*AWR(Automatic Workload Repository)
データベースの統計情報を一定間隔で取得するOracle Databaseの機能


使用方法

自動出力と、手動で期間を指定して出力する方法についてご紹介します。

・自動出力

デフォルトの場合、2日間の稼働情報を自動でレポート化します。
次のような圧縮ファイルに各種情報が蓄積されています。
*実行環境はExadata X8M

【出力先】
 /opt/oracle.ExaWatcher/archive/ExtractedResults

【ファイル名】
 ExaWatcher_<ホスト名>_<日時>.tar.bz2

「ExaWatcher_<ホスト名>_<日時>.tar.bz2」を展開し、「Charts.ExaWatcher.<ホスト名>」配下の「index.html」から、CPU使用率やディスクI/Oを前述の図1のようにブラウザ上で確認することができます。

ExaWatcherの出力先

図2.ExaWatcherの出力先


・期間指定出力

--from,--toオプションをつけてコマンドを実行することで期間指定が可能です。
指定期間の長短にもよりますが、出力は数十秒~数分程度で完了します。
パフォーマンス障害の場合はこちらで出力すると負荷状況などの確認に役立ちそうです。
*実行環境はExadata X8M


例)4月1日 10:00-11:59のOS稼働情報を抽出しレポートを作成

 
 (root)# /opt/oracle.ExaWatcher/GetExaWatcherResults.sh --from 04/01/2022_10:00 --to 04/01/2022_11:59
 

【出力先】
 /opt/oracle.ExaWatcher/archive/ExtractedResults

【ファイル名】
 ExaWatcher_<ホスト名>_<日時>.tar.bz2


Exachkでシステムのヘルスチェック

概要とメリット

ExachkはExadataがメーカーのベストプラクティスに準拠しているかをチェックしてくれる機能です。OSのカーネルから、データベースの初期化パラメータまで幅広く情報収集しています。
ベストプラクティスおよびExadataの重篤不具合情報と照らし合わせて評価してくれます。

先ほどのExaWatcherと違い、基本的に手動で実行することでレポートを出力することができます。
今までExadataの不具合情報やデータベースのパラメータを細かく検討できなかったという方は、ぜひ一度Exachkのレポートを確認してみてください。Exachkを活用することでトラブルを未然に防止し、よりセキュアでハイパフォーマンスなExadataに改善することができます。

具体的にはヘルスチェックの下記の流れをExachkに任せることができます。

概要 作業内容
情報の収集 不具合情報や最適な設定をメーカードキュメントから確認
現在の設定確認 現在のExadataの設定を確認
対処方法の検討 変更の必要性や変更方法を確認

使用シーン

主な使用シーンとしては次の2点が考えられます。

1.毎月1回

月1回、Exachkを実行することがメーカー推奨とされています。
定期的にExadata全体の健全性を確認することで、システムの安定稼働につなげることができます。


2.計画メンテナンスの前後

毎月の実行は難しい、という場合は計画的なメンテナンスの前後に実施します。例えば四半期パッチを適用するタイミングです。
レポート最上部に示される「System Health Score」というスコアを参照することで、システム変更の妥当性を確認することができます。

[補足情報]
最新の不具合まで確認したい場合は最新のExachkを使用することがメーカー推奨です。
下記My Oracle Supportのナレッジから入手可能です。
Oracle Exadata Database Machine Exachk (ドキュメントID 1070954.1)
※閲覧にはMy Oracle Supportのアカウントが必要になります。


使用方法

次のようなコマンドでExachkを実行することができます。
※実行環境はExadata X8M

 
 (root)# /opt/oracle.ahf/exachk/exachk -a -o v
 

(-aオプションで全てのチェックを実施します
-o vオプションで合格[PASS]したチェックも出力します)


実行途中で情報収集対象のデータベースの選択が求められるので任意の番号を入力します。

 
 List of running databases registered in OCR
 1. db01
 2. orcl01
 3. All of above
 4. None of above
 

数分で実行は完了し、下記ディレクトリにレポートが出力されます。

【出力先】
 /u01/app/grid/oracle.ahf/data/<ホスト名>/exachk/user_root/output

【ファイル名】
 exachk_<ホスト名>_<データベース名_<日時等>.html


レポートの各評価項目には「CRITICAL」「FAIL」「PASS」などのステータスが付与されます。
「CRITICAL」や「FAIL」の項目は[View]から詳細情報・推奨事項を確認して、対応要否を検討します。
なお、「System Health Score」を100点にしたり、全ての項目を「PASS」にしたりすることが必須ではありません。推奨事項の詳細から[Benefit]や[Risk]も考慮してご検討いただければと思います。

図3の例だと「Message:Database parameter CLUSTER_INTERCONNECTS is not set to the recommended value」ということで、データベースの初期化パラメータの設定を修正するように推奨されています。

Exachk レポート

図3.Exachkのレポート例


おわりに

Exadataの管理は難しそうだなと感じるかもしれませんが、今回ご紹介したツールを活用することで運用・管理のハードルが少しでも下がれば幸いです。
Exadataの導入や保守は、実績豊富なアシストへぜひご相談ください。

[実績はこちら]
https://www.ashisuto.co.jp/product/category/database/exadata/case/


執筆者情報

こんどう てつ プロフィール画像

ビジネスインフラ技術本部 データベース技術統括部

2019年に新卒入社。Oracle Databaseのフィールドエンジニアの他、サポートセンターも対応。最近の趣味はダイビング。


■本記事の内容について
 本記事に示した定義及び条件は変更される場合があります。あらかじめご了承ください。

■商標に関して
 Oracle、Java及びMySQLは、Oracle Corporation、その子会社及び関連会社の米国及びその他の国における登録商標です。
 文中の社名、商品名等は各社の商標または登録商標である場合があります。


Oracle Databaseライセンスのご相談ならアシスト

関連している記事

  • Oracle Database
  • Oracle Cloud
2022.08.17

今だから見直そうデータベースセキュリティ(Oracle Cloud Infrastructure編)

2022年4月1日より改正個人情報保護法が完全施行され、事故・事件発生時の詳細報告の義務化、報告期限設定など、データベースのセキュアな運用が求められています。前回のオンプレミス環境編に続き、今回はクラウド環境でのセキュアなデータベース稼働について解説します。

  • Oracle Database
  • Oracle Cloud
  • AWS
2022.08.10

Oracle Databaseライセンスの定義とルールを正しく理解する ~第4回:クラウド編~

今回はOracle Databaseライセンス「仮想化環境編」です。これまでエディション、ライセンスの種類、カウントの方法、という基本的な内容を説明してきましたが、より構成に踏み込み、「ハードウェア分割の基本的な考え方」や「仮想化環境の考慮点」=Soft Partitioning理解のポイントを説明しします。

  • Oracle Cloud
  • AWS
  • Oracle Database
2022.07.08

ダンプファイルのエクスポート不要!NETWORK_LINKを使用したOracle DBへのデータのインポート手順

Oracle DB間でデータをインポートする際にIMPDPのNETWORK_LINKパラメータを使用すると、ダンプファイルなしでソースDBからターゲットDBにネットワーク経由で直接データをインポートできます。容量不足対応や所要時間短縮に最適な本手順について、2つのテストケースを踏まえてご紹介します。

ページの先頭へ戻る