Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

A Engenharia Protheus, em conjunto com a equipe da Oracle (responsável pela OCI - Oracle Cloud Infrastructure), realizou o trabalho colaborativo de homologação do Oracle Autonomous Transaction Processing (uma das modalidades do Oracle Autonomous Database), gerando melhores insights para a arquitetura computacional a ser utilizada com o Protheus.

Nesta página, constam os insumos obtidos dos testes de benchmark realizados com este banco de dados e ambiente na OCI.

Informações
titleResumo sobre a página e links relacionados

Esta página traz informações sobre o uso do Protheus com o banco de dados Oracle Autonomous Database: Autonomous Transaction Processing, com arquitetura na nuvem pública OCI; quais configurações foram realizadas, pontos de atenção e outras informações relevantes ao assunto.

Note que:

  • Este banco de dados é homologado para o Protheus Release 12.1.33 e posteriores;
  • O banco de dados provisionado foi o Autonomous 19c, mais recente disponível no período de testes
; a
  • ;
  • Cada OCPU equivale à 2 vCPUs;
  • Cada OCPU suporta até 300 sessions abertas no banco de dados;
  • Cada usuário do Protheus abre, pelo menos, 2 sessions no banco de dados quando com dicionário no banco (reforçamos que Jobs, WebServices e RESTs também contam como usuários);
  • A homologação foi realizada para até 250 usuários simultâneos;
é
  • É necessário utilizar a Wallet na configuração do Oracle Client;
recomenda
  • Recomenda-se o uso do banco de dados em modo dedicado quando em produção e em homologação, podendo ser usado em modo compartilhado para ambiente de testes;
recomenda
  • Recomenda-se o uso do DBAccess em modo distribuído;
leia a atenção
  • Algumas tabelas não podem ser acessadas conforme explicitado ao final da página
caso utilize a
  • , isto interfere no uso da chave UseSysTables
.
  • ;

Links de apoio ao conteúdo desta página

Autonomous Database for Transaction Processing and Mixed Workloads (Oracle, em inglês)Overview of Autonomous Databases (Oracle, em inglês)Oracle’s Converged Database (Oracle, em inglês) • Banco de dados homologado: Oracle (TDN)DBAccess - Como configurar o DBAccess para utilizar o Oracle com OCIDBAccess - Configuração distribuídaOracle - Grants mínimos para o funcionamento do DBAccess

Sobre o Oracle Autonomous Transaction Processing (ATP)

O Oracle Autonomous Transaction Processing (ATP) é uma das modalidades de banco de dados do Oracle Autonomous Database (ADB) em nuvem que elimina a complexidade de operar e proteger bancos de dados de alto desempenho. O serviço automatiza o provisionamento, configuração, ajuste, dimensionamento, aplicação de patches, criptografia e reparo de bancos de dados. Além disso, o serviço inclui todas as opções avançadas de banco de dados da Oracle, como clusters de aplicativos reais (RAC), multitenant, particionamento na memória, segurança avançada e compactação avançada. O serviço ATP está disponível no Oracle Cloud Infrastructure (OCI), Cloud Pública, e também em seu próprio data center no Exadata Cloud@Customer.

Para mais informações sobre ATP, clique aqui: https://docs.oracle.com/en/cloud/paas/atp-cloud/index.html

Para mais informações sobre ADB, clique aqui: https://docs.oracle.com/en-us/iaas/Content/Database/Concepts/adboverview.htm

Diferenças entre o banco de dados tradicional e o Autonomous

Um banco de dados On-Premise demanda monitoramento constante e downtime (paradas) para manutenções; sejam estas no servidor ou no próprio software de banco de dados. Em resumo, a proposta do Oracle Autonomous Database é minimizar os riscos associados à interferência humana relacionados à itens como manutenções, escalonamento, configurações, atualizações e segurança; bem como . Para mais informações sobre o Oracle Autonomous Transaction Processing, clique para expandir os tópicos de interesse, que trazem informações sobre este banco de dados. Veja também a página sobre o Autonomous Database e o Autonomous Transaction Processing.

Expandir
titleOperações autônomas

Provisionamento: Implementa bancos de dados tolerantes a falhas e altamente disponíveis em minutos.

Dimensionamento automático: Escala os recursos de computação automaticamente para atender aos requisitos de desempenho e taxa de transferência sem nenhum tempo de inatividade. Permite a verdadeira experiência de pagamento por uso com escalonamento dinâmico online.

Ajustes automáticos: Configura e ajusta bancos de dados automaticamente, mesmo quando os dados e o esquema mudam com o tempo. A configuração da memória, formatos de dados, índices e estruturas de acesso são otimizados automaticamente para melhorar o desempenho.

Backups automatizados: Executa backups incrementais completos e diários semanais do banco de dados no armazenamento de objetos da Oracle e os retém por até 60 dias para restaurar e recuperar a qualquer momento.

Reparação automática: Corrige falhas de hardware e software monitorando e prevendo falhas continuamente. As solicitações são redirecionadas imediatamente para dispositivos saudáveis, mantendo o desempenho do banco de dados.

Failover automático: Elimina o tempo de inatividade do site mantendo uma cópia remota em tempo real de um banco de dados de produção e alternando automaticamente da cópia primária para a remota usando o Autonomous Data Guard.

Clonagem rápida: Crie clones rápidos de todo o banco de dados ou apenas dos metadados, para iniciar rapidamente novos projetos. Crie clones a partir de instâncias de banco de dados em execução ou de um banco de dados de backup.

Expandir
titleProteção e segurança de dados

Criptografia sempre ativa: Fornece criptografia automática para todo o banco de dados e para backups com chaves de criptografia que você cria e controla. Isso garante que os dados estejam sempre seguros em repouso e em movimento.

Correção automática: Corrige e atualiza bancos de dados para vulnerabilidades de segurança com tempo de inatividade zero. Os aplicativos continuam em execução conforme ocorrem os patches.

Privacidade de dados: Permite que os administradores de banco de dados executem todas as tarefas administrativas sem nunca ver os dados do cliente. Bloqueia o acesso ao SO sistema operacional ou privilégios de administrador para evitar ataques de phishing.

Segurança para dados confidenciais: O Oracle Data Safe, incluído no Autonomous Transaction Processing, torna mais fácil descobrir dados confidenciais, avaliar riscos de segurança, mascarar dados confidenciais e implementar e monitorar controles de segurança.

Auditoria avançada: Registra todos os eventos com impacto mínimo no desempenho. Você pode monitorar auditorias a qualquer momento para análise, análises forenses e conformidade.

Expandir
titleAlto desempenho e disponibilidade

Alto desempenho: Oferece latência 80% menor e mais de 5X de rendimento do que outros provedores de nuvem, utilizando hardware otimizado para banco de dados, ajuste automatizado e indexação.

Sempre online: Oferece mais de 99,95% de disponibilidade usando uma combinação de Infraestrutura de Gen 2 Cloud da Oracle, Oracle RAC, Autonomous Data Guard e backups automáticos diários.

Proteção contra erro humano: O Oracle Flashback, fornecido com o Autonomous Transaction Processing, rebobina instantaneamente as alterações acidentais nos esquemas do aplicativo, protegendo os usuários de erros humanos. Oferece suporte à recuperação em todos os níveis, incluindo linha, transação e tabela - e em todo o banco de dados.

Expandir
titleApoio ao desenvolvimento de aplicativos

Suporte para modelos de dados relacionais e não relacionais: Oferece suporte nativo a vários tipos de dados, incluindo documento, gráfico, espacial, JSON, XML e mais para desenvolvimento mais rápido de aplicativos. Evita a fragmentação de dados e reduz os incômodos de gerenciamento de dados resultantes de armazenamentos de dados isolados.

Suporte de API REST para desenvolvimento de aplicativos modernos: Forneça APIs REST de gerenciamento de banco de dados, interface da web e Gateway PL/SQL para habilitar em REST todos os seus dados para um acesso mais simples e rápido.

