Você está na página 1de 42

Unidad Didctica 1

Fundamentos de
Administracin de Bases de
Datos
UNIDAD
Fundamentos de Administracin de Bases de
DIDCTICA 1
Datos

ndice

1. Fundamentos de las Bases de Datos


1.1. Definicin de Base de Datos
1.2. Aplicacin
1.3. El Sistema Gestor de Base de Datos
1.4. De los Sistemas de Ficheros a las Bases de Datos
1.5. Actores de la Base de Datos y sus roles
2. Introduccin a Oracle 10g
2.1. El SGBD Oracle 10g
2.2. Las Bases de Datos Oracle
2.3. El Diccionario de Datos
3. Introduccin a la administracin de Bases de Datos Oracle 10g
3.1. El rol administrativo DBA en Oracle 10g
3.2. Herramientas de administracin de Oracle
3.3. Privilegios especiales del sistema
3.4. Los usuarios administradores de Oracle

2
Esquema de contenidos:

3
Introduccin

En esta leccin el alumno tomar contacto con el sistema gestor Oracle


10g, puesto que expone sus principales fundamentos y caractersticas.
Asimismo, se introducen los principios de las bases de datos relacionales Oracle.

Para poder gestionar sus bases de datos el sistema Oracle necesita


tener informacin sobre los objetos que existen en ellas, como las tablas, los
usuarios los ndices que se van creando y borrando, etc. Por lo tanto, necesita un
lugar en el que ir almacenando toda esta informacin. A este lugar se le conoce
como diccionario de datos. La leccin finaliza con una somera descripcin del
catlogo o diccionario de datos de las bases de datos Oracle.

4
Objetivos

- Introducir las caractersticas principales del gestor de bases de datos


Oracle 10g y de sus bases de datos.

- Conocer qu es y qu contiene el diccionario de datos o catlogo de una


BD Oracle.

5
Leccin 1 Fundamentos de las Bases de Datos

ndice

1.1. Definicin de Base de Datos


1.2. Aplicacin
1.3. El Sistema Gestor de Base de Datos
1.4. De los Sistemas de Ficheros a las Bases de Datos
1.5. Actores de la Base de Datos y sus roles

Introduccin

Las bases de datos ofrecen un amplio abanico de soluciones al problema


del almacenamiento y tratamiento de datos.

En esta leccin se dota al alumno de una visin general sobre los


conceptos fundamentales de las bases de datos, como su definicin y evolucin
histrica. Tambin expone quines son los principales actores involucrados en
este campo, y los roles que desempean.

Objetivos

- Definir los conceptos generales y los fundamentos de las bases de


datos.

6
Apartado 1.1: Definicin de Base de Datos
Existen mltiples definiciones para el trmino Base de Datos (BD). A
continuacin se exponen dos de ellas:

Una base de datos es un conjunto de datos almacenados de forma integrada


y compartida:

Integrada porque la base de datos puede considerarse como un conjunto


de varios archivos independientes, donde se elimina o reduce cualquier
redundancia.

Compartida porque varios usuarios distintos pueden acceder a la misma


informacin de la base de datos.

Coleccin de datos relacionados, y una descripcin de estos datos, diseados


para cumplir con las necesidades de informacin de una organizacin.

7
Apartado 1.2: Aplicacin
Generalmente una base de datos forma parte de un sistema ms grande.
Es comn que puedan existir en un mismo sistema varias aplicaciones
accediendo a la informacin de la que disponen las bases de datos, que a su vez
guardan fsicamente en un conjunto de dispositivos de almacenamiento.

Figura 1. Las bases de datos como parte de un todo

Algunas de estas aplicaciones que tradicionalmente acceden a sistemas


de bases de datos son: aplicaciones de inventario, de gestin de reservas,
compras, seguimiento, logstica, transporte, educacin, estadsticas, banca,
gestin de clientes, de bibliotecas, etc.

8
Apartado 1.3: El Sistema Gestor de Bases de Datos
Los Sistemas Gestores de Bases de Datos (SGBD) son un tipo de
software muy especfico, dedicado a servir de interfaz entre las bases de datos y
las aplicaciones que la utilizan. Se compone de un lenguaje de definicin de
datos, de un lenguaje de manipulacin de datos y de un lenguaje de consulta. El
propsito general de los sistemas de gestin de base de datos es el de manejar
de manera clara, sencilla y ordenada un conjunto de datos. En concreto algunas
de sus funciones son:

Crear y organizar la base de datos.

Manejar los datos segn las necesidades.

Mantener la integridad y seguridad.

Llevar un control de los usuarios que acceden a la base de datos.

En resumen, el SGBD es un sistema software que permite a sus usuarios


crear, mantener y controlar el acceso a una base de datos.

