付録A.2 ディスク占有量

ディスク占有量は,パフォーマンスデータを収集するレコード数によって変化します。

PFM - RM for Oracleのディスク占有量の見積もりについて説明します。

<この項の構成>
(1) システム全体のディスク占有量
(2) Storeデータベースのディスク占有量

(1) システム全体のディスク占有量

システム全体のディスク占有量の見積もり値をOSごとに記載します。

(a) Windowsの場合

PFM - RM for Oracleのディスク占有量は,次のデータのファイルサイズによって変化します。

上記を踏まえ,Windowsの場合の,システム全体のディスク占有量の見積もり値を次の表に示します。

表A-5 システム全体のディスク占有量(Windowsの場合)


PFM - RM for Oracleの状態
ディスク占有量(単位:メガバイト)
Windows Server 2003,Windows Server 2008
インストール時※110
初期状態での運用※2110
運用時a + b
(凡例)
a:インスタンスごとのディスク占有量の和。
一つのインスタンスのディスク占有量の算出式を次に示します。
c + d + 20 + e
b:インストール時のディスク占有量。
c:Storeデータベースのディスク占有量の合計※3。Storeデータベースのディスク占有量については,「(2) Storeデータベースのディスク占有量」を参照してください。
d:エージェントログサイズ。エージェントログのファイルサイズの上限は,128メガバイトです。
e:監視対象ごとのディスク占有量の和。
一つの監視対象ホストのディスク占有量の算出式を次に示します。
1 + f
f:監視対象ホストごとのログのディスク占有量。
デフォルト:64メガバイト(16メガバイト×4面)
最大値:128メガバイト(32メガバイト×4面)
注※1
インストール時にはプログラム本体容量の2倍分のディスク容量が必要となります。
注※2
収集設定がSystem Stat Summary Interval(PI)レコードだけのPFM - RM for Oracleのインスタンスが一つだけセットアップされている場合のことを示します。
注※3
Storeデータベースのディスク占有量の合計は,監視対象ホストごとのディスク占有量と,グループエージェント用のディスク占有量の合計になります。

(b) UNIXの場合

PFM - RM for Oracleのディスク占有量は,次のデータのファイルサイズによって変化します。

上記を踏まえ,UNIXの場合の,システム全体のディスク占有量の見積もり値を次の表に示します。

表A-6 システム全体のディスク占有量(UNIXの場合)


PFM - RM for Oracleの状態
ディスク占有量(単位:メガバイト)
Linux
インストール時※120
初期状態での運用※2120
運用時a + b
(凡例)
a:インスタンスごとのディスク占有量の和。
一つのインスタンスのディスク占有量の算出式を次に示します。
c + d + 18 + e
b:インストール時のディスク占有量。
c:Storeデータベースのディスク占有量の合計※3。Storeデータベースのディスク占有量については,「(2) Storeデータベースのディスク占有量」を参照してください。
d:エージェントログサイズ。エージェントログのファイルサイズの上限は,128メガバイトです。
e:監視対象ごとのディスク占有量の和。
一つの監視対象ホストのディスク占有量の算出式を次に示します。
1 + f
f:監視対象ホストごとのログのディスク占有量。
デフォルト:64メガバイト(16メガバイト×4面)
最大値:128メガバイト(32メガバイト×4面)
注※1
インストール時にはプログラム本体容量の2倍分のディスク容量が必要となります。
注※2
収集設定がSystem Stat Summary Interval(PI)レコードだけのPFM - RM for Oracleのインスタンスが一つだけセットアップされている場合のことを示します。
注※3
Storeデータベースのディスク占有量の合計は,監視対象ホストごとのディスク占有量と,グループエージェント用のディスク占有量の合計になります。

(2) Storeデータベースのディスク占有量

Storeデータベースのディスク占有量について説明します。

(a) 見積もり式

ディスク占有量,ファイル数,ディレクトリ数,およびStoreサービスがオープンするファイル数の見積もりについて説明します。

●ディスク占有量

Storeデータベースのディスク占有量は,レコードタイプごとのディスク占有量の総和となります。PIレコードタイプについては,さらに集約区分ごとのディスク占有量の総和となります。

