Configuração do Gateway (Oracle - SQLServer)
Autor: Luciano Filho | Publicado: 2011-07-05T10:54:00-07:00

1) verificar/Instalar a versão Oracle Gateway no servidor SQLSERVER
&nbsp; - Oracle 10g: 10201_gateways_win32.zip
&nbsp; - Oracle 11g: win32_11gR2_gateways.zip&nbsp; 1.1) Seguir documentação de instalação da versão do pacote (10g ou 11g).
&nbsp;&nbsp;&nbsp;&nbsp; - O documento está em &lt;Diretório_instalação&gt;\gateways\Welcome.html
&nbsp;&nbsp;&nbsp;&nbsp; - Obs.: É basicamente "next-next"&nbsp; 1.2) Verificar o arquivo ORaCLE_TG10_HOME\sid\init&lt;sid&gt;.ora (ex. D:\oracle\product\10.2.0\tg_1\tg4msql\admin)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - O parâmetro HS_FDS_CONNECT_INFO=server_name.database_name deve ser configurado&nbsp; 1.3) Configuração do Listener do Gateway
&nbsp;&nbsp;&nbsp;&nbsp; - Seguir o documento de instalação
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Ex.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SID_LIST_LISTENER=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (SID_LIST=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (SID_DESC=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (SID_NAME=gateway_sid) &lt;onde gateway_sid é o sid dado na instalação (default=tg4msql)&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (ORACLE_HOME=oracle_home_directory)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (PROGRAM=tg4msql)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; )
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; )&nbsp; 1.4) Reiniciar o listener do Gateway&nbsp; 1.5) Configuração do tnsnames.ora do oracle que irá acessar o sqlserver via gateway
&nbsp;&nbsp;&nbsp;&nbsp; - Seguir o documento de instalação
&nbsp;&nbsp;&nbsp;&nbsp; Ex.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MYBD =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (DESCRIPTION =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (ADDRESS_LIST =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (ADDRESS = (PROTOCOL = TCP)(HOST = hostname or ip)(PORT = 1521))
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; )
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (CONNECT_DATA =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (SERVICE_NAME = tg4msql))
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (HS=OK)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; )&nbsp;&nbsp;&nbsp;&nbsp; - Para validar a configuração executar o comando: tnsping &lt;instance_name&gt;.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Ex. tnsping MYBD
Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = hostname or ipe)(PORT= 1521))) (CONNECT_DATA = (SERVICE_NAME = tg4msql)) (HS=OK)) OK (30 msec)
2) Criar um login no SQLSERVER
&nbsp; 2.1) Crie um login significativo como por exemplo &lt;nome_banco&gt;_oracle
&nbsp; 2.2) Mapeie acesso ao usuário SQLSERVER desejado
&nbsp; 2.3) Conceda os seguintes privilégios:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - db_accessadmin
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - db_datareader
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - db_datawriter
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - db_ddladmin
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - db_owner
&nbsp; 2.4) Logar no novo usuário e recadastrar senha do novo login, pois o windows requer nova senha para o novo login.3) Criar o database link no Oracle para acessar o SQLSERVER
&nbsp; 3.1) O database link deverá ser público&nbsp; 3.2) Testar a conexão4) Descrever/Avisar ao solicitante algumas regras para realizar consultas como:
&nbsp; - Obedecer a nomenclatura das tabelas do sqlserver, inclusive letras em maiusculas e minusculas.
&nbsp; - Para os atributos com caracteres especiais como acento, descrevê-lo entre aspas duplas ("")