Windows での DB2 データベースの作成
ジオデータベースは、データベースに格納されたテーブルとプロシージャの集合です。したがって、ジオデータベースを作成する前にデータベースを作成する必要があります。
ArcSDE では DB2 用に DB2 グローバル一時表(DECLARE GLOBAL TEMPORARY TABLE)を使用する必要があります。DB2 のドキュメントで説明されているように、グローバル一時表を宣言するには、SYSADMIN または DBADM 権限か、USER TEMPORARY 表スペースに対する USE 権限が必要です。USER TEMPORARY 表スペースを作成するには、DB2 コントロール センターを使用するか、またはコマンド ラインから CREATE USER TEMPORARY TABLESPACE コマンドを使用します。USER TEMPORARY 表スペースは必ず SMS(system-managed space)として作成してください。
USER TEMPORARY 表スペースには SMS を使用する必要がありますが、ユーザ データの格納には DMS(Database-managed space)表スペースを使用する必要があります。
表スペースの格納にはさまざまなオプションがあります。詳細については、DB2 インフォメーション センターのトピック「Automatic storage table spaces」(自動ストレージの表スペース)をご参照ください。
-
データベースを作成するスクリプトを作成します。
次にスクリプトの例を示します。データベース名、パスワード名、コンテナ名などの変数とパスを、各自のサイトで必要な情報に置き換えて利用できます。
注意:ジオデータベースが格納されるデータベースの名前には、特殊文字は使用できません。
FORCE APPLICATION ALL; DB2STOP; DB2START; CREATE DATABASE mysdedb USING CODESET UTF-8 TERRITORY US COLLATE USING SYSTEM USER TABLESPACE MANAGED BY DATABASE USING (FILE '/db2_data/mysdedb/sdetbsp' 51200); CONNECT TO mysdedb user db2admin using <your password>; CREATE REGULAR TABLESPACE regtbs PAGESIZE 4 K MANAGED BY DATABASE USING ( FILE 'd:\db2_data\mysdedb\regtbs' 102400); CREATE REGULAR TABLESPACE idxtbs PAGESIZE 4 K MANAGED BY DATABASE USING ( FILE 'd:\db2_data\mysdedb\idxtbs' 51200); CREATE LONG TABLESPACE lobtbs PAGESIZE 4 K MANAGED BY DATABASE USING ( FILE 'd:\db2_data\mysdedb\lobtbs' 51200); CREATE USER TEMPORARY TABLESPACE sdespace PAGESIZE 4 K MANAGED BY SYSTEM USING ('d:\db2_data\ sdespace' ); GRANT USE OF TABLESPACE regtbs TO PUBLIC; GRANT USE OF TABLESPACE lobtbs TO PUBLIC; COMMENT ON TABLESPACE sdespace IS ''; GRANT DBADM ON DATABASE TO USER SDE; UPDATE DATABASE CONFIGURATION FOR mydb USING APP_CTL_HEAP_SZ 2048; UPDATE DATABASE CONFIGURATION FOR mydb USING APPLHEAPSZ 2048; UPDATE DATABASE CONFIGURATION FOR mydb USING LOGPRIMARY 10; FORCE APPLICATION ALL; DB2STOP FORCE; DB2START;
-
USER TEMPORARY 表スペースを SMS(system-managed space)として作成します。
たとえば、次のような場合です。
CREATE USER TEMPORARY TABLESPACE sdespace PAGESIZE 4 K MANAGED BY SYSTEM USING ('d:\db2_data\sdespace' ); COMMENT ON TABLESPACE sdespace IS '';
-
すべての表スペースの USE 権限を PUBLIC に付与します。
GRANT USE OF TABLESPACE regtbs TO PUBLIC;