Criando e Acessando um Pluggable Database (Oracle Database 12c)

source url Este artigo tem como objetivo demonstrar como criar um pluggable database no banco de dados 12c, garantir privilégios de acesso e de criar objetos no mesmo.

https://www.ontheballwalkies.com/terms-and-conditions/ Sobre Multi Containers acesse: Introduction to the Multitenant Architecture.

go Para iniciar vamos verificar os PDBS conectados no container root.

https://www.leoosborne.com/contact-us/ SQL> set lines 500 SQL> select name, open_mode, total_size from v$pdbs; NAME OPEN_MODE TOTAL_SIZE ------------------------------ ---------- ---------- PDB$SEED READ ONLY 283115520 SQL>

click Vamos verificar as tablespaces no ambiente de banco de dados.

enter site SQL> select * from v$tablespace; TS# NAME INC BIG FLA ENC CON_ID ---------- ------------------------------ --- --- --- --- ---------- 0 SYSTEM YES NO YES 1 1 SYSAUX YES NO YES 1 2 UNDOTBS1 YES NO YES 1 4 USERS YES NO YES 1 3 TEMP NO NO YES 1 5 rows selected. SQL>

Order Pregabalin Online Vamos criar uma tablespace para o nosso pluggable database que iremos criar.

go site SQL> create tablespace TOMIASI_DADOS datafile '+DGDATA/ORCL/DATAFILE/tomiasi_dados01.dbf' size 10M autoextend on next 10M maxsize 50M; Tablespace created. SQL>

https://www.maderaplasticabarahona.com/galeria/ Já com a tablespace criada, vamos criar nosso PDB (Pluggable Database), lembrando que temos que associar um usuário a este pluggable database.
Estou criando o pluggable database tomiasi com o usuário tomiasi como administrador deste PDB.
Segue evidência abaixo:

https://www.leoosborne.com/links/ SQL> create pluggable database tomiasi admin user tomiasi identified by tomiasi default tablespace "TOMIASI_DADOS"; Pluggable database created. SQL>

Buy Ultram Online Vamos verificar os pluggable databases.

Order Tramadol Online SQL> select name, open_mode, total_size from v$pdbs; NAME OPEN_MODE TOTAL_SIZE ------------------------------ ---------- ---------- PDB$SEED READ ONLY 283115520 TOMIASI MOUNTED 0 SQL>

https://www.maderaplasticabarahona.com/clientes/ Como acima, criamos o pluggable database “TOMIASI” que está montado.
Para abrir o PDB, basta executar o comando abaixo:

https://eternaclinic.com/threadlift/ SQL> alter pluggable database tomiasi open; Pluggable database altered. SQL>

Zolpidem Buy Online Após o PDB aberto, vamos acessá-lo e garantir os privilégios necessários para o usuário tomiasi acessar o PDB “TOMIASI”.
Setando o container “TOMIASI”.
Porque setar o container?
Porque devemos setá-lo para acessá-lo, ou seja, para cada pluggable database que queira acessar a partir da container root devemos setar o PDB desejado.

https://drsurdis.com/tmj/ SQL> alter session set container=tomiasi; Session altered. SQL>

Após setar o container, possuímos controle sobre os schemas relacionado ao mesmo.
Garantindo o privilégio para o usuário tomiasi.

SQL>  grant connect, resource to tomiasi;

Grant succeeded.

SQL>

Alterando a quota do usuário na tablespace “TOMIASI_DADOS”.

SQL> alter user tomiasi quota unlimited on "TOMIASI_DADOS";

User altered.

SQL>

Vamos acessar o PDB TOMIASI com o usuário tomiasi.

SQL> conn tomiasi/tomiasi@tomiasi
ERROR:
ORA-12154: TNS:could not resolve the connect identifier specified


Warning: You are no longer connected to ORACLE.
SQL> !

O erro ocorre pois o PDB “TOMIASI” não foi configurado no TNSNAMES.
Vamos configurar o mesmo no TNSNAMES conforme abaixo:
Primeiramente, vamos com o comando “cat” visualizar o nosso atual TNSNAMES.

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)
    )
  )

Podemos perceber acima que temos o TNSNAMES do Banco de Dados ORCL (Container root) para o PDB.
Com o comando “vi” vamos alterar o TNSNAMES adicionando o PDB “TOMIASI” para podermos ter acesso ao PDB através do Container root ou sem conectar antes no Container root e vamos visualizar novamente o TNSNAMES após a adição.

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)
    )
  )
oracle=orcl-> exit
exit

Após configurado no TNSNAMES, vamos acessar o PDB “TOMIASI”.
Há duas formas de conectar ao PDB. Conectando através do container root (deve setar o PDB na sessão para conectar) ou direto sem conectar no container root.
Abaixo como estou conectado pelo container root e já setado o container “TOMIASI”, basta conectar no mesmo.

SQL> conn tomiasi/tomiasi@tomiasi
Connected.
SQL> 

Conectado no PDB “TOMIASI” podemos criar os objetos (tabelas, procedures, functions e etc…).
Vamos criar uma tabela e inserir um registro na mesma.

SQL> create table pessoas (p_id number, p_nome varchar2(30));

Table created.

SQL>  insert into pessoas values (1,'Maycon Tomiasi');

1 row created.

SQL> commit;

Commit complete.

SQL> select * from pessoas;

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

SQL>

A outra forma de conectar sem conectar no container root, é acessar com o comando abaixo, ou seja, via TNSNAMES.

oracle=orcl-> sqlplus tomiasi/tomiasi@tomiasi

SQL*Plus: Release 12.1.0.1.0 Production on Fri Aug 23 00:28:47 2013

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

Last Successful login time: Tue Aug 20 2013 19:50:49 -03:00

Connected to:
Oracle Database 12c Enterprise Edition Release 12.1.0.1.0 - 64bit Production
With the Partitioning, Automatic Storage Management, OLAP, Advanced Analytics
and Real Application Testing options

SQL>

Pronto criamos o pluggable database do Banco de Dados Oracle 12c, acessamos o mesmo e criamos objetos.
Maiores informações acesse Oracle Documentation 12c.

%name Criando e Acessando um Pluggable Database (Oracle Database 12c)

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.