Curso: ORACLE

  • Formas de funcionamiento
  • Para crear un repositorio de usa dbca
  • Crear repositorio
  • crear carpeta
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
  • warnign de conraseña 123
  • d

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)
        • mas sencillo
  • Crear tablespace
  • esto es lo qie se ba a crear
  • TBS se asocia a un datafile con un tamaño
  • creamos
mkdir -p /u02/datos/

CREATE TABLESPACE TBS_VENTAS
DATAFILE '/u02/datos/df_ventas_01.dbf'
SIZE 3M;
  • Con 2 datafiles
CREATE TABLESPACE TBS_SEGURIDAD
DATAFILE
'/u02/datos/df_seg_01.dbf' SIZE 10M ,
'/u02/datos/df_seg_02.dbf' SIZE 10M ;
  • consultarlos
-- 3. CONSULTA ADMINISTRATIVA DE TBS
SELECT * FROM DBA_TABLESPACES;
  • y los datafiles
-- 4. CONSULTA ADMINISTRATIVA DE DATAFILES
SELECT * FROM DBA_DATA_FILES;
  • crear tabla
-- 5. CREANDO TABLA EN EL TABLESPACE E INSERCION DE REG.
CREATE TABLE ARTICULO
(ID INTEGER, DESCRIPCION CHAR(100)) TABLESPACE TBS_VENTAS;
  • Aumanta de tamaño
  • Insertamos datos
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
    • vistas
    • tablas
    • indices
    • SP
  • 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
  • Crear shema
  • 1 crear tablespace
  • 2 crear esquema
  • 3 objetos
  • esquema
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
  • Resultado

Enmascaramiento

  • guia
  • 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
  • creamos usuarios
  • privilegio de sesion (o no se puede conectarse)
  • permiso de consultar tabla
  • luego rol administrador
  • conexion como matias
  • para enmascarar
  • Ya se entregan los datos enmascarados
    • Se hace con una libreria DBMS que crea politicas
  • tipo de enmascaramiento
  • este es el patron enmascara los nuemros de 1 al 6
  • expresion es verdadero / falso
  • matias
  • COnexion lucas

Enmascaramiento aleatorio

  • la columna sueldo va a cambiar los datos
  • Creamos tabla
  • usuarios
  • politica
  • tipo
  • Consulta ADAM
  • enmascaramos los datos: Nombre
  • aqui lo que se hace es modificar ALTER para agregar una columna a la politica