- Este tópico contém 3 respostas, 3 vozes e foi atualizado pela última vez 15 anos, 9 meses atrás por
reba.
-
AutorPosts
-
5 de março de 2010 às 10:28 pm #92983
reba
ParticipanteBoa tarde pessoal..
gostaria de saber se é possivel realizar o seguinte ato:
– Realizei um backup de um schema gerando um dmp.
– Executei uns comandos no banco de dados e esses comandos acabaram estragando o banco de dados.
– Gostaria de restaurar o arquivo dmp gerado anteriormente emcima do banco que tem problemas, sendo que os mesmos possuem a mesma estrutura de banco e a mesma quantidade de registros.Minha pergunta é: É possivel restaurar um dmp emcima de um schema ja existente ou melhor executar um IMP emcima de um schema que ja possui a mesma estrutura de banco de dados e registros?
Tentei realizar esse procedimento, mas no momento do IMP, ocorre erros que as tabelas e registram ja existem!
Fico no aguardo de um retorno.
5 de março de 2010 às 10:46 pm #92984Regis Araujo
ParticipanteFala Reba.. Boa tarde..!
Vc só consegue fazer isto se não existirem linhas nas tabelas que estão neste banco e/ou nao existirem constraints..
Mas assim vc só iria importar novamente as linhas existentes.. gerando duplicidade de informações e não resolvendo seu problema!
O IMP/EXP só serve para novas bases e/ou bases ja existentes sem linhas ou para complementar as linhas que ja existem.. bastaria vc colocar o parametro IGNORE=Y no IMP q ele somente iria importar as linhas…!!!
Mas verifica se realmente vc precisa subir um backup.. as vezes, dependendo de quanto tempo que foi realizado este update.. vc pode usar a opção AS OF TIMESTAMP em suas tabelas e restaurar os valores antes dos updates..!! Mas isto só vai ser possível se o seu parametro undo_retention estiver configurado com valor acima do tempo entre os updates e o sysdate..!!
Qualquer coisa.. vai postando ai que lhe ajudamos..!
Abraços..!
5 de março de 2010 às 11:14 pm #92986VitorLeandro
ParticipanteComo o Regis disse, o Flashback table ou flashback query são a melhor opção. Você fez alterações em muitas tabelas? Se não são tantas assim pode usar o flashback…
EX:
select *
from tabela
versions between SCN minvalue and maxvalue (verifica as alterações possiveis em flashback)
where….Ou Flashback da tabela toda:
FLASHBACK TABLE squema.tabela TO TIMESTAMP to_timestamp(‘2010-02-02 06:00:00’, ‘YYYY-MM-DD HH24:MI:SS’)
Caso tenha passado muito tempo, o jeito é o restore de backup. Daí você drop o squema (drop user “teste” cascade). Em seguida, importe somente este squema:
imp squema@conexão/senha DIRECTORY=exp DUMPFILE=backup.dmp SCHEMAS=”squema” NOLOGFILE=log.log
Veja o nome do diretório no log do exp que foi gerado. Veja tambem o dump foi gerado pelo EXP ou EXPDP, pois o comando é diferente.
Não custa tambem fazer um outro backup full antes do restore desse squema.
inté!
6 de março de 2010 às 12:32 am #92990reba
Participantebeleza galera.. brigadao pela forca!!
abracos!
-
AutorPosts
- Você deve fazer login para responder a este tópico.