PARTIZIONE | PARTITIONEXCLUDE

Valido per

Extract, Distribution Service e Replicat. Solo Oracle.

Descrizione

Questi parametri funzionano insieme ai parametri TABLE e TABLEEXCLUDE. Solo quando viene inclusa una tabella, vengono valutate le regole di partizione.

Per coerenza, questi parametri si comportano in modo molto simile alle loro controparti TABLE e TABLEEXCLUDE.

Se la parte [container.]schema.table di una regola PARTITION o PARTITIONEXCLUDE corrisponde alla tabella, verrà eseguito solo un ulteriore filtro delle partizioni.

Le regole di filtro delle partizioni vengono valutate nel seguente ordine:

Se si utilizza PARTITION o EXCLUDEPARTITION in Replicat, il parametro PARTITION deve essere utilizzato per il parametro Extract TABLE per scrivere i metadati della partizione nel file trail in modo che Replicat possa elaborarlo.

Nota: si verifica un errore se un parametro PARTITION o PARTITIONEXCLUDE contiene un numero di parti non valido.

Sintassi

PARTITION [<container>.]<schema.table.partition>;
PARTITIONEXCLUDE [<container>.]<schema.table.partition>;

Per i non CDB, è necessario specificare 3 parti (schema.table.partition).

Per il CDB, è necessario specificare 4 parti (pdb.schema.table.partition) o 3 parti con un parametro SOURCECATALOG precedente.

Esempi

Nell'esempio seguente con le operazioni DML sulla partizione P_Q4 della tabella SH.SALES, la partizione viene inclusa poiché entrambe le regole di tabella e partizione la includono.

TABLE
  sh.sales;
  PARTITION sh.sales*.p_q4;

Nell'esempio seguente con le operazioni DML sulla partizione P_Q4 della tabella SH.SALES, tutte le partizioni vengono incluse sul lato Extract utilizzando i parametri TABLE/PARTITION. La partizione P_Q4 viene esclusa sul lato Replicat utilizzando i parametri MAP/PARTITIONEXCLUDE. Tutte le altre modifiche alle partizioni vengono applicate da Replicat.

TABLE sh.sales;
  PARTITION sh.sales.p_q*;
MAP sh.sales, TARGET sh.sales;
  PARTITION sh.sales.p_q4;

Nell'esempio seguente con le operazioni DML sulla partizione P_Q4 della tabella SH.SALES, la partizione P_Q4 viene esclusa perché è valida solo per la partizione P_Q3 di SH.SALES:

TABLE
   sh.sales;PARTITION
   sh.sales*.p_q3;

L'esempio seguente con le operazioni DML sulla partizione P_Q3 di SH.SALES mostra come è possibile specificare più regole di partizione. La partizione verrà inclusa perché corrisponde a una delle regole di inclusione della partizione.

TABLE
          sh.sales;PARTITION
          sh.sales.p_q3;PARTITION
          sh.sales.p_q4;

Nell'esempio seguente con le operazioni DML sulla partizione P_Q4 della tabella SH.SALES_HISTORY, la partizione P_Q4 viene esclusa a causa di una regola esplicita di esclusione della partizione.

TABLE
  sh.sales_history
  PARTITION sh.sales*.p_q4;
  PARTITIONEXCLUDE sh.sales_history.p_q*;

Nell'esempio seguente con le operazioni DML sulla partizione P_S1 della tabella SH.PRODUCTS, né la partizione PART_S1 né la tabella completa SH.PRODUCTS vengono acquisite perché alla tabella SH.PRODUCTS non viene fatto riferimento.

TABLE
  sh.sales;PARTITION
  sh.products.p_s1;

Nell'esempio seguente con le operazioni DML sulla partizione P_Q4 della tabella SH.SALES, la partizione PART_S1 è inclusa poiché nessuna regola di partizione ha una parte di tabella corrispondente a SH.SALES. Pertanto, non viene valutata alcuna regola di partizione.

TABLE
  sh.sales;
  PARTITION sh.products.p_s1;