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

      Pessoal alguém tem um script para realizar a recriação de sequences, estou precisando meio urgente, alguém pode dar uma mão.

      Att.

      Mpungan

      #103537
      Douglas Paiva de Sousa
      Participante

        Sequence não dá para recriar (como se fossem procedures, functions etc “CREATE OR REPLACE”), você tem que dropar e criar novamente. Se o problema for com relação a numeração das sequences você pode usar um comando chamado “ALTER SEQUENCE [SEQ_NAME] INCREMENT BY [NUMBER]”.

        Att,

        #103539
        mpungan
        Participante

          O que eu preciso é um script que pegue as sequences existentes num banco de produção e monte esse script para criar novamente essas sequences em outro banco. Ok. Se alguém tiver esse script e puder fornecer agradeço.

          Att.

          Mpungan

          #103547
          rman
          Participante

            @mpungan

            Você está tentando resolver o problema de um dump exportado sem o parâmetro CONSISTENT ?

            Já tive esse mesmo problema, ao invés de usar o parâmetro CONSISTENT do exp, migrei para o DataPump e utilizei o parâmetro FLASHBACK_TIME.

            Mas creio que utilizar o parâmetro CONSISTENT irá resolver o problema da sequence, evitando que você precise copiar da base de produção.

            #103549
            mpungan
            Participante

              Sim exatamente isso, fiz um export e deu problema nas sequence, então gostaria de ter um script para pode gerar a criação das sequences novamente, para tirar o problema da sequence. Estou fazendo o export com o parametros consistent=y, mas mesmo assim já tive problemas, então por isso que estou pedindo se alguém tem um script para mim pegar as sequences de produção e criar novamente na base de desenvolvimento. Se alguem tiver esse script por favor, não se acanhe em enviar. Desde já agradeço, pois montei um aqui e não sei se é o mais correto.

              Mpungan

              #103553
              rman
              Participante

                @mpungan

                Se você utiliza o Oracle 10g ou superior recomendo fazer o dump via DataPump e utilizar o parâmetro FLASHBACK_TIME. Isso vai resolver o problema, e o dump será consistente.

                Caso você insista em criar as sequence na mão, utilize a view DBA_SEQUENCES, nela você tem todas as informações para gerar a DDL de criação.

                #103560
                rman
                Participante

                  @mpungan

                  É possível também utilizar o pacote DBMS_METADATA:


                  SELECT 'SELECT DBMS_METADATA.GET_DDL(''SEQUENCE'','''||SEQUENCE_NAME||''','''||SEQUENCE_OWNER||''') FROM DUAL;' SQL
                  FROM DBA_SEQUENCES
                  WHERE SEQUENCE_OWNER = 'OWNER'

                  Execute o resultado da consulta acima para a geração da DDL.

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