O que é o Pluggable Database do Oracle?

O que é o Pluggable Database do Oracle?

Overview

Neste post, mergulhamos no mundo das Pluggable Databases da Oracle — uma inovação que transformou a maneira como os administradores de banco de dados gerenciam e otimizam recursos. Se você já se viu preso à limitação de não poder ter múltiplos schemas com o mesmo nome, a solução da Oracle na versão 12c vai te surpreender. Vamos explorar juntos este conceito fascinante, suas vantagens práticas e como ele pode simplificar a vida de quem trabalha com bases de dados.

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: