Création d'une base de données DB2 sous Windows
Les géodatabases sont des ensembles de tables et de procédures dans une base de données. Par conséquent, vous devez créer une base de données avant de créer une géodatabase.
Pour DB2, ArcSDE nécessite l'utilisation d'une table temporaire globale DB2 (DECLARE GLOBAL TEMPORARY TABLE). Selon la documentation DB2, vous devez disposez des privilèges SYSADMIN ou DBADM, ou le privilège USE doit vous avoir été accordé sur un espace table USER TEMPORARY pour déclarer des tables temporaires globales. Vous pouvez créer un espace table utilisateur temporaire à l'aide du centre de contrôle DB2 ou à partir de la ligne de commande à l'aide de la commande CREATE USER TEMPORARY TABLESPACE. Veillez à créer l'espace table utilisateur temporaire en tant qu'espace géré par le système (SMS).
![Astuce Astuce](rsrc/tip.png)
Il est conseillé d'utiliser SMS pour les tablespaces d'utilisateur temporaires. En revanche, vous devez utiliser des tablespaces DMS (Database Managed Space) pour le stockage des données utilisateur.
De nombreuses options sont disponibles pour le stockage des tablespaces. Pour plus d'informations, consultez la rubrique « Espaces table de stockage automatique » du centre d'informations DB2.
-
Créez un script afin de créer la base de données.
Un exemple de script est fourni ci-dessous. Remplacez les variables, telles que le nom de la base de données, les mots de passe, les noms de conteneur et les chemins d'accès, en fonction des informations nécessaires sur votre site.
Remarque :
Le nom d'une base de données utilisé pour stocker une géodatabase ne peut pas contenir de caractères spéciaux.
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;
-
Créez un espace table utilisateur temporaire en tant qu'espace géré par le système (SMS).
Par exemple :
CREATE USER TEMPORARY TABLESPACE sdespace PAGESIZE 4 K MANAGED BY SYSTEM USING ('d:\db2_data\sdespace' ); COMMENT ON TABLESPACE sdespace IS '';
-
Accordez les droits d'utilisation de tous les espaces table à PUBLIC.
GRANT USE OF TABLESPACE regtbs TO PUBLIC;