Exadata Write-Back Flash Cache
fevereiro 25, 2014

A feature Write-Back Flash Cache vem através da tecnologia Exadata Smart Flash Cache do Exadata. Com o Write-Back Flash Cache é possível utilizar o Exadata Smart Flash Cache também para realizar o cache das escritas realizadas no bloco do banco de dados.

Principalmente para grandes escalas de bancos OLTP ou cargas Batch’s, o Write-Back torna o Smart Flash Cache do Exadata muito mais atrativo, pois elimina qualquer gargalo de disco existente passando diretamente o I/O para a PCI flash. Para se ter uma ideia de como é rápido essa tecnologia, utilizando um single full rack Exadata Database Machine X4-2, ele ultrapassa 1.960.00 escritas I/O por segundos levando sem consideração um bloco de 8K, e ele é totalmente automático e transparente e lhe dá algumas opções de configuração.

O Write-Back também está disponível para as versões X2, porém a versão mínima do Oracle Exadata Storage Server Software deve ser 11.2.3.2.1 e certifique-se que tanto o software de grid infrastructure and database homes estão no patch 11.2.0.3.9 ou maior.

A pergunta que fica é: Devo habilitar o write flash cache no meu Exadata? Bom, por incrível que pareça, o write-back não vem habilitado por default no Exadata. Após rodar o exaconf se você conectar nos seus cell’s você vai notar que o Smart Flash Cache não está em modo Write-Back. A Oracle literalmente deixa a seu critério: habilitar ou não habilitar. Minha opinião é que essa feature, assim como algumas outras, deveriam ser quase que um pré-requisitos de qualquer configuração, devida as vantagens delas oferecidas, é quase que o mesmo caso do parâmetro oculto _serial_direct_read no Exadata … aguarde o próximo post :) … De qualquer maneira, essa feature é interessante caso você tenha uma intensa escrita em disco e/ou se você encontra significantes eventos do tipo “free buffers waits” em seu AWR.

Para você determinar se a sua celula está em modo WriteBack execute o seguinte comando:

Onde:
flashCacheMode: WriteBack —> seu write back flash cache está habilitado
flashCacheMode: WriteThrough —> seu write back flash cache não está habilitado

No exemplo abaixo as 3 células do Exadata ex01dev2550, estão com o flashCacheMode em modo WriteThrough.

[root@ex01dev2550 ~ ]# dcli -l root -g /opt/oracle.SupportTools/onecommand/cell_group cellcli -e "list cell detail | grep flashCacheMode"
ex01celd2550: flashCacheMode:            writethrough
ex01celd2550: flashCacheMode:            writethrough
ex01celd2550: flashCacheMode:            writethrough

