DBLink do Oracle para o Greenplum – Heterogeneous Service

A configuração de uma ligação via Database Link de Oracle para Greenplum é feita atráves do Heterogeneous Service (HS).

Partindo do principio que temos uma BD de Greenplum e outra de Oracle, a configuração é feita através de um driver ODBC, portanto antes de configurar o HS temos que preparar o ambiente:

1) Instalação do drive ODBC, no meu caso utilizei um nativo do PostgreSQL

yum install postgresql-odbc*

2) Configuração do /etc/odbc.ini:

[oracle@greenplum admin]$ cat /etc/odbc.ini
[Greenplum]
Description = PostgreSQL driver for Greenplum
Driver=/usr/lib/psqlodbc.so
Trace = 1
TraceFile=/gp/odbctrace.out
Debug=1
Database = MOAM
Servername = localhost
UserName = gpadmin
Password = oracle
Port = 5432
ReadOnly = No
RowVersioning = No
DisallowPremature = No
ShowSystemTables = Yes
ShowOidColumn = No
FakeOidIndex = No
useDeclareFetch = 1
Fetch = 4096
UpdatableCursors = No
Protocol = 7.4-1

3) Teste do driver com o isql:

isql [odbc alias] [user] [password] -v

Meu exemplo abaixo :
Screenshot-2

Agora temos condições de configurar o HS.

4) Configurar $ORACLE_HOME/hs/admin/initdg4odbc.ora:

[oracle@greenplum admin]$ cat $ORACLE_HOME/hs/admin/initdg4odbc.ora
HS_FDS_CONNECT_INFO = Greenplum
HS_FDS_TRACE_LEVEL = ON
HS_FDS_SHAREABLE_NAME = /usr/lib/psqlodbc.so
set ODBCINI=/etc/odbc.ini

5) Configurar $ORACLE_HOME/network/admin/listener.ora:

[oracle@greenplum admin]$ cat $ORACLE_HOME/network/admin/listener.ora
LISTENERHS =
(ADDRESS_LIST=
(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1522))
)

SID_LIST_LISTENERHS=
(SID_LIST=
(SID_DESC=
(SID_NAME=dg4odbc)
(ORACLE_HOME=/oracle/app/oracle/product/11.2.0/dbhome_1)
(PROGRAM=dg4odbc)
)
)

6) Configurar $ORACLE_HOME/network/admin/tnsnames.ora:

[oracle@greenplum admin]$ cat $ORACLE_HOME/network/admin/tnsnames.ora
dg4odbc , greenplum =
(DESCRIPTION=
(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1522))
(CONNECT_DATA=(SID=dg4odbc))
(HS=OK)
)

Agora é iniciar o listener LISTENERHS (lsnrctl start listenerhs) e entrar na BD Oracle para criarmos o Database Link.

7) Criação do DBLink e teste:

CREATE DATABASE LINK test_gp CONNECT TO “gpadmin” IDENTIFIED by “oracle” USING ‘Greenplum’;

DBLINK_ORCL_TO_GP

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

w

Conectando a %s