Unidad Didáctica 1 Fundamentos de Administración de Bases de Datos

March 25, 2022 | Author: Anonymous | Category: N/A
Share Embed Donate


Short Description

Download Unidad Didáctica 1 Fundamentos de Administración de Bases de Datos...

Description

Unidad Didáctica 1 Fundamentos de Administración de Bases de Datos

UNIDAD DIDÁCTICA 1

Fundamentos de Administración de Bases de Datos

Índice 1. Fundamentos de las Bases de Datos 1.1. Definición de Base de Datos 1.2. Aplicación 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. Introducción a Oracle 10g 2.1. El SGBD Oracle 10g 2.2. Las Bases de Datos Oracle 2.3. El Diccionario de Datos 3. Introducción a la administración de Bases de Datos Oracle 10g 3.1. El rol administrativo DBA en Oracle 10g 3.2. Herramientas de administración de Oracle 3.3. Privilegios especiales del sistema 3.4. Los usuarios administradores de Oracle

2

Esquema de contenidos:

3

Introducción En esta lección el alumno tomará contacto con el sistema gestor Oracle 10g, puesto que expone sus principales fundamentos y características. Asimismo, se introducen los principios de las bases de datos relacionales Oracle. Para poder gestionar sus bases de datos el sistema Oracle necesita tener información 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 información. A este lugar se le conoce como diccionario de datos. La lección finaliza con una somera descripción del catálogo o diccionario de datos de las bases de datos Oracle.

4

Objetivos -

Introducir las características 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 catálogo de una BD Oracle.

5

Lección 1

Fundamentos de las Bases de Datos

Índice 1.1. Definición de Base de Datos 1.2. Aplicación 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

Introducción Las bases de datos ofrecen un amplio abanico de soluciones al problema del almacenamiento y tratamiento de datos. En esta lección se dota al alumno de una visión general sobre los conceptos fundamentales de las bases de datos, como su definición y evolución histórica. También expone quiénes son los principales actores involucrados en este campo, y los roles que desempeñan.

Objetivos - Definir los conceptos generales y los fundamentos de las bases de datos.

6

Apartado 1.1: Definición de Base de Datos Existen múltiples definiciones para el término Base de Datos (BD). A continuación 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 información de la base de datos.



Colección de datos relacionados, y una descripción de estos datos, diseñados para cumplir con las necesidades de información de una organización.

7

Apartado 1.2: Aplicación Generalmente una base de datos forma parte de un sistema más grande. Es común que puedan existir en un mismo sistema varias aplicaciones accediendo a la información de la que disponen las bases de datos, que a su vez guardan físicamente 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 gestión de reservas, compras, seguimiento, logística, transporte, educación, estadísticas, banca, gestión 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 específico, dedicado a servir de interfaz entre las bases de datos y las aplicaciones que la utilizan. Se compone de un lenguaje de definición de datos, de un lenguaje de manipulación de datos y de un lenguaje de consulta. El propósito general de los sistemas de gestión 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 según 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 informáticos 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 diseñados para una determinada aplicación, lo que determina el modo de almacenamiento. Además, 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, además de malgastar recursos, origina a menudo divergencias en los resultados. También produce aumento en los tiempos de proceso, al repetirse los mismos controles y operaciones en los distintos ficheros, e inconsistencias, debidas a que la actualización de los mismos datos, cuando se encuentran en más de un fichero, no se suele realizar de forma simultánea en todos los ficheros. Por otra parte, la dependencia de los datos respecto al soporte físico 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 informático.

Figura 2. Enfoque tradicional de ficheros

10

Los problemas son aún más acusados cuando se presentan demandas inesperadas de información. Trabajando por tanto con el enfoque tradicional basado en ficheros, no se puede: Buscar rápido Modificar fragmentos pequeños Hacer consultas complejas Modificar varios ficheros a la vez No es eficiente consultar partes pequeñas de los ficheros sin leerlos completos en memoria. No hay restricciones de integridad y falta flexibilidad. De este análisis se deduce claramente la necesidad de una gestión más 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 clásicos 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 técnicos, 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 diseño lógico y/o físico de las bases de datos. Por otra parte, la inclusión de nuevas informaciones, desaparición de otras, cambios en la estructura física o en los caminos de acceso, etc., no deben obligar a alterar los programas.

11

Coherencia de los datos. Debido a que la información 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 metodología de bases de datos, cada aplicación/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 estén autorizados para su acceso. Hay también una mayor transparencia respecto a la información existente, ya que todos los datos que se encuentran en la base se deben relacionar en un catálogo o diccionario, que puede ser ampliamente difundido y accedido por medios informáticos. Mayor valor informativo. Puesto que la base de datos es un sistema reflejo

del mundo

real, donde

los

distintos elementos están

relacionados, el valor informativo de su conjunto es superior a la suma del valor informativo de los elementos individuales que lo constituyen. Mejor y más normalizada documentación de la información, la cual está integrada con los datos. Este problema se atenúa en gran medida en las bases de datos, ya que en la misma base se incluyen no sólo los datos, sino también la semántica de los mismos. Mayor eficiencia en la recogida, validación 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. Reducción del espacio de almacenamiento. La desaparición (o disminución) de las redundancias, así como la aplicación de técnicas de compactación, lleva en los sistemas de bases de datos a una menor ocupación 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 catálogo (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. Cuándo no usar bases de datos relacionales A pesar de las ventajas que aporta la tecnología 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 tamaño 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 ejecución 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 informáticos y de gestión de BBDD, y los que no, también conocidos como usuarios finales o simplemente usuarios. Dentro de cada uno de estos grupos se pueden realizar más especializaciones, en función del rol de sus componentes: 



Usuarios informáticos –

Diseñadores: lógicos y físicos



Administradores



Analistas y programadores

Usuarios finales –

Habituales



Esporádicos

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 administración de los datos del sistema, y de la base de datos en sí. Entre otras, cuenta con las siguientes responsabilidades: 

Planificación de la base de datos



Desarrollo de estándares (ej.: nombres), políticas y procedimientos



Diseño lógico de la base de datos



Diseño e implementación de la base de datos



Acceso y control (usuarios y contraseñas)



Mantenimiento (ej.: para mejorar el rendimiento)



Respaldo

14

2.2. Diseñador de la base de datos Esta figura se encarga fundamentalmente de realizar el diseño de la base de datos, estudiando las siguientes cuestiones: 

Diseño lógico de la BD



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



¿Cómo deben organizarse los datos?



¿Cuáles son los usos típicos de los datos?

2.3. Programador de aplicaciones Este usuario, informático, 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 electrónico



Sistemas de ficheros…

2.4. Usuarios finales Los usuarios finales de una BD pueden diferenciarse por su grado de experiencia. En función de esto, variarán las necesidades que requieran del sistema. Los usuarios simples son usuarios de las aplicaciones finales, que emplearán mayoritariamente consultas prefijadas. Por otra parte, un perfil de usuario experto será mayor consumidor de información en forma de reporte para su posterior análisis.

15

Conclusión Después de esta lección, el alumno ha de ser capaz de manejar la definición de base de datos y conocer cuáles son sus fundamentos. Además tendrá la noción de por qué surgen estos sistemas en la historia de la informática, pudiendo razonar sobre sus ventajas e inconvenientes. También a través de estos apartados se ha podido conocer cuáles son las figuras que actúan en el ciclo de vida de las bases de datos, y con qué responsabilidades.

Lección 2

Introducción A Oracle 10g

Índice 2.1. El SGBD Oracle 10g 2.2. Las Bases de Datos Oracle 2.3. El Diccionario de Datos

17

Introducción En esta lección el alumno tomará contacto con el sistema gestor Oracle 10g, puesto que expone sus principales fundamentos y características. Asimismo, se introducen los principios de las bases de datos relacionales Oracle. Para poder gestionar sus bases de datos el sistema Oracle necesita tener información 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 información. A este lugar se le conoce como diccionario de datos. La lección finaliza con una somera descripción del catálogo o diccionario de datos de las bases de datos Oracle.

Objetivos -

Introducir las características 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 catálogo 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 más completos, destacando su: 1. Soporte de transacciones. o Una transacción consiste en una interacción con una estructura de datos que, aún siendo compleja y estar compuesta por varios procesos que se han de aplicar uno después del otro, queremos que sea equivalente a una interacción atómica. Es decir, que se realice de una sola vez y que la estructura a medio manipular no sea jamás 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 varía 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 más grande sin perder calidad en los servicios ofrecidos. 4. Es multiplataforma. o Multiplataforma es un término usado para referirse a los programas, sistemas operativos, lenguajes de programación, u otra clase de software, que puedan funcionar en diversas plataformas. La última versión del producto es la 10g Release 2, del año 2005.

19

Características principales del SGBD Oracle 10g Oracle 10g maneja datos tradicionales como integer, number, varchar, etc., pero también contempla nuevos y complejos tipos de objetos, como imágenes, mapas, video clips, y audio clips. Este producto software cuenta con mecanismos de seguridad para controlar el acceso a los datos según los privilegios concedidos por el administrador. Todos los usuarios están autenticados por la base de datos y cada usuario tiene sus privilegios que le permiten manejar los datos y las operaciones. También dispone de sofisticados procedimientos para hacer copia de seguridad y recuperación 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 cuándo ha de ser utilizado. Oracle puede asignar espacio en disco para almacenar datos y controlar ese espacio. Esta característica se conoce como gestión del espacio. Dispone de conectividad abierta, es decir, es posible acceder a datos de Oracle usando software de otros fabricantes. Es también 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 gestión de la información. Otra característica 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 mayoría de los SGBD actualmente en el mercado, permitiendo un entorno multiusuario.

20

Figura 4. Vista lógica del entorno multiusuario (cliente/servidor) en Oracle Oracle facilita la replicación de datos, ya que permite crear y gestionar varias copias idénticas de los datos para ser almacenados en distintos servidores. Esta característica mejora el rendimiento del proceso de las consultas. Asimismo, provee mecanismos para la distribución de datos, es decir, para que la base de datos se almacene en distintos servidores comunicados a través de una red.

Figura 5. Distribución 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 gestión de bases de datos relacionales. Cuando se habla de bases de datos no sólo se hace referencia a los datos físicos, sino también a una combinación de objetos físicos, de memoria y de proceso. Los datos de una base de datos relacional se almacenan en tablas. Las tablas relacionales están 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 sólo almacenar los datos, si no también 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 lógicas y físicas. Estos conceptos se desarrollarán en unidades posteriores, no obstante cabe introducir qué son y de qué elementos de la BD se componen. 

Estructuras lógicas: son una jerarquía formada por tablespaces, segmentos, extensiones y bloques.



Estructuras físicas: son archivos de datos (bloques) que forman los tablespaces. Un tablespace es una unidad lógica de almacenamiento de datos

representada físicamente por uno o más archivos de datos. Archivo de datos3

Tablespace

Extensión

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 función del catálogo o diccionario de datos de Oracle es almacenar toda la información de la estructura lógica y física de la base de datos, desde los objetos existentes, la situación de los ficheros de datos, la configuración de los usuarios, etc. Contiene la siguiente información: 

Definición 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 información operacional: quién 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 sólo lectura (excepto para el usuario SYS, que es su propietario) almacenado en el tablespace SYSTEM. 

Las tablas base almacenan la descripción de la BD



Las vistas del diccionario de datos son resúmenes de la tabla base. Sólo se puede acceder a la información mediante consultas (SELECT).



Existen también tablas dinámicas, 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 sinónimos comienzan con V$,

24

o Ejemplo: 

V$DATAFILE contiene información sobre los archivos de datos.



V$FIXED_TABLES contiene informaciones sobre las tablas dinámicas de rendimiento

2. Vistas del diccionario de datos El acceso al diccionario de datos se hace a través 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. Sólo 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: versión de los componentes principales



DBA_CATALOG: todas las tablas, vistas, sinónimos y secuencias en la BD



DBA_REGISTRY: componentes instalados de Oracle



NLS_DATABASE_PARAMETERS, NLS_INSTANCE_PARAMETERS, NLS_SESSION_PARAMETERS: parámetros de localización.



DBA_SOURCE: código fuente de los objetos



DBA_JOBS: monitoriza la definición 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, sinónimos, disparadores, vistas y particiones de tablas.

3.2.

Vistas para almacenamiento  DBA_EXTENTS: información sobre las extensiones que utilizan los objetos 

DBA_FREE_SPACE: espacio libre en la BD



DBA_SEGMENTS: información 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, tamaño 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 características



DBA_IND_COLUMNS: columnas que se han indexado



INDEX_STATS:

resultados

del

comando

analyze,

analiza

el

rendimiento y características de los índices.

26

3.4.

Vistas para monitorización de usuarios, auditoria, etc.  DBA_USERS: información sobre todos los usuarios de la BD. 

DBA_AUDIT_OBJECT: contiene registros de auditoria sobre todos los objetos del sistema.

3.5. Vistas dinámicas Se actualizan con la información que la instancia genera durante su ejecución y su información no está disponible si la instancia no está levantada. Sólo tienen acceso de lectura. Comienzan con el prefijo V$. Las vistas actuales contienen información actual sobre el estado del sistema 

Ejemplo: V$SESSION: sesiones abiertas en el sistema

Las vistas acumuladas cuentan el número de veces que un suceso ha ocurrido desde el inicio de la sesión. 

Ejemplo: V$FILESTAT: Operaciones de I/O

Las vistas de información contienen información actual pero no tan dinámica, para estadísticas 

Ejemplo:

V$SQL_PLAN:

Plan

de

ejecución

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.  SOLUCIÓN: suponiendo iniciada una sesión 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 también el tipo de dichos objetos y su propietario.  SOLUCIÓN: suponiendo iniciada una sesión 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.  SOLUCIÓN: Esta vista sólo está disponible para los DBA. Suponiendo por tanto iniciada una sesión 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”. 

SOLUCIÓN : SELECT * FROM DICT WHERE TABLE_NAME LIKE „%DBA%‟

28

Conclusión Al finalizar esta lección 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 catálogo

Asimismo, conocerá cuáles son las características principales del gestor de bases de datos Oracle 10g y de sus bases de datos, y cuáles son los fundamentos del diccionario de datos Oracle.

31

Lección 3

Introducción a la administración de Bases de Datos Oracle 10g

Índice 3.1. Herramientas de administración de Oracle 3.2. El rol administrativo BDA en Oracle 10g 3.3. Privilegios especiales del sistema 3.4. Los usuarios administradores de Oracle

Introducción En esta lección se pretende proporcionar al alumno una introducción a los conocimientos y habilidades necesarios sobre administración de bases de datos Oracle. Asimismo, persigue mostrar cómo 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 mínimos que todo DBA debe manejar. - Conocer cómo 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 operación y mantenimiento de la base de datos. Su cometido es el de asegurar que la información 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 estén 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 según el tipo en las siguientes: 

Mantener la seguridad y confidencialidad en el acceso a los datos



Recuperación 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 diseño físico de la BD para optimizar recursos (tiempo de

acceso, espacio en memoria, etc.) 2. Tareas administrativas Para conseguirlo, entre las tareas de administración del DBA de un sistema Oracle se encuentran: 

Gestión

del

software

(Instalación,

desinstalación

y

migración

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

Crear / suprimir BBDD



Configurar los parámetros. Optimización de la base de datos.

33



Gestión de usuarios (crear, eliminar, gestionar privilegios).



Gestión de recursos (asignación de espacio, optimización y mejoras de

rendimiento). 

Administración de los esquemas de los objetos (tablas, índices y vistas).



Gestionar la seguridad, backup y recuperación.



Configuración de la red.



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



Monitorización (usuarios, rendimiento, espacios, obtener estadísticas).

3. Personal con el que interactúa 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 fijarán 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 información 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 recuperación a aplicar en la explotación 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, además de estar al corriente de nuevas herramientas, interfaces, programas, etc. que estén desarrollándose y que sean de interés en el entorno de la BD.



con personal de formación, a fin de preparar los planes adecuados de formación sobre bases de datos a todos los niveles de la empresa.

34

Apartado 3.2: Herramientas de administración de Oracle El SGBD Oracle cuenta con una serie de herramientas que facilitan al DBA la administración 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, asignación de usuarios, etc.



Simuladores y monitores, que permitirán estudiar distintas alternativas de instrumentación física con el fin de optimizar la BD (destacan las estadísticas). En este apartado se describirán cuáles 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 aplicación que permite, mediante una interfaz gráfica, 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 instalación o desinstalación ofrece ayuda para mejorar la comprensión 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 creación y administración de sus BBDD: el asistente de configuración 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 utilización de la base de datos. 3. Oracle Database Upgrade Assistant El asistente de actualización de la base de datos (Database Upgrade Assistant - DBUA) permite migrar los datos de una base de datos Oracle a una versión 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 administración del servidor. Posee una interfaz de usuario sencilla de utilizar y una serie de asistentes para la administración del esquema, la seguridad, los ejemplares, el almacenamiento y la planificación de tareas. Proporciona herramientas para supervisar el rendimiento y asistentes para ajustar la aplicación.

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 básicas 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 según 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 también se crean y se conceden automáticamente el rol DBA. 1. SYSTEM SYSTEM se utiliza para realizar las tareas de administración. 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 también se crea y se concede automáticamente el rol DBA. Este usuario es el propietario de la base de datos y diccionario de datos (sólo 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 instrucción para otorgar privilegios de sistema GRANT, y suponiendo iniciada una sesión como usuario SYSTEM: GRANT [privilegios_de_sistema | roles] TO [usuarios | roles |PUBLIC] {WITH ADMIN OPTION}; a) Asignar permisos de administrador a un usuario “ADMINISTRADOR” SOLUCIÓN: GRANT DBA TO ADMINISTRADOR; b) Otorgar permisos de conexión a un usuario “MIGUEL” SOLUCIÓN: GRANT CONNECT TO MIGUEL; c) Otorgar permisos de conexión a un usuario “MIGUEL” quien a su vez podrá otorgar permisos de conexión a otros usuarios SOLUCIÓN: 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 básica es: GRANT [ALL {PRIVILEGES} | SELECT | INSERT | UPDATE | DELETE] ON objeto TO [usuario | rol | PUBLIC] {WITH ADMIN OPTION}; Suponiendo iniciada una sesión como usuario SYSTEM: a) Asignar todos los privilegios sobre la tabla FACTURA a un usuario “GESTOR” SOLUCIÓN: GRANT ALL ON FACTURA TO GESTOR; b) Asignar privilegios de selección y actualización sobre la tabla FACTURA a un usuario “CONSULTOR” SOLUCIÓN: GRANT SELECT, UPDATE ON FACTURA TO CONSULTOR; c) Asignar privilegios de selección y actualización sobre la tabla FACTURA a un usuario “CONSULTOR” para que éste a su vez pueda asignar dichos privilegios a otros usuarios SOLUCIÓN: GRANT SELECT, UPDATE ON FACTURA TO CONSULTOR WITH ADMIN OPTION;

