DB環境構築の手順
① DBの作成はインスタンスにて実行する。環境変数にインスタンス名を設定し、コンピュータは再起動してください。
インスタンス名: pxxxxxx
db2icrt pxxxxxx
② DBを作成するためのコマンドを実行する。
ローカルにdb:PEGASUSを作成。aliasは適当(自分の名前でも)に。
db2=> create database PEGASUS using CODESET IBM-43 TERRITORY JP
※Database name は : PEGASUS
※Codeset、Territory はデフォルトは日本語環境
③ コマンドプロセッサで作成したローカルDBにconnect
db2 =>connect to PEGASUS [ user userxxx using pwxxx ]
④ 表スペースにGV55IS01、GV55TS01を作成
作る順序は関係ありませんが、名前ASCENDINGで作成するものとして説明します。
(下記G2DTNewTablespaceCreate.batのContainerを自分で好きなファイル名/ディレクトリー名へ修正して、利用できる。)
a)インデックススペース
表スペース名:GV55IS01
表スペースタイプ:Regular
スペース管理:Database
管理タイプをデータベースにしたのでコンテナを作成し、サイズを決定しなければなりません。
コンテナサイズ:500MB
コンテナー名称:お好きな名前(Explorerで見た時に分かり易いように表スペース 名+_1としておくと良いかも)
コンテナ収納ディレクトリ:おすきな場所(ローカルですから)
コンテナ収納ディレクトリ:おすきな場所(ローカルですから)
b)テーブルスペース
表スペース名:GV55TS01
表スペースタイプ:Regular
スペース管理:Database
前述(a)と同様にコンテナーを作成します。
e.g: G2DTNewTablespaceCreate.batの内容:
DB2 CREATE REGULAR TABLESPACE GV55IS01 PAGESIZE 4 K MANAGED BY DATABASE USING ( FILE 'D:/DB2/tablespace/GV55IS01' 500M) EXTENTSIZE 240 OVERHEAD 24.1 PREFETCHSIZE 16 TRANSFERRATE 0.9 BUFFERPOOL IBMDEFAULTBP
DB2 CREATE REGULAR TABLESPACE GV55TS01 PAGESIZE 4 K MANAGED BY DATABASE USING ( FILE 'D:/DB2/tablespace/GV55TS01' 500M) EXTENTSIZE 240 OVERHEAD 24.1 PREFETCHSIZE 16 TRANSFERRATE 0.9 BUFFERPOOL IBMDEFAULTBP
关于表空间的估算:
表的size=length(表中所有字段的长度之和)*记录个数(表的记录估计)
表空间的size=表空间所有所属表的size的和(page size)
表空间的实际所需size= 用page size 代入某个公式得到估算的空间大小
⑤ テーブル作成
レプリカ先DBのテーブル設計書を参照してください。
setupTable.batを実行する.
(注:開発用のSchema=GV55U1、G2DTと本番用のSchema=D300200)
e.g setupTable.batの内容:
db2 -tf ARCHDELEGATE2.ddl
db2 -tf ARCHDELEGATELTD2.ddl
db2 -tf BUSCOMP_MST.ddl
。。。。。
(其中直接运行setupTable.bat会有エラー、原因是其中的DLL路径找不到,只要指定其路径就可以。例如:D:/TEST/ARCHDELEGATE2.ddl)
e.g ARCHDELEGATELTD2.ddlの内容
--
DROP TABLE GV55U1.ARCHDELEGATELTD2;
COMMIT;
--
CREATE TABLE GV55U1.ARCHDELEGATELTD2
(
SDCTBLID CHAR(0004) NOT NULL WITH DEFAULT,
COMPANY_CODE VARCHAR(0004) NOT NULL WITH DEFAULT,
DELEGATE_NO CHAR(0026) NOT NULL WITH DEFAULT,
SEQ_NO INT NOT NULL WITH DEFAULT,
REQUESTER_ID CHAR(0008) NOT NULL WITH DEFAULT,
SDCLUID CHAR(0008) NOT NULL WITH DEFAULT,
SDCTIMESTAMP TIMESTAMP NOT NULL WITH DEFAULT,
DEL_FLAG CHAR(0001) NOT NULL WITH DEFAULT,
PRIMARY KEY(
DELEGATE_NO ,
SEQ_NO
)
) IN GV55TS01 INDEX IN GV55IS01;
COMMIT;
--
CREATE UNIQUE INDEX GV55U1.UI_ARCHDELEGATELT2
ON GV55U1.ARCHDELEGATELTD2
(
DELEGATE_NO ,
SEQ_NO
);
COMMIT;
--
COMMENT ON TABLE GV55U1.ARCHDELEGATELTD2
IS '代行対象社員保管';
COMMENT ON GV55U1.ARCHDELEGATELTD2
( SDCTBLID IS 'テーブルID',
COMPANY_CODE IS '会社コード',
DELEGATE_NO IS '代行申請番号',
SEQ_NO IS '連番',
REQUESTER_ID IS '申請者UserId',
SDCLUID IS '最終更新者ID',
SDCTIMESTAMP IS '最終更新時刻',
DEL_FLAG IS 'フラグ');
COMMIT;
⑥ テーブルデータの導入
各項目を入力後、DB作成が実行される。
<import>
db2 import from "D:/import/GV55TIN1.del" of del replace into D300200.GV55TIN1
<export>
db2 export to "D:/export/GV55TIN1.del" of del select * from D300200.GV55TIN1
其中的第1,2,3step是在 command line processor上运行。4,5step在command center。
command line processor-〉command center :quit
command center-〉command line processor :db2