Oracle em Linux acessando MySQL em Windows (Heterogêno)

see Vou explicar neste artigo um pouco de redes heterogeneas em outros databases e o Oracle.
No caso irei abordar um acesso do Oracle 10g (10.2.0.5) Linux x86 para o MySQL 5.1.46 Server em Windows XP 32b.
A partir do Oracle acessar tabelas e views que estão dentro do MySQL.

Online Pharmacy For Xanax

heter005 150x150 Oracle em Linux acessando MySQL em Windows (Heterogêno)

Zolpidem 12.5 Mg Price Dados dos ambientes para melhor compreenção:
Oracle:
Oracle Database 10g Release 10.2.0.5.0 – Production
Enterprise Linux Enterprise Linux Server release 5.5 (Carthage)
IP: 192.168.10.70
SERVER: dbmaster.local
ORACLE_HOME=/ora01/app/oracle/product/10.2.0

go to site MySQL:
Server version: 5.1.46-community MySQL Community Server (GPL)
Microsoft Windows XP Professional
5.1.2600 Service Pack 3 compilação 2600
IP: 192.168.10.184
SERVER: TKVM

Order Ultram Online Primeiramente vamos criar o ambiente do mysql os privilegios e estrutura dos dados no meu mysql:

Zolpidem For Sale Online mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | netjukebox | | test | +--------------------+ 4 rows in set (0.00 sec) mysql> create database db_rafael; Query OK, 1 row affected (0.00 sec) mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | db_rafael | | mysql | | netjukebox | | test | +--------------------+ 5 rows in set (0.00 sec) mysql> create table tabela02 (campo1 int(11) not null auto_increment, campo2 char(255), primary key (campo1)); Query OK, 0 rows affected (0.03 sec) mysql> insert into tabela02 (campo2) values ('RAFAEL STOEVER'); Query OK, 1 row affected (0.01 sec) mysql> insert into tabela02 (campo2) values ('JOSE GALDERIO'); Query OK, 1 row affected (0.00 sec) mysql> insert into tabela02 (campo2) values ('MARIA DAS GRACAS'); Query OK, 1 row affected (0.00 sec) mysql> COMMIT; Query OK, 0 rows affected (0.00 sec) mysql> select * from tabela02 -> ; +--------+------------------+ | campo1 | campo2 | +--------+------------------+ | 1 | RAFAEL STOEVER | | 2 | JOSE GALDERIO | | 3 | MARIA DAS GRACAS | +--------+------------------+ 3 rows in set (0.00 sec)

Buy Xanax Usa Criarei um usuario para acesso a base remotamente do mysql:

Alprazolam For Sale Online mysql> create user 'rafael'@'localhost' identified by 'minha_senha'; Query OK, 0 rows affected (0.00 sec) mysql> grant all privileges on db_rafael.* to 'rafael'@'192.168.10.70' identified by 'senha'; Query OK, 0 rows affected (0.00 sec)

follow link Verificado o conteudo do mysql vamos fazer o acesso do Oracle ao MySQL Server.

Buy Zolpidem Without A Prescription No servidor Linux do Oracle:

watch Para acessar o MySQL precisamos primeiramente um acesso ao database pelo linux, no caso iremos usar o connector/ODBC que pode ser encontrador no link
Connector/ODBC : http://download.softagency.net/mysql/Downloads/Connector-ODBC/3.51
No caso, estou baixando o mysql-connector-odbc-3.51.28-0.i386.rpm

https://louldentalstudio.com/our-gallery/ Ao baixar o arquivo vou instalar como root:

go to link [root@dbmaster mysql]# rpm -Uvh mysql-connector-odbc-3.51.28-0.i386.rpm error: Failed dependencies: libltdl.so.3 is needed by mysql-connector-odbc-3.51.28-0.i386

go to site Como estou usando o Enterprise Linux Enterprise Linux Server release 5.5 (Carthage)
Terei que colocar o CDROM de instalação e instalar o pacote dependente, no caso o libtool-ltdl

Buy Ambien Online [root@dbmaster mysql]# rpm -ivh /mnt/cdrom/Server/libtool-ltdl-1.5.22-7.el5_4.i386.rpm warning: /mnt/cdrom/Server/libtool-ltdl-1.5.22-7.el5_4.i386.rpm: Header V3 DSA signature: NOKEY, key ID 1e5e0159 Preparing... ########################################### [100%] 1:libtool-ltdl ########################################### [100%] [root@dbmaster mysql]# rpm -ivh mysql-connector-odbc-3.51.28-0.i386.rpm Preparing... ########################################### [100%] 1:mysql-connector-odbc ########################################### [100%] [myodbc3i.c][594][INFO] Driver registered. Usage count is 1. Location "/etc"

