Documentos de Académico
Documentos de Profesional
Documentos de Cultura
¿Qué es un Servidor?
• Tipos de servidores:
• Es un equipo informático que Archivos: almacena archivos
forma parte de una red y Dominio: información de usuarios,
suministra servicios a una serie de equipos y grupos de una red.
clientes, que pueden ser tanto Impresión: poner en cola los trabajos de
personas como otros equipos. impresión que generan los usuarios
Correo: gestiona el flujo de correos de los
usuarios
Base de datos: provee servicios de base
de datos a otros programas o equipos
clientes
DNS: relaciona nombres de dominios con
direcciones IP
Web: Almacena contenido web y lo pone
al servicio de aquellos usuarios que lo
solicitan.
Servidor de Base de Datos
• Es un tipo de software de servidor
que permite la organización de la
información mediante el uso de
tablas, índices y registros. También
conocido como data server o RDBMS
(Relational DataBase Management
System)
• A nivel de hardware, es un equipo
informático especializado en servir
consultas a clientes remotos o locales
que realizan modificaciones a los
registros y tablas que existen dentro
de una base de datos.
Servidor de Base de Datos
DML
DDL
TCL
DCL
SELECT
CREATE
INSERT BEGIN
ALTER GRANT
UPDATE COMMIT
DROP REVOKE
DELETE ROLLBACK
TRUNCATE
MERGE
Lenguaje SQL
DML (Lenguaje de Manipulación de DDL (Lenguaje de Definición de
Datos) Datos)
• Utilizada para la gestión de datos • Permite definir las estructuras de
dentro de los objetos de esquema. datos de una base de datos.
Select .- Recupera datos de la BD Create .- Crea objetos en la BD
Insert .- Inserta datos en una tabla Alter .- Altera la estructura de una BD
Update.- Actualiza datos de una tabla Drop.- Elimina los objetos de la BD
Delete.- Elimina todos los registros de Truncate.- Elimina todos los registros
una tabla. de una tabla, incluyendo todos los
Merge.- Operación de insert o update espacios asignados a los registros se
eliminan.
Lenguaje SQL
DCL (Lenguaje de Control de Datos) TCL (Lenguaje de Control de
• Controla el nivel de acceso que los Transacción)
usuarios tienen sobre los objetos • Permite controlar y manejar
de la BD. transacciones para mantener la
Grant .- Permite a los usuarios integridad de los datos.
leer/escribir sobre ciertos objetos de Begin .- Abre una transacción
la BD. Commit .- Confirma una transacción
Revoke .- Quita los permisos de Rollback.- Reversa una transacción en
lectura/escritura sobre los objetos de caso de cualquier error.
la BD.
Las tareas sobre las que se pueden
conceder o denegar servicios son:
Connect, Select, Insert, Update,
Delete.
Conectarse a una BD por sqlplus
1. Abrir una ventana de
Command Prompt
2. Digite:
sqlplus system/1234
3. Ejecutar la sentencia:
Select * from v$version;
4. Ejecute la sentencia:
Select sysdate from dual;
Creación de usuario en Oracle
1. Para crear usuarios se utiliza la
sentencia: create user
2. La sintaxis básica es:
Create user NOMBRE_USUARIO
Identified by CONTRASEÑA;
3. Crear el usuario prueba02 con la
contraseña 1234, desde sqlplus.
4. Conectarse a la base de datos con el
usuario prueba02:
sqlplus prueba02/1234
• La columna
LAST_NUMBER muestra el
próximo valor disponible
de la secuencia.
Creación de tabla y secuencia para CLIENTES
1. Para añadir datos en la tabla CLIENTES
usaremos la siguiente setencia insert:
DEPT DEPT
• Definido bien a nivel de tabla o columna. • Definido bien a nivel de tabla o columna.
FOREING KEY constraint
DEPT
PRIMARY key
EMP
FOREING key
• Definido bien a nivel de tabla o columna.
Constraint CHECK
• Define una condición que debe satisfacer cada fila.
• Se define o bien como una restricción a nivel de tabla o a nivel de
columna.
Consultas útiles para obtener información de la BD
• Vista que muestra el estado de la • Ubicación y nombre del archivo spfile
base de datos select * from v$system_parameter
where name = ‘spfile’;
select * from v$instance;
• Ubicación y número de archivo de
• Consulta que muestra si la base de control
datos está abierta select * from v$system_parameter
select status from v$instance; where name = ‘control_files’;
• Vista que muestra los parámetros • Nombre de base de datos
generales de Oracle select * from v$system_parameter
where name = ‘db_name’;
select * from v$system_parameter;
• Versión que muestra las conexiones
• Versión de Oracle actuales a Oracle
select * from v$system_parameter select osuser, username, machine, program
from v$session
where name = ‘compatible’;
order by osuser;
Consultas útiles para obtener información de la BD
• Vista que muestra el número de • Muestra los datos de una table
conexiones actuales a Oracle especificada
select * from ALL_ALL_TABLES
agrupados por aplicación que realiza la where upper(table_name) like 'PROV%’;
conexión • Consulta SQL para el DBA de Oracle que
select program Apli, count(program) muestra los tablespaces, el espacio
Num_Sesiones from v$session utilizado, el espacio libre y los archivos de
group by program datos de los mismos
Select t.tablespace_name "Tablespace", t.status Estado,
order by Numero_Sesiones desc ; ROUND(MAX(d.bytes)/1024/1024,2) "MB Tamaño",
ROUND((MAX(d.bytes)/1024/1024) -
• Vista que muestra los usuarios de (SUM(decode(f.bytes, NULL,0, f.bytes))/1024/1024),2) "MB
Oracle conectados y el número de Usados",
ROUND(SUM(decode(f.bytes, NULL,0, f.bytes))/1024/1024,2)
sesiones por usuario "MB Libres",
t.pct_increase "% incremento",
select username User_Oracle, SUBSTR(d.file_name,1,80) "Fichero de datos"
count(username) Num_Sesiones FROM DBA_FREE_SPACE f, DBA_DATA_FILES d,
DBA_TABLESPACES t
from v$session WHERE t.tablespace_name = d.tablespace_name AND
group by username f.tablespace_name(+) = d.tablespace_name AND
f.file_id(+) = d.file_id
order by Numero_Sesiones desc; GROUP BY t.tablespace_name, d.file_name, t.pct_increase,
t.status
ORDER BY 1,3 DESC;
Consultas útiles para obtener información de la BD
• Tamaño ocupado de la base de • Espacio ocupado por usuario
datos SELECT owner, SUM(BYTES)/1024/1024
select sum(BYTES)/1024/1024 MB FROM DBA_EXTENTS MB
from DBA_EXTENTS; GROUP BY owner;
• Tamaño de los archivos de la base • Espacio ocupado por los diferentes
de datos segmentos (tablas, índices, undo,
select sum(bytes)/1024/1024 MB rollback, cluster, ...):
SELECT SEGMENT_TYPE,
from dba_data_files; SUM(BYTES)/1024/1024
• Tamaño ocupado por una tabla FROM DBA_EXTENTS MB
concreta sin incluir los índices de la GROUP BY SEGMENT_TYPE
misma • Obtener todas las funciones de Oracle:
select sum(bytes)/1024/1024 MB SELECT distinct object_name
from user_segments FROM all_arguments
where segment_type='TABLE' WHERE package_name = 'STANDARD'
and segment_name='PROVEEDORES'; order by object_name;
Introducción
Estructura General de un Disparador
Estructura General de un Disparador - Ejemplo
Temporalidad del evento: AFTER / BEFORE
Granularidad del evento: FOR EACH ROW / STAMENT
Granularidad del evento: FOR EACH ROW / STAMENT
ROW TRIGGER - Ejemplo
STAMENT TRIGGER - Ejemplo
Condición
Orden de Ejecución
Correlation Identifiers
Valores OLD y NEW
Triggers DML
Triggers INSTEAD OF
Triggers de Sistema
Funciones del Cuerpo del Disparador
Declaración de Variables
Creación de tablas en Oracle
VIAJESCONTRATADOS
TURISTAS
IdViaje secuencial pk
VUELOS Turista number fk IdTurista secuencial pk
NumVuelo secuencial pk Sucursal number fk Identificacion varchar2(15) not null
FechaVuelo date default sysdate Estancia number fk Nombres varchar2(45) not null
HoraVuela date default sysdate Apellidos varchar2(45) not null
OrigenVuelo varchar2(30) not null Direccion varchar2(80) not null
DestinoVuelo varchar2(30) not null Telefono varchar2(15) not null
PlazasTotales number(3) Email varchar(30)
PlazasTurista number(3) VUELOSTURISTA EsActiva boolean default true
EsActiva boolean default true CodigoVuelo secuencial pk
Clase varchar2(20) not null
numVuelo number fk
IdViaje number fk
Servidor de Base de Datos Oracle
Visión General
• El administrador de base de datos (DBA), debe comprender
que la arquitectura ofrecida por Oracle, gestiona una base de
datos.
• Para entender la forma en que el servidor Oracle funciona,
se debe analizar los siguientes componentes:
• Estructura de base de datos y gestión de del espacio
• Estructuras de memoria
• Procesos
• Otros archivos importantes
Definición