レコードタイプごとのディスク占有量Xの見積もり式(単位:バイト)
X={(e+2)*f+(d+60)*{((e+2)*f)/(65,250-d)+1}※1}*a/b*(c+1)*1.1
a:レコードタイプ,集約区分ごとに値が異なります。表A-7を参照してください。
b:レコードタイプ,集約区分ごとに値が異なります。表A-7を参照してください。
c:履歴データの保存期間設定値※3。レコードタイプ,集約区分ごとに指定する単位が異なります。単位については表A-7を参照してください。
d:履歴データを収集する各レコードの固定部のサイズ※4
e:履歴データを収集する各レコードの可変部のサイズ※4
f:履歴データを収集する各レコードのインスタンス数(単数インスタンスレコードの場合は1)※5。インスタンス数が2以上の場合,4の倍数に切り上げます。例えばインスタンス数が2の場合は,f=4となります。インスタンス数が13の場合は,f=16となります。インスタンス数が1の場合は,f=1となります。

表A-7 a,b,およびcに設定する値

レコードタイプ集約区分abc
PI1,4401+(g-1)/60※2保存期間(単位:日)
241+(g-1)/3,600※2保存期間(単位:日)
71+(g-1)/86,400※2保存期間(単位:週)
11+(g-1)/604,800※2保存期間(単位:週)
11+(g-1)/2,592,000※2保存期間(単位:月)
11+(g-1)/31,622,400※210(固定値)
PD1,440g/60保存期間(単位:日)
(凡例)
g:履歴データの収集インターバル設定値(単位:秒)
-:該当しない
注※1
{((e+2)*f)/(65,250-d)+1}の計算結果は,小数点以下を切り捨ててください。
注※2
PIレコードタイプのbの計算結果は,小数点以下を切り捨ててください。
注※3
デフォルトの保存期間と保存レコード数を次の表に示します。

表A-8 デフォルトの保存期間と保存レコード数

レコードタイプデータの種類保存期間保存レコード数
(収集間隔が1分の場合)
PI分単位1日1,440
時単位7日168
日単位54週378
週単位54週54
月単位12か月12
年単位10年(収集年数)*1
PD7日10,080
(凡例)
-:該当しない
注※4
各レコードの固定部・可変部のサイズについては,「5. レコード」のレコードサイズを参照してください。
注※5
各レコードのインスタンス数の算出方法を次の表に示します。SQL*Plusなどで監視対象のOracle Databaseにアクセスし,SQL文を実行しインスタンス数を算出してください。なお,グループエージェントのインスタンス数については,インスタンスに登録されている監視対象のインスタンス数の最大値になります。
また,算出方法を記載しているレコードに関しては,算出方法に従い算出してください。SQL*Plusを使用した場合の実行手順を以下に示します。
実行手順例
  1. SQL*Plusを起動します。
  2. 以下の権限が付与されているユーザーで監視対象のOracle Databaseに接続してください。
    ・CREATE SESSION
    ・SELECT ANY DICTIONARY
    ・SELECT ANY TABLE
  3. インスタンス数を確認したいレコードについて,「表A-9 レコードのインスタンス数の算出方法」に記載されているSQL文を実行してください。
  4. COUNT(*)カラムに表示された件数が対象となるレコードのインスタンス数となります。
注意
インスタンス数に関しては,監視対象となるOracle Databaseの動的情報となります。そのため,監視対象のOracle Databaseに対する接続数などの要因によりインスタンス数が動的に増減するため,見積もりする際は算出された最大の値を適用してください。

表A-9 レコードのインスタンス数の算出方法

項番レコードインスタンス数取得SQL文,または算出方法
1PIインスタンス数は1です
2PI_PIDBインスタンス数は1です
3PI_PIDF下記の2種のSQL文から求められる結果の加算値です
  1. SELECT count(*)
    FROM v$datafile a, v$filestat b, sys.dba_data_files c
    WHERE a.file#=b.file# AND b.file#=c.file_id
  2. SELECT count(*)
    FROM v$tempfile a, v$tempstat b, dba_temp_files c
    WHERE a.file#=b.file# AND b.file#=c.file_id(+)
