WRは、OceanBaseデータベースのパフォーマンス関連ビューのデータを定期的に収集し、パフォーマンス診断に関する問題の分析を容易にします。
WRの紹介
Workload Repository(略称:WR)は、OceanBaseデータベースのビューのデータ情報を定期的に収集し、システムの状態を記録するとともに、データベースのパフォーマンス状況を確認するための関連ビューを提供します。また、パフォーマンスモニタリングと管理をサポートするために、データ収集と履歴パフォーマンスデータの保持を自動化できます。さらに、DBMS_WORKLOAD_REPOSITORYパッケージを使用して、定期的なスナップショットの有効化、スナップショット時間の設定、スナップショットの削除など、WRに関する構成調整を行うことができます。
機能の紹介
WRはOceanBaseデータベースのパフォーマンスデータを定期的に記録するため、WRを通じてOceanBaseデータベースの過去のパフォーマンス記録を遡ることができ、特定の期間内のパフォーマンス関連の問題を研究することもできます。WR機能には以下の特徴があります:
データの自動化と収集:WRは、指定されたパフォーマンス関連ビュー、例えば
V$ACTIVE_SESSION_HISTORY、V$SYSSTAT、V$STATNAMEを定期的に収集し、データを処理した後、METAテナントの内部テーブルに挿入します。クラスタのデプロイが成功すると、WRは自動的にスナップショットを作成し、手動でスナップショットを変更することで、タイマーの計時時間を変更することもできます。デフォルトでは、1時間ごとにスナップショットが収集されます。データの永続化とクリーンアップ:収集されたデータはディスクに永続化され、履歴データの保持を実現します。WRが過剰なストレージ容量を占有するのを避けるため、WRは定期的に期限切れのデータを削除します。通常、毎日のコンパクション完了時に削除操作がトリガーされます。デフォルトでは、7日以上前のスナップショットデータは期限切れデータと見なされます。
スナップショットの収集と削除:WRはDBMSパッケージを提供しており、PL/SQLトリガーを使用して手動で収集タスクを開始したり、指定されたWRスナップショットを削除したりできます。
スナップショット収集頻度の調整:DBMSパッケージを使用して、タイマースレッドの時間間隔を変更することで、WRのスナップショット収集頻度を調整できます。
低オーバーヘッドと低負荷:WRは実行時に発生するオーバーヘッドが低く、必要なリソース消費量とリソース利用率が少なく、システムのパフォーマンスに影響を与えません。
time model収集:
time modelは、1秒ごとにデータベース内のすべてのセッションが消費するデータベース時間(DB time)を更新します。これは累積値であり、指定された期間内のすべてのセッションの合計データベース時間を示します。計算式は次のとおりです:DB time = elapse time - idle wait time = cpu time + non-idle wait time説明
DB time計算式のパラメータの説明:
elapse time:操作開始から現在まで経過した時間を示します。idle wait time:セッションがアイドル待機状態にあった時間を示します。cpu time:CPU上で実行された時間を示します。non-idle wait time:セッションがアイドル待機以外の状態にあった時間を示します。
関連ビュー
WRが定期的に収集するOceanBaseデータベースのビューは主に以下の3つです:
[G]V$SYSSTAT:OceanBaseデータベースで最も広く使用され、データベースの運用状況を最もよく表すシステム統計値です。
V$STATNAME:システム統計値の情報を提供し、データベースの運用状況を正確に反映する各種指標とその名称を提供します。
[G]V$ACTIVE_SESSION_HISTORY:アクティブなSessionに対して1秒ごとにサンプリングし、時間系列に基づいてシステムの運用状況を記録します。WRは10:1(10個の
GV\$ACTIVE_SESSION_HISTORYビューのデータが1行のWRデータに対応)のサンプリング率で永続化します。
今後のバージョンでは、WRはデータベースのパフォーマンス、リソース利用率、その他の重要な指標に関する詳細情報を表示するために、より多くのパフォーマンス関連ビューをサポートするようになります。