9
Apartado 1.4: De los Sistemas de Ficheros a las Bases de Datos
1. Enfoque tradicional
Los sistemas informticos tradicionales han sido llamados por algunos
autores sistemas orientados hacia el proceso porque en ellos se pone el nfasis
en los tratamientos que reciben los datos, los cuales se almacenan en ficheros
diseados para una determinada aplicacin, lo que determina el modo de
almacenamiento. Adems, las aplicaciones se analizan e implantan con entera
independencia unas de otras, y los datos no se suelen compartir entre ellas, sino
que se duplican siempre que los diferentes procesos los necesitan.

Los datos se recogen varias veces y se encuentran repetidos en los


distintos archivos. Esta redundancia, adems de malgastar recursos, origina a
menudo divergencias en los resultados. Tambin produce aumento en los
tiempos de proceso, al repetirse los mismos controles y operaciones en los
distintos ficheros, e inconsistencias, debidas a que la actualizacin de los mismos
datos, cuando se encuentran en ms de un fichero, no se suele realizar de forma
simultnea en todos los ficheros.

Por otra parte, la dependencia de los datos respecto al soporte fsico y a


los programas da lugar a una falta de flexibilidad y de adaptabilidad frente a los
cambios, que repercute muy negativamente en el rendimiento de conjunto del
sistema informtico.

Figura 2. Enfoque tradicional de ficheros

10
Los problemas son an ms acusados cuando se presentan demandas
inesperadas de informacin.

Trabajando por tanto con el enfoque tradicional basado en ficheros, no se


puede:

Buscar rpido

Modificar fragmentos pequeos

Hacer consultas complejas

Modificar varios ficheros a la vez

No es eficiente consultar partes pequeas de los ficheros sin leerlos


completos en memoria. No hay restricciones de integridad y falta flexibilidad.

De este anlisis se deduce claramente la necesidad de una gestin ms


racional del conjunto de datos, surgiendo as un nuevo enfoque que se apoya
sobre una base de datos en la cual los datos son recogidos y almacenados una
sola vez, con independencia de los tratamientos: sistemas orientados hacia los
datos.

2. Enfoque de bases de datos


Las bases de datos, presentan una multitud de ventajas frente a los
sistemas clsicos de ficheros. No obstante, stas son un instrumento, y su xito o
su fracaso estar condicionado por el uso que de ellas hagan tanto usuarios y
tcnicos, como los responsables de los sistemas de bases de datos.

Las ventajas de los sistemas de bases de datos son, entre otras, las
siguientes:

Independencia de los datos respecto a los tratamientos y viceversa. La


mutua independencia de datos y tratamientos lleva a que un cambio de
estos ltimos no imponga un nuevo diseo lgico y/o fsico de las
bases de datos. Por otra parte, la inclusin de nuevas informaciones,
desaparicin de otras, cambios en la estructura fsica o en los caminos
de acceso, etc., no deben obligar a alterar los programas.

11
Coherencia de los datos. Debido a que la informacin de la base de
datos se recoge y almacena una sola vez, en todos los tratamientos se
utilizan los mismos datos, por lo que los resultados de todos ellos son
coherentes y perfectamente comparables.

Mejor disponibilidad de los datos para el conjunto de los usuarios.


Cuando se aplica la metodologa de bases de datos, cada
aplicacin/usuario ya no es propietario de los datos, puesto que stos
se comparten entre el conjunto de aplicaciones, existiendo una mejor
disponibilidad de los datos para todos los que tienen necesidad de
ellos, siempre que estn autorizados para su acceso.

Hay tambin una mayor transparencia respecto a la informacin


existente, ya que todos los datos que se encuentran en la base se
deben relacionar en un catlogo o diccionario, que puede ser
ampliamente difundido y accedido por medios informticos.

Mayor valor informativo. Puesto que la base de datos es un sistema


reflejo del mundo real, donde los distintos elementos estn
relacionados, el valor informativo de su conjunto es superior a la suma
del valor informativo de los elementos individuales que lo constituyen.

Mejor y ms normalizada documentacin de la informacin, la cual est


integrada con los datos. Este problema se atena en gran medida en
las bases de datos, ya que en la misma base se incluyen no slo los
datos, sino tambin la semntica de los mismos.

Mayor eficiencia en la recogida, validacin y entrada de los datos al


sistema. Al no existir apenas redundancias, los datos se recogen y
validan una sola vez, aumentando as el rendimiento de todo el proceso
previo al almacenamiento.

Reduccin del espacio de almacenamiento. La desaparicin (o


disminucin) de las redundancias, as como la aplicacin de tcnicas
de compactacin, lleva en los sistemas de bases de datos a una menor
ocupacin de almacenamiento secundario. Se ha de tener presente, sin
embargo, que los elementos del sistema (diccionarios, referencias,
punteros, ficheros invertidos, etc.) ocupan bastante espacio.

12
Figura 3. Enfoque de bases de datos

En un enfoque orientado a bases de datos, los datos son


