ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

CREACION DE PARTICIONES


Enviado por   •  22 de Abril de 2019  •  Apuntes  •  1.030 Palabras (5 Páginas)  •  89 Visitas

Página 1 de 5

CREACION DE PARTICIONES

El paquete soporta generar nuevas particiones por Hash, Lista y Rango, soportando particiones compuestas. Además que puede generar particiones intermedias para el caso de las particiones por Rango realizando la detección automática del las partición superior para la operación de split.

Especificaciones

procedure add_partition(

    ownname in varchar2,

    tabname in varchar2,

    newparname in varchar2,

    newvalues in part_values,

    update_indexes in boolean default true);

  procedure add_partition(

    tabname in varchar2,

    newparname in varchar2,

    newvalues in part_values,

    update_indexes in boolean default true);

  procedure add_partition(

    ownname in varchar2,

    tabname in varchar2,

    newvalues in part_values,

    update_indexes in boolean default true);

  procedure add_partition(

    tabname in varchar2,

    newvalues in part_values,

    update_indexes in boolean default true);

  • ownname: Nombre del esquema, si se omite utiliza el propietario del paquete o el configurado en la sesión con: alter session set current_schema
  • tabname: Nombre de la tabla sobre la cual se creará la nueva partición.
  • newparname: Nombre de la partición que será generada. Si el parámetro se omite se genera un nombre basado en los valores de la llave de partición
  • newvalues: Arreglo PL-SQL para definir el criterio de particionamiento, para particiones por HASH el atributo debe ser nulo.
  • update_indexes: Permite actualizar los índices durante la creación de la partición para que no quede invalida.

Particionamiento por Hash

Genera la tabla tabla_hash con particionamiento por HASH

create table tabla_hash (

  f1 number not null,

  f2 varchar2(20) not null

  ) partition by hash (f1) (

    partition hash1,

    partition hash2

  );

create index idx_tabla_hash on tabla_hash (f1) local;

Generar nueva particion HASH3 para la tabla tabla_hash, para el caso especifico de este tipo de particionamiento es necesario siempre especificar el nombre de la partición.

begin

  partmgr.add_partition(

    tabname => 'TABLA_HASH',

    newparname => 'HASH3');

end;

/

Particionamiento por Lista

Se soporta particionamiento por lista y lista compuesta. Como ejemplo se genera la siguiente tabla particionada por lista.

create table tabla_lista_1 (

  f1 char(1) not null,

  f2 varchar2(30) not null

  ) partition by list (f1) (

    partition p_A values ('A'),

    partition p_B values ('B')

  );

Para agregar otra partición es muy similar al particionamiento por HASH solo que se tiene que especificar el criterio de particionamiento. A través del parámetro newvalues que es del tipo de dato de part_values.

begin

  partmgr.add_partition(

    tabname => 'TABLA_LISTA_1',

    newparname => 'P_C',

    newvalues => part_values(

      partmgr.val('C'))

    );

end;

/

El tipo de dato part_values permite asignar un criterio de particionamiento respetando el tipo de dato que se utilizará para evaluar y comparar con otras particiones existentes, es muy importante que el criterio de particionamiento respete el tipo de datos de la partición, como se ve en el ejemplo anterior, el criterio de particionamiento es de tipo CHAR y el valor introducido en el procedimiento PARTMGR.ADD_PARTITION es de tipo CHAR/VARCHAR2 partmgr.val('C')

En el siguiente ejemplo se crea una partición un tipo de dato NUMBER.

...

Descargar como (para miembros actualizados)  txt (6.5 Kb)   pdf (137 Kb)   docx (11.9 Kb)  
Leer 4 páginas más »
Disponible sólo en Clubensayos.com