Para habilitar o write back é necessário mudar o flashCacheMode de cada célula do seu Exadata. No MOS (My Oracle Support: http://support.oracle.com) a Oracle disponibiliza um script chamado de setWBFC.sh para a mudança do tipo do Flash Cache do seu Exadata. Porém isso pode ser facilmente realizar de forma manual.

A maneira que vou mostrar aqui é utilizando o ROLLING método, ou seja, não causa parada no seu ambiente. O segredo de utilizar o modo ROLLING é que você deve executar os passos abaixo em uma célula por vez.

Tenho as seguintes células: ex01celd2550, ex02celd2550 e ex03celd2550.

Vou iniciar então, com a cell ex01celd2550 e depois seguir com as outras.

O primeiro passo é remover todos os discos do tipo flashcache mode na célula ex01celd2550.

[root@ex01celd2550 ~]# cellcli -e drop flashcache
Flash cache ex01celd2550_FLASHCACHE successfully dropped

Agora, vamos checar se o ASM vai conseguir gerenciar os discos dessa celula, caso eles fiquem OFFLINE. O seguinte comando deve retornar ‘Yes’ para os griddisks:

[root@ex01celd2550 ~]# cellcli -e list griddisk attributes name,asmmodestatus,asmdeactivationoutcome
         DATA_CD_00_ex01celd2550    ONLINE  Yes
         DATA_CD_01_ex01celd2550    ONLINE  Yes
         DATA_CD_02_ex01celd2550    ONLINE  Yes
         DATA_CD_03_ex01celd2550    ONLINE  Yes
         DATA_CD_04_ex01celd2550    ONLINE  Yes
         DATA_CD_05_ex01celd2550    ONLINE  Yes
         DATA_CD_06_ex01celd2550    ONLINE  Yes
         DATA_CD_07_ex01celd2550    ONLINE  Yes
         DATA_CD_08_ex01celd2550    ONLINE  Yes
         DATA_CD_09_ex01celd2550    ONLINE  Yes
         DATA_CD_10_ex01celd2550    ONLINE  Yes
         DATA_CD_11_ex01celd2550    ONLINE  Yes
         SYSTEMDG_CD_02_ex01celd2550      ONLINE  Yes
         SYSTEMDG_CD_03_ex01celd2550      ONLINE  Yes
         SYSTEMDG_CD_04_ex01celd2550      ONLINE  Yes
         SYSTEMDG_CD_05_ex01celd2550      ONLINE  Yes
         SYSTEMDG_CD_06_ex01celd2550      ONLINE  Yes
         SYSTEMDG_CD_07_ex01celd2550      ONLINE  Yes
         SYSTEMDG_CD_08_ex01celd2550      ONLINE  Yes
         SYSTEMDG_CD_09_ex01celd2550      ONLINE  Yes
         SYSTEMDG_CD_10_ex01celd2550      ONLINE  Yes
         SYSTEMDG_CD_11_ex01celd2550      ONLINE  Yes
         RECO_CD_00_ex01celd2550    ONLINE  Yes
         RECO_CD_01_ex01celd2550    ONLINE  Yes
         RECO_CD_02_ex01celd2550    ONLINE  Yes
         RECO_CD_03_ex01celd2550    ONLINE  Yes
         RECO_CD_04_ex01celd2550    ONLINE  Yes
         RECO_CD_05_ex01celd2550    ONLINE  Yes
         RECO_CD_06_ex01celd2550    ONLINE  Yes
         RECO_CD_07_ex01celd2550    ONLINE  Yes
         RECO_CD_08_ex01celd2550    ONLINE  Yes
         RECO_CD_09_ex01celd2550    ONLINE  Yes
         RECO_CD_10_ex01celd2550    ONLINE  Yes
         RECO_CD_11_ex01celd2550    ONLINE  Yes

Com o ASM garantindo que ficará tudo bem, vamos inativar todos os gridisks dessa célula:

[root@ex01celd2550 ~]# cellcli -e alter griddisk all inactive
GridDisk DATA_CD_00_ex01celd2550 successfully altered
GridDisk DATA_CD_01_ex01celd2550 successfully altered
GridDisk DATA_CD_02_ex01celd2550 successfully altered
GridDisk DATA_CD_03_ex01celd2550 successfully altered
GridDisk DATA_CD_04_ex01celd2550 successfully altered
GridDisk DATA_CD_05_ex01celd2550 successfully altered
GridDisk DATA_CD_06_ex01celd2550 successfully altered
GridDisk DATA_CD_07_ex01celd2550 successfully altered
GridDisk DATA_CD_08_ex01celd2550 successfully altered
GridDisk DATA_CD_09_ex01celd2550 successfully altered
GridDisk DATA_CD_10_ex01celd2550 successfully altered
GridDisk DATA_CD_11_ex01celd2550 successfully altered
GridDisk SYSTEMDG_CD_02_ex01celd2550 successfully altered
GridDisk SYSTEMDG_CD_03_ex01celd2550 successfully altered
GridDisk SYSTEMDG_CD_04_ex01celd2550 successfully altered
GridDisk SYSTEMDG_CD_05_ex01celd2550 successfully altered
GridDisk SYSTEMDG_CD_06_ex01celd2550 successfully altered
GridDisk SYSTEMDG_CD_07_ex01celd2550 successfully altered
GridDisk SYSTEMDG_CD_08_ex01celd2550 successfully altered
GridDisk SYSTEMDG_CD_09_ex01celd2550 successfully altered
GridDisk SYSTEMDG_CD_10_ex01celd2550 successfully altered
GridDisk SYSTEMDG_CD_11_ex01celd2550 successfully altered
GridDisk RECO_CD_00_ex01celd2550 successfully altered
GridDisk RECO_CD_01_ex01celd2550 successfully altered
GridDisk RECO_CD_02_ex01celd2550 successfully altered
GridDisk RECO_CD_03_ex01celd2550 successfully altered
GridDisk RECO_CD_04_ex01celd2550 successfully altered
GridDisk RECO_CD_05_ex01celd2550 successfully altered
GridDisk RECO_CD_06_ex01celd2550 successfully altered
GridDisk RECO_CD_07_ex01celd2550 successfully altered
GridDisk RECO_CD_08_ex01celd2550 successfully altered
GridDisk RECO_CD_09_ex01celd2550 successfully altered
GridDisk RECO_CD_10_ex01celd2550 successfully altered
GridDisk RECO_CD_11_ex01celd2550 successfully altered

Agora vamos realizar o Shut down do serviço cellsrv dentro da célula ex01celd2500

[root@ex01celd2550 ~]# cellcli -e alter cell shutdown services cellsrv

Stopping CELLSRV services...
The SHUTDOWN of CELLSRV services was successful.

Com tudo baixado na célula, vamos mudar o flashcache mode para “writeback”, usando o seguinte comando

[root@ex01celd2550 ~]# cellcli -e "alter cell flashCacheMode=writeback"
Cell ex01celd2550 successfully altered

Feito isso, vamos reiniciar novamente o serviço cellsrv e reativar todos os griddisks dentro da célula

[root@ex01celd2550 ~]# cellcli -e alter cell startup services cellsrv
Starting CELLSRV services...
The STARTUP of CELLSRV services was successful.

[root@ex01celd2550 ~]# cellcli -e alter griddisk all active
GridDisk DATA_CD_00_ex01celd2550 successfully altered
GridDisk DATA_CD_01_ex01celd2550 successfully altered
GridDisk DATA_CD_02_ex01celd2550 successfully altered
GridDisk DATA_CD_03_ex01celd2550 successfully altered
GridDisk DATA_CD_04_ex01celd2550 successfully altered
GridDisk DATA_CD_05_ex01celd2550 successfully altered
GridDisk DATA_CD_06_ex01celd2550 successfully altered
GridDisk DATA_CD_07_ex01celd2550 successfully altered
GridDisk DATA_CD_08_ex01celd2550 successfully altered
GridDisk DATA_CD_09_ex01celd2550 successfully altered
GridDisk DATA_CD_10_ex01celd2550 successfully altered
GridDisk DATA_CD_11_ex01celd2550 successfully altered
GridDisk SYSTEMDG_CD_02_ex01celd2550 successfully altered
GridDisk SYSTEMDG_CD_03_ex01celd2550 successfully altered
GridDisk SYSTEMDG_CD_04_ex01celd2550 successfully altered
GridDisk SYSTEMDG_CD_05_ex01celd2550 successfully altered
GridDisk SYSTEMDG_CD_06_ex01celd2550 successfully altered
GridDisk SYSTEMDG_CD_07_ex01celd2550 successfully altered
GridDisk SYSTEMDG_CD_08_ex01celd2550 successfully altered
GridDisk SYSTEMDG_CD_09_ex01celd2550 successfully altered
GridDisk SYSTEMDG_CD_10_ex01celd2550 successfully altered
GridDisk SYSTEMDG_CD_11_ex01celd2550 successfully altered
GridDisk RECO_CD_00_ex01celd2550 successfully altered
GridDisk RECO_CD_01_ex01celd2550 successfully altered
GridDisk RECO_CD_02_ex01celd2550 successfully altered
GridDisk RECO_CD_03_ex01celd2550 successfully altered
GridDisk RECO_CD_04_ex01celd2550 successfully altered
GridDisk RECO_CD_05_ex01celd2550 successfully altered
GridDisk RECO_CD_06_ex01celd2550 successfully altered
GridDisk RECO_CD_07_ex01celd2550 successfully altered
GridDisk RECO_CD_08_ex01celd2550 successfully altered
GridDisk RECO_CD_09_ex01celd2550 successfully altered
GridDisk RECO_CD_10_ex01celd2550 successfully altered
GridDisk RECO_CD_11_ex01celd2550 successfully altered

Com o comando de reativar os gridisks executamos, vamos ter que esperar realizar a sincronia da célula novamente, que pode ser feito utilizando o comando abaixo. Observer que alguns discos ainda estão OFFLINE e outros estão em modo “SYNCING”, vamos ter que esperar todos os discos ficarem ONLINE. O tempo para finalizar vai depender da quantidade de dados que você tem em disco e o tempo que você deixou o os discos inativos. Geralmente esse passo é rápido.

[root@ex01celd2550 ~]# cellcli -e list griddisk attributes name, asmmodestatus
         DATA_CD_00_ex01celd2550    SYNCING
         DATA_CD_01_ex01celd2550    SYNCING
         DATA_CD_02_ex01celd2550    SYNCING
         DATA_CD_03_ex01celd2550    SYNCING
         DATA_CD_04_ex01celd2550    SYNCING
         DATA_CD_05_ex01celd2550    SYNCING
         DATA_CD_06_ex01celd2550    SYNCING
         DATA_CD_07_ex01celd2550    SYNCING
         DATA_CD_08_ex01celd2550    SYNCING
         DATA_CD_09_ex01celd2550    SYNCING
         DATA_CD_10_ex01celd2550    SYNCING
         DATA_CD_11_ex01celd2550    SYNCING
         SYSTEMDG_CD_02_ex01celd2550      ONLINE
         SYSTEMDG_CD_03_ex01celd2550      ONLINE
         SYSTEMDG_CD_04_ex01celd2550      ONLINE
         SYSTEMDG_CD_05_ex01celd2550      ONLINE
         SYSTEMDG_CD_06_ex01celd2550      ONLINE
         SYSTEMDG_CD_07_ex01celd2550      ONLINE
         SYSTEMDG_CD_08_ex01celd2550      ONLINE
         SYSTEMDG_CD_09_ex01celd2550      ONLINE
         SYSTEMDG_CD_10_ex01celd2550      ONLINE
         SYSTEMDG_CD_11_ex01celd2550      ONLINE
         RECO_CD_00_ex01celd2550    OFFLINE
         RECO_CD_01_ex01celd2550    OFFLINE
         RECO_CD_02_ex01celd2550    OFFLINE
         RECO_CD_03_ex01celd2550    OFFLINE
         RECO_CD_04_ex01celd2550    OFFLINE
         RECO_CD_05_ex01celd2550    OFFLINE
         RECO_CD_06_ex01celd2550    OFFLINE
         RECO_CD_07_ex01celd2550    OFFLINE
         RECO_CD_08_ex01celd2550    OFFLINE
         RECO_CD_09_ex01celd2550    OFFLINE
         RECO_CD_10_ex01celd2550    OFFLINE
         RECO_CD_11_ex01celd2550    OFFLINE
[root@ex01celd2550 ~]# cellcli -e list griddisk attributes name, asmmodestatus
         DATA_CD_00_ex01celd2550    ONLINE
         DATA_CD_01_ex01celd2550    ONLINE
         DATA_CD_02_ex01celd2550    ONLINE
         DATA_CD_03_ex01celd2550    ONLINE
         DATA_CD_04_ex01celd2550    ONLINE
         DATA_CD_05_ex01celd2550    ONLINE
         DATA_CD_06_ex01celd2550    ONLINE
         DATA_CD_07_ex01celd2550    ONLINE
         DATA_CD_08_ex01celd2550    ONLINE
         DATA_CD_09_ex01celd2550    ONLINE
         DATA_CD_10_ex01celd2550    ONLINE
         DATA_CD_11_ex01celd2550    ONLINE
         SYSTEMDG_CD_02_ex01celd2550      ONLINE
         SYSTEMDG_CD_03_ex01celd2550      ONLINE
         SYSTEMDG_CD_04_ex01celd2550      ONLINE
         SYSTEMDG_CD_05_ex01celd2550      ONLINE
         SYSTEMDG_CD_06_ex01celd2550      ONLINE
         SYSTEMDG_CD_07_ex01celd2550      ONLINE
         SYSTEMDG_CD_08_ex01celd2550      ONLINE
         SYSTEMDG_CD_09_ex01celd2550      ONLINE
         SYSTEMDG_CD_10_ex01celd2550      ONLINE
         SYSTEMDG_CD_11_ex01celd2550      ONLINE
         RECO_CD_00_ex01celd2550    ONLINE
         RECO_CD_01_ex01celd2550    ONLINE
         RECO_CD_02_ex01celd2550    ONLINE
         RECO_CD_03_ex01celd2550    ONLINE
         RECO_CD_04_ex01celd2550    ONLINE
         RECO_CD_05_ex01celd2550    ONLINE
         RECO_CD_06_ex01celd2550    ONLINE
         RECO_CD_07_ex01celd2550    ONLINE
         RECO_CD_08_ex01celd2550    ONLINE
         RECO_CD_09_ex01celd2550    ONLINE
         RECO_CD_10_ex01celd2550    ONLINE
         RECO_CD_11_ex01celd2550    ONLINE

Com todos os discos ONLINE, vamos recriar novamente os FLASHCACHE griddisks, porém agora com o modo writeback habilitado.

[root@ex01celd2550 ~]# cellcli -e create flashcache all
Flash cache ex01celd2550_FLASHCACHE successfully created

Observe que agora a célula ex01celd2550 está em modo write back.

[root@ex01celd2550 ~]# cellcli -e list cell detail | grep flashCacheMode
         flashCacheMode:         writeback

O caminho agora é repetir esses passos na próximas células. Lembrando apenas que antes de deixar uma cell server offline, sempre garanta que o asmdeactivationoutcome mostre como YES, como fizemos acima com o comando:

# cellcli -e list griddisk attributes name,asmmodestatus,asmdeactivationoutcome

Agora é testar e verificar a diferença :)

