Clonando um Pluggable Database (Oracle Database 12c) no mesmo Container root

https://vietforent.com/about/ Este artigo tem como objetivo demonstrar como clonar um pluggable database no banco de dados 12c no mesmo container root do mesmo servidor.
Para clonar é muito simples, basta ter área disponível no storage para a criação que o Oracle automaticamente criará o clone.

Order Tramadol Online Vamos verificar os PDBs.

Order Ultram Online SQL> set lines 500 SQL> select name, open_mode, total_size from v$pdbs; NAME OPEN_MODE TOTAL_SIZE ------------------------------ ---------- ---------- PDB$SEED READ ONLY 283115520 TOMIASI READ WRITE 387973120 SQL>

https://destinylootcave.com/about/ Vamos clonar o PDB “TOMIASI” para um outro de teste “TOMIASI_DBTESTE”.
Para clonar o PDB, podemos realizar de 2 maneiras:
– Colocar o PDB que irá ser clonado em modo Read Only, porém antes devemos fechá-lo.
– Ou usar o comando “force”, ele altera o status do PDB e ainda mante os usuários conectados.
Comando a ser executado com force:

https://www.ontheballwalkies.com/cancellations-and-returns/ alter pluggable database TOMIASI open read only force;

source OBS: Sobre Iniciar ou Parar um PDB acesse o artigo do Anderson Graf Oracle database 12c – Iniciando e parando Pluggable Databases (PDB).
No exemplo abaixo, utilizei a primeira opção:
Segue abaixo os passos:

Buy Clonazepam Without Prescription – Fechando o PDB “TOMIASI”.

Ambien Without Prescription SQL> alter pluggable database TOMIASI close; Pluggable database altered.

Buy Tramadol 100 Mg Online – Abrindo o PDB “TOMIASI” em modo Read Only.

click here SQL> alter pluggable database TOMIASI open read only; Pluggable database altered. SQL>

https://gemmasnow.com/freebies/ Vamos verificar os PDBs novamente.

enter site SQL> select name, open_mode, total_size from v$pdbs; NAME OPEN_MODE TOTAL_SIZE ------------------------------ ---------- ---------- PDB$SEED READ ONLY 283115520 TOMIASI READ ONLY 387973120 SQL>

https://timlarison.com/synchronicity-book-review/ Vamos criar o clone do PDB “TOMIASI”. Tendo área suficiente, basta executar o comando abaixo.

follow url SQL> create pluggable database tomiasi_dbteste from TOMIASI; Pluggable database created. SQL>

go Criado o PDB “TOMIASI_DBTESTE” vamos abrir o PDB “TOMIASI” e verificar como que ficou os PDBs.

https://www.leoosborne.com/original-sculptures-x/ – Fechando o PDB “TOMIASI” novamente.

SQL> alter pluggable database TOMIASI close; Pluggable database altered.

– Abrindo o PDB “TOMIASI”.

SQL> alter pluggable database TOMIASI open;

Pluggable database altered.

SQL> select name, open_mode, total_size from v$pdbs;

NAME                           OPEN_MODE  TOTAL_SIZE
------------------------------ ---------- ----------
PDB$SEED                       READ ONLY   283115520
TOMIASI                        READ WRITE  387973120
TOMIASI_DBTESTE                MOUNTED             0

SQL>

Podemos perceber que o PDB “TOMIASI_DBTESTE” está montado. Vamos abrir o mesmo.

SQL> alter pluggable database TOMIASI_DBTESTE open;

Pluggable database altered.

SQL> !

Após criado e aberto o “TOMIASI_DBTESTE”, podemos conforme abaixo verificar os PDBs estão registrados no Listener.
OBS: Quando se cria o PDB, o mesmo é registrado no Listener automaticamente.

oracle=orcl-> lsnrctl status

LSNRCTL for Linux: Version 12.1.0.1.0 - Production on 27-AUG-2013 22:02:24

Copyright (c) 1991, 2013, Oracle.  All rights reserved.

Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 12.1.0.1.0 - Production
Start Date                27-AUG-2013 21:57:23
Uptime                    0 days 0 hr. 5 min. 1 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /u02/app/oracle/product/12.1.0/grid_1/network/admin/listener.ora
Listener Log File         /u02/app/oracle/diag/tnslsnr/l12asm64di/listener/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=l12asm64di.localdomain)(PORT=1521)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(HOST=l12asm64di.localdomain)(PORT=5500))(Security=(my_wallet_directory=/u01/app/oracle/product/12.1.0/db_1/admin/orcl/xdb_wallet))(Presentation=HTTP)(Session=RAW))
Services Summary...
Service "+ASM" has 1 instance(s).
  Instance "+ASM", status READY, has 1 handler(s) for this service...
