Conectar em um DB para atualizar tabela de outro DB

DBA Geral (instalação, configuração do banco, scripts do Sql*Plus, shell scripts, batch scripts, etc...)
Responder
MarioMedeiros
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 15
Registrado em: Sex, 15 Jun 2018 7:22 pm

Bom dia a todos, preciso de ajuda para a seguinte questão:

Preciso rodar de forma automática uma trigger ou uma view que seja independente da participação do usuário, e com base em um campo comum seja possível buscar a informação e atualizar em outro banco de dados, esta execução poderá ser a cada 5 minutos ou a cada minuto.

De forma detalhada é:

Tenho campo X tabela A que é uma chave, após realizado as transmissão estas informações vão para outro servidor que por sua vez não retorna mais por se tratar de um servidor de prestador de serviço e fica lá.
Pretendemos é que esta informação seja mandada de volta partindo de uma trigger ou view partindo de nosso servidor com este campo X encontre a informação que precisamos no servidor do prestador e retorne em uma tabela temporária para em sequencia ser atualizado o nosso DB.

Dados operacionais são:
Windows Server 2008
Oracle 8i
Oracle SQL Developer 17.4.1.054
Build 054.0712

Obrigado e aguardo.
Avatar do usuário
adrianoturbo
Moderador
Moderador
Mensagens: 393
Registrado em: Qui, 20 Mar 2008 4:09 pm
Localização: Brasília
Adriano Alves
---Para cada problema dificil existe uma solução simples.----

Brother,não entendi bem ao certo do que precisa.
É impressão minha ou está querendo fazer uma replicação de dados de um banco de origem para outro banco de destino?
Se for isso ,sugiro que utilize o GoldenGate para fazer esse processo plugando os bancos para fazer a replicação.
MarioMedeiros
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 15
Registrado em: Sex, 15 Jun 2018 7:22 pm

Boa noite, não, não se trata de replicar o DB, são servidores distintos e DB distintos, preciso apenas conectar-me
ao banco 2 no exemplo abaixo facilita o entendimento, usando como chave conteúdo do banco 1, uma vez validada esta informação retornarei atualizando o campo correto.

Exemplo:
Banco 1
Tabela A
Campo 4 chave principal no banco 1
Campo 10 que será atualizado com o conteúdo do campo 55 que virá do banco 2

Banco 2
Tabela D
Campo 50 chave principal no banco 2
Campo 55 será retornado na view ou trigger para atualizar o campo 10 no banco 1

O que tem de comum nas duas bases são apenas os campos 4 e 50 e preciso apenas da informação existente no campo 55 do banco 2.
Com este cenário pretendo agendar esta atividade (view ou trigger) no banco 1 para que seja executada de
acordo com o tempo a ser definido, infelizmente não tenho muito conhecimento para fazer este processo e não
sei se é possível.

Obrigado e aguardo.
Avatar do usuário
adrianoturbo
Moderador
Moderador
Mensagens: 393
Registrado em: Qui, 20 Mar 2008 4:09 pm
Localização: Brasília
Adriano Alves
---Para cada problema dificil existe uma solução simples.----

Agora entendi o que precisa ...
Simples ,linka os dois bancos via DBLink e poderá compartilhar e relacionar os objetos dos dois bancos,fazendo com que eles conversem entre si.
Basta conectar no banco A e criar uma connect_string para o banco B .

Selecionar tudo

CREATE DATABASE LINK nome_do_dblink
CONNECT TO usuário_banco_remoto IDENTIFIED BY senha 
USING 'connect_string';

MarioMedeiros
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 15
Registrado em: Sex, 15 Jun 2018 7:22 pm

Boa noite, muito obrigado, vou fazer como informado.
Desculpas por demorar em responder-lhe.

Tópico será encerrado, caso não dê certo retornarei com novo post.

Obrigado.
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 6 visitantes