Pular para o conteúdo

Fóruns Banco de dados Oracle Particionamento Particionamento

#91991
VitorLeandro
Participante

    Ok, só fazendo uma correção.

    Você pode criar partições de múltiplas colunas (Multiple Column Partition), porem deve ser do mesmo tipo.

    EX:

    CREATE TABLE TESTE
    ( CODIGO INTEGER
    TIPO INTEGER
    )

    PARTITION BY RANGE (CODIGO, TIPO)

    (
    PARTITION PART_1 VALUES LESS THAN(‘2000’,’1’)
    PARTITION PART_1 VALUES LESS THAN(‘2000’,’2’)
    PARTITION PART_2 VALUES LESS THAN(‘3000’,’1’)
    PARTITION PART_2 VALUES LESS THAN(‘3000’,’2’)
    PARTITION PART_3 VALUES LESS THAN(‘4000’,’1’)
    PARTITION PART_3 VALUES LESS THAN(‘4000’,’2’)
    PARTITION PART_4 VALUES LESS THAN(‘MAXVALUE’,’1’)
    PARTITION PART_4 VALUES LESS THAN(‘MAXVALUE’,’2’)
    )

    Essa funcionalidade eu já testei no 11G R2, não sei se funciona em outras versões.

    Vamos lá, é mais ou menos o que eu expliquei. Uma partição só pode ficar em uma única tablespace! Então você precisará escolher as partições que você deseja e então movê-las para as novas tablespaces, comando como eu expliquei acima.

    Alter table xxx

    move partition partXX tablespace tbs…

    Lembrando que o move, efetua um lock na partição, então sugiro que você faça isso numa manutenção programada!

    Outro detalhe, se você começar espalhar de mais os seus dados e partições em múltiplas tablespaces esperando performance, você provavelmente terá se utilizar estorages antigas em modo filesystem. Daí, você deverá ter tempo de sobre pra ficar alterando objetos de tablespace para outra… Uma solução simples seria migrar seu ambiente parar ASM, que efetua o balanceamente de carga e performance em um nível mais baixo da aplicação. Se você utiliza as novas teconologias de storages virtualizadas (EVA, EXADATA e outras) a própria storage faz esse papel, sem a sua interferência!!