domingo, 24 de dezembro de 2017

Migrando Non-CDBs para CDBs Utilizando DBMS_PDB

Intodução


Este procedimento permite que seja criado um arquivo .xml, onde contém descritores de arquivos os quais serão utilizados para clonar a base de dados Non-CDB para um PDB dentro de um CDB existente, após o processo de clone finalizar é necessário executar o script noncdb_to_pdb.sql para remover linhas e objetos duplicados do dicionário de dados do PDB.

Este metodo considera que já existe um CDB de destino, como pre-requisito a origem e o destino devem estar na versão 12.1 >=  e com Character-set compativeis.

Migrando Oracle Non-CDB to CDB as a PDB

Passos


Colocar o banco de dados em um estado transicional consistente (bounce) e abrir como read only.

Shutdown immediate;
Startup Open read only;

Conectar no banco de dados de origem (non-cdb), e criar o descritor com a procedure dbms_pdb.describe

BEGIN
  DBMS_PDB.DESCRIBE(
    pdb_descr_file => '/tmp/db12c.xml');
END;
/

Utilizar a procedure dbms_pdb.check_plug_compatibility para validar a se a base Non-CDB é compativel com o CDB de destino

SET SERVEROUTPUT ON
DECLARE
  compatible CONSTANT VARCHAR2(3) := 
    CASE DBMS_PDB.CHECK_PLUG_COMPATIBILITY(
           pdb_descr_file => '/tmp/db12c.xml',
           pdb_name       => 'PDB_SP')
    WHEN TRUE THEN 'YES'
    ELSE 'NO'
END;
BEGIN
  DBMS_OUTPUT.PUT_LINE(compatible);
END;
/

Parar a base de dados de Origem (Non-CDB)

shutdown immediate;

Plugar a base de dados Non-CDB no CDB

CREATE PLUGGABLE DATABASE pdb_sp USING '/tmp/db12c.xml';

Executar o script noncdb_to_pdb.sql

ALTER SESSION SET CONTAINER=pdb_sp;

@?/rdbms/admin/noncdb_to_pdb.sql

Abrir o novo PDB

alter pluggable database pdb_sp open;


Referencia


MOS: How to Convert Non-CDB to PDB Database in 12c - Testcase (Doc ID 2012448.1)

Nenhum comentário: