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:
- http://www.oracle.com/technetwork/articles/database/multitenant-part1-pdbs-2193987.html
- http://www.computerworld.com/article/2492055/database-administration/how-oracle-s-pluggable-databases-will-work.html
Latest posts by Breno RdV (see all)
- O que é Metaclass e como ela funciona. (#python #dev #metaclass) - janeiro 11, 2023
- Entenda a mágica dos Generators. (#python, #dev, #generator, #iterator) - dezembro 28, 2022
- Ordenando um DataFrame por múltiplas colunas. (#python #pandas #jupyter #dev #data) - agosto 3, 2022