MOATS – ターミナルでOracleパフォーマンス分析
Oracle ACE Proの渡部です。
ターミナルで、Oracleのパフォーマンス状況を簡単に確認できるツール MOATSをご紹介します。
MOATSとは
PL/SQLパッケージとして実装されたOracleパフォーマンス分析ツールです。
最新バージョンは Sidney Chen さんによる開発ですが、もともとは、Adrian Billington さんと Tanel Poder さんにより開発されていたようです。
以下の特徴があります。
- ターミナルでOracleパフォーマンスを確認可能
- Oracle Database 11g R1以降に対応
- EM/ASH類似の時系列グラフを表示可能
- Oracle Database Standard Editionで使用可能です(ASHは使用しません)。
- RACに対応(V2.0より)
- Instance Summary : 各インスタンスの負荷状況
- Top Event Summary : 上位待機イベント
- Active Session Graph : EM/ASH類似の時系列グラフ
- Top SQL Summary : 上位SQL
- Top SQL : 上位SQL
MOATSのインストール方法
- ファイルをダウンロード
wget https://github.com/dbsid/moats_rac/archive/refs/heads/master.zip
unzip master.zip
- MOATS用ユーザーを作成し権限を付与
SQL> create user MOATS identified by moats;
SQL> @moats_privs_grant.sql
-- -> moats
- MOATS用ユーザーで接続し、インストール(パッケージを作成)
SQL> connect moats/moats
SQL> @moats_install.sql
- SQLスクリプトファイル q (q.sql) を実行 → MOATSが実行される
SQL> @q
q.sqlの中身は以下です。見てのとおり、MOATS機能の中心はmoats.top()ファンクションです。
set arrays 80 lines 2000 trims on head off tab off pages 0
SELECT /*+ no_monitor */* FROM TABLE(moats.top(5));
- SQL*Plus設定を行ったうえで、moats.top(5) を実行しています。
- moats.top(5) = 5秒ごと(p_refresh_rate=5)に画面表示更新
留意点およびメモ
- 表示間隔(p_refresh_rate) はデフォルトで5秒
- デフォルトでは、gv$session を1秒間隔(moats.gc_top_refresh_rate)で参照し、表示間隔(p_refresh_rate)でサマリして表示。
- デフォルトの想定ターミナルサイズは 40 * 175
- これ以外のターミナルサイズとしたい場合は、パラメータを指定してmoats.top()を実行する
- moats.top()のファンクションの引数は以下で、指定すると動作をカスタマイズ可能です。
- p_refresh_rate
- p_screen_size
- p_ash_height
- p_sql_height
- p_ash_window_size
渡部の考えるMOATSの使いどころ
定常的な負荷がかかる処理をOracleに対して実行しているときに、負荷状態をザックリ見たい場合があります。
- そもそもちゃんと負荷がかかっているのか?
- どの程度の負荷がかかっているのか?
- どこがボトルネックになっているのか?
- 想定外の待機が発生して、処理そのものの実行を妨げていないか?
負荷状態を詳細に把握するには、弊社取扱製品のDPAやMaxGaugeが使えますが、当然購入および導入が必要です。
また、OEMの性能関連機能はOracle EE/Diag Optionが前提です。
導入作業が簡単で、ターミナルで負荷状況を確認できるMOATSは、ちょっとした負荷状況の確認に役立ちます。
ちなみに、MOATSを使用前の私は、SELECT .... FROM V$SESSIONを手入力で繰り返し実行して負荷状況を確認していました… これでも、負荷状況はわかるといえばわかるのですが、決してスマートではないですよね。
ただし、MOATSには過去データの蓄積機能がないため、過去の負荷状況やSQL実行履歴を把握できないことに注意してください。過去の負荷状況やSQL実行履歴を確認したい場合、負荷状態を詳細に把握したい場合は、弊社取扱製品のDPAやMaxGaugeをご検討くださいませ。
[PR] マルチDB製品に対応するパフォーマンス監視/分析ツールDPA
Database Performance Analyzer (DPA) は、オンプレミス&クラウドに対応する低価格なデータベース性能監視/分析ツールです。非常に多くのデータベース製品/サービスに対応しています。
オンプレミス環境および仮想環境、IaaS環境のデータベース製品
- Oracle Database
- MS SQL Server
- Sybase SAP ASE
- IBM Db2
- MySQL
- MariaDB
- PostgreSQL
- Enterprise DB
AWSのデータベースサービス
- Amazon RDS for Oracle Database
- Amazon RDS for SQL Server
- Amazon RDS for MySQL
- Amazon RDS for MariaDB
- Amazon RDS for PostgreSQL
- Amazon Aurora for MySQL
- Amazon Aurora for PostgreSQL
Microsoft Azureのデータベースサービス
- Azure SQL for PostgreSQL
- Azure Database for MySQL
- Azure Database for MariaDB
- Azure SQL Managed Instance
- Azure SQL Database
Google Cloudのデータベースサービス
- Google Cloud SQL for MySQL
- Google Cloud SQL for PostgreSQL
- Google Cloud SQL for SQL Server
低価格なのでインスタンス数が多くても導入しやすい
DPAは充実した性能監視/分析/チューニング機能を持ちながらも、非常に低価格です。
課金単位は監視インスタンス単位で、1インスタンス15.1万円/年から導入できます(2024年1月時点)。ボリュームディスカウントもありますので、ご興味がありましたら是非弊社までお問い合わせくださいませ。
DPA その他の特徴
- 待機時間を基礎とする性能分析メソッド(Oracle ASHと同様)
- DBサーバへのエージェント導入が不要(DPAサーバからJDBC接続)
- 主要な性能分析機能を網羅: 時系列分析、ドリルダウン分析、過去SQLの全文検索、インデックスの作成推奨、管理者への通知
- 機械学習アルゴリズムに基づく異常検知機能(Anomaly Detection)
Database Performance Analyzer (DPA) を試すには?
Database Performance Analyzer (DPA) は以下の方法で簡単に試用できます。
- オンライン デモ環境
https://cosol.jp/techdb/2022/08/dpa_online_demo/ の記事を参考にしてください。
- 14日間の製品トライアル
https://cosol.jp/license/dpa/ の「DPA評価版について」をご参照ください。
なぜコーソルからDatabase Performance Analyzer (DPA)を購入すべきなのか
コーソルはDatabase Performance Analyzer (DPA)の一次代理店で、Database Performance Analyzer (DPA)の製品販売を行います。 SIer様、販社様がDatabase Performance Analyzer (DPA)を販売および導入することも可能です。
コーソルはデータベースの技術力を強みとしています。なかでもOracle Database技術力は日本随一です。MySQL、PostgreSQL、MS SQL Serverの資格や実績を持つエンジニアも多数在籍しております。
独自のDPAナレッジを公開
DPAの導入や監視設定に関する手順をナレッジとして公開しています。評価版をご利用される際の参考にしてくださいませ。
2023年4月時点では以下の記事を公開しています。
多数のOracle関連書籍を執筆
- オラクルマスター教科書 Gold DBA Oracle Database Administration II : 渡部 亮太 , 舛井 智行, 峯岸 隆一
https://www.amazon.co.jp/dp/479817436X/ (2022年5月27日 発売)
- オラクルマスター教科書 Silver SQL Oracle Database SQL : 渡部 亮太 , 舛井 智行, 峯岸 隆一
https://www.amazon.co.jp/dp/4798172367/ (2021年9月13日 発売)
- オラクルマスター教科書 Silver DBA Oracle Database Administration I : 渡部 亮太 , 舛井 智行 , 杉本 篤信 , 西田 幸平
https://www.amazon.co.jp/dp/4798166359/ (2021年5月28日 発売)
- オラクルマスター教科書 Bronze DBA Oracle Database Fundamentals : 渡部 亮太 , 岡野 平八郎 , 鈴木 俊也
https://www.amazon.co.jp/dp/4798166367/ (2020年9月17日 発売)
- オラクルマスター教科書 Gold Oracle Database 12c : 渡部 亮太 , 岡野 平八郎
https://www.amazon.co.jp/dp/4798147958/ (2018年8月8日 発売)
- Oracleの基本 ~ データベース入門から設計/運用の初歩まで : 渡部 亮太 , 相川 潔 , 日比野 峻佑 , 岡野 平八郎 , 宮川 大地
https://www.amazon.co.jp/dp/4774192511/ (2017年9月22日 発売)
- プロとしてのOracleアーキテクチャ入門【第2版】 : 渡部 亮太
http://www.amazon.co.jp/dp/4797384085/ (2015年4月25日 発売)
- プロとしてのOracle運用管理入門 : 渡部 亮太
http://www.amazon.co.jp/dp/4797355123/ (2009年9月25日 発売)
- プロとしてのOracleアーキテクチャ入門 : 渡部 亮太 , 森坂 康人
http://www.amazon.co.jp/dp/4797349808/ (2008年8月22日 発売)
- プロとしてのOracle入門 : 松下 雅, 舛井 智行, 古賀 加奈
http://www.amazon.co.jp/dp/4797349433/ (2008年10月29日 発売)
- Oracle Database 10g Oracle Enterprise Manager 逆引きクイックリファレンス : 舛井 智行, 青木 武士, 松下 雅
http://www.amazon.co.jp/dp/4797349433/ (2007年11月27日 発売)
ORACLE MASTER Platinum取得者数 No.1
- 単年度ORACLE MASTER Platinum取得者数7年連続No.1
7年連続ORACLE MASTER Platinum取得者数No.1! Oracle Certification Award 2020
- 累計ORACLE MASTER Platinum取得者数も、2016年以降No.1を維持
コーソルのデータベース運用関連製品とサービス
コーソルでは、データベース運用を製品とサービスでご支援します。
Database Performance Analyzer (DPA)
Database Performance Analyzer (DPA)は、オンプレミスとクラウド上の多くのデータベース製品に対応したデータベース性能管理製品です。低価格であるため、非常に導入しやすいです。
自動SQLチューニング機能を持つToad
Database Performance Analyzer (DPA)で検出された問題SQLをチューニングする際に、Toad for Oracle / Toad for SQL Serverの SQL Optimizer機能を使用できます。
リモートDBAサービス
リモートDBAサービスはDB・運用の専門家がお客様のデータベースに対して
必要な時に必要な対応を行うリモート接続型運用保守サービスです。
リモートDBAサービス
時間制コンサルティングサービス
時間制コンサルティングサービスは”必要な時に” ”必要な時間だけ”契約できる
時間契約型のコンサルティングサービスです。
時間制コンサルティングサービス