DATAPARTITION

Utilisez l'option DATAPARTITION pour indiquer les partitions de données à décharger.

Restriction : Si l'option DATAPARTITION est utilisée pour une table non partitionnée, Optim™ High Performance Unload ignore l'option, et si l'une des partitions de données spécifiées n'existe pas dans la table actuelle, Optim High Performance Unload renvoie une erreur.
DATAPARTITION ID
Cette option correspond à la colonne DATAPARTITIONID des partitions de données des données déchargées. Elle permet de limiter le traitement aux partitions de données contenant les ID internes.
Syntaxe
DATAPARTITION ID (nn)
Variables
Liste de valeurs entières. Vous pouvez indiquer une valeur, une liste séparée par des virgules ou une plage de numéros de partition de données (numéros de début et de fin séparés par un deux-points). Par exemple, (5:9) indique les partitions de données dont les identifiants internes sont 5, 6, 7, 8 et 9.
Par défaut
Néant.
Exemple
Prenez en compte la définition de la table DOCUMENTS suivante :
CREATE TABLE DOCUMENTS (ID INTEGER, CONTENTS CLOB)
IN TBS1, TBS2
PARTITION BY RANGE (ID)
(STARTING 1 ENDING 1000 EVERY 100)
Considérons le contenu suivant du tableau d' SYSIBM.SYSDATAPARTITIONS, les espaces de tableau nommés TBS1 et TBS2 ayant respectivement les identifiants 5 et 6 :
select VARCHAR(DATAPARTITIONNAME, 10), VARCHAR(TABNAME,15), 
       DATAPARTITIONID, SEQNO, TBSPACEID 
       from sysibm.sysdatapartitions where tabname='DOCUMENTS'

1          2               DATAPARTITIONID SEQNO       TBSPACEID
---------- --------------- --------------- ----------- -----------
PART0      DOCUMENTS                     0           0           5
PART1      DOCUMENTS                     1           1           6
PART2      DOCUMENTS                     2           2           5
PART3      DOCUMENTS                     3           3           6
PART4      DOCUMENTS                     4           4           5
PART5      DOCUMENTS                     5           5           6
PART6      DOCUMENTS                     6           6           5
PART7      DOCUMENTS                     7           7           6
PART8      DOCUMENTS                     8           8           5
PART9      DOCUMENTS                     9           9           6

  10 record(s) selected.
Pour décharger uniquement les partitions dont les IDS internes sont 0, 5, 6 et 7, utilisez le fichier de contrôle suivant :
GLOBAL CONNECT TO SAMPLE;
UNLOAD TABLESPACE
SELECT * FROM DOCUMENTS; 
DATAPARTITION ID(0, 5:7)
OUTFILE("datapart_0_5_6_7.del")
FORMAT DEL;
Les partitions de données dont les IDS internes sont 0, 5, 6 et 7 sont déchargées dans le fichier d' datapart_0_5_6_7.del .
DATAPARTITION NAME
Cette option correspond à la colonne DATAPARTITIONNAME des partitions de données des données déchargées. Elle permet de limiter le traitement aux partitions de données qui contiennent les noms.
Syntaxe
DATAPARTITION NAME (datapartition_name)
Variables
Liste de noms de partition de données séparée par des virgules.
Par défaut
Néant.
Exemple
Considérons la définition de la table DOCUMENTS et le contenu de la table SYSIBM.SYSDATAPARTITIONS, décrits dans l'exemple DATAPARTITION ID. Pour décharger uniquement les partitions de données dont les IDS internes sont 0, 5, 6 et 7 avec l'option DATAPARTITION NAME, utilisez le fichier de contrôle suivant :
GLOBAL CONNECT TO SAMPLE;
UNLOAD TABLESPACE
SELECT * FROM DOCUMENTS; 
DATAPARTITION NAME(PART0,PART5,PART6,PART7)
OUTFILE("datapart_0_5_6_7.del")
FORMAT DEL;
Les partitions de données dont les IDS internes sont 0, 5, 6 et 7 sont déchargées dans le fichier d' datapart_0_5_6_7.del .
NUMÉRO DE LA PARTITION DE DONNÉES
Cette option correspond à la colonne SEQNO des partitions de données des données déchargées. Il permet de limiter le traitement aux partitions de données dont les numéros de séquence y sont répertoriés.
Syntaxe
DATAPARTITION NUM (nn)
Variables
Liste de valeurs entières. Vous pouvez indiquer une valeur, une liste séparée par des virgules ou une plage de numéros de partition de données (numéros de début et de fin séparés par un deux-points). Par exemple, (5:9) indique les partitions de données dont les numéros de séquence sont 5, 6, 7, 8 et 9.
Par défaut
Néant.
Exemple
Considérons la définition de la table DOCUMENTS et le contenu de la table SYSIBM.SYSDATAPARTITIONS, décrits dans l'exemple DATAPARTITION ID. Pour décharger uniquement les partitions de données dont les IDS internes sont 0, 5, 6 et 7 avec l'option DATAPARTITION NUM, utilisez le fichier de contrôle suivant :
GLOBAL CONNECT TO SAMPLE;
UNLOAD TABLESPACE
SELECT * FROM DOCUMENTS;
DATAPARTITION NUM (0, 5:7)
OUTFILE("datapart_0_5_6_7.del")
FORMAT DEL;
Les partitions de données dont les IDS internes sont 0, 5, 6 et 7 sont déchargées dans le fichier d' datapart_0_5_6_7.del.
DATAPARTITION TBSPACE
Cette option correspond au nom de l'espace table associé à la colonne TBSPACEID des partitions de données traitées. Elle permet de limiter le traitement aux partitions de données qui se trouvent dans les espaces table contenant les noms.
Syntaxe
DATAPARTITION TBSPACE (tablespace_name)
Variables
Liste de noms d'espace table séparés par des virgules.
Par défaut
Néant.
Exemple
Considérons la définition de la table DOCUMENTS et le contenu de la table SYSIBM.SYSDATAPARTITIONS, décrits dans l'exemple DATAPARTITION ID. Pour décharger uniquement les partitions de données dont les IDS internes sont 0, 2, 4, 6 et 8, situées dans l'espace de table nommé « TBS1 », utilisez le fichier de contrôle suivant :
GLOBAL CONNECT TO SAMPLE;
UNLOAD TABLESPACE
SELECT * FROM DOCUMENTS; 
DATAPARTITION TBSPACE (TBS1)
OUTFILE("datapart_0_2_4_6_8.del")
FORMAT DEL;
Les partitions de données dont les IDS internes sont 0, 2, 4, 6 et 8, situées dans l'espace de table nommé « TBS1 », sont déchargées dans le fichier « datapart_0_2_4_6_8.del ».

