Oracle Database 12cリリース12.1.0.0の新しいパフォーマンス調整機能:パート1
TriCoreが最初に公開したもの:2017年4月11日
この2部構成のブログ投稿シリーズでは、Oracle®Databaseバージョン12.1.0.1および12.1.0.2の新しいパフォーマンス調整機能について説明します。パート1では、以前のバージョンについて説明します。
OracleDatabase12.1.01の新機能
次の機能は、OracleDatabaseバージョン12.1.0.1の新機能です。
- リアルタイム自動データベース診断モニター(ADDM)
- プログラムグローバルエリア(PGA)のサイズを制限するためのサポート
- アクティブセッション履歴(ASH)の機能強化
リアルタイムADDMを使用すると、データベースを再起動しなくても、ハングしたデータベースの問題を分析して解決できます。このセクションでは、リアルタイムADDMinの詳細について説明します。
リアルタイムADDMは、2つの接続モードのいずれかを使用して、Oracle Enterprise Manager(OEM)を介してデータベースに接続します。使用するモードは、データベースの状態によって異なります:
-
通常の接続 :このモードでは、Real-TimeADDMはJavaDatabaseConnectivity(JDBC)を使用してデータベースに接続します。このモードは、接続が利用可能な場合にデータベースの次のパフォーマンス分析を実行します。
-
診断接続 :このモードでは、Real-TimeADDMはデータベースへのラッチなしの接続を実行します。このモードは、通常のJDBC接続が不可能な極端なハングシチュエーションに役立ちます。
リアルタイムADDMは3秒ごとに自動的に実行され、メモリ内のデータを使用してデータベースのパフォーマンスの問題を診断します。パフォーマンスの問題を検出すると、自動的に分析をトリガーします。この機能には、次の手順が含まれます。
-
管理性モニター(MMON)プロセスは、3秒ごとにアクションを実行して、ロックまたはラッチなしでパフォーマンス統計を取得します。
-
MMONプロセスはこれらの統計をチェックし、表1に示されている問題のいずれかが見つかった場合、リアルタイムADDM分析をトリガーします。
-
MMONスレーブプロセスはレポートを作成し、それをAutomaticWorkloadリポジトリ(AWR)に保存します。詳細については、
DBA_HIST_REPORTS
を確認してください。 ビューとDBA_HIST_REPORTS_DETAILS
ビュー。
次のコマンドを使用して、レポートを手動で生成することもできます。
SQL> select dbms_addm.real_time_addm_report() from dual;
表1:リアルタイムADDM分析をトリガーするパフォーマンスの問題と条件
問題 | 状態 |
---|---|
高負荷 | 平均アクティブセッションはCPUコア数の3倍を超えています |
I/Oバウンド | アクティブなセッションへのI/Oの影響は、単一ブロックの読み取りパフォーマンスに基づいています |
CPUバウンド | アクティブセッションは総負荷の10%を超え、CPU使用率は50%を超えています |
過剰に割り当てられたメモリ | メモリ割り当ては物理メモリの95%を超えています |
相互接続バウンド | 単一ブロックの相互接続転送時間に基づく |
セッション制限 | セッション制限は100%に近い |
プロセス制限 | プロセス制限は100%に近い |
ハングセッション | ハングしたセッションは合計セッションの10%を超えています |
デッドロックが検出されました | デッドロックが検出されました |
ソース :データベースパフォーマンスチューニングガイド、第7章:自動パフォーマンス診断:リアルタイムADDM接続モード
自動トリガーが多くのシステムリソースを消費しないようにするために、Real-TimeADDMは次のコントロールを使用します。
-
レポート間の期間 :自動トリガーが過去5分間にReal-TimeADDMレポートを作成した場合、新しいレポートは生成されません。
-
Oracle Real Application Clusters(RAC)制御 :自動トリガーはデータベースインスタンスに対してローカルです。 Oracle RACの場合、一度に1つのデータベースインスタンスのみがリアルタイムADDMレポートを作成できます。
-
トリガーの繰り返し :問題の自動トリガーは、過去45分以内に同じトリガーの問題が発生した以前のレポートよりも100%以上の影響が必要です。
-
新たに特定された問題 :過去45分以内にまだ検出されていない新しい問題が検出された場合、新しいレポートが生成されます。
PGAのサイズを制限する
PGAを過度に使用すると、スワッピング率が高くなる可能性があります。これが発生すると、システムが応答しなくなり、不安定になる可能性があります。これが発生した場合は、PGA_AGGREGATE_LIMIT
の使用を検討してください PGAの全体的な使用を制限する初期化パラメータ。
次のセクションでは、PGA_AGGREGATE_LIMIT
を使用してPGAのサイズを制限する方法について説明します。 Oracle Database 12c R1(12.1.0.1)以降の初期化パラメータ。
PGA_AGGREGATE_LIMITパラメータについて
PGA_AGGREGATE_LIMIT
で定義された値の場合 パラメータを超えると、Oracle Databaseは、最も調整不可能なPGAメモリを消費しているセッションまたはプロセスを中止または終了します。 Oracle Databaseは、次の順序で終了を実行します。
- 最も調整不可能なPGAメモリを消費し、それらを中止するセッションを要求します。
- PGAのメモリ使用量がまだ
PGA_AGGREGATE_LIMIT
を超えている場合 、次にOracleDatabaseは、最も調整不可能なPGAメモリを消費しているセッションとプロセスを終了します。
Oracle Databaseは、並列クエリを単一のユニットとして扱います。デフォルトでは、PGA_AGGREGATE_LIMIT
パラメータは、PGA_AGGREGATE_TARGET
の200%である2GBの大きい方に設定されます 値、またはPROCESSES
の値の3MB倍 パラメータ。ただし、物理メモリサイズからシステムグローバル領域(SGA)の合計サイズを引いたものの120%を超えることはありません。
PGA_AGGREGATE_LIMITパラメータの設定
PGA_AGGREGATE_LIMIT
初期化パラメータは動的に設定できます。データベースを再起動する必要はありません。 PGA_AGGREGATE_LIMIT
の値を設定できます OracleDatabaseが自動メモリ管理を使用しているかどうかに関係なく。
PGA_AGGREGATE_LIMITパラメータの変更
PGA_AGGREGATE_LIMIT
を設定します バイト数の新しい値への初期化パラメータ。値を0
に設定します PGAmemoryのハード制限を無効にします。
PGA_AGGREGATE_LIMIT
の場合 を超えると、OracleDatabaseは次のアクションを実行します。
- 最も調整不可能なメモリを使用しているセッションに関連付けられている呼び出しを中止します。
- PGAの合計メモリ使用量がまだ制限を超えている場合は、最も調整不可能なメモリを使用しているセッションを終了します。
sys.processes
また、ジョブキュープロセス以外のバックグラウンドプロセスは影響を受けません。代わりに、最も調整不可能なメモリを使用している場合は、定期的にPGAの使用状況の簡単な要約をトレースファイルに書き込みます。
ASHの機能強化
Oracle 12c以降、 ASH Analyticsという名前の新しいOEMページからASHデータの視覚化にアクセスできます。 。このページでは、論理ディメンションにドリルダウンできます。レポートをオフラインで表示できる他のユーザーに送信することもできます。
画像ソース :OCP 12C –緊急監視、Real-TimeADDM
これらの新機能は、Oracle Database 12cリリース1のデータベースパフォーマンスのトラブルシューティングと強化に役立ちます。このシリーズのパート2では、OracleDatabase12.1.0.2のパフォーマンスチューニングに対するその他の新機能と変更について説明します。
[フィードバック]タブを使用して、コメントを書き込んだり、質問したりします。
このブログ投稿の参照として、次のソースが使用されました。
-
データベースパフォーマンスチューニングガイド、第7章:自動パフォーマンス診断:リアルタイムADDM接続モード
-
データベースパフォーマンスチューニングガイド、第7章:自動パフォーマンス診断:ADDMAnalysisResults
-
データベース管理者向けの新しいOracle19c機能
Oracle®Databaseバージョン19cでは、多数の新機能と改善された機能が導入されました。 はじめに Oracle 19cは、Oracle Database 12cリリース2製品ファミリの最後であり、長期的なサポートがあります。 Linux®、Windows®、Solaris®、HP /UX®、AIX®プラットフォーム、およびOracleCloudで使用できます。 Oracle 19cは、すべての運用および分析ワークロードに対して最高のパフォーマンス、スケーラビリティ、信頼性、およびセキュリティ機能をお客様に提供します。 機能 データベース管理者(DBA)のタスクを簡単にする新機能
-
Ruby2.6の9つの新機能
Rubyの新しいバージョンには、新しい機能とパフォーマンスの改善が含まれています。 変更についていきますか? 見てみましょう! 無限の範囲 Ruby 2.5以前のバージョンは、すでに1つの形式の無限範囲をサポートしています( Float ::INFINITY を使用) )、しかしRuby2.6はこれを次のレベルに引き上げます。 新しい無限の範囲 次のようになります: (1..) これは、(1..10)のような終了値がないため、通常の範囲とは異なります。 。 使用例 : [a, b, c].zip(1..) # [[a, 1], [b, 2], [c, 3]] [1,2,3,