付録D.2 SQLスクリプトファイルの設定方法
SQLスクリプトファイルを設定する場合,テーブル名,およびRDエリア名または表領域名を変更します。
- 〈この項の構成〉
(1) テーブル名の変更
SQLスクリプトファイル内にある各テーブルの,次の個所を変更します。
-
<individualname>:クラスタ名,またはHCSCサーバ名
テーブルごとの変更規則を次の表に示します。
置換前のテーブル名またはインデクス名 |
置換方法 |
例 |
---|---|---|
CSCMSG_<individualname>_CSC_CONNECT CSCMSG_<individualname>_EXECHISTORY※ CSCMSG_<individualname>_EXECHISTORY_I※ CSCMSG_<individualname>_CLUSTER CSCMSG_<individualname>_HA_ASYNC_ADP |
C<クラスタ名> |
|
CSCMSG_<individualname>_CSC_PERSIST CSCMSG_<individualname>_LC_DIRECTORY CSCMSG_<individualname>_LC_BPFORMAT CSCMSG_<individualname>_RT_RULE CSCMSG_<individualname>_CV_MAPPING CSCMSG_<individualname>_CV_FORMAT |
S<HCSCサーバ名> |
|
CSCBP_<individualname>_PROCESS CSCBP_<individualname>_ACTIVITY CSCBP_<individualname>_LINK CSCBP_<individualname>_CORRELATIONSET CSCBP_<individualname>_STR_VARIABLE CSCBP_<individualname>_NUM_VARIABLE CSCBP_<individualname>_BOOL_VARIABLE CSCBP_<individualname>_MSG_VARIABLE CSCBP_<individualname>_MSG_RELATION CSCBP_<individualname>_PROCESS_IDX1 CSCBP_<individualname>_PROCESS_IDX2 CSCBP_<individualname>_PROCESS_IDX3 CSCBP_<individualname>_PROCESS_IDX4 CSCBP_<individualname>_ACTIVITY_IDX CSCBP_<individualname>_LINK_IDX CSCBP_<individualname>_CORREL_IDX1 CSCBP_<individualname>_CORREL_IDX2 CSCBP_<individualname>_STR_VAR_IDX CSCBP_<individualname>_NUM_VAR_IDX CSCBP_<individualname>_BOOL_VAR_IDX CSCBP_<individualname>_MSG_VAR_IDX CSCBP_<individualname>_MSG_REL_IDX1 CSCBP_<individualname>_MSG_REL_IDX2 CSCBP_<individualname>_MSG_REL_IDX3 CSCBP_<individualname>_V_ACTIVITY CSCBP_<individualname>_V_LINK CSCBP_<individualname>_V_STR_VARIABLE CSCBP_<individualname>_V_NUM_VARIABLE CSCBP_<individualname>_V_BOOL_VARIABLE CSCBP_<individualname>_V_MSG_VARIABLE |
<クラスタ名> |
|
(2) RDエリア名または表領域名の変更
データベースごとに次に示すように変更します。
(a) HiRDBの場合
SQLスクリプトファイル内の各テーブルの次の個所を書き換えます。RDエリアを指定しない場合は,「IN <RDDATA>」または「IN <RDINDX>」を削除します。
-
IN <RDDATA>:各テーブルを格納するRDエリア名を指定します。
-
IN <RDINDX>:各インデクスを格納するRDエリア名を指定します。
また,SQLスクリプトファイル「CreateTables_HiRDB_for_Range.sql」または「CreateTables_HiRDB_for_Matrix.sql」を使用する場合は,次に示す個所も書き換えてください。
-
<RDDATAn>:n月(n:01〜12)のデータを格納するRDエリアを指定します。
-
<RDINDXn>:n月(n:01〜12)のインデクスを格納するRDエリアを指定します。
RDエリアの指定を1〜12月に分けることで,1年(12か月)単位でRDエリアを循環的に割り当てられます。また,同じRDエリアを複数の月で指定することで,必要となるRDエリアを節約できます。
- (例1)
-
SQLスクリプトファイル「CreateTables_HiRDB_for_Range.sql」で次の内容を定義する例を示します。
扱うデータの単位:1か月
循環割り当て期間:3か月単位
-
テーブルの定義例
IN ((RDDATA1)'01', /* 1月のデータを格納するRDエリア */ (RDDATA2)'02', /* 2月のデータを格納するRDエリア */ (RDDATA3)'03', /* 3月のデータを格納するRDエリア */ (RDDATA1)'04', /* 4月のデータを格納するRDエリア */ (RDDATA2)'05', /* 5月のデータを格納するRDエリア */ (RDDATA3)'06', /* 6月のデータを格納するRDエリア */ (RDDATA1)'07', /* 7月のデータを格納するRDエリア */ (RDDATA2)'08', /* 8月のデータを格納するRDエリア */ (RDDATA3)'09', /* 9月のデータを格納するRDエリア */ (RDDATA1)'10', /* 10月のデータを格納するRDエリア */ (RDDATA2)'11', /* 11月のデータを格納するRDエリア */ (RDDATA3)); /* 12月のデータを格納するRDエリア */
-
インデクスの定義例
IN ((RDINDEX1), /* 1月のインデクスを格納するRDエリア */ (RDINDEX2), /* 2月のインデクスを格納するRDエリア */ (RDINDEX3), /* 3月のインデクスを格納するRDエリア */ (RDINDEX1), /* 4月のインデクスを格納するRDエリア */ (RDINDEX2), /* 5月のインデクスを格納するRDエリア */ (RDINDEX3), /* 6月のインデクスを格納するRDエリア */ (RDINDEX1), /* 7月のインデクスを格納するRDエリア */ (RDINDEX2), /* 8月のインデクスを格納するRDエリア */ (RDINDEX3), /* 9月のインデクスを格納するRDエリア */ (RDINDEX1), /* 10月のインデクスを格納するRDエリア */ (RDINDEX2), /* 11月のインデクスを格納するRDエリア */ (RDINDEX3));/* 12月のインデクスを格納するRDエリア */
-
- (例2)
-
SQLスクリプトファイル「CreateTables_HiRDB_for_Matrix.sql」で次の内容を定義する例を示します。
扱うデータの単位:1か月
循環割り当て期間:3か月単位
バックエンドサーバ:3台
-
テーブルの定義例
IN ((BES1RDDATA1,BES2RDDATA1,BES3RDDATA1), /* 1月のデータを格納するRDエリア */ (BES1RDDATA2,BES2RDDATA2,BES3RDDATA2), /* 2月のデータを格納するRDエリア */ (BES1RDDATA3,BES2RDDATA3,BES3RDDATA3), /* 3月のデータを格納するRDエリア */ (BES1RDDATA1,BES2RDDATA1,BES3RDDATA1), /* 4月のデータを格納するRDエリア */ (BES1RDDATA2,BES2RDDATA2,BES3RDDATA2), /* 5月のデータを格納するRDエリア */ (BES1RDDATA3,BES2RDDATA3,BES3RDDATA3), /* 6月のデータを格納するRDエリア */ (BES1RDDATA1,BES2RDDATA1,BES3RDDATA1), /* 7月のデータを格納するRDエリア */ (BES1RDDATA2,BES2RDDATA2,BES3RDDATA2), /* 8月のデータを格納するRDエリア */ (BES1RDDATA3,BES2RDDATA3,BES3RDDATA3), /* 9月のデータを格納するRDエリア */ (BES1RDDATA1,BES2RDDATA1,BES3RDDATA1), /* 10月のデータを格納するRDエリア */ (BES1RDDATA2,BES2RDDATA2,BES3RDDATA2), /* 11月のデータを格納するRDエリア */ (BES1RDDATA3,BES2RDDATA3,BES3RDDATA3));/* 12月のデータを格納するRDエリア */
-
インデクスの定義例
IN ((BES1RDINDEX1,BES2RDINDEX1,BES3RDINDEX1), /* 1月のインデクスを格納するRDエリア */ (BES1RDINDEX2,BES2RDINDEX2,BES3RDINDEX2), /* 2月のインデクスを格納するRDエリア */ (BES1RDINDEX3,BES2RDINDEX3,BES3RDINDEX3), /* 3月のインデクスを格納するRDエリア */ (BES1RDINDEX1,BES2RDINDEX1,BES3RDINDEX1), /* 4月のインデクスを格納するRDエリア */ (BES1RDINDEX2,BES2RDINDEX2,BES3RDINDEX2), /* 5月のインデクスを格納するRDエリア */ (BES1RDINDEX3,BES2RDINDEX3,BES3RDINDEX3), /* 6月のインデクスを格納するRDエリア */ (BES1RDINDEX1,BES2RDINDEX1,BES3RDINDEX1), /* 7月のインデクスを格納するRDエリア */ (BES1RDINDEX2,BES2RDINDEX2,BES3RDINDEX2), /* 8月のインデクスを格納するRDエリア */ (BES1RDINDEX3,BES2RDINDEX3,BES3RDINDEX3), /* 9月のインデクスを格納するRDエリア */ (BES1RDINDEX1,BES2RDINDEX1,BES3RDINDEX1), /* 10月のインデクスを格納するRDエリア */ (BES1RDINDEX2,BES2RDINDEX2,BES3RDINDEX2), /* 11月のインデクスを格納するRDエリア */ (BES1RDINDEX3,BES2RDINDEX3,BES3RDINDEX3));/* 12月のインデクスを格納するRDエリア */
-
なお,テーブル分割機能(レンジ分割またはマトリクス分割)を使用し,さらにcscpiselectコマンドの-whereオプションまたは-wherefileオプションでSplitKeyを探索条件として指定する場合,SQLスクリプトファイルのCREATE VIEWを変更する必要があります。コマンドとビュー表の関係については,マニュアル「サービスプラットフォーム リファレンス」の「cscpiselect(プロセスインスタンスの検索)」を参照してください。cscpiselectコマンドの探索条件にSplitKeyを指定しない場合は,処理性能に影響を及ぼさないよう,CREATE VIEWを変更しないことをお勧めします。
- (例3)
-
CSCBP_<individualname>_V_ACTIVITYビュー表の定義例を次に示します。
CREATE VIEW CSCBP_<individualname>_V_ACTIVITY ( ProcessID, ActivityNumber, ProcessDefinitionName, ProcessDefinitionVersion, ActivityDefinitionName, ActivityKind, ParentNumber, ScopeNumber, RepeatNumber, State, FirstChildNumber, LastChildNumber, StartTime, EndTime, WaitTime, CSCServerName, SplitKey …… ※1 ) AS SELECT a.ProcessID, a.ActivityNumber, p.ProcessDefinitionName, p.ProcessDefinitionVersion, a.ActivityDefinitionName, a.ActivityKind, a.ParentNumber, a.ScopeNumber, a.RepeatNumber, a.State, a.FirstChildNumber, a.LastChildNumber, a.StartTime, a.EndTime, a.WaitTime, p.CSCServerName, p.SplitKey …… ※2 FROM CSCBP_<individualname>_ACTIVITY a, CSCBP_<individualname>_PROCESS p WHERE a.ProcessID = p.ProcessID;
- 注※1
-
「付録C.1(4) ビュー表の情報」の内容に従って,構成列の最後にSplitKey列を追加してください。
- 注※2
-
「付録C.1(4) ビュー表の情報」の内容に従って,参照先テーブルのカラム名を設定してください。
(b) Oracleの場合
SQLスクリプトファイル内にある,各テーブル,またはインデクスの次の個所を書き換えます。表領域を指定しない場合は,「TABLESPACE <EXAMPLE>」を削除します。
-
TABLESPACE <EXAMPLE>
使用する表領域(テーブルスペース),またはmessage変数テーブル内のmessage変数の値(BLOB)を格納する表領域を指定します。