Pular para o conteúdo
  • Este tópico contém 8 respostas, 2 vozes e foi atualizado pela última vez 16 anos atrás por VitorLeandro.
Visualizando 9 posts - 1 até 9 (de 9 do total)
  • Autor
    Posts
  • #93033
    mpvargas
    Participante

      Caros Amigos,

      Preciso transferir uma tabela, da base de produção para a base teste, só que tenho que transferir somente os registros referentes ao ano de 2009 utilizando uma query.
      Qual a melhor forma de fazer isso?
      Obrigado pela ajuda.

      #93034
      mpvargas
      Participante

        Um detalhe importante:
        Já existe a tabela na base teste, preciso adicionar os dados

        #93035
        VitorLeandro
        Participante

          Crie um db-link para o banco de desenvolvimento e em seguida faça os inserts adicionano @nome_do_dblink à tabela…

          Exemplo:
          create public database link “NOME_DBLINK_DESENVOLVIMENTO”
          connect to “SQUEMA_DESTINO”
          identified by “SENHA”
          using ‘SID-DESTINO’;

          Té mais!

          #93037
          mpvargas
          Participante

            Valeu Vitor
            Pensei nessa opção, mas eu sempre me enrolo com o dblink…

            Por exemplo, esse comando que vc me passou eu executo no banco de produção ou no banco de desenvolvimento

            Outra duvida, tenho que criar um usuário específico para usar o dblink

            Obrigado pela ajuda

            #93040
            VitorLeandro
            Participante

              Por questões de segurança, crie o DBlink no banco de produção, apontando para o de desenvolvimento (Sujestão).

              • Você executa no banco de produção a criação do dblink, verificando se no tnsnames de produção existe um “alias” apontando para o desenvolvimento. Se não tiver, acrescente.

              O usuário pode ser o do proprio squema ao qual a tabela é propriedade.

              Digamos que você vai carregar a tabela HR.JOBS de desenvolvimento. Então o squema será HR e a senha será correspondente a esse usuário em desenvolvimento, entendeu? Você não precisa criar um usuário para o DBLink, faça com que ele conect ao usuário de destino (desenvolvimento) já existente e, após a carga, drop o dblink.

              Faça conforme as instruções, e vá postando os problemas. Detalhe, no script eu coloquei um dblink púiblico, ou seja, enquento ele estiver existindo, todos os usuário de produção poderão acessa-los. (Só para constar mesmo).

              #93041
              mpvargas
              Participante

                Valeu Vitor, deu certo
                Agora eu posso fazer o insert direto na tabela do banco de desenvolvimento?
                E o dblink, posso deixar criado?
                Obrigado mais uma vez

                #93042
                VitorLeandro
                Participante

                  Todas as operações podem ser utilizadas com se fosse o próprio banco, ou seja, inserts, updates, deletes, selects…

                  Pode deixar criado, mas todo mundo que acesse a produção por meio de client sql, pode acessar o banco de desenvolvimento (através do dblink) com todos os grants ao usuário qual vc se conectou.

                  Uma solução mais apurada, seria criar o dblink sem o plublic, criando sinonimos e grants para cada objeto a acessar.

                  Mas se não houver problema de restrição ao banco de desenvolvimento, pode deixar criado!

                  Abs!

                  #93044
                  mpvargas
                  Participante

                    Vitor,
                    Na verdade eu criei sem a opção “public”
                    Quanto ao acesso ao banco de desenvolvimento não há problema
                    No mais
                    Valeu pela ajuda

                    #93048
                    VitorLeandro
                    Participante

                      Beleza então! Somente certifique-se que nenhum usuário não autorizado acesse o dblink!

                      Abraço!

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