PDF de programación - Creacion Multitenant Container Database 12c forma Manual

Imágen de pdf Creacion Multitenant Container Database 12c forma Manual

Creacion Multitenant Container Database 12c forma Manualgráfica de visualizaciones

Publicado el 27 de Marzo del 2017
1.308 visualizaciones desde el 27 de Marzo del 2017
275,2 KB
7 paginas
Creado hace 8a (25/05/2015)
Creación de un Multitenant Container Database 12c de forma Manual



Por Francisco Riccio



Introducción

En algunas ocasiones hemos tenido la necesidad de crear bases de datos de forma manual, quizás por
automatizar el proceso de creación o porque las políticas de seguridad de la compañía no permitían la
ejecución de aplicaciones en entornos visuales y por ende no podíamos ejecutar el utilitario DBCA, etc.

El propósito de esta implementación es indicar el procedimiento a ejecutar para crear un Multitenant
Container Database (CDB) de forma manual mediante scripts. Dicho procedimiento se asemeja en varios
pasos a la creación de una base de datos como lo hacíamos en las anteriores versiones salvo por algunos
pasos adicionales que debemos realizar.

Antes de iniciar con la implementación, recomiendo revisar el siguiente material con la finalidad de
tener todos los conceptos sólidos sobre la arquitectura de Oracle Multitenant.

https://docs.oracle.com/database/121/CNCPT/cdblogic.htm



Implementación

El ambiente a implementar está configurado sobre 1 servidor con sistema operativo Oracle Linux 5
Update 10 x64 bits y Oracle Database 12.1.0.2.

El CDB a crear se llamará DEV.



Paso 1

Creamos una carpeta donde se almacenarán los control files, data files y redo logs de nuestro CDB.
Posteriormente configuramos la variable ORACLE_SID y crearemos el archivo PFILE.



1

A continuación se presenta el contenido del archivo initDEV.ora (PFILE).

*.db_name=DEV

*.control_files='/u02/oradata/DEV/control01.ctl','/u02/oradata/DEV/control02.ctl','/u02/oradata/DEV/c
ontrol03.ctl'

*.db_block_size=8192

*.memory_target=800M

*.undo_tablespace='UNDOTBS1'

*.enable_pluggable_database=true



El parámetro ENABLE_PLUGGABLE_DATABASE es importante que esté configurado con el valor de
TRUE, de esta manera indicamos que es una base de datos de tipo CDB.

El valor por defecto del parámetro es FALSE.

Nota: Si contamos con una base de datos CDB y modificamos el parámetro
ENABLE_PLUGGABLE_DATABASE al valor de FALSE o dicho parámetro lo retiramos del Parameter File
conseguiremos el error: "ORA-65093: multitenant container database not set up properly".

Por ende la base de datos CDB debe tener este parámetro con el valor de TRUE en todo momento.

Una vez creado el PFILE procedemos a subir nuestro CDB a NOMOUNT.



2

Paso 2

Creamos una carpeta para almacenar el Container SEED. En nuestro caso se ubicará en la ruta:
/u02/oradata/DEV/pdbseed.

Posteriormente procedemos a crear el CDB.
Se adjunta el script de creación.



create database DEV

maxlogfiles 16

maxlogmembers 3

maxdatafiles 1024

datafile '/u02/oradata/DEV/system01.dbf' size 700M reuse

autoextend on next 200M maxsize unlimited



extent management local

SYSAUX

datafile '/u02/oradata/DEV/sysaux01.dbf' size 500M reuse

autoextend on next 200M maxsize unlimited

smallfile default temporary tablespace TEMP

tempfile '/u02/oradata/DEV/temp01.dbf' size 500M reuse

autoextend on next 200M maxsize 5G

smallfile undo tablespace UNDOTBS1

datafile '/u02/oradata/DEV/undotbs01.dbf' size 500M reuse

autoextend on next 200M maxsize 5G

CHARACTER SET AL32UTF8

NATIONAL CHARACTER SET AL16UTF16

LOGFILE

group 1 ('/u02/oradata/DEV/redo01.log') SIZE 100M,



3

