Creación de una PDB desde SEED con ASM y OMF

Como se sabe ahora en la arquitectura de Oracle Database 12c se tiene el concepto de base de datos como contenedores (container database), a continuación, mostrare como crear una pluggable database desde la base de datos SEED

Suposiciones:
Se tiene un base de datos contenedor (container) de nombre cdb2
cdb2 es una base de datos que usa como storage ASM (automatic storage management)
se está utilizando OMF (Oracle management filesystem)

se comprueba que efectivamente se tenga configurado OMF desplegando el parametro db_create_file_dest

SQL> show parameter db_create_file_dest

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
db_create_file_dest                  string      +DATA_TEST

creacion de la pluggable database con nombre pdb2, con el usuario administrador pdb2_admin el cual tendrá el rol de dba

SQL> create pluggable database pdb2 admin user pdb2_admin identified by oracle_4U roles=(dba);

Pluggable database created.

verificando la creación haya sido correcta, y también abriendo en modo de “lectura y escritura”

SQL> col con_id for 999
SQL> col name for a10
SQL> select con_id, name, open_mode, dbid, con_uid from v$pdbs;

CON_ID NAME OPEN_MODE DBID CON_UID
------ ---------- ---------- ---------- ----------
2 PDB$SEED READ ONLY 2788127636 2788127636
3 PDB2 MOUNTED 2510766475 2510766475

SQL> alter pluggable database pdb2 open;

Pluggable database altered.

SQL> select con_id, name, open_mode, dbid, con_uid from v$pdbs;

CON_ID NAME OPEN_MODE DBID CON_UID
------ ---------- ---------- ---------- ----------
2 PDB$SEED READ ONLY 2788127636 2788127636
3 PDB2 READ WRITE 2510766475 2510766475

SQL>

Luego de la creacion verificaremos la coneccion para ello debemos ingresar la entrada en tnsnames.ora o se puede realizar con el network configuration assistance (netca)
Para fines de este ejemplo se ingresara la entrada directamente en tnsnames.ora

[oracle@host01 admin]$ vi tnsnames.ora
[oracle@host01 admin]$
[oracle@host01 admin]$ tail -10 tnsnames.ora
PDB2 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = pdb2)
)
)

Comprobando la conexión

[oracle@host01 admin]$
[oracle@host01 admin]$ sqlplus sys@pdb2 as sysdba

SQL*Plus: Release 12.1.0.2.0 Production on Wed Feb 8 19:19:37 2017

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

Enter password:

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

SQL> show con_name

CON_NAME
------------------------------
PDB2
SQL> show user
USER is "SYS"

validando los datafiles creados, como se puede observer unicamente estan los datafiles correspondientes al system y sysaux tablespaces, de igual forma se puede verificar el temp local de pdb2:

SQL> select file_name, tablespace_name, file_id from dba_data_files;

FILE_NAME TABLESPACE_NAME FILE_ID
-------------------------------------------------------------------------------- -------------------- -------
+DATA_TEST/CDB2/480F7233024926C8E0539601A8C0536C/DATAFILE/system.270.935434571 SYSTEM 8
+DATA_TEST/CDB2/480F7233024926C8E0539601A8C0536C/DATAFILE/sysaux.269.935434571 SYSAUX 9

SQL> select file_name, tablespace_name, file_id from dba_temp_files;

FILE_NAME TABLESPACE_NAME FILE_ID
-------------------------------------------------------------------------------- -------------------- -------
+DATA_TEST/CDB2/480F7233024926C8E0539601A8C0536C/TEMPFILE/temp.271.935434579 TEMP 3

La creación de una PDB es bastante sencilla, solo se debe tener en cuenta que si no se utilizara OMF se deberá usar el parámetro CREATE_FILE_DEST o FILE_NAME_CONVERT

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s