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

      Boa 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.

      #92984
      Avatar photoRegis Araujo
      Participante

        Fala 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..!

        #92986
        VitorLeandro
        Participante

          Como 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é!

          #92990
          reba
          Participante

            beleza galera.. brigadao pela forca!!

            abracos!

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