13
Danilo Braga ICC – Software II Oracle DBLink Instituto Nacional de Telecomunicações - INATEL http:// goo.gl/uF3iuy

Integração de bases de dados através do Oracle DBLink

Embed Size (px)

DESCRIPTION

Uma apresentação dos conceitos iniciais da ferramenta Oracle DBLink. Esta ferramenta facilita a distribuição dos dados em várias instâncias, permitindo a movimentação e a busca em bases de dados distintas

Citation preview

Page 1: Integração de bases de dados através do Oracle DBLink

Danilo BragaICC – Software II

Oracle DBLink

Instituto Nacional de Telecomunicações - INATEL

http://goo.gl/uF3iuy

Page 2: Integração de bases de dados através do Oracle DBLink

O DB Link permite a comunicação

entre um BD Oracle com outro BD,

não necessariamente Oracle

A conexão é “one-way”, ou seja,

possibilita um usuário local logado

num banco A acessar objetos em

um banco externo B

Definição

http://goo.gl/1ax99P

Page 3: Integração de bases de dados através do Oracle DBLink

Aplicações podem utilizar de mais de uma instância

de banco de dados

É possível distribuir dados em locais distintos

Mover dados entre várias bases

Realizar buscas em mais de uma base no mesmo

select

- Isso mesmo! joins entre tabelas de bancos

distintos

Para que “linkar” Bancos de dados?

Page 4: Integração de bases de dados através do Oracle DBLink

database Bdatabase A

select * from A.table_1 select * from B.table_2

http://goo.gl/VONNDl http://goo.gl/CZ3QYg

Cenário: uma aplicação acessa mais de um banco que não se relacionam entre si. Nenhum problema!

Page 5: Integração de bases de dados através do Oracle DBLink

database Bdatabase A

select * from A.table_1 select * from B.table_2

SELECT * FROM A.table_1 JOIN B.table_2

INSERT INTO B.table_2 ( select * from A.table_1 )

http://goo.gl/VONNDl

Cenário: uma aplicação que deseja mover/buscar dados em mais de um DB.

Trazer todos os dados para a aplicação poderia acarretar em perda de performance

Page 6: Integração de bases de dados através do Oracle DBLink

BD Principal

• Clientes• Contratos• Estoque• Entrega ...

BD de Reports/BI

• Dados agrupados

• Normalmente D-1

• O Relatório contém, além dos dados do DB de report, informações de cadastro de clientes, por exemplo, que estão no DB Principal

Aplicação com acesso a duas bases de dados

Módulo que possui acesso somente ao BD de Reports

http://goo.gl/VONNDl http://goo.gl/CZ3QYg

A tabela de clientes não foi replicada entre as bases por

questões de redundância

Page 7: Integração de bases de dados através do Oracle DBLink

Com DB Link evita-se acessos desnecessários

ao BD

http://goo.gl/VONNDl http://goo.gl/CZ3QYg

Módulo que possui acesso somente ao BD de Reports

BD Principal

• Clientes• Contratos• Estoque• Entrega

BD de Reports/BI

• Dados agrupados

• Normalmente D-1

Aplicação com acesso a duas bases de dados

• O Relatório contém, além dos dados do DB de report, informações de cadastro de clientes, por exemplo, que estão no DB Principal

A tabela de clientes não foi replicada entre as bases por

questões de redundância

Page 8: Integração de bases de dados através do Oracle DBLink

CREATE PUBLIC DATABASE LINK mylink

CONNECT TO remote_username

IDENTIFIED BY mypassword

USING 'myserver:1521/MYSID';

Criação do DBLink

http://goo.gl/uuNyzHhttp://goo.gl/CZ3QYg

A B

Esta é apenas uma das formas de se criar um DB Link, existem outras, que levam em conta principalmente questões de segurança.

Page 9: Integração de bases de dados através do Oracle DBLink

SELECT T1.NAME, T2.CONTRACT_ID

FROM TABLE_1 T1,TABLE_2@mylink T2

WHERE T1.ID = T2.ID;

Utilização do DBLink

Page 10: Integração de bases de dados através do Oracle DBLink

CREATE PUBLIC SYNONYM TABLE_2 FOR TABLE_2@mylink;

SELECT T1.NAME, T2.CONTRACT_ID

FROM TABLE_1 T1,TABLE_2 T2

WHERE T1.ID = T2.ID;

Aurélio

Uso com sinônimo

http://goo.gl/RklCeU

Page 11: Integração de bases de dados através do Oracle DBLink

Oracle -> Oracle

– Ainda bem que funciona!

Oracle -> MySql

– Necessária a configuração de parâmetros em

arquivos de configuração

Oracle -> PostgreSQL / Oracle -> SqlServer

– Exige a instalação de plugins externos (terceiros)

– Encontrei mais gente falando dos erros, do que como

fazer ;

Integração com outros provedores

Demais provedores somente consultas

SQL-ANSI

http://goo.gl/1sYZTL

Page 12: Integração de bases de dados através do Oracle DBLink

Muito Obrigado!!

http://goo.gl/i3gbc9

Danilo Bragahttp://www.slideshare.net/bragadanilo