Oracle Database In-Memory: Guia Completo para Performance do Oracle Database
Oracle Database In-Memory é uma tecnologia da Oracle desenvolvida para acelerar consultas analíticas e cargas de trabalho mistas. Seu principal componente é o In-Memory Column Store, que mantém uma cópia dos dados em formato colunar comprimido e otimizado para consultas analíticas.
Uma das principais características do Oracle Database In-Memory é a arquitetura de duplo formato: os dados continuam disponíveis no formato tradicional orientado a linhas e podem também ser mantidos em formato colunar na memória. Dessa forma, cargas OLTP e consultas analíticas podem utilizar estruturas adequadas às suas características.
Representação da arquitetura Oracle Database In-Memory, destacando o processamento em memória para consultas analíticas, cargas mistas e maior desempenho.[/caption]
O que é Oracle Database In-Memory?
O Oracle Database In-Memory é um conjunto de funcionalidades que inclui o In-Memory Column Store, otimizações avançadas para consultas e recursos relacionados à disponibilidade.
O In-Memory Column Store mantém cópias de tabelas, partições e, conforme a configuração, colunas individuais em formato colunar comprimido. Esse formato é especialmente eficiente para operações de varredura, filtragem, joins e agregações.
A tecnologia não substitui o armazenamento tradicional do Oracle Database. Ela complementa o armazenamento orientado a linhas com uma representação colunar na memória.
Como funciona o Oracle Database In-Memory?
Em uma configuração tradicional, o Oracle Database armazena os dados em formato orientado a linhas nos arquivos de dados e utiliza o buffer cache para trabalhar com os blocos.
Com o Database In-Memory, objetos selecionados podem também ser populados no In-Memory Column Store.
Isso cria uma arquitetura de duplo formato:
- Formato tradicional orientado a linhas;
- Formato colunar em memória;
- Consistência transacional entre as representações;
- Possibilidade de utilizar diferentes caminhos de acesso conforme a consulta.
Consultas transacionais podem continuar utilizando o formato tradicional, enquanto consultas analíticas podem se beneficiar do formato colunar. O próprio otimizador pode escolher o caminho adequado.

In-Memory Column Store
O In-Memory Column Store (IM Column Store) é o principal componente do Database In-Memory.
Os dados são organizados por coluna em vez de serem acessados somente por linha. Isso permite que uma consulta que necessita de poucas colunas de uma tabela muito grande leia somente as informações relevantes.
A Oracle utiliza estruturas chamadas In-Memory Compression Units (IMCUs) para armazenar os dados em formato colunar comprimido.
Oracle Database In-Memory e In-Memory Area
A In-Memory Area é uma área opcional da SGA destinada ao armazenamento do In-Memory Column Store.
O tamanho dessa área é controlado pelo parâmetro INMEMORY_SIZE. A documentação atual informa que a área possui tamanho mínimo de 100 MB quando habilitada.
O dimensionamento deve considerar:
- Tamanho dos objetos candidatos;
- Crescimento do banco;
- Carga de trabalho;
- Concorrência;
- Memória disponível;
- Requisitos de performance.

Oracle Database In-Memory e performance analítica
O formato colunar é particularmente adequado para consultas que percorrem muitas linhas mas precisam acessar relativamente poucas colunas.
Entre os padrões de consulta que podem se beneficiar estão:
- Filtros sobre grandes volumes de dados;
- Consultas que selecionam poucas colunas;
- Agregações;
- Joins;
- Relatórios corporativos;
- Consultas analíticas ad hoc;
- Data warehouse;
- Cargas mistas.
A documentação da Oracle destaca melhorias em scans, joins e agregações quando os padrões de consulta são adequados ao formato colunar.
Oracle Database In-Memory e cargas OLTP
O Database In-Memory não foi desenvolvido para substituir automaticamente todas as estruturas utilizadas pelo OLTP.
Consultas transacionais curtas, como buscas pontuais utilizando índices, podem continuar utilizando o formato tradicional de linhas e o buffer cache.
A principal vantagem está na possibilidade de o mesmo banco atender cargas transacionais e analíticas utilizando representações diferentes dos dados.
Oracle Database In-Memory e cargas OLAP
Cargas OLAP e consultas analíticas podem se beneficiar significativamente da organização colunar.
Consultas que precisam examinar milhões ou bilhões de registros podem processar somente as colunas necessárias, reduzindo a quantidade de informação efetivamente analisada.
Oracle Database In-Memory e compressão
Os dados no In-Memory Column Store são armazenados em formato comprimido.
Nesse contexto, a compressão não tem apenas o objetivo de economizar memória. Ela também pode contribuir para o desempenho das consultas porque permite processar os dados em estruturas especialmente preparadas para operações analíticas.
A escolha do nível de compressão deve considerar a carga de trabalho e os objetivos do ambiente.
Oracle Database In-Memory e SIMD
O Database In-Memory pode utilizar técnicas de processamento vetorial baseadas em SIMD — Single Instruction, Multiple Data.
Essas técnicas permitem que determinadas operações sejam processadas de maneira vetorizada, aproveitando recursos da CPU.
A documentação atual do Oracle AI Database também descreve recursos de In-Memory deep vectorization.
Oracle In-Memory Aggregation
O In-Memory Aggregation foi desenvolvido para melhorar determinados padrões de agregação analítica.
Em consultas envolvendo tabelas de dimensão e grandes tabelas de fatos, o Oracle Database pode utilizar operações como VECTOR GROUP BY para realizar agregações de maneira otimizada durante o processamento dos dados.
Oracle Database In-Memory e joins
O formato colunar também pode beneficiar operações de join.
O Oracle Database utiliza mecanismos como Bloom Filters para melhorar determinadas operações entre tabelas de dimensão e grandes tabelas de fatos.
Esse comportamento pode ser especialmente interessante em ambientes de data warehouse e analytics.
Oracle Database In-Memory e particionamento
O Database In-Memory pode ser utilizado com tabelas particionadas.
Isso permite que organizações com grandes volumes de dados selecionem determinados objetos ou partições para utilização no In-Memory Column Store.
Veja também: Oracle Partitioning
Oracle Database In-Memory e Oracle RAC
Em ambientes Oracle RAC, cada nó possui sua própria In-Memory Column Store.
A arquitetura pode distribuir objetos ou partições entre os nós de acordo com os requisitos do ambiente. A documentação Oracle descreve diferentes estratégias de distribuição dos objetos no cluster.