https://gardenswhisper.com/orchid-cactus-care-propagation/ Agora é configurar os arquivos do ODBC para acessar ao MySQL via linux:

O arquivo odbcinst.ini deve conter os dados dos Drivers, no meu caso não precisei alterar nada:

[root@dbmaster mysql]# cat /etc/odbcinst.ini
[PostgreSQL]
Description             = ODBC for PostgreSQL
Driver          = /usr/lib/libodbcpsql.so
Setup           = /usr/lib/libodbcpsqlS.so
FileUsage               = 1

[MySQL ODBC 3.51 Driver]
DRIVER          = /usr/lib/libmyodbc3.so
UsageCount              = 1

Verificando a entrada do driver [MySQL ODBC 3.51 Driver] agora vamos configurar o ODBC para acesso a minha base mysql:

[root@dbmaster mysql]# cat /etc/odbc.ini
[mysqloracle]
Driver          = MySQL ODBC 3.51 Driver
DATABASE        = db_rafael
PWD             = senha
PORT            = 3306
SERVER          = 192.168.10.184
UID             = rafael
SOCKET          = /tmp/oracle/mysql.sock

Desta forma criamos um nome para o acesso chamado mysqloracle, utilizando o drive MySQL ODBC 3.51 Driver, no database db_rafael e outros dados são para acesso como usuario, senha, ip e porta.

Feito isso podemos testar:

[root@dbmaster mysql]# isql mysqloracle -v
+---------------------------------------+
| Connected!                            |
|                                       |
| sql-statement                         |
| help [tablename]                      |
| quit                                  |
|                                       |
+---------------------------------------+
SQL>
SQL> show tables;
+-----------------------------------------------------------------+
| Tables_in_db_rafael                                             |
+-----------------------------------------------------------------+
| tabela01                                                        |
| tabela02                                                        |
+-----------------------------------------------------------------+
SQLRowCount returns 1
1 rows fetched
SQL> select * from tabela02;
+-----------+-------------------
| campo1    | name              
+-----------+-------------------
| 1         | RAFAEL STOEVER    
| 2         | MARIA JOSEFINA    
| 3         | JOSE GALDERIO     
+-----------+-------------------
SQLRowCount returns 3
3 rows fetched

Observação importante é sobre o firewall do windows XP, ele estava habilitado e não estava liberando a porta 3306, tive que desabilitar o firewall padrão do windows para conseguir o acesso. Em muitos ambientes solicite ao seu administrador de REDES/Segurança para fazer a liberação correta da porta.

Testado com sucesso o acesso ao MySQL via ODBC connector agora vamos configurar o acesso do Oracle ao MySQL:

Como criamos um ODBC chamado mysqloracle vamos criar a entrada do acesso heterogeneo como mysqloracle para facilitar a manutenção posterior nesse acesso:

Deve então ser criado um init em $ORACLE_HOME/hs/admin/initmysqloracle.ora contendo as seguintes configurações, no meu caso somente alterei o caminho do ODBCINI que o meu ficará em /etc/odbc.ini

[oracle@dbmaster admin]$ cat $ORACLE_HOME/hs/admin/initmysqloracle.ora
HS_FDS_CONNECT_INFO = mysqloracle
HS_FDS_TRACE_LEVEL = 4
HS_FDS_SHAREABLE_NAME = /usr/lib/libodbc.so
set ODBCINI=/etc/odbc.ini

E teremos que adicionar ao listener a entrada para esse novo init fazendo acesso ao ODBC

    (SID_DESC =
        (PROGRAM = hsodbc)
        (ORACLE_HOME = /ora01/app/oracle/product/10.2.0)
        (SID_NAME = mysqloracle)
        (ENVS = LD_LIBRARY_PATH=/usr/lib:/ora01/app/oracle/product/10.2.0/lib:/lib:/usr/lib)
    )

Desta forma o meu listener.ora ficou assim:

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS_LIST =
        (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.10.70)(PORT = 1521))
      )
    )
  )


