sql >> データベース >  >> RDS >> Oracle

一言で言えば軽い

    このブログの以前の投稿からご存知かもしれませんが、Twitter(BPeaslandDBA)で私をフォローしている場合は、Orachromeの製品であるLightyforOracleが好きです。私はこの製品が大好きで、パフォーマンス診断情報を簡単に取得できます。私はOracleのEnterpriseManagerに精通しており、データベースのパフォーマンスが低いという電話を受けるときは常にEM12cを使用しています。しかし、私は今、Lightyが私の武器庫の別のツールになることを望んでいます。

    LightyがEnterpriseManagerに取って代わるとは思いません。 EM12cは、Lightyが実行できる以上のことを実行します。つまり、監視とアラート、およびさまざまなデータベース管理タスクです。 EM12cを維持していきますありがとうございます。しかし、私は、Lightyが本当にうまくやっている私の仕事の一部を、パフォーマンス調整の取り組みに役立つ情報を提供するために、Lightlyにもっと依存することになります。 Lightyはパフォーマンスの調整専用であり、焦点が1つしかないため、非常にうまく機能します。

    Lightyが優れたツールであると思う理由のハイライトをいくつか紹介します。 EM12cとは対照的です。まず、EM12cで、[パフォーマンス] –> [パフォーマンスホーム]に移動すると、次のような画面が表示されます。

    すぐに、CPUリソースの競合があることがわかります。 Lightyのメイン画面は次のようになります。

    したがって、非常によく似た情報があります。そして、それが私にとっての違いの終わりです…最初から。 EM12cでは、決定を迫られていますが、CPU使用率にドリルダウンしますか、それともユーザーI / Oなどの待機クラスの1つにドリルダウンしますか?上記はCPUの競合を示しているため、EM12cでは、チャートのCPU部分をクリックしてドリルダウンします。 EM12cのこの時点では、分析のためにCPU使用率のみを考慮しています。後で見るように、Lightyは、私が望まないのであれば、その選択をする必要はありません。以下はEM12cからの私のチャートです。

    上記のチャートは、私のOracleRACデータベースでは非常に一般的です。上のグラフは、クラスター化されたデータベースの3つのインスタンスのCPU使用率を示しています。 CPU使用率を支配しているのはどれですか?まあ、それらはすべてかなり等しく見えます。それでも、EM12cでは、分析用に1つのインスタンスを選択する必要があります。 1つの画面で3つのインスタンスすべてを調べることはできません。私の仕事の多くはOracleRACのパフォーマンス調整に関するものであり、EM12cの制限がここで気になります。上位のSQLステートメントまたは上位のセッションに関する情報を取得する前に、待機クラスまたはCPUを選択してから、インスタンスを選択する必要があります。 EM12cで十分にドリルダウンすると、次のような画面が表示されます。

    ついにどこかにたどり着きました!上位のSQLステートメントと上位のセッションを確認できます。強調表示された部分に注意してください。これは、5分間のウィンドウの詳細です。 5分間のウィンドウは、インスタンスの以下のCPU使用率チャートの影付きのボックスで表されます。

    EM12cでは、影付きのボックスを別の時間にドラッグすると、上位のSQL情報と上位のセッション情報が一致するように変更されます。ただし、これを10分間隔またはその他の期間に変更することはできません。 5分で立ち往生しています。

    これをLightyと対比してみましょう。 EM12と同じように、パフォーマンスチャートはすでに見てきました。 Lightyのパフォーマンスチャートの下には、上部のSQLステートメントの詳細ペインがあります。上位のSQLステートメントを取得するために何もクリックする必要はありませんでした。

    すぐに、LightyとEM12cの違いが1つわかります。私の上位のSQLステートメントは、CPUまたは特定の待機クラスだけに制限されているわけではありません。情報を制限したい場合は、パフォーマンスグラフの上にあるメニューボックスから選択できます。

    通常、[すべて]を選択していますが、選択した場合はCPUのみを表示するように選択できます。情報をサブセット化することを選択しない限り、LightyはEM12cのように私を制限しません。

    一番上のSQLで、そのSQLのイベントのタイムラインが表示されていることに注意してください。たとえば、リストの一番上のSQLステートメントが大量のCPUを使用していることがわかります。リスト内の他のSQLステートメントは、CPU使用率を開始および停止し、薄緑色で表示されます。ここでは、ユーザーI/Oが同時に青色で示されています。 SQLステートメントを展開すると、そのSQLステートメントの内訳を取得できます。

    SQLステートメントの横にあるプラス記号をクリックするだけで、このステートメントには2つの異なる実行プランがあり、そのうちの1つが合計CPU使用率の93.92%を消費していることがわかります。その計画を拡張すると、待機イベントごとに分類されて、どこで時間を費やしているかがわかります。

    それでは、これを要約しましょう。 Lightyを起動すると、すぐに上位のSQLステートメントが表示され、シングルクリックで上位のSQLステートメントにCPUを消費する実行プランがあることがわかりました。私の意見では、これは非常に迅速で簡単です。 EM12cを使用すると、この情報を取得するのが難しくなり、SQLステートメントがCPUを消費し始めたとき、およびLightyが提供するグラフのように停止したとき、EM12cは表示されません。

    EM12cの場合と同じように、SQLステートメントをクリックすると、Lightyは特定のSQLの統計を表示します。 [使用法]タブをクリックすると、このステートメントを実行したすべてのセッションが表示されます。グラフには、そのセッションがこのSQLステートメントのリソースを消費していた時期のタイムラインが示されていることに注意してください。 EM12cでは、そのレベルの詳細は表示されません。

    以上のことから、同じステートメントを異なる時間に実行しているのは複数のセッションであることが簡単にわかります。

    EM12cによって、このOracle RACデータベースのインスタンスを選択したことを覚えていますか? Lightyでは、その選択をする必要はありません。しかし、私は非常に簡単にできます。 LightyはRACに対応しており、複数のインスタンスを検出しました。デフォルトでは、すべてのインスタンスが選択されています。シンプルなプルダウンメニューでそのうちの1つを選択すると、画面上の情報がそのインスタンスだけに自動的に調整されます。

    EM12cで、その影付きのウィンドウが5分間を表していたことを思い出してください。 Lightyでは、SQLとセッションの詳細はグラフ全体のものです。 5分のウィンドウが必要な場合は、グラフの上にある5分のオプションを選択できます。デフォルトでは、60分のウィンドウが選択されています。

    また、カスタムの日付/時刻範囲など、他のオプションも選択できます。 EM12cでは、グラフは1時間であり、変更できません。

    EM12cには、過去のパフォーマンスを確認できるASHAnalyticsがあります。しかし、私はいつもそれに問題を抱えていました。 ASH Analytics(アクティブなセッション履歴を表示できます)を使用すると、灰色のウィンドウを5分以外に変更できます。しかし、私にとって、EM12cは単にデータを返すことはありません。 EM12c環境に問題があるのか​​もしれません。しかし、Lightlyは、ASHの履歴データをそのまま使用できます。今朝8時から9時の間に発生したパフォーマンスの問題について電話があったとしましょう。カスタムの時間範囲を選択するだけです。

    EM12cでは、別のWebページである[パフォーマンス] –>[ASH分析]に移動する必要があります。

    これまでのところ、Lightyは、EM12cから取得できるのと同じ情報の多くをすばやく簡単に取得する方法だと思うという考えにたどり着いたと思います。そして、あなたは正しいでしょう! Lightyについて私が気に入っているもう1つの分野があります。 [ウィンドウ]–> [複数のデータベースの監視]に移動すると、複数のデータベースのさまざまなパフォーマンスメトリックのグラフが表示されます。これが例です。 一目で、1つの画面で複数のデータベースを監視できます。 EM12cではそれができません。右端のデータベースはかなりアイドル状態ですが、中央のデータベースはかなりの打撃を受けていることがわかります。ページを下にスクロールすると、多くの指標のグラフが表示されます:

    • 解析
    • ユーザーコール
    • トランザクション
    • 読み取りと書き込み
    • ディスクレイテンシ
    • ディスクI/Oスループット
    • グローバルキャッシュ転送速度
    • リド生成率
    • ネットワークトラフィック

    EM12cでは、Lightyが1ページで提供するのと同じ情報を取得するには、あまりにも多くのページにアクセスする必要がありました。

    私の例はすべて、ライセンスを取得したものと同じ診断パックとチューニングパックに依存しています。それらのライセンスを取得していない場合、LightyはStatspackとそのバージョンのL-ASH(Lighty ASH)で同様の機能を提供します。

    全体として、Lightyはパフォーマンスチューニングを担当するDBAにとって素晴らしいツールだと思います。コストも非常にリーズナブルです。ツールを使用すればするほど、情報をすばやく入手できることに感謝するようになります。 2回クリックするだけでオンとオフを切り替えて、パフォーマンスの問題の根本原因に簡単にドリルダウンできます。すべてのOracle DBAに試用版をダウンロードして、この製品が適切かどうかを確認することをお勧めします。 Lightyはここで見つけることができます:http://www.orachrome.com/en/index.html


    1. MySQLでのRIGHT()関数のしくみ

    2. 行が存在するかどうかを確認し、存在しない場合は挿入します

    3. jQueryリモートメソッドの使用を検証して、ユーザー名がすでに存在するかどうかを確認します

    4. PDOは、テーブルから1次元配列に1つの列をフェッチします