autodescriptivos. Se guarda un catlogo (o diccionario) de metadatos del
sistema. Con todo lo expuesto en este punto se puede esperar que gracias al
empleo de las bases de datos se desarrollen programas en menos tiempo y que
funcionen mejor.

3. Cundo no usar bases de datos relacionales


A pesar de las ventajas que aporta la tecnologa de las bases de datos
hay ocasiones en que su uso est desaconsejado. Estas suceden, por ejemplo,
cuando:

Los problemas son muy simples

Las bases de datos agregan un costo

Es muy elevado el tamao y la complejidad del software

Es muy elevado el costo de la base de datos, del hardware y del


entrenamiento

La BD incluye un coste adicional en tiempo de ejecucin

Se trabaja con sistemas en tiempo real

13
Apartado 1.5: Actores de la Base de Datos y sus roles
1. Tipos de usuarios de las BBDD
Los usuarios de una base de datos pueden clasificarse en dos tipos: los
que tienen conocimientos informticos y de gestin de BBDD, y los que no,
tambin conocidos como usuarios finales o simplemente usuarios.

Dentro de cada uno de estos grupos se pueden realizar ms


especializaciones, en funcin del rol de sus componentes:

Usuarios informticos

Diseadores: lgicos y fsicos

Administradores

Analistas y programadores

Usuarios finales

Habituales

Espordicos

2. Roles de los usuarios


2.1. Administrador de la base de datos
El administrador de la base de datos (o DBA), se ocupa de la
administracin de los datos del sistema, y de la base de datos en s. Entre otras,
cuenta con las siguientes responsabilidades:

Planificacin de la base de datos

Desarrollo de estndares (ej.: nombres), polticas y procedimientos

Diseo lgico de la base de datos

Diseo e implementacin de la base de datos

Acceso y control (usuarios y contraseas)

Mantenimiento (ej.: para mejorar el rendimiento)

Respaldo

14
2.2. Diseador de la base de datos
Esta figura se encarga fundamentalmente de realizar el diseo de la base
de datos, estudiando las siguientes cuestiones:

Diseo lgico de la BD

Qu datos deben ser almacenados? (Definir las vistas parciales)

Cmo deben organizarse los datos?

Cules son los usos tpicos de los datos?

2.3. Programador de aplicaciones


Este usuario, informtico, es el encargado del desarrollo de programas
que usen las bases de datos, as como de interfaces a otros sistemas:

Aplicaciones Web

Programas de correo electrnico

Sistemas de ficheros

2.4. Usuarios finales


Los usuarios finales de una BD pueden diferenciarse por su grado de
experiencia. En funcin de esto, variarn las necesidades que requieran del
sistema.

Los usuarios simples son usuarios de las aplicaciones finales, que


emplearn mayoritariamente consultas prefijadas. Por otra parte, un perfil de
usuario experto ser mayor consumidor de informacin en forma de reporte
para su posterior anlisis.

15
Conclusin
Despus de esta leccin, el alumno ha de ser capaz de manejar la
definicin de base de datos y conocer cules son sus fundamentos. Adems
tendr la nocin de por qu surgen estos sistemas en la historia de la informtica,
pudiendo razonar sobre sus ventajas e inconvenientes.

Tambin a travs de estos apartados se ha podido conocer cules son


las figuras que actan en el ciclo de vida de las bases de datos, y con qu
responsabilidades.

Leccin 2 Introduccin A Oracle 10g

ndice

2.1. El SGBD Oracle 10g


2.2. Las Bases de Datos Oracle
2.3. El Diccionario de Datos

17
Introduccin

En esta leccin el alumno tomar contacto con el sistema gestor Oracle


10g, puesto que expone sus principales fundamentos y caractersticas.
Asimismo, se introducen los principios de las bases de datos relacionales Oracle.

Para poder gestionar sus bases de datos el sistema Oracle necesita


tener informacin sobre los objetos que existen en ellas, como las tablas, los
usuarios los ndices que se van creando y borrando, etc. Por lo tanto, necesita un
lugar en el que ir almacenando toda esta informacin. A este lugar se le conoce
como diccionario de datos. La leccin finaliza con una somera descripcin del
catlogo o diccionario de datos de las bases de datos Oracle.

Objetivos

- Introducir las caractersticas principales del gestor de bases de datos


Oracle 10g y de sus bases de datos.

- Conocer qu es y qu contiene el diccionario de datos o catlogo de una


BD Oracle.

18
Apartado 2.1: El SGBD Oracle 10g
Oracle es un Sistema Gestor de Bases de Datos Relacional (SGBDR) (o
Relational Data Base Management System, RDBMS), fabricado por Oracle
Corporation. Es un software de licencia propietaria.

Se considera a Oracle como uno de los sistemas de bases de datos ms


completos, destacando su:

1. Soporte de transacciones.

o Una transaccin consiste en una interaccin con una estructura de


datos que, an siendo compleja y estar compuesta por varios
procesos que se han de aplicar uno despus del otro, queremos que
sea equivalente a una interaccin atmica. Es decir, que se realice
de una sola vez y que la estructura a medio manipular no sea jams
alcanzable por el resto del sistema.

