Oracle Exadata Database Machine X3: "Smart Flash Logging"

Deiby Gómez Robles , Yenugula Venkata RaviKumar (OCM) y David Siqueira
Postado en fevereiro 2014

Introdução:

Exadata Database Machine possui várias funcionalidades que contribuem com o objetivo de processar grandes volumes de dados de forma eficiente. Entre todas as  funcionalidades, você encontrará a opção "Exadata Smart Flash Logging" que utiliza o armazenamento flash dentro do Servidor de armazenamento como destino para auxiliar Redo Logs, promovendo a consistência e baixa latência otimizando o tempo de resposta de forma significativa.

Como o Exadata Smart Flash Logging funciona?

  • O Oracle Database envia requisições de escrita de Redo Logs para os Storage Servers.
  • CELLSRV simultaneamente envia requisições de escrita de Redo Logs para o Flash e dispositivos de discos.
  • CELLSRV envia uma notificação de reconhecimento ao banco de dados assim que o processo de gravação estiver concluído em flash ou dispositivos de disco rígido.

 Nota: Os Redo Logs são permanentemente arquivados em disco e temporariamente em um dispositivo flash.

Recursos do Smart Flash Logging

O espaço utilizado pelo Smart Flash Logging é um montante compartilhado entre dispositivos de flash, cada Storage Server contém 4 cartões de PCI. E cada cartão contém 4 dispositivos flashesformando o total de 16 dispositivos de Flash. Cada dispositivo de flash utiliza 32MB para Smart Flash Logging contabilizando um total de 512MB utilizado por cada Storage Server..

  • Por padrão, Exadata Smart Flash Log usa 32 MB em cada dispositivo Flash.
  • Exadata Smart Flash Logging utiliza um total de 512MB por cada Storage Server.

  • Exadata Smart Flash Log usa um total de 7,168 MB em cada Exadata Database Machine Full Rack.
  • Exadata X2 Database Machine Full Rack tem 5.3 TB total de Flash Memory. Cada Storage Server tem 4 cartões PCI de memória flash, cada cartão possui 4 dispositivos Flash de 24GB um total de 384GB por Storage Server.
  • Várias estatísticas são mantidas para controlar a quantidade e a freqüência de gravações  em dispositivos flash. Falhas de escrita também são mantidas em dispositivos flash, não importa o motivo da falha. Para um banco de dados de alto volume transacional, tipo OLT, ou quando vários bancos de dados são consolidados sob o mesmo Exadata Database Machine, o tamanho atribuído ao Smart Flash Logging deve ser aumentado.
  • As boas práticas para a manutenção de Redo Logs , como multiplexação, espelhamento, tuning tamanho do arquivo, e outros; não são afetados pelo uso de Smart Flash Logging.
  • Exadata X3 Database Machine Full Rack tem um total de 22.4 TB de memória flash. Cada Storage Server tem um total de 4 cartões PCI de memória flash e cada cartão tem 4 dispositivos flash de 100GB cada um. Para um total de  1.6TB de memória Flash por Storage Server.

O que não é cosiderado Smart Flash Logging?

  • Não é um tipo de  armazenamento e espelhamento para Redo Logs, visto que os  Redo Logs não são completamente arquivados dentro dos dispositivos flash, mas apenas as partes finais.
  • Não se trata de Cache, dado que os pedidos de leitura não são feitos a partir dos dispositivos flash, eles são sempre feitos a partir do disco rígido.

Creando o Smart Flash Logging:

Sintaxe:

CREATE  FLASHLOG [ALL [FLASHDISK]] [attribute=value] [,attribute=value] …


Exemplos:

CREATE  FLASHLOG ALL
CREATE  FLASHLOG ALL SIZE=1G
CREATE  FLASHLOG CELLDISK='flashdisk1, flashdisk2'
CREATE  FLASHLOG CELLDISK='flashdisk1, flashdisk2' SIZE=1G

Screenshot

  • O padrão de tamanho do Smart Flash Logging é  (512MB) deve ser o bastante para bases de dados com baixo volume de escritas.
  • A criação do  Smart Flash Logging é automatizada desde a versão 11.2.2.4.

Administrando o Smart Flash Logging:

Sintaxe:

LIST  FLASHLOG [attribute_list] [DETAIL]


Exemplos:

