PARTITION | PARTITIONEXCLUE
Durée de validité
Extraction, service de distribution et réplication. Oracle uniquement.
Description
Ces paramètres fonctionnent conjointement avec les paramètres TABLE et TABLEEXCLUDE. Les règles de partition sont évaluées uniquement lorsqu'une table est incluse.
Par souci de cohérence, ces paramètres se comportent comme leurs homologues TABLE et TABLEEXCLUDE.
-
Le caractère générique sera autorisé dans toutes les parties de nom.
-
Le paramètre
GLOBALSEXCLUDEWILDCARDOBJECTSONLYest pris en charge -
La partie conteneur n'est valide que dans l'environnement de base de données Conteneur dans le nom en trois parties.
-
Le paramètre
SOURCECATALOGprend effet lorsque la partie de catalogue n'est pas indiquée. -
La partie de conteneur doit être spécifiée lorsque
SOURCECATALOGn'est pas spécifié. -
Si la partie de conteneur est indiquée, elle est prioritaire sur
SOURCECATALOG.
Si la partie [container.]schema.table d'une règle PARTITION ou PARTITIONEXCLUDE correspond à la table, seul un filtrage de partition supplémentaire est effectué.
Les règles de filtrage de partition sont évaluées dans l'ordre suivant :
-
Si le nom de la partition ne correspond à aucun paramètre
PARTITION, il est exclu. -
Si elles sont incluses par le paramètre
PARTITION, les règles d'exclusion sont évaluées, sauf si elles ont été incluses par une règle d'inclusion sans caractère générique et siEXCLUDEWILDCARDOBJECTSONLYa été spécifié.
Si vous utilisez PARTITION ou EXCLUDEPARTITION dans le processus Replicat, le paramètre PARTITION doit être utilisé pour que le paramètre d'extraction TABLE écrive les métadonnées de partition dans le fichier trace afin que le processus Replicat puisse le traiter.
Remarque : une erreur se produit si un paramètre PARTITION ou PARTITIONEXCLUDE comporte un nombre de parties non valide.
Syntaxe
PARTITION [<container>.]<schema.table.partition>;
PARTITIONEXCLUDE [<container>.]<schema.table.partition>;
Pour une base de données non Conteneur, 3 parties doivent être spécifiées (schema.table.partition).
Pour la base de données Conteneur, 4 parties doivent être spécifiées (pdb.schema.table.partition) ou 3 parties avec un paramètre SOURCECATALOG précédent.
Exemples
Dans l'exemple suivant avec les opérations DML sur la partition P_Q4 de la table SH.SALES, la partition est incluse car les règles de table et de partition l'incluent.
TABLE
sh.sales;
PARTITION sh.sales*.p_q4;
Dans l'exemple suivant avec les opérations DML sur la partition P_Q4 de la table SH.SALES, toutes les partitions sont incluses du côté de l'extraction à l'aide des paramètres TABLE/PARTITION. La partition P_Q4 est exclue du côté de la réplication à l'aide des paramètres MAP/PARTITIONEXCLUDE. Toutes les autres modifications apportées aux partitions sont appliquées par la réplication.
TABLE sh.sales;
PARTITION sh.sales.p_q*;
MAP sh.sales, TARGET sh.sales;
PARTITION sh.sales.p_q4;
Dans l'exemple suivant avec les opérations DML sur la partition P_Q4 de la table SH.SALES, la partition P_Q4 est exclue car elle n'est valide que pour la partition P_Q3 de SH.SALES :
TABLE
sh.sales;PARTITION
sh.sales*.p_q3;
L'exemple suivant avec les opérations DML sur la partition P_Q3 de SH.SALES montre comment plusieurs règles de partition peuvent être spécifiées. La partition sera incluse car elle est mise en correspondance par l'une des règles d'inclusion de partition.
TABLE
sh.sales;PARTITION
sh.sales.p_q3;PARTITION
sh.sales.p_q4;
Dans l'exemple suivant avec les opérations DML sur la partition P_Q4 de la table SH.SALES_HISTORY, la partition P_Q4 est exclue en raison d'une règle d'exclusion de partition explicite.
TABLE
sh.sales_history
PARTITION sh.sales*.p_q4;
PARTITIONEXCLUDE sh.sales_history.p_q*;
Dans l'exemple suivant avec les opérations DML sur la partition P_S1 de la table SH.PRODUCTS, ni la partition PART_S1 ni la table complète SH.PRODUCTS ne sont capturées car la table SH.PRODUCTS n'est pas référencée.
TABLE
sh.sales;PARTITION
sh.products.p_s1;
Dans l'exemple suivant avec les opérations DML sur la partition P_Q4 de la table SH.SALES, la partition PART_S1 est incluse car aucune règle de partition n'a de partie de table correspondant à SH.SALES. Par conséquent, aucune règle de partition n'est évaluée.
TABLE
sh.sales;
PARTITION sh.products.p_s1;