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.
-
I caratteri jolly saranno consentiti in tutte le parti del nome.
-
Il parametro
GLOBALSEXCLUDEWILDCARDOBJECTSONLYè supportato -
La parte del contenitore è valida solo nell'ambiente CDB nel nome in tre parti.
-
Il parametro
SOURCECATALOGavrà effetto quando la parte del catalogo non viene specificata. -
La parte container deve essere specificata se
SOURCECATALOGnon è specificato. -
Se viene specificata una parte contenitore, questa ha la precedenza su
SOURCECATALOG.
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 il nome della partizione non corrisponde ad alcun parametro
PARTITION, viene escluso. -
Se incluso dal parametro
PARTITION, le regole di esclusione vengono valutate a meno che non sia stato incluso da una regola di inclusione senza caratteri jolly e non sia stato specificatoEXCLUDEWILDCARDOBJECTSONLY.
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;