4PI_PIIOSELECT count(*)
FROM v$sess_io a, v$session b, v$process c
WHERE a.sid=b.sid AND b.paddr=c.addr
5PI_PIPQSELECT count(*)
FROM v$pq_slave
6PI_PITSSELECT count(*)
FROM sys.dba_tablespaces
7PI_PMDBインスタンス数は1です
8PI_PMDF下記の2種のSQL文から求められる結果の加算値です
  1. SELECT count(*)
    FROM v$datafile a, v$filestat b, sys.dba_data_files c WHERE a.file#=b.file# AND b.file#=c.file_id
  2. SELECT count(*)
    FROM v$tempfile a, v$tempstat b, dba_temp_files c WHERE a.file#=b.file# AND b.file#=c.file_id(+)
9PI_PMTSSELECT count(*)
FROM sys.dba_tablespaces
10PDインスタンス数は1です
11PD_PCIインスタンス数は1です
12PD_PDASインスタンス数は1です
13PD_PDDBインスタンス数は1です
14PD_PDDF下記のすべてのSQL文から求められる結果の合算値です
  1. SELECT count(*)
    FROM v$datafile a, v$filestat b, sys.dba_data_files c
    WHERE a.file#=b.file# AND b.file#=c.file_id
  2. SELECT count(*)
    FROM v$tempfile a, v$tempstat b, dba_temp_files c
    WHERE a.file#=b.file# AND b.file#=c.file_id(+)
