Multitenant en Oracle 18c XE
La tecnología multitenant(MULTI INQUILINO) introducida en Oracle Database 12c presenta muchas ventajas, entre éllas la capacidad de administrar varias bases de datos como una sola instancia; a diferencia de las versiones anteriores en las que si se requería una nueva base de datos, debía crearla con los costes asociados a dicha instancia (que inevitablemente conllevaba a consumir más memoria RAM); en Multitenant se pueden crear varias bases de datos conectables o enchufables (llamadas Pluggable Databases o PDB) que se conectan a una base de datos Contenedora(CDB del acrónimo en inglés Container Database) compartiendo todas ellas la misma instancia ahorrando significativamente el uso de recursos.
Las PDB's pueden conectarse y desconectarse de la CDB. Cada PDB tendrá asociados sus propios tablespaces.
Oracle Database 18c XE incluye una base de datos conectable o de contenedor pre-configurada de nombre XEPDB1 que emplearemos en algunos ejemplos de este artículo. Es preciso recordar que Oracle XE 18c está restringida a un máximo de 3 PDB's y que el total de 12GB de almacenamiento incluye la suma del espacio ocupado por cada PDB.
Oracle Database 18c XE incluye una base de datos conectable o de contenedor pre-configurada de nombre XEPDB1 que emplearemos en algunos ejemplos de este artículo. Es preciso recordar que Oracle XE 18c está restringida a un máximo de 3 PDB's y que el total de 12GB de almacenamiento incluye la suma del espacio ocupado por cada PDB.
Este post tratará los siguientes tópicos:
- Cómo iniciar y detener un CDB.
- Cómo crear una PDB a partir de otra PDB(Clonar una PDB).
- Cómo abrir una PDB.
- Cómo cambiar de una PDB a otra.
- Cómo cambiar de una PDB al contenedor.
- Cómo conectarse a una PDB.
- Cómo salvar o guardar el estado de una PDB.
1. Cómo iniciar y detener un CDB.
Comando para iniciar:
startup;
Comando para detener:
shutdown IMMEDIATE;
2. Cómo crear una PDB a partir de otra PDB(Clonar una PDB).
CREATE pluggable DATABASE "XEPDB2" FROM "XEPDB1" STORAGE UNLIMITED tempfile REUSEfile_name_convert=(
''/opt/oracle/oradata/xe/xepdb1/system01.dbf'',
''/opt/oracle/oradata/xe/xepdb2/system01.dbf'',
''/opt/oracle/oradata/xe/xepdb1/sysaux01.dbf'',
''/opt/oracle/oradata/xe/xepdb2/sysaux01.dbf'',
''/opt/oracle/oradata/xe/xepdb1/undotbs01.dbf'',
''/opt/oracle/oradata/xe/xepdb2/undotbs01.dbf'',
''/opt/oracle/oradata/xe/xepdb1/users01.dbf'',
''/opt/oracle/oradata/xe/xepdb2/users01.dbf'',
''/opt/oracle/oradata/xe/xepdb1/temp01.dbf'',
''/opt/oracle/oradata/xe/xepdb2/temp01.dbf'' );
alter pluggable database xepdb2 open read write;
alter session set container=xepdb1;
5.Cómo cambiar de una PDB al contenedor.
alter session set container=cdb$root;
6. Cómo conectarse a una PDB.
conn sys/contraseña@localhost:1521/xepdb1
7. Cómo salvar o guardar el estado de una PDB.
alter pluggable database xepdb1 save state;
Espero que este artículo sea de utilidad.
Sus comentarios respetuosos, dudas y sugerencias son bienvenidos.
Saludos.
Comentarios