Algoritmos de machine learning Machine Learning (ML) no banco de dados: Fornece mais Mais de 30 algoritmos de ML, funções de ML automatizadas e integração com código aberto Python e R, para facilitar a construção de modelos de ML e painéis analíticos sem mover dados do banco de dados.

Expandir
titleVisão Oracle para Data Management: Arquitetura convergente

Multi-Modelo: Suporte nativo para vários tipos de modelos de dados e métodos de acesso.

Multitenant: Banco de dados em container proporcionando consolidação, isolamento e agilidade.

Multi-Workload: Otimizações de software que funcionam sozinhas ou em conjunto para oferecer um preço excepcional e um alto desempenho em todas as tarefas do banco de dados.

Para mais informações sobre Arquitetura Convergente, clique aqui: https://www.oracle.com/br/a/otn/docs/database/oracle-converged-database-technicalbrief.pdf, confira este documento (PDF, em inglês)

Expandir
titleInformações sobre modelo comercial
Byol

BYOL (Bring Your Own License): Enterprise Edition

Se você tiver o Oracle Database Enterprise Edition e as opções necessárias listadas abaixo, seus requisitos de BYOL serão os seguintes:

Para 1-16 OCPUs de uma única instância do Oracle Autonomous Database:

  • Para cada licença de Processador suportada do Oracle Database Enterprise Edition mais Opções: Multitenant, você pode ativar até 2 OCPUs do Serviço em Nuvem BYOL.
  • Para cada 25 licenças de Usuário Nomeado Plus suportado do Oracle Database Enterprise Edition mais Opções: Multitenant, você pode ativar 1 OCPU do Serviço em Nuvem BYOL.

Para 17 OCPUs ou mais de um único Oracle Autonomous Database:

  • Para cada licença de Processador suportada do Oracle Database Enterprise Edition mais Opções: Clusters Multitenant e Real Application, você pode ativar até 2 OCPUs do Serviço em Nuvem BYOL.
  • Para cada 25 licenças de Usuário Nomeado Plus suportado do Oracle Database Enterprise Edition mais Opções: Clusters Multitenant e Real Application, você pode ativar 1 OCPU do Serviço em Nuvem BYOL.
Byol

BYOL: Standard Edition

Para 1-8 OCPUs do Oracle Autonomous Transaction Processing Cloud:

- Para cada Licença de Processador suportada de Programas Oracle Database Standard Edition (onde um Processador é definido como equivalente a um soquete ocupado), você pode ativar até 4 OCPUs do Serviço de Nuvem BYOL. 

- Para cada 10 licenças Named User Plus suportadas dos Programas Oracle Database Standard Edition, você pode ativar 1 OCPU do BYOL Cloud Service.

Cada instância do Oracle Autonomous Transaction Processing Cloud não pode exceder 8 OCPUs.

Licensing Included: Todos os recursos estão inclusos de acordo com a edição do banco de dados, atualmente a versão disponível é a Oracle 19c.

Para informações sobre o serviço de créditos universais, acesse este link.

Considerações sobre o uso do Oracle ATP

Embora a proposta do banco de dados seja minimizar a interferência humana, para uso do banco de dados com o Protheus é importante ressaltar alguns itens e configurações iniciais.

Character set homologado para uso com o Banco de dados Oracle

Na página sobre Oracle para Protheus, é informada a collation utilizada com este banco de dados: WE8MSWIN1252. O Oracle ATP é criado com o chatacter set AL32UTF8, sendo necessária sua conversão.

Aviso

Este procedimento deve ser realizado antes de se criar qualquer objeto no banco de dados.

  • Conecte-se em seu ATP (limpo, ou seja, sem objetos) utilizando o Oracle SQL*Plus ou Oracle SQL Developer com o usuário ADMIN (super usuário do Autonomous Database);
  • Execute o comando:
