- Este tópico contém 6 respostas, 3 vozes e foi atualizado pela última vez 15 anos, 1 mês atrás por
braza.
-
AutorPosts
-
25 de janeiro de 2011 às 3:23 pm #97947
braza
ParticipanteBom dia,
Estou particionando uma tabela em 6 partições.
Como faço para particionar a chave primária desta tabela ???
OBS.:
Estou usando o oracle 10gR2. Ambiente Windows.
Obrigado.
25 de janeiro de 2011 às 4:14 pm #97950hudsona
ParticipanteFala Braza,
Voce quer criar um tabela particionada utilizando a chave primaria como condição da partiçao é isso ?
abs
25 de janeiro de 2011 às 5:06 pm #97952braza
Participante[quote=”hudsona”:28j9dx9x]Fala Braza,
Voce quer criar um tabela particionada utilizando a chave primaria como condição da partiçao é isso ?
abs[/quote]
Não.
A chave de partição não faz parte da chave primária.
Qdo eu crio uma pk o oracle cria um índice com o mesmo nome. Acontece que esse índice está sendo criado em um único tablespace. Eu queria que ele fosse criado nas partições de índices. Eu tenho 4 partições para receber os índices e queria que o índice da chave primária fosse para essas partições.
Os demais índices eu consigo numa boa. o da pk não estou sabendo fazer.
Como eu devo fazer isso ???
25 de janeiro de 2011 às 5:32 pm #97953leandrolbs
Participantevamos tratar a palavra partição como tablespace ok ?. (entendi assim..rs).
para mover o index de tablespace execute o comando:
alter index owner.index_name rebuild tablespace TBLSPA_INDEX;
Validate index index_name;
para mover tabelas:
ALTER TABLE OBJECT_NAME MOVE TABLESPACE TBLSPA_TABLS;
25 de janeiro de 2011 às 8:59 pm #97958braza
Participante[quote=”leandrolbs”:1568n2z5]vamos tratar a palavra partição como tablespace ok ?. (entendi assim..rs).
para mover o index de tablespace execute o comando:
alter index owner.index_name rebuild tablespace TBLSPA_INDEX;
Validate index index_name;
para mover tabelas:
[/quote]
ALTER TABLE OBJECT_NAME MOVE TABLESPACE TBLSPA_TABLS;
Se eu quisesse que esse índice ficasse distribuído entre os tablespaces (t_idx_01,t_idx_02,t_idx_03,t_idx_04). A tabela está particionada em 4 partições. Cada partição tem o seu tablespace. eu quero criar este índice local para outras 4 partições de índice.
eu poderia fazer:
alter index owner.index_name rebuild tablespace in (t_idx_01,t_idx_02,t_idx_03,t_idx_04);
Validate index index_name;25 de janeiro de 2011 às 9:31 pm #97959hudsona
ParticipanteChaves primarias não podem ser particionadas !!!!.
Pensei que queria criar uma tabela utilizando a pk com condiçao da partiçao.
Tom Kyte explica o porque disso :
http://asktom.oracle.com/pls/asktom/f?p … 1227819236
25 de janeiro de 2011 às 10:13 pm #97963braza
Participante[quote=”hudsona”:3rq3bbmm]Chaves primarias não podem ser particionadas !!!!.
Pensei que queria criar uma tabela utilizando a pk com condiçao da partiçao.
Tom Kyte explica o porque disso :
http://asktom.oracle.com/pls/asktom/f?p … 1227819236[/quote]
Sendo assim. Ok.
Obrigado.
-
AutorPosts
- Você deve fazer login para responder a este tópico.