Se você precisa conectar o MariaDB/MySQL a um banco de dados Oracle usando o plugin ha_connect
com suporte a ODBC, eu vou explicar passo a passo como fazer isso em um ambiente com Oracle Linux 9. Vou detalhar desde a instalação dos pacotes necessários até a configuração e testes de conexão.
1. Instalação dos pacotes do MariaDB
O primeiro passo é garantir que os pacotes necessários do MariaDB estejam instalados no seu sistema. Para isso, utilize o gerenciador de pacotes dnf
e execute o seguinte comando:
dnf install mariadb-connector-c-config-3.2.6-1.el9_0.noarch \
mariadb-connector-c-3.2.6-1.el9_0.x86_64 \
mariadb-common-10.5.22-1.el9_2.x86_64 \
mariadb-errmsg-10.5.22-1.el9_2.x86_64 \
mariadb-backup-10.5.22-1.el9_2.x86_64 \
mariadb-gssapi-server-10.5.22-1.el9_2.x86_64 \
mariadb-server-utils-10.5.22-1.el9_2.x86_64 \
mariadb-server-10.5.22-1.el9_2.x86_64 \
mariadb-10.5.22-1.el9_2.x86_64 \
mariadb-connector-odbc-3.1.12-3.el9.x86_64
Esse comando vai instalar o MariaDB, junto com o conector ODBC, que será necessário para estabelecer a conexão com o Oracle.
2. Configuração do MariaDB
A configuração do MariaDB pode variar conforme suas necessidades. Como essa parte pode ser complexa e personalizada, vamos pular este tópico e focar nas configurações de ODBC e conexão com o Oracle.
3. Instalação dos pacotes do Oracle Client
Agora, você precisa instalar os pacotes do client Oracle para habilitar a conexão ODBC. Execute os comandos abaixo para fazer isso:
dnf install oracle-instantclient-release-el9.x86_64
dnf install oracle-instantclient19.19-basic.x86_64 \
oracle-instantclient19.19-odbc.x86_64 \
oracle-instantclient19.19-sqlplus.x86_64 \
unixODBC
4. Configuração do arquivo tnsnames.ora
O arquivo tnsnames.ora
define as conexões com o Oracle. Ele deve ser configurado de acordo com o ambiente do banco de dados que você vai acessar. Para isso, edite o arquivo /usr/lib/oracle/19.19/client64/lib/network/admin/tnsnames.ora
com o seguinte conteúdo:
DBORACLE =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.10)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = orcl)
)
)
Aqui, substitua o HOST
e SERVICE_NAME
pelos valores corretos do seu servidor Oracle.
5. Teste a conexão com o banco de dados Oracle
Depois de configurar o tnsnames.ora
, você pode testar a conexão com o banco Oracle usando o SQL*Plus:
sqlplus dbuser/dbpasswd@DBORACLE
Se a conexão for bem-sucedida, o ambiente do cliente Oracle está configurado corretamente.
6. Configuração do ODBC
Agora, precisamos configurar o ODBC para habilitar a conexão entre o MariaDB e o Oracle. Primeiro, edite o arquivo /etc/odbcinst.ini
para incluir as informações do driver Oracle:
# Oracle
[Oracle_19c]
Description = Oracle ODBC driver for Oracle 19
Driver = /usr/lib/oracle/19.19/client64/lib/libsqora.so.19.1
Em seguida, configure o arquivo /etc/odbc.ini
, onde você define a conexão ao banco de dados:
[dboracle]
Driver = Oracle_19c
ServerName = DBORACLE
DSN=Oracle_19c
UserID = dbuser
Password = dbpasswd
Aqui, o DSN
e ServerName
devem corresponder às definições do seu tnsnames.ora
.
7. Teste de conexão via ODBC
Você pode testar a conexão ODBC utilizando o comando isql
:
isql -v DBORACLE
Se tudo estiver corretamente configurado, o teste de conexão será bem-sucedido.
8. Compilando o plugin ha_connect
O plugin ha_connect
do MariaDB permite que você crie tabelas no MariaDB que estejam conectadas a um banco de dados externo via ODBC. Para compilá-lo, vamos ativar o repositório CodeReady e instalar as ferramentas de desenvolvimento necessárias.
Edite o arquivo /etc/yum.repos.d/oracle-codeready-ol9.repo
para incluir o seguinte conteúdo:
[ol9_codeready_builder_developer]
name=Oracle Linux 9 Developer Preview $releasever ($basearch)
baseurl=https://yum$ociregion.$ocidomain/repo/OracleLinux/OL9/codeready/builder/developer/$basearch/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
gpgcheck=1
enabled=1
Agora, instale as ferramentas necessárias:
dnf groupinstall "Development Tools"
dnf install cmake make gcc-c++ libaio-devel openssl-devel ncurses-devel gnutls-devel unixODBC-devel
Baixe o código-fonte do MariaDB, extraia e compile o plugin ha_connect
:
wget https://downloads.mariadb.org/interstitial/mariadb-10.5.22/source/mariadb-10.5.22.tar.gz
cd /usr/local/src/
tar zxf /root/mariadb-10.5.22.tar.gz
cd mariadb-10.5.22/
cmake . -DBUILD_CONFIG=mysql_release -DPLUGIN_CONNECT=DYNAMIC -DPLUGIN_AUTH_PAM=NO
make
cp ./storage/connect/ha_connect.so /usr/lib64/mariadb/plugin/
9. Instalação do plugin no MariaDB
Reinicie o MariaDB para reconhecer o novo plugin:
systemctl restart mariadb
Em seguida, acesse o console do MariaDB e instale o plugin:
mysql -u root -p
INSTALL SONAME 'ha_connect';
FLUSH PRIVILEGES;
Verifique se o plugin foi instalado corretamente:
SHOW PLUGINS;
10. Criando uma tabela conectada ao Oracle
Agora que tudo está configurado, crie um banco de dados e uma tabela no MariaDB que estará conectada ao banco de dados Oracle:
create database dbteste;
use dbteste;
create table usuario (
codigo numeric(6),
nome varchar(100)
) engine=connect table_type=odbc tabname='owner.usuario' connection='dsn=dboracle';
Por fim, teste a conexão com a tabela no Oracle:
select * from usuario;
Se tudo estiver funcionando, você verá os dados da tabela usuario
do Oracle no MariaDB.
Essa configuração permite integrar o MariaDB com o Oracle, oferecendo mais flexibilidade para acessar e manipular dados em diferentes bancos de dados.
Referências
MariaDB Documentation – Guia oficial sobre o MariaDB, com detalhes sobre instalação, configuração e o uso de plugins, incluindo o ha_connect
. Disponível em: https://mariadb.com/docs/.
Oracle Instant Client – Documentação oficial sobre o Oracle Instant Client, cobrindo a instalação e configuração do client e drivers ODBC. Disponível em: https://www.oracle.com/database/technologies/instant-client.html.
ODBC Driver for Oracle – Informações sobre como configurar drivers ODBC para o Oracle, úteis para garantir a conexão entre o MariaDB e o Oracle. Disponível em: https://docs.oracle.com/en/database/oracle/oracle-database/.
Oracle Linux Documentation – Detalhes técnicos sobre o Oracle Linux 9, incluindo a configuração de repositórios e a instalação de pacotes. Disponível em: https://docs.oracle.com/en/operating-systems/oracle-linux/.
UnixODBC Project – Documentação do projeto unixODBC, fundamental para entender a instalação e configuração do ODBC em sistemas baseados em Linux. Disponível em: http://www.unixodbc.org/.
Se você tiver mais dúvidas sobre este assunto, sinta-se à vontade para entrar em contato.