Testar Carga de Trabalho com o Oracle Real Application Testing

O Oracle Real Application Testing é uma solução de gerenciamento de desempenho proativo, extremamente econômica e fácil de usar, que permite avaliar totalmente o resultado de uma alteração do sistema em teste ou produção.

Sobre o Oracle Real Application Testing

Você pode usar o Oracle Real Application Testing para capturar uma carga de trabalho em um sistema de produção e repeti-la em um sistema de teste com as características exatas de sincronização, simultaneidade e transação da carga de trabalho original.

O Oracle Real Application Testing fornece um método preciso para testar o impacto de uma variedade de alterações no sistema e permite que você execute as seguintes tarefas:

  • É possível testar os efeitos de uma alteração do sistema em uma carga de trabalho sem afetar o sistema de produção.

  • É possível capturar uma carga de trabalho em um sistema de produção e simular a mesma carga de trabalho em um sistema de teste.

Você pode usar o Oracle Database Replay para capturar uma carga de trabalho de uma instância do Autonomous Database ou de um banco de dados local ou de qualquer outro banco de dados de serviço de nuvem e repetir a carga de trabalho no Autonomous Database. Isso permite comparar como uma carga de trabalho é executada em um Autonomous Database com outro Autonomous Database, um banco de dados on-premises ou algum outro banco de dados de serviço de nuvem.

O Real Application Testing permite que você execute qualquer uma das seguintes ações de Captura-Repetição:

Capturar Opção de Repetição Descrição

Cargas de Trabalho de Captura-Repetição entre Autonomous Databases.

Consulte Cargas de Trabalho Capture-Replay entre Autonomous Databases para obter mais informações.

Capturar Carga de Trabalho do Autonomous Database Oracle Database 19c e Repetir no Autonomous Database com o Oracle Database 23ai

Este Capture-Replay permite capturar uma carga de trabalho em um Autonomous Database com o Oracle Database 19c e reproduzir em um Autonomous Database com o Oracle Database 23ai.

Consulte Testar Cargas de Trabalho 19c em um Clone Atualizável on 23ai com Capture-Replay para obter mais informações.

Capture uma Carga de Trabalho de um Não Autonomous Database e Reproduza no Autonomous Database.

Consulte Cargas de Trabalho Capture-Replay entre Bancos de Dados não Autônomos e Autonomous para obter mais informações.

Capture uma carga de trabalho de um Autonomous Database de produção e reproduza-a novamente em um Autonomous Database de destino em outro nível de patch (depois que um patch for aplicado ao Autonomous Database de destino).

Consulte Testar Cargas de Trabalho em um Próximo Patch para obter mais informações.

Capturar-Repetir Cargas de Trabalho entre Autonomous Databases

Você pode Capturar e Repetir de uma instância do Autonomous Database para outra instância do Autonomous Database.

Isso permite comparar cargas de trabalho entre diferentes instâncias do Autonomous Database. Essas instâncias do Autonomous Database podem variar em níveis de patch, versões de banco de dados ou regiões.

O workflow Capturar-Repetir entre Autonomous Databases consiste nas seguintes etapas (você cancela ou finaliza uma captura de carga de trabalho, não ambas):

(Opcional) Inscreva-se em Eventos de Informações a serem Notificados dos Detalhes da Captura e da Repetição

Inscreva-se em com.oraclecloud.databaseservice.autonomous.database.information Eventos de informações a serem notificados no início e na conclusão de uma captura e repetição.

Observação

Esta etapa é opcional. Você também pode localizar informações de status e histórico para uma captura de carga de trabalho nas views DBA_CAPTURE_REPLAY_STATUS e DBA_CAPTURE_REPLAY_HISTORY.

Consulte View DBA_CAPTURE_REPLAY_STATUS e View DBA_CAPTURE_REPLAY_HISTORY para obter mais informações.

Os eventos de informações fornecem notificações sobre os horários inicial e final da captura e repetição e contêm um URL de PAR para acessar os relatórios de captura e repetição.