Exemple : Déchargement des partitions de données dans plusieurs fichiers de sortie

Pour décharger les partitions de données dans des fichiers de sortie distincts, vous devez utiliser la clause OUTFILE avec les mots-clés de modèle % {datapartition_id}, % {datapartition_name}, % {datapartition_num} ou % {datapartition_tbspace}.

Par exemple, étudiez la définition de table SALES_DP :
CREATE TABLE SALES_DP(invoice_date date, 
                      inv_month int NOT NULL, 
                      inv_year INT NOT NULL, 
                      item_id int NOT NULL,
                      cust_id int NOT NULL) 
PARTITION BY RANGE (inv_year, inv_month)
(PART Q1_02 STARTING (2002,1) ENDING (2002, 3) INCLUSIVE,
 PART Q2_02 ENDING (2002, 6) INCLUSIVE,
 PART Q3_02 ENDING (2002, 9) INCLUSIVE,
 PART Q4_02 ENDING (2002,12) INCLUSIVE,
 PART CURRENT ENDING (MAXVALUE, MAXVALUE))
Considérons le contenu suivant d'une table d' SYSIBM.SYSDATAPARTITIONS s :
select VARCHAR(DATAPARTITIONNAME, 10), VARCHAR(TABNAME,15), DATAPARTITIONID from sysibm.sysdatapartitions where tabname='SALES_DP'

1          2               DATAPARTITIONID
---------- --------------- ---------------
Q1_02      SALES_DP                      0
Q2_02      SALES_DP                      1
Q3_02      SALES_DP                      2
Q4_02      SALES_DP                      3
CURRENT    SALES_DP                      4

  5 record(s) selected.
Si vous souhaitez décharger les partitions de données Q1_02 et Q2_02 uniquement et que vous souhaitez décharger chacune de ces partitions de données dans un fichier distinct, vous pouvez utiliser le fichier de contrôle suivant :
GLOBAL CONNECT TO SAMPLE;
UNLOAD TABLESPACE
SELECT * FROM DOCUMENTS; 
DATAPARTITION NAME(Q1_02, Q2_02)
OUTFILE("datapart.del.%{datapartition_name}")
FORMAT DEL;
Pour ce fichier de contrôle, Optim High Performance Unload crée les fichiers suivants sur l'hôte actuel :
  • datapart.del.Q1_02 avec des données provenant de la partition de données Q1_02
  • datapart.del.Q2_02 avec des données provenant de la partition de données Q2_02