Você irá conseguir melhores resultados já mudando a sua tabela para o flash cache utilizando o comando “alter table xxx storage (cell_flash_cache keep)”;

Espero que tenha ajudado,

Forte abraço.

Pedindo ajuda ao Oracle Exadata
junho 27, 2012

Guarde em mente, se você quer mesmo aprender Oracle Exadata você tem que saber uma coisa: Administrar o Exadata Storage Server, a grande diferença entre administrar um ambiente Exadata e não Exadata é a necessidade de controlar o Storage Server.

Quase todas as ferramentas da Oracle que conheço são intuitivas, você acaba aprendendo com elas, o que não é diferente com o CellCli uma ferramenta command line utilizada para configurar, monitorar, manter, visualizar o Exadata Storage Cell (uma célula do Exadata Storage Server). Ferramenta está que somente é disponível quando estamos conectados direto no servidor Exadata, caso faça necessário realizar a conexão fora do Storage Server é necessário então o uso do DCli.

Uma vez estando conectado no servidor Exadata, basta executar o comando cellcli para iniciar a configuração Storage Server:

# cellcli 
CellCLI: Release 11.2.2.1.0 - Production on Tue Jun 26 17:38:49 PDT 2012

Copyright (c) 2007, 2009, Oracle.  All rights reserved.
Cell Efficiency Ratio: 1