Os eventos de Informações do Autonomous Database incluem o seguinte:

  • WorkloadCaptureBegin: Este evento é acionado quando uma captura de carga de trabalho é iniciada.
  • WorkloadCaptureEnd: Este evento é acionado quando uma captura de carga de trabalho é concluída com sucesso e gera um URL pré-autenticado (PAR) para fazer download do arquivo de captura.
  • WorkloadReplayBegin: Este evento é acionado quando uma repetição de carga de trabalho é iniciada.
  • WorkloadReplayEnd: Este evento é acionado quando uma repetição de carga de trabalho é concluída com sucesso e gera um URL pré-autenticado (PAR) para fazer download dos relatórios de repetição.

Consulte Eventos de Informações no Autonomous Database para obter mais informações.

Capturar uma Carga de Trabalho em uma Instância do Autonomous Database

A primeira etapa do uso da Repetição do Banco de Dados é capturar uma carga de trabalho de produção.

Observação

Você pode capturar uma carga de trabalho em uma instância do Autonomous Database e reproduzi-la em outra instância do Autonomous Database. Você pode repetir a carga de trabalho capturada em um clone completo ou em um clone atualizável. Os alvos de captura e repetição devem estar em um estado lógico consistente. Portanto, você deve provisionar um clone atualizável ou um clone completo da instância do Autonomous Database na qual deseja capturar a carga de trabalho.

Consulte Clonar, Mover ou Fazer Upgrade de uma Instância do Autonomous Database para obter mais informações.

Quando você inicia a captura de carga de trabalho em um sistema de produção, todas as solicitações de clientes externos direcionadas ao Oracle Database são rastreadas e armazenadas em arquivos binários chamados arquivos de captura.

Uma captura de carga de trabalho resulta na criação de dois subdiretórios, cap e capfiles, que contêm os arquivos de captura. Esses arquivos fornecem todas as informações pertinentes sobre a solicitação do cliente, incluindo detalhes da transação, valores de bind e texto de SQL. Esses arquivos de captura são independentes de plataforma e podem ser transportados para outro sistema.

Execute DBMS_CLOUD_ADMIN.START_WORKLOAD_CAPTURE para iniciar a captura de carga de trabalho em uma instância do Autonomous Database.

Consulte Clonar, Mover ou Fazer Upgrade de uma Instância do Autonomous Database para obter mais informações.

Para iniciar uma captura de carga de trabalho na sua instância do Autonomous Database, você deve estar conectado como o usuário ADMIN ou ter o privilégio EXECUTE em DBMS_CLOUD_ADMIN.

Exemplo para iniciar uma captura de carga de trabalho:

BEGIN 
   DBMS_CLOUD_ADMIN.START_WORKLOAD_CAPTURE(
        capture_name => 'test',
        duration     => 60);
   END;
/

Isso inicia a captura da carga de trabalho na instância do Autonomous Database.

Os parâmetros são:

  • capture_name: é o nome da captura da carga de trabalho.

  • duration: é a duração (em minutos) para a qual você precisa capturar a carga de trabalho. Esse parâmetro é opcional.

Consulte START_WORKLOAD_CAPTURE Procedimento para obter mais informações.

Eventos de Captura da Carga de Trabalho

Você pode assinar o evento de Informações com.oraclecloud.databaseservice.autonomous.database.information para ser notificado no início de START_WORKLOAD_CAPTURE. Consulte (Opcional) Assinar Eventos de Informações a serem Notificados dos Detalhes da Captura e da Repetição para obter mais informações.

Visualizações de Captura e Repetição da Carga de Trabalho

Você pode encontrar informações sobre captura e repetição da carga de trabalho nas exibições DBA_CAPTURE_REPLAY_STATUS e DBA_CAPTURE_REPLAY_HISTORY. Consulte View DBA_CAPTURE_REPLAY_STATUS e View DBA_CAPTURE_REPLAY_HISTORY para obter mais informações.

Cancelar uma Captura de Carga de Trabalho em uma Instância do Autonomous Database

Execute DBMS_CLOUD_ADMIN.CANCEL_WORKLOAD_CAPTURE para cancelar a captura da carga de trabalho atual na instância do Autonomous Database.

Para cancelar uma captura de carga de trabalho, você deve fazer log-in como o usuário ADMIN ou ter o privilégio EXECUTE em DBMS_CLOUD_ADMIN.

Por exemplo:

BEGIN
    DBMS_CLOUD_ADMIN.CANCEL_WORKLOAD_CAPTURE;
