Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

FileasFogg

database link

Recommended Posts

Olá!

Aê comunidade... seguinte.... queria saber passo-a-passo como crio um database link.... ???

O servidor que eu uso é Win2003, com um firewall linux...

 

 

 

 

abraços http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá,

 

Seguinte, como tem Firewall, é bom liberar as regras de Firewall para os servidores que você deseja fazer o DBLink, o DBLink utiliza a 1521 ou 1522 por padrão.

 

Você pode criar um DBLINK de N modos, vou te passar um modo de se criar um DBLINK:

 

CREATE PUBLIC DATABASE LINK RODRIGO_ALMEIDA USING 'minha_base_destino';

 

Esse DBLINK está utilizando o nome da base de destino que está no TNSNAMES do servidor, ele irá utilizar o SQL*NET para realizar essa comunicação.

 

Para ele funcionar, você terá que ter seu usuário na base de ORIGEM e DESTINO com a mesma senha, senão não irá funcionar.

 

Se tiver mais dúvidas poste aqui.

 

Abraços, http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tem um detalhe da Global_names, não ?

 

Outra coisa e ter o nome da maquina que será acessada no servidor de origem (tnsnames.ora), perdemos uns 4 dias aqui até descobrir esta besteira :wacko:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então Rodrigo.... eu fiz do jeito que você falou.... liberei as portas e criei o datalink, mas... continuo sem conseguir conectar.... ele dá erro de TNS....

executei um tnsping e ele diz que não consegue resolver o host.... eu acho que o que está errado é o tnsname.ora.... você tem um exemplo aí ????

outra coisa, como que faço pra saber se o SQL*Net está funfando na base de destino.... e na base de origem ????

 

 

Desde já agradeço bastante !!! :)

 

 

 

Abraços http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

 

Motta, eu preciso necessariamente ter o tnsnames do servidor de origem configurado para o de destino.... ????

não posso usar o tnsnames da minha máquina ???????

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá, Vou te passar um exemplo de uma base que tenho aqui na empresa, segue os passos: 1º Passo ---------- Verificar o TNSNAMES.ORA e configurar para o servidor de DESTINO do DBLINK. Exemplo:

DWDEV = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 10.128.1.100)(PORT = 1521)) (CONNECT_DATA = (SID = DWDEV)) )

2º Passo ---------- Verificar pelo tnsping se as máquinas estão se comunicando, exemplo:

/opt/oracle/8.1.7/network/admin > tnsping dwdevTNS Ping Utility for Solaris: Version 8.1.7.4.0 - Production on 21-FEB-2006 11:16:48© Copyright 1997 Oracle Corporation. All rights reserved.Attempting to contact (ADDRESS=(PROTOCOL=TCP)(HOST=10.128.1.100)(PORT=1521))OK (20 msec)

3º Passo ---------- Verificamos que as regras de Firewall estão abertas entre os servidores, caso tenha erros no passo 2, verifique as regras de firewall e configuração do SQL*NET (Listener e TNSNAMES) entre os servidores. 4º Passo ---------- Criei um usuário chamado C_ROALMEIDA na base DWDEV (Destino) e tenho o mesmo usuário com a mesma senha na base de origem. Na base de destino, no meu owner (Usuário) tenho uma tabela chamada DBA_AUDITORIA que gostaria de acessar via o banco de dados ORIGEM, então, criei um DBLINK entre os servidores PÚBLICO (conectado com o usuário SYSTEM, veja:

SQL> create public database link imasters using 'dwdev'; Database link created.

Agora eu conectei com meu usuário (C_ROALMEIDA), e como a tabela está no meu usuário no servidor DWDEV, não preciso passar o owner, basta realizar o select abaixo:

SQL> disconnectDisconnected from Oracle8i Enterprise Edition Release 8.1.7.4.0 - ProductionWith the Partitioning optionJServer Release 8.1.7.4.0 - ProductionSQL> connect c_roalmeidaEnter password:Connected.SQL> select count(*) from dba_auditoria@imasters; COUNT(*)---------- 499625SQL>

Funcionou usando a autenticação via banco de dados por TNSNAMES, você pode criar DBLinks especificando o usuário e senha, ou somente o usuário, varia com o gosto do freguês. Se tiver mais dúvidas é só postar. Abraços, http://forum.imasters.com.br/public/style_emoticons/default/clap.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.