Noções básicas de repetição banco de dados oracle de 12c

O recurso de repetição 12c Oracle Database evoluiu como uma solução para a necessidade de ser capaz de fazer testes de aplicativos realista. Antes do Database Replay, se você quiser testar qualquer tipo de mudanças contra o desempenho ou a carga de trabalho, você tinha que comprar uma ferramenta de terceiros ou fazer quantidades maciças de codificação de falsificar uma carga de trabalho.

Na maioria dos casos, nenhum método foi verdadeiramente representativa de sua carga de trabalho real. Além disso, fazer alterações em um ambiente de produção sem testá-los pode ser arriscado.

Database Replay é mais uma ferramenta na sua vertente para cobrir todas as bases.

Em essência, o Database Replay permite gravar sua carga de trabalho em tempo real e, em seguida, reproduzi-lo. Além disso, você pode jogá-lo contra

  • outro banco de dados

  • Uma versão diferente da Oracle

  • Um sistema operacional diferente

Database Replay captura a carga de trabalho abaixo do nível de SQL. A carga de trabalho é armazenado em arquivos binários. Você pode então transferir esses arquivos para um ambiente de teste, executar a carga de trabalho, analisar os problemas, corrigir problemas e testar novamente. A mesma carga de trabalho é repetitivo. Em conjunto com uma ferramenta como o Flashback Database, você pode repetidamente testar mudanças em rápida sucessão. Ele ajuda a reduzir as chances de algo quebra quando os ambientes são alteradas.

Database Replay fornece um mecanismo para ajudar com esses tipos de situações:

  • prova

  • As alterações de configuração

  • Atualizações

  • rebaixamentos

  • mudanças no aplicativo

  • depuração

  • mudanças de armazenamento, rede e interconexão

    Video: Palestra GRÁTIS: Banco de Dados ORACLE 12c

  • mudanças de plataforma

  • mudanças OS

  • A conversão para Real Application Clusters (RAC)

    Video: Tutorial de instalação (parte 3): Instalando Oracle 12c e criando um banco de dados

Como usar o Database Replay no Oracle 12c

Veja como usar o Database Replay:

  1. Entrar e SQL * Plus como um usuário com o privilégio SYSDBA.

    Video: Boas práticas para instalação/configuração de Bancos de Dados Oracle"

    Oracle requer um diretório no qual gravar os arquivos de replay.

  2. Crie um diretório para um local no OS com muito espaço:

    Você vê isso:

    Diretório criado.
  3. Inicie uma captura:

    Este exemplo usa o nome CAPTURE_DEMO.

    Idealmente, você reiniciar o banco de dados antes da captura começa para que você possa evitar a captura de todas as transações no meio. Claro, isso nem sempre é uma opção quando se trata de um sistema de produção.

    Você vê isso:

    Procedimento PL / SQL concluído com êxito.
  4. Executar a sua carga de trabalho.

    Se é apenas um comportamento normal do aplicativo, que partem para a quantidade de tempo que você deseja.

  5. Quando a carga de trabalho é completa ou o seu alvo o tempo passou, parar o processo de captura:

    Você vê isso:

    Procedimento PL / SQL concluído com êxito.

De acordo com a documentação do Oracle, a captura de uma carga de trabalho pode incluir até 4,5 por cento do processamento sobrecarga para o sistema, bem como 64K de sobrecarga de memória para cada sessão. Futhermore, se o espaço acabar no diretório de captura, a captura será interrompida. Todos os dados capturados até que ponto ainda vai ser útil.

A idéia é que você irá usar a sua captura para “reproduzir” a carga de trabalho. Em nossa experiência, a carga de trabalho é geralmente repetida contra um banco de dados diferente, como um ambiente de teste. No entanto, isso nem sempre é o caso.

Se o seu ambiente de banco de dados é aquele em que as janelas de manutenção longos pode ocorrer (tal como ao longo de um fim de semana), você pode encontrar-se fazer estas coisas:

  • Permitindo Flashback Database

  • Criando um ponto de restauração na sexta-feira de manhã

  • Iniciando uma captura de carga de trabalho para quatro horas a partir de 08:00 ao meio-dia

  • Restringindo o sistema e criar um outro ponto de restauração depois que os funcionários vão para casa na sexta-feira à noite

  • Restaurar o banco de dados para a manhã ponto de restauração sexta-feira

  • A implantação de banco de dados ou aplicativo altera

  • Repetindo sua carga de trabalho para testar as alterações



  • Piscando de volta a carga de trabalho a sexta-feira à noite

  • A implantação de banco de dados ou aplicações alterações entrem em vigor quando os trabalhadores voltar na segunda-feira

Como reproduzir a carga de trabalho no Oracle 12c

Siga estes passos para reproduzir a carga de trabalho:

  1. Crie um diretório para os arquivos de captura de repetição:

    Você vê isso:

    Diretório criado.

    Este exemplo assume o replay está ocorrendo em outro banco de dados. Se é sobre o mesmo banco de dados, não há necessidade de criar um diretório e mover os arquivos de captura, porque eles já estará no local correto.

  2. Mova os arquivos do diretório de captura no sistema de origem para o diretório no sistema de replay.

  3. Comece o processo de repetição no banco de dados:

    Você vê isso:

    Procedimento PL / SQL concluído com êxito.
  4. Inicializar uma sessão de replay chamado REPLAY_DEMO:

    Você vê isso:

    Procedimento PL / SQL concluído com êxito.
  5. Diga Oracle para preparar os arquivos de repetição:

    Você vê isso:

    Procedimento PL / SQL concluído com êxito.

    Começar clientes de reprodução, que são processos que executar e gerenciar a carga de trabalho. Estes processos são lançados a partir da linha de comando do OS.

  6. O exemplo a seguir inicia um cliente de repetição com a Oracle como a senha:

    Você vê isso:

    Workload Repetição Cliente: Release 12.1.0.1.0 - Produção em Qui 16 ago 22:24:44 2013Copyright (c) 1982, 2013, Oracle e / ou suas afiliadas. Todos reserved.Wait direitos para o replay para começar (22:24:44)
  7. Diga o banco de dados para iniciar a reprodução:

    Você vê isso:

    Procedimento PL / SQL concluído com êxito.
  8. Verificar o status enquanto o replay é executado:

    Basicamente, você está consultando a tabela DBA_WORKLOAD_REPLAYS. Você vê isso (ou algo parecido):

ID NOME STATUSDURATION_SECS ---------- -------------------- ----------- ------ ------- 10 REPLAY_DEMO EM PROGRESSO 369

Quando tudo estiver pronto, você deve limpar os metadados replay.

  1. Capturar informação de identificação no sistema de origem:

    Que você pode ver algo como isto:

    ID NOME ---------- ----------------------------------- 4 CAPTURE_DEMO
  2. Excluir as informações de captura:

    Você vê isso:

    Procedimento PL / SQL concluído com êxito.
  3. Encontre o ID de repetição no sistema de replay:

    Que você pode ver algo como isto:

    NOME ID ---------- ----------------------------------- 10 REPLAY_DEMO
  4. Excluir as informações de repetição:


Publicações relacionadas