As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Estime o tamanho do mecanismo Amazon RDS para um banco de dados Oracle usando relatórios AWR
Criado por Abhishek Verma (AWS) e Eduardo Valentim (AWS)
Ambiente: produção | Origem: banco de dados Oracle | Destino: Amazon RDS ou Amazon Aurora. |
Tipo R: redefinir arquitetura | Workload: Oracle | Tecnologias: banco de dados; migração |
Serviços da AWS: Amazon RDS; Amazon Aurora |
Resumo
Quando você migra um banco de dados Oracle para o Amazon Relational Database Service (Amazon RDS) ou Amazon Aurora, computar a CPU, a memória e a E/S de disco para o banco de dados de destino é um requisito fundamental. Você pode estimar a capacidade necessária do banco de dados de destino analisando os relatórios do Oracle Automatic Workload Repository (AWR). Esse padrão explica como usar relatórios AWR para estimar esses valores.
O banco de dados do Oracle de origem pode ser on-premises, uma instância do Amazon Elastic Compute Cloud (Amazon EC2), ou pode ser uma instância de banco de dados do Amazon RDS para Oracle. O banco de dados de destino pode ser qualquer banco de dados Amazon RDS ou Aurora.
Observação: as estimativas de capacidade serão mais precisas se o mecanismo de banco de dados de destino for o Oracle. Para outros bancos de dados do Amazon RDS, o tamanho do mecanismo pode variar devido às diferenças na arquitetura do banco de dados.
Recomendamos que você execute o teste de desempenho antes de migrar seu banco de dados Oracle.
Pré-requisitos e limitações
Pré-requisitos
Uma licença do Oracle Database Enterprise Edition e uma licença do Oracle Diagnostics Pack para baixar relatórios AWR.
Versões do produto
Todas as edições do banco de dados do Oracle para versões 11g (versões 11.2.0.3.v1 e posteriores) e até 12.2 e 18c, 19c
Esse padrão não abrange o Oracle Engineered Systems ou o Oracle Cloud Infrastructure (OCI).
Arquitetura
Pilha de tecnologia de origem
Um dos seguintes:
Um banco de dados Oracle on-premises
Um banco de dados Oracle em uma instância do EC2
Instância de banco de dados para o Amazon RDS para Oracle
Pilha de tecnologias de destino
Qualquer banco de dados Amazon RDS ou Amazon Aurora
Arquitetura de destino
Para obter informações sobre o processo completo de migração, consulte o padrão Migrar um banco de dados Oracle para o Aurora PostgreSQL usando o AWS DMS e o AWS SCT.
Automação e escala
Se você tiver vários bancos de dados Oracle para migrar e quiser usar métricas de desempenho adicionais, poderá automatizar o processo seguindo as etapas descritas na postagem do blog Instâncias do Amazon RDS do tamanho certo em escala com base nas métricas de desempenho da Oracle
Ferramentas
O Oracle Automatic Workload Repository (AWR)
é um repositório incorporado aos bancos de dados Oracle. Ele coleta e armazena periodicamente a atividade do sistema e os dados da workload, que são então analisados pelo Automatic Database Diagnostic Monitor (ADDM). O AWR tira snapshots dos dados de desempenho do sistema periodicamente (por padrão, a cada 60 minutos) e armazena as informações (por padrão, até 8 dias). Você pode usar visualizações e relatórios do AWR para analisar esses dados.
Práticas recomendadas
Para calcular os requisitos de recursos para seu banco de dados de destino, você pode usar um único relatório AWR, vários relatórios AWR ou visualizações dinâmicas do AWR. Recomendamos que você use vários relatórios AWR durante o período de pico de carga para estimar os recursos necessários para lidar com esses picos de carga. Além disso, as exibições dinâmicas fornecem mais pontos de dados que ajudam a calcular os requisitos de recursos com mais precisão.
Você deve estimar o IOPS somente para o banco de dados que planeja migrar, não para outros bancos de dados e processos que usam o disco.
Para calcular quanta E/S está sendo usada pelo banco de dados, não use as informações na seção Perfil de carga do relatório AWR. Em vez disso, use a seção Perfil de E/S, se estiver disponível, ou vá para a seção Estatísticas de atividade da instância e veja os valores totais das operações físicas de leitura e gravação.
Ao estimar a utilização da CPU, recomendamos que você use o método de métricas do banco de dados em vez das estatísticas do sistema operacional (SO), porque ele se baseia na CPU usada somente pelos bancos de dados. (As estatísticas do SO também incluem o uso da CPU por outros processos.) Você também deve verificar as recomendações relacionadas à CPU no relatório ADDM para melhorar o desempenho após a migração.
Considere os limites de throughput de E/S ― throughput do Amazon Elastic Block Store (Amazon EBS) e throughput de rede ― para o tamanho específico da instância ao determinar o tipo certo de instância.
Execute o teste de desempenho antes da migração para validar o tamanho do mecanismos.
Épicos
Tarefa | Descrição | Habilidades necessárias |
---|---|---|
Ative o relatório AWR. | Para ativar o relatório, siga as instruções na documentação da Oracle | DBA |
Verifique o período de retenção. | Para verificar o período de retenção do relatório do AWR, use a consulta a seguir.
| DBA |
Gere o snapshot. | Se o intervalo do snapshot do AWR não for granular o suficiente para capturar o pico da workload, você poderá gerar o relatório do AWR manualmente. Para gerar o snapshot manual do AWR, use a consulta a seguir.
| DBA |
Confira os snapshots recentes. | Para verificar snapshots recentes do AWR, use a consulta a seguir.
| DBA |
Tarefa | Descrição | Habilidades necessárias | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Escolha um método. | O IOPS é a medida padrão das operações de entrada e saída por segundo em um dispositivo de armazenamento e inclui operações de leitura e gravação. Se você estiver migrando um banco de dados on-premises para o AWS, precisará determinar o pico de E/S de disco usado pelo banco de dados. Você pode usar os seguintes métodos para estimar a E/S do disco para seu banco de dados de destino:
As etapas a seguir descrevem esses quatro métodos. | DBA | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Opção 1: use o perfil de carga. | A tabela a seguir mostra um exemplo da seção Perfil de carga do relatório AWR. Importante: para obter informações mais precisas, recomendamos que você use a opção 2 (perfis de E/S) ou a opção 3 (estatísticas de atividade da instância) em vez do perfil de carga.
Com base nessas informações, você pode calcular o IOPs e throughput da seguinte forma: IOPS = Solicitações de E/S de leitura: + Solicitações de E/S de gravação = 3.586,8 + 574,7 = 4134,5 Throughput = leitura física (blocos) + Gravação física (blocos) = 13.575,1 + 3.467,3 = 17.042,4 Como o tamanho do bloco no Oracle é de 8 KB, você pode calcular a throughput total da seguinte forma: A throughput total em MB é 17042,4 * 8 * 1024/1024/1024 = 133,2 MB Aviso: não use o perfil de carga para estimar o tamanho da instância. Ele não é tão preciso quanto as estatísticas de atividade da instância ou os perfis de E/S. | DBA | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Opção 2: use estatísticas de atividade da instância. | Se você estiver usando uma versão do banco de dados Oracle anterior à 12c, poderá usar a seção Estatísticas de atividade da instância do relatório AWR para estimar o IOPS e a throughput. A tabela a seguir mostra um exemplo dessa seção.
Com base nessas informações, você pode calcular o total de IOPs e a throughput da seguinte forma: IOPS total = 3.610,28 + 757,11 = 4367 Total de Mbps = 114.482.426,26 + 36.165.631,84 = 150648058,1/1024/1024 = 143 Mbps | DBA | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Opção 3: usar perfis de E/S. | No banco de dados Oracle 12c, o relatório AWR inclui uma seção de Perfis de E/S que apresenta todas as informações em uma única tabela e fornece dados mais precisos sobre o desempenho do banco de dados. A tabela a seguir mostra um exemplo dessa seção.
Essa tabela fornece os seguintes valores de throughput e IOPS total: Throughput = 143 MBPS (da quinta linha, rotulada como Total, segunda coluna) IOPS = 4.367,4 (da primeira linha, chamada Total de solicitações, segunda coluna) | DBA | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Opção 4: usar visualizações AWR. | Você pode ver as mesmas informações de IOPS e throughput usando visualizações do AWR. Para obter essas informações, use a seguinte consulta:
| DBA |
Tarefa | Descrição | Habilidades necessárias | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Escolha um método. | Você pode estimar a CPU necessária para o banco de dados de destino de três maneiras:
Se você estiver analisando núcleos utilizados, recomendamos usar o método de métricas do banco de dados em vez das estatísticas do SO, pois ele se baseia na CPU usada somente pelos bancos de dados que você planeja migrar. (As estatísticas do SO também incluem o uso da CPU por outros processos.) Você também deve verificar as recomendações relacionadas à CPU no relatório ADDM para melhorar o desempenho após a migração. Você também pode estimar os requisitos com base na geração da CPU. Se você estiver usando diferentes gerações de CPU, poderá estimar a CPU necessária do banco de dados de destino seguindo as instruções no whitepaper Desmistificando o número de vCPUs para um desempenho ideal da workload | DBA | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Opção 1: estimar os requisitos com base nos núcleos disponíveis. | Nos relatórios do AWR:
Você pode estimar os núcleos disponíveis de duas maneiras:
Para estimar os núcleos disponíveis usando comandos do sistema operacional Use o comando a seguir para contar os núcleos no processador.
Use o comando a seguir para contar os soquetes no processador.
Observação: não recomendamos o uso de comandos do sistema operacional, como nmon e sar, para extrair a utilização da CPU. Isso ocorre porque esses cálculos incluem a utilização da CPU por outros processos e podem não refletir a CPU real usada pelo banco de dados. Para estimar os núcleos disponíveis usando o relatório AWR Você também pode derivar a utilização da CPU na primeira seção do relatório AWR. Veja um trecho do relatório.
Neste exemplo, a contagem de CPUs é 80, o que indica que são CPUs lógicas (virtuais). Você também pode ver que essa configuração tem dois soquetes, um processador físico em cada soquete (para um total de dois processadores físicos) e 40 núcleos para cada processador ou soquete físico. | DBA | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Opção 2: estimar a utilização da CPU usando estatísticas do sistema operacional. | Você pode verificar as estatísticas de uso da CPU do sistema operacional diretamente no sistema operacional (usando sar ou outro utilitário do SO host) ou revisando os valores de IDLE/ (IDLE+BUSY) na seção Estatísticas do sistema operacional do relatório AWR. Você pode ver os segundos de CPU consumidos diretamente de v$osstat. Os relatórios AWR e Statspack também mostram esses dados na seção Estatísticas do sistema operacional. Se houver vários bancos de dados na mesma caixa, todos eles terão os mesmos valores de v$osstat para BUSY_TIME.
Se não houver outros grandes consumidores de CPU no sistema, use a fórmula a seguir para calcular a porcentagem de utilização da CPU: Utilização = Tempo de ocupação/Tempo total Tempo ocupado = requisitos = v$OSStat.BUSY_TIME C = Tempo total (ocupado + ocioso) C = capacidade = v$ostat.BUSY_TIME + v$ostat.IDLE_TIME Utilização = BUSY_TIME/(BUSY_TIME + IDLE_TIME) = -1.305.569.937/(1.305.569.937 + 4.312.718.839) = 23% utilizados | DBA | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Opção 3: estimar a utilização da CPU usando métricas de banco de dados. | Se vários bancos de dados estiverem em execução no sistema, você poderá usar as métricas do banco de dados que aparecem no início do relatório.
Para obter métricas de utilização da CPU, use esta fórmula: Uso da CPU do banco de dados (porcentagem da energia da CPU disponível) = tempo de CPU/NUM_CPUS/tempo decorrido onde o uso da CPU é descrito pelo tempo da CPU e representa o tempo gasto na CPU, não o tempo de espera pela CPU. Esse cálculo resulta em: = 312.625,40/11.759,64/80 = 33% da CPU está sendo usada Número de núcleos (33%) * 80 = 26,4 núcleos Total de núcleos = 26,4 * (120%) = 31,68 núcleos Você pode usar o maior desses dois valores para calcular a utilização da CPU da instância de banco de dados Amazon RDS ou Aurora. Nota: no IBM AIX, a utilização calculada não corresponde aos valores do sistema operacional ou do banco de dados. Esses valores coincidem em outros sistemas operacionais. | DBA |
Tarefa | Descrição | Habilidades necessárias | ||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Estime os requisitos de memória usando estatísticas de memória. | Você pode usar o relatório AWR para calcular a memória do banco de dados de origem e combiná-la com o banco de dados de destino. Você também deve verificar o desempenho do banco de dados existente e reduzir seus requisitos de memória para economizar custos ou aumentar seus requisitos para melhorar o desempenho. Isso requer uma análise detalhada do tempo de resposta do AWR e do Acordo de Serviço (SLA) (SLA) do aplicativo. Use a soma do uso da área global do sistema Oracle (SGA) e da área global do programa (PGA) como a utilização de memória estimada para o Oracle. Adicione 20% a mais para o sistema operacional para determinar um requisito de tamanho de memória alvo. Para o Oracle RAC, use a soma da utilização estimada da memória em todos os nós do RAC e reduza a memória total, pois ela está armazenada em blocos comuns.
Memória total da instância em uso = SGA + PGA = 220 GB + 45 GB = 265 GB Adicionar 20% do buffer: Memória total da instância = 1,2 * 265 GB = 318 GB Como a SGA e a PGA representam 70% da memória do host, o requisito total de memória é: Memória total do host = 318/0,7 = 464 GB Nota: quando você migra para o Amazon RDS para Oracle, a PGA e a SGA são pré-calculadas com base em uma fórmula predefinida. Certifique-se de que os valores pré-calculados estejam próximos às suas estimativas. | DBA |
Tarefa | Descrição | Habilidades necessárias |
---|---|---|
Determine o tipo de instância de banco de dados com base nas estimativas de E/S de disco, CPU e memória. | Com base nas estimativas das etapas anteriores, a capacidade do banco de dados Amazon RDS ou Aurora de destino deve ser:
No banco de dados Amazon RDS ou Aurora de destino, você pode mapear esses valores para o tipo de instância db.r5.16xlarge, que tem uma capacidade de 32 núcleos, 512 GB de RAM e 13.600 Mbps de throughput. Para obter mais informações, consulte a postagem no blog da AWS. Use o tamanho certo de instâncias do Amazon RDS em uma escala com base nas métricas de desempenho da Oracle | DBA |
Recursos relacionados
Classe de instância de banco de dados Aurora (documentação do Amazon Aurora)
armazenamento de instância de banco de dados do Amazon RDS (documentação do Amazon RDS)
Ferramenta AWS Miner
(GitHub repositório)