Aprenderemos como migrar um banco de dados Oracle (On-Premise) para a Cloud em Autonomus de banco de dados.
Neste artigo vamos mostrar o uso de uma nova ferramenta chamada MV2ADB. Essa ferramenta pode, depois de concluir o arquivo de configuração, executar todas as etapas para exportar, transportar e importar um banco de dados para o Oracle Autonomous Cloud.
O script que permite a migração fácil para o ADB pode ser baixado do My Oracle Support através do note 2463574.1.
INSTALE A FERRAMENTA MV2ADB COMO ROOT
[root@hol /]# cd binaries/
[root@hol binaries]# ll
total 52532
-rw-r--r--. 1 oracle dba 31216 Jul 13 19:08 mv2adb-2.0.1-40.noarch.rpm
-rw-r--r--. 1 oracle dba 53758240 Jul 13 19:08 oracle-instantclient19.3-basic-19.3.0.0.0-1.x86_64.rpm
[root@hol binaries]# rpm -ivh mv2adb-2.0.1-40.noarch.rpm
warning: mv2adb-2.0.1-40.noarch.rpm: Header V4 RSA/SHA1 Signature, key ID e7004b4d: NOKEY
Preparing... ################################# [100%]
Updating / installing...
1:mv2adb-2.0.1-40 ################################# [100%]
MV2ADB has been installed on /opt/mv2adb succesfully!
[root@hol binaries]#
Tenha em atenção que o script de instalação mostra a localização onde a ferramenta foi instalada. Neste caso/opt/mv2adb. Precisamos disso mais tarde.
Nós precisamos fazer o download e descompactar os arquivos necessários para o Oracle Instant Client. No diretório /opt/instalclient temos descompactado a base Instant Client, o SQL*Plus e o Tools. Todos foram feito download do OTN.
instantclient-basic-linux.x64-19.3.0.0.0dbru.zip
instantclient-tools-linux.x64-19.3.0.0.0dbru.zip
instantclient-sqlplus-linux.x64-19.3.0.0.0dbru.zip
[root @ hol opt] # unzip /binaries/instantclient-basic-linux.x64-19.3.0.0.0dbru.zip
Archive: /binaries/instantclient-basic-linux.x64-19.3.0.0.0dbru.zip
inflating: instantclient_19_3 / adrci
inflating: instantclient_19_3 / BASIC_LICENSE
inflating: instantclient_19_3 / BASIC_README
inflating: instantclient_19_3 / genezi
inflating: instantclient_19_3 / libclntshcore.so.19.1
linking: instantclient_19_3 / libclntsh.so -> libclntsh.so.19.1
linking: instantclient_19_3 / libclntsh.so.10.1 -> libclntsh.so.19.1
linking: instantclient_19_3 / libclntsh.so.11.1 -> libclntsh.so.19.1
linking: instantclient_19_3 / libclntsh.so.12.1 -> libclntsh.so.19.1
linking: instantclient_19_3 / libclntsh.so.18.1 -> libclntsh.so.19.1
inflating: instantclient_19_3 / libclntsh.so.19.1
inflating: instantclient_19_3 / libipc1.so
inflating: instantclient_19_3 / libmql1.so
inflating: instantclient_19_3 / libnnz19.so
linking: instantclient_19_3 / libocci.so -> libocci.so.19.1
linking: instantclient_19_3 / libocci.so.10.1 -> libocci.so.19.1
linking: instantclient_19_3 / libocci.so.11.1 -> libocci.so.19.1
linking: instantclient_19_3 / libocci.so.12.1 -> libocci.so.19.1
linking: instantclient_19_3 / libocci.so.18.1 -> libocci.so.19.1
inflating: instantclient_19_3 / libocci.so.19.1
inflating: instantclient_19_3 / libociei.so
inflating: instantclient_19_3 / libocijdbc19.so
inflating: instantclient_19_3 / liboramysql19.so
creating: instantclient_19_3 / network /
inflating: instantclient_19_3 / ojdbc8.jar
inflating: instantclient_19_3 / ucp.jar
inflating: instantclient_19_3 / uidrvci
inflating: instantclient_19_3 / xstreams.jar
creating: instantclient_19_3 / network / admin /
inflating: instantclient_19_3 / network / admin / README
finishing deferred symbolic links:
instantclient_19_3 / libclntsh.so -> libclntsh.so.19.1
instantclient_19_3 / libclntsh.so.10.1 -> libclntsh.so.19.1
instantclient_19_3 / libclntsh.so.11.1 -> libclntsh.so.19.1
instantclient_19_3 / libclntsh.so.12.1 -> libclntsh.so.19.1
instantclient_19_3 / libclntsh.so.18.1 -> libclntsh.so.19.1
instantclient_19_3 / libocci.so -> libocci.so.19.1
instantclient_19_3 / libocci.so.10.1 -> libocci.so.19.1
instantclient_19_3 / libocci.so.11.1 -> libocci.so.19.1
instantclient_19_3 / libocci.so.12.1 -> libocci.so.19.1
instantclient_19_3 / libocci.so.18.1 -> libocci.so.19.1
[root @ hol opt] # unzip /binaries/instantclient-tools-linux.x64-19.3.0.0.0dbru.zip
Archive: /binaries/instantclient-tools-linux.x64-19.3.0.0.0dbru.zip
inflating: instantclient_19_3 / exp
inflating: instantclient_19_3 / expdp
inflating: instantclient_19_3 / imp
inflating: instantclient_19_3 / impdp
inflating: instantclient_19_3 / libnfsodm19.so
inflating: instantclient_19_3 / sqlldr
inflating: instantclient_19_3 / TOOLS_LICENSE
inflating: instantclient_19_3 / TOOLS_README
inflating: instantclient_19_3 / wrc
[root @ hol opt] # unzip /binaries/instantclient-sqlplus-linux.x64-19.3.0.0.0dbru.zip
Archive: /binaries/instantclient-sqlplus-linux.x64-19.3.0.0.0dbru.zip
inflating: instantclient_19_3 / glogin.sql
inflating: instantclient_19_3 / libsqlplusic.so
inflating: instantclient_19_3 / libsqlplus.so
inflating: instantclient_19_3 / sqlplus
inflating: instantclient_19_3 / SQLPLUS_LICENSE
inflating: instantclient_19_3 / SQLPLUS_README
[root @ hol opt] #
Change installclient folder owner and group
[root @ hol opt] # chown oracle: dba instantclient_19_3 /
[root @ hol opt] # ll -l instantclient_19_3 /
total 240144
-rwxr-xr-x. 1 root root 41840 Apr 17 08:38 adrci
-r-xr-xr-x. 1 root root 5780 Apr 17 08:38 BASIC_LICENSE
-rw-r - r--. 1 root root 1632 Apr 17 08:38 BASIC_README
-rwxr-xr-x. 1 root root 1018968 Apr 17 08:39 exp
-rwxr-xr-x. 1 root Root 220640 Apr 17 08:39 expdp
-rwxr-xr-x. 1 root root 59296 Apr 17 08:38 genezi
-rw-r - r--. 1 root root 342 Apr 17 08:39 glogin.sql
-rwxr-xr-x. 1 root Root 502536 Apr 17 08:39 imp
-rwxr-xr-x. 1 root Root 232768 Apr 17 08:39 impdp
-rwxr-xr-x. 1 root root 8041608 Apr 17 08:38 libclntshcore.so.19.1
lrwxrwxrwx. 1 root 17 Jul 13 21:53 libclntsh.so -> libclntsh.so.19.1
lrwxrwxrwx. 1 root 17 Jul 13 21:53 libclntsh.so.10.1 -> libclntsh.so.19.1
lrwxrwxrwx. 1 root 17 Jul 13 21:53 libclntsh.so.11.1 -> libclntsh.so.19.1
lrwxrwxrwx. 1 root 17 Jul 13 21:53 libclntsh.so.12.1 -> libclntsh.so.19.1
lrwxrwxrwx. 1 root 17 Jul 13 21:53 libclntsh.so.18.1 -> libclntsh.so.19.1
-rwxr-xr-x. 1 root root 79961792 Apr 17 08:38 libclntsh.so.19.1
-r-xr-xr-x. 1 root Root 3609536 Apr 17 08:38 libipc1.so
-r-xr-xr-x. 1 root root 478432 Apr 17 08:38 libmql1.so
-rwxr-xr-x. 1 root root 60024 Apr 17 08:39 libnfsodm19.so
-rwxr-xr-x. 1 root Root 6587832 Apr 17 08:38 libnnz19.so
lrwxrwxrwx. 1 root Root 15 Jul 13 21:53 libocci.so -> libocci.so.19.1
lrwxrwxrwx. 1 root Root 15 Jul 13 21:53 libocci.so.10.1 -> libocci.so.19.1
lrwxrwxrwx. 1 root Root 15 Jul 13 21:53 libocci.so.11.1 -> libocci.so.19.1
lrwxrwxrwx. 1 root Root 15 Jul 13 21:53 libocci.so.12.1 -> libocci.so.19.1
lrwxrwxrwx. 1 root Root 15 Jul 13 21:53 libocci.so.18.1 -> libocci.so.19.1
-rwxr-xr-x. 1 root root 2339896 Apr 17 08:38 libocci.so.19.1
-rwxr-xr-x. 1 root Root 130515320 Apr 17 08:38 libociei.so
-r-xr-xr-x. 1 root Root 153624 Apr 17 08:38 libocijdbc19.so
-rwxr-xr-x. 1 root root 115976 Apr 17 08:38 liboramysql19.so
-rwxr-xr-x. 1 root root 1660752 Apr 17 08:39 libsqlplusic.so
-rwxr-xr-x. 1 root root 1573416 Apr 17 08:39 libsqlplus.so
drwxr-xr-x. 3 root root 19 Apr 17 08:38 network
-rw-r - r--. 1 root Root 4210517 Apr 17 08:38 ojdbc8.jar
-rwxr-xr-x. 1 root root 1660560 Apr 17 08:39 sqlldr
-rwxr-xr-x. 1 root root 24792 Apr 17 08:39 sqlplus
-r-xr-xr-x. 1 root root 5780 Apr 17 08:39 SQLPLUS_LICENSE
-rw-r - r--. 1 root root 1640 Apr 17 08:39 SQLPLUS_README
-r-xr-xr-x. 1 root root 5780 Apr 17 08:39 TOOLS_LICENSE
-rw-r - r--. 1 root root 1632 Apr 17 08:39 TOOLS_README
-rw-r - r--. 1 root root 1680074 Apr 17 08:38 ucp.jar
-rwxr-xr-x. 1 root root 236960 Apr 17 08:38 uidrvci
-rwxr-xr-x. 1 root root 751072 Apr 17 08:39 wrc
-rw-r - r--. 1 root Root 74263 Apr 17 08:38 xstreams.jar
[root @ hol opt] #
Faça login no Oracle Cloud e clique no"Create Instance".
Clique no botão "Create" no Autonomous Transaction Processing
Selecione o compartimento no qual deseja criar o serviço e clique no botão "Create Autonomous Database"..
Insira os detalhes do serviço que você deseja criar. Os tamanhos padrão são 1 núcleo da CPU e 1TB de armazenamento. Lembre-se de selecionar o modelo de licenciamento apropriado. Clique no botão "Create Autonomous Database".
Compartment:
Display Name: MIGRATE_DBON_DBOCI
Database Name: MIGRATE
Workload Type: Transaction Processing
Choose a deployment type: Serverless
CPU Core Count: 1
Storage (TB): 1
Password: OracleMIG # 2019
License Type: My Organization Already owns Oracle Database (etc ..)
Este processo levará entre 5 e 10 minutos para ser concluído.
Como precisamos fazer o upload da exportação para o ambiente OCI, precisamos criar um local para fazer isso. O script MV2ADB pode criar um novo local, mas isso exigiria a configuração das ferramentas de linha de comando OCI. Como esse ambiente está usando uma abordagem mais genérica, precisamos pré-criar o diretório (chamado Bucket).
Selecione o compartimento no qual deseja criar o serviço e clique no botão "Create Bucket".
Insira os detalhes do serviço que você deseja criar. Clique no botão "Create Bucket"
Anote o nome do Bucket, pois precisaremos dele em nosso arquivo de configuração. O nome do Bucket no arquivo de configuração diferencia maiúsculas de minúsculas.
Nem tudo é suportado no Autonomous Database Cloud. Para certificar-se de que você não ter em qualquer problema, uma ferramenta chamada ADB Schema Advisor foi criada para esta validação. Este pacote PL/SQL gerar um relatório para mostrar qualquer problema que você possa encontrar antes de realmente executar a migração.
O ADB Schema advisor pode ser feito download a partir do MOS note 2462677.1 (Oracle Autonomous Database Schema Advisor).
Baixe a versão mais recente para o seu ambiente.
Por favor, note; em um ambiente regular, este pacote não requer SYS ou usuário do sistema para ser instalado.
Por favor, verifique o manual as etapas de instalação exata.
[oracle@hol ~]$ . oraenv
ORACLE_SID = [oracle] ? UPGR
ORACLE_BASE environment variable is not being set since this
information is not available for the current user ID oracle.
You can set ORACLE_BASE manually if it is required.
Resetting ORACLE_BASE to its previous value or ORACLE_HOME
The Oracle base has been set to /u01/app/oracle/product/11.2.0.4
[oracle@hol ~]$ sqlplus
SQL*Plus: Release 11.2.0.4.0 Production on Sat Jul 13 23:17:26 2019
Copyright (c) 1982, 2013, Oracle. All rights reserved.
Enter user-name: / as sysdba
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> @/home/oracle/adb_advisor.plb
Package created.
Package body created.
SQL>
SQL>
Como você pode ver, há alguns objetos de diretório que não podem ser migrados como ADB não suporta o acesso ao sistema de arquivos local (besides the DP_DUMP_DEST directory).
Uma segundo problema é que 1 tabela que aparentemente precisa de mudanças antes que possa ser importada. Um pouco mais adiante no relatório, as questões são explicad
O arquivo de configuração para MV2ADB precisa de uma série de parâmetros para exportação, upload do dumpfile e importação do dumpfile. Um arquivo completo com dicas pode ser encontrado no diretório/opt/mv2adb/conf. Para este laboratório, usaremos apenas os parâmetros necessários para uma migração simples.
CRIAR UM NOVO ARQUIVO PARA CONFIGURAÇÃO
sudo vi /opt/mv2adb/conf/ATP.mv2adb.conf
Recortar e colar os parâmetros abaixo neste novo documento para que possamos começar a inserir os dados necessários. Neste momento, apenas copiar e colar o conteudo abaixo, vamos fazer alterações nos valores nas seções a seguir.
# DB Parameters
DB_CONSTRIG=//hol:1521/UPGR
SYSTEM_DB_PASSWORD=D5E036E7E7A09843561DCB5AEA05BCD2
SCHEMAS=CARLOCA
DUMPFILES=/tmp/DB112-UPGR.dmp
OHOME=/u01/app/oracle/product/11.2.0.4
ICHOME=/opt/instantclient_19_3
# Expdp/Impdp Parameters
ENC_PASSWORD=D5E036E7E7A09843561DCB5AEA05BCD2
ENC_TYPE=AES256
# Object Store Properties
BMC_HOST=
BMC_TENNANT=
BMC_BUCKET=
BMC_ID=
BMC_PASSWORD=
# ADB Parameters
ADB_NAME=
ADB_PASSWORD=
CFILE=
A seção inicial é referente ao banco de dados de origem. Por favor, insira as seguintes informações para o ambiente de origem. Aqui estão algumas informações onde você pode encontrar os detalhes:
DB_CONSTRIG
Connecting string (onde mv2adb está sendo executado) para a instância de banco de dados que precisa ser migrada
SYSTEM_DB_PASSWORD
Password do SYSTEM do banco de dados de origem
SCHEMAS
Schema's para exportação apenas transporta o esquema que você precisa, não incluem qualquer esquema padrão como HR, OE, system, sys etc como eles já existem no ADB e pode resultar em erros (ou ser ignorado)
DUMPFILES
File system onde ficam seus dumpfiles. Se você quiser paralelismo durante a exportação e importação, especifique quantos arquivos quiser. Certifique-se de que os arquivos são exclusivos na origem, mas também no ambiente de destino (ATP).
OHOME
Caminho do database Oracle Home
IHOME
Caminho do Oracle Instant Client home (basic, SQL*Plus and Tools unzipped)
Nesta seção, você especifica a senha de criptografada e o tipo de criptografia para sua exportação. Para certificar-se de que seus dados não podem ser comprometidos ao exportar e carregar seus dados, o script requer uma senha.
ENC_PASSWORD
Uma senha que criptografará seus export de datapump. Não tem nada a ver com qualquer usuário ou senha existente. Tenha em atenção que este password não pode ser texto simples. A senha precisa ser criptografada usando os binários do mv2adb no seu sistema
END_TYPE
Tipo de encriptação dos seus dados. Quanto maior o número, mais criptografia, mas também mais lenta exportação/importação. As opções são AES128, AES192 e AES256
A senha que usaremos para este ambiente é Oracle
[oracle@hol ~]$ /opt/mv2adb/mv2adb encpass
Please enter the password : oracle
Please re-enter the password : oracle
D5E036E7E7A09843561DCB5AEA05BCD2
Certifique-se de que sua senha criptografada está inserida no seu arquivo de configuração ATP.mv2adb.conf.
O Autonomous database Só pode usar dumpfiles carregados para o armazenamento compatível com Swift. Os parâmetros a seguir especificam onde os dumpfiles devem ser carregados após a exportação. Este é também o local onde os arquivos de log serão armazenados. Em vez dos detalhes SWIFT abaixo, você também pode optar por instalar localmente o cliente OCI e usar essa configuração..
BMC_HOST
Este é Swift object storage URL do seu ambiente.
BMC_TENNANT
Nome do seu Tenancy. Esteja ciente, para SWIFT somente usamos em lower case
BMC_BUCKET
O nome de um novo Bucket que será criado para essa migração.
BMC_ID
Seu usuário no OCI
BMC_PASSWORD
O token de autenticação Swift criptografado usando o codificador de senha mv2adb.
GERAR TOKEN PARA SWIFTAPI
Clique em Identity e selecione Users
Selecione o usuário para criar o token de autenticação.
Clique em Generate Token
Coloque a descrição sobre este token e clique emGenerate Token
Copie este token para usar no conectar a ferramenta mv2adb com Object Storage.
LOCALIZE A SENHA DE AUTENTICAÇÃO SWIFT E CRIPTOGRAFE A SENHA USANDO A FERRAMENTA MV2ADB.
[oracle@hol ~]$ cat /home/oracle/auth_token.txt
cn#Wi]6xv4hO(:j0l0SX
[oracle@hol ~]$ /opt/mv2adb/mv2adb encpass
Please enter the password :
Please re-enter the password :
E54C941DA0DBA8EB467DCC7F0C04(...)ED747D3AF6B6184BC173B78DE426CEBE4
PREENCHA TODOS OS DETALHES DAS CONFIGURAÇÕES DO OBJECT STORAGE
# Object Store Properties
BMC_HOST=https://swiftobjectstorage.eu-frankfurt-1.oraclecloud.com
BMC_TENNANT= andreontalba
BMC_BUCKET= BC_MIGRATE
BMC_ID=andre.ontalba
BMC_PASSWORD= E54C941DA0DBA8EB467DCC7F0C04(...)ED747D3AF6B6184BC173B78DE426CEBE4
Durante a reunião dos outros parâmetros, seu ambiente ADB deveria ter sido criado. Como último passo, reuniremos agora as informações necessárias para a última seção.
ADB_NAME
Nome da sua instance ADB
ADB_PASSWORD
Password do ADMIN do seu ADB
CFILE
Caminho onde está localizado seu arquivo de conexão do ADB
Primeiro parâmetro requer o nome do seu ambiente ADB criado. Navegue até o console do ADB e encontre o nome do banco de dados. Meu banco de dados é MIGRATE
Segundo parâmetro é a senha que você inseriu ao criar o ambiente Autonomous. Se você usou a senha sugerida, seria OracleMIG#2019. Se você tiver escolhido outra senha, você precisa se lembrar dela.
CRIPTOGRAFAR SUA SENHA DE BANCO DE DADOS USANDO A OPÇÃO MV2ADB ENCRYPT
[oracle@hol ~]$ /opt/mv2adb/mv2adb encpass
Please enter the password :
Please re-enter the password :
DE3D105A8E6F6A4D5E86EXSW6BC1D3BA
Para o 3º parâmetro, precisamos baixar o arquivo de conexão no console do OCI, o arquivo se chama Wallet.
CLICK 'DB CONNECTION BUTTON
A seguinte tela será exibida:
CLIQUE NO BOTÃO 'DOWNLOAD PARA FAZER O DOWNLOAD DO WALLET ZIP
Na tela a seguir é solicitada uma senha. Esta é a senha que protege o keystore dentro do zipfile.
DIGITE PASSWORD E CLIQUE EM 'DOWNLOAD'
Seu zipfile deve ser transferido para o local padrão /home/oracle/Downloads. Anote por favor o nome do wallet. zip e incorpore isto em seus parâmetros.
# ADB Parameters
ADB_NAME = MIGRATE
ADB_PASSWORD = DE3D105A8E6F6A4D5E8XXXSW6BC1D3BA
CFILE = /home/oracle/Downloads/wallet.zip
CERTIFIQUE QUE TODOS OS PARÂMETROS FORAM INSERIDOS E SALVE O ARQUIVO EM:
/opt/mv2adb/conf/ATP.mv2adb.conf
Inicie o SCRIPT MV2ADB usando o arquivo de configuração que você acabou de criar.
[oracle @ hol ~] $ sudo / opt / mv2adb / mv2adb auto -conf /opt/mv2adb/conf/ATP.mv2adb.conf
INFO: 2019-08-31 14:08:27: Please check the logfile '/opt/mv2adb/out/log/mv2adb_12765.log'
for more details
-------------------------------------------------- ------
mv2adb - Move data to Oracle Autonomous Database
Author: Ruggero Citton
RAC Pack, Cloud Innovation and Solution Engineering Team
Copyright (c) 1982-2019 Oracle and / or its affiliates.
Version: 2.0.1-29
-------------------------------------------------- ------
INFO: 2019-08-31 14:08:27: Reading the configuration file '/opt/mv2adb/conf/ATP.mv2adb.conf'
INFO: 2019-08-31 14:08:28: Checking schemas on source DB
...
INFO: 2019-03-31 14:08:54: ... loading '/tmp/DB112-UPGR.dmp' into bucket 'UPGRADEBUCKET-RP'
SUCCESS: 2019-03-31 14:09:27: ... file '/tmp/DB112-UPGR.dmp' uploaded on 'UPGRADEBUCKET-RP'
successfully
SUCCESS: 2019-03-31 14:09:27: Upload of '1' dumps over Oracle Object Store complete
successfully
INFO: 2019-03-31 14:09:27: Performing impdp into ADB ...
INFO: 2019-03-31 14:09:27: Step1 - ... drop Object Store Credential
INFO: 2019-03-31 14:09:29: Step2 - ... creating Object Store Credential
INFO: 2019-03-31 14:09:36: Step3 - ... executing import datapump to ADB
INFO: 2019-03-31 14:12:42: Moving impdp log 'mv2adb_impdp_20190831-140936.log' to Object Store
SUCCESS: 2019-03-31 14:12:43: Impdp to ADB 'MIGRATE' executed successfully
Após cerca de 10 minutos, todas as etapas devem ter sido executadas com êxito. Se você encontrar algum erro, por favor, verifique o arquivo de log que foi exibido imediatamente depois de iniciar o script. Isso conterá todas as etapas individuais, os comandos usados e a saída desses comandos.
Use SQL * DEVELOPER para verificar se o usuário carloca foi migrado para ATP
Na área de trabalho, você pode ver o SQL * Developer. Inicie esta aplicação
Create a new ATP connection by clicking the green light + in the CONNECTIONS panel
Connection Name: MYATP
Username: admin
Password: OracleMIG # 2019 (or any other password you have used)
Connection Type: Cloud Wallet
Configuration File: < select the wallet you downloaded in / home / oracle / Downloads >
Service: migrate_tp
Entre com os detalhes necessários e pressione Connect
Após a conexão, uma nova janela SQL será exibida. Aqui você pode executar consultas no ambiente ATP.
enter com a consulta e pressione a seta verde para executá-lo
Na janela resultado da consulta, o resultado da consulta será exibido:
André Luiz Dutra Ontalba, formado em Ciências da Computação, é especialista em Banco de Dados Oracle com sólidos conhecimentos em Engineered Systems, Performance "&" Tuning, RAC, Oracle Cloud e Oracle ERP's System; Trabalha com Oracle há 17 anos, certificado OCP Oracle 11/12g/Cloud e conta com mais de 27 outras certificações em produtos da Oracle. Atualmente trabalha como Senior Database Architect na Sogeti Luxembourg uma empresa da Capgemini Group. André também é fundador do Grupo de Usuários Oracle de Luxemburgo (LUXOUG). Articulista para o OTN, GPO (Grupo de Usuários Oracle Brasil) e LUXOUG. Twitter @aontalba / blog www.dbadutra.com
Rodrigo Mufalani é um Oracle ACE member e Oracle Certified Master (OCM) com 15 anos de experiência, começou com o Oracle 8i, mas teve a oportunidade de dar suporte a Oracle 7.3.4 em diante. É especialista em banco de dados Oracle com foco principal em Engineered Systems, Performance & Tuning e RAC. Ele é fundador e presidente e também palestrante do Luxembourg Oracle User Group. É palestrante em eventos de Oracle como: OTN LAD TOUR e OTN EMEA TOUR e outros. Atualmente trabalha como Principal DBA na eProseed Europe. Foi o terceiro Oracle ACE a ser nomeado no Brasil. Twitter @mufalani / blog Mufalani.worpress.com
Este artigo foi revisto pela equipe de produtos Oracle e está em conformidade com as normas e práticas para o uso de produtos Oracle.