2. Estabilidad.

o Se dice que un sistema es estable cuando su nivel de fallos


disminuye por debajo de un determinado umbral, que vara
dependiendo de la estabilidad que se requiera.

3. Escalabilidad.

o Propiedad deseable de un sistema, una red o un proceso, que indica


su habilidad para, o bien manejar el crecimiento continuo de trabajo
de manera fluida, o bien para estar preparado para hacerse ms
grande sin perder calidad en los servicios ofrecidos.

4. Es multiplataforma.

o Multiplataforma es un trmino usado para referirse a los programas,


sistemas operativos, lenguajes de programacin, u otra clase de
software, que puedan funcionar en diversas plataformas.

La ltima versin del producto es la 10g Release 2, del ao 2005.

19
Caractersticas principales del SGBD Oracle 10g
Oracle 10g maneja datos tradicionales como integer, number, varchar,
etc., pero tambin contempla nuevos y complejos tipos de objetos, como
imgenes, mapas, video clips, y audio clips.

Este producto software cuenta con mecanismos de seguridad para


controlar el acceso a los datos segn los privilegios concedidos por el
administrador. Todos los usuarios estn autenticados por la base de datos y cada
usuario tiene sus privilegios que le permiten manejar los datos y las operaciones.

Tambin dispone de sofisticados procedimientos para hacer copia de


seguridad y recuperacin datos. Oracle proporciona diferentes modos de
recuperar un fallo (errores de usuario, fallos de sentencias, fallos de procesos,
fallos de la red, fallos de instancia, fallos del sistema).Es importante que el DBA
conozca como funciona cada uno de ellos para determinar cundo ha de ser
utilizado.

Oracle puede asignar espacio en disco para almacenar datos y controlar


ese espacio. Esta caracterstica se conoce como gestin del espacio.

Dispone de conectividad abierta, es decir, es posible acceder a datos de


Oracle usando software de otros fabricantes.

Es tambin una herramienta de desarrollo, ya que el motor de la base


de datos, Oracle Server, admite una amplia gama de herramientas de desarrollo
de aplicaciones: de consulta para el usuario y de gestin de la informacin.

Otra caracterstica del sistema gestor es que cuenta con herramientas


para el control de concurrencia: cuando varios usuarios actualicen los mismos
datos Oracle tiene que asegurar que lo hagan de manera controlada para obtener
resultados correctos.

El SGBD Oracle implementa una arquitectura cliente/servidor, al igual


que la mayora de los SGBD actualmente en el mercado, permitiendo un entorno
multiusuario.

20
Figura 4. Vista lgica del entorno multiusuario (cliente/servidor) en Oracle

Oracle facilita la replicacin de datos, ya que permite crear y gestionar


varias copias idnticas de los datos para ser almacenados en distintos servidores.
Esta caracterstica mejora el rendimiento del proceso de las consultas.

Asimismo, provee mecanismos para la distribucin de datos, es decir,


para que la base de datos se almacene en distintos servidores comunicados a
travs de una red.

Figura 5. Distribucin de datos con Oracle

21
Apartado 2.2: Las Bases de Datos Oracle
Se ha visto ya que una base de datos es un conjunto de datos. Oracle
ofrece la posibilidad de almacenarlos y acceder a ellos de una forma coherente
con un modelo definido y conocido como modelo relacional. Debido a esto,
Oracle se conoce como un sistema de gestin de bases de datos relacionales.
Cuando se habla de bases de datos no slo se hace referencia a los datos
fsicos, sino tambin a una combinacin de objetos fsicos, de memoria y de
proceso.

Los datos de una base de datos relacional se almacenan en tablas. Las


tablas relacionales estn definidas por sus columnas y poseen un nombre. Los
datos se almacenan como filas de la tabla. Las tablas pueden estar relacionadas
entre s, y la base de datos puede utilizarse para aplicar estas relaciones.

El objetivo de las bases de datos no es slo almacenar los datos, si no


tambin sus relaciones y evitar que estas se codifiquen en los programas.

Figura 6. Ejemplo de la estructura de una tabla

22
Una BD Oracle se compone de estructuras lgicas y fsicas. Estos
conceptos se desarrollarn en unidades posteriores, no obstante cabe introducir
qu son y de qu elementos de la BD se componen.

Estructuras lgicas: son una jerarqua formada por tablespaces,


segmentos, extensiones y bloques.

Estructuras fsicas: son archivos de datos (bloques) que forman los


tablespaces.

Un tablespace es una unidad lgica de almacenamiento de datos


representada fsicamente por uno o ms archivos de datos.

Tablespace Extensin
Archivo de datos3

Archivo de datos2

Archivo de datos1

Bloques
Segmento2 Segmento1 Cabecera
Directorio tabla
Directorio fila

Espacio Libre

