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.

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 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;