Service "orcl" has 1 instance(s).
  Instance "orcl", status READY, has 1 handler(s) for this service...
Service "orclXDB" has 1 instance(s).
  Instance "orcl", status READY, has 1 handler(s) for this service...
Service "tomiasi" has 1 instance(s).
  Instance "orcl", status READY, has 1 handler(s) for this service...
Service "tomiasi_dbteste" has 1 instance(s).
  Instance "orcl", status READY, has 1 handler(s) for this service...
The command completed successfully
oracle=orcl->

Para acessar O PDB “TOMIASI_DBTESTE” com Oracle Net Directory Naming devemos adicionar o mesmo ao TNSNAMES conforme abaixo.
Vamos visualizar o atual TNSNAMES. Ann Marie who is

oracle=orcl-> cat /u01/app/oracle/product/12.1.0/db_1/network/admin/tnsnames.ora
# tnsnames.ora Network Configuration File: /u01/app/oracle/product/12.1.0/db_1/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.

LISTENER_ORCL =
  (ADDRESS = (PROTOCOL = TCP)(HOST = l12asm64di.localdomain)(PORT = 1521))

ORCL =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = l12asm64di.localdomain)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl)
    )
  )

TOMIASI =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = l12asm64di.localdomain)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = tomiasi)
    )
  )

Vamos editar o TNSNAMES adicionando o PDB “TOMIASI_DBTESTE” e vamos visualizar o mesmo novamente.

oracle=orcl-> vi /u01/app/oracle/product/12.1.0/db_1/network/admin/tnsnames.ora
oracle=orcl-> cat /u01/app/oracle/product/12.1.0/db_1/network/admin/tnsnames.ora
# tnsnames.ora Network Configuration File: /u01/app/oracle/product/12.1.0/db_1/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.

LISTENER_ORCL =
  (ADDRESS = (PROTOCOL = TCP)(HOST = l12asm64di.localdomain)(PORT = 1521))

ORCL =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = l12asm64di.localdomain)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl)
    )
  )

TOMIASI =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = l12asm64di.localdomain)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = tomiasi)
    )
  )

TOMIASI_DBTESTE =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = l12asm64di.localdomain)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = tomiasi_dbteste)
    )
  )
oracle=orcl-> exit
exit

Adicionado o PDB ao TNSNAMES, vamos acessar o PDB “TOMIASI_DBTESTE” com o Oracle Net Directory Naming.

SQL> conn tomiasi/tomiasi@tomiasi_dbteste
Connected.
SQL> select * from pessoas;

      P_ID P_NOME
---------- ------------------------------
         1 Maycon Tomiasi

SQL>

Podemos acessar o PDB também com o Easy Connect conforme abaixo:

SQL> conn tomiasi/tomiasi@l12asm64di.localdomain:1521/tomiasi_dbteste;
Connected.
SQL> select * from pessoas;

      P_ID P_NOME
---------- ------------------------------
         1 Maycon Tomiasi

SQL>

OBS: Significado de acesso via Easy Connect acima:
conn [usuário]/[senha]@[host]:[porta]/[pluggable_database][ORACLE_SID];
Porta = Porta do Listener.

Pronto, clonamos o pluggable database do Banco de Dados Oracle 12c e acessamos o mesmo.
Documento de criar um pluggable database acesse CREATE PLUGGABLE DATABASE.
Maiores informações sobre o Oracle Database 12c acesse Oracle Documentation 12c.

%name Clonando um Pluggable Database (Oracle Database 12c) no mesmo Container root

Autor: Maycon Tomiasi

Formado em Tecnologia da Informação na FIPP (Faculdade de Informática de Presidente Prudente), Analista DBA Oracle pela Teiko Soluções em Tecnologia da Informação, residente em Blumenau/ SC, Certificado OCP 10g/11g/12c, OCS 11g Implementation, OCE 11g Performance Tuning, OCE 11g RAC & GRID e OPN Specialist. Conhecimentos em PHP.