めもぶろぐ

お勉強したこと、趣味なんかを適当に書いてます。。。

HiRDB テスト用RDエリア、テーブルの作成・データ投入

HiRDBにテスト用データを投入する手順をメモ

 

素人っぽくてお恥ずかしいですが、素人なので下記の流れでテストの準備ができるように記録しておきます。

 

流れは

1.ファイルシステム作成

2.RDエリア作成

3.グローバルバッファ確認

4.テーブル作成

5.データロード

 

要件に応じて詳細な定義は変更する必要がありますが下記の内容で

テスト用データ作成が可能です。

 

 

使用するファイル一覧:
01_create_filesystem.bat
02_pdmod.bat
02_pdmod_create_rdarea.txt
03_pddbls.bat
04_create_table.txt
04_pddef.bat
20_pdload.bat
20_pdload.txt
20_data.csv

 

使用OS: Windows7 ⇛ 試用版を利用しています。実際の環境がlinuxであれば、batをシェルに変換して使う必要ありです。

 


==========================================================================
ファイル名:01_create_filesystem.bat
==========================================================================

REM #RD Areaの作成
REM # pdfmkfs -n 20 -l 5 -k DB -i C:\hirdb\rdarea\area01
REM
REM #create file system
pdfmkfs -n 2048 -l 50 -k DB -i D:\hirdb\testarea01

REM #############################################################################################################################
REM # 〔説明〕
REM # RDエリア用のHiRDBファイルシステム領域をC:\hirdb\rdarea\area01に作成します。
REM # -n:
REM # HiRDBファイルシステム領域の大きさをMB単位で指定します。この演習では20MBの大きさのHiRDBファイルシステム領域を作成します。
REM # -l:
REM # HiRDBファイルシステム領域に作成するHiRDBファイル数の最大値を指定します。
REM # -k:
REM # RDエリア用のHiRDBファイルシステム領域を作成するので,DBを指定します。
REM # -i:
REM # HiRDBファイルシステム領域の全領域を初期設定することを指定します。
REM # C:\hirdb\rdarea\area01:
REM # 作成するHiRDBファイルシステム領域の名称を指定します。C:\hirdb\rdareaディレクトリ下にHiRDBファイルシステム領域area01が作成されます。
REM #############################################################################################################################

REM #ファイルシステム領域の確認
pdfstatfs d:\hirdb\testarea01

 

 

==========================================================================
ファイル名:02_pdmod_create_rdarea.txt
==========================================================================

REM #############################################################################################################################
REM #〔説明〕
REM #作成するRDエリア(RDAREA01)を指定します。
REM #RDAREA01に割り当てるグローバルバッファ(gbuf04)を指定します。(6)で調べたRDエリア用(TYPE=R)グローバルバッファをここに指定します。
REM #なお,次回のHiRDB開始以降はここで指定したグローバルバッファに割り当てられません。HiRDBを終了したら,システム共通定義のpdbufferオペランドでグローバルバッファを割り当ててください。
REM #(例)
REM #pdbuffer -a gbuf04 -n100 -r RDDATA10,RDAREA01 -w 20
REM #RDエリアの種類を指定します。この演習では,RDAREA01を公用RDエリア(PUBLIC)にします。
REM #ページ長を指定します。この演習では,ページ長を4096バイトにします。
REM #セグメントサイズを指定します。この演習では,1セグメントの大きさを10ページにします。
REM #RDエリアを構成するHiRDBファイルを指定します。C:\hirdb\rdarea\area01は,(2)で作成したHiRDBファイルシステム領域です。pdmodコマンドを実行すると,C:\hirdb\rdarea\area01ディレクトリ下にrdarea01ファイルが作成されます。C:\hirdb\rdarea\area01はWindows 2000のファイルパスです。
REM #HiRDBファイルのセグメント数を指定します。この演習では,10セグメントとします。
REM #############################################################################################################################
REM
REM #############################################################################################################################
REM #RDエリアの作成
REM #create rdarea RDAREA_TEST01
REM # globalbuffer gbuf03
REM # for user used by PUBLIC
REM # page 4096 characters
REM # storage control segment 1000 pages
REM # file name "C:\hirdb\rdarea\area01\rdarea01"
REM # initial 100 segments;
REM #############################################################################################################################

create rdarea RDAREA_TEST01
globalbuffer gbuf03
for user used by PUBLIC
page 4096 characters
storage control segment 1000 pages
file name "D:\hirdb\testarea01\testrdarea01"
initial 100 segments;

 

 

==========================================================================
ファイル名:02_pdmod.bat
==========================================================================

pdmod -a d:\hirdb\hirdb_source\02_pdmod_create_rdarea.txt

 

 

==========================================================================

ファイル名:03_pddbls.bat
==========================================================================

pddbls -r ALL -a

 

 

==========================================================================

ファイル名:04_create_table.txt
※userやyear等はカラム名として指定できない
==========================================================================

CREATE TABLE TESTTABLE (
id char(10) not null primary key,
username char(10),
sex char(1),
tel char(11),
yeara char(4),
monthb char(2),
dayc char(2))IN RDAREA_TEST01;

 

 

==========================================================================
ファイル名:04_pddef.bat
==========================================================================

pddef < D:\hirdb\hirdb_source\04_create_table.txt

 

 

==========================================================================

ファイル名:20_data.csv
==========================================================================

1万件のデータ作成
中身は記載しないが、エクセルで必要件数のデータを作成して
csv形式で保存しておく

カラムに対応するデータのみ記載でOK

 

今回作成のテーブルであれば下記のようにデータが用意されてればよし

21,user21,m,00000000020,2015,12,12
22,user22,m,00000000021,2015,12,12
23,user23,m,00000000022,2015,12,12
24,user24,m,00000000023,2015,12,12

 

左から順に対応したカラムにデータがロードされる
 

 

==========================================================================

ファイル名:20_pdload.txt
==========================================================================

source d:\hirdb\hirdb_source\20_data.csv

 

 

==========================================================================
ファイル名:20_pdload.bat
==========================================================================

pdload -u USER1 -n 10 -i c TESTTABLE d:\hirdb\hirdb_source\20_pdload.txt

 

 

 

削除手順は別途記載しようと思います。 

 おわり