group 2 ('/u02/oradata/DEV/redo02.log') SIZE 100M,

group 3 ('/u02/oradata/DEV/redo03.log') SIZE 100M

USER SYS IDENTIFIED BY oracle USER SYSTEM IDENTIFIED BY oracle

ENABLE PLUGGABLE DATABASE

SEED
file_name_convert=('/u02/oradata/DEV/system01.dbf','/u02/oradata/DEV/pdbseed/system01.dbf',

'/u02/oradata/DEV/sysaux01.dbf','/u02/oradata/DEV/pdbseed/sysaux01.dbf',

'/u02/oradata/DEV/temp01.dbf','/u02/oradata/DEV/pdbseed/temp01.dbf',

'/u02/oradata/DEV/undotbs01.dbf','/u02/oradata/DEV/pdbseed/undotbs01.dbf');



Las opciones:

 ENABLE PLUGGABLE DATABASE, permite crear el container ROOT en conjunto con los CONTROL

FILES, REDO LOG Y DATAFILES durante la fase de OPEN.

 SEED, permite indicar donde se almacenarán los data files para el container SEED. Si utilizamos

OMF o el parámetro PDB_FILE_NAME_CONVERT podemos ignorar esta opción.



4

Paso 3

Finalizado el paso 2 debemos modificar el parámetro oculto: "_oracle_script" al valor de TRUE a nivel de
sesión.

Luego debemos cerrar y abrir el PDB SEED.



Procedemos a ejecutar el siguiente script:

export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/perl/bin/:$PATH

SQL> @?/rdbms/admin/catcdb.sql



El script permite instalar todas los componentes (APEX, Oracle OLAP, Oracle Database Vault, Oracle
Label Security, etc) disponibles en el CDB.

El CDB debería contar con todos los componentes instalados para evitar el error ORA-1917.

Mayor detalle en: My Oracle Support (MOS) Nota: 1962134.1 (ORA-1917: user or role 'PDB_DBA' does
not exist When Trying to Create Pluggable Database (PDB))

Nota 1: El BUG 17033183 apareció en la primera versión del Release 12c; en el cual el script catcdb.sql
no venía incluido como parte de la instalación del software de Oracle Database.

Mayor detalle en: My Oracle Support (MOS) Nota: 17033183.8 (Bug 17033183 - Withdrawn fix -
superseded by 17316776).

Nota 2: La redefinición de la variable PATH está documentado en: My Oracle Support (MOS) Nota:
1964089.1 (ORA-01917 While Creating Pluggable Database).



5

Una vez ejecutado el script, nuestro CDB estaría listo para albergar PDBs como se verá a continuación.



Paso 4

Es importante que tengamos presente las siguientes recomendaciones:

 El tablespace permanente y temporal del CDB deben ser de uso exclusivo.

 Asignar un nuevo tablespace permanente y temporal por defecto a cada PDB de uso exclusivo.

A continuación se creará un PDB de ejemplo con la finalidad de cumplir con las recomendaciones
previamente indicadas.

create pluggable database PDB_DESA

admin user friccio identified by oracle roles=(DBA)

file_name_convert=('/u02/oradata/DEV/pdbseed','/u02/oradata/DEV/PDB_DESA');

Creamos los tablespace permanente y temporal para configurarlos como defectos del PDB.



6

Conclusión

Este material ha permitido entregar todos los pasos necesarios para crear un Multitenant Container
Database (CDB) desde la consola SQL Plus vía scripts demostrando lo simple y práctico del proceso.

A pesar de ello, es importante aclarar que el uso del utilitario DBCA para la creación de CDB y NO-CDB
debería ser nuestra primera opción para evitar errores humanos en el procedimiento.



Publicado por Ing. Francisco Riccio. Es un IT Architect en IBM Perú e instructor de cursos oficiales de
certificación Oracle. Está reconocido por Oracle como un Oracle ACE y certificado en productos de
Oracle Application & Base de Datos.

e-mail: [email protected]

web: www.friccio.com



7
  • Links de descarga
http://lwp-l.com/pdf2608

Comentarios de: Creacion Multitenant Container Database 12c forma Manual (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad