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

Post on 17-Jun-2015

1.121 views 0 download

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

Transcript of 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

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

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?

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!

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

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

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

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.

SELECT T1.NAME, T2.CONTRACT_ID

FROM TABLE_1 T1,TABLE_2@mylink T2

WHERE T1.ID = T2.ID;

Utilização do 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

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

Muito Obrigado!!

http://goo.gl/i3gbc9

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