PARTICIÓN | PARTITIONEXCLUDE
Válido para
Extract, Distribution Service y Replicat. Solo para Oracle.
Descripción
Estos parámetros funcionan junto con los parámetros TABLE y TABLEEXCLUDE. Solo cuando se incluye una tabla, se evalúan las reglas de partición.
Para obtener coherencia, estos parámetros se comportan de forma muy similar a sus homólogos TABLE y TABLEEXCLUDE.
-
Se permitirá el uso de comodines en todas las partes del nombre.
-
El parámetro
GLOBALSEXCLUDEWILDCARDOBJECTSONLYestá soportado -
La parte del contenedor solo es válida en el entorno de CDB en el nombre de tres partes.
-
El parámetro
SOURCECATALOGse aplicará cuando no se especifique la parte del catálogo. -
La parte del contenedor se debe especificar cuando no se especifica
SOURCECATALOG. -
Si se especifica una parte del contenedor, tiene prioridad sobre
SOURCECATALOG.
Si la parte [container.]schema.table de cualquier regla PARTITION o PARTITIONEXCLUDE coincide con la tabla, solo se realizará un filtrado de particiones adicional.
Las reglas de filtrado de particiones se evalúan en el siguiente orden:
-
Si el nombre de la partición no coincide con ningún parámetro
PARTITION, se excluye. -
Si está incluido por el parámetro
PARTITION, las reglas de exclusión se evalúan a menos que haya sido incluido por una regla de inclusión sin comodines y se haya especificadoEXCLUDEWILDCARDOBJECTSONLY.
Si utiliza PARTITION o EXCLUDEPARTITION en Replicat, se debe utilizar el parámetro PARTITION para que el parámetro Extract TABLE escriba los metadatos de partición en el archivo de pista para que Replicat pueda procesarlos.
Nota: Se produce un error si un parámetro PARTITION o PARTITIONEXCLUDE tiene un número de partes no válido.
Sintaxis
PARTITION [<container>.]<schema.table.partition>;
PARTITIONEXCLUDE [<container>.]<schema.table.partition>;
Para las bases de datos que no son CDB, se deben especificar 3 partes (schema.table.partition).
Para la CDB, se deben especificar 4 partes (pdb.schema.table.partition) o 3 partes con un parámetro SOURCECATALOG anterior.
Ejemplos
En el siguiente ejemplo con operaciones DML en la partición P_Q4 de la tabla SH.SALES, la partición se incluye porque tanto las reglas de tabla como las de partición la incluyen.
TABLE
sh.sales;
PARTITION sh.sales*.p_q4;
En el siguiente ejemplo con operaciones DML en la partición P_Q4 de la tabla SH.SALES, todas las particiones se incluyen en el lado de Extract mediante los parámetros TABLE/PARTITION. La partición P_Q4 se excluye en el lado de Replicat mediante los parámetros MAP/PARTITIONEXCLUDE. Todos los demás cambios en las particiones son aplicados por Replicat.
TABLE sh.sales;
PARTITION sh.sales.p_q*;
MAP sh.sales, TARGET sh.sales;
PARTITION sh.sales.p_q4;
En el siguiente ejemplo con operaciones DML en la partición P_Q4 de la tabla SH.SALES, la partición P_Q4 se excluye porque solo es válida para la partición P_Q3 de SH.SALES:
TABLE
sh.sales;PARTITION
sh.sales*.p_q3;
El siguiente ejemplo con operaciones DML en la partición P_Q3 de SH.SALES muestra cómo se pueden especificar varias reglas de partición. La partición se incluirá porque coincide con una de las reglas de inclusión de partición.
TABLE
sh.sales;PARTITION
sh.sales.p_q3;PARTITION
sh.sales.p_q4;
En el siguiente ejemplo con operaciones DML en la partición P_Q4 de la tabla SH.SALES_HISTORY, la partición P_Q4 se excluye debido a la regla de exclusión de partición explícita.
TABLE
sh.sales_history
PARTITION sh.sales*.p_q4;
PARTITIONEXCLUDE sh.sales_history.p_q*;
En el siguiente ejemplo con operaciones DML en la partición P_S1 de la tabla SH.PRODUCTS, no se captura la partición PART_S1 ni la tabla completa SH.PRODUCTS porque no se hace referencia a la tabla SH.PRODUCTS.
TABLE
sh.sales;PARTITION
sh.products.p_s1;
En el siguiente ejemplo con operaciones DML en la partición P_Q4 de la tabla SH.SALES, la partición PART_S1 se incluye porque ninguna regla de partición tiene una parte de tabla que coincida con SH.SALES. Por lo tanto, no se evalúa ninguna regla de partición.
TABLE
sh.sales;
PARTITION sh.products.p_s1;