Pular para o conteúdo
Visualizando 7 posts - 1 até 7 (de 7 do total)
  • Autor
    Posts
  • #94021
    thebranco
    Participante

      Pessoal 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

      #94023
      Marcos Braga
      Participante

        Olá 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
        Braga

        #94025
        marlontk
        Participante

          Cuidado 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
          Marlon

          #94027
          thebranco
          Participante

            OK pessoal entendi vou fazer os testes aki..
            obrigado

            #94072
            hudsona
            Participante

              Pessoal,

              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!!!!

              #95672
              Thiago Vilhena
              Participante

                Eu 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

                #95676
                Peterson
                Participante

                  Isso 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.

                Visualizando 7 posts - 1 até 7 (de 7 do total)
                • Você deve fazer login para responder a este tópico.