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

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

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

<この項の構成>
(1) システム全体のディスク占有量
(2) Storeデータベース(Storeバージョン1.0)のディスク占有量
(3) Storeデータベース(Storeバージョン2.0)のディスク占有量

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

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

(a) Windowsの場合

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

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

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


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

(b) UNIXの場合

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

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

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


PFM - Agent for Oracleの状態
ディスク占有量(単位:メガバイト)
HP-UXSolarisAIXLinux (x86),Linux (x64)
インストール時※140204020
初期状態での運用※2140120140120
運用時a + ba + ba + ba + b
(凡例)
a:インスタンスごとのディスク占有量の和。
一つのインスタンスのディスク占有量の算出式を次に示します。
c + d + 18
b:インストール時のディスク占有量。
c:Storeデータベースのディスク占有量。Storeデータベースのディスク占有量については,「(2) Storeデータベース(Storeバージョン1.0)のディスク占有量」または「(3) Storeデータベース(Storeバージョン2.0)のディスク占有量」を参照してください。
d:エージェントログサイズ。エージェントログのファイルサイズの上限は,128メガバイトです。
注※1
インストール時にはプログラム本体容量の2倍分のディスク容量が必要となります。
注※2
収集設定がSystem Stat Summary Interval(PI)レコードだけのPFM - Agent for Oracleのインスタンスが一つだけセットアップされている場合のことを示します。

(2) Storeデータベース(Storeバージョン1.0)のディスク占有量

(a) 見積もり式

Storeデータベースでは,各レコードは,レコードタイプごとに一つのファイルに格納されます。Storeデータベース(Storeバージョン1.0)のディスク占有量について,レコードタイプごとに次の表に示します。

表A-7 レコードタイプごとのStoreデータベースのディスク占有量

レコードタイプディスク占有量の見積もり式(単位:バイト)
PIレコードタイプX1+.....+Xa+3,500*a
PDレコードタイプY1+.....+Yb+700*b
(凡例)
X:PIレコードタイプのレコードで履歴データを収集する各レコードのディスク占有量
Xの算出式を次に示します。
X={d*e+(c+1,900)*{(d*e)/(65,250-c)+1}※1}*f*1.5
Y:PDレコードタイプのレコードで履歴データを収集する各レコードのディスク占有量
Yの算出式を次に示します。
Y={d*g+(c+1,900)*{(d*e)/(65,250-c)+1}※1*(g/e)※2}*1.5
a:PIレコードタイプのレコードで履歴データを収集するレコード数
b:PDレコードタイプのレコードで履歴データを収集するレコード数
c:履歴データを収集する各レコードの固定部のサイズ※3
d:履歴データを収集する各レコードの可変部のサイズ※3
e:履歴データを収集する各レコードのインスタンス数※6(単数インスタンスレコードの場合は1)
f:履歴データを収集する各レコードの保存レコード数※4
g:履歴データを収集する各レコードの保存レコード数の上限値※5
注※1
{(d*e)/(65,250-c)+1}の計算結果は,小数点以下を切り捨ててください。
注※2
(g/e)の計算結果は,小数点以下を切り捨ててください。
注※3
各レコードの固定部および可変部のサイズについては,「6. レコード」を参照してください。
注※4
PIレコードタイプのレコードの場合,収集したデータがある一定の区分(時,日,週,月,および年単位)に自動的に要約されるので,分,時,日,週,月,および年の部分の保存レコード数を考慮して計算する必要があります。デフォルトの保存期間と保存レコード数を次の表に示します。

表A-8 データの種類と保存レコード数

