Pular para o conteúdo
  • Este tópico contém 8 respostas, 5 vozes e foi atualizado pela última vez 16 anos atrás por Marcos Lucas Melo.
Visualizando 9 posts - 1 até 9 (de 9 do total)
  • Autor
    Posts
  • #93119
    flavynha
    Participante

      Pessoal,

      Bom dia,

      Estou com um duvida.

      Criei duas tablespace dentro de um banco chamado ORCL. Cada tablespace deveria receber sua base na hora que eu utilizei o imp, porém isto nao ocorre esta direcionando tudo para um unico arquivo- a tablespace baseum.

      Segue comandos:

      CREATE TABLESPACE “XXX_DATA”
      LOGGING
      DATAFILE ‘D:ORADATATESTEXXX_DATA.ORA’
      SIZE 10M REUSE AUTOEXTEND ON NEXT 5M
      MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL;

      CREATE TABLESPACE “XXX_INDEX”
      LOGGING
      DATAFILE ‘D:ORADATATESTEXXX_INDEX.ORA’
      SIZE 10M REUSE AUTOEXTEND ON NEXT 5M
      MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL;

      CREATE USER “XXX”
      IDENTIFIED BY “xxx”
      DEFAULT TABLESPACE “XXX_DATA”
      TEMPORARY TABLESPACE “TEMP”
      PROFILE DEFAULT ACCOUNT UNLOCK;
      GRANT “CONNECT” TO “XXX”;
      GRANT “DBA” TO “XXX”;
      GRANT UNLIMITED TABLESPACE TO “XXX”;
      ALTER USER “XXX” DEFAULT ROLE ALL;

      Criei como BASEUM e BASEDOIS.

      e o IMP

      imp baseum/baseum@orcl full=yes file=c:xxx.dmp
      imp basedois/basedois@orcl full=yes file=c:xxx.dmp

      Como que faço para que alterar a tablespace, com os indeces e tudo?

      Quem puder me ajudar agradeço!!!

      Flávia

      #93121
      hudsona
      Participante

        Flavia

        Se você estiver usando o 10g de preferiencia ao datapump.
        A forma mais simples é você criar os tablespaces com o mesmo nome
        dos tablespaces da base que você quer importar.

        No seu caso, você criou um usuário “xxx” definiu um tablespace padrão
        pra ele, mas não ta usando ele pra realizar a importação.

        Os dados estão indo para o tablespace padrão do usuário baseum.
        Você também pode usar a clausula abaixo para importar os dados,direto
        para o espaço padrão do seu usuário.
        fromuser=uwclass touser=abc

        Se usar o datapump, você pode usar a clausula remap_tablespace que é melhor
        para tablespaces com nomes diferentes.

        Abraços!!

        #93132
        Avatar photoRegis Araujo
        Participante

          Flavia, bom dia..!

          Se vc definiu para cada usuário uma tablespace diferente.. e quando fez o imp ele jogou tudo na mesma tablespace.. tem algo de errado ai.. pois se vc definir que o usuário A tem como tablespace B, quando forem criados objetos, eles serão direcinandos para a tablespace B e não para a tablespace C… Isto somente poderia acontecer se vc tivesse dentro do mesmo usuário 2 ou mais tablespaces..

          Tem certeza que vc não fez o import com o usuário SYSTEM ? Verifique dentro da view DBA_USERS quais as tablespaces que estão apontadas para casa usuário e quando for fazer import com o comando IMP, faça conforme o Hudson passou.. sempre colocando os parametros FROMUSER e TOUSER… ou via EXPDP que é o DATAPUMP que o Hudson explicou…!

          Qualquer dúvida… posta aqui..

          Abraços..

          #93144
          mpvargas
          Participante

            Oi Flavia,
            Conforme o Hudson mencionou, acredito que a clausula REMAP_TABLESPACE resolva o seu problema.

            #93149
            hudsona
            Participante

              Flavia

              Complementando o que eu disse, independente dessa sua necessidade, se o seu oracle for do 10g adiante, sempre de preferencia ao datapump(expdp,impdp) além de ser mais rapido, a performance dele é extremanente superio.

              abraços

              #93152
              Marcos Lucas Melo
              Participante

                Flavynha

                Por que você não tenta fazer

                exporte=sidbancoum

                imp baseum/baseum@orcl full=yes file=c:xxx.dmp

                após finalizar

                Exporte=sidbancodois
                imp basedois/basedois@orcl full=yes file=c:xxx.dm

                Espero que tenha ajudado.

                #93153
                flavynha
                Participante

                  Olá Hudson e MPVargas,

                  Bom dia!!!

                  O oracle que usp é o 10g Enterprise.
                  Não sei como fazer isso que voce me pediu, poderia me explicar como???

                  Obrigada!!!


                  Thunder,

                  Bom dia!!!

                  Quando eu rodo o imp eu especifico o usuário, nao fiz como system nao, fiz assim
                  imp baseum/baseum@orcl full=yes file=c:xxx.dmp
                  imp basedois/basedois@orcl full=yes file=c:xxx.dmp

                  Eu conectei no sql plus e rodei o comando;

                  select username, default_tablespace from dba_users where username=’BASEUM’

                  e esta direcionando pra tablespace correta e a basedois tb.

                  =/


                  Marcos,

                  Bom dia!!!

                  Este como comando que voce me passou é so digitar no cmd, export=sidbancoum???

                  Obrigada!!


                  Meninos, obrigada pela retorno de todos e desculpem eu so responder agora, sexta tive que fazer uma atualização de sistema de ultima hora e nao deu para olhar o forum.

                  Att.

                  Flávia

                  #93173
                  hudsona
                  Participante

                    Flavia

                    Faça o seguinte nesse link abaixo tem uma explicação boa sobre como fazer com o data pump, lê e se você nao entender alguma coisa, pergunta aqui ..
                    Como você usa o 10g é melhor você usar o datapump.

                    http://brunomurassaki.wordpress.com/200 … e-schemas/

                    Abraços!!

                    #93268
                    Marcos Lucas Melo
                    Participante

                      Ola Flavia

                      Sim esses comando que passei é para serem digitados no shell do sistema caso seja linux ou no terminal de comando do windows.

                      Att.

                      Marcos Lucas

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