Création d'une base de données DB2 sous Linux ou UNIX
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).
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.
Les étapes suivantes contiennent un exemple de script permettant de créer une base de données DB2, de créer un espace table utilisateur temporaire et d'accorder les droits d'utilisation de tous les espaces table à PUBLIC.
-
Créez un script afin de créer la base de données.
Remarque :
Le nom d'une base de données utilisé pour stocker une géodatabase ne peut pas contenir de caractères spéciaux.
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.
db2 -tvf <script.clp> 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 '/db2_data/mysdedb/regtbs' 125000); CREATE LONG TABLESPACE lobtbs PAGESIZE 4 K MANAGED BY DATABASE USING ( FILE '/db2_data/mysdedb/lobtbs' 51200); CREATE USER TEMPORARY TABLESPACE sdespace PAGESIZE 4 K MANAGED BY SYSTEM USING ('/db2_data/mysdedb/sdespace' ); GRANT USE OF TABLESPACE regtbs TO PUBLIC; GRANT USE OF TABLESPACE lobtbs TO PUBLIC; GRANT USE OF TABLESPACE sdespace TO PUBLIC; GRANT DBADM ON DATABASE mysdedb TO USER SDE; UPDATE DATABASE CONFIGURATION FOR mysdedb USING APP_CTL_HEAP_SZ 2048; UPDATE DATABASE CONFIGURATION FOR mysdedb USING APPLHEAPSZ 2048; UPDATE DATABASE CONFIGURATION FOR mysdedb 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;
Après la création de la base de données, vous devez la spatialiser. Pour plus d'informations, voir Spatialisation d'une base de données DB2.