Pular para o conteúdo
Visualizando 4 posts - 1 até 4 (de 4 do total)
  • Autor
    Posts
  • #98389
    Peterson
    Participante

      Bom dia amigos,

      Tenho um banco 10.2.0.5…

      Tenho uma tablespace bigfile com 80G. Nessa tablespace, tenho 2 schemas que gravam dados nela…

      Excluí um desses schemas. Pesquisando o espaço usado e livre no datafile, tenho agora 35G livres…

      Tento dar um RESIZE na tablespace e recebo o erro

      ERRO na linha 1:
      ORA-03297: o arquivo contÚm dados usados alÚm do valor solicitado de RESIZE

      Blz, sei que há objetos espalhados pela tablespace e não posso fazer um resize dela.

      Sei também que uma maneira de resolver esse problema é exportar os objetos dessa tablespace, dropá-los, fazer o resize e depois importá-los denovo.

      A dúvida é: Tem outra maneira de fazer isso? Se sim, qual?

      #98390
      Marcos Braga
      Participante

        Oi Peterson,

        Uma forma mais simplista é criar uma nova tablespace e efetuar um MOVE de todos os objetos da tablespace atual para a nova.

        Ao final, verifique os índices, pois poderão ficar com status INVALID (para arrumar, efetue um REBUILD ONLINE).

        Altere também a tablespace default para o usuário do schema.

        Quando finalizar o processo, altere o nome da velha tablespace para OLD e o nome da nova tablespace para o nome da velha tablespace (isso é quase um efeito estético, só para deixar as coisas como estavam antes).

        Assim que finalizar esse procedimento, verifique na DBA_SEGMENTS se realmente não há mais nada na tablespace antiga e pode apagá-la (utilize INCLUDING CONTENTS AND DATAFILES no drop da tablespace).

        Esse MOVE tem o mesmo efeito de uma importação, mas dá para fazer com o banco online.

        []s
        Braga

        #98391
        burga
        Participante

          E aí Peterson,

          Vê se esse tópico te ajuda.

          http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:7149039425561

          Tom,
          We have recently upgraded to Oracle 10g and as part of the upgrade process we converted also large
          table (30Gb) into partitioned one by doing insert select… old table after this was dropped. As
          result, tablespace which contained these tables become blown up to 60Gb and I believe has structure
          like ffffffuuuuuu as older table was removed. Is there any way of reducing datafile back to 30Gb? I
          understand that alter table move can do the trick, but will table be accessible during this
          operation (there are some long running processes accessing this table almost constantly)? Is there
          other ways to do this?
          Thanks.

          Followup September 1, 2004 – 8pm Central time zone:

          with 10g you have an easier online “reorg” process with dbms_redefinition — you would have to move
          this to another tablespace, and then just drop this one.

          so, either online reorg or offline reorge but in anycase — if you have the ffffffuuuuuu in a
          datafile — it will take a reorg to “reclaim”

          Hint: when rebuilding in the future, rebuild into a new tablespace. In 10g you can even rename a
          tablespace to put it back after you drop the old if you like.

          Abraços,

          #98392
          Peterson
          Participante

            amigos, obrigado pela ajuda!

            Vou aplicar as sugestões de vocês!

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