データの種類保存期間保存レコード数
(収集間隔が1分の場合)
分単位1日1,440
時単位7日168
日単位1年366
週単位1年52
月単位1年12
年単位制限なし(収集年数)*1
注※5
保存レコード数については,「付録F.1 Agent Storeサービスのプロパティ一覧」を参照してください。
注※6
各レコードのインスタンス数の算出方法を次の表に示します。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_PIBCSELECT count(*)
FROM v$waitstat
3PI_PICSインスタンス数は1です
4PI_PIDBインスタンス数は1です
5PI_PIDDSELECT count(*)
FROM v$rowcache
6PI_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(+)
7PI_PIDSSELECT count(*)
FROM v$dispatcher, v$process
WHERE addr=paddr
8PI_PIEVSELECT count(*)
FROM v$session_event a, v$session b
WHERE a.sid=b.sid AND time_waited>=0
9PI_PIGCインスタンス数は1です
10PI_PIIOSELECT count(*)
FROM v$sess_io a, v$session b, v$process c
WHERE a.sid=b.sid AND b.paddr=c.addr
11PI_PILASELECT count(*)
FROM v$latchholder a, v$session b,
v$latch c, v$latchname d, v$process e
WHERE c.latch#=d.latch# AND a.laddr(+)=c.addr
AND a.pid=e.pid(+) AND e.addr=b.paddr(+)
12PI_PILCSELECT count(*)
FROM v$librarycache
13PI_PILOSELECT /*+ ORDERED */ count(*)
FROM v$lock a, v$session b
WHERE a.sid=b.sid AND a.block >= 0
14PI_PIMTインスタンス数は1です
15PI_PIPLSELECT count(*)
FROM v$lock_activity
16PI_PIPP※1インスタンス数は0です
17PI_PIPQSELECT count(*)
FROM v$pq_slave
18PI_PIRSSELECT count(*)
FROM v$rollstat a, v$rollname b, sys.dba_rollback_segs c
WHERE a.usn=b.usn AND c.segment_name=b.name
19PI_PIS2SELECT count(*)
FROM (SELECT DISTINCT sid
FROM v$sesstat a, v$statname b
WHERE a.statistic#=b.statistic#)
20PI_PISESELECT count(*)
FROM v$system_event
21PI_PISHSELECT count(*)
FROM v$shared_server a, v$process b
WHERE a.paddr=b.addr
22PI_PISRSELECT count(*)
FROM v$sort_segment
23PI_PISTSELECT count(*)
FROM v$sysstat
24PI_PITRSELECT COUNT(*)
FROM v$transaction a, v$session b
WHERE RAWTOHEX(ses_addr)=RAWTOHEX(saddr)
25PI_PITSSELECT count(*)
FROM sys.dba_tablespaces
26PI_PMDBインスタンス数は1です
27PI_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(+)
28PI_PMTSSELECT count(*)
FROM sys.dba_tablespaces
29PDインスタンス数は1です
30PD_PCIインスタンス数は1です
31PD_PCTSSELECT count(*)
FROM sys.dba_tablespaces
32PD_PDASインスタンス数は1です
33PD_PDBASELECT count(*)
FROM v$backup_async_io
34PD_PDBCSELECT count(*)
FROM v$waitstat
35PD_PDBPSELECT count(*)
FROM v$buffer_pool a, v$buffer_pool_statistics b
WHERE a.id=b.id
36PD_PDBSSELECT count(*)
FROM v$backup_sync_io
37PD_PDCSELECT count(*)
FROM v$sqlarea a, sys.audit_actions b
WHERE a.command_type=b.action
38PD_PDCFSELECT count(*)
FROM v$controlfile
39PD_PDCISELECT count(*)
FROM v$circuit a, v$session b,
v$process c, v$process d, v$process e
WHERE a.saddr=b.saddr AND a.server=c.addr(+)
AND a.dispatcher=d.addr(+) AND a.waiter=e.addr(+)
40PD_PDCSインスタンス数は1です
41PD_PDDBインスタンス数は1です
42PD_PDDDSELECT count(*)
FROM v$rowcache
43PD_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(+)
44PD_PDDL※1インスタンス数は0です
45PD_PDDOSELECT count(*)
FROM v$db_object_cache
46PD_PDDSSELECT count(*)
FROM v$dispatcher, v$process
WHERE addr=paddr
47PD_PDELPD_PDELレコード収集間隔内にOracleアラートログに対して書き込まれた以下のメッセージの件数。
"DBA-", "EXP-", "IMP-", "LCC-", "OER-",
"ORA-", "PCC-", "PLS-", "RTL-", "TNS-"
PD_PDELレコードの収集間隔内で,Oracleアラートログに書き込まれる最大値をインスタンス数としてください。
Oracleアラートログは,以下のSQL文で取得できるパスに存在する "alert_<Oracle_SID>.log" ファイルです。
  • Oracle 11gより前のバージョンの場合
    SELECT name, value
    FROM v$parameter
    WHERE name='background_dump_dest'
  • Oracle 11g以降のバージョンの場合
    SELECT name, value
    FROM v$diag_info
    WHERE name='Diag Trace'
48PD_PDES※3SELECT count(*)
FROM v$sqlarea, sys.user$
WHERE ( (disk_reads/decode(executions,0,1,executions) > 1000
OR buffer_gets/decode(executions,0,1,executions) > 10000)
AND (parsing_user_id = user#) )
49PD_PDEVSELECT count(*)
FROM v$session_event a, v$session b
WHERE a.sid=b.sid AND time_waited>=0
50PD_PDGCインスタンス数は1です
51PD_PDIインスタンス数は1です
52PD_PDIAインスタンス数は1です
53PD_PDLASELECT count(*)
FROM v$latchholder a, v$session b,
v$latch c, v$latchname d, v$process e
WHERE c.latch#=d.latch# AND a.laddr(+)=c.addr
AND a.pid=e.pid(+) AND e.addr=b.paddr(+)
54PD_PDLCSELECT count(*)
FROM v$librarycache
55PD_PDLOSELECT /*+ ORDERED */ count(*)
FROM v$lock a, v$session b
WHERE a.sid=b.sid AND a.block >= 0
56PD_PDLSインスタンス数は1です
57PD_PDLWSELECT count(*)
FROM dba_waiters a, v$session b, v$session c
WHERE a.holding_session=b.sid AND a.waiting_session=c.sid
58PD_PDMTインスタンス数は1です
59PD_PDNH※1インスタンス数は0です
60PD_PDNLインスタンス数は1です
61PD_PDOSELECT count(*)
FROM v$option
62PD_PDOCSELECT count(*)
FROM v$open_cursor a, v$session b
WHERE a.sid=b.sid
63PD_PDOPSELECT count(*)
FROM v$process
64PD_PDPSELECT count(*)
FROM v$parameter
65PD_PDPQSELECT count(*)
FROM v$pq_slave
66PD_PDPSSELECT count(*)
FROM v$pq_sysstat
67PD_PDQUSELECT count(*)
FROM v$queue, v$process
WHERE addr(+)=paddr
68PD_PDRLSELECT count(*)
FROM v$resource_limit
69PD_PDRSSELECT count(*)
FROM v$rollstat a, v$rollname b, sys.dba_rollback_segs c
WHERE a.usn=b.usn AND c.segment_name=b.name
70PD_PDSSELECT count(*)
FROM v$session a, v$process b
WHERE a.paddr=b.addr
71PD_PDS2SELECT count(*)
FROM (SELECT DISTINCT sid
FROM v$sesstat a, v$statname b
WHERE a.statistic#=b.statistic#)
72PD_PDS3インスタンス数は1です
73PD_PDSESELECT count(*)
FROM v$system_event
74PD_PDSGSELECT count(*)
FROM v$sgastat
75PD_PDSHSELECT count(*)
FROM v$shared_server, v$process
WHERE paddr=addr
76PD_PDSM下記のすべてのSQL文から求められる結果の合算値です
  1. SELECT count(*)
    FROM sys.dba_segments
  2. SELECT count(*)
    FROM v$sort_segment
77PD_PDSQ※2インスタンス数は0です
78PD_PDSRSELECT count(*)
FROM v$sort_segment
79PD_PDSSSELECT count(*)
FROM v$sesstat a, v$session b, v$statname c
WHERE a.sid=b.sid AND a.statistic#=c.statistic# AND value>=0
80PD_PDSTSELECT count(*)
FROM v$sysstat
81PD_PDTASELECT count(*)
FROM v$access a, v$session b
WHERE a.sid=b.sid
82PD_PDTFSELECT count(*)
FROM sys.dba_tablespaces
83PD_PDTLSELECT count(*)
FROM v$locked_object a, sys.dba_objects b
WHERE a.object_id=b.object_id
84PD_PDTRSELECT count(*)
FROM v$transaction a, v$session b
WHERE RAWTOHEX(ses_addr)=RAWTOHEX(saddr)
85PD_PDTSSELECT count(*)
FROM sys.dba_tablespaces
86PD_PDVSELECT count(*)
FROM product_component_version
87PD_PDWASELECT count(*)
FROM v$session_wait a, v$session b
WHERE a.sid=b.sid AND a.wait_time>=0
88PD_STATインスタンス数は1です
注※1
予約レコードのため使用できません。
注※2
リアルタイムでだけ使用できるレコードです。
注※3
SQL文の実行結果が5以上の場合,インスタンス数は5としてください。
注意
パフォーマンスデータがStoreデータベースに格納される際,幾つかのフィールドが追加されます。追加されるフィールドは,ディスク占有量に含まれるため,新たに容量を見積もる必要はありません。

(b) 見積もり例

見積もり例1
OSがWindowsで,Tablespace Interval(PI_PITS)について,PI_PITS以外のPIレコードタイプを保存設定していない場合。表A-7に示した変数a~fが次の値とします。

a=1
c=678
d=291
e=2
f=4,078

(eの求め方)
表A-9の,レコードのインスタンス数の算出方法を参照してください。今回はe=2とします。
(fの求め方)
PI_PITSの収集間隔を1分,年単位の収集年数を1年として,リテンションの設定が表A-7の注※4のとおりである場合。

(1,440+168+366+52+12+1)*2(eの値)=4,078レコード
f=4,078

Xの算出式

X={d*e+(c+1,900)*{d*e/(65,250-c)+1}}*f*1.5
X={291*2+(678+1,900)*{291*2/(65,250-678)+1}}*4,078*1.5
={582+(2,578)*{582/64,572+1}}*6,117
={582+2,578*1}*6,117
=3,160*6,117
=19,329,720(バイト)
=約19(メガバイト)

見積もり例2
OSがWindowsで,PDレコードタイプのTablespace(PD_PDTS)について,PD_PDTS以外のPDレコードタイプを保存設定していない場合。

b=1
c=678
d=117
e=3
g=2,232

(eの求め方)
表A-9の,レコードのインスタンス数の算出方法を参照してください。今回はe=3とします。
(gの求め方)
リテンションの設定のデフォルトは10,000レコードです。
収集間隔を3,600秒にして1か月分のデータを保存したい場合。
g=24レコード(1日分)*31(1か月)*3(eの値)=2,232レコード
g=2,232レコード
Yの算出式

Y={d*g+(c+1,900)*{(d*e)/(65,250-c)+1}*(g/e)}*1.5
Y={117*2,232+(678+1,900)*{(117*3)/(65,250-678)+1}*(2,232/3)}*1.5
 ={117*2,232+2,578*{351/64,571+1}*744}*1.5
 ={261,144+2,578*1*744}*1.5
 ={261,144+1,918,032}*1.5
 =2,179,176*1.5
 =3,268,764(バイト)
 =約3(メガバイト)

(3) Storeデータベース(Storeバージョン2.0)のディスク占有量

Storeデータベース(Storeバージョン2.0)のディスク占有量について説明します。

(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-10を参照してください。
b:レコードタイプ,集約区分ごとに値が異なります。表A-10を参照してください。
c:履歴データの保存期間設定値※3。レコードタイプ,集約区分ごとに指定する単位が異なります。単位については表A-10を参照してください。
d:履歴データを収集する各レコードの固定部のサイズ※4
e:履歴データを収集する各レコードの可変部のサイズ※4
f:履歴データを収集する各レコードのインスタンス数(単数インスタンスレコードの場合は1)※5。インスタンス数が2以上の場合,4の倍数に切り上げます。例えばインスタンス数が2の場合は,f=4となります。インスタンス数が13の場合は,f=16となります。インスタンス数が1の場合は,f=1となります。

表A-10 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
Storeバージョン2.0の場合のデフォルトの保存期間と保存レコード数を次の表に示します。

表A-11 デフォルトの保存期間と保存レコード数(Storeバージョン2.0の場合)

レコードタイプデータの種類保存期間保存レコード数
(収集間隔が1分の場合)
PI分単位1日1,440
時単位7日168
日単位54週378
週単位54週54
月単位12か月12
年単位10年(収集年数)*1
PD7日10,080
(凡例)
-:該当しない
注※4
各レコードの固定部・可変部のサイズについては,「6. レコード」のレコードサイズを参照してください。
注※5
レコードごとのインスタンス数については,「(2) Storeデータベース(Storeバージョン1.0)のディスク占有量」を参照してください。

●ファイル数

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 - Agent for OracleのStoreデータベース(Storeバージョン2.0)の見積もりについて,具体例を用いて説明します。

●ディスク占有量

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