DevMedia - asp.net, Java, Delphi, SQL e web Design, tudo em um só lugar!
Bem vindo a DevMedia!
LOGIN:     SENHA:
 
 

  Este é um post disponível para assinantes MVP
Este post também está disponível para assinantes da SQL Magazine DIGITAL
ou para quem possui Créditos DevMedia.  Clique aqui para saber mais!

Artigo SQL Magazine 59 - Oracle Heterogeneous Services

Artigo publicado Revista SQL Magazine 59.

[fechar]

Você não gostou da qualidade deste conteúdo?

(opcional) Você gostaria de comentar o que não lhe agradou?

Esse artigo faz parte da revista SQL Magazine edição 59. Clique aqui para ler todos os artigos desta edição

imagem_pdf.jpg

Oracle

Oracle Heterogeneous Services

Estabelecendo database links para bancos de dados não Oracle

 

O Oracle Heterogeneous Services, denominado simplesmente OHS, é um recurso que estende o uso de database links fornecendo um meio mais simples de acessar bancos de dados de diferentes fabricantes a partir de um banco de dados em Oracle. Além de ser usado como uma solução para processos de ETL (Extração, Transformação e Carga de Dados) entre sistemas diferentes, ele é particularmente útil para alcançar bancos de dados legados com custos baixos de implementação. Nesse artigo, será demonstrado como recuperar dados de uma aplicação antiga cujo os dados de um sistema de vendas se encontram em um servidor MySQL, através do Oracle XE. Como ambos estão instalados em um mesmo computador, este estudo de caso dispensa  o uso de dois servidores físicos, facilitando assim o entendimento deste recurso.

 

Introdução aos Database Links

Um database link, ou simplesmente dblink, é representado como um objeto particular de um banco de dados. Diversos fabricantes implementam este recurso de diferentes maneiras, obedecendo aos critérios e conceitos de um sistema de banco de dados em particular. Sua principal função é promover um tipo de conexão na qual um determinado banco de dados seja capaz de se comunicar com outro banco de dados, situado em um local remoto da rede. Dessa maneira, um banco de dados qualquer que disponha de um objeto do tipo dblink passa a atuar como cliente deste banco de dados remoto, podendo consultar e manipular os objetos deste banco remoto (tais como tabelas, visões, sinônimos, procedures, functions, entre outros).

Para o banco de dados Oracle XE, um dblink é um objeto que pertence a um  schema em particular (ver Nota 1) e que pode ter até dois níveis de acesso: privado ou público. Um dblink do tipo privado é aquele em que apenas o usuário que possui o objeto pode acessar, ou seja, um cliente que se conecta ao Oracle XE com o usuário XPTO não será capaz de fazer uso de um dblink de propriedade do usuário SERGIO, por exemplo.  Um database link do tipo Público permite que qualquer usuário do banco de dados possa utilizá-lo indistintamente para acessar um objeto remoto. A sintaxe do comando para se criar um dblink do tipo público ou privado é praticamente a mesma. O que define o nível de acesso do objeto que está sendo criado, na verdade, é a existência da palavra chave “PUBLIC” ou não na construção do dblink, conforme exemplificado na Listagem 1.

 

Listagem 1. Criando um dblink do tipo público

 

1: create PUBLIC database link “DBLINK_PUBLICO”

2:    connect to “SERGIO”

3:    identified by “senha do usuário SERGIO”

4: using ‘TNS_MYSQL’;

 

 

Nota 1: Schema

Na arquitetura Oracle, um schema é o local onde os objetos de um banco de dados são agrupados. (Tabelas, visões, índices, procedures, etc). Por definição, um schema pertence a um e somente um usuário do banco de dados. Portanto, ao se criar um usuário no Oracle, automaticamente um schema também é criado e atribuído a este novo usuário. Não é possível, por exemplo, forçar o Oracle a entender que um determinado schema pertence a um outro usuário. Apesar de simples, este conceito é muito importante, já que muitos tratam um schema e um usuário como sendo a mesma coisa. No Oracle, essa associação é válida, mas pode confundir quando lidamos com outros tipos de banco de dados onde esse conceito de schema/usuário é distinto e completamente desassociado. No MySQL5, por exemplo, um schema é o mesmo que um banco de dados.

 

Na Listagem 1, a palavra chave PUBLIC (linha 1) define o nível de acesso ao database link que está sendo criado. Na linha 2, o parâmetro “connect to” diz ao Oracle XE o nome do usuário do banco de  dados remoto para o qual o dblink deverá apontar, neste caso um usuário do MySQL. O parâmetro “identified by” contém a senha para este usuário remoto e, por último, na linha 4, o nome do parâmetro “USING” contém o valor do que é chamado, pela documentação da Oracle, de “connect_string”. Este parâmetro informa a string de conexão para o banco de dados remoto, e ao longo deste artigo entenderemos melhor como podemos nomear uma conexão. Caso tivéssemos omitido na linha 1 a palavra chave PUBLIC, o Oracle XE entenderia que o DBLINK que está sendo criado é do tipo privado, e somente o próprio usuário que está criando-o poderia fazer uso dele. Um exemplo de como manipular e recuperar dados de um database remoto é mostrado na Listagem 2.

 

Listagem 2. Selecionando e manipulando dados de um dblink

 

"

A exibição deste artigo foi interrompida.

  Este é um post disponível para assinantes MVP
Este post também está disponível para assinantes da SQL Magazine DIGITAL
ou para quem possui Créditos DevMedia.  Clique aqui para saber mais!


Sérgio Roberto Carneiro
Descrição Administrador de banco de dados certificado e com 4 anos de experiência em ambientes corporativos de médio e grande porte. Estudou comércio eletrônico na universidade Metodista de São Paulo e atualmente administra plataformas em RAC e storages da linha EMC.
O que você achou deste post?

    0 COMENTÁRIO

[Fechar]

Este post é fechado - você precisa ter acesso ao post para incluir um comentário.


Nenhum comentário foi postado - seja o primeiro a comentar!
Cursos relacionados
Publicidade
[Fechar]

Você precisa estar logado para dar um feedback.

Clique aqui para efetuar o login
[Fechar]


Este post está fechado. Saiba mais sobre a assinatura MVP!
web-03
DevMedia  |  Anuncie  |  Fale conosco
Hospedagem web por Porta 80 Web Hosting
2013 - Todos os Direitos Reservados a web-03