Oracle Database In-Memory e Active Data Guard
O Database In-Memory também possui suporte para ambientes standby utilizando Active Data Guard.
A documentação Oracle informa que o In-Memory Column Store é suportado em bancos standby em ambientes Active Data Guard.
Veja também:
Oracle Database In-Memory e Oracle Exadata
O Database In-Memory possui integração com ambientes Oracle Exadata.
Em Exadata, recursos de flash também podem participar da estratégia de acesso aos dados quando os objetos In-Memory não cabem simultaneamente na DRAM disponível.
Veja também: Oracle Exadata
Oracle Database In-Memory e Oracle Multitenant
O Database In-Memory pode ser utilizado em ambientes Oracle Multitenant, considerando os requisitos da versão e da configuração adotada.
O planejamento deve considerar CDB, PDB, memória disponível e distribuição dos objetos.
Veja também: Oracle Multitenant
Oracle Database In-Memory e Automatic In-Memory
O Automatic In-Memory permite automatizar parte do gerenciamento dos objetos que devem permanecer no In-Memory Column Store.
Quando configurado com o nível apropriado, o banco pode utilizar padrões de acesso para determinar quais segmentos devem ser mantidos e quais objetos menos utilizados podem ser removidos ou recomprimidos.
Veja também: Oracle Automatic Indexing
Oracle Database In-Memory e AWR
O Oracle AWR pode ser utilizado como parte da análise de performance antes e depois da implementação do Database In-Memory.
O objetivo é comparar o comportamento das consultas e identificar se a mudança realmente produziu benefício para o ambiente.
Oracle Database In-Memory e ASH
O Oracle ASH pode complementar a análise de carga de trabalho, permitindo investigar sessões ativas e padrões de consumo durante períodos específicos.
Oracle Database In-Memory e ADDM
O Oracle ADDM pode participar da metodologia de diagnóstico de desempenho do banco.
Database In-Memory deve ser tratado como parte de uma estratégia de performance baseada em evidências, e não simplesmente como uma forma de aumentar a memória disponível.
Oracle Database In-Memory e SQL Tuning Advisor
O Oracle SQL Tuning Advisor pode ser utilizado para analisar oportunidades de otimização de SQL.
Isso é importante porque uma consulta mal otimizada pode continuar apresentando problemas mesmo quando executada sobre dados em memória.
Oracle Database In-Memory e Automatic Indexing
O Oracle Automatic Indexing e o Database In-Memory atuam sobre aspectos diferentes da performance.
O Automatic Indexing trabalha com índices, enquanto o Database In-Memory utiliza uma representação colunar em memória para determinados padrões de acesso.
As tecnologias podem fazer parte de uma estratégia conjunta, desde que os resultados sejam avaliados com base na carga real.
Oracle Database In-Memory e Data Pump
O Oracle Data Pump possui opções relacionadas à preservação ou alteração dos atributos In-Memory durante operações de importação.
A documentação Oracle descreve opções como TRANSFORM=INMEMORY e TRANSFORM=INMEMORY_CLAUSE para controlar esse comportamento durante o import.
Oracle Database In-Memory e monitoramento
Após a implantação, o ambiente deve ser monitorado continuamente.
Entre os indicadores importantes estão:
- Utilização da In-Memory Area;
- Objetos populados;
- Objetos não populados;
- Tempo de população;
- Consultas utilizando o IM Column Store;
- Consumo de CPU;
- Tempo de resposta;
- Pressão de memória;
- Benefício efetivo para as aplicações.
O Oracle Enterprise Manager oferece recursos de gerenciamento e monitoramento que podem fazer parte dessa estratégia.
Oracle Database In-Memory e DBMS_INMEMORY
O pacote DBMS_INMEMORY fornece funcionalidades programáticas relacionadas ao Database In-Memory.
Ele pode ser utilizado pelo DBA para determinadas operações de administração e análise do ambiente.
Como configurar o Oracle Database In-Memory?
Uma implementação corporativa deve seguir uma metodologia estruturada:
- Identificar as consultas críticas;
- Medir o desempenho atual;
- Identificar tabelas e partições candidatas;
- Dimensionar a In-Memory Area;
- Definir os atributos In-Memory;
- Popular os objetos;
- Validar os planos de execução;
- Comparar os indicadores antes e depois;
- Monitorar continuamente.
A Oracle informa que o parâmetro INMEMORY_SIZE é fundamental para habilitar e dimensionar o In-Memory Column Store.
Oracle Database In-Memory: quando utilizar?
- Consultas analíticas de alto volume;
- Relatórios corporativos em tempo real;
- Data warehouse;
- Cargas OLTP e analíticas no mesmo banco;
- Consultas que percorrem muitas linhas;
- Consultas que utilizam poucas colunas de tabelas extensas;
- Ambientes que necessitam reduzir o tempo de resposta analítico.
Quando o Oracle Database In-Memory pode não ser a melhor solução?
Nem todo problema de performance é resolvido adicionando memória.
A própria documentação destaca que determinadas consultas, como aquelas que retornam muitas linhas, selecionam muitas colunas ou utilizam predicados complexos, podem não obter o mesmo benefício do formato colunar.
Por isso, antes de implementar a tecnologia, é importante avaliar:
- SQL;
- Planos de execução;
- Índices;
- Estatísticas;
- I/O;
- CPU;
- Memória;
- Bloqueios;
- Modelo de dados;
- Padrão de acesso.
Oracle Database In-Memory e licenciamento
O Database In-Memory possui requisitos específicos de licenciamento.
A documentação atual do Oracle AI Database informa que as funcionalidades Database In-Memory requerem a opção correspondente e apresenta também o Database In-Memory Base Level, com limite de 16 GB de In-Memory Column Store no nível de CDB conforme os requisitos documentados.
O licenciamento deve sempre ser confirmado de acordo com a versão, edição, serviço e arquitetura efetivamente utilizados.
Veja também:
Licenciamento Oracle Database: Guia para DBAs e Analistas
Oracle Database In-Memory e segurança
A utilização do Database In-Memory não elimina a necessidade dos controles de segurança existentes no Oracle Database.
O projeto deve considerar autenticação, autorização, criptografia, auditoria e proteção dos dados.
- Oracle Database Security
- Oracle TDE
- Oracle Key Vault
- Oracle Database Vault
- Oracle SQL Firewall
- Oracle Audit Vault
Oracle Database In-Memory e alta disponibilidade
Em ambientes críticos, o Database In-Memory deve ser avaliado conjuntamente com a arquitetura de alta disponibilidade.
Oracle Database In-Memory e Oracle ASM
O Database In-Memory é integrado ao Oracle Database e mantém compatibilidade com recursos tradicionais de armazenamento e recuperação.
A documentação Oracle informa que recursos como RMAN, Oracle Data Guard e Oracle ASM continuam suportados porque o formato colunar em memória não altera o formato de armazenamento em disco.
Veja também:
Oracle Database In-Memory e consultoria Oracle
A implantação do Database In-Memory deve começar com uma análise técnica da carga de trabalho.
A Consultoria Oracle da Dominus Tech pode apoiar análises de arquitetura, performance, dimensionamento, diagnóstico e otimização de ambientes Oracle Database.
Para administração especializada, veja também:
Monitoramento de Banco de Dados

