Deiby Gómez Robles , Yenugula Venkata RaviKumar (OCM) e David Siqueira
Postado en março 2014
Desde o surgimento do "Oracle Exadata", em 2008, em sua primeira versão otimizada para "Data Warehousing", gradativamente foram adicionados novos recursos para aumentar sua capacidade de trabalho para banco de dados "data warehousing" (volumes elevados de consultas e dados) e OLTP (Volume de leituras e Escritas elevados) ou até mesmo para o multipropósito.
Obter um ótimo desempenho sempre foi o principal objetivo da solução "Oracle Exadata", e isso se tornou possivel com os novos recusos que foram incorporados ao longo dos anos, tais como, "Smart Scan", "Smart Flash Cache","Smart Flash Log","Storage Indexes", entre outros. Um dos ultimos recursos adicionados para assegurar melhor performance do "Oracle Exadata" foi o "Flash Cache Write-Back", que veio para combinar o uso de hardware ( Flash Drives) e Software ( Exadata Storage Server Software).
Há duas caracteristicas que o software possui os “Storage Servers” que otimizam o "Hardware” do “Exadata” e fazem do “ExadataDatabase Machine” um sistema de implanatação rápida para bases de dados Oracle “Single” ou “RAC”
O uso de um banco de dados requer a realização de um compromisso com o desempenho na entrega das informações para que o software " Exadata Storage Servers" em conjunto com o banco de dados Oracle facilite o cumprimento deste compromisso, forneceram um novo recurso chamado "Flash Cache Write-Back".
“Write-Back Flash Cache” fornece a capacidade de executar operações de escrita diretamente nos dispositivos de “flash, sem perder a capacidade de realizar operações de leitura também. Se uma aplicação com volume de escritas muito intenso começam a gerar eventos de “free buffer waits”, então “Write-Back Flash Cache” é uma ótima opção para solucionar este tipo de contenção no ambiente.
Qualquer hardware "Exadata" da versão três (X3) pode tirar proveito deste recurso. Os Exadatas Versão (X2) também pode usar esse recurso desde que a versão do software que você está usando seja 11.2.3.2.1 ou superior.
A partir da versão 11.2.3.2.1, “FlashCache” é auto,aticamente ajustado para o uso de “Write-Through”. O comando “ALTER CELL” é utilizado para trocar o modo para “Write-Back”.
“Write-Back Flash Cache” melhora significativamente as operações que sofre de escrita intensa pelo fato de que a escrita em um dispositivo de "flash" é mais rápida do que escritas para discos rígidos. Dependendo da aplicação, nas máquinas X3-2 o desempenho de escritas pode ser melhorada em até 20 vezes as escritas para discos rígidos e em 10X com relação a gravações em disco nas máquinas X2-2.
O atributo de "flashCacheMode" dentro dos "Storage Servers" determinam o uso do recurso. Os valores possíveis para este parâmetro são:
O comando “LIST CELL” mostra o valor atual do parametro.
Por Exemplo:
CELLCLI> list cell attributes flashcachemode
WriteBack
CELLCLI>list cell detail
Características de Write-BackFlash Cache:
Beneficios do Write-Back Flash Cache:
Como habilitar a caracteristica Write-Back Flash Cache?
Dois métodos estão disponiveis:
Nota: Antes de realizar os passos a seguir, realice as seguintes verificações com o usuário root apartir de um dos servidores de banco de dados:
Verifique todos os grid disks e assegure que os parametros"asmdeactivationoutcome" e "asmmodestatus" estejam com a opção "Yes" e "ONLINE" respectivamente:
# dcli -g cell_group -l root cellcli -e list griddisk attributes asmdeactivationoutcome, asmmodestatus
Verifique se todos os objetos no Flash Cache estejam em estado "normal" e que nenhum disco Flash esteja em estado degradado ou critico.
Método Continuo:
Essas etapas pressupõe, que as instâncias de banco de dados e instancias de ASM e o Write-Back Flash Cache sejam habilitados em um Storage Server de cada vez.
#cellcli –e dropflashcache
# cellcli -e list griddisk attributes name,asmmodestatus,asmdeactivationoutcome
# cellcli –e alter griddisk all inactive
# cellcli -e alter cell shutdown services cellsrv
# cellcli -e "alter cell flashCacheMode=writeback"
# cellcli -e alter cell startup services cellsrv
# cellcli –e alter griddisk all active
# cellcli -e list griddisk attributes name, asmmodestatus
# cellcli -e createflashcacheall
# cellcli -e list cell detail | grep flashCacheMode
# cellcli -e list griddisk attributes name,asmmodestatus,asmdeactivationoutcome
Método não continuo:
Essas etapas pressupõem, que as instancias de banco de dados e ASM não estejam iniciadas enquanto o processo de ativação do Write-Back esteja executando.
Eliminar todos os Flash Cache do Storage Server
# cellcli -e dropflashcache
# cellcli -e alter cell shutdown services cellsrv
# cellcli -e "alter cell flashCacheMode=writeback"
# cellcli -e alter cell startup services cellsrv
# cellcli -e createflashcacheall
Desabilitar o Write-Back Flash Cache quando não há uso:
É possivel deshabilitar o Write-Back Flash Cache dos Diskgroups que não necessitam desta caracteristica, tais como RECO (Diskgroup utilizado para guardar backups). Iso beneficiará liberando espaço no Flash Cache.
CACHINGPOLICY: Pode ser usado para trocar a política de Flash Cache nos Grid Disks.
Antes de trocar a politica de Flash Cache modifique o valor "default" para "none", garanta que não hajam dados nenhum no Flash Cache para o Grid Disk.
Para novas criações de Grid Disks:
CellCLI> create griddisk all harddisk prefix=RECO, size=1006, cachingPolicy="none“
Para os Grid Disk que já haviam sido criados:
CELLCLI>ALTER GRIDDISK grid_disk_name FLUSH
CELLCLI>ALTER GRIDDISK grid_disk_name CACHINGPOLICY="none"
Baixar dados do Flash Cache para os Discos (Método Manual):
Os dados que não estão sincronizados com os Grid Disks podem ser sincronizados manualmente usando a função “FLUSH” :
CELLCLI>ALTER GRIDDISK grid_disk_name FLUSH
CELLCLI>LIST GRIDDISK ATTRIBUTES name, flushstatus, flusherr
Re-Habilitar o modo WriteThrough no Flash Cache:
Os seguintes requisitos devem ser considerados :
CELLCLI> alter flashcacheallflush
CELLCLI> drop flashcache
CELLCLI> alter cell shutdown services cellsrv
CELLCLI> alter cellflashCacheMode = WriteThrough
CELLCLI> alter cell startup services cellsrv
Monitorar o uso do Flash Cache:
Para monitorar o quanto de uso do Flash Cache para determinar se é melhor habilitar a característica de Write-Back Flash Cache, ou desabilita-la, pode-se usar o seguinte comando:
CELLCLI> list metricdefinition attributes name, description where name like '.*_DIRTY‘
Os significados dos campos são os seguintes :
CD_BY_FC_DIRTY: Numero de bytes que ainda não foram descarregados para disco em um CELL DISK
FC_BY_DIRTY: Numero de bytes que ainda não foram descarregados para o Flash Cache.
FC_BY_STALE_DIRTY: Numero de bytes ainda não foram transferidos para o disco a partir do Flash Cache, mas eles não podem ser transferidos porque as unidades de flash não estão acessiveis.
GD_BY_FC_DIRTY: Numero de bytes queainda não foram descarregados para disco do Flash Cache para um Grid Disk.
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", "OCP 11g & 12c", "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.