UNIVERSIDAD VERACRUZANA Facultad de Contaduría y Administración Funciones del DBA (Administrador de la base de datos) Bajo la plataforma Oracle MONOGRAFÍA Para obtener el Título de: Licenciado en Sistemas Computacionales Administrativos Presenta: Jorge Gómez Sánchez Asesor: M.C.A. Luis Alejandro Gazca Herrera Xalapa-Enríquez, Veracruz MARZO 2010 AGRADECIMIENTOS A Dios, por haberme permitido concluir esta etapa tan importante de mi vida. A mis padres, gracias por el apoyo y el amor incondicional que toda la vida me han dado. A mis hermanos, que han sido un ejemplo a seguir para lograr las metas que me he propuesto. A Sonia, gracias por estar siempre conmigo y brindarme tu amor y tu comprensión. A Tita, gracias por tu cariño y por haberme enseñado el valor de la vida. A mis amigos, por haber formado parte de esta experiencia tan maravillosa en mi vida. ÍNDICE RESUMEN…………………………………………………………………………………1 INTRODUCCIÓN………………………………………………………………………….3 CAPÍTULO I: FUNDAMENTOS DE BASES DE DATOS 1.1. Introducción a las bases de datos………………………………………………….7 1.2. Sistema de gestión de bases de datos SGBD……………………………………7 1.2.1. Ambiente del sistema de bases de datos……………….……………….9 1.2.2. Ventajas y desventajas de utilizar un SGBD……………….………….10 1.3. Modelos de bases de datos……………………………………………………….11 1.3.1. Modelo Jerárquico (Bases de datos Jerárquicas)…………………….11 1.3.2. Modelo de red (Bases de datos de Red)……………………………....12 1.3.3. Modelo relacional (Bases de datos Relacionales)…………………....12 1.3.4. Modelo Entidad – Relación……………………………………………...13 1.3.5. Modelo Orientado a Objetos (Bases de datos O.O.)………………….14 1.4. Personas que interactúan con un SGBD………………………………………...14 1.4.1. Administradores de base de datos (DBA)……………………………..14 1.4.2. Diseñadores de bases de datos………………………………………...15 1.4.3. Usuarios finales……………………………………..……………………15 1.4.4. Analistas de sistemas y programadores de aplicaciones……………16 1.4.5. Otros usuarios…………………………………………………………….16 CAPÍTULO II: EL SISTEMA GESTOR DE BASES DE DATOS (SGBD) ORACLE 2.1. Introducción a Oracle………………………………………………………………18 2.1.1. ¿Porque utilizar un SGBD Oracle?....................................................18 2.1.2. Desafíos de negocio…………………………………………………….20 2.2. Generalidades del sistema Oracle………………………………………………..22 2.3. Requerimientos de un SGBD Oracle…………………………………….23 2.4. Arquitectura del SGBD Oracle……………………………………………24 2.4.1. Instancia…………………………………………………………………..24 II 2.4.2. Base de datos……………………………………………………………..25 2.4.3. Entorno cliente/servidor………………………………………………….27 2.5. Arranque y parada del SGBD Oracle…………………………………………….27 2.5.1. Arranque…………………………………………………………………..27 2.5.2. Parada……………………………………………………………………..28 CAPÍTULO III: DBA (Administrador de la Base de Datos) 3.1. Los datos como activos corporativos…………………………………………….31 3.2. Evolución de la administración de bases de datos……………………………..31 3.3. El componente humano del ambiente de bases de datos……………………..35 3.4. El rol administrativo del DBA……………………………………………………...39 3.4.1. Soporte al usuario……………………………………………………......40 3.4.2. Políticas, procedimientos y estándares………………………………...41 3.4.3. Seguridad, privacidad e integridad de los datos………………………41 3.4.4. Respaldo y recuperación de los datos…………………………………43 3.4.5. Distribución y uso de los datos………………………………………….44 3.5. Rol técnico del DBA………………………………………………………………...44 3.5.1. Evaluación, selección e instalación del SGBD y utilerías……………45 3.5.2. Diseño y ejecución de bases de datos y aplicaciones………………..47 3.5.3. Pruebas y evaluaciones de bases de datos y aplicaciones………….48 3.5.4. Operación del SGBD, utilerías y aplicaciones…………...…………....49 3.5.5. Entrenamiento y soporte de los usuarios………………………………50 3.5.6. Mantenimiento del SGBD, utilerías y aplicaciones……………………51 CAPÍTULO IV: USO DE ORACLE PARA LA ADMINISTRACIÓN DE BASES DE DATOS 4.1. Introducción……………………………………………………...………………….54 4.2. Herramientas Oracle de administración de bases de datos...…………………54 4.3. Inicio de sesión predeterminado………………………………………………….56 4.4. Aseguramiento de inicio de SGBD automático…………………………………56 4.5. Utilización del directorio de almacenamiento…………………………………...57 III 4.6. Administración de los objetos de la base de datos: tablas, vistas, activadores y procedimientos…………………………………………………………………………...59 4.7. Manejo de los usuarios y establecimiento de la seguridad…………………….60 4.8. Personalización de los parámetros de inicialización de la base de datos……61 CAPÍTULO V: INTERFAZ DE ORACLE ENTERPRISE MANAGER 10g PARA LA ADMINISTRACIÓN DE BASES DE DATOS 5.1. Introducción………………………...……………………….……………………...64 5.2. Características de Oracle 10g…………………………………………………….64 5.3. Ventajas de utilizar Oracle 10g…...…….......……………………………….…...65 5.4. Creación de la base de datos Oracle…………………………………………….67 5.5. Administración de la instancia de Oracle…...…………………………………...70 5.6. Estructuras de almacenamiento…………….…………………………………….76 5.7. Administración de seguridad del usuario….……………………………………..82 5.8. Administración del esquema de objetos………………………………………....87 5.9. Gestión de datos y de concurrencia…….……………………....………………..94 5.10. Auditoría de la base de datos………………………………...………………....95 5.11. Configuración del entorno de red de Oracle…………………………………...97 5.12. Mantenimiento de prevención…………….…………………………………....102 5.13. Gestión del rendimiento…………………….…………………………………..106 5.14. Copia de seguridad………………………….…………………………………..111 5.15. Recuperación de base de datos……………………………………………….115 5.16. Realización de Flashback………………….…………………………………...116 5.17. Movimiento de datos……………………….……………………………………118 CONCLUSIONES……………………………………………………………………...123 FUENTES DE INFORMACIÓN………………………………………………………125 GLOSARIO……………………………………………………………………………..128 ÍNDICE DE FIGURAS…………………………………………………………………139 ÍNDICE DE TABLAS…………………………………………………………………..141 IV RESUMEN Este trabajo se enfoca en definir las funciones que realiza un DBA (Administrador de la base de datos) Utilizando el SGBD (sistema gestor de bases de datos) Oracle. Así como la importancia de dichas funciones para así lograr el buen control de un SGBD. El capítulo I esta integrado por los fundamentos de bases de datos, la terminología referente a las bases de datos y descripción general de un SGBD (Sistema gestor de bases de datos). También describe las diferentes personas que interactúan con dicho sistema. En el capítulo II se describe el SGBD (sistema gestor de bases de datos) Oracle, su estructura y los conceptos fundamentales de dicho sistema. En el capítulo III se analiza en términos generales cada una de las actividades que realiza el DBA (administrador de la base de datos), tanto técnicas como administrativas. En el capítulo IV se da una explicación a detalle de las tareas realizadas en la administración de bases de datos bajo un SGBD Oracle. El capítulo V muestra las características de la tecnología Grid, las ventajas de utilizar dicha tecnología y además muestra la interfaz del Oracle Enterprise Manager como herramienta de apoyo para la administración de bases de datos. 1 INTRODUCCIÓN En la actualidad las computadoras se han convertido en una herramienta indispensable para la vida cotidiana, es común ver que la mayoría de las organizaciones utilizan esta herramienta para poder facilitar el trabajo y mejorar el manejo de la información. En la mayoría de las empresas el manejo de la información es tan grande que solo con la ayuda de las computadoras es posible controlar volúmenes muy grandes de datos. Es por eso que surge la necesidad de gente que tenga los conocimientos necesarios para explotar a fondo dicha herramienta, y así permita a las organizaciones un óptimo manejo de las mismas. A medida que el uso de las computadoras en las organizaciones ha ido en aumento, se han creado un sin fin de programas que apoyan todas y cada una las actividades que las empresas requieren, al mismo tiempo, surgió la necesidad de herramientas que permitan controlar grandes volúmenes de datos, debido a que cada vez se requiere un mayor manejo de información en las organizaciones. Estas han optado por integrar sistemas automatizados que permitan el manejo de toda esta información y que a su vez faciliten el manejo de la misma de una manera rápida, eficaz, oportuna y sobre todo segura, ya que la información se ha convertido en uno de los activos más importantes de la empresa. Por tal motivo es imprescindible hablar de las bases de datos como medio de resguardo de dicha información, en la actualidad existen diferentes plataformas que gestionan bases de datos. Este trabajo se enfoca en la utilización de Oracle como medio de gestión de bases de datos, ya que después de 30 años, Oracle sigue siendo el estándar de oro para las aplicaciones y la tecnología de base de datos de empresas de todo el mundo, esta compañía es líder mundial proveedora de software para la administración de la información, y la segunda empresa de software independiente más grande del mundo. La tecnología de Oracle puede encontrarse en casi todos los sectores. Oracle es la primera empresa de software en desarrollar e implementar software empresarial 100 por ciento activado por Internet en toda su línea de productos: 3 base de datos, aplicaciones comerciales y herramientas para el soporte de decisiones y el desarrollo de aplicaciones. Además de estar concebido para la utilización de grandes cantidades de información, y de admitir conexiones concurrentes de multiusuario hacia los mismos datos. Esto permite que muchas organizaciones que manejan grandes volúmenes de información opten por utilizar un sistema gestor de base de datos (SGBD) Oracle. Actualmente las empresas, están empezando a percibir la necesidad de utilizar la computación Grid (malla). Con la utilización masiva de Internet, e-business y outsoursing, las posibilidades de la computación Grid son enormes. La compañía Oracle ha integrado en Oracle 10g la tecnología Grid (malla), lo que permite que cada vez más organizaciones utilicen dicha herramienta. Es muy importante que exista personal capacitado que pueda manejar a la perfección un SGBD, ya que dichas personas son los responsables del buen funcionamiento de toda la estructura de los datos así como de su entorno de trabajo. La persona que se encarga de realizar estas tareas es el DBA (administrador de la base de datos) su labor es primordial en las organizaciones, y sobre él recae una gran responsabilidad, debido a las repercusiones que puede traer una mala gestión de la información. El DBA es el elemento principal en el manejo de un SGBD, este se encarga de coordinar cada una de las actividades en cuanto al SGBD se refiere, además de tener a su cargo todo el personal que se ocupa de mantener el sistema en optimas condiciones de uso, es por eso la importancia de hablar del DBA y de las responsabilidades que tiene dentro de una organización. No existe un estándar para definir las funciones que un DBA realiza, ya que cada organización trata de adecuar dichas funciones según las necesidades requeridas por la empresa. Por tal motivo este trabajo pretende definir todas las funciones que realiza el DBA utilizando el SGBD Oracle. Para lograr este objetivo general se 4 analizara el ambiente de trabajo y las responsabilidades del DBA en términos generales, dando una visión de la amplia variedad de actividades tanto técnicas como administrativas que el DBA realiza. Después se examinará con más detalle, las funciones que realiza el DBA en un SGBD específico, en este caso, la versión 10g de Oracle para la administración de bases de datos. Por último se muestran las funciones del DBA de una manera visual, utilizando la interfaz de Oracle 10g donde se incluye el Oracle Enterprise Manager como herramienta de apoyo para la administración de bases de datos, el cual permite conocer detalladamente cada una de las tareas que realiza el DBA en un SGBD Oracle. Todo esto para obtener un documento que contenga información bien estructurada que sirva como herramienta de consulta para personas interesadas en el tema. 5 CAPÍTULO I: FUNDAMENTOS DE BASES DE DATOS 1.1. Introducción a las bases de datos. Las bases de datos y su tecnología están teniendo un mayor impacto con el creciente uso de las computadoras. En realidad las bases de datos desempeñan un papel fundamental en casi todas las áreas donde se utilizan las computadoras, incluyendo negocios, ingeniería, leyes y educación, por nombrar algunas. La palabra base de datos tiene un uso tan habitual que se podría empezar definiéndola como: “Una colección de datos relacionados” (Elmasri, 2002, p.4). Por datos se refiere a hechos conocidos que pueden registrarse y que tienen un significado implícito. Tiene las siguientes propiedades: • Una base de datos representa algunos aspectos del mundo real, en ocasiones denominado minimundo. Los cambios en el minimundo se reflejan en la base de datos. • Una base de datos es una colección coherente de datos con significados inherentes. Un conjunto aleatorio de datos no puede considerarse como una base de datos. • Una base datos se diseña, construye y se llena con datos para un propósito específico. Esta destinada a un grupo de usuarios concreto. En otras palabras, una base de datos tiene alguna fuente de la cual provienen los datos, algún grado de interacción con los sucesos del mundo real, y una audiencia que esta activamente interesada en el contenido de la base de datos. Una base de datos puede tener cualquier complejidad y tamaño (Elmasri, 2002). 1.2. Sistema de gestión de bases de datos (SGBD). Un SGBD consiste en una colección de datos interrelacionados y un conjunto de programas para acceder a dichos datos. La colección de datos, normalmente denominada base de datos, contiene información relevante para la empresa. 7 El objetivo principal de un SGBD es proporcionar una forma de almacenar y recuperar la información de una base de datos de manera que sea tanto práctica como eficiente. Los sistemas de bases de datos se diseñan para gestionar grandes cantidades de información. La gestión de los datos implica tanto la definición de las estructuras para almacenar la información como la provisión de mecanismos para la manipulación de la información. Además, los sistemas de bases de datos deben garantizar la fiabilidad de la información almacenada, a pesar de las caídas del sistema o de los intentos de acceso no autorizados. El SGBD es por tanto un sistema de software de propósito general que facilita los procesos de definición, construcción y manipulación de bases de datos para distintas aplicaciones. La construcción de la base de datos es el proceso de almacenar los datos concretos sobre algún medio de almacenamiento controlado por el SGBD. La manipulación de la base de datos incluye funciones tales como consultar la base de datos para recuperar unos datos específicos, actualizar la base de datos para reflejar los cambios ocurridos en el minimundo y generar informes a partir de los datos (Silbertschatz, Korth, Sudarshan, 2006). En la figura 1.1 se muestra el entorno de bases de datos simplificado. Usuarios/ programadores Programas de aplicaciones/ consultas Software de SGBD Software para procesar consultas/programas Software para acceder a datos almacenados Definición de base de datos almacenada Base de datos almacenada Figura 1.1 Un entorno de sistema de base de datos simplificado. Fuente: Elmasri. 2002. 8 1.2.1. Ambiente del sistema de base de datos. Desde el punto de vista de administración general, el sistema de base de datos se compone de cinco partes principales: el hardware, el software, las personas, los procedimientos y los datos. Estas partes se detallan a continuación: (Rob & Coronel, 2004). • Hardware. Se refiere a todos los dispositivos físicos del sistema. • Software. Se refiere al conjunto de programas utilizados por las computadoras dentro de los sistemas de bases de datos. Aunque el software más fácil de identificar es el SGBD, se requiere de tres tipos de software para hacer que la base datos funcione en plenitud: software del sistema operativo, software del SGBD, programas de aplicación y utilerías. • Personas. Este componente incluye a todos los usuarios del sistema de bases de datos, más adelante identificaremos a cada uno de ellos. • Procedimientos. Son las instrucciones y reglas que rigen el diseño y el uso del sistema de base de datos. Los procedimientos son un componente crítico, aunque ocasionalmente olvidado. Desempeñan un rol importante en la compañía, porque hacen cumplir con los estándares mediante los cuales se conduce el negocio dentro de la organización y con los clientes. • Datos. La palabra “datos” comprende el conjunto de hechos guardados en la base de datos. Como estos son la materia prima con la cual se genera la información, determinar cuáles deben introducirse y cómo debe organizarse es una parte vital del trabajo del diseñador de la base de datos. Es evidente que la existencia de un sistema de base de datos le proporciona una nueva dimensión a la estructura administrativa de una organización. La complejidad de esta estructura administrativa depende del tamaño de la organización, de sus funciones y de su cultura corporativa. Por consiguiente, los sistemas de bases de datos pueden crearse y manejarse a partir de diferentes niveles de complejidad y con adherencia variable a estándares precisos. 9 1.2.2. Ventajas y desventajas de utilizar un SGBD. Algunas de las ventajas de los SGBD sobre los métodos tradicionales basados en papel, para llevar un registro son: (Date, 2000). • Comparación: no hay necedad de archivos en papel voluminoso. • Velocidad: la máquina puede recuperar y actualizar datos más rápidamente que un humano. • Menos trabajo laborioso: se puede eliminar gran parte del trabajo de llevar los archivos a mano. Las tareas mecánicas siempre las realizan mejor la maquinas. • Actualidad: en el momento que la necesitamos, tendremos a nuestra disposición información precisa y actualizada. Desde luego, los beneficios anteriores se aplican aún con más fuerza en un entorno multiusuario, donde es probable que la base de datos sea mucho más grande y compleja que en el caso de un solo usuario, no obstante, en el entorno multiusuario hay una ventaja adicional, que expresaremos así: el sistema de base de datos ofrece a la empresa un control centralizado de sus datos los cuales constituyen uno de sus activos mas valiosos. Esta situación contrasta en gran medida con la que se encuentra en una empresa que no cuenta con un sistema de base de datos, en donde por lo general cada aplicación tiene sus propios archivos privados, de modo que los datos están muy dispersos y son difíciles de controlar de una forma sistemática. Aunque son muchas las ventajas de utilizar un SGBD, también existen algunas desventajas: • Costos: la implementación de un SGBD puede generar un gran gasto para la organización. • Complejidad: en algunos casos el sistema de base de datos es tan grande que puede resultar complejo para usuarios que no estén capacitados para manejarlo. • Tamaño: el tamaño de las bases de datos llega a ser tan grande que resulta difícil su manejo. 10 En general son mayores las ventajas de utilizar un SGBD por encima de las desventajas las cuales no presentan gran problema, si se cuenta con un buen equipo de personas que interactúen con dicho sistema. 1.3. Modelos de base de datos. Un Modelo de Base de Datos es una colección de conceptos que se emplean para describir la estructura de una base de datos. Esa colección de conceptos incluye: entidades, propiedades (o atributos) de esas entidades, y relaciones entre esas entidades. Un modelo de datos no es solamente un modo de estructurar datos: si no que también define las operaciones que pueden ser realizadas sobre los datos (transacciones). Los sistemas de bases de datos usan algún modelo lógico para hacer el seguimiento de las entidades y relaciones. Algunos de los modelos mas utilizados en el modelamiento de una base de datos son: (Modelos de bases de datos, 2007). 1.3.1. Modelo Jerárquico (Bases de datos Jerárquicas). La representación gráfica de este modelo se realiza mediante la creación de un árbol invertido. El nivel más alto del árbol se denomina raíz. En la figura 1.2 se muestra un ejemplo del modelo jerárquico. Figura 1.2 Modelo jerárquico. Fuente: Modelos de bases de datos. 2008. 11 Está compuesto de unos elementos llamados nodos. Cada nodo del árbol representa un tipo de registro conceptual, es decir, una entidad. A su vez, cada nodo (entidad o segmento) está constituido por un número de campos que los describen, que son las propiedades o atributos de los nodos. Las relaciones entre nodos están representadas por las ramas. Los nodos están enlazados mediante relaciones uno a muchos, es decir un nodo hijo no puede tener más de un padre, y no se permiten más de una relación entre dos nodos. 1.3.2. Modelo de red (Bases de datos de Red). Es similar al Modelo jerárquico con la diferencia que en este modelo, un hijo puede tener varios padres. En comparación con el modelo jerárquico permitió un modelado más natural de relaciones entre entidades. En la figura 1.3 se muestra un ejemplo del modelo de red. Figura 1.3 Modelo de red. Fuente: Modelos de bases de datos, 2008. 1.3.3. Modelo relacional (Base de datos Relacional). Este modelo de base de datos es el más popular en la actualidad. Una base de datos relacional almacena información en relaciones (tablas) las cuales a su vez contienen tuplas (filas) y Atributos (columnas). En la figura 1.4 se muestra un ejemplo del modelo relacional. Realiza búsquedas utilizando los datos de columnas especificadas de una relación (tabla) para encontrar datos adicionales en otra relación, haciendo coincidir la información de una columna de una relación con la información de la columna correspondiente de otra relación y con ello produce una tercera relación que combina los datos solicitados de ambas relaciones. 12 Es decir, una base de datos relacional utiliza los valores coincidentes de dos relaciones para relacionar información de ambas. Figura 1.4 Modelo relacional. Fuente: Modelos de bases de datos, 2008. 1.3.4. Modelo Entidad – Relación. Los diagramas o modelos entidad-relación son una herramienta para el modelado de datos de un sistema de información. Estos modelos expresan entidades relevantes para dicho sistema, sus inter-relaciones y propiedades. La figura 1.5 muestra un ejemplo del modelo entidad – relación. 1 Empleado 1 Maneja Tienda Figura 1.5 Modelo Entidad – relación. Fuente: Modelos de bases de datos, 2008. Representa a la realidad a través de entidades, que existen y se distinguen de otros por sus atributos, ejemplo: una persona, se caracteriza por su DNI, sus nombres y apellidos, su dirección, su estado civil, etc. Estas entidades se encuentran relacionadas. Es una representación conceptual de la información. Mediante una serie de procedimientos se puede pasar del modelo E-R a otros, como por ejemplo al modelo relacional. 13 1.3.5. Modelo Orientado a Objetos (Bases de datos O.O.). En una base de datos orientada a objetos, la información se representa mediante objetos como los presentes en la programación orientada a objetos. Cuando se integra las características de una base de datos con las de un lenguaje de programación orientado a objetos, el resultado es un sistema gestor de base de datos orientado a objetos (SGBDOO). Este sistema hace que los objetos de la base de datos aparezcan como objetos de un lenguaje de programación en uno o más lenguajes de programación a los que dé soporte. 1.4. Personas que interactúan con un SGBD. En una pequeña base de datos personal, lo normal es que una sola persona defina, construya y manipule la base de datos, en cambio, muchas personas participan en el diseño, utilización y mantenimiento de una base de datos grande con algunos cientos de usuarios, estas personas son: (Elmasri, 2002). 1.4.1. Administrador de base de datos (DBA). En cualquier organización en la que muchas personas utilicen los mismos recursos se requiere un jefe administrador que supervise y gestione dichos recursos. En un entorno de base de datos, el recurso primario es la propia base de datos, y el secundario es tanto el SGBD como el software relacionado con él. La administración de estos recursos es responsabilidad del Administrador de base de datos. EL DBA se encarga de autorizar el acceso a la base de datos, de vigilar y coordinar su utilización y de adquirir los recursos de software y hardware que sean necesarios. El DBA entre otras cosas, es la persona responsable de solucionar problemas como violaciones de la seguridad o una respuesta lenta del sistema. En las organizaciones grandes el DBA cuenta con ayuda de personal para poder desempeñar estas funciones. En el capítulo 3 se describen a fondo cada una de las actividades que realiza el DBA. 14 1.4.2. Diseñadores de bases de datos. Se encargan de identificar los datos que se almacenaran en la base de datos y de elegir las estructuras apropiadas para presentar y almacenar dichos datos. Por lo general estas tareas se realizan antes de que se implemente la base de datos y se carguen los datos. Los diseñadores tienen la responsabilidad de comunicarse con todos los futuros usuarios de la base de datos con el fin de comprender sus necesidades, y de presentar un diseño que satisfaga esos requerimientos en muchos casos, los diseñadores forma parte del personal del DBA y tal vez asuman otras responsabilidades una vez terminado el diseño de la base de datos. Casi siempre los diseñadores interactúan con cada uno de los grupos de usuarios potenciales y desarrollan una vista de la base de datos que satisfaga los requerimientos de datos y de procesamiento de cada grupo. Después, se analizan las vistas y se integran con las de otros grupos de usuarios. El diseño final debe ser capaz de satisfacer las necesidades de todos los grupos. 1.4.3. Usuarios finales. Los usuarios finales son las personas cuyo trabajo requiere acceder a la base de datos para consultarla, actualizarla y generar informes; la base de datos existe principalmente para que ellos la utilicen. Hay varias categorías de usuarios finales: • Los usuarios finales ocasionales: acceden de vez en cuando a la base de datos pero es posible que requieran información diferente en cada ocasión. • Los usuarios finales simples: constituyen una porción apreciable de la totalidad de los usuarios finales. • Los usuarios finales avanzados: pueden ser los ingenieros, científicos, analistas de negocios y otros. • Los usuarios autónomos: un ejemplo es el usuario de un paquete fiscal que almacena diversos datos financieros personales para fines fiscales. 15 1.4.4. Analistas de sistemas y programadores de aplicaciones (ingenieros de software). Los analistas de sistemas determinan los requerimientos de los usuarios finales, sobre todos los de los simples, y desarrollan especificaciones para transacciones programadas que satisfagan dichos requerimientos. Los programadores de aplicaciones implementan esas especificaciones en forma de programas, y luego prueban, depuran, documentan y mantienen estas transacciones programadas. Para realizar dichas tareas, los analistas y programadores (actualmente denominados ingenieros de software) deben conocer a la perfección toda la gama de capacidades del SGBD. 1.4.5. Otros usuarios. Además de los diseñadores, usuarios y administradores de bases de datos, hay otras personas que tienen que ver con el diseño, creación y funcionamiento del software y entorno del SGBD. Por lo regular a estas personas no les interesa la base de datos en si misma. Estas personas son: • Los diseñadores e implementadotes del SGBD: son las personas que diseñan e implementan los módulos e interfaces del SGBD en forma de paquetes de software. • Los desarrolladores de herramientas: son personas que diseñan e implementan herramientas, es decir, los paquetes software que facilitan el diseño y utilización del sistema y ayudan a mejorar el rendimiento. • Los operadores y el personal de mantenimiento: son el personal de administración del sistema que son los responsables del funcionamiento y mantenimiento reales del entorno de hardware y software del sistema de base de datos. 16 CAPÍTULO II: EL SISTEMA GESTOR DE BASES DE DATOS (SGBD) ORACLE 2.1. Introducción a Oracle. Cuando Oracle se fundo en 1977 como Software Development Laboratories por Larry Ellison, Bob Miner y Ed Oates no había productos de bases de datos relacionales comerciales. La compañía, cuyo nombre cambio posteriormente a Oracle, se estableció para construir un sistema de gestión de base de datos como producto comercial y fue la primera en lanzarlo al mercado. Desde entonces Oracle ha mantenido una posición líder en el mercado de bases de datos relacionales, pero con el paso de los años su producto y sus servicios ofrecidos han crecido mas allá de del servicio de bases de datos relacionales. Además de las herramientas directamente relacionadas con el desarrollo y gestión de bases de datos Oracle ofrece herramientas de inteligencia de negocio, incluyendo herramientas de consulta y análisis, productos de minería de datos y un servidor de aplicaciones con gran integración con el servidor de las bases de datos. Además de los servidores y herramientas relacionados con las bases de datos, la compañía ofrece software para la planificación empresarial de recursos y gestión de relaciones con el cliente, incluyendo áreas como finanzas, recursos humanos, manufactura, marketing, ventas y gestión de cadenas de proveedores. La unidad On demand de Oracle ofrece servicios en estas áreas como un proveedor de servicios de aplicación (Silbertschatz et al., 2006). 2.1.1. ¿Por qué utilizar un SGBD Oracle? Oracle ha demostrado, gracias a su historial, que puede construir para el futuro sobre la base de años de innovación, el gran conocimiento de los éxitos y desafíos de sus clientes, y los mejores talentos en el área técnica y comercial alrededor del mundo. La empresa ha demostrado no solo su capacidad de aprovechar al máximo su gran tamaño y sus virtudes para servir a sus clientes, sino también su 18 capacidad de tomar decisiones que eliminen las creencias convencionales y lleven sus productos y servicios hacia una nueva dirección. Es la innovación la que impulsa el éxito de Oracle. Oracle fue una de las primeras empresas en lograr que sus aplicaciones comerciales estén disponibles en Internet, una idea hoy en día dominante. Oracle comienza a lanzar nuevos productos y funcionalidades, los cuales reflejan el objetivo de la empresa: conectar todos los niveles de tecnología empresarial para ayudar a los clientes a acceder al conocimiento que necesitan para responder con velocidad y agilidad ante los requisitos del mercado. Hoy, todas las aplicaciones Oracle fomentan el compromiso hacia la innovación y los resultados, lo cual ha perfilado a Oracle durante 30 años. Oracle proporciona a las organizaciones de cualquier tamaño una sólida infraestructura de datos para respaldar las operaciones flexibles dentro de los mercados dinámicos. En resumen: soluciones confiables para empresas ágiles. Esas soluciones se basan en más de 30 años de experiencia en la administración de datos por parte de Oracle; y se focalizan en tres imperativos relacionados con las empresas modernas: proteger los datos valiosos, ofrecer conocimientos accionables y establecer procesos flexibles. Los 10 bancos más importantes del mundo utilizan las aplicaciones de Oracle. Los bancos de todo el mundo confían en Oracle para ayudarlos a optimizar los procesos de negocio, cumplir con las crecientes exigencias de cumplimiento reglamentario y mejorar los índices de accesibilidad económica, mientras se brinda más valor a los clientes. Las 20 empresas de comunicaciones más importantes del mundo confían en las Aplicaciones Oracle. Solo Oracle ofrece soluciones de software empaquetadas que ofrecen soporte completo de procesos de negocio clave para las empresas de comunicaciones, desde la creación de servicios, la administración de ofertas y la organización de pedidos hasta al abastecimiento y la entrega de servicios, la facturación, la garantía de los ingresos y la elaboración de informes. Las 10 principales universidades de investigación en el mundo ejecutan aplicaciones de Oracle. Sólo Oracle ofrece soluciones que ayudan a las 19 instituciones educativas a cumplir y adaptarse a las siempre cambiantes necesidades y demandas de todos los componentes. Oracle ofrece soluciones de mejorar la gestión del rendimiento, presentación de informes, el cumplimiento, la eficiencia y los resultados de la contratación en todos los ámbitos y niveles de la educación en el mundo. Oracle es el líder en el suministro de aplicaciones a las instituciones académicas y de investigación (Historia de Oracle, 2009). 2.1.2. Desafíos de negocio. Oracle integra los siguientes desafíos de negocio (Desafíos de negocio Oracle, 2009): • Garantizar la protección de los datos. Oracle ofrece una infraestructura de información confiable que automatiza muchos procesos de backup y retención. De manera que si un sistema se cae, todos sus datos se habrán guardado hasta el momento del incidente. Y con Oracle se obtienen múltiples niveles de seguridad, incluso la protección de acceso, la administración del ID de usuarios, la encriptación de datos y las operaciones a prueba de fallas. Esto reduce drásticamente los riesgos para los negocios, recorta los costos, garantiza la continuidad en caso de cortes de servicio, y automatiza los procesos de cumplimiento. Eso hace que se ahorre tiempo y otorga tranquilidad. • Optimizar el Conocimiento de la Información. Los gerentes pueden frustrarse al tomar decisiones importantes cuando no tienen toda la información que necesitan al alcance de su mano. O cuando ésta se encuentra en sistemas y formatos diferentes, lo cual dificulta tener un panorama general significativo. Con una infraestructura abierta que unifique y consolide su información, se obtiene una visión general de la información que se necesita, en el momento que se necesita. Debido a que la tecnología Oracle se basa en estándares abiertos, es idealmente adecuado como base económica para los recursos integrados de información. Independientemente de los sistemas y aplicaciones que se utilicen, la tecnología Oracle los interconecta para ofrecer una toma de decisiones más 20 rápida y confiable. También ayuda a proteger y aprovechar las inversiones en tecnología ya realizadas porque se obtiene más valor de la infraestructura existente. • Mejorar la Flexibilidad del Proceso. Los procesos optimizados pero flexibles que operan sobre una infraestructura abierta ayudan a acelerar el desarrollo de productos y el tiempo de inserción en el mercado. Esta agilidad es una característica clave de las organizaciones exitosas y de la infraestructura de información confiable y segura que las sostiene. Basar la infraestructura sobre estándares abiertos permite interconectar los sistemas y aplicaciones. La tecnología Oracle para organizaciones en crecimiento es abierta, fácil de integrar, simple de administrar y altamente escalable, lo cual ayuda a adaptarse más rápido a los cambios del mercado o a los requerimientos del cliente. Las soluciones Oracle permiten alinear los procesos con las cambiantes necesidades durante un largo período, brindando así valor continuo para la empresa. • Globalización. A fin de sobrevivir a medida que los mercados internacionales convergen, las organizaciones deben disponer de procesos de negocios rápidos y eficientes. Además de integrar diferentes lugares físicos, la facilidad de la comunicación en toda la empresa también es un factor de éxito crítico. Oracle coloca la información adecuada en el lugar adecuado y en el momento adecuado. • Gobierno corporativo. Cuanto más grande es la organización y cuanto más complejas son sus estructuras, más difícil es mantener el control y la visibilidad, y garantizar el cumplimiento reglamentario con los requisitos legales. Las organizaciones en crecimiento tienen la ventaja de tener una cadena más corta de mando, pero las leyes y reglamentaciones aún deben cumplirse y no pueden ser ignoradas. Solo Oracle brinda una única plataforma para Gobierno, Riesgo y Cumplimiento (GRC) que permite ver qué sucede en toda la empresa, garantiza que toda la información relevante esté incluida en sus decisiones y cumple con todas las regulaciones y obligaciones necesarias. Oracle GRC trabaja con sistemas Oracle y no 21 Oracle para brindar una solución integral para el cumplimiento de toda la organización. 2.2. Generalidades del sistema Oracle. Es interesante como ver como los fabricantes de SGBDR han diseñado paquetes de software que básicamente siguen el modelo relacional y sin embargo ofrecen toda una completa gama de características necesarias para conseguir el diseño e implementación de grandes bases de datos y sus aplicaciones. Un servidor Oracle consta de una base de datos Oracle (el conjunto de datos almacenados que incluye el diario (Log) y los ficheros de control) y la Instancia Oracle (los procesos, que incluyen los procesos del sistema Oracle y los procesos de usuario tomados en conjunto, creados para una instancia específica de la operación de base de datos). El servidor Oracle soporta SQL para definir y manipular los datos. Además, tiene un lenguaje de procedimiento, llamado PL/SQL, para controlar el flujo del SQL, para usar variables y para proporcionar procedimientos de manejo de errores. A Oracle también se puede acceder desde lenguajes de programación de carácter general tales como Java. Está concebido con el fin de manejar grandes cantidades de información, además de admitir conexiones concurrentes de multitud de usuarios (entornos multiusuario) hacia los mismos datos. Oracle aporta un SGBD que estará ubicado en un hardware específico y bajo un sistema operativo determinado. La elección del entorno de trabajo (hardware, S.O. y tipología de la estructura cliente/servidor) será una decisión que estará acorde con las necesidades del propio sistema de información (Zein & Risso, 2003). Las principales funcionalidades aportadas por todo el SGBD Oracle son: • Soporte y tratamiento de una gran cantidad de datos (Gbytes). • Soporte de una gran cantidad de usuarios accediendo concurrentemente a los datos. • Seguridad de acceso a los datos, restringiendo dicho acceso según las necesidades de cada usuario. • Integridad referencial en su estructura de base de datos. 22 • Conectividad entre las aplicaciones de los clientes en sus puestos de trabajo y el servidor de datos Oracle (estructura cliente/servidor). • Conectividad entre bases de datos remotas (estructura de bases de datos distribuidas). • Portabilidad. • Compatibilidad. 2.3. Requerimientos de un SGBD Oracle. Para establecer un entorno de trabajo en Oracle se necesita: • Software Oracle para servidor (Oracle Server Software): obviamente, una versión determinada específicamente diseñada para un sistema operativo concreto (UNIX, Windows xp, etc.). Este software incluye los ejecutables para el funcionamiento del propio gestor de la base de datos, un conjunto de herramientas para el tratamiento de la información y un software específico (Net10) para que sean posibles las conexiones de los usuarios al servidor en arquitecturas cliente/servidor. • Software Oracle para cliente (Oracle Client Software): este software se ubicará en los puestos de trabajo de los usuarios (también bajo un determinado sistema operativo, ya sea Windows XP, vista, etc.), el cual estará formado por un conjunto de herramientas específicas para cliente/servidor y de su correspondiente software para el establecimiento de las conexiones al servidor. • Archivos de base de datos: (la base de datos en sí), los cuales serán creados a través de herramientas o comandos específicos de Oracle. La ubicación de la base de datos se realizará sobre los discos del propio servidor donde se ha establecido el Oracle Server Software. • Recursos suficientes en nuestro servidor: previamente, habrá que realizar un estudio de nuestro sistema de información para conocer el alcance del mismo. Posteriormente, habrá que estimar la cantidad de 23 memoria, discos y unidades centrales de proceso que van a ser necesarias para un correcto funcionamiento. 2.4. Arquitectura del SGBD Oracle. La estructura del SGBD Oracle consta de tres partes bien diferenciadas (Zein & Risso, 2003): 2.4.1 Instancia. La instancia es la unión de los procesos y de las estructuras de memoria, los cuales se hallan en ejecución para el acceso de los usuarios a los datos a través de diferentes aplicaciones como por ejemplo administración, desarrollo y otras aplicaciones de usuario final. La instancia esta compuesta por: Estructura de Memoria: se almacenan los ejecutables del software Oracle y todo el sistema necesario para el tratamiento del SGBD. La filosofía de Oracle es la de albergar la máxima cantidad de información en memoria con el objeto de acelerar el tratamiento de los datos. La estructura de Oracle en memoria se divide en: o SGA (System Global Área) Área global del sistema. o Caché de datos (Database Buffer Cache). o Caché de redo log (Redo Log Buffer Cache). o Área de memoria compartida (Shared Pool), compuesta por las áreas compartidas para sentencias SQL y de la caché de diccionario de datos (Dictionary Caché o Row Cache). o Información adicional sobre procesos, como bloqueos y colas de entrada/salida para determinadas configuraciones. o PGA (Program Global Area). o Áreas privadas para sentencias SQL. o Áreas de ordenación de sentencias. o Área para ejecutables de Oracle. 24 Archivos de configuración (INIT.ORA): archivos de configuración donde se establecen todos los parámetros para que Oracle trabaje de una u otra forma. Procesos Background: serie de procesos encargados de mantener, manejar y controlar todo el SGBD. Existen unos procesos estándar, que Oracle activa siempre que ejecuta una instancia, y otros que dependerán de las configuraciones establecidas en el fichero de inicialización (INIT.ORA). Los procesos estándar que Oracle siempre activa son: • DBWR ( Database Writer ): encargado de escribir en los archivos de la base de datos todos los buffers de datos que han sido modificados en memoria por operaciones Update, Delete, o Insert. • LGWR (Log Writer): encargado de escribir en los archivos históricos de la base de datos (Redo Log Files) la información contenida en los redo log buffers. • SMON (System MONitor): encargado de tratar las recuperaciones en caso de fallo cuando se arranca el gestor. • PMON (Process MONitor): trata las recuperaciones en caso de fallo en algún proceso de usuario. 2.4.2. Base de datos. La información de la base de datos se almacena convenientemente en una estructura de archivos de disco. Existen varios tipos de archivos en Oracle, que son: • Archivos de control (Control Files): al crear una base de datos, Oracle establece el llamado almacenando archivo información de de control, todas en el cual va a ir las estructuras (y estado de las mismas) de la base de datos a la que representa. Como mínimo habrá un archivo de control por base de datos, aunque se podrán realizar copias del mismo, como medida de seguridad. Este archivo será fundamental para el arranque de una base de datos, de ahí la importancia de tener copias del mismo. 25 • Archivos de Redo Log (Redo Log Files): contienen un histórico de todos los cambios que van siendo realizados sobre la información de la base de datos. En los Redo Log Buffers se reflejará toda aquella información que varíe (valor antiguo y nuevo del dato modificado, así como los correspondientes a los segmentos de rollback afectados), para posteriormente pasar esta información a los archivos históricos (redo log buffers). En los archivos históricos de la base de datos escribe únicamente el proceso LGWR. • Archivos de datos e índices (Tablespaces de D. e I.): los archivos de datos almacenan la información propiamente dicha, mientras que los archivos de índices almacenan estructuras para un mejor acceso a la misma. • Archivos del diccionario de datos Oracle (Tablespaces del Sistema): a la hora de crear una base de datos se establece un fichero para contener toda una estructura lógica para uso exclusivo de Oracle. Esta estructura es el diccionario de datos, en el cual se almacena toda la información relativa al flujo, estado, configuraciones, modos y estructuras lógicas de trabajo de una base de datos. Cualquier información sobre cualquier estructura, tanto lógica como física, de la base de datos, así como el estado permanente de cada una de ellas, se puede localizar en el diccionario de datos de Oracle. • Archivos para ordenaciones temporales (Temporary Tablespaces): cuando alguna sentencia requiere una serie de ordenaciones, Oracle trata de realizarlas en memoria, pero, en caso de no poder llevarlo a cabo (casi siempre porque el espacio reservado en memoria para ordenaciones es escaso), se crean archivos para ordenaciones temporales, con el fin de poder efectuar las dichas sentencias. • Archivos para consistencia en lectura y recuperaciones de datos (Tablespaces para segmentos de rollback): existen en todas las bases de datos Oracle unas estructuras llamadas segmentos de rollback, cuyas funciones son: 26 • Mantener la consistencia en lectura para los entornos multi-usuarios. • Establecer la posibilidad de volver al estado inicial de una transacción que no ha sido validada (rollback). • Albergar información de apoyo para las recuperaciones en caso de caída del sistema. 2.4.3. Entorno cliente/servidor. Sistema basado en compartir aplicaciones y/o datos a través de una red. El entorno cliente/servidor básico, quedaría establecido de la siguiente manera: • Servidor de datos compartido, donde estará ubicado el SGBD Oracle, el software del servidor y la propia estructura física de los datos. • Puestos de trabajo de los usuarios, donde se ubicará el software cliente Oracle. • Infraestructura de conexión, para establecer las comunicaciones, tanto físicas como lógicas, entre las estaciones de los clientes y el servidor de datos. • Software de comunicaciones. 2.5. Arranque y Parada del SGBD Oracle. En esta parte se detallan las fases de arranque y parada del SGBD (sistema gestor de bases de datos) Oracle (Zein & Risso, 2003). 2.5.1. Arranque. A la hora de arrancar una instancia se suceden tres fases bien diferenciadas: 1) Arranque de la Instancia. 2) Montaje de la Base de Datos. 3) Apertura de la Base de Datos. Estas fases pueden realizarse por separado o realizarse conjuntamente. En el primero de los casos es para realizar cualquier tipo de operación sobre la base de datos (parametrizarla, crearla, etc.). El segundo caso es para una base de datos que ya esta estabilizada y no necesita abrirse por fases. 27 1) Arranque de la Instancia. Es la primera fase de arranque en esta se van a iniciar los procesos background para la instancia en cuestión además se establecerá las estructuras de memorias correspondientes en la SGA del servidor, para ello se deberá leer el archivo INIT.ora para tener en cuenta los parámetros en el ubicados. El comando es: Startup nomount 2) Montaje de la Base de Datos. En esta fase se montan los archivos de la base de datos, los cuales van a asociarse con la instancia arrancada en la fase anterior, una vez que una base de datos ha sido montada permanecerá cerrada por lo que no será posible ningún tipo de operación por parte de los usuarios sobre la misma. En esta fase Oracle va a abrir el o los archivos de control para leer los archivos de datos y archivos históricos de la base de datos. El comando es: Startup mount; 3) Apertura de la Base de Datos. En esta fase oracle abre los archivos de datos e históricos para que todos los usuarios dados de alta en el sistema puedan realizar sus operaciones normales sobre la información, el comando es: Startup open; ¿Cuál es la utilidad de las fases de arranque? La primera fase y más importante es para crear la base de datos. Existen operaciones y acciones sobre la base de datos que necesitan que este montada pero no abierta. (Activación del archivador) En caso de error la recuperación de la base de datos se hace en la fase tres. 2.5.2. Parada. Existen tres maneras de parada, las cuales son: 1) Modo Normal: el comando es shutdown, en este caso se efectúan todas las fase de parada de tal manera que oracle escribe todos los datos ubicados en el SGA y la información de recuperación a los archivos de datos e históricos, en este 28 caso los archivos de la base de datos son cerrados convenientemente dejando la consistencia de todas las estructuras en modo estable. 2) Modo inmediato: esta forma es similar a la anterior con la diferencia de que con esta forma oracle cancela sin previo aviso, todas las conexiones en ese momento activas por parte de los usuarios, lo que puede causar que queden procesos colgados, en el caso de no existir conexiones activas no habría problema. El comando es shutdown immediate. 3) Modo Abortivo: esta es la forma menos recomendada de cerrar la base de datos ya que podrían quedar estados inconsistentes sobre la misma, aunque en casos de emergencia va a ser obligatorio su uso. Esta es la forma más rápida de cerrar una base de datos y terminar la instancia asociada a la misma ya que en este modo no escribe sobre los archivos de la base de datos (archivos de datos e históricos) la información almacenada en la SGA de datos y recuperación, además de dejar abiertos los archivos que componen toda la base de datos. Esto provoca que al siguiente arranque del sistema oracle tenga que realizar recuperación para establecer la consistencia de todas las estructuras y de la información en ella almacenada. El comando utilizado es shutdown abort. Cuando se baje la base de datos de esta forma, y una vez que se levante posteriormente se recomienda volverla a bajar en modo normal y volverla a levantar nuevamente. Esto nos asegurara que el proceso de recovery en el primer arranque se ha llevado a cabo de forma satisfactoria (Zein & Risso, 2003). 29 CAPÍTULO III: DBA (ADMINISTRADOR DE LA BASE DE DATOS) 3.1. Los datos como activos corporativos. Los datos en la actualidad se consideran como un valioso recurso que debe ser transformado en información si esta es oportuna y precisa, es probable que su uso desencadene acciones que mejoren la posición competitiva de la compañía y genere riqueza. En realidad, una organización está sujeta a un ciclo de datosinformación-toma de decisiones (Rob & Coronel, 2004). El usuario aplica inteligencia a los datos para producir información de la base del conocimiento utilizado en la toma de decisiones. Este ciclo se ilustra en la figura 3.1. Usuario Toma de decisiones Análisis Utilizado en Aplica inteligencia Conocimiento Producir Desencadena Acciones Es la base del Generan más Datos Información Figura 3.1 Ciclo de datos – información – toma de decisiones. Fuente: Rob & Coronel, 2004. 3.2. Evolución de la administración de base de datos. La administración de bases de datos tiene sus raíces en el viejo mundo descentralizado del sistema de archivos. El costo de los datos y la duplicación administrativa en los sistemas de archivos dio lugar a una función de administración de datos centralizada conocida como procesamiento electrónico de datos (EDP por sus siglas en inglés) o departamento de procesamiento de datos (DP por sus siglas en inglés). La tarea del departamento de procesamiento de datos fue agrupar todos los recursos de computación para soportar todos los departamentos a nivel operativo con una mínima duplicación de los datos y 31 esfuerzo. A la función de administración del procesamiento de datos se le otorgó la autoridad de manejar todos sistemas de archivos existentes de la compañía, así como también resolver los conflictos de datos administrativos creados por la duplicación o uso inadecuado de los datos. El advenimiento del SMBD y su visión compartida de los datos produjeron un nuevo nivel de complejidad de manejo de los datos e hicieron que el departamento de procesamiento de datos se transformara en un departamento de sistemas de información. Así como crecen las aplicaciones de las bases de datos, la administración de estas se vuelve más complicada, lo cual nos lleva a la función de administración de base de datos. La persona responsable del control de las bases centralizadas y de las compartidas es el administrador de bases de datos (DBA). A medida que crecía el número de aplicaciones de bases de datos, el manejo de esto se convirtió en una tarea cada vez más compleja dentro de la estructura organizacional de una compañía. En la gráfica de la organización, la función del DBA se podría definir como un puesto de asesoría o un puesto lineal. Si se coloca el DBA en una posición de asesoría, con frecuencia se crea un ambiente de consultoría, en el que el DBA es capaz de idear la estrategia de administración de datos, pero no tiene la autoridad de aplicarla o de resolver posibles conflictos. La función del DBA en posición lineal tiene tanto la responsabilidad como la autoridad para planear ejecutar y aplicar las políticas, estándares y procedimientos utilizados en la actividad de administración de datos. Se han ilustrado los dos posibles puestos del DBA en la figura 3.2. La decisión en cuanto a la colocación del DBA depende del estilo administrativo de la compañía, además de factores como el tamaño y la complejidad de las operaciones de la compañía y la distribución geográfica de sus instalaciones. Estos factores también ayudan a determinar la estructura interna de la función del DBA. No parece haber un estándar de organización interna para el DBA. En parte, los estándares podrían estar incompletos porque la función del DBA en si misma probablemente es la más dinámica de las funciones de una organización. 32 Posición de autoridad lineal Sistemas de información Desarrollo de aplicaciones Operaciones de bases de datos Administración de bases de datos Posición de consultaría Sistemas de información Administración de base de datos Desarrollo de aplicaciones Operaciones de bases de datos Figura 3.2 Colocación de la función del DBA. Fuente: Rob & Coronel, 2004. Aunque no existe un estándar actual, es común definir las funciones del DBA dividiendo sus operaciones de acuerdo con las fases del ciclo de vida de la base de datos. Si se utiliza este método, la función del DBA requiere personal para cubrir las siguientes actividades: • Planificación de las bases de datos, incluida la definición de estándares, procedimientos y ejecución. • Recolección de requerimientos y diseño conceptual de base de datos. • Diseño lógico de base de datos y diseño de transacciones. • Diseño físico y ejecución de base de datos. • Pruebas y depuración de base de datos. • Operación y mantenimiento de base de datos, incluida su instalación, conversión y migración. • Entrenamiento y soporte de base de datos. 33 Se utiliza este resumen de actividades como modelo de las funciones administrativas del DBA, la figura 3.3 representa una organización funcional adecuada del DBA. DBA Planificación Diseño Conceptual Ejecución Lógico Operaciones Entrenamiento Físico Pruebas Figura 3.3 Organización funcional de la administración de base de datos. Fuente: Rob & Coronel, 2004. Se debe tomar en cuenta que una compañía podría tener varios SGBD diferentes e incompatibles instalados para soportar diferentes operaciones. Por ejemplo, no es raro encontrar corporaciones con un SGBD jerárquico para soportar las transacciones diarias a nivel operativo y una base de datos relacional para soportar las necesidades de información Ad hoc de la alta e intermedia administraciones. También puede haber una variedad de SGBD instalados en los diferentes ambientes. En un ambiente como ése, la compañía podría tener un DBA asignado por cada SGBD. El coordinador general de todos los DBA en ocasiones se conoce como un administrador de sistemas (SYSADM), cuya posición se ilustra en la figura 3.4. Administrador de sistemas DBA DB2 relacional DBA Oracle relacional DBA Red DBA Servidor SQL Director de SGBD alojado en una microcomputadora Figura 3.4 Administradores múltiples de base de datos en una organización. Fuente: Rob & Coronel, 2004. 34 Existe una creciente tendencia hacia la especialización en la función del manejo de datos. Por ejemplo los diagramas organizacionales utilizados por algunas de las más grandes corporaciones hacen una distinción entre un DBA y el administrador de datos. El DA (por sus siglas en ingles), conocido también como gerente de recursos de información (IRM), generalmente se reporta directamente a la alta administración y tiene una mayor responsabilidad y autoridad que el DBA, aunque sus roles tienden a empalmarse hasta cierto grado. El DA es responsable de controlar todos los recursos de datos de la corporación, tanto computarizados como manuales. La descripción del trabajo de DA abarca por lo tanto un área de operaciones mas grande que la del DBA, porque el DA controla no sólo los datos computarizados, sino también los datos fuera de alcance del SMBD. La colocación del DBA dentro de la amplia estructura organizacional puede variar de una compañía a otra. Según los componentes de esta estructura, el DBA podría reportarse al DA, el IRM, al gerente de sistemas de información o directamente al oficial ejecutivo en jefe de la compañía (Rob & Coronel, 2004). 3.3. El componente humano del ambiente de bases de datos. La administración efectiva de los datos requiere habilidades tanto técnicas como administrativas. En la sección anterior se explico que las funciones del DA y el DBA suelen empalmarse en cierta medida. No obstante pueden hacerse algunas generalizaciones útiles, por ejemplo el trabajo del DA en general tiene una fuerte orientación administrativa a nivel de toda la compañía. En contraste, el trabajo del DBA tiende a ser más técnicamente orientado y su campo de acción se limita al SGBD, sin embargo, el DBA, también debe contar con un considerable acopio de de habilidades personales. Después de todo, tanto el DA como el DBA realizan funciones personales comunes a todos los departamentos en una organización. Por ejemplo tanto el DA como el DBA dirigen y controlan el entrenamiento e integración del personal en sus respectivos 35 departamentos. Desde luego, se pretende enfocar la atención en los aspectos de datos de sus roles administrativos. La tabla 3.1 compara las características generales de ambas posiciones, ya que resume las actividades típicas del DA y DBA. Todas las actividades derivadas de las características mostradas en la tabla 3.1 se concentran en le DBA si la organización no emplea un DA y un DBA. Administrador de bases de Administrador de datos (DA) datos (DBA) Planificación estratégica Control y supervisión Establece Ejecuta planes para alcanzar metas a largo plazo Establece metas políticas estándares y Aplica políticas y procedimientos Aplica estándares de programación Alcance amplio Alcance limitado Largo plazo Corto plazo (enfoque en las operaciones diarias) Orientación administrativa Orientación técnica Independiente del SMBD Dependiente del SMBD Tabla 3.1 Comparación de las actividades del DA Y EL DBA. Fuente: Rob & Coronel, 2004. Al examinar la tabla 3.1 se observa que el DA es responsable de proporcionar una estrategia de administración de datos del DA siempre deben considerar todo el espectro de datos. El DA es por lo tanto responsable de la consolidación y consistencia de los datos manuales y computarizados. El DA también debe establecer objetivos de administración de datos. Los temas siguientes definen estos objetivos: • Compartibilidad de los datos y disponibilidad de tiempo. • Consistencia e integridad de los datos. • Seguridad y privacidad de los datos. 36 • Extensión y carácter del uso de los datos. No existen estándares administrativos universalmente aceptados para el DA y el DBA. De hecho, el estilo, la colocación organizacional y la estructura interna de ambas funciones varían de una compañía a otra. Por simplicidad y para evitar confusiones, se utilizara la designación del DBA como titulo general que comprende todas las funciones administrativas de datos apropiadas. El arbitraje de las interacciones entre los dos activos más importantes de cualquier organización, las personas y los datos coloca al DBA en el ambiente dinámico ilustrado en la figura 3.5. DBA Maneja y monitorea Define y aplica Procedimientos y estándares Verifica Interfaz de DBA Escribe Utilizados por Programador Usuarios Utilizan Gerentes y empleados Programas de aplicación SGBD O Maneja Interfaz de SMBD Datos Figura 3.5 Resumen de actividades de un DBA. Fuente: Rob & Coronel, 2004. Al examinar la figura 3.5 se observa que el DBA es el punto focal de la interacción usuario/datos. El DBA define y hace que se cumplan los procedimientos y estándares que deben ser utilizados por programadores y usuarios durante su trabajo con el SGBD. El DBA también verifica que el acceso del programador y el usuario satisfaga los estándares de seguridad y calidad. Los usuarios de la base de datos podrían clasificarse por el: • Tipo de soporte para la toma de decisiones (operativo, táctico o estratégico) requerido. 37 • Grado de conocimientos de computación (principiante, adelantado o experto). • Frecuencia de acceso (ocasional, periódico o frecuente). Estas clasificaciones no son exclusivas y por lo general se empalman. Cada organización, por lo tanto, emplea personas cuyos niveles de conocimiento de base de datos abarca todo el espectro. El DBA debe ser capaz de interactuar con todas estas personas, entender sus diferentes necesidades, hacer preguntas en todos los niveles de conocimiento y comunicarse con eficiencia. Las actividades del DBA ilustradas en la figura 3.5 sugieren la necesidad de una combinación muy diversa de habilidades. En empresas grandes, es probable que esas habilidades se distribuyan entre varias personas que trabajan dentro de la función del DBA. En empresas pequeñas, estas habilidades pueden ser del dominio de un solo individuo. Administrativas Entendimiento amplio del negocio Técnicas Amplia experiencia en procesamiento de datos Habilidades de coordinación Conocimiento del ciclo de vida del desarrollo de sistemas Habilidades analíticas Metodologías estructuradas Diagramas de flujo de datos Graficas de estructura Lenguajes de programación Habilidades de resolución de Conocimiento del ciclo de vida de conflictos bases de datos Habilidades de comunicación (orales Habilidades de modelado y diseño y escritas) de base de datos Conceptual Lógico Físico Habilidades de negociación Habilidades operativas: ejecución de base de datos, manejo de diccionario de datos, seguridad, etc. Tabla 3.2 Habilidades del DBA deseadas. Fuente: Rob & Coronel, 2004. 38 Las habilidades del DBA son amplias, variadas y, no obstante, estrechamente relacionadas con la naturaleza del trabajo. Estas habilidades se clasifican en dos diferentes categorías: administrativas y técnicas. En la tabla 3.2 se resume la clasificación. Se debe tomar en cuenta que el DBA debe realizar dos roles distintos. El rol administrativo del DBA esta enfocado en el manejo del personal y en las interacciones con la comunidad de usuarios. El rol técnico del DBA comprende actividades que implican el uso del SGBD – diseño, desarrollo y ejecución de bases de datos – así como la producción, desarrollo y uso de programas de aplicación. En las siguientes secciones se examinarán con más detalle los roles administrativo y técnico del DBA (Rob & Coronel, 2004). 3.4. El rol administrativo del DBA. Como gerente, el DBA debe concentrarse en le control y planificación de la función de administración de la base de datos, por consiguiente, el DBA es responsable de: • Coordinar, monitorear y asignar los recursos administrativos de la base de datos: personas y datos. • Definir objetivos y formular planes estratégicos para la función de administración de la base de datos. Actividad Servicio Planeación Soporte al usuario final Organización Políticas, procedimientos y normas de Prueba Seguridad, privacía e integridad de los datos Monitoreo Respaldo y recuperación de los datos Suministro Distribución y uso de los datos Tabla 3.3 Actividades y servicios del DBA. Fuente: Rob & Coronel, 2004. 39 La tabla 3.3 ilustra que el DBA en general es responsable de planificar, organizar, probar, monitorear y suministrar algunos servicios. Estos servicios podrían ser realizados por el DBA o, más probablemente, por el personal del DBA. Para simplificar el planteamiento y para hacer sus puntos más ampliamente aplicables, no se distinguirá entre los servicios prestados por el DBA y los provistos por otro personal del sistema de información bajo el control del DBA. En cambio, se utilizara la designación DBA para abarcar todos lo proveedores de servicios dentro de la función de administración de la base de datos. Así pues, dentro de los confines de la designación del DBA, a continuación se examinaran los servicios provistos por el DBA con más detalle (Rob & Coronel, 2004). 3.4.1. Soporte al usuario. El DBA interactúa con el usuario al proveer datos y servicios de soporte de información a los departamentos de la organización. Como los usuarios por lo general tienen conocimientos de computación muy distintos, los servicios de soporte al usuario incluyen: • Recolección de requerimientos del usuario. El DBA debe trabajar dentro de la comunidad de usuarios para reunir datos requeridos para identificar y describir los problemas de los usuarios. • Resolución y conflictos de problemas. Cuando surgen conflictos datos información, la función del DBA tiene la autoridad y responsabilidad de resolverlos. • Búsqueda de soluciones de necesidades de información. La principal finalidad del DBA es solucionar las necesidades de información de los usuarios. • Garantizar la calidad e integridad de las aplicaciones y datos. El DBA debe trabajar con programadores de aplicaciones y usuarios para enseñarles los estándares y procedimientos requeridos para acceder y manipulas los datos. Construir la confianza del usuario. • Manejo del entrenamiento y soporte de los usuarios del SGBD. El DBA debe garantizar que todos los usuarios que acceden al la base de datos 40 tengan un conocimiento básico de las funciones y el uso del software de SMBD. 3.4.2. Políticas, procedimientos y estándares. Un componente primordial de una estrategia de administración de datos exitosa es la aplicación continua de las políticas, procedimientos y estándares para la creación, uso, distribución y eliminación de datos correctos en la base de datos. El DBA debe definir, documentar y comunicar las políticas, procedimientos y estándares antes que puedan ser aplicados. Básicamente: • Las políticas son planteamientos de dirección o acción que comunican y soportan los objetos del DBA. • Los estándares son reglas que se utilizan para evaluar la calidad de la actividad. • Los procedimientos son instrucciones escritas que describen una serie de pasos a seguir durante el desempeño de una actividad dada. Los procedimientos y estándares deben ser revisados por lo menos anualmente para mantenerlos al día. La revisión periódica de los estándares y procedimientos garantiza que la organización pueda adaptarse con rapidez a los cambios en el ambiente de trabajo provocados por fuerzas internas o externas. 3.4.3. Seguridad, privacidad e integridad de los datos. La seguridad, la privacidad e integridad de los datos guardados en la base de datos son de gran interés para los DBA que manejan las instalaciones de SGBD actuales. La tecnología ha señalado el camino hacia una mayor productividad mediante el manejo de la información. También ha hecho posible distribuir los datos a través de múltiples sitios, lo que hace más difícil mantener el control, la seguridad y la privacidad de los datos. La configuración de los datos en múltiples sitios ha hecho imperativo que el DBA utilice los mecanismos de seguridad e integridad provistos por el SGBD para la aplicación de políticas de administración de base de datos que han sido definidas como se escribió en la sección anterior. 41 Además, los DBA deben hacer equipo con expertos en seguridad en Internet, construir cortafuegos (firewalls), servicios Proxy y otros mecanismos de seguridad para salvaguardar la integridad de los datos en contra de posibles ataques externos. La protección de la seguridad y privacidad de los datos es una función del manejo de autorizaciones. El manejo de autorizaciones define procedimientos para proteger y garantizar la seguridad e integridad de las bases de datos. Estos procedimientos incluyen, pero no están limitados al manejo de acceso a usuarios, definición de visiones, control de acceso al SGBD y monitoreo del uso del SGBD. Algunas de las tareas correspondientes a este tema son: Manejo del acceso a usuarios. Esta función esta diseñada para limitar el acceso a la base de datos y es probable que incluya por lo menos los siguientes procedimientos: • Definir a cada usuario de la base de datos a nivel de sistema operativo y a nivel del SGBD. Mediante ID. • Asignar contraseñas a cada usuario. • Definir grupos de usuarios. • Asignar privilegios de acceso. Con los comandos de SQL GRANT y REVOKE. • Control de acceso físico. Definición de vistas. El DBA debe definir las vistas de datos para proteger y controlar el alcance de los datos a los que puede acceder el usuario autorizado. El SGBD debe proporcionar las herramientas que permitan definir las vistas compuestas de una o más tablas y la asignación de derechos de acceso a un usuario o grupo de usuarios. Se utiliza el comando SQL CREATE VIEW en bases de datos relacionales para crear vistas. Utilidades de control de acceso. El acceso de base de datos puede ser controlado colocando límites en el empleo de la pregunta de SGBD. El DBA debe asegurarse que tales herramientas serán usadas correctamente y solo por el personal autorizado. 42 Control de acceso a utilerías del SGBD. El DBA también debe auditar el uso de los datos guardados en la base de datos. Varios paquetes de SGBD contienen funciones que permiten crear un registro de auditoria, el que registra automáticamente una breve descripción de las operaciones de base de datos realizadas por todos los usuarios. Esa auditoria permite que el DBA descubra con precisión las violaciones de acceso. La auditoria puede ser diseñada para que registre todos los accesos a la base de datos o solo los accesos fallidos. 3.4.4. Respaldo y recuperación de los datos. Cuando los datos no están fácilmente disponibles, las empresas enfrentan perdidas potencialmente desastrosas. Por consiguiente, el respaldo de los datos y los procedimientos de recuperación son críticos en todas las instalaciones de base de datos y el DBA debe garantizar que los datos puedan ser recuperados en su totalidad en caso de una pérdida. El manejo de la seguridad, integridad, respaldo y recuperación de una base de datos es tan crítico que muchos departamentos de administración de bases de datos han creado una posición desempeñada por el oficial de seguridad de base de datos, y su trabajo es garantizar la seguridad e integridad de la base de datos. En bases de datos grandes, las actividades del oficial de seguridad a menudo se clasifican como manejo de desastres. El manejo de desastres incluye todas las actividades de administración de base de datos diseñadas para garantizar la disponibilidad de los datos después de un desastre físico o de una falla en la integridad de la base de datos. El manejo de desastres incluye toda la planificación, organización y pruebas de los planes de contingencia y procedimientos de recuperación de la base de datos. Las medidas de recuperación y respaldo deben incluir por lo menos: • Respaldos de aplicaciones y datos periódicos. • Identificación apropiada del respaldo. • Almacenamiento de respaldo conveniente y seguro. • Protección física tanto del software como del hardware. 43 • Control del acceso personal al software de una instalación de de base de datos. • Cobertura de seguro para los datos en la base de datos. Los planes de contingencia y recuperación de los datos deben ser aprobados y evaluados exhaustivamente y deben ser practicados con frecuencia. Los llamados simulacros de incendio no deben ser menospreciados y deben ser soportados y ejecutados por la administración de alto nivel. No es probable que un programa de recuperación y respaldo cubra todos los componentes de un sistema de información. Por consiguiente, es apropiado establecer prioridades con relación a la naturaleza del proceso de recuperación de datos. 3.4.5. Distribución y uso de los datos. Los datos son útiles solo cuando llegan a los usuarios correctos en el momento adecuado. El DBA es responsable de que los datos sean distribuidos a las personas apropiadas en el momento apropiado y en el formato correcto. Las tareas de uso y distribución de los datos del DBA pueden requerir mucho tiempo, en particular si la capacidad de entrega de los datos está basada en un ambiente típico de programación de aplicaciones, donde los usuarios dependen de programadores que suministran los programas para acceder a los datos guardados en la base de datos (Rob & Coronel, 2004). 3.5. Rol técnico del DBA. El rol técnico del DBA requiere un amplio entendimiento de las funciones del SGBD, la configuración, los lenguajes de programación, el modelado de datos y metodologías de diseño y otros temas relacionados con el SGBD. Por ejemplo, las actividades técnicas del DBA incluyen la selección, instalación operación, mantenimiento y actualización del SGBD y software utilitario, así como el diseño, desarrollo, ejecución y mantenimiento de los programas de aplicación que interactúan con la base de datos. 44 Muchas de las actividades técnicas del DBA son una extensión lógica de sus actividades administrativas. Por ejemplo, el DBA se encarga de la seguridad e integridad, el respaldo y recuperación, el entrenamiento y soporte de la base de datos. Por lo tanto, el rol del DBA podría ser conceptualizado como una cápsula cuyo núcleo técnico esta cubierto por una corteza claramente administrativa. Los aspectos técnicos del trabajo del DBA están enraizados el las siguientes áreas de operación (Rob & Coronel, 2004): • Evaluación, selección e instalación del SGBD y utilerías. • Diseño y ejecución de bases de datos y aplicaciones. • Pruebas y evaluaciones de bases de datos y aplicaciones. • Operación del SGBD, utilerías y aplicaciones. • Entrenamiento y soporte de los usuarios. • Mantenimiento del SGBD, utilerías y aplicaciones. 3.5.1. Evaluación, selección e instalación del SGBD y utilerías. Una de las primeras y mas importantes responsabilidades técnicas del DBA, es la selección del sistema de administración de base de datos, software utilitario y hardware de soporte que deben ser utilizados el la organización. Por consiguiente, el DBA debe desarrollar y llevar a cabo un plan de evaluación y adquisición para seleccionar el SGBD, las utilerías y el Hardware. El plan de evaluación y adquisición debe estar basado principalmente en las necesidades de la organización y no en características de software y hardware específicas. El DBA debe reconocer que la búsqueda es de soluciones a problemas y no de computadoras o software de SGBD. En otras palabras, un SGBD es una herramienta de manejo y no un juguete tecnológico. El primero y más importante paso del plan de evaluación y adquisición es determinar las necesidades de la compañía. Para establecer una imagen clara de estas necesidades, el DBA debe asegurarse de que toda la comunidad de usuarios, incluidos los gerentes de alto y mediano nivel, participen en este proceso. Una vez que se identifiquen las necesidades, los objetivos de la función 45 de administración de datos pueden ser establecidos claramente y pueden definirse las características del SGBD y los criterios de selección. Para equiparar la capacidad del SGBD con las necesidades de la organización, sería conveniente que el DBA desarrollara una lista de verificación de las características del SGBD deseadas. La lista de verificación deberá tomar en cuenta por lo menos estos temas: • Modelo de SGBD. • Capacidad de almacenamiento de datos. • Soporte de desarrollo de aplicaciones. • Seguridad e integridad. • Respaldo y recuperación. • Control de concurrencia. • Desempeño. • Herramientas de administración de base de datos. • Interoperabilidad y distribución de los datos. • Portabilidad y estándares. • Hardware. • Diccionario de datos. • Entrenamiento y soporte del vendedor. • Herramientas de terceros disponibles. • Costo. El DBA debe supervisar la instalación de todo el software y hardware diseñado para soportar la estrategia de administración de datos; debe conocer a fondo los componentes que se van a instalar; y debe estar familiarizado con la instalación, configuración y procedimientos de inicio de los componentes. Los procedimientos de instalación incluyen detalles tales como la ubicación de los archivos de registro de respaldo y transacciones, información de configuración de la red, detalles del almacenamiento físico, etc. 46 3.5.2. Diseño y ejecución de bases de datos y aplicaciones. La función de la administración de bases de datos también proporciona servicios de modelado y diseño de datos a la comunidad de usuarios. Tales servicios a menudo se coordinan con un grupo de desarrollo de aplicaciones en el departamento de procesamiento de datos. Por consiguiente, una de las principales actividades dentro de la función de administración de datos es la determinación y aplicación de los estándares y procedimientos apropiados, el DBA debe asegurarse de que las actividades de modelado y diseño de la base de datos se realicen dentro de este marco de referencia. Posteriormente, el DBA proporciona la ayuda y soporte necesarios durante el diseño de la base de datos a niveles lógico y físico. La función de la administración de base de datos generalmente requiere que varias personas se dediquen a actividades de modelado y diseño de base de datos. Algunas personas podrían ser agrupadas de acuerdo con las áreas organizacionales cubiertas por la aplicación. Por ejemplo, el personal de diseño y modelado de base de datos puede ser asignado a sistemas de producción, sistemas financieros y administrativos, sistemas de soporte ejecutivo y de toma de decisiones, etc. El DBA programa las tareas de diseño para coordinar las actividades de diseño y modelado. Tal coordinación pudiera requerir la resignación de los recursos disponibles con base en prioridades externamente determinadas. La administración de base de datos también proporciona servicios de diseño de transacciones en base de datos y de aseguramiento de la calidad e integridad a los programadores de aplicaciones. Los servicios de soporte incluyen la revisión del diseño de aplicación de base de datos para garantizar que las transacciones: • Son correctas, las transacciones reflejan eventos reales. • Son eficientes, las transacciones no sobrecargan el SMBD. • Acatan las reglas de integridad y estándares. Estas actividades requieren personal con una amplia variedad de habilidades de programación y diseño de base de datos. 47 La ejecución de las aplicaciones requiere la ejecución de la base de datos física. Por consiguiente, el DBA debe ayudar y vigilar y ayudar durante el diseño físico, incluidas la determinación y creación de espacio de almacenamiento, carga de datos, conversión y servicios de migración de base de datos. Las tareas de ejecución del DBA también incluyen la generación, compilación y almacenamiento del plan de acceso de aplicaciones. Un plan de acceso es un procedimiento guardado que, durante la compilación, predetermina la manera en que la aplicación accederá a la base de datos durante tiempo de ejecución. 3.5.3. Pruebas y evaluaciones de bases de datos y aplicaciones. El DBA también debe probar y evaluar servicios proporcionados por todas las aplicaciones de usuario y de base de datos. Estos servicios son la extensión lógica de los servicios de diseño, desarrollo y ejecución descritos en la selección precedente. Claramente, los procedimientos y estándares de prueba ya deben de estar en su lugar antes que cualquier programa de aplicación pueda ser aprobado para ser utilizado en la compañía. Las pruebas generalmente se inician con la carga de la base de datos de prueba. Esta base de datos contiene los datos de prueba para las aplicaciones, su propósito es verificar que las reglas de definición e integridad de los datos de los programas de base de datos y aplicación. La prueba evaluación de una aplicación de base de datos cubre todos los aspectos del sistema. El proceso de evaluación abarca • Los aspectos técnicos tanto de las aplicaciones como de la base de datos: debe evaluarse el respaldo y recuperación, la seguridad e integridad, el uso de SQL y el desempeño de las aplicaciones. • La evaluación de la documentación escrita para asegurarse de que la documentación y procedimientos son precisos y fáciles de seguir. • La observancia de estándares de nominación, codificación. • Los conflictos de duplicación de datos con los datos existentes. • La aplicación de todas las reglas de validación de datos. 48 Después de probar minuciosamente todas las aplicaciones, la base de datos y los procedimientos, el sistema es declarado operativo y puede ser puesto a la disposición de los usuarios. 3.5.4. Operación del SGBD, utilerías y aplicaciones. Las operaciones del SGBD se dividen en cuatro áreas principales: • Soporte del sistema. • Monitoreo y afinación del sistema. • Respaldo y recuperación. • Auditoria y monitoreo de la seguridad. Las actividades de soporte del sistema comprenden todas las actividades relacionadas con las operaciones diarias del SGBD y sus aplicaciones. Estas actividades van desde llenar los registros de trabajo, hasta cambiar las cintas para verificar el estado del hardware, paquetes de discos, fuentes de poder de emergencia, etc. Las actividades relacionadas con el sistema incluyen tareas periódicas y ocasionales como la ejecución de programas especiales y configuraciones de los recursos de versiones nuevas o actualizadas de aplicaciones de base de datos. El monitoreo y afinación del desempeño demandan mucha atención y tiempo del DBA. El objetivo de esas actividades es garantizar que las utilerías del SGBD y las aplicaciones conserven niveles de desempeño aceptables. Para realizar las tareas de monitoreo y afinación del desempeño el DBA debe: • Establecer objetivos de desempeño del SGBD. • Monitorear el SGBD para evaluar si los objetivos de desempeño se están cumpliendo. • Aislar el problema y encontrar soluciones alternas. • Poner en marcha la solución de desempeño seleccionada. Con frecuencia los SGBD incluyen herramientas de monitoreo de desempeño que permitan que el DBA consulte información sobre el uso de la base de datos. 49 Como es probable que la perdida de datos sea devastadora para la organización, las actividades de recuperación y respaldo son de primordial interés durante la operación del SGBD. El DBA debe programar el respaldo de la base de datos y los archivos de registro a intervalos apropiados. La frecuenta del respaldo depende del tipo de aplicación y de la importancia relativa de los datos. Todos los componentes críticos del sistema – la base de datos, las aplicaciones de la base de datos y los registros de transacciones – deben ser respaldados periódicamente. La recuperación de una base de datos. Después de una falla de los sistemas o los medios magnéticos de almacenamiento, requiere que se aplique el registro de transacciones a la copia correcta de la base de datos. El DBA debe planificar, ejecutar probar y aplicar un procedimiento de respaldo y recuperación a prueba de fallas. La auditoría y monitoreo de la seguridad presuponen la asignación de derechos de acceso y el uso apropiado de estos privilegios de acceso por parte de programadores y usuarios. Los aspectos técnicos de la auditoría y monitoreo de la seguridad se encuentran en la creación de usuarios, la asignación de derechos de acceso a usuarios y objetos de la base de datos, y el uso de auditorias para determinar la existencia de violaciones de la seguridad o intentos de violarla. El DBA debe generar periódicamente un reporte de auditoria para determinar si ha habido violaciones de la seguridad intentada o real – y si las hubo, desde dónde y de ser posible, quien intento hacerlo. 3.5.5. Entrenamiento y soporte de los usuarios. El entrenamiento del personal en el uso del SGBD y sus herramientas es un de las actividades técnicas del DBA. Además, el DBA proporciona y garantiza el entrenamiento técnico en el uso del SGBD y sus utilerías para los programadores de aplicaciones. El entrenamiento del programador de aplicaciones comprende el uso de herramientas del SGBD, así como los procedimientos y estándares requeridos para programar bases de datos. 50 El soporte técnico no programado, a solicitud para usuarios y programadores, también esta incluido en las actividades del DBA puede desarrollarse un procedimiento técnico de solución de problemas para facilitar el soporte. El procedimiento técnico podría incluir el desarrollo de una base de datos técnica utilizada para encontrar soluciones a problemas técnicos comunes. Una parte del soporte esta provista por la interacción con los vendedores del SGBD. El establecimiento de buenas relaciones con los proveedores de software es una manera de garantizar que la compañía siempre tendrá una buena fuente de soporte externo. Los vendedores son la fuente de información de actualización con relación a nuevos productos y reentrenamiento del personal. También es probable que las buenas relaciones vendedor- compañía le den a las organizaciones una ventaja el determinar la dirección futura del desarrollo de base de datos. 3.5.6. Mantenimiento del SGBD, utilerías y aplicaciones. Las actividades de mantenimiento del DBA son una extensión de las actividades operativas. Las actividades de mantenimiento están dedicadas a la preservación del ambiente del SGBD. El mantenimiento periódico del SGBD incluye el manejo de los dispositivos de almacenamiento secundario. Una de las actividades de mantenimiento más comunes es reorganizar la ubicación física de los datos en la base de datos. La reorganización de una base de datos podría diseñarse para que asigne ubicaciones de página de disco contigua el SGBD, para incrementar el desempeño. El proceso de reorganización también podría liberar el espacio asignado a los datos eliminados, con lo que se obtiene más espacio de disco para datos nuevos. Las actividades de mantenimiento también incluyen la actualización del SGBD y software de utilería. La actualización podría requerir la instalación de una nueva versión del software del SGBD en una herramienta frontal de Internet; o podría crearse un programa adicional de entrada al SGBD que permita acceder a un SGBD anfitrión ejecutado en una computadora principal diferente. Los servicios de 51 entrada a SGBD son muy comunes en aplicaciones de SGBD distribuido que se ejecutan en un ambiente cliente/servidor. Así mismo, una nueva generación de bases de datos incluye características como soporte de datos especiales, almacenamiento de datos, soporte de consultas en estrella y soporte de interfaces de programación java para acceder a Internet (Rob & Coronel, 2004). 52 CAPÍTULO IV: USO DE ORACLE PARA LA ADMNISTRACIÓN DE BASES DE DATOS 4.1. Introducción. En el capítulo II se analizo la importancia de utilizar un SGBD Oracle y el porque de utilizar este sistema, además de definir los desafíos de negocio que la compañía Oracle tiene. Después en el capitulo III se ha analizado el ambiente de trabajo y las responsabilidades del DBA en términos generales. El objetivo fue dar una vasta visión de la amplia variedad de actividades de manejo, tanto técnicas como administrativas, enfrentadas por los profesionales de la administración de la base de datos. En este capítulo se examinará con más detalle como un DBA podría manejar las tareas en un SGBD específico (Oracle 10g). Muchas de estas tareas requieren que el DBA utilice herramientas y utilerías de software que comúnmente son provistas por el vendedor de la base de datos, de hecho todos lo vendedores de SGBD proporcionan un conjunto de programas para interactuar con la base de datos y para realizar una amplia variedad de tareas administrativas de la base de datos. No hay que olvidar que el DBA realiza la mayoría de las tareas descritas en esta sección sin importar que SGBD o sistema operativo utilice. Sin embargo, la ejecución de esas tareas tienden a estar relacionadas con el SGBD y con el sistema operativo. 4.2. Herramientas Oracle de administración de base de datos. Todos los proveedores de bases de datos suministran un conjunto de herramientas de administración de base de datos. Una instalación oracle generalmente contiene una barra de menús que despliega las herramientas de administración de base de datos principales la cual se llama barra de herramientas administradora o consola administradora de de base de datos Oracle. 54 Oracle Enterprise Manager es un marco adecuado especialmente para tareas de administración. Dispone de una consola administrativa robusta, rica en herramientas que posibilitan la detección de solución y simplificación de un conjunto muy completo de problemas que pueden presentarse en la administración del entorno completo de Oracle. La página inicial de Oracle Enterprise Manager permite ver el estado actual de la base de datos mostrando una serie de métricas que incluyen el estado general de la base de datos. Proporciona un punto de partida para el estado de la base de datos y la administración y configuración del entorno de la base de datos. Contiene 4 páginas a las que se accede mediante sub separadores y cada una muestra varias sub secciones: Inicio. Muestra varias secciones: general, alertas, alertas relacionadas y enlaces relacionados. Se puede utilizar la opción “cambiar estado” para iniciar o parar la base de datos. Rendimiento. Se utiliza para ver el estado global de la base de datos actual e identificar la causa de los cuellos de botella. Administración. Permite configurar y ajustar algunos aspectos de la base de datos para mejorar el rendimiento y ajustar los valores. Las tareas que se realizan en esta sección son: • Crear y abrir la base de datos. • Gestionar la seguridad a través de usuarios y roles. • Gestionar los recursos de la base de datos. • Implementar el diseño de la base de datos mediante la gestión de tipos de orígenes y objetos de esquema. • Gestionar la configuración de la base de datos. Mantenimiento. Realizar tareas como exportar e importar datos de archivos, cargar datos en una base de datos Oracle desde un archivo y recopilar. Consta de 2 secciones: utilidades y gestión de software (Pérez, 2005). 55 4.3. Inicio de sesión predeterminado. Para ejecutar un programa administrativo, habrá que conectarse a la base de datos con un nombre de usuario con privilegios administrativos (DBA). La pantalla de información de inicio de sesión requiere que un DBA suministre la siguiente información: • Un nombre de usuario y una contraseña válidos para la base de datos que desea abrirse. • El nombre de la base de datos que desea abrirse. • El valor predeterminado del campo connect As es “normal”; se recomienda permanecer con esta entrada predeterminada. Una de las características más atractivas de la barra administradora es que permite configurar la información de inicio de sesión predeterminada. Esta configuración permite ejecutar los programas sin tener que completar el procedimiento de inicio de sesión cada vez que se selecciona un programa en la barra administradora. Más bien, se utilizara la información de inicio de sesión predeterminada para cada aplicación. Cuando se crea una nueva base de datos, Oracle crea dos usuarios predeterminados: SYSTEM y SYS. Ambos tendrán privilegios de administrador de base de datos (DBA). Se debe tomar en cuenta que los nombres de usuarios y contraseñas son propios de la base de datos, por consiguiente, cada base de datos puede temer diferentes nombres de usuarios y contraseñas. Una de las primeras cosas que habrá de hacer es cambiar las contraseñas de los dos usuarios predeterminados (SYSTEM y SYS). Inmediatamente después de hacerlo puede empezar a crear usuarios y asignarles privilegios de la base de datos (Rob & Coronel, 2004). 4.4. Aseguramiento de inicio de SGBD automático. Una de las tareas básicas es asegurarse que el acceso a la base de datos se inicie automáticamente cuando se prende la computadora. Los procedimientos de 56 inicio serán diferentes para cada sistema operativo. Para Windows se utilizara el programa de control “Services” localizado en el panel de control de Windows. El cual muestra todos los servicios ejecutados en la computadora (un servicio es el nombre de Windows para un programa especial que funciona como parte del sistema operativo. Este programa garantiza la disponibilidad de los servicios requeridos del sistema para el sistema y usuarios en la computadora local o el la red). Los servicios requeridos de Oracle son: • El servicio OracleNameService proporciona servicios de resolución de nombre para las bases de datos. Cada base de datos Oracle debe tener un nombre único que la identifica en la red. Permite que cada usuario se refiera a cada base de datos por su nombre sin tener que especificar donde esta localizada. • El servicio OracleTNSlistener es el proceso que “escucha” y procesa las solicitudes de conexión de l usuario en la red. Por ejemplo cuando se envía una solicitud de conexión SQL el servicio de escucha tomará la solicitud, la validara y establecerá la conexión. • Los servicios OracleSErviceORCL y OracleStarOCL son parte de la base de datos predeterminada que fue creada cuando se instaló Oracle. El sufijo “ORCL” es utilizado por la instancia de base de datos predeterminada. Una instancia de base de datos se refiere a los procesos Oracle ejecutados en la memoria que están asociados con una base de datos específica puede pensarse en una instancia de base de datos como una ubicación distinta en la memoria que está reservada para ejecutar la base de datos. el servicio OracleStarORCL inicia automáticamente la instancia de la base de datos en el momento de inicialización (Rob & Coronel, 2004). 4.5. Utilización del directorio de almacenamiento. En un SGBD, los archivos que guardan la base de datos son creados por el SGBD, y no por el usuario. Debido a que todas las operaciones de archivado de datos son realizadas por el SGBD, el usuario no conoce y no necesita conocer la estructura de archivos de la base de datos. 57 A nivel lógico el SGBD presenta la base de datos como una sola estructura lógica al usuario. A este no le preocupan, ni tiene porque preocuparse, por los detalles físicos de cómo se guardan los datos en los archivos. El SGBD de Oracle Maneja la base de datos a nivel lógico y a nivel físico de la siguiente manera: • Esta lógicamente compuesta de uno o más espacios de tabla. Un espacio de tabla es un espacio de almacenamiento lógico. Los espacios de tabla se utilizan principalmente para agrupar datos relacionados de una manera lógica. • Los datos en espacio de tabla se guardan físicamente en uno o más archivos de datos. un archivo de datos guarda físicamente los datos de la base de datos. cada archivo de datos esta asociado con uno y sólo un espacio de tabla. Dada la descripción anterior de espacios de tabla y archivos de datos, puede concluirse que una base de datos tiene una relación de uno a muchos con los archivos de datos. Este conjunto de relaciones jerárquicas 1: M, aísla al usuario de cualquier detalle físico. Sin embargo, el DBA debe estar enterado de estos detalles para manejar apropiadamente la base de datos. Cuando El DBA crea una base de datos, Oracle crea automáticamente los siguientes espacios de tabla y archivos de datos: • El espacio de tabla SYSTEM se utiliza para guardar la tabla e indexar los datos creados por los usuarios. Este espacio de tabla esta asociado con el archivo de datos USR1ORCL.ORA. • El espacio de tabla USER_DATA sirve para almacenar la tabla e indicar los datos creados por el usuario final. Este espacio de tabla esta asociado con el archivo de datos USR1ORCL.ORA. • El espacio de tabla TEMPORARY_DATA se utiliza para guardar las tablas temporales e índices creados durante la ejecución de sentencias SQL. Este espacio de tabla se asocia con el archivo de datos TMP1ORCL.ORA. • El espacio de tabla ROLLBACK_DATA se utiliza para guardar la información de recuperación de transacciones de base de datos. si por 58 cualquier razón una transacción debe ser recuperada. Este espacio de tabla esta asociado con el archivo de datos RBS1ORCL.ORA (Rob & Coronel, 2004). 4.6. Administración de los objetos de la base de datos: tablas, vistas, activadores y procedimientos. Otro aspecto importante del manejo de una base de datos es monitorear los objetos que se crearon en la base de datos. El Enterprise Manager de Oracle pone a la disposición del DBA una interfaz de usuario gráfica para crear, editar, ver y eliminar objetos de la base de datos. Un objeto de la base de datos es básicamente cualquier objeto creado por los usuarios, por ejemplo: tablas, vistas, índices, procedimientos guardados y activadores. Un esquema Oracle es una sección lógica de la base de datos que pertenece a un usuario dado. Y ese esquema se identifica con su nombre de usuario. Por ejemplo, si el usuario de nombre SYSTEM crea una tabla VENDEDOR, la tabla pertenece al esquema SYSTEM. Oracle antepone el nombre del usuario al nombre de la tabla, por consiguiente, la tabla VENDEDOR de SYSTEM será renombrada como SYSTEM.VENDEDOR por Oracle. Dentro del esquema el usuario puede crear sus propias tablas y otros objetos. Pueden tenerse tantos esquemas diferentes en la base de datos como diferentes usuarios. Como cada usuario ve solo los objetos creados por el, cada uno de ellos puede tener la impresión de que es el único usuario de la base de datos. Normalmente el usuario esta autorizado a acceder sólo a los objetos que pertenecen a su esquema. El usuario, desde luego, podría permitir el acceso a sus datos a otros usuarios si cambia los derechos de acceso. De hecho, todos los usuarios con autorización del DBA tienen acceso a todos los objetos en todos los esquemas de la base de datos. El Oracle Enterprise Manager presenta una vista organizada de todos los datos guardados en el esquema de la base de datos. Con este programa el DBA puede crear, editar, ver y eliminar tablas, índices, vistas, funciones, activadores, procedimientos y otros objetos especializados. 59 También muestra las tablas de bases de datos que forman el diccionario de datos Oracle. Por ejemplo, el DBA puede consultar la tabla ALL_VIEWS para generar una lista de todas las vistas definidas, o la tabla ALL_USERS para generar una lista de todos los usuarios de la base de datos definidos (Rob & Coronel, 2004). 4.7. Manejo de los usuarios y establecimiento de la seguridad. Una de las actividades de la administración de base de datos más comunes es la creación y manejo de los usuarios de bases de datos. Para realizar esta tarea, los SGBD ofrecen programas de administración que facilitan la creación, manejo y eliminación de usuarios de base de datos (en realidad la creación de identificaciones de usuario es sólo el primer componente de cualquier función de seguridad de base de datos bien planeada. Como ya se indico, la seguridad de las bases de datos es una de las tareas de la administración de base de datos más importante). El Oracle Enterprise Manager permite al DBA crear usuarios, roles y perfiles: • Un usuario es un objeto identificable único que permite que una persona dada entre en la base de datos. Dentro de la asignación de privilegios el DBA puede especificar un conjunto de límites que definan cuantos de los recursos de la base de datos puede utilizar el usuario. • Un rol es un conjunto nombrado de privilegios de acceso a una base de datos que autoriza a un usuario a conectarse a ésta y a utilizar sus recursos. Algunos ejemplos de roles son: o CONNECT: permite que un usuario se conecte a la base de datos y cree y modifique tablas, vistas y otros objetos relacionados con los datos. o RESOURSE: Este rol permite que el usuario cree activadores, procedimientos y otros objetos de manejo. o El DBA otorga al usuario privilegios de administración de la base de datos. 60 • Un perfil es un conjunto de ajustes que controlan cuantos de los recursos de una base de datos puede utilizar el usuario (si se considera la posibilidad de que una consulta desertora pudiera provocar que la base de datos se bloquee o deje de responder a los comandos del usuario). Al especificar perfiles, el DBA puede limitar la cantidad de espacio de almacenamiento que el usuario puede utilizar, cuanto tiempo puede estar conectado un usuario, cuanto tiempo ocioso puede ser utilizado antes que el usuario sea desconectado, etc. En un mundo ideal, todos los usuarios tendrían un acceso ilimitado a todos los recursos en todos los momentos, pero en el mundo real se sabe que tal acceso ni es posible ni es deseable (Rob & Coronel, 2004). 4.8. Personalización de los parámetros de inicialización de la base de datos. La afinación de una base de datos es otra tarea importante del DBA. Esta tarea generalmente requiere la modificación de algunos parámetros de configuración de base de datos, algunos de los cuales pueden ser cambiados en tiempo real, mediante comandos SQL, mientras que otros requieren que se apague y reinicie la base de datos. Además, algunos parámetros pueden afectar sólo la instancia de base de datos, mientras que otros afectan el SGBD y a todas las instancias que se están ejecutando. Así que, es muy importante que el DBA conozca los parámetros de configuración de la base de datos, en especial aquellos que afectan el desempeño. Cada base de datos tiene un archivo de inicialización asociado que guarda sus parámetros de configuración de tiempo de ejecución. Este archivo de inicialización es un archivo de texto ASCII, normalmente llamado INITXXXX.ORA donde XXXX es una ID de instancia de cuatro letras. El archivo de inicialización es leído cuando se inicia la instancia y se utiliza para establecer el ambiente de trabajo para la base de datos. El Enterprise Manager de Oracle permite que el DBA inicie, interrumpa, vea y edite los parámetros de configuración de la base de datos (guardados en el archivo de inicialización) de una instancia de base de datos. El 61 programa Oracle Enterprise Manager proporciona una pantalla para modificar archivos de texto. Una de las funciones importantes provistas por los parámetros de inicialización, es reservar los recursos que van a ser utilizados por la base de datos en tiempo de ejecución. Uno de esos recursos es la memoria principal que va a ser reservada para el copiado en disco de las transacciones realizadas en la base de datos. Tal copiado en disco duro se utiliza para afinar el desempeño de la base de datos. Una vez que se modifican los parámetros de inicialización, podría requerirse la reinicialización de la base de datos. Como se vio en esta sección el DBA es responsable de una amplia variedad de tareas. La calidad y características de las herramientas de administración disponibles facilitan el trabajo del DBA. Aún así, es crítico que el DBA se familiarice con las herramientas y detalles técnicos del SGBD para realizar apropiada y eficientemente su trabajo (Rob & Coronel, 2004). 62 CAPÍTULO V: ORACLE ENTERPRISE MANAGER 10g PARA LA ADMINISTRACIÓN DE BASES DE DATOS 5.1. Introducción. En este capítulo se definen las características de Oracle 10g y las ventajas de utilizar esta herramienta. Además se presenta una colección de imágenes las cuales muestran la interfaz del Oracle Enterprise Manager como principal herramienta de apoyo para la administración de bases de datos. También se puede observar de una manera visual las funciones que realiza el DBA en la plataforma de Oracle 10g. Este capítulo también sirve como material de apoyo para aquellas personas que estén interesadas en conocer de una manera clara y sencilla la herramienta Oracle Enterprise Manager. 5.2. Características de Oracle 10g. Oracle 10g es la suite de productos de software de la compañía Oracle basados en la tecnología del Grid (malla). La computación Grid consiste en la interconexión de un número variable de computadoras para que actúen como un gran equipo capaz de dar velocidad de procesamiento necesaria a todos los usuarios de la red, de acuerdo a sus necesidades del momento con una distribución óptima de recursos. El Grid es una arquitectura que ocupa múltiples servidores y capacidad de almacenamiento y procesamiento en una estructura más económica y flexible que atiende todos los requerimientos de la organización, ofreciendo el modelo computacional llamado on-demand. Este anglicismo significa que los recursos para procesamiento de datos estarán disponibles para los usuarios en la medida en la que estos los vayan necesitando. Las empresas pequeñas, medianas y grandes de hoy en día, están empezando a percibir la necesidad de tener un esquema de computación Grid. Con la 64 masificación de Internet, e-business y outsoursing (contratación de servicios a terceros), las posibilidades de la computación Grid son enormes. Las empresas necesitan focalizarse en mejorar su competitividad y delegar la administración del crecimiento de los recursos de tecnologías de información a un sistema robusto, confiable y flexible que controle su crecimiento bajo demanda. Para Oracle el término on-demand significa balancear y optimizar la capacidad que ya existe, es decir, hacer más con menos. La novedad principal de Oracle 10g descansa precisamente en la preparación de dicho software para poder encajar en el modelo del Grid (Pérez, 2005). 5.3. Ventajas de utilizar Oracle 10g. Algunas de las ventajas por las cuales utilizar el Oracle 10g son las siguientes (Pérez, 2005): Utilización de tecnología Grid. • Con la computación Grid de Oracle no hay necesidad de adquirir un nuevo servidor para incrementar la capacidad del sistema, ya que esta se reubica donde quiera que se necesite. • Oracle Grid computing genera un nuevo paradigma informático donde se utilizan los recursos que, de otro modo se están desperdiciando, por lo que las empresas de cualquier tamaño pueden reducir sus costos de informática entre un 30% y 70%. • A través de la computación Grid de Oracle, que utiliza un esquema de recursos compartidos, y un esquema de outsourcing, las pymes pueden tener acceso a servidores, capacidad, software y otros recursos que antes hubieran tenido costos prohibitivos. • Oracle Grid agrupa en malla (a modo de panel) y distribuye servidores y recursos de almacenamiento. Con esta estructura de Grid se consigue almacenamiento eficiente para toda la información, utilización óptima de recursos, máximo nivel de servicios, facilidad de gestión y mejora de desarrollo de aplicaciones. 65 Almacenamiento eficiente de la información. • En un entorno estándar, distribuir los datos a lo largo de los discos para obtener un rendimiento mimo puede ser una tarea ardua y que consume mucho tiempo. El Administrador Automático de Almacenamiento (ASM por sus siglas en ingles), de Oracle 10g soluciona este problema permitiendo a la base de datos gestionar directamente discos en crudo. ASM distribuye automáticamente todos los datos de la base de datos a través de todos los discos, proporcionando el mayor numero de entradas/salidas sin ningún tipo de tarea de gestión • Por otra parte la posibilidad de pérdida de datos debido a errores humanos se elimina, ya que ASM maneja la eliminación de los ficheros que dejan de ser parte de la base de datos. • Oracle 10g gestiona toda la información relacional, email, documentos, multimedia y XML. Las capacidades XML de Oracle 10g han sido extendidas para gestionar de manera mas efectiva grandes cantidades de datos XML que pueden ser almacenados de forma nativa en la base de datos con un rendimiento y escalabilidad óptimos. • El límite del tamaño de la base de datos se ha elevado gracias a la introducción de los ficheros “ultra large” (terabytes en un solo fichero). • Para ayudar a migrar, al Enterprise Grid, Oracle 10g incluye “Oracle Data pump”, que permite el movimiento de datos desde una base de datos a otra de una manera rápida, a través de plataformas e incluso versiones de bases de datos. • Oracle 10g incluye el “Flashback”, que es una característica que permite al administrador rebobinar la actividad en la base de datos y puede ser ejecutado a nivel fila, transacción, tabla e incluso base de datos. La recuperación hasta un punto en el tiempo puede ser realizada en pocos minutos no siendo necesaria una restauración del backup y la consiguiente recuperación. Además el back up automático de recuperación puede mantener un área de recuperación en un disco que es actualizado incrementalmente. 66 Facilidad de gestión. • Oracle 10g ha dado un gran paso en la simplificación y automatización de todas las tareas en todo el ciclo de vida de la gestión de bases de datos. Se ha simplificado la instalación y configuración de la base de datos haciéndola mucho mas rápida y ligera. • Oracle 10g tiene la capacidad de actuar como un proveedor y consumidor de servicios web incluyendo la herramienta “HTML Database”, un entorno de desarrollo que permite la creación de aplicaciones web basadas en la base de datos. • Para facilitar la gestión, Oracle 10g realiza diagnósticos de rendimiento automático. El Automatic Workload Repository (AWR) se ha introducido para recoger y almacenar periódicamente información relativa a la actividad del sistema y carga de trabajo. Un nuevo motor de diagnostico llamado Automatic Database Diagnostics Monitor (ADDM) analiza esta información. Un área examinada por ADDM son las sentencias SQL que más se consumen, una vez identificadas ADDM pasa las sentencias SQL al SQL Tuning Advisor, que proporciona consejos sobre como mejorar el rendimiento, y que se dan en forma de una o mas recomendaciones con el beneficio estimado una vez se implementen. 5.4. Creación de la base de datos Oracle. En Oracle existe un asistente que permite crear, configurar, borrar y administrar una base de datos fácilmente ya que te va guiando paso a paso hasta lograr lo que se requiera hacer (Oracle Database 10g Administration Workshop I, 2008). Asistente de configuración de base de datos (DBCA). Se puede utilizar el Asistente de configuración de base de datos (DBCA) para crear, cambiar la configuración, o eliminar una base de datos. También se puede crear una base de datos de una lista de plantillas predefinidas o utilizar una base 67 de datos existente. La figura 5.1 muestra el asistente de configuración de base de datos. Uso del DBCA para eliminar una base de datos. También se puede utilizar el asistente de configuración de base de datos (DBAC) para eliminar una base de datos. El comando DROP DATABASE no tiene ningún efecto en los archivos de registro archivados ni tiene ningún efecto en los ejemplares o copias de seguridad de la base de datos. Es mejor utilizar Recovery Manager (RMAN) para eliminar estos archivos. La figura 5.1 muestra la pantalla del asistente donde se puede eliminar una base de datos. Figura 5.1 Asistente de configuración de base de datos. Fuente: Oracle Database 10g Administration Workshop I, 2008. Administración de contraseñas. Una vez finalizada la DBCA, se debe tener en cuenta la siguiente información para referencia futura: • Ubicación de los archivos de registro de instalación (ver A) figura 5.2. • Nombre de la base de datos mundial (véase B) figura 5.2. 68 • Identificador del sistema, servidor de archivos de parámetro y ubicación (ver B) figura 5.2. • Enterprise Manager URL (ver C) figura 5.2. La figura 5.2 muestra la pantalla de administración de contraseñas. Creación de una plantilla de diseño de bases de datos. Una plantilla es una definición de base de datos predefinidos que se utiliza como punto de partida de una nueva base de datos. Si no se crea una plantilla, como parte del proceso de creación de bases de datos, Se puede hacer en cualquier momento, invocando el DBCA. Hay tres formas para crear una plantilla: • A partir de una plantilla existente. • A partir de una base de datos existente (sólo la estructura). • A partir de una base de datos existente (estructura y de datos). La figura 5.3 muestra la pantalla de creación de una plantilla. Figura 5.2 Administración de contraseñas. Fuente: Oracle Database 10g Administration Workshop I, 2008. 69 Figura 5.3 Creación de una plantilla. Fuente: Oracle Database 10g Administration Workshop I, 2008. 5.5. Administración de la instancia de Oracle. Para poder administrar la instancia de Oracle se cuenta con la herramienta Oracle Enterprise manager. Cuando se instala una base de datos de Oracle, también se instala el Oracle Enterprise Manager. Que es la herramienta principal para la gestión de base de datos de Oracle (Oracle Database 10g Administration Workshop I, 2008). Oracle Enterprise Manager. El Enterprise Manager de Oracle proporciona una interfaz gráfica para hacer casi cualquier tarea que tendría que hacer un administrador de base de datos (DBA). La figura 5.4 muestra la pantalla principal del Oracle Enterprise Manager. 70 Figura 5.4 Pantalla principal del Oracle Enterprise Manager. Fuente: Oracle Database 10g Administration Workshop I, 2008. Página de inicio de base de datos. La página principal muestra el estado actual de la base de datos además de una serie de indicadores que describen el estatus general de la base de datos. Con las páginas de propiedades, que también se ve aquí, se puede acceder a la ejecución, administración y mantenimiento de páginas para la gestión de su base de datos. La figura 5.5 muestra la pantalla de inicio de base de datos. Ver y modificar los parámetros de inicialización. Se puede utilizar el Enterprise Manager para ver y modificar los parámetros de inicialización. En la figura 5.6 se muestra la pantalla para ver y modificar los parámetros de inicialización. 71 Figura 5.5 Página de inicio de base de datos. Fuente: Oracle Database 10g Administration Workshop I, 2008. Figura 5.6 Ver y modificar los parámetros de inicialización. Fuente: Oracle Database 10g Administration Workshop I, 2008. 72 Inicio y cierre de la base de datos. Al hacer clic en inicio o apagado, se le solicitará las credenciales (username y password) que se utilizan para iniciar sesión en el host (equipo en el que reside la base de datos) y para acceder a la base de datos. Se hace clic en Opciones avanzadas para cambiar las opciones de inicio o en el modo de apagado, según sea necesario. También, se puede hacer clic en Mostrar SQL para ver las instrucciones SQL que se utilizan para el inicio o el apagado. En la figura 5.7 se muestra la pantalla para iniciar y cerrar la base de datos. Figura 5.7 Inicio y cierre de la base de datos. Fuente: Oracle Database 10g Administration Workshop I, 2008. Puesta en marcha de una instancia de base de datos Oracle. Si la base de datos no está iniciada, en página de Enterprise Manager Database Control hacer clic en inicio para realizar el arranque. Escribir las credenciales de host y, opcionalmente, elegir el modo de inicio. La figura 5.8 muestra la pantalla para iniciar una instancia de base de datos Oracle. 73 Figura 5.8 Puesta en marcha de una instancia de base de datos Oracle. Fuente: Oracle Database 10g Administration Workshop I, 2008. Apagar una instancia de base de datos Oracle. Si la instancia se ha iniciado cuando vaya a la página de Enterprise Manager Database Control, usted puede hacer clic en el botón Apagar para cerrar la instancia. Haga clic en el botón Opciones avanzadas, para seleccionar el modo de la parada: Normal, transaccional, inmediata, o abortar. La figura 5.9 muestra la pantalla para apagar una instancia de base de datos Oracle. Ver la alerta de registro. Cada base de datos tiene un archivo de registro. Este se encuentra en el servidor con la base de datos y se almacena en el directorio especificado con el parámetro background_dump_destinitialization. El archivo de alerta de una base de datos es un registro cronológico de los mensajes y errores. El Enterprise Manager supervisa el archivo de alerta de registro y te avisa de los errores críticos. También se puede ver el registro para ver los errores no críticos y mensajes informativos. La figura 5.10 muestra la pantalla que supervisa el archivo de alerta de registro. 74 Figura 5.9 Apagar una instancia de base de datos Oracle. Fuente: Oracle Database 10g Administration Workshop I, 2008. Figura 5.10 Ver la alerta de registro. Fuente: Oracle Database 10g Administration Workshop I, 2008. 75 Ver historial de alertas. La página Historial de alertas tiene un gráfico que muestra la historia de alertas de la base de datos actual en segmentos de tiempo, que uno designe. Una alerta indica un problema potencial: ya sea una advertencia o que un objetivo ya no está disponible. La figura 5.11 muestra la pantalla de historial de alertas. Figura 5.11 Pantalla de historial de alertas. Fuente: Oracle Database 10g Administration Workshop I, 2008. 5.6. Estructuras de almacenamiento. Existen diferentes estructuras de almacenamiento dentro de la instancia de la base de datos El Enterprise Manager proporciona una pantalla donde se pueden acceder a todas estas estructuras (Oracle Database 10g Administration Workshop I, 2008). Exploración de la estructura de almacenamiento. Se pueden ver las estructuras lógicas de la base de datos a través del Enterprise Manager. Muestra la información detallada sobre cada estructura, esto se puede obtener haciendo clic en los vínculos de la región de almacenamiento de la página 76 de Administración. La figura 5.12 muestra la pantalla de exploración de estructuras de almacenamiento. Figura 5.12 Estructuras de almacenamiento. Fuente: Oracle Database 10g Administration Workshop I, 2008. Creación de un tablespace (espacio de tabla). El Oracle Enterprise proporciona una pantalla donde se puede crear un espacio de tabla nuevo y se puede especificar el tipo y el estatus. La figura 5.13 muestra esta pantalla. Modificar un tablespace. Después de crear un tablespace, se puede modificar el nombre, el estado (si es de escritura lectura o solo lectura), modo de conexión (si no se requiere que este en línea) y el tamaño. La figura 5.14 muestra la pantalla para modificar un tablespace. 77 Figura 5.13 Creación de un tablespace. Fuente: Oracle Database 10g Administration Workshop I, 2008. Figura 5.14 Modificar un tablespace. Fuente: Oracle Database 10g Administration Workshop I, 2008. 78 Acciones con tablespaces. Utilizando el menú “Acciones”, puede realizar una variedad de tareas en las tablas: • Añadir Datafile: Agrega un archivo de datos de tablas. • Crear Like: Crea otra tabla utilizando el tablespace como una plantilla. • Generar DDL: Genera el lenguaje de definición de datos (DDL) que crea el espacio de tablas. Esto puede ser copiado y pegado en un archivo de texto para su uso como una secuencia de comandos o con fines de documentación. • Colocar en línea: poner en línea un tablespaces. • Reorganizar: Inicia el Asistente de reorganización, que puede utilizar para mover objetos en el espacio de tablas. La figura 5.15 muestra la pantalla de acciones con tablespaces. Figura 5.15 Acciones con tablespaces. Fuente: Oracle Database 10g Administration Workshop I, 2008. Eliminar Tablespaces. Se puede eliminar un tablespace y su contenido (los segmentos que figuran en el espacio de tablas) de la base de datos si el tablespace y su contenido ya no son 79 necesarios. Debe tener el privilegio de sistema TABLESPACE DROP para un tablespace. No se puede eliminar una tabla que contiene los segmentos activos. La figura 5.16 muestra la pantalla para poder eliminar un tablespace. Figura 5.16 Eliminar tablespaces. Fuente: Oracle Database 10g Administration Workshop I, 2008. Ver información de un tablespace. En la pantalla ver tablespaces se puede obtener información sobre el tablespace seleccionado. También se puede modificar el tablespace. La figura 5.17 muestra la pantalla de información de tablespace. Visualización de Contenido de tablespace. En esta pagina se muestra información detallada sobre el espacio tablespace, incluyendo una lista de los segmentos en el tablespace, el tipo de cada segmento, el tamaño de segmento, y el número de extensiones que componen cada segmento. La figura 5.18 muestra la pantalla para ver el contenido de un tablespace. 80 Figura 5.17 Ver información de tablespaces. Fuente: Oracle Database 10g Administration Workshop I, 2008. Figura 5.18 Ver contenido de un tablespace. Fuente: Oracle Database 10g Administration Workshop I, 2008. 81 5.7. Administración de seguridad del usuario. El Enterprise Manager permite la administración de usuarios mediante una interfaz grafica y sencilla de utilizar (Oracle Database 10g Administration Workshop I, 2008). Creación de un usuario. Con el Enterprise Manager, se puede administrar la lista de usuarios de la base de datos, que están autorizados a acceder a la base de datos actual, utilizando la página de usuarios. Se puede utilizar esta página para crear, eliminar y modificar la configuración de un usuario. Al crear un usuario, se debe decidir sobre la técnica de autenticación, que puede ser modificada más adelante. En la figura 5.19 se muestra la pantalla para crear un usuario. Figura 5.19 Creación de un usuario. Fuente: Oracle Database 10g Administration Workshop I, 2008. Desbloqueo de una cuenta de usuario y restablecer la contraseña. Durante la instalación y la creación de bases de datos, se puede desbloquear y 82 restablecer cuentas de usuario de base de datos. La figura 5.20 muestra la pantalla para hacer estas tareas. Figura 5.20 Desbloqueo de una cuenta de usuario y restablecer la contraseña. Fuente: Oracle Database 10g Administration Workshop I, 2008. Sistema de privilegios. En esta pagina se pueden conceder privilegios a los usuarios tales como crear tabla, crear base de datos, alterar, etc. La figura 5.21 muestra la pantalla donde se pueden conceder dichos privilegios. Creación de Rol. Un Rol es un grupo de privilegios relacionados que se conceden a los usuarios. Un DBA puede administrar privilegios a través de roles. Los roles son generalmente activados por defecto. El Oracle Enterprise proporciona una pantalla para la creación de roles para los usuarios. La figura 5.22 muestra la pantalla para la creación de un rol. 83 Figura 5.21 Sistema de privilegios. Fuente: Oracle Database 10g Administration Workshop I, 2008. Figura 5.22 Creación de un rol. Fuente: Oracle Database 10g Administration Workshop I, 2008. 84 Asignación de roles a los usuarios. Un rol es un conjunto de privilegios que se pueden conceder a los usuarios o a otros roles. Se pueden utilizar las funciones para administrar los privilegios de base de datos. También se pueden agregar privilegios a una función y luego otorgar el rol a un usuario. De forma predeterminada, el Enterprise Manager concede automáticamente la función de CONNECT a los nuevos usuarios. Esto permite a los usuarios conectarse a la base de datos y crear objetos de base de datos en sus propios esquemas. La figura 5.23 muestra la pantalla para asignar roles a los usuarios. Figura 5.23 Asignar roles a los usuarios. Fuente: Oracle Database 10g Administration Workshop I, 2008. Creación de un perfil. Un Perfil impone un conjunto de límites de recursos sobre el uso de bases de datos y la instancia. Los perfiles también gestionan el estado de la cuenta y ponen límites en las contraseñas de los usuarios (longitud, el tiempo de caducidad, y así sucesivamente). Cada usuario tiene asignado un perfil y puede pertenecer a un solo perfil en cualquier momento dado. En la figura 5.24 se muestra la pantalla para crear un perfil. 85 Figura 5.24 Creación de un perfil. Fuente: Oracle Database 10g Administration Workshop I, 2008. Creación de contraseña de un perfil. En la pantalla de perfiles también se pueden crear contraseñas para los perfiles. La figura 5.25 muestra la pantalla para la creación de dichas contraseñas y algunos atributos para ellas. Figura 5.25 Creación de contraseña de un perfil. Fuente: Oracle Database 10g Administration Workshop I, 2008. 86 5.8. Administración del esquema de objetos. Un esquema es una colección de objetos de base de datos que son propiedad de un usuario en particular. Normalmente, para una base de datos, este usuario no representa a una persona, sino una aplicación. Un esquema tiene el mismo nombre que el usuario. Los objetos de esquema son las estructuras lógicas que se refieran directamente a la base de datos. Los objetos de esquema incluyen estructuras tales como tablas, vistas e índices. Se puede crear y manipular los objetos de esquema utilizando SQL o el Enterprise Manager. Cuando se utiliza el Enterprise Manager, el SQL subyacente se genera automáticamente (Oracle Database 10g Administration Workshop I, 2008). Al crear la base de datos, varios esquemas se crean. Dos de particular importancia son los siguientes: • Esquema SYS: Este contiene el diccionario de datos. • Esquema SYSTEM: contiene tablas y opiniones adicionales que almacenan la información administrativa. Acceso a los objetos de esquema. Puede acceder rápidamente a muchos tipos de objetos de esquema en la región Administración de base de datos haciendo clic en uno de los enlaces, se muestra la página de resultados. En la región de búsqueda de la página, puede introducir un nombre de esquema y el nombre del objeto para buscar un objeto específico. La figura 5.26 muestra la pantalla de acceso a dichos objetos. Crear y modificar tablas. Las tablas son las unidades básicas de almacenamiento de datos en una base de datos de Oracle. Ellas tienen todos los datos accesibles por el usuario. Cada tabla tiene columnas y filas. Se puede crear y modificar una tabla mediante el Enterprise Manager. La figura 5.27 muestra la pantalla para crear y modificar tablas. 87 Figura 5.26 Acceso a los objetos de esquema. Fuente: Oracle Database 10g Administration Workshop I, 2008. Figura 5.27 Crear y modificar tablas. Fuente: Oracle Database 10g Administration Workshop I, 2008. 88 Definición de condiciones. Se puede agregar una restricción o condición a una tabla mediante el Enterprise Manager. La figura 5.28 muestra la pantalla para definir las condiciones en las tablas. Figura 5.28 Definición de condiciones. Fuente: Oracle Database 10g Administration Workshop I, 2008. Ver las columnas en una tabla. En la pantalla de “ver tabla” se muestran los datos de cada tabla, tanto los generales como las columnas y sus características. La figura 5.29 muestra lo anterior. Ver el contenido de una tabla. El Enterprise Oracle tiene una pantalla en la cual se pueden realizar consultas mediante lenguaje SQL En esta pagina se pueden hacer dichas consultas de las tablas. La figura 5.30 se muestra dicha pantalla. 89 Figura 5.29 Ver las columnas en una tabla. Fuente: Oracle Database 10g Administration Workshop I, 2008. Figura 5.30 Ver el contenido de una tabla. Fuente: Oracle Database 10g Administration Workshop I, 2008. 90 Acciones con las tablas. Se puede seleccionar una tabla y luego realizar acciones en ella. Éstas son algunos de las acciones: • Crear una tabla igual: Con esta acción, puede crear una tabla que tiene la misma estructura que la tabla seleccionada. • Crear índice: Utilice esta opción para crear índices en una tabla. • Generar DDL: Esto genera el DDL que representa la tabla, que ya existe. Esto puede ser copiado a un archivo de texto para su uso como una secuencia de comandos o con fines de documentación. • conceder privilegios: Por defecto, cuando se crea una tabla, sólo el propietario puede hacer uso de ella. El propietario debe otorgar privilegios a otros usuarios. • Mostrar dependencias: Muestra los objetos de los que esta tabla depende u objetos que dependen de esta tabla. La figura 5.31 muestra la pantalla donde se encuentran las acciones que se pueden realizar con una tabla. Figura 5.31 Acciones con tablas. Fuente: Oracle Database 10g Administration Workshop I, 2008. 91 Crear índices. Al hacer clic en el enlace índices bajo el esquema de partida la página de Administración para ver la página de índices. Se puede ver los atributos de índice o utilizar el menú Acciones para ver las dependencias de un índice. Los índices se pueden crear de forma explícita o implícitamente a través de las restricciones que se colocan sobre una tabla. La figura 5.32 muestra la pantalla donde se pueden crean índices. 5.32 Creación de índices. Fuente: Oracle Database 10g Administration Workshop I, 2008. Crear vistas. Las vistas proporcionar un nivel adicional de seguridad al restringir el acceso a un conjunto predeterminado de filas y columnas de una tabla. También ocultan la complejidad de datos y almacenar consultas complejas. Para ver las vistas definidas en la base de datos, haga clic en el vínculo Vista bajo el esquema de la página de Administración. La figura 5.33 muestra la pantalla para crear vistas. 92 Figura 5.33 Crear vistas. Fuente: Oracle Database 10g Administration Workshop I, 2008. Creación de una secuencia. Se puede ver y crear secuencias con el Enterprise Manager, al hacer clic en el enlace de secuencias en el marco del esquema de partida de la página de Administración. La figura 5.34 muestra la pantalla donde se puede crear una secuencia. Figura 5.34 Crear una secuencia. Fuente: Oracle Database 10g Administration Workshop I, 2008. 93 5.9. Gestión de datos y de concurrencia. Para la gestión de datos y de concurrencia El Enterprise Manager de Oracle proporciona algunas herramientas que se ilustran y se describen a continuación (Oracle Database 10g Administration Workshop I, 2008). Crear funciones. Las funciones PL / SQL se utilizan normalmente para calcular un valor. Hay muchas funciones incorporadas y también los desarrolladores pueden crear sus propias funciones al escribir aplicaciones. Procedimientos. Los procedimientos PL / SQL realizar una acción específica. Al igual que las funciones, los procedimientos pueden aceptar valores de entrada y llevar a cabo sentencias condicionales como IF-THEN y CASE Paquetes. Los paquetes son grupos de funciones y procedimientos. Hay características de rendimiento y de ventajas de mantenimiento en funciones y procedimientos de agrupación en un solo paquete. La figura 5.35 muestra la pantalla donde se pueden crear las funciones. Figura 5.35 Crear funciones. Fuente: Oracle Database 10g Administration Workshop I, 2008. 94 Triggers. Los Triggers son los objetos PL / SQL de código que se almacenan en la base de datos y que se ejecutan automáticamente o cuando algo sucede. La base de datos Oracle permite muchas acciones encaminadas a servir como Trigger, incluyendo una inserción en una tabla, un usuario para acceder a la base de datos, y alguien tratando de eliminar una tabla o cambiar la configuración de auditoría. La figura 5.36 muestra la pantalla de administración de triggers. Figura 5.36 Administración de triggers. Fuente: Oracle Database 10g Administration Workshop I, 2008. 5.10. Auditoría de la base de datos. El Enterprise Manager proporciona una pantalla para realizar todo lo referente a la auditoria de bases de datos (Oracle Database 10g Administration Workshop I, 2008). Habilitar la auditoría. Se debe habilitar la auditoría de bases de datos antes de especificar la configuración de la auditoría. La figura 5.37 muestra la pantalla donde se realiza la habilitación de la auditoria. 95 Figura 5.37 Habilitar la auditoría. Fuente: Oracle Database 10g Administration Workshop I, 2008. Página de auditoría. Se puede acceder a la página de Auditoría de la página principal de control de base de datos Esta pantalla muestra todo lo referente a la auditoria de base de datos. La figura 5.38 muestra dicha pantalla. Figura 5.38 Página de auditoría. Fuente: Oracle Database 10g Administration Workshop I, 2008. 96 5.11. Configuración del entorno de red de Oracle. El Enterprise Manager proporciona un apartado para todo lo referente a la configuración del entorno de red. A continuación se muestra dicho apartado (Oracle Database 10g Administration Workshop I, 2008). Administración de páginas de servicios de red. La página de administración de servicios de red permite configurar Oracle Net Services para cualquier hogar de Oracle a través de varios sistemas de archivos. También proporciona funciones de administración común para los listeners. La figura 5.39 muestra la pantalla de inicio de servicios de red. Se puede utilizar la administración de servicios de red para configurar y administrar lo siguiente: • Listeners: Se puede agregar, quitar, iniciar y detener un listener, así como cambiar su localización y registro de características. • Directorio de nombres: Definir nombres simples y conectar los identificadores, guardar los servicios de base de datos, servicios de red, y los alias de red de servicios en un servicio de directorio centralizado. • Perfiles: Configurar los parámetros de SQLNET.ora. • Ubicación de los archivos: Cambiar la ubicación de los archivos de configuración de Servicios de Internet. Pantalla de inicio de listener. Se hace clic en el enlace de listener (oyente) en la página de base de datos de Enterprise Manager Inicio para acceder a la página principal listener. La figura 5.40 muestra la pantalla de inicio de listener. En esta página se puede ver: • El estado de listener y disponibilidad dentro de las últimas 24 horas. • La versión de listener y principal de Oracle. • La dirección de listener. La ubicación de los archivos de configuración que se utilizan para iniciar el listener. 97 Figura 5.39 Administración de páginas de servicios de red. Fuente: Oracle Database 10g Administration Workshop I, 2008. Figura 5.40 Página de inicio de listener. Fuente: Oracle Database 10g Administration Workshop I, 2008. 98 Creación de un listener. Para crear un Listener de Oracle, hacer clic en administración de servicios de red en la región de enlaces relacionados de la página de propiedades de listener. 1. Seleccione listener en el menú desplegable, hacer clic en continuar (figura 5.41). 2. Hacer clic en crear (figura 5.41). 3. Introducir un nombre de listener. El nombre debe ser único para este servidor (figura 5.41). 4. Añadir una dirección de listener. Cada oyente debe tener al menos una dirección de escucha (figura 5.41). La figura 5.41 muestra la pantalla donde se crea un listener. Figura 5.41 Creación de un listener. Fuente: Oracle Database 10g Administration Workshop I, 2008. Adición de direcciones listener. Los pasos para crear un listener son: 5. Seleccione el protocolo de red. TCP / IP es el más común y es el predeterminado (figura 5.42). 99 6. Escriba el puerto que desea que el listener controle. El puerto predeterminado es el 1521 (figura 5.42). 7. Introduzca el nombre o la dirección IP del servidor en el que el listener se ejecutará (figura 5.42). 8. Todos los otros pasos de configuración son opcionales para el listener. La figura 5.42 muestra la pantalla de adición de direcciones listener. Figura 5.42 Adición de direcciones de listener. Fuente: Oracle Database 10g Administration Workshop I, 2008. Registro de servicios de base de datos. Para que un listener transmita las conexiones de cliente a una instancia, se debe conocer el nombre de la instancia y donde se encuentra el archivo ORACLE_HOME de la instancia. La figura 5.43 muestra la pantalla de registro de servicios de base de datos. 100 Figura 5.43 Registro de servicios de base de datos. Fuente: Oracle Database 10g Administration Workshop I, 2008. Configuración de servicios de alias. Se puede configurar el servicio de los alias de directorio de nombre mediante la selección del repertorio de nombres en lugar de nombres locales. En la página Crear Net Service Name, escribir un nombre único en el campo Service Net Nombre (Este es el nombre que los usuarios escriben cuando quieren usar este alias.). Introducir el nombre del servicio o identificador de sistema (SID) de la base de datos que desea conectarse y hacer clic en el botón agregar para introducir la dirección para el nombre de servicio. Para la dirección introducir el protocolo, el puerto y host usado por el detector para el servicio que desea conectarse. La figura 5.44 muestra la configuración de servicios de alias. 101 Figura 5.44 Configuración de servicios alias. Fuente: Oracle Database 10g Administration Workshop I, 2008. 5.12. Mantenimiento de prevención. El Enterprise Manager proporciona una sección de mantenimiento de prevención el cual se muestra a continuación: (Oracle Database 10g Administration Workshop I, 2008). AWR (repositorio automático de carga de trabajo). Aquí se realiza la Gestión de la AWR. Ajustes de AWR incluyen período de retención y el intervalo de recolección. La figura 5.45 muestra la pantalla de ARW. Apreciación ADDM. Muestra un diagnóstico automático de la base de datos Por ejemplo. La gráfica muestra que el número promedio de usuarios activos aumentó dramáticamente. Se puede hacer clic en el botón “ver informe” para 102 obtener detalles sobre el análisis de rendimiento en forma de texto. La figura 5.46 muestra la pantalla de apreciación ADDM. Figura 5.45 Pantalla de ARW. Fuente: Oracle Database 10g Administration Workshop I, 2008. Figura 5.46 Apreciación ADDM. Fuente: Oracle Database 10g Administration Workshop I, 2008. 103 Recomendaciones ADDM. Se dan algunas recomendaciones para resolver algún problema. ADDM considera una variedad de cambios a un sistema, y sus recomendaciones pueden incluir: • Los cambios de hardware: Agregar CPU o cambiar la E / S de configuración del subsistema. • Configuración de base de datos: Cambio de configuración de los parámetros de inicialización. • Los cambios de esquema: particiones en la tabla o índice. La figura 5.47 muestra la pantalla de recomendaciones ADDM. Figura 5.47 Recomendaciones ADDM. Fuente: Oracle Database 10g Administration Workshop I, 2008. Asesor central. En la página central de asesor se pueden enumerar todas las tareas de asesor que se registran en el repositorio de carga de trabajo. También se puede filtrar esta lista por tipo de asesor y por períodos de tiempo predefinidos. La figura 5.48 muestra la pantalla de asesor central. 104 Figura 5.48 Asesor central. Fuente: Oracle Database 10g Administration Workshop I, 2008. Figura 5.49 Notificación de alertas. Fuente: Oracle Database 10g Administration Workshop I, 2008. 105 Notificación de alertas. Se basa en el concepto de una regla de notificación que establece el mecanismo de notificación apropiada para un conjunto de alertas próximo. En la página del asistente, puede seleccionar los indicadores (y sus niveles de gravedad) para los que desea recibir las notificaciones. La figura 5.49 muestra la pantalla de notificación de alertas. 5.13. Gestión del Rendimiento. Una tarea importante del DBA es la de gestión del rendimiento de la base de datos. El Enterprise Manager proporciona un apartado para realizar dicha tarea que a continuación se describe (Oracle Database 10g Administration Workshop I, 2008). Supervisión del rendimiento. Muestra un poderoso conjunto de herramientas de monitoreo y rendimiento de sintonización. La primera pantalla de esta página muestra un resumen de los procesos y la actividad de la sesión activa. El gráfico de “Sesiones activas” muestra el nivel de uso de la CPU y los recursos que están causando los acontecimientos de espera. La figura 5.50 muestra la pantalla para la supervisión del rendimiento de la base de datos. Asistente para la optimización de SQL Opciones y recomendaciones. Después de que se puso en marcha el Asesor de optimización de SQL. El Enterprise Manager crea automáticamente una tarea de ajuste, siempre que el usuario tenga privilegios para hacerlo. Enterprise Manager muestra la tarea de ajuste automático y opciones por defecto en la página de SQL “Opciones de optimización”. En esta página, el usuario puede cambiar los valores predeterminados automáticamente para una tarea de optimización. Si se elige la opción completa, el Asesor de optimización de SQL no solo produce todas las recomendaciones que la opción limitada ofrece, sino que también invoca 106 el optimizador en el modo de perfiles de SQL para crear un perfil de SQL, en su caso. Con la opción completa, también puede especificar un límite de tiempo para la tarea de ajuste. La figura 5.51 muestra dicha pantalla. Figura 5.50 Supervisión del rendimiento. Fuente: Oracle Database 10g Administration Workshop I, 2008. Figura 5.51 Asistente para la optimización de SQL Opciones y recomendaciones. Fuente: Oracle Database 10g Administration Workshop I, 2008. 107 Identificación de duplicados de SQL. Los duplicados de SQL pueden ser identificados Al hacer clic en Duplicar SQL en el rendimiento de página con fichas. Esto ayuda a determinar qué SQL en su aplicación puede ser consolidadas, reduciendo así los requisitos de la caché de la biblioteca y acelerar la ejecución de la sentencia. La figura 5.52 muestra la pantalla de identificación de duplicados. Figura 5.52 Identificación de duplicados. Fuente: Oracle Database 10g Administration Workshop I, 2008. Asesor de Acceso SQL. El Asesor de Acceso SQL puede hacer recomendaciones, tales como la creación de índices o vistas materializadas para mejorar el rendimiento de una consulta. La figura 5.53 muestra la pantalla del asesor de acceso SQL. 108 Figura 5.53 Asesor de acceso SQL. Fuente: Oracle Database 10g Administration Workshop I, 2008. Habilitación automática de gestión de memoria compartida (ASSM). Se Puede aumentar el tamaño total de SGA en un momento posterior al aumentar el valor del parámetro de inicialización SGA_TARGET, pero no se puede asignar más del valor especificado por el parámetro SGA_MAX_SIZE la figura 5.54 muestra la pantalla donde se efectúa dicha tarea. Administrador de configuración manual de memoria compartida. Si no utiliza el ASSM, debe proporcionar los valores para cada componente de la SGA en la instalación y creación de base de datos. La figura 5.55 muestra la pantalla para realizar la configuración manual de la memoria compartida. Asesor de memoria. El Asesor de memoria ayuda a ajustar el tamaño de las estructuras de memoria. Se puede usar este asesor sólo cuando la memoria de ajuste automático está desactivada. La figura 5.56 muestra la pantalla del asesor de memoria. 109 Figura 5.54 Habilitación automática de gestión de memoria compartida. Fuente: Oracle Database 10g Administration Workshop I, 2008. Figura 5.55 Administrador de configuración manual de memoria compartida. Fuente: Oracle Database 10g Administration Workshop I, 2008. 110 Figura 5.56 Asesor de memoria. Fuente: Oracle Database 10g Administration Workshop I, 2008. 5.14. Copia de seguridad. Una de las tareas más importantes del DBA es tener un respaldo de la base de datos. Esto para prevenir cualquier problema que pudiera surgir. El Enterprise Manager proporciona un apartado para realizar dicha tarea (Oracle Database 10g Administration Workshop I, 2008). Configuración de los valores de copia de seguridad. En esta página de propiedades, se puede administrar la configuración de copia de seguridad. La figura 5.57 muestra lo anterior. Programación de copias de seguridad: Estrategia. Esta página se utiliza para realizar la programación de copias de seguridad. La figura 5.58 muestra dicha página. 111 Figura 5.57 Configuración de los valores de copia de seguridad. Fuente: Oracle Database 10g Administration Workshop I, 2008. Figura 5.58 Programación de copias de seguridad: Estrategia. Fuente: Oracle Database 10g Administration Workshop I, 2008. 112 Programación de copias de seguridad: Opciones. Dentro de las opciones de respaldo se puede seleccionar el tipo de copia de seguridad, completa o incremental. La figura 5.59 muestra la pantalla donde se encuentran dichas opciones. Figura 5.59 Programación de copias de seguridad: Opciones. Fuente: Oracle Database 10g Administration Workshop I, 2008. Programación de copias de seguridad: Configuración. Aquí se selecciona si la copia de seguridad ira al disco o la cinta. La figura 5.60 muestra lo anterior. Programación de copias de seguridad: Calendario. Se puede elegir cómo se desea que la copia de seguridad se realice, ya sea como un trabajo de medio tiempo o como un proceso automatizado y recurrente. Para configurar una base de datos para la valorización máxima, Oracle sugiere periódicamente copias de seguridad programadas. La automatización de copias de seguridad puede simplificar la carga de trabajo del administrador. La figura 5.61 muestra lo anterior. 113 Figura 5.60 Programación de copias de seguridad: Configuración. Fuente: Oracle Database 10g Administration Workshop I, 2008. Figura 5.61 Programación de copias de seguridad: Calendario. Fuente: Oracle Database 10g Administration Workshop I, 2008. 114 Administrar copias de seguridad. En esta página se puede ver una copia de seguridad cuando se terminó, en que fue creada (cinta o disco), y si todavía está disponible. La figura 5.62 muestra lo anterior. Figura 5.62 Administrar copias de seguridad. Fuente: Oracle Database 10g Administration Workshop I, 2008. 5.15. Recuperación de base de datos. La tarea de recuperación de base de datos es una de las más importantes para el DBA. El Enterprise Manager proporciona un apartado para realizar dicha tarea (Oracle Database 10g Administration Workshop I, 2008). Cambiar estatus de instancias. Si se tiene problemas con la base de datos se puede obligar a la instancia iniciar de otro modo. Las opciones avanzadas de inicio de propiedades de la página permiten seleccionar un estado diferente a OPEN. También se pueden utilizar los 115 comandos de SQL para modificar el estado de una instancia. La figura 5.63 muestra la pantalla para hacer esta tarea. Figura 5.63 Cambiar estatus de instancias. Fuente: Oracle Database 10g Administration Workshop I, 2008. 5.16. Realización de flashback. El Enterprise Manager proporciona una pantalla para realizar flashback (Oracle Database 10g Administration Workshop I, 2008). Habilitación de flashback de la base de datos. Se puede realizar la habilitación de la base de datos. La figura 5.64 muestra la pantalla para realizar dicha habilitación. Realización de Flashback de Tabla. El Enterprise Manager proporciona la opción de realizar flashback de tabla. La figura 5.65 muestra la pantalla para realizar esta tarea. 116 Figura 5.64 Habilitación de flashback de la base de datos. Fuente: Oracle Database 10g Administration Workshop I, 2008. Figura 5.65 Realización de Flashback de Tabla. Fuente: Oracle Database 10g Administration Workshop I, 2008. 117 5.17. Movimiento de datos. Otra de las tareas importantes del DBA es el movimiento de los datos. El Enterprise Manager proporciona un apartado para realizar esta tarea (Oracle Database 10g Administration Workshop I, 2008). Directorio del Objeto: Información general. Los objetos de directorio son estructuras lógicas que representan un directorio físico en el sistema de archivos del servidor. Que contienen la ubicación de un directorio específico del sistema operativo. Este nombre de objeto de directorio se puede utilizar el Enterprise Manager, se obtiene una mayor flexibilidad en la de gestión de archivos. Los objetos de directorio son propiedad del usuario SYS. La figura 5.66 muestra la pantalla de la información general del directorio del objeto. Figura 5.66 Pantalla de información general del directorio del objeto. Fuente: Oracle Database 10g Administration Workshop I, 2008. Creación de directorio de objetos. El Oracle Enterprise Manager proporciona una pantalla en la cual se pueden crear directorios de objetos. Los pasos para crear un directorio de objetos son los siguientes: 118 1. En la página “objetos de directorio”, hacer clic en el botón “Crear” (figura 5.67). 2. Introducir el nombre del objeto de directorio y la ruta de acceso del sistema operativo (figura 5.67). 3. Los permisos para los objetos de directorio no son los mismos que los permisos de sistema operativo en el directorio físico del sistema de archivos del servidor. Se pueden administrar los privilegios de usuario en objetos de directorio individual. Esto aumenta el nivel de seguridad y proporciona un control granular sobre estos objetos. Seleccionar el usuario al que se dará lectura o escritura, o ambos (figura 5.67). 4. Hacer clic en Mostrar SQL para ver las declaraciones correspondientes (figura 5.67). 5. Hacer clic en Aceptar para crear el objeto (figura 5.67). La figura 5.67 muestra la pantalla para crear el directorio de objetos. Figura 5.67 Creación de directorio de objetos. Fuente: Oracle Database 10g Administration Workshop I, 2008. Cargar datos con SQL * Leader. Se puede utilizar el asistente para la carga de datos de archivos de usuario, para cargar los datos de un archivo plano en una base de datos de Oracle la figura 5.68 muestra la pantalla donde se realiza esta acción. 119 Opciones de exportación: archivos. El Enterprise Manager proporciona una pantalla de opciones de exportación de archivos. La figura 5.69 muestra la pantalla donde se realiza esta tarea. Figura 5.68 Cargar datos con SQL * Leader. Fuente: Oracle Database 10g Administration Workshop I, 2008. Figura 5.69 Opciones de exportación: archivos. Fuente: Oracle Database 10g Administration Workshop I, 2008. 120 Importar datos. El Enterprise Manager muestra una pantalla con las opciones para importar datos. La Figura 5.70 muestra la pantalla donde se encuentran estas opciones. Figura 5.70 Importar datos. Fuente: Oracle Database 10g Administration Workshop I, 2008. 121 CONCLUSIONES Al culminar la realización de este trabajo, se ha llegado a las siguientes conclusiones: El utilizar un Sistema Gestor de Bases de Datos (SGBD) en una organización es de vital importancia, ya que gracias a el, se logra una buena administración de los datos de la empresa, una menor carga de labores para los trabajadores, una mayor seguridad en la información, y un excelente manejo de la misma. Es por eso la importancia de la labor del DBA (Administrador de la base de datos), ya que gracias al trabajo que realiza, se logra un buen manejo del SGBD. Se debe considerar la integración de un SGBD a cualquier organización que no cuente con el, pues gracias a ello, el nivel de competitividad que se adquiere es muy grande, además de la garantía de que la información será manejada de una manera fácil, rápida y oportuna, que deben ser algunas de las características básicas de la información en cualquier organización. Aunque no existe una norma que establezca cada una de las responsabilidades del DBA (Administrador de la base de datos), gracias a este trabajo se ha podido conocer la gran mayoría de ellas, así como su importancia, dejando claro que toda organización maneja dichas responsabilidades según su conveniencia. Además de que es probable que muchas organizaciones integren otras actividades y labores al DBA. La labor del DBA es una de las mas importantes en la organización, puesto que en el recaen responsabilidades críticas, que repercuten en todo lo que a la organización se refiere. Es por eso que el elegir un buen DBA es de vital importancia para la organización. Un SGBD (Sistema Gestor de bases de datos) Oracle Proporciona gran ayuda a la organización, pues permite la manipulación de grandes volúmenes de datos, así como un ambiente multi-usuario. La versión de Oracle 10g integra una interfaz de fácil manipulación, así como un asistente para la administración de bases de datos 123 muy completo que facilita la labor del DBA, y que integra la gran mayoría de las tareas que el DBA debe realizar. La herramienta Oracle Enterprise Manager sirve de gran apoyo para realizar las tareas de administración de bases de datos, ya que incluye una interfaz fácil de manejar y que integra la gran mayoría de las funciones que realiza el DBA. Esto permite realizar un buen manejo de la información, lo que es de vital importancia, ya que la información actualmente se ha convertido en uno de los activos más importantes dentro de organizaciones. 124 FUENTES DE INFORMACIÓN Libros: ABBEY, Michael. (1998). ORACLE 8 Guía de Aprendizaje. (1ª edición) España: MC Graw Hill. ADORACIÓN, de Miguel. (1999). Fundamentos y modelos de bases de datos. (2ª Edición) México: Alfaomega. CABRERA, Sánchez Gregorio. (2001). Sistemas gestores de bases de datos. (1ª Edición) España: Paraninfo. DATE, C. J. (2001). Introducción a los sistemas de bases de datos. (7ª Edición) México: Prentice Hall. DATE, C. J. (2004). Database Systems. (8ª Edition) USA: Addison Wesley. ELMASRI, Ramez A. (2002). Fundamentos de sistemas de bases de datos. (3ª Edición) España: Pearson. GÓMEZ, Nieto Miguel Ángel. (2004). Bases de datos. (2a Reimpresión) México: Alfaomega. MARTÍNEZ, Paloma. (2001). Diseño de bases de datos. (3ª Reimpresión) México: Alfaomega. PÉREZ, López Cesar. (2004). Oracle 9i Servidor de aplicaciones, red y programación. (1ª Edición) México: Alfaomega. 125 PÉREZ, López Cesar. (2005). Oracle 10g Administración y análisis de bases de datos (1ª Edición) España: Alfaomega. PÉREZ, López Cesar. (2005). Administración y análisis de bases de datos. (1ª Edición) México: Alfaomega. PIATTINI, Mario. (2000). Diseño de Bases de Datos relacionales. (1ª edición) México: Alfaomega. ROB, Peter., Coronel, Carlos. (2004). Sistemas de bases de datos. (1ª Edición) México: Thompson. SILBERTSCHATZ, Korth., Sudarshan. (2006). Fundamentos de bases de datos. (5ª Edición) España: Mc Graw Hill. ULLMAN, Jeffrey D. (1999). Introducción a los sistemas de bases de datos. (1ª Edición) México: Pearson. Recursos Electrónicos: Curso de Oracle 2005. Recuperado el 20 de Noviembre de 2009, de http://ar.emagister.com/dba-oracle-tps-3739846.htm Curso de Oracle 9i 2006. Recuperado el 18 de Noviembre de 2009, de http://www.cisco.frc.utn.edu.ar/default.aspx-tabid=63.html DBA Oracle, 2007. Recuperado el 18 de Noviembre de 2009, de http://oraclefacil.blogspot.com/2007/07/dbaoraclerolesyresponsabilidades.ht ml 126 Desafíos de negocio Oracle. Oracle Latinoamérica 2009. Recuperado el 15 de Noviembre de 2009, de http://www.oracle.com/global/lad/solutions/ mid/business_challenges/data_protection.html El administrador de la base de datos 2007. Recuperado el 20 de Noviembre de 2009, de http://es.wikipedia.org/wiki/Administrador_de_base_de_datos Herrán, Gascón Manuel, 2007. Administración y optimización de bases de datos Oracle Red científica curso de Oracle. Recuperado el 21 de Noviembre de 2009, de http://www.redcientifica.com/oracle/ Historia de Oracle. Oracle Latinoamérica 2009. Recuperado el 15 de Noviembre de 2009, de http://www.oracle.com/global/lad/corporate/story.html Modelos de bases de datos, 2008. Th3rorn México Recuperado el 10 de Noviembre de 2009, de http://www.imgeek.net/?p=542 Oracle Database 10g: Administration Workshop I, 2008. Recuperado el 15 de Noviembre de 2009, de http://www.oracle.com/tecnology/obe/obe10gem/ index.htm Toad suite herramienta de optimización 2007. Recuperado el 21 de Noviembre de 2009, de http://www.quest.com/Quest_site-Assets/pdf Zein, Ariel., Risso Leonel, 2003. Administración de base de datos Oracle, Recuperado el 16 de Noviembre de 2009, de http://www.emagister.com/manual/frame.cfm?id_centro=624201100613695 04954524948484569&id_curso=1000003343&id_segmento=5&id_categ=18 127 GLOSARIO A __________________________________________________________________ ADDM (Monitoreo automático de diagnóstico de base de datos). Este monitoreo realiza análisis, detecta cuellos de botella y recomienda soluciones. Las recomendaciones pueden incluir el tipo de asesor que necesitan utilizar para resolver el problema. Archiver (ARCH). El proceso archivador tiene que ver con los ficheros redo log. Por defecto, estos ficheros se reutilizan de manera cíclica de modo que se van perdiendo los registros redo log que tienen una cierta antigüedad. Cuando la BD se ejecuta en modo ARCHIVELOG, antes de reutilizar un fichero redo log realiza una copia del mismo. De esta manera se mantiene una copia de todos los registros redo log por si fueran necesarios para una recuperación. Este es el trabajo del proceso archivador. Auditoría de base de datos. Todos aquellos mecanismos que permiten conocer que operaciones han sido realizadas por los usuarios. AWR (Repositorio automático de carga de trabajo). Este repositorio brinda servicios para recopilar, mantener y utilizar estadísticas para la detección de problemas y propósitos de auto ajuste. La información estadística es almacenada en AWR como snapshots. B __________________________________________________________________ Buffers de BD, Database Buffer Cache. Es el caché que almacena los bloques de datos leídos de los segmentos de datos de la BD, tales como tablas, índices y clusters. Los bloques modificados se llamas bloques sucios. El tamaño de buffer caché se fija por el parámetro DB_BLOCK_BUFFERS del fichero init.ora. 129 Buffer Redo Log. Los registros Redo describen los cambios realizados en la BD y son escritos en los ficheros redo log para que puedan ser utilizados en las operaciones de recuperación hacia adelante, roll-forward, durante las recuperaciones de la BD. Pero antes de ser escritos en los ficheros redo log son escritos en un caché de la SGA llamado redo log buffer. El servidor escribe periódicamente los registros redo log en los ficheros redo log. C __________________________________________________________________ Checkpoint (CKPT). Este proceso escribe en los ficheros de control los checkpoints. Estos puntos de sincronización son referencias al estado coherente de todos los ficheros de la BD en un instante determinado, en un punto de sincronización. Esto significa que los bloques sucios de la BD se vuelcan a los ficheros de BD, asegurándose de que todos los bloques de datos modificados desde el último Checkpoint se escriben realmente en los ficheros de datos y no sólo en los ficheros redo log; y que los ficheros de redo log también almacenan los registros de redo log hasta este instante. Clusters. Las tablas que son accedidas juntas frecuentemente, pueden ser almacenadas también juntas, para ello se crea un cluster. De este modo se minimiza el número de E/S. Las columnas que relacionan las tablas de un cluster se llaman clave del cluster. Commit. Guarda los cambios de la transacción en curso. Libera los recursos bloqueados por cualquier actualización hecha con la transacción actual (LOCK TABLE). D __________________________________________________________________ Database Writer (DBWR). El proceso DBWR es el responsable de gestionar el contenido de los buffers de datos y del caché del diccionario. Él lee los bloques de 130 los ficheros de datos y los almacena en la SGA. Luego escribe en los ficheros de datos los bloques cuyo contenido ha variado. La escritura de los bloques a disco es diferida buscando mejorar la eficiencia de la E/S. Diccionario de datos. Un diccionario de datos es un componente del SGBD que guarda la definición de las características y relaciones de los datos. Estos datos de datos les llamamos metadatos. El diccionario de datos del SGBD le proporciona al SGBD una característica auto descriptora. De hecho, el diccionario de datos es como una radiografía de todos los datos de la compañía y es un elemento crucial en la función de la administración de los datos. Contiene las características lógicas de los datos que se van a utilizar en el sistema que estamos programando, incluyendo nombre, descripción, alias, contenido y organización. Disparadores (Triggers). Para cualquier evento que provoca un cambio en el contenido de una tabla, un usuario puede especificar una acción asociada que el SGBD debería efectuar automáticamente a la realización del evento. Los 3 eventos que pueden disparar una acción automática asociada son ejecuciones de INSERT, DELETE o UPDATE sobre filas de tabla. Se pueden utilizar para mejorar y reforzar la integridad y la seguridad de la BD. E __________________________________________________________________ Esquema. El conjunto de objetos de un usuario es conocido como esquema. Estructuras de Proceso. El servidor se vale de una serie de procesos que son el enlace entre las estructuras físicas y de memoria. A continuación se describen cada proceso y el papel que juega en la gestión de la BD. Todo esto se puede ver en la siguiente figura. 131 Estructuras Externas. Por estructuras externas se entienden los ficheros que utiliza el servidor de BD. Estos ficheros guardan información tanto de los datos almacenados en la BD como la necesaria para gobernar la propia BD. F __________________________________________________________________ Ficheros. Cada espacio de tablas se compone de uno o más ficheros en disco. Un fichero puede pertenecer sólo a un espacio de tablas. Los ficheros reciben un tamaño fijo en el momento de su creación, y cuando se necesita más espacio se deben añadir más ficheros a espacio de tablas. Ficheros de la BD. En estos ficheros reside la información de la BD. Solo son modificados por el DBWR. A ellos se vuelcan los bloques sucios de la SGA cuando se hace una validación o cuando sucede un Checkpoint. Las validaciones de las transacciones no producen un volcado inmediato, sino lo que se conoce por un Commit diferido. Toda actualización se guarda en los ficheros de redo log, y se lleva a la BD física cuando tenemos una buena cantidad de bloques que justifiquen una operación de E/S. Ficheros redo log. En ellos se graba toda operación que se efectué en la BD y sirven de salvaguarda de la misma. Tiene que haber por lo menos 2, uno de ellos debe estar activo, online, y se escribe en ellos de forma cíclica. Existe la posibilidad de almacenar los distintos ficheros de redo log en el tiempo mediante el modo ARCHIVER. Así, se puede guardar toda la evolución de la BD desde un punto dado del tiempo. Ficheros de control. Mantienen la información física de todos los ficheros que forman la BD, camino incluido; así como el estado actual de la BD. Son utilizados para mantener la consistencia interna y guiar las operaciones de recuperación. Son imprescindibles para que la BD se pueda arrancar. 132 Fichero INIT.ORA. Como parte de la distribución software, Oracle provee de un fichero de parámetros de inicialización llamado init.ora. Este fichero contiene los parámetros del sistema Oracle y debe ser utilizado por el DBA para configurar el SGDB y adecuarlo a una determinada explotación. Oracle lee este fichero durante el proceso de arranque para determinar el tamaño de la SGA y encontrar los ficheros de control, entre otros menesteres. Ficheros de Traza. Oracle crea ficheros de texto llamados de traza para ayudar en la diagnosis de problemas y en el ajuste del SGBD. Cada proceso del servidor escribe en un fichero de traza asociado cuando es necesario. Los procesos de usuarios también pueden tener asociados ficheros de traza. La situación de estos ficheros de traza del sistema se especifica por el parámetro BACKGROUND _DUMP_DEST, y los de usuario por USER_DUMP_DEST. Oracle crea ficheros de traza automáticamente cuando ocurre algún error. Flashback. Query es una nueva característica desde oracle 9i para recuperar datos, de errores humanos. Permite a los usuarios ver el estado del dato trasladado a un punto o instante anterior en el tiempo sin requerir de cambios estructurales a la base de datos. H __________________________________________________________________ Herramientas CASE. CASE (computer - aided software engineering). Una herramienta CASE proporciona un marco de referencia automatizado del ciclo de vida del desarrollo de sistemas (SDLC). CASE se basa en el uso de metodologías estructuradas y de poderosas interfaces gráficas. Como automatizan muchas de las tediosas actividades de diseño y ejecución de sistema, las herramientas CASE desempeñan un rol cada vez mas importante en el desarrollo de sistemas de información. 133 I __________________________________________________________________ Índices. Un índice es una estructura de la BD utilizada para agilizar el acceso a una fila de una tabla. Cada fila tiene un identificador de fila, ROWID, que determina el fichero, bloque y fila dentro del bloque donde está almacenada la fila. Los índices se crean automáticamente cuando se define una restricción UNIQUE o PRIMARY KEY. Instancia. Es el conjunto de estructuras de memoria y de procesos que acceden a los ficheros de datos. Los parámetros que determinan el tamaño y composición de una instancia están almacenados en un fichero llamado init.ora. Este fichero es leído durante el arranque de la BD y puede ser modificado por el DBA. Cualquier modificación de este fichero no tiene efecto hasta la siguiente vez que se arranque la BD. L __________________________________________________________________ Listener (Escucha de Oracle). Controla el tráfico de red entrante de una instancia de base de datos Oracle. Al configurar la conectividad de red de una base de datos Oracle, se especifica el protocolo mediante el que se envía el tráfico y el puerto en el que el Listener escucha el tráfico. Normalmente, el Listener se configura para que se ejecute en el mismo equipo que la instancia de base de datos Oracle y se puede configurar para dar servicio a una o más instancias. Procesos de escucha En el momento en que se arranca una base de datos, los datos en ella contenida, ya están disponibles para ser accedidos. Pero para que los usuarios en cada puesto de trabajo accedan a la base de datos necesito primero activar los procesos servidor. A través de Net8 se levantan unos procesos de escucha (listeners) que habrán de atender las peticiones que lleguen al servidor. 134 Log Writer, LGWR. El proceso LGWR es el encargado de escribir los registros redo log en los ficheros redo log. Los registros redo log siempre contienen el estado más reciente de la BD, ya que puede que el DBWR deba esperar para escribir los bloques modificados desde el buffer de datos a los ficheros de datos. Lock, LCK. El proceso de bloqueo está asociado al servidor en paralelo. M __________________________________________________________________ Metadatos. Son datos altamente estructurados que describen información, describen el contenido, la calidad, la condición y otras características de los datos. P __________________________________________________________________ Paquetes (Packages). Se utilizan para agrupar procedimientos y funciones. Los elementos dentro de los paquetes pueden ser públicos o privados. Los públicos pueden ser llamados por los usuarios, los privados están ocultos a los usuarios y son llamados por otros procedimientos. PGA (Program Global Area). Es un área de memoria utilizada por un proceso Oracle. Esta zona de memoria no se puede compartir. Privilegios y Roles. Para que un objeto pueda ser accedido por un usuario debe de tener otorgado ese privilegio. Ejemplos de privilegios son INSERT, SELECT, UPDATE, EXECUTE, etc. Los roles son grupos de privilegios que pueden ser utilizados para facilitar la gestión de los privilegios. Los privilegios se pueden otorgar a un rol, y los roles pueden ser otorgados a múltiples usuarios. Procedimientos y Funciones. Un procedimiento es un bloque de código PL/SQL, que se almacena en el diccionario de datos y que es llamado por las aplicaciones. Se pueden utilizar para implementar seguridad, no dando acceso directamente a 135 determinadas tablas sino es a través de procedimientos que acceden a esas tablas. Cuando se ejecuta un procedimiento se ejecuta con los privilegios del propietario del procedimiento. La diferencia entre un procedimiento y una función es que ésta última puede devolver valores. Process Monitor (PMON). Este proceso restaura las transacciones no validadas de los procesos de usuario que abortan, liberando los bloqueos y los recursos de la SGA. Asume la identidad del usuario que ha fallado, liberando todos los recursos de la BD que estuviera utilizando, y anula la transacción cancelada. Este proceso se despierta regularmente para comprobar si su intervención es necesaria. Q __________________________________________________________________ Quota. Asigna un espacio en mega bites o kilo bites en el tablespace asignado. Si no se especifica esta cláusula, el usuario no tiene cuota asignada y no podrá crear objetos en el tablespace. R __________________________________________________________________ Recoverer (RECO). El proceso de recuperación está asociado al servidor distribuido. En un servidor distribuido los datos se encuentran repartidos en varias localizaciones físicas, y estas se han de mantener sincronizadas. Cuando una transacción distribuida se lleva a cabo puede que problemas en la red de comunicación haga que una de las localizaciones no aplique las modificaciones debidas. Esta transacción dudosa debe ser resuelta de algún modo, y esa es la tarea del proceso recuperador. Está activo si el parámetro DISTRIBUTED _TRANSACTIONS tiene un valor distinto de 0. 136 Restricciones de Tablas. Una tabla puede tener asociadas restricciones que deben cumplir todas las filas. Entre las restricciones que se pueden fijar algunas reciben nombres especiales.: clave primaria, clave ajena. S __________________________________________________________________ Secuencias. Las definiciones de secuencias se almacenan en el diccionario de datos. Son mecanismos para obtener listas de números secuenciales. Segmentos. Los segmentos son los equivalentes físicos de los objetos que almacenan datos. El uso efectivo de los segmentos requiere que el DBA conozca los objetos que utilizan una aplicación, cómo los datos son introducidos en esos objetos y el modo en que serán recuperados. Segmentos de Datos. El espacio del diccionario de datos se suele mantener más o menos constante, aunque es crítico que tenga suficiente espacio para crecer en el espacio de tablas SYSTEM. Así, hay que tener cuidado de colocar las tablas de usuario, los índices, segmentos temporales y los segmentos de rollback en otros espacios de tablas. Además, es recomendable que el espacio de tablas SYSTEM esté al 50% o 75% de su espacio disponible. Finalmente, asegurarse que los usuarios no tienen privilegios de escritura en el espacio de tablas SYSTEM. Segmentos de Rollback. Los segmentos de rollback almacenan la imagen anterior a una modificación de un bloque. La información en el segmento de rollback se utiliza para asegurar la consistencia en lectura, el rollback (el valor en el segmento de rollback se copia en el bloque de datos) y la recuperación. SGA. Es la zona de memoria en la que la BD Oracle guarda información sobre su estado. Esta estructura de memoria está disponible para todos los procesos, por eso se dice que está compartida. Sirve para facilitar la transferencia de 137 información entre usuarios y también almacena la información estructural de la BD más frecuentemente requerida. Shared Pool (Área de SQL Compartido). En esta zona se encuentran las sentencias SQL que han sido analizadas. El análisis sintáctico de las sentencias SQL lleva su tiempo y Oracle mantiene las estructuras asociadas a cada sentencia SQL analizada durante el tiempo que pueda para ver si puede reutilizarlas. Antes de analizar una sentencia SQL, Oracle mira a ver si encuentra otra sentencia exactamente igual en la zona de SQL compartido. Si es así, no la analiza y pasa directamente a ejecutar la que mantiene en memoria. De esta manera se premia la uniformidad en la programación de las aplicaciones. Sinónimos. Para identificar completamente un objeto dentro de una BD se necesita especificar el nombre de la máquina, el nombre del servidor, el nombre del propietario y el nombre del objeto. Para hacer transparente todo esto al usuario se pueden utilizar los sinónimos. Éstos apuntarán a los objetos y si el objeto cambia de lugar o propietario, sólo habrá que modificar el sinónimo. System Monitor (SMON). Es el supervisor del sistema y se encarga de todas las recuperaciones que sean necesarias durante el arranque. Esto puede ser necesario si la BD se paró inesperadamente por fallo físico, lógico u otras causas. Este proceso realiza la recuperación de la instancia de BD a partir de los ficheros redo log. Además limpia los segmentos temporales no utilizados y compacta los huecos libres contiguos en los ficheros de datos. Este proceso se despierta regularmente para comprobar si debe intervenir. Segmentos de Índice. Los índices crecen en tamaño en mayor proporción que las tablas asociadas si los datos en la tabla son modificados frecuentemente. La gestión del espacio es mejor si se mantienen los índices de tablas grandes en espacios de tablas separados. 138 Segmentos Temporales. Los segmentos temporales se crean cuando se efectúan las siguientes operaciones: • Create Index • Select con distinct, order by, union, intersect y minus. • Uniones no indexadas. • Ciertas subconsultas correlacionadas. Sequence (Secuencia). Objeto de base de datos que se utiliza para generar números exclusivos. La replicación utiliza secuencias para ordenar los cambios efectuados en las tablas publicadas. SQL*Plus. Aplicación que se utiliza para obtener acceso y realizar consultas en bases de datos Oracle. Es similar a la utilidad sqlcmd de SQL Server. T __________________________________________________________________ Tablespaces. Un espacio de tablas es una división lógica de la BD. Cada BD tiene al menos uno (SYSTEM). Un espacio de tablas puede pertenecer sólo a una BD. Los espacios de tablas se utilizan para mantener juntos los datos de usuarios o de aplicaciones para facilitar su mantenimiento o mejorar las prestaciones del sistema. Tablas y Columnas. Los datos son almacenados en la BD utilizando tablas. Cada tabla está compuesta por un número determinado de columnas. V __________________________________________________________________ Vistas Conceptualmente, una vista puede considerarse como una máscara que se extiende sobre una o más tablas, de modo que cada columna de la vista se corresponde con una o más columnas de las tablas subyacentes. Cuando se consulta una vista, esta traspasa la consulta a las tablas sobre las que se asienta. Las vistas no se pueden indexar. 139 ÍNDICE DE FIGURAS 1.1 Un entorno de sistema de base de datos simplificado………………..………….8 1.2 Modelo jerárquico…………………………………………………..……………….11 1.3 Modelo de red……………………………………………………..…………………12 1.4 Modelo relacional………………………………………………..…………………..13 1.5 Modelo Entidad – Relación…………………………………….…………………..13 3.1 Ciclo de datos – información – toma de decisiones……..………………………31 3.2 Colocación de la función del DBA…..……………………………………………..33 3.3 Organigrama funcional de la administración de base de datos........................34 3.4 Administradores múltiples de base de datos……………………….…………….34 3.5 Resumen de actividades de un DBA……………………………….…………......37 5.1 Asistente de configuración de base de datos……………………….……………68 5.2 Administración de contraseñas……………………………………….…………...69 5.3 Creación de una plantilla…………………………………………….……………..70 5.4 Pantalla principal del Oracle Enterprise Manager……………………………….71 5.5 Página de inicio de base de datos………………………………………………...72 5.6 Ver y modificar los parámetros de inicialización………………………………...72 5.7 Inicio y cierre de la base de datos…………………………………………………73 5.8 Puesta en marcha de una instancia de base de datos Oracle…………………74 5.9 Apagar una instancia de base de datos Oracle………………………………….75 5.10 Ver la alerta de registro……………………………………………………………75 5.11 Pantalla de historial de alertas……………………………………………………76 5.12 Estructuras de almacenamiento………………………………………………….77 5.13 Creación de un tablespace………………………………………………………..78 5.14 Modificar un tablespace…………………………………………………………...78 5.15 Acciones con tablespaces………………………………………………………...79 5.16 Eliminar tablespaces………………………………………………………………80 5.17 Ver información de tablespaces………………………………………………….81 5.18 Ver el contenido de tablespaces…………………………………………………81 140 5.19 Creación de un usuario…………………………………………………………....82 5.20 Desbloqueo de una cuenta del usuario y restablecer la cuenta……………...83 5.21 Sistema de privilegios……………………………………………………………..84 5.22 Creación de un rol………………………………………………………………….84 5.23 Asignar roles a los usuario………………………………………………………..85 5.24 Creación de un perfil………………………………………………………………86 5.25 Creación de contraseñas de un perfil……………………………………………86 5.26 Acceso a los objetos de esquema……………………………………………….88 5.27 Crear y modificar tablas…………………………………………………………...88 5.28 Definición de condiciones…………………………………………………………89 5.29 Ver las columnas en una tabla……………………………………………………90 5.30 Ver el contenido de una tabla…………………………………………………….90 5.31 Acciones con tablas………………….…………………………………………….91 5.32 Creación de índices………………………………………………………………..92 5.33 Crear vistas…………………………………………………………………………93 5.34 Crear una secuencia………………………………………………………………93 5.35 Crear funciones…………………………………………………………………….94 5.36 Administración de triggers………………………………………………………...95 5.37 Habilitar la auditoría………………………………………………………………..96 5.38 Página de auditoría………………………………………………………………..96 5.39 Administración de páginas de servicios de red…………………………………98 5.40 Página de inicio de listener……………………………………………………….98 5.41 Creación de un listener……………………………………………………………99 5.42 Adición de direcciones de listener………………………………………………100 5.43 Registro de servicios de base de datos………………………………………..101 5.44 Configuración de servicios alias………………………………………………...102 5.45 Pantalla de ARW………………………………………………………………….103 5.46 Apreciación ADDM……………………………………………………………….103 5.47 Recomendaciones ADDM……………………………………………………….104 5.48 Asesor central………………………………………………………………….....105 5.49 Notificación de alertas……………………………………………………………105 141 5.50 Supervisión del rendimiento……………………………………………………107 5.51 Asistente para la optimización de SQL opciones y recomendaciones…….107 5.52 Identificación de los duplicados………………………………………………...108 5.53 Asesor de acceso SQL…………………………………………………………..109 5.54 Habilitación automática de gestión de memoria compartida………………...110 5.55 Administración de configuración manual de memoria compartida………….110 5.56 Asesor de memoria………………………………………………………………111 5.57 Configuración de los valores de copia de seguridad…………………………112 5.58 Programación de copias de seguridad: Estrategia……………………………112 5.59 Programación de copias de seguridad: Opciones…………………………….113 5.60 Programación de copias de seguridad: Configuración……………………….114 5.61 Programación de copias de seguridad: Calendario…………………………..114 5.62 Administrar copias de seguridad………………………………………………..115 5.63 Cambiar estatus de instancias………………………………………....……….116 5.64 Habilitación de flashback de la base de datos……………………….………..117 5.65 Realización de flashback de tabla……………………………………………...117 5.66 Pantalla de información general del directorio del objeto……………………118 5.67 Creación de directorio de objetos………………………………………………119 5.68 Cargar datos con SQL *Loader…………………………………………………120 5.69 Opciones de exportación: Archivos…………………………………………….120 5.70 Importar datos…………………………………………………………………….121 ÍNDICE DE TABLAS 3.1 Comparación de las actividades del DA y el DBA…………….…………………36 3.2 Habilidades del DBA deseadas………………………………………….………...38 3.3 Actividades y servicios del DBA………………………….………………………..39 142