15PD_PDIインスタンス数は1です
16PD_PDIAインスタンス数は1です
17PD_PDLWSELECT count(*)
FROM dba_waiters a, v$session b, v$session c
WHERE a.holding_session=b.sid AND a.waiting_session=c.sid
18PD_PDOCSELECT count(*)
FROM v$open_cursor a, v$session b
WHERE a.sid=b.sid
19PD_PDPSELECT count(*)
FROM v$parameter
20PD_PDSSELECT count(*)
FROM v$session a, v$process b
WHERE a.paddr=b.addr
21PD_PDS2SELECT count(*)
FROM (SELECT DISTINCT sid
FROM v$sesstat a, v$statname b
WHERE a.statistic#=b.statistic#)
22PD_PDSGSELECT count(*)
FROM v$sgastat
23PD_PDTFSELECT count(*)
FROM sys.dba_tablespaces
24PD_PDTSSELECT count(*)
FROM sys.dba_tablespaces
注意
パフォーマンスデータがStoreデータベースに格納される際,幾つかのフィールドが追加されます。追加されるフィールドは,ディスク占有量に含まれるため,新たに容量を見積もる必要はありません。

●ファイル数

Storeデータベースで作成されるファイル数Nの見積もり式を次に示します。

N=20+2*(
(A11+A12+...+A1l+l)+
(A21+A22+...+A2l+l)+
(A31+A32+...+A3l+l)+
(A41+A42+...+A4l+l)+
(A51+A52+...+A5l+l)+
(11*l)+
(B1+B2+...+Bm+m)
)

l:PIレコードで収集しているレコードの数

m:PDレコードで収集しているレコードの数

A11~A1l:PIレコードタイプのレコードごとの分レコードの保存期間設定値(単位:日)

A21~A2l:PIレコードタイプのレコードごとの時レコードの保存期間設定値(単位:日)

A31~A3l:PIレコードタイプのレコードごとの日レコードの保存期間設定値(単位:週)

A41~A4l:PIレコードタイプのレコードごとの週レコードの保存期間設定値(単位:週)

A51~A5l:PIレコードタイプのレコードごとの月レコードの保存期間設定値(単位:月)

B1~Bm:PDレコードタイプのレコードごとの保存期間設定値(単位:日)

●ディレクトリ数

Storeデータベースで作成されるディレクトリ数Nの見積もり式を次に示します。

N=25+2*((A1max)+(A2max)+(A3max)+(A4max)+(A5max)+11+(Bmax))

l:PIレコードで収集しているレコードの数

m:PDレコードで収集しているレコードの数

A1max:PIレコードタイプで収集しているレコードの集約区分が「分」のデータの保存期間設定値の最大値(単位:日)

A2max:PIレコードタイプで収集しているレコードの集約区分が「時」のデータの保存期間設定値の最大値(単位:日)

A3max:PIレコードタイプで収集しているレコードの集約区分が「日」のデータの保存期間設定値の最大値(単位:週)

A4max:PIレコードタイプで収集しているレコードの集約区分が「週」のデータの保存期間設定値の最大値(単位:週)

A5max:PIレコードタイプで収集しているレコードの集約区分が「月」のデータの保存期間設定値の最大値(単位:月)

Bmax:PDレコードタイプのレコードごとの保存期間設定値の最大値(単位:日)

●Storeサービスがオープンするファイル数

Storeサービスがオープンするディレクトリ数Nの見積もり式を次に示します。

N=20+2*(6*l+m)

l:PIレコードで収集しているレコードの数

m:PDレコードで収集しているレコードの数

(b) 見積もり例

PFM - RM for OracleのStoreデータベースの見積もりについて,具体例を用いて説明します。

●ディスク占有量

PI_PITSとPD_PDTSを収集する設定にした場合を例に挙げて説明します。

PI_ PITSレコードの見積もりについて説明します。「(a) 見積もり式」のディスク占有量の見積もり式の,a~gの値を調べます。

d=678

e=291

f=今回は3とする

g=今回は60秒とする

次に,分レコード,時レコードなどそれぞれの計算を行います。

分レコード
a=1,440
b=1+(60-1)/60 = 1.98 ・・・ =1(小数点以下切り捨て)
c=今回は3日とする
見積もり式を次に示します。

X(分)={(291+2)*4+(678+60)*{((291+2)*4)/(65,250-678)+1}}*1,440/1*
(3+1)*1.1
={1,172+738*1}*6,336
=1,910*6,336
=12,101,760(バイト)=約12メガバイト

時レコード
a=24
b=1+(60-1)/3,600 = 1.01 ・・・ =1(小数点以下切り捨て)
c=今回は3日とする
見積もり式を次に示します。

X(時)={(291+2)*4+(678+60)*{((291+2)*4)/(65,250-678)+1}}*24/1*
(3+1)*1.1
={1,172+738*1}*105.6
=1,910*105.6
=201,696(バイト)=約0.2メガバイト

日レコード
a=7
b=1+(60-1)/86,400 = 1.00 ・・・ =1(小数点以下切り捨て)
c=今回は1週とする
見積もり式を次に示します。

X(日)={(291+2)*4+(678+60)*{((291+2)*4)/(65,250-678)+1}}*7/1*
(1+1)*1.1
={1,172+738*1}*15.4
=1,910*15.4
=29,414(バイト)=約0.03メガバイト

週レコード
a=1
b=1+(60-1)/604,800 = 1.00 ・・・ =1(小数点以下切り捨て)
c=今回は1週とする
見積もり式を次に示します。

X(週)={(291+2)*4+(678+60)*{((291+2)*4)/(65,250-678)+1}}*1/1*
(1+1)*1.1
={1,172+738*1}*2.2
=1,910*2.2
=4,202(バイト)=約0.005メガバイト

月レコード
a=1
b=1+(60-1)/2,592,000 = 1.00 ・・・ =1(小数点以下切り捨て)
c=今回は1か月とする
見積もり式を次に示します。

X(月)={(291+2)*4+(678+60)*{((291+2)*4)/(65,250-678)+1}}*1/1*
(1+1)*1.1
={1,172+738*1}*2.2
=1,910*2.2
=4,202(バイト)=約0.005メガバイト

年レコード
a= 1
b=1+(60-1)/31,622,400 = 1.00 ・・・ =1(小数点以下切り捨て)
c=10(固定)
見積もり式を次に示します。

X(年)={(291+2)*4+(678+60)*{((291+2)*4)/(65,250-678)+1}}*1/1*
(10+1)*1.1
={1,172+738*1}*12.1
=1,910*12.1
=23,111(バイト)=約0.03メガバイト

以上から,PI_PITSの見積もりは次のようになります。

X(合計)=X(分)+X(時)+X(日)+X(週)+X(月)+X(年)
=12.27メガバイト
=約13メガバイト

次にPD_PDTSレコードの見積もりについて説明します。

a=1,440

b=60/60 =1

c=7日とする

d=678バイト

e=117バイト

f=今回は10とする

g=今回は60秒とする

見積もり式を次に示します。

X={(117+2)*12+(678+60)*{((117+2)*12)/(65,250-678)+1}}*1,440/1*(7+1)*
1.1
={1,428+738*1}}*12,672
=2,166*12,672
=27,447,552(バイト)=約27メガバイト

