Creating a new PDB by Pluggin in an Unplugged PDB using PDB Archive File

No procedimento tradicional de plug/unplug de PDBs, nós utilizamos um arquivo XML que descreve as informações e estruturas do PDB que será criado no novo CDB. A partir do XML, nos bastidores, o Oracle faz a cópia dos datafiles referenciados ou até mesmo o seu move. Mas outra alternativa para esse processo são os PDBs Archive Files, que contempla as informações do PDB + os seus datafiles, todos compactados em um único arquivo com extensão “.pdb”. Para explorar esse recurso, vamos checar a origem:

[oracle@oel8 TALAMO]$ sqlplus / as sysdba
 
SQL*Plus: Release 18.0.0.0.0 - Production on Thu Mar 18 21:18:10 2021
Version 18.3.0.0.0
 
Copyright (c) 1982, 2018, Oracle.  All rights reserved.
 
 
Connected to:
Oracle Database 18c Enterprise Edition Release 18.0.0.0.0 - Production
Version 18.3.0.0.0
 
SQL> ALTER SESSION SET CONTAINER=HIPOFISE1;
 
Session altered.
 
SQL> SELECT ROUND(SUM(BYTES)/1024/1024,2) SPACE_IN_MB FROM DBA_SEGMENTS;
 
SPACE_IN_MB
-----------
     623.44

Baixando PDB de origem:

SQL> ALTER SESSION SET CONTAINER=CDB$ROOT;
 
Session altered.
 
SQL> ALTER PLUGGABLE DATABASE HIPOFISE1 CLOSE IMMEDIATE;
 
Pluggable database altered.

Fazendo o unplug e criando o arquivo de archive pdb:

SQL> ALTER PLUGGABLE DATABASE HIPOFISE1 UNPLUG INTO '/home/oracle/BSS.pdb';
 
Pluggable database altered.
 
SQL> ! ls -alh /home/oracle/BSS.pdb
-rw-r--r--. 1 oracle oinstall 174M Mar 18 21:20 /home/oracle/BSS.pdb

Criando novo PDB, usando a cláusula AS CLONE para que um novo GUID seja criado:

SQL> CREATE PLUGGABLE DATABASE HIPOFISE2 AS CLONE USING '/home/oracle/BSS.pdb' COPY;
 
Pluggable database created.

Abrindo o PDB:

SQL> ALTER PLUGGABLE DATABASE HIPOFISE2 OPEN;
 
Pluggable database altered.

Comparando origem e destino:

SQL> col pdb_name format a5
SQL> SELECT PDB_NAME, STATUS FROM CDB_PDBS WHERE PDB_NAME IN ('HIPOFISE1','HIPOFISE2');
 
PDB_N STATUS
----- ----------
HIPOF UNPLUGGED
ISE1
 
HIPOF NORMAL
ISE2
 
 
SQL> SELECT OPEN_MODE FROM V$PDBS WHERE NAME IN ('HIPOFISE1','HIPOFISE2');
 
OPEN_MODE
----------
MOUNTED
READ WRITE

Obs: Este procedimento foi criado pelo senhor Ahmed Baraka (www.ahmedbaraka.com) e foi apenas reproduzido por mim em um laboratório pessoal para fins de aprendizado.

1 thought on “Creating a new PDB by Pluggin in an Unplugged PDB using PDB Archive File”

  1. Pingback: ALL options for creating a PDB using Create Puggable Database command – Bruno Santos da Silva

Leave a Comment

Your email address will not be published.