Para crear un repositorio de usa dbca
mkdir -p /u02/dba/clinica
En modo silencioso
templateName: plantilla de orcale
CharacterSet: acentos
dbca -silent -createDatabase
-templateName General_Purpose.dbc
\
-gdbname clinica -sid clinica
\
-characterSet AL32UTF8
\
-sysPassword 123
\
-systemPassword 123
\
-createAsContainerDatabase false
\
-totalMemory 2260
\
-storageType FS
\
-datafileDestination /u02/dba/clinica/ \
-emConfiguration NONE
\
-ignorePreReqs -sampleSchema false
Datatables
Zonas de almacenamiento, son exclusivos de oracle hay que organizar el almacenamiento
Estos son tablespace del sistema
BD es como un almacen todo esta seccionado
Cada area genera su data su tablespace
y ahi creamos los objetos de los datos
Se recomienda que cada table space este en un disco
1 para mantener la operación (dis se daña un disco)
2 distribuir la carga de lectura /escritura en discos
Gestion de discos
Se gestiona con
ASM
Es lo mejor
Requiere licencias adicionales
FileSystem (FS)
Crear tablespace
esto es lo qie se ba a crear
TBS se asocia a un datafile con un tamaño
mkdir -p /u02/datos/
CREATE TABLESPACE TBS_VENTAS
DATAFILE '/u02/datos/df_ventas_01.dbf'
SIZE 3M;
CREATE TABLESPACE TBS_SEGURIDAD
DATAFILE
'/u02/datos/df_seg_01.dbf' SIZE 10M ,
'/u02/datos/df_seg_02.dbf' SIZE 10M ;
-- 3. CONSULTA ADMINISTRATIVA DE TBS
SELECT * FROM DBA_TABLESPACES;
-- 4. CONSULTA ADMINISTRATIVA DE DATAFILES
SELECT * FROM DBA_DATA_FILES;
-- 5. CREANDO TABLA EN EL TABLESPACE E INSERCION DE REG.
CREATE TABLE ARTICULO
(ID INTEGER, DESCRIPCION CHAR(100)) TABLESPACE TBS_VENTAS;
INSERT INTO ARTICULO
SELECT LEVEL, 'ART_' || LEVEL FROM DUAL
CONNECT BY LEVEL <= 10000;
Vemos que tiene taumentos esta full
Intentamos insertar mas da error
si lo ponemos automatico a fracción de datos que lo pone lento
OPCION1 Aumentamos espacio
-- 6. MODIFICANDO TAMAÑO DE DATAFILES
ALTER DATABASE
DATAFILE '/u02/datos/df_ventas_01.dbf'
RESIZE 10M;
opcion agregar un nuevo datafile
-- 7. AGREGANDO UN NUEVO DATAFILE AL TBS
ALTER TABLESPACE TBS_VENTAS
ADD DATAFILE '/u02/datos/df_ventas_02.dbf' SIZE 10M;
Cual opcion es mejor ???
insertamos 3 caragas
oracle trata de homgenizar las TBS
No se pueden reducir de tamaño
aumentar o nuevo datafile es relativo
si se aumenta
puede que se agregue de forma continuo
pero si en un mismo disco tiene varios tablespace
se llena comercial (no se planifico crecimiento)
Entonces se aumenta tamaño no va esta continuo
Se da Fragmentación (almacenamiento en diferentes zonas del disco)
Se pueden tener muchos objetos en la BD
Todo esto se organiza en shemas
Pero todo lo que consuma buen espacio es mejor guardarlo en Tablespaces
En TBS
Tablas
Vistas
Indeces
Vistas materializadas
No se crea un esquemas, se debe crear un usuario de funcion de esquema
1 crear tablespace
2 crear esquema
3 objetos
CREATE TABLESPACE TBS_COMERCIAL
DATAFILE '/u02/datos/comercial_01.dbf' SIZE 50M;
Crear usuario que los objetos se almacen por defecto en TBS comercial
CREATE USER COMERCIAL IDENTIFIED BY 123
DEFAULT TABLESPACE TBS_COMERCIAL;
Creamos un atabla en el esquema
CREATE TABLE COMERCIAL.SERVICIO
( CODSERVICIO INTEGER GENERATED ALWAYS AS IDENTITY PRIMARY KEY,
NOMBRE VARCHAR(50),
PRECIO NUMERIC(10,2 ),
ESTADO INTEGER );
Consulta: que objetos tiene el esquema comercial
SELECT OBJECT_TYPE, OBJECT_NAME, CREATED
FROM DBA_OBJECTS
WHERE OWNER = 'COMERCIAL';
Creo un indice y una secuencia
Donde esta almacenado dba_tabla es una vista con todas las tablas
select dba_tables where tavble_name = 'SERVICIO'
CREAMOS OTRA tabla y idndice
CREATE TABLE COMERCIAL.COMPROBANTE
( IDCOMPROBANTE INTEGER GENERATED ALWAYS AS IDENTITY,
FECHA DATE,
IDSUCURSAL INTEGER,
IDCAJA INTEGER,
VALOR NUMERIC(10,2),
ESTADO INTEGER );
CREATE INDEX COMERCIAL.IDX_COMPROBANTE ON
COMERCIAL.COMPROBANTE ( IDCOMPROBANTE );
ahora tenemos mas indices y secuencias
podemos consultarlos en la herramienta
Enmascaramiento
creamos tabla esta tiene tarjeta de credito es sensible
un adminsitrador puede ver los datos
pero otros no solo se ven los ultimos 4 digitos
privilegio de sesion (o no se puede conectarse)
permiso de consultar tabla
para enmascarar
Ya se entregan los datos enmascarados
Se hace con una libreria DBMS que crea politicas
este es el patron enmascara los nuemros de 1 al 6
expresion es verdadero / falso
Enmascaramiento aleatorio
la columna sueldo va a cambiar los datos
enmascaramos los datos: Nombre
aqui lo que se hace es modificar ALTER para agregar una columna a la politica