スケーラブルデータベースサーバ HiRDB ファーストステップガイド(UNIX(R)用)
ユーザ用RDエリア(RDAREA01)を作成して,そこに社員表(表名:EMP)を作成します。
RDエリア用のHiRDBファイルシステム領域を作成するディレクトリをmkdirコマンドで作成します。$HOME/HiRDB/rdareaディレクトリを作成してください。
追加するRDエリア用のHiRDBファイルシステム領域を作成します。次のコマンドを実行してください。
$ pdfmkfs -n 20 -l 5 -k DB -i $HOME/HiRDB/rdarea/area01 |
HiRDBファイルシステム領域が作成されたかを確認します。次のコマンドを実行してください。
$ pdfstatfs $HOME/HiRDB/rdarea/area01 |
user area capacity 20472[kB] ・・・・・・・・・・・・・・・・1 remain user area capacity 20472[kB] ・・・・・・・・・・・・・・・・2 available file size 20472[kB] ・・・・・・・・・・・・・・・・3 available file count 5 ・・・・・・・・・・・・・・・・・・・・・・・4 current file count 0 ・・・・・・・・・・・・・・・・・・・・・・・5 remain file count 5 ・・・・・・・・・・・・・・・・・・・・・・・6 free area count 0 ・・・・・・・・・・・・・・・・・・・・・・・7 available expand count 0 ・・・・・・・・・・・・・・・・・・・・・・・8 current expand count 0 ・・・・・・・・・・・・・・・・・・・・・・・9 initialize area kind DB ・・・・・・・・・・・・・・・・・・・・・・・・・・・・10 initialize user id hirman ・・・・・・・・・・・・・・・・・・・・・・・・11 initialize time Tue Feb 3 18:47:32 2004 ・・・・・・12 |
追加するRDエリアに割り当てられるグローバルバッファを調べます。次のコマンドを実行してください。
$ pdbufls -k def |
DEFINE OF GLOBAL BUFFER
EDIT TIME 2004-02-03 18:48:22
BUFFNAME SVID TYPE SIZE NUM WRATIO RDAREA/INDEX NAME
PRMAX PRNUM CSIZE MAPS
RDINDX10 sds1 R 4k 700 20 "RDINDX10"
0 32 ******* **
RDDATA10 sds1 R 4k 700 20 "RDDATA10"
0 32 ******* **
RLOB1 sds1 B 8k 200 0 "RLOB1"
0 0 ******* **
RLOB2 sds1 B 8k 500 0 "RLOB2"
0 0 ******* **
bp01 sds1 O 8k 350 20
0 32 ******* **
|
pdmodコマンドのcreate rdarea文でRDエリアを作成します。
この演習では,次に示す内容の制御文ファイル$HOME/HiRDBd/create.txtを作成してください。
create rdarea RDAREA01 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・1
globalbuffer RDDATA10 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・2
for user used by PUBLIC ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・3
page 4096 characters ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・4
storage control segment 10 pages ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・5
file name "/home/hirman/HiRDB/rdarea/area01/rdarea01" ・・・・・・・・6
initial 10 segments; ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・7
|
作成した制御文ファイルを入力にして,データベース構成変更ユティリティ(pdmod)を実行します。次のコマンドを実行してください。
$ pdmod -a $HOME/HiRDB/pdmod/create.txt |
KFPX14250-I Processing of create rdarea statement ended return code=0, RDAREA name="RDAREA01" KFPX24213-I DB modification for ended return code=0 at 18:54:09 on 2004/02/03 KFPX24200-I DB modification ended, return code=0 |
KFPX14220-E Line 1:"rdarea" operand value "RDAREA01" duplicate KFPX14220-E Line 6:"file" operand value "C:/hirdb/rdarea/area01/rdarea01" duplicate KFPX14250-I Processing of create rdarea statement ended return code=8, RDAREA name="RDAREA01" KFPX24213-I DB modification for ended return code=12 at 16:06:16 on 2001/09/10 KFPX24200-I DB modification ended, return code=12 |
RDエリアが作成されたかどうかを確認します。次のコマンドを実行してください。
$ pddbls -r ALL |
STATE OF RDAREA
RDAREA ID STATUS TYPE OPNMODE
RDMAST 1 OPEN MAST INITIAL
RDDIRT 2 OPEN DDIR INITIAL
RDDICT 3 OPEN DDIC INITIAL
DIC_RTN_SRC 4 OPEN DLOB INITIAL
DIC_RTN_OBJ 5 OPEN DLOB INITIAL
RDDATA10 6 OPEN USER INITIAL
RDINDX10 7 OPEN USER INITIAL
RLOB1 8 OPEN ULOB INITIAL
RDAREA01 9 OPEN USER INITIAL
|
pddefコマンドのCREATE TABLE文で作成したRDエリアに表を定義します。この演習では,次に示す内容の入力ファイル$HOME/HiRDB/pddef/c_table.txtを作成してください。
CREATE FIX TABLE EMP (SNO CHAR(6),SNAME CHAR(12),SYEAR CHAR(4))
IN RDAREA01; ← ここに改行を入れてください。
|
作成した入力ファイルを使って,データベース定義ユティリティ(pddef)を実行します。
$ pddef < $HOME/hirdb/pddef/c_table.txt |
KFPA12000-I Processing of SQL completed |
表が定義されたかをディクショナリ表を検索して確認します。HiRDB SQL Executerを起動してください。
SELECT TABLE_SCHEMA,TABLE_NAME FROM MASTER.SQL_TABLES WHERE TABLE_NAME='EMP'; |
TABLE_SCHEMA TABLE_NAME --------------------------- ------------------------- MANAGER EMP KFPX27010-I 1 rows selected |
INSERT文で社員表にデータを挿入します。次のSQL文を順に実行してください。
INSERT INTO EMP VALUES('189218','NAKATA','1989');
INSERT INTO EMP VALUES('192365','SUZUKI','1992');
INSERT INTO EMP VALUES('185995','TANAKA','1985');
|
KFPX27010-I 1 rows inserted KFPX27010-I 1 rows inserted KFPX27010-I 1 rows inserted |
データが正しく入力されているか確認します。次のSQL文を実行してください。
SELECT * FROM EMP; |
SNO SNAME SYEAR ------ ------------ ---- 189218 NAKATA 1989 192365 SUZUKI 1992 185995 TANAKA 1985 KFPX27010-I 3 rows selected |
All Rights Reserved. Copyright (C) 2002, 2004, Hitachi, Ltd.