O que é o Pluggable Database do Oracle?

De forma resumida, Pluggable Database é a forma que a Oracle encontrou de permitir que você crie mais de um schema com o mesmo nome na base de dados.
Antes da versão 12c, se você precisasse criar dois schemas com o mesmo nome, sua única alternativa seria criar duas base de dados. O problema desta abordagem é o consumo de recursos: Duas instancias do Oracle, aumento no consumo de memória e utilização do CPU, etc. Tudo por que você precisou criar dois schemas com o mesmo nome…

Com a versão 12c possibilidade de alocar diversos schemas com o mesmo nome, você possuirá uma base de dados física e diversas virtuais, uma para cada schema. As bases de dados virtuais se comportarão como bases normais , mas serão executadas e gerenciadas através de uma base física/convencional. Estas bases virtuais são chamadas de Containers e as bases de dados físicas, que armazenam estes Containers são chamadas de Container Databases (CDB).

Esta divisão arquitetônica faz uma espécie de divisão de camadas no SGBD: O CDB contém os metadados do próprio Oracle e os PDBs contém os metadados dos clientes.

Uma grande vantagem destes Containers é que você pode plugar ou desplugar (daí o nome Pluggable Databases ou PDB, que é outro nome dos Containers) quando for necessário. O limite atual para PDBs é de 250 por CDB, mas Bryn Llewellyn informou que este número é arbitrário e a plataforma (provavelmente) conseguiria suportar um número maior de PDB.
Falando em termos práticos e pela perspectiva do cliente, uma PDB é apenas uma base de dados normal.

Para utilizar esta funcionalidade, a base de dados deve ser criada como uma CDB, mas isso não é obrigatório.

No site da Oracle existe um tutorial detalhado de como criar uma base dados CDB.
A consulta abaixo retornará se o banco de dados está configurado como CDB ou não:
select cdb from v$database;

 

Referências: 

 

The following two tabs change content below.
Arquiteto de Software e Desenvolvedor Backend (quase Fullstack), geralmente trabalho com C#, PowerShell, Python, Golang, bash e Unity (esse é mais por hobby). Estou sempre buscando algo novo para aprender, adicionando novas ferramentas ao meu cinto de utilidades.
Posted in Banco de Dados, Dev and tagged , , , , , , , , , .