Utilizando o Oracle Autonomous Transaction Processing

Por Alex Zaballa
Publicado em abril 2019

Revisado por Juan Pablo Guizado

De acordo com a Oracle, o Oracle Autonomous Transaction Processing (ATP) é um serviço da Cloud que fornece um banco de dados fácil de usar, totalmente autônomo, com escala elástica, rápido desempenho e não exige administração do banco de dados.

Este serviço é projetado para suportar as ferramentas padrão SQL e fornece todo o desempenho do banco de dados líder de mercado em um ambiente que é ajustado e otimizado para cargas de trabalho do tipo OLTP.

Para testar o serviço, você pode assinar uma conta trial, que dará direito a 300 dólares em créditos válidos por 30 dias.

Para isso, basta clicar no botão “Try for Free” em https://cloud.oracle.com e seguir os passos:

Após receber os dados de sua conta trial por e-mail, você pode logar clicando no link “Sign In” em https://cloud.oracle.com:

O nome da conta é o mesmo informado em “Cloud Account Name” durante a solicitação do “trial”:

Após isso, basta informar seu usuário e senha (recebidos por e-mail):

Ao logar, você será direcionado para a tela principal do OCI.

Já na tela principal, temos a opção de criar o serviço “Autonomous Transaction Processing”:

Clicando no canto superior esquerdo, o menu principal é exibido:

Criando o seu primeiro banco de dados no Autonomous Transaction Processing

Ao clicar em “Autonomous Transaction Processing” será aberta a tela abaixo, onde deve-se informar:

  • Compartment → Criado previamente e serve para isolar os recursos dentro da Cloud. Podendo ter, por exemplo, um compartment para desenvolvimento e outro para produção.
  • Display Name → Um nome fácil para identificar seu serviço.
  • Database Name → Nome do banco de dados. Deve possuir até 14 caracteres (letras e números).
  • CPU Core Count → Quantidade de CPUs. Atualmente é possível utilizar até 128 cores.
  • Administrator Credentials → Senha do administrador do ambiente.
  • License Type → Aqui você escolhe se irá pagar pelas licenças na Oracle Cloud ou se a sua empresa já possui as licenças necessárias.

Ao clicar no botão “Create Autonomous Transaction Processing” você poderá acompanhar o provisionamento do serviço:

Nos meus testes, em cerca de 25 minutos o serviço estava provisionado e pronto para uso:

Para acessar o serviço via SQL é necessário fazer o download da Wallet clicando em “Service Console”:

Será necessário informar a senha do administrador do ambiente, que foi informada durante a criação do serviço:

Para acessar o banco de dados via SQL Developer, basta adicionar uma conexão do tipo “Cloud Wallet”, apontando para o arquivo zip que fizemos download no passo anterior.

Utilizamos o usuário ADMIN e a senha informada na criação do serviço.

Como podemos ver, teremos 5 opções pré-definidas de serviço para conexão:

  • dbatp01_LOW → Com essa conexão as sessões terão prioridade baixa quando o sistema estiver "sob pressão por recursos". Este serviço não permite a utilização de paralelismo.
  • dbatp01_MEDIUM → Com essa conexão as sessões terão prioridade média quando o sistema estiver "sob pressão por recursos". Este serviço permite a utilização paralelismo, limitado a 4.
  • dbatp01_HIGH → Com essa conexão, as sessões terão prioridade alta quando o sistema estiver "sob pressão por recursos". Este serviço permite a utilização paralelismo.
  • dbatp01_TP → Este é o serviço tipicamente utilizado pelas aplicações. Este serviço não permite a utilização de paralelismo.
  • dbatp01_TP_URGENT → Este é o serviço utilizado pelas aplicações que necessitam prioridade mais alta de processamento. Este serviço permite a utilização de paralelismo.

Para verificar que o serviço está ok, irei rodar um SQL no schema Oracle Sales History (SH):

Importando dados para o Oracle Autonomous Transaction Processing

Alguns métodos suportados:

Neste primeiro exemplo, vamos utilizar o SQL Developer e importar um arquivo CSV.

Neste primeiro exemplo, vamos utilizar o SQL Developer e importar um arquivo CSV.

Selecionar o seu arquivo e formato:

Selecionar o método de “Import” e informar o nome da tabela:

Selecionar as colunas:

Fazer o mapeamento das colunas e tipos de dados:

Importar os dados:

Ao final, verificar se os dados foram importados:

Utilizando o “Service Console”, podemos acompanhar a performance do nosso serviço:

g

Também é possível acompanhar individualmente cada SQL que está sendo executado:

Podemos ver o plano de execução e estatísticas desse SQL:

Utilizando a opção “Scale UP/Down”, é possível aumentar ou diminuir o número de CPUs e storage:

O que achei mais interessante, é que meu SQL continuou rodando durante a operação de Scale. Essa operação é totalmente online:

SQL em execução durante o scale:

SQL em execução na console durante o scale:

Acessando o Oracle Autonomous Transaction Processing via SQLPlus

É possível acessar o seu PDB através do SQLPlus. Para isso, basta descompactar o wallet e copiar alguns arquivos para o seu Oracle Client:

Conteúdo da wallet:

Basta você copiar 3 arquivos, o tnsnames.ora, sqlnet.ora e cwallet.sso para o seu Oracle Client:

Conteúdo do SQLNET.ORA:

Conteúdo do TNSNAMES.ORA:

Acessando via SQLPlus:

Importando dados para o Oracle Autonomous Transaction Processing utilizando o Data Pump

É necessário criar um usuário e gerar um “Authentication Token”.

Criando o usuário:

Gerando o “Token”:

“Token” gerado com sucesso:

Após isso, atribuir essa credencial ao seu banco de dados:

Criar um Bucket e fazer upload do seu arquivo DMP para a Cloud:

Após isso, basta rodar o IMPDP informando o caminho do seu bucket:

impdp userid=admin/sua_senha@dbatp01_high  remap_schema=TEST_USR_MIG:admin schemas=TEST_USR_MIG  
remap_tablespace=TBS_DATA:DATA,TB_TEST_IDX:DATA directory=data_pump_dir  
dumpfile=default_credential:https://swiftobjectstorage.us-ashburn-1.oraclecloud.com/v1/
alexzaballa2019/ATPLAbZabBucket/TEST_USR_MIG_PDB_MIG_NEW.dmp logfile=data_pump_dir:
TEST_USR_MIG_PDB_MIG_NEW.log

Referências:
https://docs.oracle.com/en/cloud/paas/atp-cloud/index.html

Alex Zaballa , formado em Análise de Sistemas, é especialista em Banco de Dados Oracle com sólidos conhecimentos em Servidores de Aplicação e Sistemas Operacionais; trabalha com Oracle há 19 anos, é Oracle ACE Director, certificado OCM Database 12c/MAA/11G/Cloud e conta com mais de 300 outras certificações em produtos da Oracle. Alex também é membro do Groupo de Usuários Oracle do Brasil (GUOB), fundador do Grupo de Usuários Oracle de Angola (GUOA) e membro do time OraWorld.

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.