Adicionando uma nova SUBPARTIÇÃO

DBA Geral (instalação, configuração do banco, scripts do Sql*Plus, shell scripts, batch scripts, etc...)
Responder
cleberz
Rank: Analista Pleno
Rank: Analista Pleno
Mensagens: 107
Registrado em: Ter, 15 Nov 2011 8:42 am

Boa tarde,

Eu tenho uma tabela particionada. são varias partiçoes, como mostra o exemplo abaixo:

CREATE TABLE TABLE1
(COL1 VARCHAR2(5 BYTE),
COL2 DATE,
COL3 VARCHAR2(3 BYTE)
) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255
STORAGE(
BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
TABLESPACE "TBS1
PARTITION BY RANGE (COL1) INTERVAL (NUMTODSINTERVAL(1,'DAY'))
SUBPARTITION BY LIST (COL2)
SUBPARTITION TEMPLATE (
SUBPARTITION "SUBPART_A" VALUES ( 'AB1' ),
SUBPARTITION "SUBPART_B" VALUES ( 'AB2' ),
SUBPARTITION "SUBPART_C" VALUES ( 'AB3' ),
SUBPARTITION "SUBPART_D" VALUES ( 'AB4' ),
SUBPARTITION "SUBPART_E" VALUES ( 'AB5' ),
SUBPARTITION "SUBPART_DEFAULT" VALUES ( DEFAULT ) )
(PARTITION "BEFORE_2011" VALUES LESS THAN (TO_DATE(' 2011-07-31 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255
STORAGE(
BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
TABLESPACE "TBS"
( SUBPARTITION "BEFORE_2011_SUBPART_A" VALUES ('ABA1')
TABLESPACE "TBS1"
NOCOMPRESS ,
SUBPARTITION "BEFORE_2011_SUBPART_B" VALUES ('ABA2')
TABLESPACE "TBS1"
NOCOMPRESS ,
SUBPARTITION "BEFORE_2011_SUBPART_C" VALUES ('ABA3')
TABLESPACE "TBS1"
NOCOMPRESS ,
SUBPARTITION "BEFORE_2011_SUBPART_D" VALUES ('ABA4')
TABLESPACE "TBS1"
NOCOMPRESS ,
SUBPARTITION "BEFORE_2011_SUBPART_E" VALUES ('ABA5')
TABLESPACE "TBS1"
NOCOMPRESS ,
SUBPARTITION "BEFORE_2014_SUBPART_DEFAULT" VALUES (DEFAULT)
TABLESPACE "TBS1"
NOCOMPRESS ) ) ;


Eu quero incluir mais uma subpartição, porem não estou conseguindo por causa deste erro:

Erro de SQL: ORA-14621: não é possível adicionar subpartição quando existe uma subpartição DEFAULT
14621. 00000 - "cannot add subpartition when DEFAULT subpartition exists"
*Cause: An ADD SUBPARTITION operation cannot be executed when a
subpartition with DEFAULT values exists
*Action: Issue a SPLIT of the DEFAULT subpartition instead



Aguém tem alguma idéia para me ajudar nisso, por favor?
cleberz
Rank: Analista Pleno
Rank: Analista Pleno
Mensagens: 107
Registrado em: Ter, 15 Nov 2011 8:42 am

Bom dia pessoal,

Consegui aqui com o comando abaixo:

ALTER TABLE TABLE_NAME
SET SUBPARTITION TEMPLATE
( SUBPARTITION "SUBPART_A1" VALUES ( 'A1' ),
SUBPARTITION "SUBPART_DEFAULT" VALUES ( DEFAULT ));
/
ALTER TABLE TABLE_NAME split
SUBPARTITION "BEFORE_2011" VALUES ('A1')
into (SUBPARTITION "BEFORE_2011_SUBPART_A1", SUBPARTITION BEFORE_2011_SUBPART_DEFAULT);
/


Se alguém um dia precisar, está aí.

Valeu!!
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 4 visitantes