- Este tópico contém 6 respostas, 6 vozes e foi atualizado pela última vez 15 anos, 7 meses atrás por
Peterson.
-
AutorPosts
-
15 de maio de 2010 às 8:10 pm #94021
thebranco
ParticipantePessoal tenho algumas tabelas criadas aqui no meu owner que estão alocadas no tablespace SYSTEM lendo em um curso via cd ron da Oracle que diz que não é recomendado criar tabelas no tablespace SYSTEM …
minha pergunta é:
Criei um novo tablespace, tem como passar estas tabelas e objetos que estão no tablespace SYSTEM para este novo tablespace ?outra coisa nesse table space que eu crie quando eu executo uma instrução ex. um create table, ao adicionar uma constraint ex. uma primary key ele da o erro ORA- 01658 não é possível criar a extensão INITIAL para o segmento no espaço de trabalho BRANCO.
Grato
17 de maio de 2010 às 1:09 am #94023Marcos Braga
ParticipanteOlá thebranco,
Sim, há como mover as tabelas criadas para outro tablespace; utilize MOVE, observe:
SQL> alter table NOME_DA_TABELA tablespace NOME_DA_TABLESPACE;O erro que reportou pode estar associado a permissão. Não informou se deu permissões de quota na nova tablespace para o seu usuário. Observe como passar, caso não tenha passado:
SQL> alter user NOME_DO_USUSARIO quota unlimited on NOME_DA_TABLESPACE;Creio que é isso.
[]s
Braga17 de maio de 2010 às 4:43 pm #94025marlontk
ParticipanteCuidado pois quando movemos uma tabela para outra tablespace nossas primary keys ficam invalidas pelo menos no Connected to Oracle9i Release 9.2.0.1.0
Exemplo
SQL> create table marlon (
2 codigo number(5) not null,
3 descricao varchar2(25) not null);Table created
SQL> alter table marlon add constraint pk_marlon primary Key(codigo);
Table altered
SQL> alter table marlon move tablespace teste;
Table altered
SQL> insert into marlon values(1,’ ‘);
1 row inserted
SQL> commit;
Commit complete
SQL> alter table marlon move tablespace estoque;
Table altered
SQL> insert into marlon values(2,’ ‘);
insert into marlon values(2,’ ‘)
ORA-01502: índice ‘ESTOQUE.PK_MARLON’ ou a sua partição está em estado não-utilizável
para resolver
SQL> alter index pk_marlon rebuild;
Index altered
SQL> insert into marlon values(2,’ ‘);
1 row inserted
Atenciosamente
Marlon17 de maio de 2010 às 4:49 pm #94027thebranco
ParticipanteOK pessoal entendi vou fazer os testes aki..
obrigado19 de maio de 2010 às 3:31 am #94072hudsona
ParticipantePessoal,
Sempre que executamos um move, para movimentar objetos entre tablespaces,
È obrigatório executar um rebuild dos indexes.
Depois de um rebuild a arvore fica totalmente desorganizada, e o rebuild é obrigatorio.
Sempre!!!!25 de agosto de 2010 às 2:14 am #95672Thiago Vilhena
ParticipanteEu iria mais longe ainda….
Após realizar o move para a tablespace desejada, realizaria, os Rebuilds dos objetos e o Analyzed utilizando a DBMS_STATS
Abraçao a todos
25 de agosto de 2010 às 4:16 pm #95676Peterson
ParticipanteIsso acontece porque os índices fazem referência aos ROWIDS dos registros e uma vez que você os re-aloque em outra tablespaces, os ROWIDS serão alterados.
-
AutorPosts
- Você deve fazer login para responder a este tópico.