41

Conclusión En esta lección se ha mostrado al alumno en qué consiste la administración de bases de datos Oracle, y cuál es el papel y tareas que desempeña el administrador o DBA para conseguirlo. Se han introducido también cuáles son las herramientas y mecanismos de las que dispone Oracle para administrar sus bases de datos y facilitarle el trabajo al DBA.

43

Conclusión General En esta unidad, el alumno ha debido superar la compresión de los conceptos y ejercicios relacionados con sus puntos básicos: 

Fundamentos generales de las bases de datos



Introducción a Oracle 10g



Introducción de las tareas de administración aplicadas a Oracle 10g El material propuesto ha servido como introducción a los conceptos

básicos necesarios a la hora de afrontar la administración de bases de datos, enfocándose a la plataforma comercial Oracle 10g.

44

Glosario de términos 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

Bibliografía [Elmasri, 2002] Ramez Elmasri y Navathe. Fundamentos de sistemas de bases de datos. 3ª Edición. Addison Wesley, 2002. [Loney, 2004] Kevin Loney. Oracle database 10g: the complete reference. McGraw-Hill/Osborne, 2004. [Miguel,

1999]

Adoración

de

Miguel

Castaño

y

Miguel

Piattini.

Fundamentos y modelos de Bases de Datos. Editorial RA-MA, 1999. Oracle Technology Network (OTN), información y recursos de Oracle. http://otn.oracle.com Web

de

la

iniciativa

académica

de

Oracle.

http://oai.oracle.com/sp/index.html

46

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF