- Este tópico contém 6 respostas, 3 vozes e foi atualizado pela última vez 13 anos, 7 meses atrás por
rman.
-
AutorPosts
-
4 de maio de 2012 às 9:07 pm #103536
mpungan
ParticipantePessoal 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
4 de maio de 2012 às 9:25 pm #103537Douglas Paiva de Sousa
ParticipanteSequence 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,
4 de maio de 2012 às 9:56 pm #103539mpungan
ParticipanteO 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
4 de maio de 2012 às 11:08 pm #103547rman
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.
5 de maio de 2012 às 12:38 am #103549mpungan
ParticipanteSim 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
7 de maio de 2012 às 5:12 pm #103553rman
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.
7 de maio de 2012 às 10:06 pm #103560rman
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.
-
AutorPosts
- Você deve fazer login para responder a este tópico.