END;
/

Isso cancela a captura da carga de trabalho atual e executa uma atualização no clone atualizável.

Você pode consultar a view DBA_CAPTURE_REPLAY_STATUS para verificar o status da carga de trabalho de cancelamento.

Consulte DBA_CAPTURE_REPLAY_STATUS View para obter mais informações.

Consulte CANCEL_WORKLOAD_CAPTURE Procedimento para obter mais informações.

Concluir uma Captura de Carga de Trabalho na Instância do Autonomous Database

Execute DBMS_CLOUD_ADMIN.FINISH_WORKLOAD_CAPTURE para concluir uma captura de carga de trabalho na instância do Autonomous Database.

Exemplo para finalizar uma captura de carga de trabalho em sua instância do Autonomous Database:

BEGIN
    DBMS_CLOUD_ADMIN.FINISH_WORKLOAD_CAPTURE;
END;
/

Para executar esse procedimento, você deve fazer log-in como usuário ADMIN ou ter o privilégio EXECUTE em DBMS_CLOUD_ADMIN. Quando você executa esse procedimento, é feito upload de um arquivo de captura de carga de trabalho para o Armazenamento de Objetos como um arquivo zip.

Consulte FINISH_WORKLOAD_CAPTURE Procedimento para obter mais informações.

Eventos de Captura da Carga de Trabalho

Você pode assinar o evento Informações com.oraclecloud.databaseservice.autonomous.database.information para ser notificado sobre uma captura de carga de trabalho, que inclui:

  • A conclusão de FINISH_WORKLOAD_CAPTURE.

  • O campo captureDownloadURL que contém o URL da PAR para acessar a captura e os relatórios no Armazenamento de Objetos. A captura e os relatórios são válidos por sete (7) dias a partir da data em que o URL da PAR é gerado.

Consulte (Opcional) Assinar Eventos de Informações a serem Notificados dos Detalhes da Captura e da Repetição para obter mais informações.

Visualizações de Captura e Repetição da Carga de Trabalho

Você pode consultar a exibição DBA_CAPTURE_REPLAY_STATUS para verificar o status de uma captura de carga de trabalho concluída. Consulte DBA_CAPTURE_REPLAY_STATUS View para obter mais informações.

Você pode encontrar informações sobre captura e repetição da carga de trabalho na view DBA_CAPTURE_REPLAY_HISTORY. Consulte DBA_CAPTURE_REPLAY_HISTORY View para obter mais informações.

Você pode consultar as colunas ID, NAME, START_TIME e END_TIME da view DBA_WORKLOAD_CAPTURES para recuperar os detalhes de sua captura de carga de trabalho. Consulte DBA_WORKLOAD_CAPTURES para obter mais informações.

Preparar um Clone Atualizável para Repetição da Carga de Trabalho

Fornece etapas para preparar um clone atualizável para uma repetição de carga de trabalho.

Observação

Esta etapa não é aplicável quando você está reproduzindo uma carga de trabalho em um clone completo.

Você tem duas opções para preparar um clone atualizável para reproduzir uma captura de carga de trabalho. Você pode executar DBMS_CLOUD_ADMIN.PREPARE_REPLAY para preparar automaticamente um clone atualizável para uma repetição da carga de trabalho. Este procedimento atualiza o clone atualizável para o horário inicial da captura e desconecta o clone atualizável. Você também tem a opção de preparar manualmente um clone atualizável para reproduzir uma captura de carga de trabalho.

Preparar Automaticamente um Clone Atualizável para Repetição da Carga de Trabalho

Exemplo para preparar automaticamente um clone atualizável para uma repetição da carga de trabalho:

BEGIN
 DBMS_CLOUD_ADMIN.PREPARE_REPLAY (
    capture_name    'test'
END;
/

Para executar esse procedimento, você deve fazer log-in como o usuário ADMIN ou ter o privilégio EXECUTE em DBMS_CLOUD_ADMIN.

DBMS_CLOUD_ADMIN.PREPARE_REPLAY faz o seguinte:

  • Atualiza o clone atualizável para o timestamp inicial da captura.

  • Desconecta o clone atualizável.

Opcionalmente, neste ponto antes de reproduzir uma captura, você pode fazer alterações em um clone atualizável. Por exemplo, alterar valores de parâmetro e ativar/desativar determinados recursos para ver o impacto na repetição.

Preparar Manualmente um Clone Atualizável para Repetição da Carga de Trabalho

Essas etapas de clone atualizável manual não são necessárias quando você prepara automaticamente um clone atualizável executando DBMS_CLOUD_ADMIN.PREPARE_REPLAY.

Execute as seguintes etapas para se preparar manualmente para uma repetição da carga de trabalho:

  1. Localize o timestamp inicial da captura consultando a view DBA_WORKLOAD_CAPTURES. Consulte DBA_WORKLOAD_CAPTURES para obter mais informações.

  2. Atualize o clone atualizável para o timestamp inicial da captura. Consulte Atualizar um Clone Atualizável no Autonomous Database para obter mais informações.

  3. Desconecte manualmente o clone atualizável. Consulte Desconectar um Clone Atualizável do Banco de Dados de Origem para obter mais informações.

  4. Opcionalmente, antes de reproduzir uma captura, você pode fazer alterações no clone atualizável. Por exemplo, alterar valores de parâmetro, ativar/desativar determinados recursos para ver o impacto na repetição.

Repetir uma Carga de Trabalho em uma Instância do Autonomous Database

Depois de concluir uma captura de carga de trabalho, você poderá repeti-la em um sistema de teste. A Oracle reproduz as ações gravadas durante a captura da carga de trabalho com a mesma sincronia, simultaneidade e dependências de transação do sistema de produção.

Execute o procedimento DBMS_CLOUD_ADMIN.REPLAY_WORKLOAD para iniciar a repetição da carga de trabalho no seu banco de dados. Você deve fazer log-in como usuário ADMIN ou ter o privilégio EXECUTE em DBMS_CLOUD_ADMIN para executar DBMS_CLOUD_ADMIN.REPLAY_WORKLOAD.

Você pode repetir uma carga de trabalho capturada em um clone atualizável ou em um clone completo da instância do Autonomous Database da qual a carga de trabalho foi capturada. Os alvos de captura e repetição devem estar em um estado lógico consistente.

Repetir Carga de Trabalho em um Clone Atualizável

O exemplo a seguir faz download dos arquivos de captura do Object Storage, repete a carga de trabalho capturada e faz upload de um relatório de repetição para o Object Storage.

BEGIN 
  DBMS_CLOUD_ADMIN.REPLAY_WORKLOAD(
      capture_name => 'CAP_TEST1');
END;
/

O parâmetro CAPTURE_NAME especifica o nome da captura da carga de trabalho. Este parâmetro é obrigatório.

Repetir Carga de Trabalho em um Clone Completo

Este exemplo a seguir faz download de arquivos de captura do Object Storage, repete a carga de trabalho capturada no clone e faz upload de um relatório de repetição para o Object Storage.

BEGIN 
  DBMS_CLOUD_ADMIN.REPLAY_WORKLOAD(
       capture_name                => 'CAP_TEST1',        
       capture_source_tenancy_ocid => 'OCID1.TENANCY.REGION1..ID1',         
       capture_source_db_name      => 'ADWFINANCE');
END;
/
Observação

Se houver várias capturas com o mesmo nome de captura, o procedimento REPLAY_WORKLOAD usará a captura mais recente. A Oracle recomenda que você use um nome de captura exclusivo para cada captura para evitar confusão sobre qual captura você está reproduzindo.

O parâmetro CAPTURE_NAME especifica o nome da captura da carga de trabalho. Este parâmetro é obrigatório.

O parâmetro CAPTURE_SOURCE_TENANCY_OCID especifica o OCID da tenancy de origem da captura da carga de trabalho. Este parâmetro é obrigatório ao executar a captura da carga de trabalho em um clone completo.

O parâmetro CAPTURE_SOURCE_DB_NAME especifica o nome do banco de dados de origem da captura da carga de trabalho. Este parâmetro é obrigatório ao executar a captura da carga de trabalho em um clone completo.

Consulte Procedimento REPLAY_WORKLOAD para obter mais informações.

Eventos de Repetição da Carga de Trabalho

Inscreva-se no evento Information com.oraclecloud.databaseservice.autonomous.database.information para ser notificado sobre o seguinte

  • O início e a conclusão de um REPLAY_WORKLOAD.

  • O link Armazenamento de Objetos para fazer download dos relatórios de repetição. O evento fornece um URL de PAR para acessar os relatórios no campo replayDownloadURL. Os relatórios são válidos por sete (7) dias a partir da data em que o URL da PAR é gerado.

Consulte Eventos de Informações no Autonomous Database para obter mais informações.

Visualizações de Captura e Repetição da Carga de Trabalho

Você pode consultar a view DBA_CAPTURE_REPLAY_STATUS para verificar o status de repetição da carga de trabalho.

Consulte DBA_CAPTURE_REPLAY_STATUS View para obter mais informações.

Você pode encontrar informações sobre captura e repetição da carga de trabalho na view DBA_CAPTURE_REPLAY_HISTORY. Consulte DBA_CAPTURE_REPLAY_HISTORY View para obter mais informações.

Testar Cargas de Trabalho 19c em um Clone Atualizável no 23ai com Capture-Replay

Você pode usar o Oracle Real Application Testing para capturar uma carga de trabalho do Autonomous Database no Oracle Database 19c e reproduzir em um clone atualizável no Oracle Database 23ai.

Essa opção de Captura-Repetição é especialmente útil quando você deseja testar suas cargas de trabalho em execução no Oracle Database 19c antes de fazer upgrade para o Oracle Database 23ai.

Siga estas etapas para reproduzir suas cargas de trabalho em outra versão do banco de dados:

  1. (Opcional) Inscreva-se em Eventos de Informações a serem Notificados dos Detalhes da Captura e da Repetição

  2. Capture suas cargas de trabalho em um Autonomous Database com o Oracle Database 19c. Consulte Capturar uma Carga de Trabalho em uma Instância do Autonomous Database para obter mais informações.

  3. Execute DBMS_CLOUD_ADMIN.FINISH_WORKLOAD_CAPTURE para concluir a captura da carga de trabalho na instância do Banco de Dados Oracle Database 19c sourceAutonomous.

  4. Prepare seu Clone Atualizável do Oracle Database 23ai de destino. Consulte Preparar um Clone Atualizável para Repetição da Carga de Trabalho para obter mais informações.

  5. Depois de concluir a captura da carga de trabalho e preparar o Clone Atualizável de destino do Oracle Database 23ai, repita a carga de trabalho no destino. Consulte Repetir uma Carga de Trabalho em uma Instância do Autonomous Database para obter mais informações.

Capturar-Repetir Cargas de Trabalho entre Bancos de Dados Não Autônomos e Autonomous

Você pode Capturar e Repetir de uma instância que não seja do Autonomous Database para um Autonomous Database.

Isso permite comparar cargas de trabalho entre um banco de dados on-premises ou outro banco de dados de serviço de nuvem e uma instância do Autonomous Database.

Tópicos

Capturar uma Carga de Trabalho

A primeira etapa do uso da Repetição do Banco de Dados é capturar a carga de trabalho de produção.

Quando você inicia a captura de carga de trabalho no sistema de produção, todas as solicitações de clientes externos direcionadas ao Oracle Database são rastreadas e armazenadas em arquivos binários chamados arquivos de captura.

Uma captura de carga de trabalho resulta na criação de dois subdiretórios, cap e capfiles, que contêm os arquivos de captura.

Os arquivos de captura fornecem todas as informações pertinentes sobre a solicitação do cliente, incluindo detalhes da transação, valores de bind e texto de SQL.

Esses arquivos de captura são independentes de plataforma e podem ser transportados para outro sistema.

Consulte Captura de Carga de Trabalho para capturar uma carga de trabalho em um banco de dados local.

Repetir uma Carga de Trabalho em uma Instância do Autonomous Database

Depois de concluir uma captura de carga de trabalho, você poderá reproduzi-la em um sistema de teste. A Oracle reproduz no sistema de teste as ações registradas durante a captura da carga de trabalho, com a mesma sincronia, simultaneidade e dependências de transação do sistema de produção.

Execute DBMS_CLOUD_ADMIN.REPLAY_WORKLOAD para iniciar a repetição da carga de trabalho no seu banco de dados. Você deve fazer log-in como o usuário ADMIN ou ter o privilégio EXECUTE em DBMS_CLOUD_ADMIN para executar REPLAY_WORKLOAD.

Exemplo para reproduzir em uma instância do Autonomous Database uma carga de trabalho capturada de um banco de dados on-premises:

BEGIN 
   DBMS_CLOUD_ADMIN.REPLAY_WORKLOAD(
      location_uri    => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o',
      credential_name => 'CRED_TEST',   
      synchronization => TRUE,
      process_capture => TRUE);    
END;
/

Isso faz download dos arquivos de captura contidos no local do serviço Object Storage especificado no parâmetro location_uri e reproduz a captura de carga de trabalho dos arquivos de captura. A reprodução gera e faz upload dos relatórios de reprodução e do Repositório Automático de Carga de Trabalho para o local do serviço Object Storage especificado no parâmetro location_uri.

Neste exemplo, namespace-string corresponde ao namespace do armazenamento de objetos do Oracle Cloud Infrastructure e bucketname corresponde ao nome do bucket. Consulte Noções Básicas de Namespaces do serviço Object Storage para obter mais informações.

Consulte Fazer Upload de Arquivos para o Bucket do Oracle Cloud Infrastructure Object Store para obter mais informações sobre o upload de arquivos para o Armazenamento de Objetos.

Consulte Navegar até o Oracle Cloud Infrastructure Object Storage e Criar um Bucket para obter mais informações sobre o serviço Object Storage.

O parâmetro credential_name especifica a credencial para acessar o bucket de armazenamento de objetos. A credencial que você fornecer deverá ter privilégios de gravação para gravar no bucket de Armazenamento de Objetos. Os privilégios de gravação são necessários para fazer upload do relatório de repetição para o bucket.

Se você não especificar um valor credential_name, DEFAULT_CREDENTIAL será usado.

Você não precisará criar uma credencial para acessar o Oracle Cloud Infrastructure Object Store se ativar credenciais do controlador de recursos. Consulte Usar o Controlador de Recursos para Acessar Recursos do Oracle Cloud Infrastructure para obter mais informações.

O parâmetro synchronization especifica o método de sincronização usado durante a reprodução da carga de trabalho. Um valor TRUE indica que a sincronização é baseada em SCN.

O process_capture indica se você precisa especificar o valor process_capture ou não. Um valor TRUE indica que a reprodução inclui process_capture.

Observação

Mantenha o mesmo estado lógico dos bancos de dados de captura e reprodução no início do horário de captura.

Consulte Procedimento REPLAY_WORKLOAD para obter mais informações.

Eventos de Repetição da Carga de Trabalho

Você pode assinar o evento de Informações com.oraclecloud.databaseservice.autonomous.database.information para ser notificado sobre os eventos WorkloadReplayBegin e WorkloadReplayEnd. Esses eventos fornecem informações sobre:

  • Início e conclusão do REPLAY_WORKLOAD.

  • O campo replayDownloadURL que contém o URL da PAR para acessar os relatórios no Armazenamento de Objetos. O URL da PAR é válido por 7 dias a partir da data de geração.

Consulte Eventos de Informações sobre o Autonomous Database para obter mais informações.

Visualizações de Captura e Repetição da Carga de Trabalho

Você pode consultar as views DBA_CAPTURE_REPLAY_STATUS e DBA_CAPTURE_REPLAY_HISTORY para verificar o status de repetição da carga de trabalho.

Consulte View DBA_CAPTURE_REPLAY_STATUS e View DBA_CAPTURE_REPLAY_HISTORY para obter mais informações.

Testar Cargas de Trabalho em um Próximo Patch

Usando o recurso de repetição automática da carga de trabalho, você pode capturar automaticamente uma carga de trabalho de um banco de dados de produção que esteja no nível de patch regular e repetir a carga de trabalho em um clone atualizável de destino que esteja no nível de patch inicial.

Esse recurso permite que você teste um próximo patch executando uma carga de trabalho existente que está em produção em um patch, antes que o patch atinja a produção.

Sobre como Testar Cargas de Trabalho em um Próximo Patch

Usando o recurso de repetição automática de carga de trabalho, você pode automatizar o processo de captura-reprodução para capturar uma carga de trabalho que é executada em um banco de dados de produção e reproduzir automaticamente a carga de trabalho em um clone atualizável de destino após a aplicação de um próximo patch no destino.

O Autonomous Database fornece a capacidade de provisionar uma instância ou criar um clone atualizável com a opção de nível de patch Antecipado. Nas instâncias em execução no nível de patch Antecipado, o Autonomous Database aplica os próximos patches de manutenção uma semana antes de os patches serem aplicados a bancos de dados de produção (bancos de dados provisionados no nível de patch Regular). Usando o recurso WORKLOAD_AUTO_REPLAY, você pode garantir que um próximo patch seja testado em relação à sua carga de trabalho antes que o patch vá para a produção. Isso permite verificar se o patch corrige um problema conhecido ou não introduz um problema que afeta sua carga de trabalho.

Para encontrar informações sobre capturas e repetições, inscreva-se em eventos de informações. Os eventos de informações fornecem notificação para eventos de captura e resposta da carga de trabalho e incluem um URL de PAR no qual você pode fazer download do arquivo de captura e do relatório de repetição. Consulte (Opcional) Assinar Eventos de Informações a serem Notificados dos Detalhes da Captura e da Repetição para obter mais informações.

Quando WORKLOAD_AUTO_REPLAY está ativado, o banco de dados de origem captura uma carga de trabalho executando por um número especificado de minutos. Por padrão, a captura da carga de trabalho começa quando você ativa WORKLOAD_AUTO_REPLAY (opcionalmente, você pode usar parâmetros para definir o dia e a hora de início da captura). Em seguida, o Autonomous Database verifica o banco de dados de destino para verificar o status da aplicação de patch. Após a aplicação do próximo patch semanal, o Autonomous Database repete a carga de trabalho no banco de dados de destino. Esse ciclo de captura-repetição continua automaticamente a cada semana com o Autonomous Database capturando a carga de trabalho no banco de dados de origem, aguardando a aplicação do próximo patch e reproduzindo a carga de trabalho no clone atualizável.

Observe o seguinte para ativar WORKLOAD_AUTO_REPLAY:

  • O banco de dados de origem deve usar o nível de patch Regular.

  • O banco de dados de destino deve usar o nível de patch Antecipado.

  • O banco de dados de destino deve ser um clone atualizável do banco de dados de origem e deve ser criado antes de ativar WORKLOAD_AUTO_REPLAY.

  • Um banco de dados de origem pode ativar WORKLOAD_AUTO_REPLAY para não mais de um clone atualizável (você pode ativar esse recurso para um máximo de um clone atualizável, mesmo que crie vários clones atualizáveis com base no mesmo banco de dados de origem).

  • Depois de ativar WORKLOAD_AUTO_REPLAY, o ciclo de captura-repetição continua toda semana. O Autonomous Database executa uma captura no banco de dados de origem e, em seguida, repete a carga de trabalho no banco de dados de destino, até você desativar WORKLOAD_AUTO_REPLAY.

Você pode encontrar informações sobre capturas e repetições de carga de trabalho na view DBA_CAPTURE_REPLAY_HISTORY. Consulte DBA_CAPTURE_REPLAY_HISTORY View para obter mais informações.

O Autonomous Database aplica patches automaticamente ao seu banco de dados. A Oracle fornece um objetivo de nível de serviço de zero regressões em seu banco de dados de produção devido a esses patches. Consulte Objetivo do Nível de Serviço de Regressão Zero para obter mais informações.

Ativar Repetição Automática da Carga de Trabalho

O recurso WORKLOAD_AUTO_REPLAY permite executar uma carga de trabalho do banco de dados de produção e monitorar qualquer divergência em uma instância com patch uma semana de antecedência. Esse recurso permite que você teste um próximo patch executando uma carga de trabalho existente que está em produção em relação a um patch antes que o patch chegue à produção.

Para ativar WORKLOAD_AUTO_REPLAY:

  1. Crie um clone atualizável do banco de dados de produção.

    Quando você criar o clone atualizável de destino, defina o nível de patch como Antecipado.

    Consulte Definir o Nível de Patch e Criar um Clone Atualizável para uma Instância do Autonomous Database para obter mais informações.

  2. Execute DBMS_CLOUD_ADMIN.ENABLE_FEATURE no banco de dados de origem.

    Por exemplo:

    BEGIN 
       DBMS_CLOUD_ADMIN.ENABLE_FEATURE(
            feature_name => 'WORKLOAD_AUTO_REPLAY',
            params       => JSON_OBJECT(
                              'target_db_ocid' VALUE 'OCID1.autonomousdatabase.REGION..ID1',
                              'capture_duration' VALUE 120,
                              'capture_day' VALUE 'MONDAY',
                              'capture_time' VALUE '15:00'));
    END;
    /

    Onde os parâmetros são:

    • feature_name: o valor WORKLOAD_AUTO_REPLAY ativa o recurso de reprodução automática da carga de trabalho.

    • params: é um Objeto JSON com os seguintes pares de valores:

      • target_db_ocid: aceita um valor string. O valor especifica o OCID do banco de dados clone atualizável de destino no qual a carga de trabalho capturada é reproduzida.

        Este parâmetro é obrigatório.

      • capture_duration: aceita um valor number. O valor especifica a duração em minutos para a qual a carga de trabalho é capturada no banco de dados de produção. O valor deve estar no intervalo entre 1 e 720 minutos.

        Este parâmetro é obrigatório.

      • capture_day: aceita um valor string. O valor especifica o dia da semana em que a captura da carga de trabalho no banco de dados de produção deve começar.

        Esse parâmetro é opcional.

      • capture_time: aceita um valor no formato HH24:MM. O valor especifica a hora do dia em que a captura da carga de trabalho no banco de dados de produção deve começar.

        Esse parâmetro é opcional.

      Por padrão, a captura da carga de trabalho é iniciada quando você ativa WORKLOAD_AUTO_REPLAY. Quando capture_day e capture_time opcionais são especificados, a captura e a repetição automáticas da carga de trabalho ocorrem no timestamp especificado.

      Por exemplo, se capture_day for segunda-feira e capture_time for 15:00, a primeira captura no banco de dados de produção começará às 3PM na próxima segunda-feira. O mesmo dia da semana e hora também são usados para programar capturas e repetições subsequentes.

    Consulte ENABLE_FEATURE Procedimento para obter mais informações.

    Um valor de erro ORA-20000: Invalid argument for target_db_ocid pode indicar que o OCID fornecido não é um clone atualizável. Nesse caso, você precisa fornecer um OCID com um valor para um clone atualizável.

  3. Consulte a view DBA_CAPTURE_REPLAY_STATUS para verificar o status de repetição da carga de trabalho.

Este exemplo ativa WORKLOAD_AUTO_REPLAY no Autonomous Database de origem e no banco de dados clone atualizável de destino especificado. Com o WORKLOAD_AUTO_REPLAY ativado, toda semana o Autonomous Database executa uma captura no banco de dados de origem e repete a carga de trabalho no banco de dados de destino, até você desativar o WORKLOAD_AUTO_REPLAY.

Para encontrar informações sobre capturas e repetições, inscreva-se em eventos de informações. Os eventos de informações fornecem notificação para eventos de captura e resposta da carga de trabalho e incluem um URL de PAR no qual você pode fazer download do arquivo de captura e do relatório de repetição. Consulte (Opcional) Assinar Eventos de Informações a serem Notificados dos Detalhes da Captura e da Repetição para obter mais informações.

Você pode encontrar informações sobre capturas e repetições de carga de trabalho na view DBA_CAPTURE_REPLAY_HISTORY. Consulte DBA_CAPTURE_REPLAY_HISTORY View para obter mais informações.

Desativar Repetição Automática da Carga de Trabalho

Execute DBMS_CLOUD_ADMIN.DISABLE_FEATURE para desativar WORKLOAD_AUTO_REPLAY.

Execute DBMS_CLOUD_ADMIN.DISABLE_FEATURE para desativar a repetição automática da carga de trabalho. Por exemplo:

BEGIN 
DBMS_CLOUD_ADMIN.DISABLE_FEATURE(
    feature_name => 'WORKLOAD_AUTO_REPLAY');   
END;
/

Você deve estar conectado como ADMIN ou ter privilégios DBMS_CLOUD_ADMIN para executar DBMS_CLOUD_ADMIN.DISABLE_FEATURE.

Consulte DISABLE_FEATURE Procedimento para obter mais informações.