Datos

Figura 7. Componentes de una BD Oracle

23
Apartado 2.3: El Diccionario de Datos
La principal funcin del catlogo o diccionario de datos de Oracle es
almacenar toda la informacin de la estructura lgica y fsica de la base de datos,
desde los objetos existentes, la situacin de los ficheros de datos, la
configuracin de los usuarios, etc. Contiene la siguiente informacin:

Definicin de todos los objetos de la BD (tablas, vistas, ndices,


procedimientos, funciones, disparadores, etc.)

Espacio asignado a cada objeto y el que actualmente est utilizando

Restricciones de integridad

Privilegios y roles de cada usuario

Auditoria e informacin operacional: quin accede o modifica los


objetos de la BD

1. Contenido del diccionario de datos


El diccionario de datos es una estructura de tablas y vistas, de slo
lectura (excepto para el usuario SYS, que es su propietario) almacenado en el
tablespace SYSTEM.

Las tablas base almacenan la descripcin de la BD

Las vistas del diccionario de datos son resmenes de la tabla base. Slo
se puede acceder a la informacin mediante consultas (SELECT).

Existen tambin tablas dinmicas, que son tablas virtuales existen en la


memoria, y que reflejen las condiciones en tiempo real del funcionamiento
de la base de datos. Se utilizan para controlar y ajustar la BD y su
propietario es el usuario SYS.

Los sinnimos comienzan con V$,

24
o Ejemplo:

V$DATAFILE contiene informacin sobre los archivos de


datos.

V$FIXED_TABLES contiene informaciones sobre las tablas


dinmicas de rendimiento

2. Vistas del diccionario de datos


El acceso al diccionario de datos se hace a travs de vistas que se
identifican con los prefijos:

USER_*: vistas que muestran informaciones acerca de los objetos (tablas,


disparadores, ...) que son propiedad de la cuenta que ejecuta la consulta

ALL_*: vistas que muestran informaciones acerca de objetos creados por


un usuario a los que el usuario tiene acceso.

DBA_*: muestran una vista global de todo la base de datos. Slo pueden
acceder los DBA.

3. Tipos de vistas
3.1. Vistas generales (DBMS y DB)
DICT (dictionary): vista con los nombres de todas las tablas del
diccionario de datos y sus descripciones.

GLOBAL_NAME : nombre global de la BD

PRODUCT_COMPONENT_VERSION: versin de los componentes


principales

DBA_CATALOG: todas las tablas, vistas, sinnimos y secuencias en


la BD

DBA_REGISTRY: componentes instalados de Oracle

NLS_DATABASE_PARAMETERS,
NLS_INSTANCE_PARAMETERS,
NLS_SESSION_PARAMETERS: parmetros de localizacin.

DBA_SOURCE: cdigo fuente de los objetos

DBA_JOBS: monitoriza la definicin de procesos en background


(jobs)

25
DBA_OBJECT: objetos de la BD como tablas, ndices, paquetes,
procedimientos, funciones, dimensiones, vistas materializadas, planes
de recursos, tipos, secuencias, sinnimos, disparadores, vistas y
particiones de tablas.

3.2. Vistas para almacenamiento


DBA_EXTENTS: informacin sobre las extensiones que utilizan los
objetos

DBA_FREE_SPACE: espacio libre en la BD

DBA_SEGMENTS: informacin detallada sobre los segmentos: tipo, n


bloques...

DBA_DATA_FILES: tablespace al que pertenece cada datafile o


fichero de datos, y cuanto espacio total tiene reservado.

DBA_TEMP_FILES: tablespaces temporales, tamao y bloques que


tienen.

DBA_TABLESPACES: tablespaces que existen en la BD y estado en


que se encuentran

3.3. Vistas sobre ndices y restricciones


DBA_CONSTRAINTS: restricciones de integridad y tablas sobre la
que se aplican.

DBA_CONS_COLUMNS: columnas afectadas por las restricciones

DBA_INDEXES: ndices y sus caractersticas

DBA_IND_COLUMNS: columnas que se han indexado

INDEX_STATS: resultados del comando analyze, analiza el


rendimiento y caractersticas de los ndices.

26
3.4. Vistas para monitorizacin de usuarios, auditoria, etc.
DBA_USERS: informacin sobre todos los usuarios de la BD.

DBA_AUDIT_OBJECT: contiene registros de auditoria sobre todos los


objetos del sistema.

3.5. Vistas dinmicas


Se actualizan con la informacin que la instancia genera durante su
ejecucin y su informacin no est disponible si la instancia no est
levantada. Slo tienen acceso de lectura. Comienzan con el prefijo V$.

Las vistas actuales contienen informacin actual sobre el estado del


sistema

Ejemplo: V$SESSION: sesiones abiertas en el sistema

Las vistas acumuladas cuentan el nmero de veces que un suceso ha


ocurrido desde el inicio de la sesin.

Ejemplo: V$FILESTAT: Operaciones de I/O