したがって,必要なディスク占有量はPI_PITS+PD_PDTS=40メガバイトとなります。

●ファイル数

PI,PI_PITS,PD,およびPD_PDTSを収集する場合を例に挙げて説明します。「(a) 見積もり式」のファイル数の見積もり式の,可変値を調べます。

l:PIレコードで収集しているレコードの数=2

m:PDレコードで収集しているレコードの数=2

A11~A1l:PIレコードタイプのレコードごとの分レコードの保存期間設定値(単位:日)=今回は3日とする

A21~A2l:PIレコードタイプのレコードごとの時レコードの保存期間設定値(単位:日)=今回は3日とする

A31~A3l:PIレコードタイプのレコードごとの日レコードの保存期間設定値(単位:週)=今回は1週とする

A41~A4l:PIレコードタイプのレコードごとの週レコードの保存期間設定値(単位:週)=今回は1週とする

A51~A5l:PIレコードタイプのレコードごとの月レコードの保存期間設定値(単位:月)=今回は1月とする

B1~Bm:PDレコードタイプのレコードごとの保存期間設定値(単位:日)=今回は10日とする

Storeデータベースで作成されるファイル数Nの見積もり式を次に示します。

N=20+2*(
(A11+A12+...+A1l+l)+
(A21+A22+...+A2l+l)+
(A31+A32+...+A3l+l)+
(A41+A42+...+A4l+l)+
(A51+A52+...+A5l+l)+
(11*l)+
(B1+B2+...+Bm+m)+
)
=20+2*{
[3(PI分)+3(PI_PITS分)+2]+
[3(PI分)+3(PI_PITS分)+2]+
[1(PI分)+1(PI_PITS分)+2]+
[1(PI分)+1(PI_PITS分)+2]+
[1(PI分)+1(PI_PITS分)+2]+
[11*2]+
[10(PD分)+10(PD_PDTS分)+2]
}
=20+2*{8+8+4+4+4+22+22}=164

●ディレクトリ数

PI,PI_PITS,PD,およびPD_PDTSを収集する場合を例に挙げて説明します。

l:PIレコードで収集しているレコードの数=2

m:PDレコードで収集しているレコードの数=2

A1max:PIレコードタイプで収集しているレコードの集約区分が"分"のデータの保存期間設定値の最大値(単位:日)=今回は3日とする(考え方:PIが2日,PI_PITSが3日の場合は3日となります)

A2max:PIレコードタイプで収集しているレコードの集約区分が「時」のデータの保存期間設定値の最大値(単位:日)=今回は3日とする

A3max:PIレコードタイプで収集しているレコードの集約区分が「日」のデータの保存期間設定値の最大値(単位:週)=今回は1週とする

A4max:PIレコードタイプで収集しているレコードの集約区分が"週"のデータの保存期間設定値の最大値(単位:週)=今回は1週とする

A5max:PIレコードタイプで収集しているレコードの集約区分が「月」のデータの保存期間設定値の最大値(単位:月)=今回は1月とする

Bmax:PDレコードタイプのレコードごとの保存期間設定値の最大値(単位:日)=今回は10日とする(考え方:PD_PDTSが8日,PDが10日の場合は10日となります)

Storeデータベースで作成されるディレクトリ数Nの見積もり式を次に示します。

N=25+2*((A1max)+(A2max)+(A3max)+(A4max)+(A5max)+11+(Bmax))
=25+2*(3+3+1+1+1+11+10)=85

●Storeサービスがオープンするファイル数

PI,PI_PITS,PD,およびPD_PDTSを収集する場合を例に挙げて説明します。

l:PIレコードで収集しているレコードの数=2

m:PDレコードで収集しているレコードの数=2

Storeサービスがオープンするディレクトリ数Nの見積もり式を次に示します。

N=20+2*(6*l+m)
=20+2*(6*2+2)=48