Bloco de código
EXEC DBMS_CLOUD_ADMIN.change_character_set('WE8MSWIN1252')
  • Reinicie a instância do ATP;
  • Valide se a conversão foi bem sucedida com a seguinte query:
Bloco de código
linenumberstrue
select parameter, value from v$nls_parameters where parameter like '%NLS_CHARACTERSET%';      
Bloco de código
titleResultado esperado
PARAMETER                   VALUE                         
--------------------------- ------------------------------
NLS_CHARACTERSET            WE8MSWIN1252                  
Nota
titleAtenção

 O APEX User Interface é homologado no Autonomous Database apenas com o character set original. Caso esta funcionalidade precise ser utilizada, deverá ser provisionada uma instância do Autonomous separada ao APEX.

Conectando-se ao banco de dados

O Protheus utiliza a ferramenta DBAccess para conexão aos bancos de dados homologados; este, por sua vez, utiliza a OCI (Oracle Call Interface), e precisa, dentre outras configurações, que o arquivo TNSNAMES.ora seja configurado. Para mais informações, consulte a documentação: Como configurar o DBAccess para utilizar o Oracle com OCI - TOTVSTEC - TDN.

Nota

Como a conexão com o banco de dados Oracle Autonomous é obrigatoriamente SSL (Secure Sockets Layer), se faz necessário também utilizar Wallet na configuração do Oracle Client.

Informações

Para esclarecer a configuração, a linha de conexão adicionada foi:

Bloco de código
adbtotvs_tp = (description= (retry_count=20)(retry_delay=3)(address=(protocol=tcps)(port=1522)(host=XXXadb.sa-saopaulo-1.oraclecloud.com))(connect_data=(service_name=XXXXXXXXXXXXX_adbXXXXX_tp.adb.oraclecloud.com))(security=(ssl_server_cert_dn="CN=adb.sa-saopaulo-1.oraclecloud.com, OU=Oracle ADB SAOPAULO, O=Oracle Corporation, L=Redwood City, ST=California, C=US")))

Onde o significado de cada parâmetro é:

  • retry_count: número de tentativas de conexão ao(s) endereço(s) especificado(s) antes de se abortar a conexão;
  • retry_delay: intervalo, em segundos, entre as tentativas especificadas;
  • address: endereço de conexão;
  • protocol: protocolo de conexão;
  • port: porta para conexão;
  • host: nome do host;
  • connect_data: dados de conexão;
  • service_name: nome do serviço;
  • security: informações de segurança da conexão;
  • ssl_server_cert_dn: especifica o nome distinto do servidor de database, similar à como um path especifica a localização de um arquivo.

Como a conexão com o banco de dados Oracle Autonomous é obrigatoriamente SSL (Secure Sockets Layer), se faz necessário também utilizar Wallet na configuração do Oracle Client.

Sizing e quantidade de usuários

É possível realizar o escalonamento de OCPUs para o banco de dados. Tendo em mente que cada usuário do Protheus abre, no mínimo, 2 sessions no banco de dados, e que cada OCPU suporta até 300 sessions, conclui-se que para o volume de 250 usuários, são necessárias, no mínimo, 2 OCPUs no banco de dados.

Aviso

Os valores descritos são referência de uma configuração mínima, e é possível que para o volume de 250 usuários sejam necessários mais OCPUs, a depender dos processos executados. Sempre realize a validação em um ambiente de homologação antes de migrar seu ambiente de produção.

Para este banco de dados, são foram homologados até 250 usuários. Consulte na página sobre a homologação do Protheus em OCI exemplos para o sizing.

Mais informações

De acordo com a documentação de Oracle - Grants mínimos para o funcionamento do DBAccess, são necessários grants específicos no banco de dados Oracle. Porém, com o ATP, não é possível atribuir permissão sobre as tabelas:

  • SYS.COL$
  • SYS.OBJ$
  • SYS.IND$
  • SYS.ICOL$

Estas tabelas são utilizadas quando a chave UseSysTables está ativa; certifique-se de que a ausência destas chaves não afetará o funcionamento de seu produto.