Escolar Documentos
Profissional Documentos
Cultura Documentos
Introduccin a Oracle
Autor: Roberto www.ForInfor.net
1. Introduccin
Introduccin ForInfor.net te ofrece este curso que pronto estar disponible en su portal de teleformacin y que junto con los contenidos tericos te ofrecer simulaciones y numerosos ejercicios para que afiances tus conocimientos. Por ello, agradeceremos cualquier comentario o sugerencia que nos quieras hacer llegar a info@ForInfor.net Un Sistema de Gestin de Bases de Datos Relacionales (SGBDR), permite el almacenamiento de datos en tablas formadas por filas y columnas, y su posterior consulta y mantenimiento mediante un sencillo y potente lenguaje de consulta estructurado (SQL). Bajo las siglas SGBDR se oculta toda la complejidad informtica necesaria para gestionar: El acceso controlado de los procesos de los usuarios a los datos La gestin del almacenamiento de los datos La gestin de las comunicaciones entre procesos clientes y servidores Interconexin con distintos protocolos y sistemas operativos Acceso a los recursos conectados a la red ... El modelo relacional fue planteado por Codd a principios de 1970 en su artculo "A Relacional Model of Data for Large Shared Data Bank" en el cual estableca las caractersticas que deban de tener los sistemas informticos para tratar grandes volmenes de informacin, llegando a definir las doce reglas que considera necesarias para que el sistema se pueda definir como relacional. Existen numerosos SGBDRs y entre ellos el ms popular a nivel profesional es el de Oracle. Dado que Codd considera que un SGBDR ha de cumplir las 12 reglas, se podra pensar que por lo tanto Oracle las cumple. En el artculo titulado " Are SQL Server, DB2 and Oracle really relational?" se analizan estas tres aplicaciones y se concluye que todos son similares pero no llegan a cumplirlas en su totalidad, ya que concretamente no permiten las actualizaciones sobre vistas. Aunque estrictamente hablando el SGBDR incluye la coleccin de datos, por extensin se denomina as a la aplicacin software que los gestiona hablando por tanto del SGBDR de Oracle. El SGBDR de Oracle se instala en prcticamente cualquier equipo informtico, pudiendo empezar por un ordenador personal basado en Windows e ir escalando a arquitecturas ms complejas a medida que las necesidades de la carga de proceso lo requieran. Oracle en este sentido es un SGBDR muy amigable, pues permite trasladar las estructuras de datos y desarrollos a arquitecturas ms complejas sin necesidad de realizar cambios significativos. El SGBDR de Oracle es muy potente, pero para obtener un rendimiento correcto, es necesaria la intervencin del administrador de la base de datos (DBA). Las tareas ms comunes del DBA son:
A continuacin se muestra un extracto de los trminos de la licencia tal y como aparece a finales de 2005. License Rights We grant you a nonexclusive, nontransferable limited license to use the programs only for the purpose of developing a single prototype of your application, and not for any other purpose. If you use the application you develop under this license for any internal data processing or for any commercial or production purposes, or you want to use the programs for any purpose other than as permitted under this agreement, you must contact us, or an Oracle reseller, to obtain the appropriate license. We may audit your use of the programs. Traduccin literal: Derechos de la licencia Se otorga una licencia limitada de uso no exclusivo, ni transferible para usar el programa slo con el propsito de desarrollar un prototipo de su aplicacin, y no para otros propsitos. Si usa la aplicacin que ha desarrollado bajo esta licencia para cualquier uso interno de procesado de datos o para cualquier actividad comercial o propsito de productivo, o quiere usar los programas con otros propsitos distintos a los permitidos bajo este acuerdo, debe contactar nos directamente o a travs de un revendedor, para obtener la licencia apropiada. Podemos auditar el uso del programa. Aceptados los trminos de la licencia y respectando sus condiciones, se puede iniciar la descarga del software para el sistema operativo correcto. Como se ve en la siguiente imagen, en el caso de la versin 10g para Windows, el fichero comprimido (ZIP) a descargar es de aproximadamente 650MBytes.
Una vez descargado el software, hay que descomprimir el fichero en un directorio cualquiera del disco duro como por ejemplo "C:/ Oracle102"
En la estructura de directorios creada est la aplicacin del instalador universal de Oracle (Oracle Universal Installer - OUI).
OUI permite mediante una interfaz grfica ver los productos de Oracle que hay instalados en el servidor, instalar
Observar que se pide introducir una contrasea para los superusuarios SYS, SYSTEM, SYSMAN y DBSNMP, donde los dos primeros son los usuarios de administracin de la base de datos. Esta contrasea de base de datos slo debe ser conocida por el DBA, ya que cualquier usuario mal intencionado que consiguiera conectarse con esta clave podra consultar, borrar o modificar cualquier informacin almacenada en la base de datos. Aceptando las opciones por defecto y salvo complicaciones extraordinarias, el OUI y el DBCA finalizarn con la creacin de una base de datos totalmente operativa. En la siguiente enlace puedes ver una pelcula con el proceso de instalacin del software y creacin de una base de datos por defecto descargado directamente de www.ForInfor.net
Crear una base de datos Configurar las opciones de una base de datos Suprimir una base de datos Gestionar las plantillas Configurar la gestin automtica del almacenamiento Paso 1. Operaciones. Crear Base de Datos A travs de un asistente se ayuda a la realizacin de esta tarea facilitando valores por defecto que se han de ir confirmando en los pasos sucesivos. Paso 2. Plantillas de la Base de Datos Las plantillas contienen un conjunto de valores por defecto que se consideran ptimos para la creacin de una base de datos en funcin del uso al que va a ser destinada. Oracle facilita por defecto tres plantillas: Uso principal de la base de datos Almacn de datos Descripcin Los usuarios ejecutan numerosas consultas de elevada complejidad y que procesan un elevado volumen de datos. Los tiempos de respuesta y la disponibilidad son cruciales. Varios usuarios ejecutan simultneamente consultas, inserciones, actualizaciones y borrados de datos. La velocidad, disponibilidad y concurrencia son fundamentales. Combina caractersticas de las dos anteriores. Permite la mxima flexibilidad para crear una base de datos, permitiendo introducir un mayor nmero de opciones.
Si no hay un criterio claro sobre el uso que se va ha hacer de la base de datos, lo mejor es seleccionar la plantilla de "Uso general" y utilizar las opciones por defecto facilitadas por el asistente. Como se ver posteriormente, el DBA puede modificar y optimizar la parametrizacin de la base de datos en funcin del uso real de la carga de trabajo que soporte y los consejos que le faciliten los asistentes. Paso 3. Identificar la base de datos En este paso se ha de asignar un nombre que identifique de manera nica la base de datos en el sistema. Se pueden utilizar una estructura jerarquizada basada en dominios de la forma : <dominio>.<nombre_basedatos>
Aunque por defecto el nombre de la base de datos global y el SID son iguales, se pueden modificar. Paso 4. Opciones de Gestin
Por defecto aparece seleccionada la opcin de gestin local "Configurar Base de Datos con Enterprise Manager". Para utilizar la opcin de la gestin centralizada con Oracle Enterprise Manager Grid, es necesario tener instalado el agente de gestin Oracle Management Agent en el servidor y seleccionarlo en el men desplegable Management Service. La instalacin del agente y los componentes del Grid, han de estar instalados con antelacin a la base de datos para que esta opcin aparezca activada. En esta versin el Enterprise Manager es una aplicacin web que proporciona las herramientas necesarias para la gestin de una base de datos local. Al seleccionar la gestin local, se puede indicar un servidor de correo saliente y una cuenta de correo donde se recibirn avisos de incidencias relacionadas con la base de datos y emitidos automticamente por el gestor.
Tambin se puede establecer una poltica de gestin de copias de seguridad que se realizarn automticamente a la hora indicada. Cada da se realiza una copia de seguridad de la base completa.
La copia de seguridad se realiza en el rea denominada "Area de recuperacin Flash" y que se configura posteriormente. El usuario y clave del sistema operativo son necesarios para que posteriormente el Enterprise Manager pueda escribir en el disco. Posteriormente si se desea, se pueden modificar los valores de la notificacin de correo y copia de seguridad desde el Enterprise Manager, por lo que en esta primera instalacin no se pasa al paso siguiente sin seleccionar estas casillas. Paso 5. Credenciales de la base de datos La base de datos crea automticamente varios usuarios que son necesarios para la posterior administracin de la misma. En versiones anteriores del SGBDR de Oracle se les asignaban a estos usuarios claves por defecto que posteriormente el DBA deba de modificar; pero lo cierto es que en muchas ocasiones esta tarea no se haca y era posible conectarse al SGBDR utilizando las claves por defecto (sys/change_on_install o system/manager). Para mejorar la seguridad es necesario introducir una clave personalizada para los superusuarios : SYS, SYSTEM, SYSMAN y DBSNMP.
La clave puede ser la misma para todos ellos, o bien se puede poner una distinta para cada uno de ellos. Si slo va a haber un DBA lo normal ser utilizar la misma clave para todos los superusuarios. Paso 6. Opciones de Almacenamiento En este paso se puede seleccionar el mecanismo que se va a utilizar para almacenar los ficheros asociados a la base de datos : datos, control y log. La opcin por defecto es la ms habitual para una base de datos de propsito general, y se puede ver una explicacin del resto de opciones pinchando en el botn de " Ayuda".
10
La plantilla establece unos valores por defecto que se pueden revisar pinchando el botn "Variables de Ubicacin de Archivos ..."
11
Salvo que se tengan varios discos disponibles o se desee utilizar otra estructura de directorios, los valores por defecto son adecuados y pueden ser modificados en un paso posterior. Paso 8. Configuracin de Recuperacin
En este paso se puede modificar el valor por defecto asignado al "rea de Recuperacin Flash" utilizada para la realizacin de copias de seguridad, y activar el modo "Archivado". Cuando se habla de realizar copias de seguridad se sobreentiende que stas sern guardadas en un medio de almacenamiento externo (CD-ROM, DVD, Cinta, ...), y si hay que recuperar la base de datos hay que recuperar la copia. En esta versin Oracle se encarga de gestionarlas automticamente las copias en el "rea de Recuperacin Flash" y recuperarlas de la misma si es necesario. Observar la recomendacin que hace el asistente de utilizar distintos discos para los archivos de datos y de rea de recuperacin. En pequeos servidores basados generalmente en Windows, lo normal ser tener un nico disco y por lo tanto no ser posible, pero es conveniente tener en cuenta este detalle y utilizar si es posible el disco compartido de otro servidor conectado a la red para la realizacin de las copias de seguridad. Si el disco sufre un dao fsico y deja de funcionar, se podr recrear la base de datos a partir de la copia disponible en otro disco. Ni que decir tiene que si los datos y su copia estn en el mismo disco, y el disco se avera, ser imposible recuperar la base de datos. Definir el tamao del "rea de Memoria Flash" no es una tarea fcil, por lo que aceptaremos el valor por defecto y dejaremos para los ajustes como una tarea posterior del DBA. Es recomendable establecer el modo "Archivado" de manera que la instancia de la base de datos realice el archivado de archivos de "redo log" automticamente. El archivado automtico es ms eficaz y libera al administrador de esta tarea; para ello utiliza un proceso en segundo plano identificado como ARC0 y que archiva los grupos de archivos de redo log online cuando estn llenos. Los archivos creados son almacenados en el rea de recuperacin Flash. Si se selecciona el modo "Archivado", se activa el botn para seleccionar los parmetros del mismo
12
El formato por defecto para los archivos utiliza los siguientes parmetros: Parmetro % S % R %T Descripcin Incluye el nmero de secuencia de log Incluiye el identificador del log de reestablecimiento Incluye el nmero de thread
aunque se puede modificar, este formato ayuda a la posterior identificacin de los ficheros. Paso 9. Contenido de la Base de Datos En este paso se permite indicar si se desean crear en la base de datos los esquemas de usuarios utilizados por las aplicaciones de ejemplo que acompaan a la base de datos. Por lo general no ser necesario, y dado que requieren unos 130MB de espacio en disco. Paso 10. Parmetros de inicializacin Los parmetros de inicializacin de la base de datos influyen notablemente en su rendimiento, y vienen preestablecidos en la plantilla seleccionada para la creacin de la misma. Se pueden editar los parmetros de inicializacin para: Optimizar el rendimiento mediante el ajuste de las estructuras de memoria Definir el tamao de las unidades ms pequeas de almacenamiento Definir el idioma y juego de caracteres que se van a utilizar Seleccionar el modo en que va a funcionar la base de datos durante la conexin de un usuario. El asistente ofrece una serie de pestaas con los parmetros ms significativos en cada caso
13
Tambin se pueden revisar y modificar todos los parmetros pinchando en el botn "Todos los Parmetros de inicializacin..." La lista de parmetros es muy larga y sus nombres son poco descriptivos, pero la ventana que se abre permite "Mostrar una Descripcin" de los mismos que es de gran ayuda para su comprensin.
Para la creacin de una base de datos de propsito general son vlidos los valores por defecto, y adems pueden ser modificados posteriormente si se considera que el rendimiento no es ptimo desde el Enterprise Manager o con la sentencia SQL ALTER SYSTEM. Paso 11. Almacenamiento de la Base de Datos Mediante una estructura en rbol, se muestran la ubicacin de los ficheros de la base de datos. Los archivos se agrupan atendiendo a su funcin: El archivo de control es necesario para montar, abrir y acceder a la base de datos. En estos archivos se guardan todos los archivos log y de base de datos, informacin de sincronizacin necesaria para la recuperacin y el nombre de la base de datos. Los archivos de datos almacenan los distintos esquemas de los usuarios y las estructuras de datos de cada uno de ellos. Los archivos redo log se utilizan para mantener un registro de todos los cambios realizados en los datos. Juegan un papel
14
Paso 12. Opciones de creacin Finalmente podemos iniciar la creacin de la base de datos, generar una plantilla con las caractersticas que hemos definido en los pasos anteriores o bien crear un fichero de comandos que podremos ejecutar posteriormente. Lo ms didctico en nuestro caso va a ser crear el fichero de comandos y revisar las sentencias que se van a ejecutar para llevar a cabo la creacin de la base de datos. En versiones anteriores de Oracle, sta era la nica manera de crear la base de datos. Si navegamos al directorio donde se han creado los ficheros se obtendr el siguiente listado
Como se ve hay un "Archivo por lotes MS-DOS" que se puede ejecutar y desencadena el proceso de creacin de la base de datos, llamando al resto de ficheros. Su contenido es: mkdir C:\Oracle\admin\prueba\adump mkdir C:\Oracle\admin\prueba\bdump mkdir C:\Oracle\admin\prueba\cdump mkdir C : \Oracle\admin\prueba\dpdump mkdir C:\Oracle\admin\prueba\pfile mkdir C:\Oracle\admin\prueba\udump mkdir C : \Oracle\flash_recovery_area mkdir C:\Oracle\oradata\prueba mkdir C : \Oracle\product\10.2.0\db_4\cfgtoollogs\DBCA\prueba mkdir C:\Oracle\product\10.2.0\db_4\dbs set Oracle_SID=pruebasid C:\Oracle\product\10.2.0\db_4\bin\oradim.exe -new -sid PRUEBASID -startmode manual -spfile C : \Oracle\product\10.2.0\db_4\bin\oradim.exe -edit -sid PRUEBASID -startmode auto -srvcstart SYSTEM C : \Oracle\product\10.2.0\db_4\bin\sqlplus /nolog @C:\temp\bdprueba\pruebasid.sql Como se ve crea la estructura de directorios, inicia la instancia de la base de datos con el comando "oradim.exe" e invoca al SQLPlus para ejecutar el fichero "pruebasid.sql" set verify off PROMPT specify a password for SYS as parameter 1; DEFINE SYSPassword = &1 PROMPT specify a password for SYSTEM SYSTEM as parameter 2; DEFINE SYSTEMPassword = &2 PROMPT specify a password for SYSMAN as parameter 3; DEFINE SYSMANPassword = &3 PROMPT specify a password for dbsnmp as parameter 4; DEFINE dbsnmpPassword = &4 PROMPT specify host user administrador password as parameter 5; DEFINE hostPassword = &5 host C : \Oracle\ p r o d u c t \ 1 0 . 2 . 0 \ d b _ 4 \ b i n \orapwd.exe file=C:\Oracle\product\10.2.0\db_4\database\PWDpruebasid.ora password=&&SYSPassword force=y @C:\temp\bdprueba\CloneRmanRestore.sql @C:\temp\bdprueba\cloneDBCreation.sql @C:\temp\bdprueba\postScripts.sql host "echo SPFILE='C:\Oracle\product\10.2.0\db_4/dbs/spfilepruebasid.ora' > C : \Oracle\product\10.2.0\db_4\database\initpruebasid.ora" @C:\temp\bdprueba\postDBCreation.sql
15
16
El asistente se encarga en siete pasos de ejecutar las tareas que en versiones anteriores deba realizar el administrador manualmente, como son: Identificar las opciones de la base de datos que han de ser modificadas Verifica el espacio en disco y en los tablespaces Realiza las copias de seguridad necesarias Ejecuta los archivos de comandos necesarios Actualiza los parmetros obsoletos Informa de las tareas que se van realizando, y adems crea ficheros de registro detallados.
17
Introduccin al Enterprise Manager Database Control Adems de monitorizar el rendimiento de la instancia de la base de datos, algunas de las tareas que habitualmente ha de realizar el administrador son: Iniciar la instancia y abrir la base de datos. La instancia suele estar configurada de forma que se arranca automticamente y se abre la base de datos cuando se inicia el sistema operativo, pero puede ser necesario cerrarla y pararla para realizar operaciones de mantenimiento o recuperacin. Configurar las conexiones de red para permitir la conexin de clientes al servidor de base de datos. Gestionar las estructuras de almacenamiento tales como : tablespaces y ficheros de datos, ficheros de redo logs y ficheros de control. Administrar usuarios y la poltica de seguridad. Al crear nuevos usuarios se le asignan privilegios y roles para controlar el acceso que tienen a los objetos de la base de datos. Gestin de los objetos de un esquema, creando usuarios y los objetos que necesiten. Definir la poltica de copias de seguridad y recuperacin. Puede establecer una poltica bsica utilizando el archivado automtico de los ficheros de redo log.
18
mailxmail - Cursos para compartir lo que sabes 6. Enterprise Manager. Configuracin del entorno de red
Configuracin del entorno de red Al finalizar la instalacin de la base de datos se tiene un servidor de base de datos totalmente funcional, pero configurado para recibir conexiones bsicas de un cliente. Entendemos por cliente cualquier aplicacin que manipula los datos almacenados en el servidor. Oracle Net es una capa de software que se instala tanto en el servidor de base de datos como en los clientes, y que permite que se comuniquen entre si. El cliente ha de tener informacin sobre el servidor de base de datos al que se va a conectar, y el servidor a de controlar el acceso a la misma. El proceso ejecutado en segundo plano en el servidor de base de datos que se encarga de recibir las peticiones de los clientes es conocido como Listener
y su configuracin se almacena en el fichero listener.ora # listener.ora Network Configuration File: C:\Oracle\product\10.2.0\db_4\network\admin\listener.ora # Generated by Oracle configuration tools. SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (SID_NAME = PLSExtProc) (Oracle_HOME = C : \Oracle\product\10.2.0\db_4) (PROGRAM = extproc) ) ) LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1)) (ADDRESS = (PROTOCOL = TCP)(HOST = Hugo)(PORT = 1 5 2 2)) ) ) Es de destacar la descripcin del protocolo que utiliza la mquina y el puerto por el cual recibe las peticiones. En el cliente es necesario almacenar una descripcin de la base de datos a la que se va a poder conectar y que est descrita en el fichero tnsnames.ora # tnsnames.ora Network Configuration File: C : \Oracle\product\10.2.0\db_4\network\admin\tnsnames.ora # Generated by Oracle configuration tools. ORCLE10 = (DESCRIPTION = # Descripcin de la direccin del servidor (ADDRESS = (PROTOCOL = TCP)(HOST = Hugo)(PORT = 1 5 2 2)) (CONNECT_DATA = (SERVER = DEDICATED) # Nombre del servicio (SERVICE_NAME = orcle10) ) ) El nombre asignado al servicio tambin es denominado "Cadena Conexin" en algunas aplicaciones, como por ejemplo SQL*Plus.
19
Para facilitar la configuracin del entorno de red, se puede utilizar el Asistente de Configuracin de Red.
20
Desde el Enterprise Manager tambin se puede modificar la configuracin del Listener y del fichero tnsnames.ora Desde la pgina de inicio de las propiedades de la instancia, se tiene un enlace de acceso a los listeners listeners instalados.
21
Para acceder a los ficheros tnsnames.ora, se ha de volver a la pgina de inicio de la instancia y seleccionar las propiedades del host
22
Al seleccionar la nomenclatura local, se va a editar el fichero tnsnames.ora, y para ello se muestra una pantalla de conexin, en la que se han de introducir los datos de un usuario del Sistema Operativo que tenga permisos de escritura en el directorio de "Ubicacin del Archivo de Configuracin".
23
En Windows es habitual que la conexin al equipo se realice sin tener que introducir un usuario o clave, pero estos dos datos son obligatorios para poder seguir utilizando el Enterprise Manager, lo que obliga a definir al menos un usuario con su correspondiente clave. Una vez en la pgina se pueden editar, crear y probar los servicios de red definidos.
24
Seleccionando el "Nombre del Servicio de Red" que se desea editar, se accede a una pgina desde la cual se ofrece de una forma descriptiva informacin sobre las distintas opciones de configuracin.
25
Pinchando en el botn "cerrar" se inicia el proceso de cierre de la instancia, pero ser necesario introducir de nuevo los datos de un usuario vlido del sistema operativo y del servidor de base de datos. En Windows hay un servicio (OracleService<SID>) que se corresponde con los procesos de la instancia, y que tiene como sufijo el nombre de la misma. Desde la ventana de servicios se puede iniciar o detener este servicio, cuyo resultado es la apertura o cierre de la instancia de la base de datos.
Adems, en Windows hay otros dos servicios relacionados con la instancia que son el asociado al Listener (Oracle<Oracle_home><SID>Listener) y el que permite la conexin de los clientes al Enterprise Manager (Oracle<Oracle_home><SID>DBConsole) Estructuras de memoria Como ya vimos durante la creacin de la base de datos se ofreca la posibilidad de particularizar el tamao de las estructuras de memoria denominadas SGA y PGA; aunque utilizamos los valores recomendados por el asistente, vamos a ver ahora brevemente en qu consisten estas estructuras. La SGA (Shared Global Area) es un rea de memoria compartida que almacena datos e informacin de control de la instancia. La informacin almacenada en la SGA puede ser accedida por mltiples usuarios, y evita tener que acceder a la memoria secundaria (disco duro) a buscarla, lo que permite acelerar la respuesta del sistema. Lo ideal sera que toda la informacin estuviera en la memoria principal y la SGA tuviera suficiente tamao para contenerla, pero esto no es viable y hay que buscar una solucin de compromiso en la cual se encuentre en memoria principal un alto porcentaje de datos que evite tener que acceder frecuentemente a la memoria secundaria. Esta no es una tarea fcil, pero el Enterprise Manager proporciona recomendaciones para gestionar y optimizar el rendimiento de los "Parmetros de Memoria".
26
Como se ve en las grficas, la SGA se divide en varias otras estructuras donde las ms importantes son: Nombre Cach de Buffers (45%) Pool Compartido (45%) Descripcin Todos los datos de la base de datos que van a ser ledos o modificados, han de ser almacenados previamente en esta rea. Contiene informacin para compartir entre los usuarios como sentencias SQL y procedimientos almacenados recientemente ejecutados.
27
Procesos segundo plano Como ya se ha comentado en Windows hay un nico servicio (OracleService<SID> ) que agrupa los servicios que en otros sistemas operativos como Unix se ejecutan como demonios independientes. Para la compresin de las tareas que realiza es mejor describirlos por separado. Servicio Descripcin Data Se encarga de escribir en la base de datos los bloques de informacin modificados en el Buffer Cache de la SGA Writer Log Writer Se encarga de escribir los ficheros de Redo Log en el disco Se encarga de realizar la recuperacin del sistema cuando se arranca una instancia que haba cado anteriormente. SYSTEM Hay que tener en cuenta que el servidor se puede apagar voluntario o involuntariamente sin haber apagado Monitor la base de datos previamente. Al volver a iniciar el servidor y arrancar la base de datos, esta se recupera automticamente y no se producen prdidas de datos. Process Se encarga de liberar los recursos utilizados por los procesos de usuario que fallan. Monitor Cuando la base de datos est en modo archivado, se encarga de almacenar los ficheros de redo log que estn Archiver llenos. Arrancar y parar la instancia La instancia ha de estar arrancada para que los usuarios puedan conectarse y operar con la base de datos. En Windows ya hemos visto que los servicios asociados a la instancia se arrancan automticamente. Tambin hemos visto que si se cierra el sistema operativo sin haber cerrado previamente la base de datos, la instancia de la base de datos sufre una cada que se recupera automticamente la prxima vez que se arranque. Por lo tanto, en general no es necesaria la intervencin del administrador para abrir o cerrar la instancia. En algunos sistemas operativos o por configuracin puede ser necesario que un administrador tenga que abrir y cerrar la instancia manualmente. Para realizar esta tarea puede utilizar el Enterprise Manager conectndose con privilegios de SYSADMIN o SYSOPER que permiten realizar cualquier tipo de operacin o administrar slo la base de datos respectivamente. Estos privilegios los tienen por defecto el usuario SYS. Durante el proceso de apertura de la instancia se realizan las siguientes tareas: Oracle lee el fichero de parmetros Crea las estructuras de memoria Inicia los procesos de segundo plano Si se monta la base de datos, adems se abre el fichero de control. Cuando la base de datos est montada se permite realizar tareas administrativas, pero no la conexin de otros usuarios. Si se abre la base de datos, se abren los ficheros de redo log y datos. Cuando la base de datos est montada y abierta se permite que los usuarios se conecten e interacten con ella. Por defecto al abrir la instancia, la base de datos se monta y abre. Al cerrar la instancia se ejecutan los mismos pasos en orden inverso. Por defecto la base de datos se cierra inmediatamente desconectando a los usuarios que estn conectados y deshaciendo las transacciones no completadas,
28
aunque se pueden seleccionar otro tipo de cierres que afectan de diferente forma a las transacciones en curso de los usuarios : normal, transaccional, inmediato o abortar.
Fichero de parmetros de inicializacin Durante el proceso de creacin de la base de datos el asistente a optimizado los valores de los parmetros de inicializacin, aunque el DBA puede modificarlos posteriormente para mejorar el rendimiento. Una vez ledos los parmetros son almacenados en memoria principal y muchos de ellos pueden ser modificados dinmicamente durante el funcionamiento de la base de datos. Los parmetros se almacenan en un fichero denominado SPFILE (Server Parameter File) mantenido en el servidor de Oracle, y que almacena de forma persistente los cambios que se realicen dinmicamente. Desde la pgina de administracin de la instancia, se pueden consultar los parmetros de inicializacin.
La pgina de parmetros muestra tanto los valores contenidos en el fichero SPFILE como los que se estn utilizando en ese momento. La pantalla permite introducir distintos criterios para filtrar los parmetros mostrados en base a: su nombre. Se pueden introducir patrones de bsqueda.
29
Se pueden modificar los valores de todos los parmetros, y aunque Enterprise Manager ejecutar de forma transparente al usuario la sentencia SQL apropiada, se puede consultar pinchando en el botn "Mostrar SQL"
30
Almacenamiento
Archivos de Control
Descripcin Contiene informacin de control y seguimiento imprescindible para el funcionamiento de la base de datos. Es recomendable tener varias copias del fichero de control para poder arrancar la base de datos si una de ellas se estropea, y durante la creacin se crean tres ficheros. Es una estructura lgica que agrupa uno ms ficheros de datos o ficheros temporales (tempfiles) y que permiten almacenar los objetos creados por los usuarios. Hay varios tipos de tablespaces:
Tablespaces
Undo tablespaces. Se utilizan para gestionar poder deshacer las transacciones incompletas. En versiones anteriores se utilizaban los segmentos de Rollback para realizar esta tarea. Temporary tablespaces. Permiten entre otras tareas mejorar el tiempo de respuesta en las ordenaciones Permanent tablespaces. Este tipo de tablespaces sern asignados a uno o varios usuarios y contendrn los objetos de su esquema (tablas, procedimientos, ndices, ...)
Al asignar un "Grupo de tablespaces temporales" a un usuario, sus transacciones pueden utilizar cualquiera de los tablespaces temporales asignados al grupo, de forma que se puede optimizar su uso. Son los ficheros del sistema operativo en los cuales se van a almacenar los datos de la base de datos. Se estructuran en : Segmentos. Un segmento contiene un tipo especfico de objetos de la base de datos, como por ejemplo una tabla. Un segmento est compuesto de extensiones que definen el tamao disponible para el segmento. A medida que se llenan las extensiones se van aadiendo nuevas extensiones. Extensiones. Cada extensin est formada por un conjunto de bloques de datos consecutivos. Bloques de datos. Es la unidad de almacenamiento ms pequea que se puede utilizar en una operacin de entrada o salida de datos.
Archivos de datos
Segmentos de Rollback
En versiones anteriores se utilizaban para deshacer las transacciones incompletas. Como mnimo toda base de datos tiene dos ficheros de redo logs, que tienen por misin registrar todas
31
Como se aprecia cada archivo de datos tiene asignado un tablespace y un estado. A travs de los enlaces podemos acceder a las estructuras lgicas que nos proporcionan los tablespaces.
32
Junto a la lista de tablespaces podemos ejecutar acciones asociadas como: Agregar un archivo de datos para aumentar su tamao o distribuir los datos entre varios discos. Cambiar su estado (online/offline) Seleccionando la accin de "Generar DDL" se puede ver la sentencia SQL que se va a ejecutar para realizar la accin seleccionada. Ejecutar el Asesor de Segmentos para obtener recomendaciones Mostrar Contenido del Tablespace que nos permite ver los objetos de usuario que estn almacenados en el mismo. Pinchando sobre el enlace asociado a un tablespace se muestra la informacin del mismo y se facilitan acciones especficas para el mismo
33
Tareas del administrador La gestin de las estructuras fsicas y lgicas corresponde al adminstrador, e incluye por ejemplo: Definir si es necesario crear un nuevo tablespace para almacenar los datos de un usuario o aplicacin. Hay que tener en cuenta que los tablespaces pueden ponerse online u offline, y permite controlar el acceso a los datos, ya que si est offline ningn usuario o aplicacin podr acceder al mismo. Tambin se pueden realizar copias de seguridad de un tablespace, por lo que si los objetos de una aplicacin estn en un nico tablespace se simplifica la gestin de copias de seguridad. Crear, modificar y borrar tablespaces. Desde la pgina de tablespaces del Enterprise Manager cuenta con formularios para ejecutar estas acciones. Vigilar el porcentaje de uso de los tablespaces, incrementando su tamao o aadiendo nuevos ficheros si es preciso. Adems, ha de ejecutar de vez en cuando el "Asesor de segmentos" que permite compactar los segmentos y eliminar la fragmentacin interna de los datos. Como se ver posteriormente, el SGBDR de Oracle proporciona alertas, avisos y pginas de monitorizacin para facilitar esta tarea
34
Desde un punto de vista prctico vamos a partir del hecho de que para poder operar sobre la base de datos hay que tener un usuario y clave. La mejor forma de conocer cuales son los usuarios presentes en la base de datos es consultando este apartado directamente desde la consola, y como vemos hay 28 aunque la mayora tienen sus cuentas bloqueadas y sus claves han caducado.
35
Se pueden editar las caractersticas del usuario "Scott" para: ver el tablespace por defecto que tiene asignado ejecutar la accin de desbloquear la cuenta ver los roles y privilegios que tiene asignados. Mediante los privilegios asignados al usuario, el SGBDR controla los objetos de la base de datos a los que puede acceder, el nivel de acceso que tiene sobre los objetos, y la autorizacin para crear nuevos objetos. Para facilitar la gestin de los privilegios se agrupan en roles que pueden ser asignados en grupo a los usuarios. ... Privilegios del sistema Los privilegios del sistema otorgan al usuario la capacidad para crear, modificar y eliminar los objetos de la base de datos. Como se ve en la siguiente imagen, el usuario Scott tiene asignada la utilizacin ilimitada de su tablespace.
36
Roles Cuando hay muchos usuarios y objetos, la concesin de privilegios se hace pesada y tediosa, para simplificar esta tarea se han desarrollado los roles. Un rol agrupa bajo un nombre una lista de privilegios, y puede ser asignado directamente a los usuarios.
37
Seleccionando por ejemplo el rol CONNECT se pueden ver los privilegios del sistema que agrupa. Como ejercicio compara el rol CONNECT con el rol RESOURCE y observa cul es la diferencia entre ambos. Como se puede observar, al crear la base de datos se han creado numerosos roles. Son de destacar tres que se han mantenido por compatibilidad con versiones anteriores y que pueden ser de gran utilidad: CONNECT, que asigna los privilegios necesarios para poder realizar una conexin a la base de datos y crear objetos sencillos. RESOURCE, que permite crear todo tipo de objetos. Todos estos roles estn accesibles para ser asignados a los usuarios.
38
Tablas En el proceso de diseo de una base de datos relacional, se aplican un conjunto de tcnicas que van encaminadas a obtener modelos entidad-relacin que estn al menos en tercera forma normal. La tarea de modelado de la base de datos suele ser realizada principalmente por los analistas funcionales, aunque siempre queda un pequeo porcentaje de refinamiento en el diseo que no se realiza hasta la fase de diseo tcnico o desarrollo de los componentes. La tabla es el objeto bsico de la base de datos, donde se van a guardar los datos de los usuarios y el rendimiento de las aplicaciones depende en gran medida de cmo se hayan diseado. Sin entrar en conceptos de diseo, que sobrepasan el objetivo de este curso y que se tratan en otro curso, bastara con pinchar en el botn "Crear" para que se fueran sucediendo los formularios para definir la tabla y sus columnas.
39
Para aprender cmo crear una tabla es muy didctico ver las propiedades de las existentes, como por ejemplo la tabla de empleados (EMP)
Como se aprecia la tabla est creada en el esquema del usuario "Scott", y aunque el usuario conectado al Enterprise Manager sea SYS, puede crear la tabla en cualquier esquema existente. La tabla almacenar sus datos en el tablespace USERS, y su organizacin es "Estndar, organizacin en pilas". Durante la creacin de una tabla se puede seleccionar si tiene ordenacin por pilas o ndices; si se selecciona como una pila, los datos se van almacenando desordenadamente en ella segn se van insertando, y si se opta por ndices se almacenan ordenadamente los campos que forman parte de la clave primaria de la tabla.
40
En la seccin de restricciones se muestra la clave primaria (PK_) y una clave externa (FK_), y pinchando en el enlace del ndice, se pueden obtener informacin del mismo.
Si se selecciona el botn de "Editar", se muestran sus propiedades en un formato similar al utilizado durante la creacin de una nueva tabla
41
Pinchando en el botn "Mostrar SQL" se puede visualizar la sentencia SQL que se va a ejecutar, como por ejemplo
Como se ve se podra haber creado directamente la tabla desde el intrprete de comandos SQL*Plus mediante la sentencia que se muestra en el grfico anterior. Cuando se crea una tabla est vaca; es decir, no contiene datos. Para crear y mantener los datos se deben ejecutar sentencias de manipulacin de datos (Data Manipulation Language o DML), que son: De insercin: La instruccin bsica para crear un nuevo registro es INSERT y con ella lo que hacemos es crear un nuevo registro o tupla en la tabla de empleados. De modificacin: La sentencia UPDATE se utiliza para modificar los valores de algn registro o fila ya existente. De borrado: Para borrar registros de una tabla se utiliza la sentencia DELETE. Desde el Enterprise Manager no se pueden modificar ni borrar los datos de una tabla, pero se pueden consultar sin ms que ejecutar la accin "Ver Datos" asociada a la misma. Vistas Las vistas son similares a las tablas, pero con la diferencia fundamental de que sus datos no estn almacenados fsicamente, si no que se recuperan y ordenan en tiempo de ejecucin. Una vista se crea por mltiples razones, que generalmente son ocultar la complejidad de la consulta de unin de tablas a los usuarios, tener columnas agrupadas, restringir automticamente el acceso a los datos, ... En una vista se puede mostrar informacin de una o varias tablas, junto con campos calculados. Supongamos que queremos crear una vista que muestre el nmero y nombre de los empleados (Scott.emp) junto con el nmero y el nombre del departamento donde trabajan (Scott.dept). Desde el asistente se indica la consulta en lenguaje SQL con la que se va a crear la vista y los alias con que se van a nombrar las columnas resultantes.
42
Seleccionando la accin "Ver Datos" se muestran los valores devueltos al consultar la vista. Indices Los ndices tienen por finalidad permitir acelerar la recuperacin de los datos de una consulta. Supongamos por ejemplo que una empresa tuviera varios departamentos en cada localidad, y siempre recupera slo los departamentos de cada una de ellas. Quizs en base a los tiempos de respuesta se considerara necesario crear un ndice en los campos localidad (LOC) y nmero de departamento (deptno).
Observar que el orden de la columna sirve adems para indicar cules de ellas forman parte del ndice.
Sinnimos Un sinnimo es un sobrenombre que se aplica a los objetos para eliminar por ejemplo la necesidad de tener que referenciarlos teniendo en cuenta el esquema donde han sido creados. Por defecto los objetos slo pertenecen al esquema del usuario donde se crearon y han de ser referenciados como
43
En este caso se ha creado un sinnimo pblico, es decir que va a poder referenciarse desde cualquier otro esquema. Aunque pueda ser referenciado por otros usuarios distintos de Scott, hay que recordar que para poder consultar la vista los usuarios han de tener los privilegios necesarios para ello
Una vez concedidos los privilegios sobre el objeto al usuario SYSTEM, ste podr realizar la siguiente consulta: SELECT * FORM EMP_DEPT; Secuencias Una secuencia es un objeto que permite generar nmeros secuenciales sin repeticin en un entorno de usuarios concurrentes.
44
En este caso hemos creado la secuencia de nombre SECUENCIA que comienza con uno y cada vez que se recupera un nuevo valor ( ECUENCIA.NEXTVAL) lo incrementa en 1; adems hemos fijado un valor mximo y mnimo, y los crearemos en orden. S
Para conocer el valor actual de la secuencia podremos hacer la siguiente consulta: SELECT SECUENCIA.CURRVAL FROM DUAL; Programas Oracle permite almacenar procedimientos en la base de datos, con lo que se una vez probado y verificado su funcionamiento, puede se utilizado por cualquier usuario autorizado. El cdigo almacenado puede ser codificado en PL/SQL o Java, aunque lo ms habitual ser utilizar PL/SQL. Paquetes Un paquete es una estructura de almacenamiento que contiene la descripcin de tipos, variables, funciones y procedimientos pblicos que se van a codificar en su cuerpo. Los paquetes y en general todos los programas han de estar en estado "vlido" para su correcta ejecucin, pero efectos laterales al modificar otros objetos de la base de datos pueden quedar en estado "no vlido" y no sern ejecutables. En la siguiente imagen se muestra una consulta realizada para ver los paquetes vlidos del usuario "SYSTEM" desde la cual se tiene acceso a la pgina de edicin para compilar y corregir los posibles errores.
45
Para ejecutar un procedimiento o funcin almacenado basta con indicar el nombre del esquema seguido del nombre del paquete y terminado por el nombre del procedimiento o funcin. Por ejemplo desde la lnea del intrprete de comandos podramos escribir SQL>EXECUTE esquema.nombre_paquete.nombre_procedimiento; SQL>SELECT esquema.nombre_paquete.nombre_funcin FROM DUAL; Cuerpo del paquete En el cuerpo del paquete se han de codificar las funciones y procedimientos pblicos que han sido declarados en el paquete, y todas las funciones y procedimientos privados que sea necesario. Los procedimientos privados slo podrn ser llamados desde las funciones o procedimientos del paquete, y nunca directamente. Al crear un paquete por defecto se muestra la sintaxis de los procedimientos y funciones para facilitar su codificacin.
Al terminar la codificacin y "Aceptar", el paquete puede haber quedado en estado "no vlido"
y entrando en l se puede ejecutar la accin "Compilar" para ver los errores que se producen. En este ejemplo, el error es haber codificado primero el cuerpo del paquete y faltar por lo tanto la especificacin del mismo. Oracle permite almacenar en la base de datos el cdigo en un formato codificado conocido como "wrap" y que impide que otros usuarios pueden manipularlo o copiarlo. Para realizar esta operacin se utiliza el comando MSDOS wrap.exe que se puede encontrar en el directorio <raz de Oracle>/bin/wrap.exe
46
Procedimientos y funciones Los procedimientos y funciones pueden ser creados como unidades independientes de cdigo, y se diferencian en que las funciones devuelven un valor. Para ejecutar un procedimiento o funcin almacenado basta con indicar el nombre del esquema seguido del nombre del procedimiento o funcin. Por ejemplo desde la lnea del intrprete de comandos podramos escribir SQL>EXECUTE esquema.nombre_procedimiento; SQL>SELECT esquema.nombre_funcin FROM DUAL; Observar que mientras que el procedimiento se puede ejecutar directamente, la funcin ha de ser llamada desde una sentencia SELECT para tratar el dato devuelto. Disparadores de base de datos Un disparador al igual que los procedimiento y funciones, es una unidad de cdigo almacenada en la base de datos con la particularidad de que est asociado a tablas, vistas u otros eventos y se ejecuta cada vez que se produce por ejemplo una insercin, modificacin o borrado de datos. Los disparadores suelen utilizarse para realizar tareas de verificacin de los datos, tareas de auditoria, control de acceso, ... La pgina de definicin del disparador es similar a la del resto de programas, y en la pestaa de eventos se muestra un formulario contextual con el tipo de evento al que se asocia el disparador: eventos de tabla
eventos de vista
47
48
El diccionario de datos Si se crea la base de datos con el DBCA se crea automticamente el diccionario de datos. El diccionario es un repositorio de datos que almacena informacin sobre todos los objetos contenidos en la base de datos, y que se actualiza con cada operacin de definicin de datos (DDL). El diccionario de datos se crea en el esquema del usuario SYSTEM y ha de permanecer en l. Si la base de datos se crea manualmente ser necesario ser necesario ejecutar estos guiones (scripts) con un usuario con privilegios de SYSDBA, generalmente SYS. Guin Descripcin
catalog.sql Crea el diccionario de datos y sinnimos pblicos para sus vistas. catproc.sql Ejecuta todos los guiones necesarios para poder ejecutar PL/SQL catclust.sql Crea las vistas del diccionario de datos para el Oracle9i Real Application Clusters Hemos ido viendo que hay mucha ms informacin almacenada en el SGBDR que los datos de los usuarios, y que en ocasiones puede ser necesario consultarla. Bastara hacer una consulta desde SQL*Plus de las tablas y vistas del usuario SYS para ver el nmero de objetos de los que podemos obtener informacin SQL> CONNECT SYS@SID AS SYSDBA; Introduzca la contrasea: ********** Conectado. SQL> SELECT COUNT(*) 2 FROM USER_TABLES; COUNT(*) ---------- 298 SQL> SELECT COUNT(*) 2 FROM USER_VIEWS; COUNT(*) ---------- 1820 SQL> SELECT COUNT(*) 2 FROM USER_OBJECTS; COUNT(*) ---------- 15045 SQL> SELECT COUNT(*) 2 FROM CATALOG; COUNT(*) ---------- 2041 SQL> Es imposible guardar toda esta informacin en nuestra memoria, pero en un momento dado podemos recuperar algunas referencias vlidas si utilizamos la siguiente consulta: SQL> R 1 SELECT OBJECT_NAME 2 , OBJECT_TYPE 3 FROM ALL_OBJECTS 4 WHERE OBJECT_NAME LIKE UPPER('%&patrn_de_bsqueda%') 5* ORDER BY 2,1 Introduzca un valor para patrn_de_bsqueda: package antiguo 4: WHERE OBJECT_NAME LIKE UPPER('%&patrn_de_bsqueda%') nuevo 4: WHERE OBJECT_NAME LIKE UPPER('%package%') OBJECT_NAME OBJECT_TYPE ------------------------------ ------------------ I_ACTPACKAGE INDEX CIOPACKAGE PACKAGE DBMS_REPCAT_INTERNAL_PACKAGE PACKAGE IFR_PACKAGE PACKAGE CIOPACKAGE PACKAGE BODY DBMS_REPCAT_INTERNAL_PACKAGE PACKAGE BODY IFR_PACKAGE PACKAGE BODY DBMS_REPCAT_INTERNAL_PACKAGE SYNONYM CI_PACKAGES VIEW CI_ROOT_PACKAGES VIEW 10 filas seleccionadas. SQL>
49
50
Ejecutar la base de datos en el modo archivado (ARCHIVELOG) de manera que se puedan realizar las copias de seguridad en lnea sin parar la base de datos. Utilizar el rea de recuperacin flash para almacenar los ficheros de archivado. Definir las polticas que se han de aplicar para gestionar el rea de memoria flash. Entre ellas se pueden indicar cundo hacer copias de seguridad de determinados ficheros, y cunto tiempo se han de mantener los datos.
El Enterprise Manager sugiera una poltica de copias de seguridad bsica pero robusta
51
El destino es el disco y concretamente el rea de memoria flash. La configuracin indica que: Se realiza una copia de seguridad completa la primera vez que se ejecuta Las veces posteriores se realizan copias de seguridad incrementales Se guardan las copias de seguridad necesarias para permitir la recuperacin completa de la base de datos, o hasta un momento en el tiempo anterior a la ltima copia incremental realizada. Se planifica la hora del da en que se realiza la copia de seguridad. En el ltimo paso se muestra el comando que se ejecutara diariamente Archivo de Comandos Diario: run { allocate channel oem_disk_backup device type disk; recover copy of database with tag 'ORA$OEM_LEVEL_0'; backup incremental level 1 cumulative copies=1 for recover of copy with tag 'ORA$OEM_LEVEL_0' database; } Con esta poltica de copias de seguridad se pueden recuperar los datos en base a los siguientes casos: Supongamos que al finalizar el primer da (24:00:00 horas) se realiza una copia completa de la base de datos con los datos actualizados hasta ese momento. La copia de la base de datos junto con el fichero de redo log del segundo da, permiten recuperar los datos hasta cualquier momento del segundo da. Al finalizar el segundo da (24:00:00) se realiza una copia de seguridad incremental con los cambios que ha habido durante el segundo da en la base de datos. La copia completa realizada el primer da y actualizada con los cambios realizados el segundo da, permiten recuperar los datos hasta cualquier momento del tercer da utilizando el redo log del mismo. En los das posteriores, las copias de seguridad incrementales contienen los cambios que se han realizado a la base de datos desde la ltima copia de seguridad completa, siguindose un procedimiento similar al del punto anterior. Restauracin y recuperacin La recuperacin completa de la base de datos a partir de los ficheros contenidos en la copia de seguridad se realiza de forma automtica por el Enterprise Manager. Las opciones para recuperar la base de datos completa, permiten restaurar los ficheros o bien elementos lgicos como tablas o tablespaces.
52
Si realizamos la recuperacin de la base de datos completa, el Enterprise Manager informa que la base de datos est "abierta", y para realizar la restauracin ha de cerrarla y dejarla en estado "Montada", y pide confirmacin.
Si se confirma la operacin, la base de datos se cerrar y montar, accediendo posteriormente a una nueva pgina del asistente de recuperacin.
53
Como se ve la instancia est "montada" y se ofrece la posibilidad de iniciarla o realizar la recuperacin, debiendo de seleccionar la segunda opcin. De nuevo es necesario conectarse con un usuario con privilegios de administracin en el sistema operativo y en el SGBDR. Los cinco pasos que se siguen para la restauracin completa son:
Point-in-time. Indicar si se desea recuperar la base de datos hasta el momento actual o hasta un punto anterior en el tiempo. Flashback. En la recuperacin completa no aplica. Cambiar nombre. Permite indicar una nueva ubicacin para los archivos restaurados. Planificar. No aplica Revisar. Permite verificar los comandos que se van a ejecutar. run { restore database until time "to_date('2005-11-20 17:19:23', 'YYYY-MM-DD HH24:MI:SS')"; recover database until time "to_date('2005-11-20 17:19:23', 'YYYY-MM-DD HH24:MI:SS')"; }
Al finalizar la operacin se muestra el resultado de la misma y los comandos ejecutados. SQL*Plus: Release 10.2.0.1.0 - Production on Lun Nov 21 17:25:48 2005 Copyright (c) 1982, 2005, Oracle. All rights reserved. SQL> SQL> Conectado. SQL> SQL> SQL> ORA-01109: base de datos sin abrir Base de datos desmontada. Instancia Oracle cerrada. SQL> SQL> Desconectado de Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production With the Partitioning, OLAP and Data Mining options SQL*Plus: Release 10.2.0.1.0 - Production on Lun Nov 21 17:25:55 2005 Copyright (c) 1982, 2005, Oracle. All rights reserved. SQL> SQL> Conectado a una instancia inactiva. SQL> SQL> Instancia Oracle iniciada. Total SYSTEM Global Area 167772160 bytes Fixed Size 1247876 bytes Variable Size 88081788 bytes Database Buffers 71303168 bytes Redo Buffers 7139328 bytes Base de datos montada. SQL> Desconectado de Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production With the Partitioning, OLAP and Data Mining options Recovery Manager : Release 10.2.0.1.0 - Production on Lun Nov 21 17:26:01 2005 Copyright (c) 1982, 2005, Oracle. All rights reserved. RMAN> conectado a la base de datos destino: ORCLE10 (DBID=3008764522, no abierto) se utiliza el archivo de control de la base de datos destino en lugar del catlogo de recuperacin RMAN> echo activado RMAN> run { 2> restore database until time "to_date('2005-11-20 17:19:00', 'YYYY-MM-DD HH24:MI:SS')"; 3> recover database until time "to_date('2005-11-20 17:19:00', 'YYYY-MM-DD HH24:MI:SS')"; 4> } Iniciando restore en 21/11/05 canal asignado: ORA_DISK_1 canal ORA_DISK_1: sid=156 devtype=DISK Finalizada la recuperacin se ha de arrancar la instancia de la base de datos para que vuelva a estar disponible a todos los usuarios. Se ha visto que la recuperacin de la base de datos se puede realizar hasta un punto de restauracin denominado "SCN", el Enterprise Manager permite que el administrador cree un SCN cuando considere que la informacin almacenada en la base de datos hasta ese momento es consistente e importante para realizar una recuperacin hasta ese punto si fuera necesario.
54
Cuando se realiza la recuperacin lgica el nmero de psos vara entre tres y siete en funcin del tipo de objeto que se desee recuperar. Al seleccionar el tipo de objeto "tabla" se puede realizar una recuperacin denominada Flasback que muestra los datos que tena la tabla en el momento indicado. Esta recuperacin se puede realizar tanto en tablas existentes como ya borradas. Este tipo de recuperacin permite recuperar exclusivamente un elemento lgico en el cual se pueden haber insertado, actualizado o borrado datos de manera errnea. Desde el Enterprise Manager se pueden "Gestionar las copias de seguridad actuales". La gestin de las copias de seguridad incluye por una parte un aspecto fsico relacionado con el dispositivo donde ha sido almacenada y otra lgica relativa al registro que se mantiene en el repositorio de la base de datos. El registro asociado a una copia de seguridad puede estar en tres estados: Disponible, que indica que la copia est en el disco o cinta de almacenamiento y los registros en el repositorio. Caducado, que indica que la copia de seguridad ha sido borrada del disco, pero el registro todava est en el repositorio. Si la copia ha sido borrada definitivamente del disco, debe de eliminarse el registro del repositorio. No disponible, indicando que la copia de seguridad no puede ser utilizada para la recuperacin de la base de datos. La razn puede ser sencillamente que est almacenada en una cinta que no est accesible en ese momento. Una copia de seguridad tambin puede quedar obsoleta porque se cambie la poltica de gestin de copias de seguridad y la informacin contenida en ella no sea necesaria para la recuperacin de la base de datos. Desde el Enterprise Manager se puede adems: Listar las copias de seguridad que se han realizado Realizar chequeos cruzados que entre otras tareas permiten identificar copias que estn caducadas por no estar disponibles los ficheros. Borrar los registros asociados a copias caducadas u obsoletas.
55
Adicionalmente a la generacin del aviso, la alerta puede ejecutarse una accin de respuesta (script), por ejemplo para comprimir el tablespace. Las alertar pueden ser enviadas por correo electrnico al DBA, y para ello debe estar configurado correctamente el servidor de correo saliente (SMTP) que se va a utilizar. Aunque la configuracin se puede hacer en el paso 4 de la creacin de la base de datos, siempre se puede modificar desde la pgina de configuracin.
56
La direccin de correo electrnico que se indica no es a la que se va a enviar la notificacin, si no la que aparecer como remitente de la misma. Desde la pgina de preferencias se puede asociar una o varias direcciones de correo destinatarias de las notificaciones para los usuarios administradores. Adems, se pueden establecer reglas y planificar los envos.
Para vigilar el rendimiento del SGBDR Oracle incluye un Monitor de Diagnstico de la Base de Datos Automtico (Automatic Database Diagnostic Monitor o ADDM) que identifica potenciales problemas y proporciona soluciones a los mismos. El ADDM se ejecuta peridicamente y guarda la informacin instantnea recopilada en el repositorio AWR (Automatic Worload Repository); a travs de la comparacin de las distintas instantneas es capaz de analizar la evolucin del rendimiento e identificar los problemas potenciales. En cualquier momento podemos ejecutar el ADDM y obtener un informe actualizado.
57
La informacin que analiza el ADDM es: Cuellos de botella en la CPU Gestin ineficiente de conexiones Bloqueos Operaciones de entrada/salida Tamao de las estructuras de memoria Carga de sentencias SQL Tiempo de ejecucin de procedimientos PL/SQL y Java ... Otra til herramienta son los asesores que proporcionan generalmente una informacin ms comprensiva que las alertas y cubren reas como el rendimiento o el espacio utilizado. Los asistentes se ejecutan manualmente por el DBA y realizan anlisis ms exhaustivos que las alertas, pero consumiendo ms recursos del sistema.
Los asesores disponibles son Asesor de Memoria Descripcin Analiza el tamao de la SGA y de la PGA, optimizando el uso de la memoria global de la instancia. Proporciona informacin sobre el tamao del segmento de deshacer (undo) y del tiempo de retencin para la Deshacer utilizacin del Flashback. Acceso SQL Analiza las consultas realizadas y puede indicar si es conveniente crear ndices o vistas materializadas para mejorar los tiempos de respuesta. Ajustes
58
59