Á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 a partir do Protheus Release 12.1.33, verifique especificações de cada release;
  • O banco de dados provisionado foi o Autonomous 19c, conforme homologação mais recente disponível no período de testesdo banco de dados Oracle;
  • 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);
  • É necessário utilizar a Wallet na configuração do Oracle Client;
  • Recomenda-se o uso do DBAccess em modo distribuído;
  • Algumas tabelas não podem ser acessadas conforme explicitado ao final da página, 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 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.

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 incluir todas as opções avançadas de banco de dados da Oracle. Para mais informações sobre o Oracle Autonomous Transaction Processing, clique para expandir os tópicos de interesse. 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 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 (ML) no banco de dados: 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, confira este documento (PDF, em inglês)

Expandir
titleInformações sobre modelo comercial

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: 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.

Aviso
titleCharacter set

Altere o character set para WE8MSWIN1252 no momento de criação da instância do Oracle ATP.

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 o Instant Client, 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.

Caso possua o ambiente em Linux, confira dicas para a configuração de seu ambiente.

Aviso

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.

Sizing e quantidade de usuários

É possível realizar o escalonamento de OCPUs para o banco de dados. Tenha 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.

Aviso

Os valores descritos em cada documentação são referência de uma configuração mínima, e é possível que 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.

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.