LIST FLASHLOG
LIST FLASHLOG DETAIL
LIST FLASHLOG ATTRIBUTES name, efficiency

Removendo o  Smart Flash Logging:

Sintaxe:

DROP  FLASHLOG [FORCE]


Exemplos:

DROP FLASHLOG
DROP FLASHLOG FORCE

Nota: O argumento FORCE deve ser usado com precaução..

Habilitando e Desabilitando o  Smart Flash Logging:

  • Smart Flash Logging automaticamente habilitado para o RDBMS 11.2.0.3 e 11.2.0.2 BP9 (BP11 é recomendado).
  • Na versão 11.2.0.3, o parametro _enable_flash_logging=FALSE deve ser definido para DISABLE no Smart Flash Logging.
  • DROP FLASHLOG desabilitam Smart Flash Logging para todas instancias.

Use o atributo flashLog  juntamente com IORMPLAN para habilitar ou desabilitar Smart Flash Logging para uma base de dados especifica:

ALTER IORMPLAN dbplan=((name=proddb,  flashLog=on))
ALTER IORMPLAN dbplan=((name=testdb,  flashLog=off))


Smart Flash Logging métricas:

Este evento de WAIT irá mostrar a latência que esta associada com as gravações em Redo Log:

LIST  METRICCURRENT WHERE OBJECTTYPE='FLASHLOG':   (Before  using Smart Flash Log) 

LIST  METRICCURRENT WHERE OBJECTTYPE='FLASHLOG':   (depois  do uso de Smart Flash Log) 

 
Analise as seguintes métricas de Smart Flash Logging:

  • FL_DISK_FIRST:      numbero de escritas para arquivos de  Redo Log que tenham sido concluidas para dispositivos de disco primeiro.
  • FL_IO_W                  numero de gravações em arquivos de Redo Log servidos por SMART FLASH LOGGING.
  • FL_IO_DB_BY_W    numero de bytes escritos para disco .
  • FL_IO_FL_BY_W     numero de bytes escritos para disposotivos flash.

Diagnosticando com Exadata Smart Flash Logging:

Se existir um problema com a base de dados, você pode utilziar a informação do Exadata smart flash logging para realizar os seguintes disgnosticos.

Rever o arquivo de alerta em cada Storage Server:

Rastreando eventos com  Exadata Smart Flash Logging:

Existem alguns eventos peculiares de Flash Log que podem ser rastreados usando a ferramenta de  CELLCLI , como podemos identificar na imagem:

Conteúdo do alerta e do arquivo de rastreamento.
 

 


Deiby Gomez é um  DBA com vasta experiencia em  Oracle Exadata Database Machine e soluções de Alta Dipsonibilidade. Deiby frequentemente ministra palestras em importantes eventos  Oracle na Guatemala tais como "Oracle Technology Network Tour", "Java Day", "Primer Simposio de Oracle" e em varias Universidades de seu país de residencia (Guatemala). Deiby é o primeiro Oracle ACE da Guatemala. É "Oracle RAC 11g and Grid Infraestructure Administrator", "ExadataDatabase Machine X3 Administrator", "Oracle Linux CertifiedImplementationSpecialist" e  "Oracle SOA Implementation Certified Expert".

Yenugula Venkata Ravikumar é um DBA com mais de 15 anos de experiencia com Oracle e em ambientes de alta disponibilidade (RAC, Data Guard, dentre outros), tuning e desempenho, migrações, backup e recover, Oracle Exadata X2 e X3, é Expert em sistemas operacionais tais como  como AIX, HP-UX e Linux. Já participou como conferencista de Oracle pela India, ode mora atualmente. Obteve o titulo de "Oracle Certified Master (OCM 10g)" em 2009.

David Siqueira DBA desde 2001, atuante no mercado de São Paulo Brasil, trabalhou nas principais consultorias sempre buscando melhorar conhecimentos e agregar valor aos ambientes por onde passou, é OCP 10 e 11g, OCE SQL Expert, OCE RAC 10g, OCE Exadata Essentials e foi nomeado Oracle ACE em Dezembro de 2011. Atua com ambientes de Alta Disponibilidade Oracel RAC 11g, Exadata X2-2 e Administração de Banco de Dados em Geral. Também possui conhecimentos em sistemas operacionais Oracle VM server e Oracle Businnes Intelligence.