Las vistas de informacin contienen informacin actual pero no tan


dinmica, para estadsticas

Ejemplo: V$SQL_PLAN: Plan de ejecucin para cursores


ejecutados recientemente

27
Ejercicios resueltos
EJERCICIO 1.

a. Utilizar la vista USER_OBJECTS para obtener el nombre de los objetos


propiedad de la cuenta SYSTEM, y el tipo de dichos objetos.
SOLUCIN: suponiendo iniciada una sesin como usuario
SYSTEM:

SYSTEM> SELECT OBJECT_NAME, OBJECT_TYPE FROM


USER_OBJECTS;

b. Utilizar la vista ALL_OBJECTS para obtener el nombre de los objetos


creados en el sistema a los que el usuario MIGUEL tiene acceso. Obtener
tambin el tipo de dichos objetos y su propietario.
SOLUCIN: suponiendo iniciada una sesin como usuario
MIGUEL:

MIGUEL> SELECT OWNER, OBJECT_NAME, OBJECT_TYPE


FROM ALL_OBJECTS;

c. Utilizar la vista DBA_OBJECTS para obtener una vista global de la base


de datos.
SOLUCIN: Esta vista slo est disponible para los DBA.
Suponiendo por tanto iniciada una sesin como usuario SYSTEM:

SYSTEM> SELECT OWNER, OBJECT_NAME, OBJECT_TYPE


FROM DBA_OBJECTS;

d. Utilizar la vista DICT para obtener los nombres de las tablas del diccionario
de datos y sus descripciones cuyo nombre contenga la cadena DBA.

SOLUCIN : SELECT * FROM DICT WHERE TABLE_NAME


LIKE %DBA%

28
Conclusin
Al finalizar esta leccin el alumno ha de estar familiarizado con los
siguientes conceptos:

Sistema gestor de base de datos Oracle 10g

Base de datos Oracle 10g

Diccionario de datos o catlogo

Asimismo, conocer cules son las caractersticas principales del gestor


de bases de datos Oracle 10g y de sus bases de datos, y cules son los
fundamentos del diccionario de datos Oracle.

31
Introduccin a la administracin de Bases de Datos
Leccin 3
Oracle 10g

ndice

3.1. Herramientas de administracin de Oracle


3.2. El rol administrativo BDA en Oracle 10g
3.3. Privilegios especiales del sistema
3.4. Los usuarios administradores de Oracle

Introduccin

En esta leccin se pretende proporcionar al alumno una introduccin a


los conocimientos y habilidades necesarios sobre administracin de bases de
datos Oracle.

Asimismo, persigue mostrar cmo el administrador es capaz de gestionar


las bases de datos Oracle eficazmente y de solucionar los problemas que se
derivan de su uso.

Objetivos

- Introducir al alumno en la labor que debe realizar un administrador de


BD y en sus responsabilidades. Exponer los conceptos mnimos que
todo DBA debe manejar.

- Conocer cmo el gestor de bases de datos Oracle 10g proporciona


soporte a la labor del administrador de BD.

32
Apartado 3.1: El rol administrativo DBA en Oracle 10g
Un administrador de Bases de Datos o DBA es el responsable de la
operacin y mantenimiento de la base de datos. Su cometido es el de asegurar
que la informacin precisa y consistente est disponible para los diferentes
usuarios y para las aplicaciones cuando la necesiten y en la forma requerida. Es
decir, su labor es la de conseguir que

los mismos datos estn integrados en la BD,

para su uso por distintos usuarios,

y para diferentes usos

1. Funciones del DBA


Las funciones del DBA se pueden clasificar segn el tipo en las
siguientes:

Mantener la seguridad y confidencialidad en el acceso a los datos

Recuperacin de la BD en caso de fallo

Mantener la integridad y consistencia de los datos y permitir el acceso


concurrente a los datos.

Realizar el diseo fsico de la BD para optimizar recursos (tiempo de


acceso, espacio en memoria, etc.)

2. Tareas administrativas
Para conseguirlo, entre las tareas de administracin del DBA de un
sistema Oracle se encuentran:

Gestin del software (Instalacin, desinstalacin y migracin


(cliente/servidor), conocimiento de las aplicaciones, actualizaciones del
software).

Crear / suprimir BBDD

Configurar los parmetros. Optimizacin de la base de datos.

33
Gestin de usuarios (crear, eliminar, gestionar privilegios).

Gestin de recursos (asignacin de espacio, optimizacin y mejoras de


rendimiento).

Administracin de los esquemas de los objetos (tablas, ndices y vistas).

Gestionar la seguridad, backup y recuperacin.

Configuracin de la red.

Cargas de datos masivas (crear y ejecutar programas de carga).

Monitorizacin (usuarios, rendimiento, espacios, obtener estadsticas).

3. Personal con el que interacta el DBA


El administrador de una base de datos ha de interactuar en su labor diaria
con las siguientes figuras y con la finalidad expuesta:

con usuarios en general: para especificar los requisitos que debe cumplir
la BD, estudiar las necesidades y la mejor manera de satisfacerlas.

con directivos: que fijarn los objetivos de la BD para que sta responda a
los objetivos generales de la empresa.

con analistas y programadores, a los que el DBA deber proporcionar


informacin acerca de la estructura de los datos, especificaciones para las
aplicaciones que vayan a desarrollarse, etc.

con operadores, con ellos, el DBA deber analizar los procedimientos de


recuperacin a aplicar en la explotacin de la BD ante fallos del sistema,
normas para copias de seguridad, re-arranque, etc.

con suministradores, para corregir problemas que puedan producirse en


el sistema de base de datos, adems de estar al corriente de nuevas
herramientas, interfaces, programas, etc. que estn desarrollndose y que
sean de inters en el entorno de la BD.

con personal de formacin, a fin de preparar los planes adecuados de


formacin sobre bases de datos a todos los niveles de la empresa.

34
Apartado 3.2: Herramientas de administracin de Oracle
El SGBD Oracle cuenta con una serie de herramientas que facilitan al
DBA la administracin de las BBDD. Estas son:

Utilidades del SGBD para copias de seguridad, carga y descarga de datos


de la base a ficheros externos y viceversa, asignacin de usuarios, etc.

Simuladores y monitores, que permitirn estudiar distintas alternativas de


instrumentacin fsica con el fin de optimizar la BD (destacan las
estadsticas).

En este apartado se describirn cules son las principales herramientas


administrativas que provee el software de Oracle.

1. Oracle Universal Installer


El instalador universal de Oracle (Oracle Universal Installer - OUI) es una
aplicacin que permite, mediante una interfaz grfica, ver los productos de Oracle
que hay instalados en el servidor, instalar nuevos productos y desinstalar alguno
de los existentes. Durante todo el proceso de instalacin o desinstalacin ofrece
ayuda para mejorar la comprensin de los procesos que se van a llevar a cabo.

Figura 8. Herramienta Oracle Universal Installer (OUI)

35
2. Oracle Database Configuration Assistant
Oracle10g proporciona una herramienta que facilita la creacin y
administracin de sus BBDD: el asistente de configuracin de bases de datos o
Database Configuration Assistant (DBCA). Este asistente permite crear una base
de datos utilizando las plantillas predefinidas que mejor se adapten a la utilizacin
de la base de datos.

3. Oracle Database Upgrade Assistant


El asistente de actualizacin de la base de datos (Database Upgrade
Assistant - DBUA) permite migrar los datos de una base de datos Oracle a una
versin posterior de la misma.

4. Oracle Net Manager


El gestor de red de Oracle (Oracle Net Manager) permite configurar el
acceso al servidor de la base de datos.

Figura 9. Herramienta Oracle Net Manager

36
5. Oracle Enterprise Manager
Una vez instalado y configurado el software, el DBA utilizar
habitualmente la herramienta denominada Oracle Enterprise Manager (OEM), que
es fundamental para controlar el rendimiento de la base de datos y ofrece
consejos para optimizar su uso.

OEM es el gestor corporativo de Oracle, cuya consola permite la


administracin del servidor. Posee una interfaz de usuario sencilla de utilizar y
una serie de asistentes para la administracin del esquema, la seguridad, los
ejemplares, el almacenamiento y la planificacin de tareas. Proporciona
herramientas para supervisar el rendimiento y asistentes para ajustar la
aplicacin.

Figura 10. Herramienta Oracle Enterprise Manager (OEM)

37
Apartado 3.3: Privilegios especiales del sistema
Los administradores necesitan privilegios especiales para realizar algunas
tareas totalmente fuera de la base de datos. Estos privilegios son SYSDBA y
SYSOPER. Permiten el acceso a una base de datos incluso cuando no est
arrancada.

1. SYSDBA
Permite al usuario conectar como SYS. Cuenta con los privilegios:

STARTUP y SHUTDOWN

ALTER DATABASE OPEN/MOUNT/BACKUP

CREATE DATABASE

CREATE SPFILE

ARCHIVELOG y RECOVERY

2. SYSOPER
Permite realizar tareas bsicas sin ver los datos del usuario. Cuenta con
los siguientes privilegios:

STARTUP y SHUTDOWN

CREATE SPFILE

ALTER DATABASE OPEN/MOUNT/BACKUP

ARCHIVELOG y RECOVERY

RESTRICTED SESSION privilege

38
Apartado 3.4: Los usuarios administradores de Oracle
Un usuario es una entidad que tiene acceso a la BD bajo ciertos
privilegios o roles y para realizar determinadas tareas definidas segn estos
privilegios.

Los usuarios administradores son usuarios que tienen el privilegio DBA.


Existen dos usuarios (SYSTEM y SYS). Cuando se crea una base de datos, estos
usuarios tambin se crean y se conceden automticamente el rol DBA.