SID_LIST_LISTENER=
  (SID_LIST=
    (SID_DESC=
      (GLOBAL_DBNAME=dbmaster)
      (ORACLE_HOME=/ora01/app/oracle/product/10.2.0)
      (SID_NAME=dbmaster)
    )
    (SID_DESC =
        (PROGRAM = hsodbc)
        (ORACLE_HOME = /ora01/app/oracle/product/10.2.0)
        (SID_NAME = mysqloracle)
        (ENVS = LD_LIBRARY_PATH=/usr/lib:/ora01/app/oracle/product/10.2.0/lib:/lib:/usr/lib)
    )
  )

Adicionado o item devemos fazer um reload no listener para aplicar as alterações efetuadas:

[oracle@dbmaster admin]$ lsnrctl reload

LSNRCTL for Linux: Version 10.2.0.5.0 - Production on 13-OCT-2011 12:07:54

Copyright (c) 1991, 2010, Oracle.  All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.10.70)(PORT=1521)))
The command completed successfully
[oracle@dbmaster admin]$ lsnrctl status

LSNRCTL for Linux: Version 10.2.0.5.0 - Production on 13-OCT-2011 12:07:59

Copyright (c) 1991, 2010, Oracle.  All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=dbmaster)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 10.2.0.5.0 - Production
Start Date                13-OCT-2011 11:26:34
Uptime                    0 days 0 hr. 41 min. 25 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /ora01/app/oracle/product/10.2.0/network/admin/listener.ora
Listener Log File         /ora01/app/oracle/product/10.2.0/network/log/listener.log
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.10.70)(PORT=1521)))
Services Summary...
Service "dbmaster" has 2 instance(s).
  Instance "dbmaster", status UNKNOWN, has 1 handler(s) for this service...
  Instance "dbmaster", status READY, has 1 handler(s) for this service...
Service "dbmaster_XPT" has 1 instance(s).
  Instance "dbmaster", status READY, has 1 handler(s) for this service...
Service "mysqloracle" has 1 instance(s).
  Instance "mysqloracle", status UNKNOWN, has 1 handler(s) for this service...
The command completed successfully

Pode notar que há agora um serviço chamado mysqloracle no listener que irá fazer o acesso ao ODBC.
Caso o listener fique travado ou não consiga iniciar revise as configurações anteriores que há algum item errado.

Agora vamos fazer o acesso do Oracle ao MySQL :

Primeiramente temos que criar um ponto de acesso ORACLE, vamos adicionar ao TNSNAMES.ORA a entrada para o mysql que criamos:

MYSQL =
  (DESCRIPTION =
    (ADDRESS_LIST =
       (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.10.70)(PORT = 1521))
    )
    (CONNECT_DATA =
        (SID = mysqloracle))
        (HS = OK)
    )

Agora dentro do Oracle vamos criar o dblink entre os bancos:

SQL> create public database link mysqlrafael connect to "rafael" identified by "senha" using 'MYSQL';

Database link created.

E para verificar esse acesso com sucesso, select basico em uma das tabelas;

SQL> desc tabela02@mysqlrafael;
 Name                                      Null?    Type
 ----------------------------------------- -------- ----------------------------
 campo1                                             NUMBER(10)
 campo2                                             CHAR(255)
    campo1 campo2
---------- ------------------------------
         1 RAFAEL STOEVER
         2 JOSE GALDERIO
         3 MARIA DAS GRACAS

FIQUE LIGADO !
Lembrando que tudo que usares no MySQL em caixa baixa “minusculo”, no Oracle deverá ser tratado como string em minusculo contendo as aspas.
Como no database link criado que o usuario é “rafael” e a senha é “senha”. Isso também vale para os campos e tabelas do mysql!

Para o Oracle 11g deve ser usado o (PROGRAM = dg4odbc)
E para 10g 64bits não há suporte hsodbc conforme feito neste artigo, desta forma deve ser comprado o Oracle Gateway para conseguir efetuar o procedimento.

Fonte: DESUPPORTED: How to Setup Generic Connectivity – HSODBC – to MySQL (Doc ID 260981.1)

%name Oracle em Linux acessando MySQL em Windows (Heterogêno)

Autor: Rafael Stoever

buy soma no rx needed Bacharel em Sistema de Informação pela Uniasselvi, atualmente cursando Gerenciamento de Projetos em TI pela Pós Graduação Uniasselvi. Atuo como Analista de suporte https://jpdepc.org/about-us/ a banco de dados – DBA pela Lumina Serviços em TI residente de Blumenau/ SC, click OPN Certified Specialist, Certificado OCP 10g/11g/12c, OCE RAC10g e Linux 10g. Conhecimentos em Microsoft SqlSever, Mysql e programação web (php,asp).