quinta-feira, 25 de maio de 2017

Criando um PDB através do PDB$SEED

Pre-requisitos


Para se criar um PDB através do Container PDB$SEED é necessário seguir as seguintes regras.

  • O CDB deve estar aberto e em read/write;
  • Deve se estar conectado no CDB$ROOT com usuário comum com privilegio de CREATE PLUGGABLE DATABASE;
  • O Nome do PDB deve ser unico em todos os CDBs do mesmo servidor;


Processo


O Processo de se criar um novo PDB através do PDB$SEED consiste em cópiar os arquivos e conteudo do SEED gerando um novo container_id para ser utilizado como uma nova base de dados em PDB, esse processo faz parte da Feature de Fast Provisioning. Pode ser criado novos PDBs através do Enterprise Manager Express, DBCA ou SQLPlus.

Após o PDB ter sido criado ele se encontrará no estado de mount, deve ser então aberto o PDB e realizado um backup full do PDB.



Criando um Pluggable Database (PDB) através do PDB$SEED Usado SQLPlus


Para se criar um novo PDB através do PDB$SEED deve ser utilizado o novo comando "CREATE PLUGGABLE DATABASE", é obrigatório informar um usário e senha para ser o DBA local e receber a role de PDB_DBA com a clausula ADMIN USER:

SQL> show con_name;
CON_NAME
------------------------------
CDB$ROOT
SQL>

SQL> CREATE PLUGGABLE DATABASE riberao
ADMIN USER riberao_dba IDENTIFIED BY riberao_dba;
Pluggable database created.
SQL> 

Clausulas e Parametros de Controle para se criar um PDB com SQLPlus


As seguintes clausulas e parametros não são obrigatorios para se criar um novo PDB, porém permitem maior controle e flexibilidade, são elas:




  • Controlando o PATH
    O controle da criação dos arquivos podem ser especificados a nivel de instancia ou comando, o comando precede a instancia, e especificando um caminho inicial (OMF) ou convertando os path de origem, a conversão sempre precede o destino (OMF), seguem as clausulas com menos peso para mais peso:
    • 4 - Parametro PDB_FILE_NAME_CONVERT - Este parametro converte StringA em StringB;
    • 3 - Parameter DB_CREATE_FILE_DEST - Controla o caminho de criação dos Datafiles em OMF;
    • 2 - Clausula CREATE_FILE_DEST (12.1.0.2) - Informa no comando de "Create Pluggable" qual o caminho OMF que deve ser criado o PDB;
    • 1 - Clausula FILE_NAME_CONVERT - Converte a StringA em StringB dos arquivos de origem;

  • Limitando o Tamanho do PDB
    • Clausula MAXSIZE - STORAGE (MAXSIZE), limita o tamanho maximo do PDB, o default é unlimited, se o valor for omitido é considerado como unlimited;

  • Garantir Path
    • PATH_PREFIX - Garante que o caminho especificado, caso não especificado aceita qual path;

  • Controlando o nome dos serviços
    • Para converter os nomes de serviços no momento da criação do PDB utilizar a clausula SERVICE_NAME_CONVERT, a qual converte a StringA em StringB;

  • User Tablespaces (12.1.0.2)
    Permite controlar quais tablespaces de usuários serão criadas/clonadas, podem ser todas, algumas, nenhuma ou ignorar uma ou muitas.
    • Muitas - USER_TABLESPACE = ('TBS1','TBS2','TBS3');
    • Todas - USER_TABLESPACES = ALL;
    • Nenhuma -USER_TABLESPACES=NONE;
    • Excluir - USER_TABLESPACS = ALL EXCEPT('TBS1','TBS2');

  • Logging
    É possivel controlar se o PDB irá gerrar logs ou não com as clausulas LOGGING ou NO LOGGING

  • Standbys
    É possivel controlar se o PDB será replicado ou não para o Standby com a Clausula:
    • Replicado para Todos: STANDBYS=ALL
    • Nenhum: STANDBYS=NONE

  • Clonar PDB Sem Dados de Usuarios (12.1.0.2)
    Especificar a Clausula NO DATA


Exemplo Criando PDB from PDB$SEED



O Exemplo abaixo cria o PDB horto com usuário Admin horto_dba, limitando o tamanho maximo do PDB a 5GBs, define a tablespace default para horto_data e mantém o +DATA como base do OMF:


SQL> show con_name;
CON_NAME
------------------------------
CDB$ROOT
SQL>

SQL> CREATE PLUGGABLE DATABASE horto ADMIN USER horto_dba identified by horto_dba
STORAGE (MAXSIZE 5G)
DEFAULT TABLESPACE HORTO_DATA
CREATE_FILE_DEST='+DATA';
 
 2    3    4  
Pluggable database created.
SQL> 

SQL> alter pluggable database horto open;
Pluggable database altered.
SQL>

Criando um Pluggable Database (PDB) através do PDB$SEED Usando DBCA


A criação do PDB também pode ser criada através do DBCA, o qual também permite realizar as mesmas operações e flexibildiade do SQLPlus:














Nenhum comentário: