RAC(「Real Application Clusters」の略称)におけるノード間のブロック競合とキャッシュ・フュージョンについて監視する項目です。
監視対象のサーバがクラスタ構成である場合にのみ設定可能な項目です。
キャッシュ・フュージョンの監視を行う項目には、以下があります。
監視項目 | しきい値 | mount状態での監視(*) | |
単位 | 設定可能範囲 | ||
破損ブロック数 | 0~2147483647 | ○ | |
転送ブロックの損失率(%) | 0 ~ 100 | ○ | |
データ送信量(Mbps) | 0~2147483647 | ○ |
(*) ○:監視可能
■インターコネクト経由でのノード間データ転送中に破損したブロック数
インターコネクト経由でのノード間のデータ転送中に破損またはチェックサム障害が発生したブロックの数を監視します。この値が頻繁に増える場合は、IPC、ネットワークまたはハードウェアに問題がある可能性があります。
注意
差分監視を行っているため、1回目の監視ではメッセージは通知されません。2回目の監視からメッセージが通知されます。
v$sysstat
(1)以下の値をOracleから取得します。
現在の時間
インターコネクト中に破損またはチェックサム障害が発生したブロックの数
・global cache blocks corrupt(Oracle9i)
・gc blocks corrupt(Oracle10g以降)
(2)前回監視時から経過した時間と、「インターコネクト中に破損またはチェックサム障害が発生したブロックの数」の増分値を求めます。
破損ブロック数
0 ~ 2147483647
各環境で監視したい値の破損ブロックの値の範囲(n ~ m)をしきい値に設定してください。
1 ~ 最大
Systemwalker for Oracleがデフォルト値とするしきい値は以下のとおりです。
デフォルトでは、前回監視時から値が増えた場合に警告を通知します。
しきい値条件 | 重要度 |
1 ~ 2147483647 | 警告 |
FOR-01043 インターコネクト経由でのノード間データ転送中に破損したブロック数がxになりました。
一般的に、ネットワーク、ハードウェアの調査を行う必要があります。
■インターコネクト経由でのノード間データ転送ブロックの損失率
インターコネクト経由でのノード間のデータ転送中に損失したブロックの割合を監視します。
この値が高い場合は、ネットワークに問題がある可能性があります。
この値はできるだけ低くする必要があります。
ただし、環境によってはネットワークに問題が発生していなくても、ノード間で競合が発生して負荷が高いなどの原因により、この値が増えることがあります。
注意
差分監視を行っているため、1回目の監視ではメッセージは通知されません。2回目の監視からメッセージが通知されます。
v$sysstat
(1)以下の値をOracleから取得します。
Oracle9iの場合
・global cache blocks lost(データ転送中に損失したブロックの数)・・・[a]
・global cache cr blocks served(送信したCRブロックの数)・・・[b]
・global cache current blocks served(送信したCurrentブロックの数)・・・[c]
Oracle10g以降の場合
・gc blocks lost(データ転送中に損失したブロックの数)・・・[a]
・gc cr blocks served(送信したCRブロックの数)・・・[b]
・gc current blocks served(送信したCurrentブロックの数)・・・[c]
(2)上記3つの値の前回監視時からの増分値を求めます。
(3)(2)の差分結果を以下の計算式に当てはめて転送ブロックの損失率を求めます(小数点以下切り上げ)。
転送ブロックの損失率[%] = ([a]の差分÷([b]の差分+[c]の差分))×100
転送ブロックの損失率(%)
0 ~ 100
各環境で監視したい値の転送ブロックの損失率の範囲(n ~ 100)をしきい値に設定してください。
なし
Systemwalker for Oracleがデフォルト値とするしきい値は以下のとおりです。
アプリケーションやデータベースの環境によって異なります。
実際には、各環境で検証を行って決定してください。
以下の推奨しきい値は目安としてください。
2 ~ 100 (%)
10 ~ 100 (%)
デフォルトでは「ノード間競合が少ない場合」としています。
しきい値条件 | 重要度 |
2 ~ 100 (%) | 警告 |
FOR-01044 インターコネクト経由でのノード間データ転送ブロックの損失率がx%になりました。
一般的に、ネットワークの調査を行う必要があります。
■インターコネクト経由でのノード間データ送信量
インターコネクト経由でのノード間の送信データ量の概算値を監視します。
この値がノード間のデータ転送で論理的に送信可能な帯域を超えた場合はインターコネクトの負荷が限界に近いことが考えられます。
ただし、送信されたすべてのブロックのブロックサイズが初期化パラメタ「DB_BLOCK_SIZE」であると仮定して計算を行っているため、マルチブロックサイズを使用した環境では概算値としてください。
注意
差分監視を行っているため、1回目の監視ではメッセージは通知されません。2回目の監視からメッセージが通知されます。
v$sysstat
v$parameter
(1)以下の値をOracleから取得します。
Oracle データベースのブロックサイズ・・・[a]
・初期化パラメタ「db_block_size」の値
GES関連メッセージの送信・・・[b]
・ges messages sentの値
GCS関連メッセージの送信・・・[c]
・gcs messages sentの値
送信したCRブロックの数・・・[d]
・global cache cr blocks servedの値(Oracle9i)
・gc cr blocks servedの値(Oracle10g以降)
送信したCurrentブロックの数・・・[e]
・global cache current blocks servedの値(Oracle9i)
・gc current blocks servedの値(Oracle10g以降)
(2)上記のうちブロックサイズ[a]以外の4つの値について、それぞれ前回監視時からの増分値を求めます。
(3)(1)で取得したブロックサイズ[a]と、(2)で差分をとった4つの値([b]/[c]/[d]/[e])を、以下の計算式に当てはめてデータ送信量の概算値を求めます(小数点以下切り上げ)。
データ送信量の概算値[Mbps] = (([b]の差分+[c]の差分)×200+([d]の差分+[e]の差分)×[a])×1.2×8÷1024÷1024
データ送信量(Mbps)
0 ~ 2147483647
一般的に、理論的に送信可能な量の50%を超えた場合に、インターコネクトの負荷が限界に近いとされています。各環境で、理論的に送信可能な量をインターコネクトの物理構成から推定し、監視したい値をしきい値に設定してください。
なし
なし(推奨値あり)
以下に、インターコネクトの物理構成から理論的に送信可能な量の50%を推定するための式を示します。
{ネットワーク種別による1経路あたりの理論的な最大送信量}×{実際に通信に使われる経路数}×0.5
例
1経路あたりの理論的な最大送信量=100Mbpsのインターコネクトが2本ある場合は以下のようになります。
推奨しきい値 = 100×2×0.5 = 100 Mbps
⇒この場合の推奨しきい値は「100 ~ 最大」となります。
FOR-01045 インターコネクト経由でのノード間データ送信量がxMbpsになりました。
一般的に、ネットワーク、ハードウェアの調査を行う必要があります。