1. SYSTEM
SYSTEM se utiliza para realizar las tareas de administracin. Bajo la
identidad de este usuario se suelen crear las tablas utilizadas por las
herramientas Oracle, tales como Forms, Reports, etc.

No es conveniente crear tablas u objetos de otros usuarios en el esquema


SYSTEM.

2. SYS
Cuando se crea una base de datos, el usuario SYS tambin se crea y se
concede automticamente el rol DBA.

Este usuario es el propietario de la base de datos y diccionario de datos


(slo consulta el contenido del diccionario).

Es importante asegurarse de que los usuarios de la base de datos nunca


puedan conectar como SYS.

39
Ejercicios resueltos
1. EJERCICIO 1 Los privilegios de sistema son permisos para realizar ciertas
operaciones en la base de datos. A la vista de la sintaxis de la instruccin para
otorgar privilegios de sistema GRANT, y suponiendo iniciada una sesin como
usuario SYSTEM:

GRANT [privilegios_de_sistema | roles] TO [usuarios | roles |PUBLIC] {WITH


ADMIN OPTION};

a) Asignar permisos de administrador a un usuario ADMINISTRADOR

SOLUCIN: GRANT DBA TO ADMINISTRADOR;

b) Otorgar permisos de conexin a un usuario MIGUEL

SOLUCIN: GRANT CONNECT TO MIGUEL;

c) Otorgar permisos de conexin a un usuario MIGUEL quien a su vez podr


otorgar permisos de conexin a otros usuarios

SOLUCIN: GRANT CONNECT TO MIGUEL WITH ADMIN OPTION;

40
2. EJERCICIO 2 Los privilegios sobre objetos permiten que cierto objeto (creado
por un usuario) pueda ser accedido por otros usuarios. El nivel de acceso
depende del permiso que se le otorgue: SELECT, UPDATE, DELETE, INSERT
o todos ellos. La sintaxis bsica es:

GRANT [ALL {PRIVILEGES} | SELECT | INSERT | UPDATE | DELETE] ON objeto


TO [usuario | rol | PUBLIC] {WITH ADMIN OPTION};

Suponiendo iniciada una sesin como usuario SYSTEM:

a) Asignar todos los privilegios sobre la tabla FACTURA a un usuario


GESTOR

SOLUCIN: GRANT ALL ON FACTURA TO GESTOR;

b) Asignar privilegios de seleccin y actualizacin sobre la tabla FACTURA a


un usuario CONSULTOR

SOLUCIN: GRANT SELECT, UPDATE ON FACTURA TO CONSULTOR;

c) Asignar privilegios de seleccin y actualizacin sobre la tabla FACTURA a


un usuario CONSULTOR para que ste a su vez pueda asignar dichos
privilegios a otros usuarios

SOLUCIN: GRANT SELECT, UPDATE ON FACTURA TO CONSULTOR


WITH ADMIN OPTION;

41
Conclusin
En esta leccin se ha mostrado al alumno en qu consiste la
administracin de bases de datos Oracle, y cul es el papel y tareas que
desempea el administrador o DBA para conseguirlo.

Se han introducido tambin cules son las herramientas y mecanismos de


las que dispone Oracle para administrar sus bases de datos y facilitarle el trabajo
al DBA.

43
Conclusin General

En esta unidad, el alumno ha debido superar la compresin de los


conceptos y ejercicios relacionados con sus puntos bsicos:

Fundamentos generales de las bases de datos

Introduccin a Oracle 10g

Introduccin de las tareas de administracin aplicadas a Oracle 10g

El material propuesto ha servido como introduccin a los conceptos


bsicos necesarios a la hora de afrontar la administracin de bases de datos,
enfocndose a la plataforma comercial Oracle 10g.

44
Glosario de trminos

BD Base de Datos

BBDD Bases de Datos

DBA DataBase Administrator

DBCA DataBase Configuration Assistant

DBUA Database Upgrade Assistant

OEM Oracle Enterprise Manager

OUI Oracle Universal Installer

RDBMS Relational DataBase Management System

SGBD Sistema Gestor de Bases de Datos

SGBDR Sistema Gestor de Bases de Datos Relacional

45
Bibliografa

[Elmasri, 2002] Ramez Elmasri y Navathe. Fundamentos de sistemas de


bases de datos. 3 Edicin. Addison Wesley, 2002.
[Loney, 2004] Kevin Loney. Oracle database 10g: the complete reference.
McGraw-Hill/Osborne, 2004.
[Miguel, 1999] Adoracin de Miguel Castao y Miguel Piattini.
Fundamentos y modelos de Bases de Datos. Editorial RA-MA, 1999.
Oracle Technology Network (OTN), informacin y recursos de Oracle.
http://otn.oracle.com
Web de la iniciativa acadmica de Oracle.
http://oai.oracle.com/sp/index.html

46

Você também pode gostar