Oracle: Como crear un esquema en Oracle 11g, 12c o 18c

Hoy voy a explicaros como podéis crear un nuevo esquema en Oracle 11g, 12c o 18c.

Conexión al servidor

En primer lugar abrimos SQL Developer o la herramienta que soláis utilizar y nos logamos con un usuario administrador como por ejemplo pueden ser SYS o SYSTEM.

Creación tablespaces

Este paso no es imprescindible pero si es muy recomendable para que cada usuario tenga definido su propio espacio para los datos.

Vamos a crear 2 nuevos tablespaces:

  • Tablespace para datos.
  • Tablespace para índices.

Creación tablespace para datos

Crearemos un tablespace que será el encargado de almacenar los datos con un tamaño inicial de 1024 MB y que irá creciendo según demanda.

CREATE TABLESPACE NOMBRE_TABLESPACE LOGGING
DATAFILE '/RUTA/DATOS/NOMBRE_TABLESPACE.dbf' SIZE 1024M
EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;

Creación tablespace para índices

Este tablespace no es imprescindible pero si, como buena práctica, es recomendable crearlo.

Lo crearemos con un tamaño inicial de 512 MB y al igual que el anterior irá creciendo según las necesidades.

CREATE TABLESPACE NOMBRE_TABLESPACE_IDX LOGGING DATAFILE '/RUTA/DATOS/NOMBRE_TABLESPACE_IDX.dbf' SIZE 512M EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;

Creados los tablespaces lo siguiente será crear el nuevo esquema y el usuario que será su propietario.

Creación esquema

Ejecutaremos las siguientes sentencias:

ALTER SESSION SET "_ORACLE_SCRIPT"=true;
CREATE USER NOMBRE_USUARIO PROFILE DEFAULT IDENTIFIED BY CONTRASEÑA DEFAULT TABLESPACE NOMBRE_TABLESPACE TEMPORARY TABLESPACE TEMP ACCOUNT UNLOCK;

La asignación del tablespace para indices no se hace referencia a la hora de crear el usuario sino que directamente lo haremos cuando creemos un índice. La sentencia que tendríamos que utilizar sería la siguiente:

CREATE INDEX NOMBRE_INDICE ON NOMBRE_TABLA(NOMBRE_CAMPO) TABLESPACE NOMBRE_TABLESPACE_IDX;

Con esto ya tendremos creado un nuevo esquema y un usuario que sería su propietario. Ya sólo nos faltaría asignarle permisos.

Aplicar permisos sobre el nuevo usuario creado

Vamos a aplicar los permisos necesarios al usuario para que pueda conectar al servidor de base de datos y pueda trabajar con el nuevo esquema.

GRANT CONNECT TO NOMBRE_USUARIO;
GRANT RESOURCE TO NOMBRE_USUARIO;
ALTER USER NOMBRE_USUARIO QUOTA UNLIMITED ON NOMBRE_TABLESPACE;

Y listo con estos sencillos pasos tendremos creado un nuevo esquema en nuestro servidor con Oracle 11g, 12c o 18c.

Espero os haya sido de utilidad.

Entradas relacionadas

Deja un comentario