CellCLI>

Como eu mencionei no parágrafo anterior, o cellcli é uma ferramente simples e que nos permite um alto nível de configuração. Nada melhor do que pedir uma ajuda para para começar:

CellCLI> help

 HELP [topic]
   Available Topics:
        ALTER
        ALTER ALERTHISTORY
        ALTER CELL
        ALTER CELLDISK
        ALTER GRIDDISK
        ALTER IORMPLAN
        ALTER LUN
        ALTER PHYSICALDISK
        ALTER QUARANTINE
        ALTER THRESHOLD
        ASSIGN KEY
        CALIBRATE
        CREATE
        CREATE CELL
        CREATE CELLDISK
        CREATE FLASHCACHE
        CREATE GRIDDISK
        CREATE KEY
        CREATE QUARANTINE
        CREATE THRESHOLD
        DESCRIBE
        DROP
        DROP ALERTHISTORY
        DROP CELL
        DROP CELLDISK
        DROP FLASHCACHE
        DROP GRIDDISK
        DROP QUARANTINE
        DROP THRESHOLD
        EXPORT CELLDISK
        IMPORT CELLDISK
        LIST
        LIST ACTIVEREQUEST
        LIST ALERTDEFINITION
        LIST ALERTHISTORY
        LIST CELL
        LIST CELLDISK
        LIST FLASHCACHE
        LIST FLASHCACHECONTENT
        LIST GRIDDISK
        LIST IORMPLAN
        LIST KEY
        LIST LUN
        LIST METRICCURRENT
        LIST METRICDEFINITION
        LIST METRICHISTORY
        LIST PHYSICALDISK
        LIST QUARANTINE
        LIST THRESHOLD
        SET
        SPOOL
        START

Veja que em apenas um comando é mostrado todas as formas possíveis de configuração que o cellcli possui. Mas podemos melhorar isso, quero saber por exemplo as possibilidades do comando list, veja a simplicidade:

CellCLI> help list

  Enter HELP LIST  for specific help syntax.
    :  {ACTIVEREQUEST | ALERTHISTORY | ALERTDEFINITION | CELL 
                     | CELLDISK | FLASHCACHE | FLASHCACHECONTENT | GRIDDISK
                     | IORMPLAN | KEY | LUN 
                     | METRICCURRENT | METRICDEFINITION | METRICHISTORY 
                     | PHYSICALDISK | QUARANTINE | THRESHOLD }

As possibilidades estão aumento, veja acima que com o comando list é possível descobrir a quantidade dos celldisk, a quantidade e status de cada um dos griddisk, saber todas as LUNs criadas no Storage e por ai vai … No exemplo abaixo vemos todos os griddisk do ambiente:

CellCLI> list griddisk
	 data_AA_01_cell	 active
	 data_AA_02_cell	 active
	 data_AA_03_cell	 active
	 data_AA_04_cell	 active
	 data_AA_05_cell	 active
	 data_AA_06_cell	 active
	 data_BB_00_cell    	 active
	 data_BB_01_cell    	 active
	 data_BB_02_cell    	 active
	 data_BB_03_cell    	 active