Documentação oficial da Oracle
Para informações técnicas, requisitos de versão e funcionalidades, consulte sempre a documentação oficial da Oracle.
- Oracle Database In-Memory — página oficial
- Oracle AI Database In-Memory Guide 26ai
- Introduction to Oracle AI Database In-Memory
- Oracle AI Database In-Memory Guide — índice oficial
- Oracle AI Database In-Memory Guide — PDF oficial
- Oracle AI Database 26ai Technical Architecture
- Novidades do Database In-Memory no Oracle AI Database 26ai
Conclusão
O Oracle Database In-Memory é uma tecnologia importante para ambientes que precisam acelerar consultas analíticas e cargas de trabalho mistas.
Seu principal diferencial é manter uma representação colunar otimizada em memória sem substituir o armazenamento tradicional orientado a linhas. Essa arquitetura permite que diferentes tipos de consultas utilizem estruturas adequadas às suas características.
Entretanto, o Database In-Memory deve ser implementado com base em análise de carga, dimensionamento de memória, identificação dos objetos candidatos e medição objetiva dos resultados.

A proteção dos dados corporativos exige planejamento, experiência e conhecimento das melhores práticas da Oracle.
A Dominus Tech oferece serviços especializados para implantação, revisão e evolução da segurança em ambientes Oracle Database, incluindo assessment, hardening, criptografia, auditoria, monitoramento, alta disponibilidade e recuperação de desastres.
👉Entre em contato com nossa equipe para descobrir como fortalecer a segurança do seu ambiente Oracle Database e reduzir os riscos para o seu negócio.
