Pular para o conteúdo
  • Este tópico contém 4 respostas, 5 vozes e foi atualizado pela última vez 16 anos, 1 mês atrás por Ricardo Portilho Proni.
Visualizando 5 posts - 1 até 5 (de 5 do total)
  • Autor
    Posts
  • #92580
    Shiono
    Participante

      Pessoal

      Boa tarde tenho que excluir registros da minha base sem gerar log, pois esta demorando muito

      Isto é possível?

      #92581
      Avatar photoRegis Araujo
      Participante

        Shiono..

        Coloque a tabela em modo nologging.. faça assim..

        alter table nologging;

        Isto faz com que qualquer alteração na tabela não gere log..

        Abraços..!

        #92586
        marcelomirandola
        Participante

          Acho que entendi de outra maneira. De qualquer forma, vai mais uma resposta:
          A alteração não seria na estrutura da tabela e sim nos dados correto?
          Ao deletar um registro de uma tabela ou efetuar qualquer alteração, para gravar um log é necessário criar um trigger, e para que este log não seja gravado, esta trigger deve ser desativada.

          #92606
          vieri
          Participante

            Crie uma tabela igual apenas com os registros que vc quer
            manter na mesma.

            create table as select * from tb where …..

            depois trunque a tabele e faça im insert as select de volta.

            avalie isso, deletes são custosos e isso não vai mudar.

            #92627
            Ricardo Portilho Proni
            Participante

              O meio mais rápido de fazer DELETE grande em Oracle é não faze-lo.
              Como o colega mostrou acima, a melhor saída é o CTAS.
              Segue outro exemplo:
              https://profissionaloracle.com.br/blogs/ … no-oracle/

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