Boa tarde,
Como poderia fazer a seguinte conexão.
Banco/Sistema Local, conectar, com Banco/Sistema de outro local.
POr exemplo. o Sistema de São Paulo, Se conectar com o Sistema do Rio de Janeiro.
Att
Conexão com o banco remoto
- stcoutinho
- Moderador
- Mensagens: 850
- Registrado em: Qua, 11 Mai 2011 5:15 pm
- Localização: são Paulo - SP
Olá priajf,
Caso os bancos estejam em uma mesma rede, você poderia criar um DBLINK no banco de "São Paulo" apontando para o banco de "Rio de Janeiro".
Digamos que você deseje criar um DBLINK no banco "SP".
Esta seria uma sintaxe simples para você criar um DBLINK privado (que só vale para o usuário em que você criou o mesmo):
Ex: create database link DB_RJ
connect to SCOTT identified by "Oracle2010"
using 'BASE_RJ.WORLD';
Esta seria uma sintaxe simples para você criar um DBLINK público (que só vale para o usuário em que você criou o mesmo):
Às vezes, você precisa criar o nome do DBLINK exatamente com o "service name" do banco remoto. Se por exemplo o "service_name" de RJ é "xptorj32", você precisa criar o DBLINK com este nome na base SP.
Quando você cria o DBLINK na base SP, você precisa informar um "usuário de banco"/"senha" que realmente existam na base de RJ.
Com relação ao "nome servico rj tnsnames" você precisa editar o arquivo "TNSNAMES.ORA" do SERVIDOR DE BANCO DE DADOS de SP e adicionar a "string de conexão" relativo à base de RJ.
No mais, sempre tome cuidado ao utilizar o DBLINK. Se você desenvolver alguma rotina PL/SQL para replicação de dados, sempre tome o cuidado de colocar verificações em seu código PL/SQL (se o DBLINK está OK, se uma carga foi transferida com sucesso, etc). Em rotinas de replicação, eu geralmente costumo armazenar os dados em "tabelas de saída" (ex: SP) e "tabelas entrada" (ex: RJ), e desenvolvo rotinas para replicar os dados entre estas tabelas e só a partir daí alimentar as tabelas finais dos bancos.
Agora, se os bancos não estiverem em uma mesma rede ou - se estiverem - a performance for ruim, talvez os outros foristas do GLUFKE possam dar alternativas para você.
Abraços e boa sorte,
Sergio Coutinho
Caso os bancos estejam em uma mesma rede, você poderia criar um DBLINK no banco de "São Paulo" apontando para o banco de "Rio de Janeiro".
Digamos que você deseje criar um DBLINK no banco "SP".
Esta seria uma sintaxe simples para você criar um DBLINK privado (que só vale para o usuário em que você criou o mesmo):
create database link [NOME_DBLINK]
connect to [USUARIO_REMOTO_RJ] identified by [SENHA_USUARIO_REMOTO_RJ]
using '[NOME_SERVICO_RJ_TNSNAMES]';
connect to SCOTT identified by "Oracle2010"
using 'BASE_RJ.WORLD';
Esta seria uma sintaxe simples para você criar um DBLINK público (que só vale para o usuário em que você criou o mesmo):
create PUBLIC database link [NOME_DBLINK]
connect to [USUARIO_REMOTO_RJ] identified by [SENHA_USUARIO_REMOTO_RJ]
using '[NOME_SERVICO_RJ_TNSNAMES]';
Quando você cria o DBLINK na base SP, você precisa informar um "usuário de banco"/"senha" que realmente existam na base de RJ.
Com relação ao "nome servico rj tnsnames" você precisa editar o arquivo "TNSNAMES.ORA" do SERVIDOR DE BANCO DE DADOS de SP e adicionar a "string de conexão" relativo à base de RJ.
No mais, sempre tome cuidado ao utilizar o DBLINK. Se você desenvolver alguma rotina PL/SQL para replicação de dados, sempre tome o cuidado de colocar verificações em seu código PL/SQL (se o DBLINK está OK, se uma carga foi transferida com sucesso, etc). Em rotinas de replicação, eu geralmente costumo armazenar os dados em "tabelas de saída" (ex: SP) e "tabelas entrada" (ex: RJ), e desenvolvo rotinas para replicar os dados entre estas tabelas e só a partir daí alimentar as tabelas finais dos bancos.
Agora, se os bancos não estiverem em uma mesma rede ou - se estiverem - a performance for ruim, talvez os outros foristas do GLUFKE possam dar alternativas para você.
Abraços e boa sorte,
Sergio Coutinho
-
- Rank: Estagiário Sênior
- Mensagens: 9
- Registrado em: Qui, 02 Dez 2010 10:32 pm
- Localização: cuiaba
Bom aproveitando o fórum
01 Tem um banco de dados de terceiros a qual possuo apenas select nas tabelas
02 O banco da terceirzada é Mysql e esta geograficamente distante, inclusive para acessar é um ip publico 200.xxx.
03 O Nosso banco é Oracle 11gR2.
Todo fim de semana acesso via workbrench e extraio os dados via insert e rodo no nosso banco oracle.
Preciso automatizar esta tarefa, alguém tem uma ideia ?.
Pensei em criar uma procedure para inserir estes dados e agendar com um job.
O problema é fui configurar um gateway via odbc e não consegui.
01 Tem um banco de dados de terceiros a qual possuo apenas select nas tabelas
02 O banco da terceirzada é Mysql e esta geograficamente distante, inclusive para acessar é um ip publico 200.xxx.
03 O Nosso banco é Oracle 11gR2.
Todo fim de semana acesso via workbrench e extraio os dados via insert e rodo no nosso banco oracle.
Preciso automatizar esta tarefa, alguém tem uma ideia ?.
Pensei em criar uma procedure para inserir estes dados e agendar com um job.
O problema é fui configurar um gateway via odbc e não consegui.
- fbifabio
- Moderador
- Mensagens: 199
- Registrado em: Ter, 22 Fev 2011 1:51 pm
- Localização: São Paulo - SP
- Contato:
Fábio Prado
www.fabioprado.net
www.fabioprado.net
@nor.dbajunior
Segue abaixo o link de um artigo que eu escrevi após fazer algo parecido com a sua necessidade. Eu precisava criar um dblink no Oracle para executar uma stored procedure do Mysql. Siga o procedimento do artigo e qualquer dúvida deixe um comentário lá:
http://www.fabioprado.net/2013/12/crian ... essar.html
[]s
Segue abaixo o link de um artigo que eu escrevi após fazer algo parecido com a sua necessidade. Eu precisava criar um dblink no Oracle para executar uma stored procedure do Mysql. Siga o procedimento do artigo e qualquer dúvida deixe um comentário lá:
http://www.fabioprado.net/2013/12/crian ... essar.html
[]s
-
- Informação
-
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 18 visitantes