Trabalhando como DBA, é normal se deparar com demandas principalmente em ambientes de homologação e desenvolvimento, de duplicação de base de dados. Isso acontece pois o desenvolvedor pode estar querendo testar uma nova funcionalidade sem onerar o banco principal, ou para um novo sistema baseado no antigo. Quando nos encontramos em um ambiente Multitenant, Isso é bem fácil de dar prosseguimento.

Vamos supor que chegou o seguinte chamado para você, Pedindo que seja feita uma cópia exata do banco PDB_TESTE.

  • Comece entrando no utilitário sqlplus do oracle para identificar a base que queremos clonar.

$sqlplus / as sysdba

SQL>show pdbs;

  • Vamos prosseguir para criar o PDB_TESTEDUPLICATA a partir do PDB_TESTE. O mesmo precisa estar em modo Read Write. Caso esteja em mount, retornará um erro.

create pluggable database <PDB_QUE_SERÁ_CRIADO> FROM <PDB_DE_ONDE_SERÁ_CLONADO>;

create pluggable database PDB_TESTEDUPLICATA FROM PDB_TESTE;

Por padrão, o novo PDB é criado em estado MOUNTED (fechado) por segurança. Para liberar o acesso ao desenvolvedor, execute:

ALTER PLUGGABLE DATABASE pdb_testeduplicata OPEN;

“Atenção: Este comando assume que você tem OMF configurado. Se não tiver, você precisará usar a cláusula FILE_NAME_CONVERT para mapear os diretórios.”