E podemos tirar muito mais do comando help, quero saber agora mais opções da listagem do griddisk:

CellCLI> help list griddisk

  Usage: LIST GRIDDISK [ | ] [] [DETAIL] 

  Purpose: Displays specified attributes for grid disks.

  Arguments:
    :  The name of the grid disk to be displayed.
    :  an expression which determines which grid disks should
                be displayed.
    : The attributes that are to be displayed.
                      ATTRIBUTES {ALL | attr1 [, attr2]... }

  Options:
    [DETAIL]: Formats the display as an attribute on each line, with
              an attribute descriptor preceding each value.

  Examples:
    LIST GRIDDISK where size > 100M
    LIST GRIDDISK gd1 DETAIL

Descobrimos acima, que podemos saber mais detalhes do griddisk se colocarmos a opção DETAIL no final do comando. Vamos tentar:

CellCLI> list griddisk data_CD_disk01_cell detail
	 name:              	 data_CD_disk01_cell
	 availableTo:       	 
	 cellDisk:          	 AA_01_cell
	 comment:           	 
	 creationTime:      	 2012-11-21T12:06:11-44:00
	 diskType:          	 HardDisk
	 errorCount:        	 0
	 id:                	 0000001a-a1ee-0b2g-0000-000000000000
	 offset:            	 48T
	 size:              	 448T
	 status:            	 active

Também é possível, de acordo com a saída do comando help, colocar filtros na pesquisa do comando list. No caso abaixo quero descobrir quais os griddisk maiores que 500 G.

CellCLI> list griddisk where size > 500G
	 data_AA_01_cell	 active
	 data_AA_02_cell	 active
	 data_BB_00_cell    	 active
	 data_BB_01_cell    	 active

Tudo isso feito simplesmente a partir do comando help, com um simples comando, podemos descobrir “n” possibilidades reais.

Em breve mais post sobre Exadata, conceitos e aplicações na prática !

Dúvidas? Comentem!
No que puder, terei prazer em ajudar :)

Um abraço a todos!

Certificado Oracle Exadata 11g
março 30, 2012

É com alegria que compartilho a vocês mais uma conquista.

Hoje prestei e passei na certificação 1Z0-536, recebendo assim o certificado “Oracle Exadata 11g Certitified Implementation Specialist”.

Uma notícia ainda melhor é que a partir de agora vou colocar post’s aqui sobre Exadata, quem estiver interessado acompanhe o blog :)

Um grande abraço e um ótimo final de semana a todos …

Certificação Exadata Flávio Soares

Exadata e Eu!
dezembro 8, 2011

Olá Pessoal,

Ontem participei do Oracle Open World 2011 Latin America, foi a primeira vez que participei do evento (essa é uma das vantagens de se morar em SP, os eventos são bem mais próximos) e gostei muito.

Fiquei quase que o tempo todo no stand da Discover, o pessoal se divertiu muito lá com games interativos :)

Pude ver de perto o Oracle Exadata e Exalogic e participei de algumas palestras de demonstrações, realmente valeu a pena.