- Este tópico contém 8 respostas, 2 vozes e foi atualizado pela última vez 16 anos atrás por
VitorLeandro.
-
AutorPosts
-
9 de março de 2010 às 5:57 pm #93033
mpvargas
ParticipanteCaros 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.9 de março de 2010 às 6:02 pm #93034mpvargas
ParticipanteUm detalhe importante:
Já existe a tabela na base teste, preciso adicionar os dados9 de março de 2010 às 6:06 pm #93035VitorLeandro
ParticipanteCrie 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!
9 de março de 2010 às 6:35 pm #93037mpvargas
ParticipanteValeu 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
9 de março de 2010 às 6:50 pm #93040VitorLeandro
ParticipantePor 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).
9 de março de 2010 às 7:20 pm #93041mpvargas
ParticipanteValeu 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 vez9 de março de 2010 às 8:37 pm #93042VitorLeandro
ParticipanteTodas 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!
9 de março de 2010 às 9:13 pm #93044mpvargas
ParticipanteVitor,
Na verdade eu criei sem a opção “public”
Quanto ao acesso ao banco de desenvolvimento não há problema
No mais
Valeu pela ajuda9 de março de 2010 às 9:47 pm #93048VitorLeandro
ParticipanteBeleza então! Somente certifique-se que nenhum usuário não autorizado acesse o dblink!
Abraço!
-
AutorPosts
- Você deve fazer login para responder a este tópico.