Lar Finanças Pessoais Básicos da cache do buffer do banco de dados no Oracle 12c - dummies

Básicos da cache do buffer do banco de dados no Oracle 12c - dummies

Índice:

Vídeo: Aula Arquitetura de Banco de Dados Oracle - Log Buffer/Redo Log File 2024

Vídeo: Aula Arquitetura de Banco de Dados Oracle - Log Buffer/Redo Log File 2024
Anonim

O cache de buffer do banco de dados do Oracle 12c é normalmente a maior parte do SGA. Tem dados provenientes dos arquivos no disco. Como o acesso aos dados do disco é mais lento do que a partir da memória, o único objetivo do cache do buffer do banco de dados é armazenar em cache os dados na memória para acesso mais rápido. O cache do buffer do banco de dados pode conter dados de todos os tipos de objetos:

Tabelas

  • Índices

  • Exibições materializadas
  • Dados do sistema

  • Na frase

cache do buffer de banco de dados, o termo buffer refere-se a blocos de banco de dados. Um bloco de banco de dados é a quantidade mínima de armazenamento que o Oracle lê ou escreve. Todos os segmentos de armazenamento que contêm dados são constituídos por blocos. Quando você solicita dados do disco, no mínimo o Oracle lê um bloco. Mesmo se você solicitar apenas uma linha, muitas linhas na mesma tabela provavelmente serão recuperadas. O mesmo acontece se você solicitar uma coluna em uma linha. Oracle lê o bloco inteiro, que provavelmente tem muitas linhas e todas as colunas para essa linha.

É viável pensar que, se a tabela de seus departamentos tiver apenas dez linhas, tudo pode ser lido na memória, mesmo se você estiver solicitando o nome de um único departamento.

Estado do cache do Buffer no Oracle 12c

O

buffer cache controla quais blocos ficam dependendo do espaço disponível e do estado do bloco (semelhante ao modo como o pool compartilhado decide o que o SQL pode permanecer). O cache do buffer usa sua própria versão do algoritmo LRU.

Um bloco no cache do buffer pode estar em um dos três estados:

Gratuito:

  • Não está sendo usado para nada Pinned:

  • Atualmente acessando > Sujo: O bloco foi modificado, mas ainda não escreveu no disco

  • Blocos gratuitos Idealmente, blocos gratuitos estão disponíveis sempre que precisar deles. No entanto, isso provavelmente não é o caso, a menos que seu banco de dados seja tão pequeno que tudo pode caber na memória.

O algoritmo LRU funciona um pouco diferente no cache do buffer do que no pool compartilhado. Ele classifica cada bloco e, em seguida, vezes quanto tempo existe desde que foi acessado. Por exemplo, um bloco recebe um ponto cada vez que é tocado.

Quanto maiores os pontos, menos provável o bloco será liberado da memória. No entanto, deve ser acessado com freqüência ou a pontuação diminui. Um bloco tem que trabalhar duro para manter a memória se a competição por recursos de memória for alta.

Dando a cada bloco uma pontuação e tempo evita que esse tipo de situação surja: um bloco é acessado pesadamente no final do mês para relatórios.Sua pontuação é maior do que qualquer outro bloco no sistema. Esse bloco nunca mais será acessado.

Senta-se desperdiçando memória até que o banco de dados seja reiniciado ou outro bloco finalmente pontue pontos suficientes para vencê-lo. O componente de tempo envelhece muito rapidamente depois de você não mais acessá-lo.

Blocos fixos

Um bloco atualmente acessado é um bloqueio

fixado.

O bloco está bloqueado (ou fixado) no buffer buffer para que ele não possa ser envelhecido fora do buffer buffer enquanto o processo Oracle (geralmente representando um usuário) está acessando. Blocos sujos Um bloco modificado é um bloco sujo

.

Para garantir que suas alterações sejam mantidas em paradas de banco de dados, esses blocos sujos devem ser escritos a partir do buffer buffer para o disco. O banco de dados nomeia blocos sujos em uma lista suja ou fila de gravação. Você pode pensar que sempre que um bloco é modificado, ele deve ser gravado no disco para minimizar os dados perdidos. Este não é o caso - nem mesmo quando há um commit

(quando você salva suas alterações de forma permanente)! Várias estruturas ajudam a evitar dados perdidos. Além disso, a Oracle tem um problema de jogo. O desempenho do sistema rastrearia se você escreveu blocos no disco para cada modificação. Para combater isso, a Oracle joga as chances de que o banco de dados não é provável que falhe e grava blocos em disco somente em grupos maiores. Não se preocupe; nem sequer é um risco contra dados perdidos. A Oracle está obtendo o desempenho do banco de dados

agora mesmo

com a possível despesa de uma recuperação que leva mais mais tarde. Como as falhas nos sistemas corretamente gerenciados raramente ocorrem, é uma maneira barata de obter algum desempenho. No entanto, não é como se a Oracle deixasse blocos sujos por toda parte sem limpar depois de si. Bloquear disparadores de gravação no Oracle 12c O que desencadeia um bloco de gravação e, portanto, um bloco sujo?

O banco de dados é emitido um comando de desligamento.

Ocorre um ponto de verificação total ou parcial - é quando o sistema despeja periodicamente todos os buffers sujos no disco.

  • Um limite de tempo de recuperação, definido por você, é cumprido; o número total de blocos sujos causa um tempo de recuperação inaceitável.

  • É necessário um bloco livre e nenhum é encontrado após uma determinada quantidade de pesquisa.

  • Certos comandos de linguagem de definição de dados (DDL). (Os comandos DDL são instruções SQL que definem objetos em um banco de dados.)

  • Todos os três segundos.

  • Outros motivos. O algoritmo é complexo e você não pode estar seguro com todas as mudanças que ocorrem com cada versão de software.

  • O fato é que o banco de dados permanece bastante ocupado escrevendo blocos em um ambiente onde há muitas mudanças.

Básicos da cache do buffer do banco de dados no Oracle 12c - dummies

Escolha dos editores

Filmando fotos em situações especiais com Canon Rebel Série T3 Câmeras - manequins

Filmando fotos em situações especiais com Canon Rebel Série T3 Câmeras - manequins

ÀS vezes haverá não há problema em tirar o seu Canon Rebel T3 ou T3i fora e tirar fotos com configurações automáticas. A maior parte do tempo, você pode fazer com alguns ajustes simples. Alguns assuntos e situações de filmagem apresentam alguns desafios adicionais que exigem combinações de configurações mais complicadas. ...

Escolha dos editores

Obtendo o WordPress. org Software - dummies

Obtendo o WordPress. org Software - dummies

Depois de classificar seu host e domínio do site, você deve baixar e extrair os arquivos do WordPress pela WordPress. org e colocá-los no seu computador. Escolha um lugar que você lembrará, como um diretório de Documentos ou Download. Siga estas etapas: aponte seu navegador para o WordPress. org. A página principal do WordPress aparece. Clique em ...

Google AdSense para Bloggers de Mom - dummies

Google AdSense para Bloggers de Mom - dummies

Google O AdSense não é uma rede de anúncios orientada para a mãe, nem é A melhor opção de publicidade para a maioria dos blogs da mãe. Há certamente exceções a isso, especialmente se você blogar sobre produtos ou marcas. Todos os blogueiros que exibem publicidade devem ter um provedor de anúncios de backup - e o AdSense é uma ótima solução para essa necessidade. AdSense aprova ...

Relatório de conteúdo principal do google Analytics - dummies

Relatório de conteúdo principal do google Analytics - dummies

O relatório Top Content é um dos relatórios mais importantes no Google Analytics. Este relatório mostra as postagens mais populares no blog da sua mãe. Seu conteúdo popular dá uma visão do porquê seus leitores chegam até você. Os tópicos dessas postagens indicam o que as pessoas gostam, mesmo quando não comentam. Para visualizar ...

Escolha dos editores

Como fazer uma imagem disparar um link - as manequins

Como fazer uma imagem disparar um link - as manequins

Usam imagens para navegação . Eles são mais bonitos que os links de texto simples, e você pode adicionar a forma e a função na sua página com um elemento. Para criar uma imagem que desencadeia um link, você substitui um elemento no lugar do texto ao qual você ancoraria seu link. Esta marcação liga o texto: ...

Como abrir links em novos Windows ou Tabs com HTML5 - dummies

Como abrir links em novos Windows ou Tabs com HTML5 - dummies

O A web funciona porque você pode vincular páginas em seu site para páginas nos sites de outras pessoas usando um elemento de âncora simples. Quando você liga para o site de outra pessoa, você envia usuários para longe de seu próprio site. Para manter os usuários no seu site, HTML pode abrir a página vinculada em uma nova janela ...

Como criar tabelas em HTML5 - dummies

Como criar tabelas em HTML5 - dummies

O recipiente de marcação primária para tabelas em HTML é a tabela elemento. Ou seja, você usa a tag de abertura para denotar o início de uma tabela e você adiciona a tag de fechamento para encerrá-la. Além disso, os blocos de construção básicos para dados de tabela em HTML são a linha da tabela ( ) e os dados da tabela ...