Licenciamento Oracle explicado: Processor, NUP e core factor
Como a Oracle conta o que você deve: unidade de processador com core factor, Named User Plus com mínimos, o que muda no Standard Edition 2 e por que virtualização é o item mais caro da auditoria.

Licenciamento Oracle não é complicado por acidente. É um modelo construído em camadas, e cada camada tem uma regra que muda o número final. Quem entende as regras negocia. Quem não entende assina.
As duas métricas
Processor
Você licencia a capacidade do hardware, independentemente de quantas pessoas usam. No Enterprise Edition a conta é:
licencas = total_de_cores × core_factor (arredondado para cima)
O core factor vem de uma tabela publicada pela Oracle e depende do processador. Os valores mais comuns:
| Processador | Core factor típico |
|---|---|
| Intel/AMD x86 | 0,5 |
| IBM POWER | 1,0 |
| SPARC (varia por modelo) | 0,25 a 0,75 |
Servidor x86 com 2 sockets de 16 cores: 32 cores × 0,5 = 16 licenças Processor. A lista do Enterprise Edition é US$ 47.500 por licença, mais 22% ao ano de suporte. Faça a conta devagar: dá US$ 760 mil de licença e cerca de US$ 167 mil por ano — em um único servidor, a preço de lista.
Named User Plus (NUP)
Você licencia pessoas e dispositivos que acessam o banco, direta ou indiretamente. Mais barato por unidade, mas com mínimo obrigatório: no Enterprise Edition, 25 NUP por licença Processor.
Mesmo servidor de 16 licencas Processor:
minimo = 16 × 25 = 400 NUP, mesmo que so 30 pessoas usem.
NUP compensa em ambiente pequeno e fechado — desenvolvimento, um sistema interno com poucos usuários. Para qualquer coisa exposta na web, esqueça: usuário indireto conta, e você não tem como enumerar a internet.
Standard Edition 2: outra régua
A SE2 tem regras próprias, e mais simples:
- Licenciada por socket, não por core — core factor não se aplica.
- Máximo de 2 sockets no servidor (ou no cluster inteiro).
- Limite interno de 16 threads de CPU por instância, imposto pelo próprio software.
- Mínimo de 10 NUP por servidor, quando licenciada por usuário.
Preços de lista: US$ 17.500 por socket, ou US$ 350 por NUP, ambos com 22% de suporte ao ano. Os números completos estão em quanto custa um Oracle Standard Edition 2.
Virtualização: o item mais caro da auditoria
Aqui mora o maior risco financeiro, e ele não é técnico — é contratual. A Oracle distingue hard partitioning (aceito para reduzir a contagem) de soft partitioning (não aceito).
| Tecnologia | Posição da Oracle |
|---|---|
| Oracle VM, LPAR, Solaris Zones (capped), Oracle Linux KVM com CPU pinning | Hard partitioning — licencia só a parte |
| VMware, Hyper-V, KVM genérico | Soft partitioning — a Oracle cobra o cluster inteiro |
| Contêineres sobre host não dedicado | Licencia o host inteiro |
Traduzindo: uma VM de 4 vCPUs num cluster VMware de 20 hosts pode ser cobrada como os 20 hosts, porque a VM poderia migrar para qualquer um deles. A defesa prática é isolar Oracle em um cluster físico dedicado, com afinidade rígida, e guardar evidência disso. Isso é política comercial, não termo contratual automático — mas é a posição que a auditoria vai sustentar.
Não produção também paga
Desenvolvimento, homologação, treinamento e testes precisam de licença como produção. As duas exceções úteis:
- Standby frio: um servidor de failover que fica desligado pode rodar até 10 dias por ano civil sem licença separada, desde que o storage seja compartilhado.
- Backup em fita/mídia: a cópia em si não é instalação licenciável.
Data Guard com standby aberto para leitura (Active Data Guard) é opção paga, à parte, e exige o Enterprise Edition.
O inventário que você deveria rodar antes da Oracle rodar
-- Opcoes e packs efetivamente utilizados
SELECT name, detected_usages, first_usage_date, last_usage_date
FROM dba_feature_usage_statistics
WHERE detected_usages > 0
AND name IN ('Partitioning (user)','Advanced Compression',
'Real Application Clusters','Active Data Guard',
'Diagnostic Pack','Tuning Pack','Advanced Security',
'Spatial','Label Security','In-Memory Column Store')
ORDER BY last_usage_date DESC;
-- Contagem de CPU que o banco enxerga
SELECT name, value FROM v$parameter WHERE name IN ('cpu_count','resource_manager_cpu_allocation');
-- Usuarios reais (base para estimar NUP)
SELECT COUNT(DISTINCT username) FROM dba_users WHERE account_status = 'OPEN';
Rodar isso uma vez por trimestre e guardar o resultado é a melhor apólice de seguro barata que existe nesse assunto. Se o número te assustar, o caminho está em custo real, licenciamento e alternativas.
Sobre o autor: Alexandre Almeida atua com bancos de dados há mais de 25 anos, foi instrutor oficial de Oracle e MySQL para mais de 1.000 alunos e escreveu Aprendendo MySQL: Prática, Teoria e Laboratórios.
Fontes: Oracle Processor Core Factor Table; Oracle Database Licensing Information User Manual; Oracle Partitioning Policy; Oracle Technology Global Price List. Preços de lista, sem desconto, sujeitos a alteração — confirme sempre com seu contrato.