mailxmail - Cursos para compartir lo que sabesIntroducción a Oracle Autor: Roberto www.ForInfor.net 1 mailxmail - Cursos para compartir lo que sabes Presentación del curso En el curso se introducen los conceptos básicos para saber que es un Gestor de Bases de Datos Relacional, y la utilidad de Oracle para este cometido. 2 mailxmail - Cursos para compartir lo que sabes 1. Introducción Introducción ForInfor.net te ofrece este curso que pronto estará disponible en su portal de teleformación y que junto con los contenidos teóricos te ofrecerá simulaciones y numerosos ejercicios para que afiances tus conocimientos. Por ello, agradeceremos cualquier comentario o sugerencia que nos quieras hacer llegar a
[email protected] Un Sistema de Gestión 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 informática necesaria para gestionar: El acceso controlado de los procesos de los usuarios a los datos La gestión del almacenamiento de los datos La gestión de las comunicaciones entre procesos clientes y servidores Interconexión 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 artículo "A Relacional Model of Data for Large Shared Data Bank" en el cual establecía las características que debían de tener los sistemas informáticos para tratar grandes volúmenes de información, llegando a definir las doce reglas que considera necesarias para que el sistema se pueda definir como relacional. Existen numerosos SGBDR´s y entre ellos el más popular a nivel profesional es el de Oracle. Dado que Codd considera que un SGBDR ha de cumplir las 12 reglas, se podría pensar que por lo tanto Oracle las cumple. En el artículo 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 colección de datos, por extensión se denomina así a la aplicación software que los gestiona hablando por tanto del SGBDR de Oracle. El SGBDR de Oracle se instala en prácticamente cualquier equipo informático, pudiendo empezar por un ordenador personal basado en Windows e ir escalando a arquitecturas más 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 más complejas sin necesidad de realizar cambios significativos. El SGBDR de Oracle es muy potente, pero para obtener un rendimiento correcto, es necesaria la intervención del administrador de la base de datos (DBA). Las tareas más comunes del DBA son: 3 mailxmail - Cursos para compartir lo que sabes La instalación del software de Oracle La creación de la base de datos La actualización del software y base de datos a nuevas versiones. Arrancar y parar la base de datos. Gestionar las estructuras de almacenamiento de la base de datos. Gestionar la seguridad y acceso de los usuarios. Gestionar los esquemas de objetos de cada usuario. Establecer la política de realización de copias de seguridad de la base de datos (backups) y realizar la recuperación de la misma si hay incidencias. Monitorizar la actividad de la base de datos, y realizar las acciones necesarias para optimizar su rendimiento. Antiguamente el DBA requería una amplia experiencia y profundos conocimientos para la realización de estas tareas, pero hoy en día Oracle proporciona numerosas herramientas y asistentes para simplificar las tareas y permitir que prácticamente cualquier usuario con un mínimo de conocimientos pueda realizarlas correctamente. Las herramientas que ayudan a la instalación y actualización del software de Oracle y de la base de datos son: El instalador universal de Oracle (Oracle Universal Installer - OUI) se encarga de instalar el software del SGBDR con las opciones seleccionadas. Automáticamente crea la base de datos con la ayuda del asistente de configuración de la base de datos. El asistente de configuración de la base de datos (DataBase Configuration Asistant DBCA) permite crear una base de datos utilizando las plantillas predifinidas que mejor se adapten a la utilización de la base de datos. El asistente de actualización de la base de datos (Database Upgrade Assistant DUA) permite migrar los datos de una base de datos Oracle a una versión posterior de la misma. El gestor de red de Oracle (Oracle Net Manager) permite configurar el acceso al servidor de la base de datos. Una vez instalado y configurado el software, el DBA utilizará habitualmente la herramienta denominada Oracle Enterprise Manager, que es fundamental para controlar el rendimiento de la base de datos y ofrece consejos para optimizar su uso. En este curso se introducirán los conceptos mínimos que todo DBA debe conocer y los asistentes que permiten su aplicación y gestión. 4 mailxmail - Cursos para compartir lo que sabes 2. Instalación del software y creación de la base de datos Instalación del software y creación de la base de datos Oracle ofrece una versión gratuita de la versión 10g denominada Express Edition destinada a: Desarrolladores que trabajen en SQL, PL/SQL, PHP, Java, .Net y en cualquier otra aplicación de código abierto Administradores que necesiten realizar prácticas Instituciones educativas y estudiantes. Esta versión tiene un interfaz y funcionalidad diferente a la del resto de productos, por lo que para el presente curso se utiliza la versión comercial, y lo primero es adquirir el software. Hay que tener en cuenta que Oracle es un software licenciado, por lo que se ha de adquirir una licencia del producto antes de su utilización. Desde la página web de Oracle Technology Network se pueden descargar versiones de todos los productos con una licencia de uso limitado pero suficiente para que puedas evaluar el producto y realizar un prototipo de tu aplicación. A continuación se muestra un extracto de los términos 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. Traducción literal: Derechos de la licencia Se otorga una licencia limitada de uso no exclusivo, ni transferible para usar el programa sólo con el propósito de desarrollar un prototipo de su aplicación, y no para otros propósitos. Si usa la aplicación que ha desarrollado bajo esta licencia para cualquier uso interno de procesado de datos o para cualquier actividad comercial o propósito de productivo, o quiere usar los programas con otros propósitos distintos a los permitidos bajo este acuerdo, debe contactar nos directamente o a través de un revendedor, para obtener la licencia apropiada. Podemos auditar el uso del programa. Aceptados los términos 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 versión 10g para Windows, el fichero comprimido (ZIP) a descargar es de aproximadamente 650MBytes. 5 mailxmail .OUI). instalar 6 .Cursos para compartir lo que sabes Una vez descargado el software. OUI permite mediante una interfaz gráfica ver los productos de Oracle que hay instalados en el servidor. 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 aplicación del instalador universal de Oracle (Oracle Universal Installer . Cursos para compartir lo que sabes OUI permite mediante una interfaz gráfica ver los productos de Oracle que hay instalados en el servidor. el OUI y el DBCA finalizarán con la creación de una base de datos totalmente operativa. Observar que se pide introducir una contraseña para los superusuarios SYS.ForInfor.mailxmail . SYSMAN y DBSNMP. Aceptando las opciones por defecto y salvo complicaciones extraordinarias. por lo que es la que se utiliza durante el curso. Crear opcionalmente una base de datos. Esta contraseña de base de datos sólo debe ser conocida por el DBA. borrar o modificar cualquier información almacenada en la base de datos. La versión empresarial es la más completa he incluye las herramientas de gestión más avanzadas. SYSTEM. estándar y empresarial. Al iniciar el OUI se asignan valores por defecto para: definir el directorio raíz donde se instalará el software seleccionar el tipo de instalación ha realizar.net 7 . ya que cualquier usuario mal intencionado que consiguiera conectarse con esta clave podría consultar. en cuyo caso se ha de dar un nombre único para la misma y la contraseña que se desea utilizar para los superusuarios. pudiendo escoger entre una versión personal. donde los dos primeros son los usuarios de administración de la base de datos. En la siguiente enlace puedes ver una película con el proceso de instalación del software y creación de una base de datos por defecto descargado directamente de www. instalar nuevos productos y desinstalar alguno de los existentes. Durante todo el proceso de instalación o desinstalación ofrece ayuda para mejorar la comprensión de los procesos que se van a llevar a cabo. Procesado de transacciones Uso general Personalizar Base de Datos 8 . Paso 2. actualizaciones y borrados de datos. Permite la máxima flexibilidad para crear una base de datos. La velocidad. disponibilidad y concurrencia son fundamentales. Operaciones. Los tiempos de respuesta y la disponibilidad son cruciales.Cursos para compartir lo que sabes 3. Oracle facilita por defecto tres plantillas: Uso principal de la base de datos Almacén de datos Descripción Los usuarios ejecutan numerosas consultas de elevada complejidad y que procesan un elevado volumen de datos. Crear Base de Datos A través de un asistente se ayuda a la realización de esta tarea facilitando valores por defecto que se han de ir confirmando en los pasos sucesivos. Asistente de Configuración de la base de datos Asistente de Configuración de la base de datos Desde el menú de inicio de Windows podemos invocar directamente al DBCA El DBCA se puede utilizar para realizar las siguientes operaciones: Crear una base de datos Configurar las opciones de una base de datos Suprimir una base de datos Gestionar las plantillas Configurar la gestión automática del almacenamiento Paso 1.mailxmail . permitiendo introducir un mayor número de opciones. Varios usuarios ejecutan simultáneamente consultas. Plantillas de la Base de Datos Las plantillas contienen un conjunto de valores por defecto que se consideran óptimos para la creación de una base de datos en función del uso al que va a ser destinada. Combina características de las dos anteriores. inserciones. el DBA puede modificar y optimizar la parametrización de la base de datos en función del uso real de la carga de trabajo que soporte y los consejos que le faciliten los asistentes. En esta versión el Enterprise Manager es una aplicación web que proporciona las herramientas necesarias para la gestión de una base de datos local. se pueden modificar. Como se verá posteriormente. Opciones de Gestión Por defecto aparece seleccionada la opción de gestión local "Configurar Base de Datos con Enterprise Manager". es necesario tener instalado el agente de gestión Oracle Management Agent en el servidor y seleccionarlo en el menú desplegable Management Service. Paso 4.Cursos para compartir lo que sabes Si no hay un criterio claro sobre el uso que se va ha hacer de la base de datos. 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. La instalación del agente y los componentes del Grid. Paso 3. Al seleccionar la gestión local. lo mejor es seleccionar la plantilla de "Uso general" y utilizar las opciones por defecto facilitadas por el asistente. 9 . se puede indicar un servidor de correo saliente y una cuenta de correo donde se recibirán avisos de incidencias relacionadas con la base de datos y emitidos automáticamente por el gestor. han de estar instalados con antelación a la base de datos para que esta opción aparezca activada.<nombre_basedatos> Aunque por defecto el nombre de la base de datos global y el SID son iguales. Se pueden utilizar una estructura jerarquizada basada en dominios de la forma : <dominio>.mailxmail . Para utilizar la opción de la gestión centralizada con Oracle Enterprise Manager Grid. Si sólo va a haber un DBA lo normal será utilizar la misma clave para todos los superusuarios. En versiones anteriores del SGBDR de Oracle se les asignaban a estos usuarios claves por defecto que posteriormente el DBA debía de modificar. Credenciales de la base de datos La base de datos crea automáticamente varios usuarios que son necesarios para la posterior administración de la misma. La opción por defecto es la más habitual para una base de datos de propósito general. Paso 5. y se puede ver una explicación del resto de opciones pinchando en el botón de " Ayuda". El usuario y clave del sistema operativo son necesarios para que posteriormente el Enterprise Manager pueda escribir en el disco. Posteriormente si se desea. pero lo cierto es que en muchas ocasiones esta tarea no se hacía y era posible conectarse al SGBDR utilizando las claves por defecto (sys/change_on_install o system/manager). 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. La copia de seguridad se realiza en el área denominada "Area de recuperación Flash" y que se configura posteriormente. SYSTEM. o bien se puede poner una distinta para cada uno de ellos. control y log. La clave puede ser la misma para todos ellos. se pueden modificar los valores de la notificación de correo y copia de seguridad desde el Enterprise Manager. Cada día se realiza una copia de seguridad de la base completa.mailxmail . 10 .Cursos para compartir lo que sabes También se puede establecer una política de gestión de copias de seguridad que se realizarán automáticamente a la hora indicada. Paso 6. por lo que en esta primera instalación no se pasa al paso siguiente sin seleccionar estas casillas. Para mejorar la seguridad es necesario introducir una clave personalizada para los superusuarios : SYS. SYSMAN y DBSNMP. .mailxmail .." 11 . Ubicaciones de Archivos de la Base de Datos La plantilla establece unos valores por defecto que se pueden revisar pinchando el botón "Variables de Ubicación de Archivos .Cursos para compartir lo que sabes Paso 7. ). El archivado automático es más eficaz y libera al administrador de esta tarea. Los archivos creados son almacenados en el área de recuperación Flash. Configuración de Recuperación En este paso se puede modificar el valor por defecto asignado al "Área de Recuperación Flash" utilizada para la realización de copias de seguridad. por lo que aceptaremos el valor por defecto y dejaremos para los ajustes como una tarea posterior del DBA. y si hay que recuperar la base de datos hay que recuperar la copia. y activar el modo "Archivado". se podrá recrear la base de datos a partir de la copia disponible en otro disco. se activa el botón para seleccionar los parámetros del mismo 12 . En esta versión Oracle se encarga de gestionarlas automáticamente las copias en el "Área de Recuperación Flash" y recuperarlas de la misma si es necesario.. Ni que decir tiene que si los datos y su copia están en el mismo disco. y el disco se avería. para ello utiliza un proceso en segundo plano identificado como ARC0 y que archiva los grupos de archivos de redo log online cuando están llenos. En pequeños servidores basados generalmente en Windows. Es recomendable establecer el modo "Archivado" de manera que la instancia de la base de datos realice el archivado de archivos de "redo log" automáticamente. Cuando se habla de realizar copias de seguridad se sobreentiende que éstas serán guardadas en un medio de almacenamiento externo (CD-ROM. Observar la recomendación que hace el asistente de utilizar distintos discos para los archivos de datos y de área de recuperación. DVD. 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 realización de las copias de seguridad. Cinta. Si el disco sufre un daño físico y deja de funcionar. . los valores por defecto son adecuados y pueden ser modificados en un paso posterior.mailxmail . Definir el tamaño del "Área de Memoria Flash" no es una tarea fácil. Si se selecciona el modo "Archivado".Cursos para compartir lo que sabes Salvo que se tengan varios discos disponibles o se desee utilizar otra estructura de directorios.. será imposible recuperar la base de datos. Paso 8. lo normal será tener un único disco y por lo tanto no será posible. 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 acompañan a la base de datos.mailxmail .Cursos para compartir lo que sabes El formato por defecto para los archivos utiliza los siguientes parámetros: Parámetro % S % R %T Descripción Incluye el número de secuencia de log Incluiye el identificador del log de reestablecimiento Incluye el número de thread aunque se puede modificar. Parámetros de inicialización Los parámetros de inicialización de la base de datos influyen notablemente en su rendimiento. y vienen preestablecidos en la plantilla seleccionada para la creación de la misma. Por lo general no será necesario. El asistente ofrece una serie de pestañas con los parámetros más significativos en cada caso 13 . Se pueden editar los parámetros de inicialización para: Optimizar el rendimiento mediante el ajuste de las estructuras de memoria Definir el tamaño de las unidades más pequeñas 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 conexión de un usuario. Paso 9. este formato ayuda a la posterior identificación de los ficheros. y dado que requieren unos 130MB de espacio en disco. Paso 10. información de sincronización necesaria para la recuperación y el nombre de la base de datos. En estos archivos se guardan todos los archivos log y de base de datos.Cursos para compartir lo que sabes También se pueden revisar y modificar todos los parámetros pinchando en el botón "Todos los Parámetros de inicialización. Los archivos se agrupan atendiendo a su función: El archivo de control es necesario para montar. Los archivos redo log se utilizan para mantener un registro de todos los cambios realizados en los datos. Juegan un papel 14 . pero la ventana que se abre permite "Mostrar una Descripción" de los mismos que es de gran ayuda para su comprensión. abrir y acceder a la base de datos." La lista de parámetros es muy larga y sus nombres son poco descriptivos... y además pueden ser modificados posteriormente si se considera que el rendimiento no es óptimo desde el Enterprise Manager o con la sentencia SQL ALTER SYSTEM. Para la creación de una base de datos de propósito general son válidos los valores por defecto. Almacenamiento de la Base de Datos Mediante una estructura en árbol.mailxmail . Los archivos de datos almacenan los distintos esquemas de los usuarios y las estructuras de datos de cada uno de ellos. se muestran la ubicación de los ficheros de la base de datos. Paso 11. ora" @C:\temp\bdprueba\postDBCreation. DEFINE hostPassword = &5 host C : \Oracle\ p r o d u c t \ 1 0 .0\db_4\dbs set Oracle_SID=pruebasid C:\Oracle\product\10.0\db_4/dbs/spfilepruebasid.2.2.0\db_4\database\initpruebasid. 2 . Lo más didáctico 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 creación de la base de datos.mailxmail .sql 15 . 0 \ d b _ 4 \ b i n \orapwd.0\db_4\cfgtoollogs\DBCA\prueba mkdir C:\Oracle\product\10.Cursos para compartir lo que sabes importante en la recuperación de 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 creación de la base de datos.sql" set verify off PROMPT specify a password for SYS as parameter 1. ya que si se produce un fallo en la misma antes que estos datos se escriban en el disco. DEFINE SYSMANPassword = &3 PROMPT specify a password for dbsnmp as parameter 4. inicia la instancia de la base de datos con el comando "oradim.exe -edit -sid PRUEBASID -startmode auto -srvcstart SYSTEM C : \Oracle\product\10. 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. ésta era la única manera de crear la base de datos.sql Como se ve crea la estructura de directorios.0\db_4\bin\sqlplus /nolog @C:\temp\bdprueba\pruebasid. En versiones anteriores de Oracle. DEFINE dbsnmpPassword = &4 PROMPT specify host user administrador password as parameter 5. DEFINE SYSTEMPassword = &2 PROMPT specify a password for SYSMAN as parameter 3.0\db_4\bin\oradim.2.sql @C:\temp\bdprueba\postScripts. Opciones de creación Finalmente podemos iniciar la creación de la base de datos.2.2.2.ora password=&&SYSPassword force=y @C:\temp\bdprueba\CloneRmanRestore.2.exe -new -sid PRUEBASID -startmode manual -spfile C : \Oracle\product\10. Paso 12.ora' > C : \Oracle\product\10. llamando al resto de ficheros.exe" e invoca al SQLPlus para ejecutar el fichero "pruebasid.sql @C:\temp\bdprueba\cloneDBCreation.0\db_4\bin\oradim.exe file=C:\Oracle\product\10.0\db_4\database\PWDpruebasid.2.sql host "echo SPFILE='C:\Oracle\product\10. DEFINE SYSPassword = &1 PROMPT specify a password for SYSTEM SYSTEM as parameter 2. generar una plantilla con las características que hemos definido en los pasos anteriores o bien crear un fichero de comandos que podremos ejecutar posteriormente. los cambios se pueden recuperar de los archivos redo log. DBF'.0\db_4\assistants\DBCA\templates\Seed_Database.. 'C:\Oracle\oradata\prueba\UNDOTBS01... ALTER TABLESPACE TEMP ADD TEMPFILE 'C:\Oracle\oradata\prueba\TEMP01. 'SYSTEM').log') SIZE 51200K.put_line(' Restoring . Gestionar las plantillas En nueve pasos se permite crear.. declare omfname varchar2(512) := NULL. dbms_backup_restore. 'SYSAUX'). 'C:\Oracle\oradata\prueba\SYSAUX01. '). dbms_backup_restore. dbms_backup_restore.restoreDataFileTo(1.deviceAllocate.'). shutdown O immediate. 0.DBF'. exec dbms_backup_restore. dbms_output.put_line(' Specifying datafiles. y por ello no se utilizan comandos del tipo CREATE DATABASE. select sid.. alter user SYSTEM identified by "&&SYSTEMPassword".log Create controlfile reuse set database "prueba" MAXINSTANCES 8 MAXLOGHISTORY 1 MAXLOGFILES 16 MAXLOGMEMBERS 3 MAXDATAFILES 100 Datafile 'C:\ Oracle\oradata\prueba\SYSTEM01. program.restoreDataFileTo(2.sql".log') SIZE 51200K.put_line(' Specifing datafiles. Configurar la gestión automática del almacenamiento En tres pasos se permite crear y gestionar una instancia de gestión de almacenamiento automática (Automatic Storage Management .DBF'.DBF'. GROUP 2 ('C:\Oracle/oradata/prueba/redo02. así como añadir opciones de base de datos que no se han configuradas previamente. 'C:\Oracle\oradata\prueba\USERS01. startup nomount pfile="C:\temp\bdprueba\initpruebasidTemp. GROUP 2 ('C:\Oracle/oradata/prueba/redo02. connect "SYS"/"&&SYSPassword" as SYSDBA set echo on spool C:\temp\bdprueba\cloneDBCreation.sql" y su finalidad es recuperar la base de datos inicial a partir de la cual se va a realizar la creación de la nueva base de datos. 0. La base de datos no se crea desde cero. :devicename := dbms_backup_restore. borrar y modificar plantillas de bases de datos..2. / select TO_CHAR(SYStimestamp. dbms_backup_restore. dbms_output. 'C:\Oracle\oradata\prueba\UNDOTBS01. dbms_output. else dbms_output.put_line(' ORA-XXXX: Restore failed '). done boolean. username from v$session. GROUP 3 ('C:\ racle/oradata/prueba/redo03. variable devicename varchar2(255).deviceDeallocate. alter database O "prueba" open resetlogs.. select tablespace_name from dba_tablespaces where tablespace_name='USERS'. alter user SYS identified by "&&SYSPassword".DBF' SIZE 20480K REUSE AUTOEXTEND ON NEXT 640K MAXSIZE UNLIMITED. El procedimiento seguido para crear la base de datos consiste en recuperar la copia de seguridad. serial#. El primer fichero de comandos que se ejecuta es "CloneRmanRestore.zerodbid(0). ').DBF'. 'USERS'). 0. 0. Como ejemplo se muestra a continuación el contenido del fichero "cloneDBcreation.DBF' LOGFILE GROUP 1 ('C:\Oracle/oradata/prueba/redo01.DBF' LOGFILE GROUP 1 ('C:\Oracle/oradata/prueba/redo01.put_line(' Restore done. y posteriormente ejecuta el resto de ficheros de comandos. montar todos los grupos de discos o uno de ellos o crear instancias de ASM 16 .mailxmail . 'UNDOTBS1'). 'C:\Oracle\oradata\prueba\UNDOTBS01. if done then dbms_output. '). que por seguridad no se han grabado en los ficheros de creación.'YYYYMMDD HH:MI:SS') from DUAl.log') SIZE 51200K RESETLOGS.DBF'. si no que se parte de una base de datos de la que se ha realizado una copia de seguridad y que está incluida entre los ficheros de instalación.restoreSetDataFile.DBF'.dfb'. '). alter database rename global_name to "prueba". begin dbms_output. GROUP 3 ('C:\ racle/oradata/prueba/redo03. dbms_backup_restore. donde se ven los comandos utilizados para actualizar la base de datos con las opciones que se han ido indicando en el asistente. done). Suprimir una base de datos En dos pasos permite suprimir una base de datos y todos sus archivos.DBF'.log') SIZE 51200K. set echo off. 'C:\Oracle\oradata\prueba\SYSAUX01..restoreDataFileTo(3.DBF'. 'C:\Oracle\oradata\prueba\USERS01.restoreBackupPiece('C:\Oracle\product\10. dbms_output.ASM) y los grupos de discos asociados independientemente de si se crea una base de datos.restoreDataFileTo(4. alter database character set INTERNAL_CONVERT WE8MSWIN1252. dbms_backup_restore. alter database national character set INTERNAL_CONVERT AL16UTF16. select TO_CHAR(SYStimestamp. Create controlfile reuse set database "prueba" MAXINSTANCES 8 MAXLOGHISTORY 1 MAXLOGFILES 16 MAXLOGMEMBERS 3 MAXDATAFILES 100 Datafile 'C:\ Oracle\oradata\prueba\SYSTEM01.'YYYYMMDD HH:MI:SS') from DUAl.ora".log') SIZE 51200K. 'C:\ Oracle\oradata\prueba\SYSTEM01. end if. 'C:\Oracle\oradata\prueba\USERS01.put_line(' Allocating device.DBF'.log') SIZE 51200K RESETLOGS. alter SYSTEM enable restricted session. 'C:\Oracle\oradata\prueba\SYSAUX01.put_line(' '). Puede agregar discos a un grupo de discos. alter SYSTEM disable restricted session. Otras operaciones con DBCA Configurar las opciones de una base de datos A través de cuatro pasos permite cambiar la configuración de un servidor dedicado a un servidor compartido. dbms_backup_restore.. end. set serveroutput on.Cursos para compartir lo que sabes Al ejecutar el fichero se pide que se introduzcan las claves para los superusuarios de administración. DBUA) El asistente se encarga en siete pasos de ejecutar las tareas que en versiones anteriores debía realizar el administrador manualmente. Para la realización de esta tarea se facilita el asistente denominado "Asistente de Actualización de la Base de Datos" (Database Upgrade Assistant . por ejemplo pasando una base de datos Oracle 9i a la versión Oracle 10g. y además crea ficheros de registro detallados.mailxmail . 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 parámetros obsoletos Informa de las tareas que se van realizando. 17 .Cursos para compartir lo que sabes 4. Migración de una base de datos Migración de una base de datos Como administrador de la base de datos en ocasiones se ha de migrar una versión antigua del gestor a otra más reciente. siendo una url válida por ejemplo: http://hugo:1158/EM Mostrándose la cónsola de conexión donde se han de introducir los datos de un usuario válido. Configurar las conexiones de red para permitir la conexión de clientes al servidor de base de datos. Gestionar las estructuras de almacenamiento tales como : tablespaces y ficheros de datos. Enterprise Manager. 18 . Administrar usuarios y la política de seguridad. Gestión de los objetos de un esquema.mailxmail . La instancia suele estar configurada de forma que se arranca automáticamente y se abre la base de datos cuando se inicia el sistema operativo. Puede establecer una política básica utilizando el archivado automático de los ficheros de redo log. y aprender a utilizarla es fundamental para la gestión de una base de datos Oracle. como por ejemplo "SYS" o "SYSTEM" que son superusuarios y tienen todos los privilegios necesarios para acceder a todas las opciones posibles. Definir la política de copias de seguridad y recuperación. Para arrancar el Enterprise Manager hay que escribir en un navegador la dirección h t t p : / /direccion:puerto/EM donde la dirección es la del servidor donde se ha instalado la base de datos. creando usuarios y los objetos que necesiten. algunas de las tareas que habitualmente ha de realizar el administrador son: Iniciar la instancia y abrir la base de datos. El Enterprise Manager permite que usuarios con poca experiencia puedan realizar tareas complejas de administración en un entorno web intuitivo. ficheros de redo logs y ficheros de control. Al crear nuevos usuarios se le asignan privilegios y roles para controlar el acceso que tienen a los objetos de la base de datos. Introducción El Enterprise Manager Esta herramienta es instalada por el OUI al finalizar la creación de la base de datos. Introducción al Enterprise Manager Database Control Además de monitorizar el rendimiento de la instancia de la base de datos. y el puerto por defecto 1158.Cursos para compartir lo que sabes 5. pero puede ser necesario cerrarla y pararla para realizar operaciones de mantenimiento o recuperación. Configuración del entorno de red Configuración del entorno de red Al finalizar la instalación de la base de datos se tiene un servidor de base de datos totalmente funcional.2.ora # Generated by Oracle configuration tools. ORCLE10 = (DESCRIPTION = # Descripción de la dirección 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 también es denominado "Cadena Conexión" en algunas aplicaciones. 19 .2.ora # Generated by Oracle configuration tools.2. como por ejemplo SQL*Plus. En el cliente es necesario almacenar una descripción de la base de datos a la que se va a poder conectar y que está descrita en el fichero tnsnames.mailxmail .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 descripción del protocolo que utiliza la máquina y el puerto por el cual recibe las peticiones. 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 configuración se almacena en el fichero listener. Entendemos por cliente cualquier aplicación que manipula los datos almacenados en el servidor.ora Network Configuration File: C : \Oracle\product\10.0\db_4\network\admin\listener. pero configurado para recibir conexiones básicas de un cliente. y el servidor a de controlar el acceso a la misma.ora Network Configuration File: C:\Oracle\product\10.0\db_4\network\admin\tnsnames.ora # tnsnames. y que permite que se comuniquen entre si. El cliente ha de tener información sobre el servidor de base de datos al que se va a conectar. Enterprise Manager.ora # listener.Cursos para compartir lo que sabes 6. Oracle Net es una capa de software que se instala tanto en el servidor de base de datos como en los clientes. SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (SID_NAME = PLSExtProc) (Oracle_HOME = C : \Oracle\product\10. se puede utilizar el Asistente de Configuración de Red.Cursos para compartir lo que sabes Para facilitar la configuración del entorno de red.mailxmail . 20 . mailxmail .ora Desde la página de inicio de las propiedades de la instancia. se tiene un enlace de acceso a los listeners listeners instalados. 21 . se muestran las propiedades del mismo. Pinchando en el enlace.Cursos para compartir lo que sabes Desde el Enterprise Manager también se puede modificar la configuración del Listener y del fichero tnsnames. mailxmail . se ha de volver a la página de inicio de la instancia y seleccionar las propiedades del host En la lista de "Enlaces relacionados" está el enlace a la "Administración de servicios de red" 22 .Cursos para compartir lo que sabes Para acceder a los ficheros tnsnames.ora. Cursos para compartir lo que sabes Al seleccionar la nomenclatura local. y para ello se muestra una pantalla de conexión. 23 . en la que se han de introducir los datos de un usuario del Sistema Operativo que tenga permisos de escritura en el directorio de "Ubicación del Archivo de Configuración".ora.mailxmail . se va a editar el fichero tnsnames. crear y probar los servicios de red definidos. 24 . 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.mailxmail . Una vez en la página se pueden editar.Cursos para compartir lo que sabes En Windows es habitual que la conexión al equipo se realice sin tener que introducir un usuario o clave. se accede a una página desde la cual se ofrece de una forma descriptiva información sobre las distintas opciones de configuración. 25 .Cursos para compartir lo que sabes Seleccionando el "Nombre del Servicio de Red" que se desea editar.mailxmail . es decir. 26 . y que tiene como sufijo el nombre de la misma. Además. El SGBDR de Oracle accede a ellos a través de lo que se conoce como una instancia. la cual está formada por unas estructuras de memoria y un conjunto de procesos que se ejecutan en segundo plano. lo que permite acelerar la respuesta del sistema. cuyo resultado es la apertura o cierre de la instancia de la base de datos. Para que los usuarios puedan conectarse a la base de datos y consultar o manipular los datos almacenados en la misma. vamos a ver ahora brevemente en qué consisten estas estructuras. Lo ideal sería que toda la información estuviera en la memoria principal y la SGA tuviera suficiente tamaño para contenerla.. La información almacenada en la SGA puede ser accedida por múltiples usuarios. Gestión de la instancia Gestión de la instancia La información de la base de datos almacenada por el usuario y la información propia del SGBDR que son necesarios para su correcto funcionamiento están almacenados en ficheros en la memoria secundaria del servidor. en los discos duros. 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 conexión de los clientes al Enterprise Manager (Oracle<Oracle_home><SID>DBConsole) Estructuras de memoria Como ya vimos durante la creación de la base de datos se ofrecía la posibilidad de particularizar el tamaño de las estructuras de memoria denominadas SGA y PGA. En Windows hay un servicio (OracleService<SID>) que se corresponde con los procesos de la instancia.Cursos para compartir lo que sabes 7. pero será necesario introducir de nuevo los datos de un usuario válido del sistema operativo y del servidor de base de datos. Esta no es una tarea fácil. pero el Enterprise Manager proporciona recomendaciones para gestionar y optimizar el rendimiento de los "Parámetros de Memoria". . Desde la ventana de servicios se puede iniciar o detener este servicio.mailxmail . y evita tener que acceder a la memoria secundaria (disco duro) a buscarla. La SGA (Shared Global Area) es un área de memoria compartida que almacena datos e información de control de la instancia. pero esto no es viable y hay que buscar una solución 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. aunque utilizamos los valores recomendados por el asistente. En la página de inicio se muestra información sobre la instancia : nombre. Enterprise Manager.. estado. Pinchando en el botón "cerrar" se inicia el proceso de cierre de la instancia. es necesario que la instancia esté arrancada. mailxmail . la SGA se divide en varias otras estructuras donde las más importantes son: Nombre Caché de Buffers (45%) Pool Compartido (45%) Descripción Todos los datos de la base de datos que van a ser leídos o modificados.Cursos para compartir lo que sabes Como se ve en las gráficas. Contiene información para compartir entre los usuarios como sentencias SQL y procedimientos almacenados recientemente ejecutados. han de ser almacenados previamente en esta área. 27 . se abren los ficheros de redo log y datos. Monitor Cuando la base de datos está en modo archivado.Cursos para compartir lo que sabes La PGA en cambio es un área de memoria específica para cada proceso y contiene información de conexión y propia de la sesión. En Windows ya hemos visto que los servicios asociados a la instancia se arrancan automáticamente. se encarga de almacenar los ficheros de redo log que están Archiver llenos. Cuando la base de datos está montada se permite realizar tareas administrativas. la base de datos se monta y abre. Para realizar esta tarea puede utilizar el Enterprise Manager conectándose con privilegios de SYSADMIN o SYSOPER que permiten realizar cualquier tipo de operación o administrar sólo la base de datos respectivamente. 28 . esta se recupera automáticamente y no se producen pérdidas de datos. Por defecto la base de datos se cierra inmediatamente desconectando a los usuarios que estén conectados y deshaciendo las transacciones no completadas. Durante el proceso de apertura de la instancia se realizan las siguientes tareas: Oracle lee el fichero de parámetros Crea las estructuras de memoria Inicia los procesos de segundo plano Si se monta la base de datos. Estos privilegios los tienen por defecto el usuario SYS.mailxmail . En algunos sistemas operativos o por configuración puede ser necesario que un administrador tenga que abrir y cerrar la instancia manualmente. además se abre el fichero de control. Process Se encarga de liberar los recursos utilizados por los procesos de usuario que fallan. Por lo tanto. en general no es necesaria la intervención del administrador para abrir o cerrar la instancia. pero no la conexión de otros usuarios. 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. Por defecto al abrir la instancia. la instancia de la base de datos sufre una caída que se recupera automáticamente la próxima vez que se arranque. Si se abre la base de datos. Para la compresión de las tareas que realiza es mejor describirlos por separado. También hemos visto que si se cierra el sistema operativo sin haber cerrado previamente la base de datos. Al cerrar la instancia se ejecutan los mismos pasos en orden inverso. Arrancar y parar la instancia La instancia ha de estar arrancada para que los usuarios puedan conectarse y operar con la base de datos. Servicio Descripción Data Se encarga de escribir en la base de datos los bloques de información 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 recuperación del sistema cuando se arranca una instancia que había caído anteriormente. Al volver a iniciar el servidor y arrancar la base de datos. SYSTEM Hay que tener en cuenta que el servidor se puede apagar voluntario o involuntariamente sin haber apagado Monitor la base de datos previamente. Cuando la base de datos está montada y abierta se permite que los usuarios se conecten e interactúen con ella. La página de parámetros muestra tanto los valores contenidos en el fichero SPFILE como los que se están utilizando en ese momento. Los parámetros se almacenan en un fichero denominado SPFILE (Server Parameter File) mantenido en el servidor de Oracle. aunque el DBA puede modificarlos posteriormente para mejorar el rendimiento. La pantalla permite introducir distintos criterios para filtrar los parámetros mostrados en base a: su nombre. 29 . Una vez leídos los parámetros son almacenados en memoria principal y muchos de ellos pueden ser modificados dinámicamente durante el funcionamiento de la base de datos.Cursos para compartir lo que sabes aunque se pueden seleccionar otro tipo de cierres que afectan de diferente forma a las transacciones en curso de los usuarios : normal. Desde la página de administración de la instancia. Fichero de parámetros de inicialización Durante el proceso de creación de la base de datos el asistente a optimizado los valores de los parámetros de inicialización. se pueden consultar los parámetros de inicialización.mailxmail . inmediato o abortar. y que almacena de forma persistente los cambios que se realicen dinámicamente. Se pueden introducir patrones de búsqueda. transaccional. mailxmail . y aunque Enterprise Manager ejecutará de forma transparente al usuario la sentencia SQL apropiada. si es dinámico. Los parámetros identificados como básicos son un subconjunto que se considera que es imprescindible para mantener operativa la base de datos sin problemas. Se pueden modificar los valores de todos los parámetros. mientras que los estáticos obligan a parar y arrancar la instancia.Cursos para compartir lo que sabes si es básico. se puede consultar pinchando en el botón "Mostrar SQL" 30 . Los cambios realizados en los parámetros dinámicos son aplicados automáticamente por la instancia de la base de datos. en base a la categoría a la que está asignado. si ha sido modificados. Los usuarios más avanzados tendrán conocimiento de la estructura lógica de la base de datos. Enterprise Manager. que tienen por misión registrar todas 31 . Un segmento está compuesto de extensiones que definen el tamaño disponible para el segmento. Desde la página de administración del Entreprise Manager se pueden gestionar con total comodidad las estructuras físicas y lógicas. Cada extensión está formada por un conjunto de bloques de datos consecutivos. de forma que se puede optimizar su uso. Archivos de datos Segmentos de Rollback En versiones anteriores se utilizaban para deshacer las transacciones incompletas. .mailxmail . Bloques de datos. mientras que las estructuras lógicas sólo se pueden ver desde el servidor de Oracle. como son por ejemplo los tablespaces. Es una estructura lógica que agrupa uno más ficheros de datos o ficheros temporales (tempfiles) y que permiten almacenar los objetos creados por los usuarios. índices. Temporary tablespaces.Cursos para compartir lo que sabes 8. A medida que se llenan las extensiones se van añadiendo nuevas extensiones. Es recomendable tener varias copias del fichero de control para poder arrancar la base de datos si una de ellas se estropea. Las estructuras físicas son aquellas se pueden ver en el sistema operativo somo son los ficheros. En versiones anteriores se utilizaban los segmentos de Rollback para realizar esta tarea. como por ejemplo una tabla. sus transacciones pueden utilizar cualquiera de los tablespaces temporales asignados al grupo. Como mínimo toda base de datos tiene dos ficheros de redo logs. Es la unidad de almacenamiento más pequeña que se puede utilizar en una operación de entrada o salida de datos. Hay varios tipos de tablespaces: Tablespaces Undo tablespaces.. Se utilizan para gestionar poder deshacer las transacciones incompletas. Un segmento contiene un tipo específico de objetos de la base de datos.. Gestión del espacio de almacenamiento Gestión de las estructuras de almacenamiento El SGBDR de Oracle tiene estructuras lógicas y físicas que el administrador ha de gestionar. Se estructuran en : Segmentos. Son los ficheros del sistema operativo en los cuales se van a almacenar los datos de la base de datos. procedimientos. y es responsabilidad del DBA gestionar la correspondencia entre las estructuras lógicas y físicas para tener un rendimiento óptimo. Este tipo de tablespaces serán asignados a uno o varios usuarios y contendrán los objetos de su esquema (tablas. Extensiones.) Grupos de tablespaces temporales Al asignar un "Grupo de tablespaces temporales" a un usuario. y durante la creación se crean tres ficheros. Permiten entre otras tareas mejorar el tiempo de respuesta en las ordenaciones Permanent tablespaces. Almacenamiento Archivos de Control Descripción Contiene información de control y seguimiento imprescindible para el funcionamiento de la base de datos. 32 . que tienen por misión registrar todas las modificaciones que se realizan sobre la base de datos. Se entiende por un grupo de redo logs. Durante la creación de la base de datos se han creado los archivos necesarios para su funcionamiento. los "Archivos de Datos" crecerán y será necesario asignarles más espacio. los ficheros de redo log que se van llenando se almacenan Archive Logs como un fichero con nombre propio en el sistema operativo. Si la base de datos se cae sin haber grabado de forma permanente los cambios.Cursos para compartir lo que sabes Como mínimo toda base de datos tiene dos ficheros de redo logs. Por defecto hay un único fichero en el grupo. pero a medida que se van almacenando datos.mailxmail . A través de los enlaces podemos acceder a las estructuras lógicas que nos proporcionan los tablespaces. pero se pueden "agregar" más para mejorar la seguridad y proteger la base de datos contra la pérdida del fichero de redo log. Si se consultara el tamaño de los mismos se vería que tienen su tamaño máximo aunque tengan un porcentaje de utilización mínimo. Como se aprecia cada archivo de datos tiene asignado un tablespace y un estado. En la página se muestra información sobre la ubicación de los archivos. al recuperarse utilizará la información de estos ficheros para Grupos de Redo Logs actualizar los datos. Cuando se activa el modo de archivado. su tamaño y el porcentaje de utilización de los mismos. Estos archivos son estructuras físicas que se pueden consultar desde el sistema operativo. a un fichero de redo log y las copias del mismo. Cambiar su estado (online/offline) Seleccionando la acción de "Generar DDL" se puede ver la sentencia SQL que se va a ejecutar para realizar la acción seleccionada.Cursos para compartir lo que sabes Junto a la lista de tablespaces podemos ejecutar acciones asociadas como: Agregar un archivo de datos para aumentar su tamaño o distribuir los datos entre varios discos. Pinchando sobre el enlace asociado a un tablespace se muestra la información del mismo y se facilitan acciones específicas para el mismo 33 . Ejecutar el Asesor de Segmentos para obtener recomendaciones Mostrar Contenido del Tablespace que nos permite ver los objetos de usuario que están almacenados en el mismo.mailxmail . avisos y páginas de monitorización para facilitar esta tarea 34 . Además. el SGBDR de Oracle proporciona alertas. Desde la página de tablespaces del Enterprise Manager cuenta con formularios para ejecutar estas acciones. ya que si está offline ningún usuario o aplicación podrá acceder al mismo. por lo que si los objetos de una aplicación están en un único tablespace se simplifica la gestión de copias de seguridad. modificar y borrar tablespaces.mailxmail . incrementando su tamaño o añadiendo nuevos ficheros si es preciso. Vigilar el porcentaje de uso de los tablespaces. ha de ejecutar de vez en cuando el "Asesor de segmentos" que permite compactar los segmentos y eliminar la fragmentación interna de los datos. También se pueden realizar copias de seguridad de un tablespace. Como se verá posteriormente. Crear. Hay que tener en cuenta que los tablespaces pueden ponerse online u offline. e incluye por ejemplo: Definir si es necesario crear un nuevo tablespace para almacenar los datos de un usuario o aplicación. y permite controlar el acceso a los datos.Cursos para compartir lo que sabes Tareas del administrador La gestión de las estructuras físicas y lógicas corresponde al adminstrador. podría conectarse a la base de datos con las claves por defecto y consultar o modificar la información de la misma. y otros muchos usuarios (SCOTT. Anonymous.. Enterprise Manager. Administración de usuarios y seguridad Administración de usuarios y seguridad Al crear la base de datos se han creado varios usuarios de administración automáticamente (SYS. SYSTEM.mailxmail . ya que un usuario mal intencionado. DBSNMP). Las cuentas están bloqueadas por razones de seguridad.. . 35 . Desde la página de administración se tiene acceso a las páginas para la gestión de los "Usuarios y privilegios" Desde un punto de vista práctico vamos a partir del hecho de que para poder operar sobre la base de datos hay que tener un usuario y clave.Cursos para compartir lo que sabes 9. SYSMAN. La mejor forma de conocer cuales son los usuarios presentes en la base de datos es consultando este apartado directamente desde la consola.) están creados pero tienen sus cuentas bloqueadas y no pueden conectarse. y como vemos hay 28 aunque la mayoría tienen sus cuentas bloqueadas y sus claves han caducado. el SGBDR controla los objetos de la base de datos a los que puede acceder. y la autorización para crear nuevos objetos.Cursos para compartir lo que sabes Desde esta página se pueden "Crear". modificar y eliminar los objetos de la base de datos. "Editar" y "Suprimir" usuarios. o bien cuentan con listas para ayudar en su selección. . General La mínima información necesaria para crear un usuario es asignarle un nombre y contraseña. Mediante los privilegios asignados al usuario. 36 . Para facilitar la gestión de los privilegios se agrupan en roles que pueden ser asignados en grupo a los usuarios. el usuario Scott tiene asignada la utilización ilimitada de su tablespace. el resto de valores opcionales toman valores por defecto..mailxmail .. Se pueden editar las características del usuario "Scott" para: ver el tablespace por defecto que tiene asignado ejecutar la acción de desbloquear la cuenta ver los roles y privilegios que tiene asignados. el nivel de acceso que tiene sobre los objetos. Como se ve en la siguiente imagen. Privilegios del sistema Los privilegios del sistema otorgan al usuario la capacidad para crear. funciones. vistas. Los privilegios sobre los objetos suelen ser para insertar. 37 . y puede ser asignado directamente a los usuarios. secuencias. Aunque también son necesarios para poder ejecutar una unidad de programa almacenada en la base de datos o referenciarlos en una clave ajena. Como ejercicio has de revisar la lista de privilegios del sistema.APS_VALIDATE y SYS. borrar o consultar.. o conceder los privilegios a otros usuarios. procedimientos. modificación o borrado.DBMS_FEATURE_PARTITION_SYSTEM) para permitir que los pueda ejecutar "Execute" Roles Cuando hay muchos usuarios y objetos.). EXECUTE y REFERENCE REFERENCE respectivamente. la concesión de privilegios se hace pesada y tediosa. Privilegios sobre objetos Una vez que se ha creado un objeto en la base de datos. y que permiten su creación. éste puede ser administrado por su creador o por cualquier usuario que tenga el privilegio ANY PRIVILEGE. Privilegios para realizar operaciones sobre el sistema (auditar actividad de la base de datos.Cursos para compartir lo que sabes Los privilegios del sistema se pueden agrupar en: Privilegios para el manejo de objetos (tablas. Por ejemplo. Un rol agrupa bajo un nombre una lista de privilegios.) Si se le retira un privilegio a un usuario esto no tiene efectos en cascada. Los privilegios sobre los objetos pueden ser concedidos a otros usuarios con el objeto de permitirles accederlos y manipularlos. índices. se puede agregar un privilegio al usuario "Scott" relativo un "objeto procedimiento" del usuario SYS (SYS.. modificar. para simplificar esta tarea se han desarrollado los roles. generar estadísticas.. disparadores. que aunque es muy extensa. es decir. paquetes. verás que sus nombres son totalmente descriptivos de su significado. .. se mantendrán los objetos que pudiera haber creado y las concesiones que pudiera haber realizado a otros usuarios.mailxmail . Son de destacar tres que se han mantenido por compatibilidad con versiones anteriores y que pueden ser de gran utilidad: CONNECT. Como se puede observar. al crear la base de datos se han creado numerosos roles. RESOURCE. Seleccionando por ejemplo el rol CONNECT se pueden ver los privilegios del sistema que agrupa.Cursos para compartir lo que sabes Desde el nodo de Roles se pueden "Crear". Como ejercicio compara el rol CONNECT con el rol RESOURCE y observa cuál es la diferencia entre ambos. 38 . que permite crear todo tipo de objetos.mailxmail . "Editar" y "Suprimir". Todos estos roles están accesibles para ser asignados a los usuarios. que asigna los privilegios necesarios para poder realizar una conexión a la base de datos y crear objetos sencillos. Tablas En el proceso de diseño de una base de datos relacional.. el administrador puede utilizar el entorno gráfico del Enterprise Manager para crear los objetos y generándose de forma automática las sentencias SQL equivalentes. el esquema es una agrupación lógica de tablas.. índices. Cuando los desarrolladores o usuarios finales necesiten nuevos privilegios u objetos que no pueden crear. Desde la gestión del esquema. los administradores. se pueden clasificar en: usuarios finales. que sólo acceden a la base de datos mediante una aplicación para consultar y modificar información los desarrolladores. de igual forma. que sobrepasan el objetivo de este curso y que se tratan en otro curso. Por lo tanto. La forma básica de crear los objetos es utilizando el lenguaje SQL aunque existen multitud de herramientas con entornos gráficos con las que el usuario podrá simplificar esta tarea. bastaría con pinchar en el botón "Crear" para que se fueran sucediendo los formularios para definir la tabla y sus columnas. secuencias. funciones. . se aplican un conjunto de técnicas que van encaminadas a obtener modelos entidad-relación que estén al menos en tercera forma normal. En este capítulo se mostrarán las posibilidades de la herramienta para la creación y mantenimiento de los objetos más comunes que soporta una base de datos Oracle. Gestión de los objetos del esquema Gestión de los objetos del esquema Objetos de base de datos Los usuarios de la base de datos. La tabla es el objeto básico de la base de datos. secuencias.. .. procedimientos. que suelen tener un número limitado de privilegios y roles para consultar objetos y crear objetos en su esquema. recurrirán al administrador. y en él pueden crearse objetos que se considerarán propiedad suya. aunque siempre queda un pequeño porcentaje de refinamiento en el diseño que no se realiza hasta la fase de diseño técnico o desarrollo de los componentes. vistas. donde se van a guardar los datos de los usuarios y el rendimiento de las aplicaciones depende en gran medida de cómo se hayan diseñado.mailxmail . que pueden realizar cualquier operación sobre la base de datos Cada usuario creado en la base de datos tiene su propio esquema. se permite administrar los objetos de los esquemas tales como tablas. 39 . La tarea de modelado de la base de datos suele ser realizada principalmente por los analistas funcionales. Sin entrar en conceptos de diseño. paquetes. y éste deberá realizar las correspondientes tareas de creación y concesión de privilegios para que los usuarios o desarrolladores puedan realizar su trabajo. Enterprise Manager. que han sido creadas por un usuario. índices. aunque no se entrará en detalle en ellos ya que cae fuera del alcance del curso y se ve en detalle en el curso de El lenguaje SQL.Cursos para compartir lo que sabes 10. Durante la creación de una tabla se puede seleccionar si tiene ordenación por pilas o índices.mailxmail . si se selecciona como una pila. puede crear la tabla en cualquier esquema existente.Cursos para compartir lo que sabes Para aprender cómo crear una tabla es muy didáctico ver las propiedades de las existentes. y su organización es "Estándar. y aunque el usuario conectado al Enterprise Manager sea SYS. y si se opta por índices se almacenan ordenadamente los campos que forman parte de la clave primaria de la tabla. los datos se van almacenando desordenadamente en ella según se van insertando. 40 . La tabla almacenará sus datos en el tablespace USERS. organización en pilas". como por ejemplo la tabla de empleados (EMP) Como se aprecia la tabla está creada en el esquema del usuario "Scott". se pueden obtener información del mismo.mailxmail .Cursos para compartir lo que sabes En la sección de restricciones se muestra la clave primaria (PK_) y una clave externa (FK_). se muestran sus propiedades en un formato similar al utilizado durante la creación de una nueva tabla 41 . y pinchando en el enlace del índice. Si se selecciona el botón de "Editar". . tener columnas agrupadas. no contiene datos.. que generalmente son ocultar la complejidad de la consulta de unión de tablas a los usuarios. Para crear y mantener los datos se deben ejecutar sentencias de manipulación de datos (Data Manipulation Language o DML).mailxmail .emp) junto con el número y el nombre del departamento donde trabajan (Scott. restringir automáticamente el acceso a los datos. Una vista se crea por múltiples razones. Vistas Las vistas son similares a las tablas. es decir. pero se pueden consultar sin más que ejecutar la acción "Ver Datos" asociada a la misma. Cuando se crea una tabla está vacía. junto con campos calculados. Supongamos que queremos crear una vista que muestre el número y nombre de los empleados (Scott. En una vista se puede mostrar información de una o varias tablas. Desde el Enterprise Manager no se pueden modificar ni borrar los datos de una tabla. 42 . . si no que se recuperan y ordenan en tiempo de ejecución. como por ejemplo Como se ve se podría haber creado directamente la tabla desde el intérprete de comandos SQL*Plus mediante la sentencia que se muestra en el gráfico anterior. De borrado: Para borrar registros de una tabla se utiliza la sentencia DELETE.Cursos para compartir lo que sabes Pinchando en el botón "Mostrar SQL" se puede visualizar la sentencia SQL que se va a ejecutar. que son: De inserción: La instrucción básica 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. pero con la diferencia fundamental de que sus datos no están almacenados físicamente.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. De modificación: La sentencia UPDATE se utiliza para modificar los valores de algún registro o fila ya existente. Cursos para compartir lo que sabes Seleccionando la acción "Ver Datos" se muestran los valores devueltos al consultar la vista. Supongamos por ejemplo que una empresa tuviera varios departamentos en cada localidad. Observar que el orden de la columna sirve además para indicar cuáles de ellas forman parte del índice.mailxmail . y siempre recupera sólo los departamentos de cada una de ellas. Por defecto los objetos sólo pertenecen al esquema del usuario donde se crearon y han de ser referenciados como 43 . Sinónimos Un sinónimo 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. Quizás en base a los tiempos de respuesta se considerara necesario crear un índice en los campos localidad (LOC) y número de departamento (deptno). Indices Los índices tienen por finalidad permitir acelerar la recuperación de los datos de una consulta. Cursos para compartir lo que sabes " NombreEsquema. es decir que va a poder referenciarse desde cualquier otro esquema.NombreObjeto". En este caso se ha creado un sinónimo público.mailxmail . para que cualquier usuario la pueda referenciar como "EMP_DEPT". Aunque pueda ser referenciado por otros usuarios distintos de Scott. Supongamos por ejemplo que queremos simplificar la referencia a la vista de "Empleados_Departamento" del usuario Scott. Secuencias Una secuencia es un objeto que permite generar números secuenciales sin repetición en un entorno de usuarios concurrentes. éste podrá realizar la siguiente consulta: SELECT * FORM EMP_DEPT. 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. 44 . pero efectos laterales al modificar otros objetos de la base de datos pueden quedar en estado "no válido" y no serán ejecutables. con lo que se una vez probado y verificado su funcionamiento. además hemos fijado un valor máximo y mínimo.NEXTVAL) lo incrementa en 1.Cursos para compartir lo que sabes En este caso hemos creado la secuencia de nombre SECUENCIA que comienza con uno y cada vez que se recupera un nuevo valor ( ECUENCIA. En la siguiente imagen se muestra una consulta realizada para ver los paquetes válidos del usuario "SYSTEM" desde la cual se tiene acceso a la página de edición para compilar y corregir los posibles errores. El código almacenado puede ser codificado en PL/SQL o Java.CURRVAL FROM DUAL. 45 . funciones y procedimientos públicos que se van a codificar en su cuerpo. Paquetes Un paquete es una estructura de almacenamiento que contiene la descripción de tipos. puede se utilizado por cualquier usuario autorizado. variables. Los paquetes y en general todos los programas han de estar en estado "válido" para su correcta ejecución. S Para conocer el valor actual de la secuencia podremos hacer la siguiente consulta: SELECT SECUENCIA. y los crearemos en orden.mailxmail . aunque lo más habitual será utilizar PL/SQL. Programas Oracle permite almacenar procedimientos en la base de datos. Al terminar la codificación y "Aceptar". el error es haber codificado primero el cuerpo del paquete y faltar por lo tanto la especificación del mismo. y todas las funciones y procedimientos privados que sea necesario.nombre_paquete.nombre_función FROM DUAL.exe 46 .nombre_paquete.Cursos para compartir lo que sabes Para ejecutar un procedimiento o función almacenado basta con indicar el nombre del esquema seguido del nombre del paquete y terminado por el nombre del procedimiento o función. SQL>SELECT esquema. Los procedimientos privados sólo podrán ser llamados desde las funciones o procedimientos del paquete.mailxmail . Al crear un paquete por defecto se muestra la sintaxis de los procedimientos y funciones para facilitar su codificación. el paquete puede haber quedado en estado "no válido" y entrando en él se puede ejecutar la acción "Compilar" para ver los errores que se producen. Oracle permite almacenar en la base de datos el código en un formato codificado conocido como "wrap" y que impide que otros usuarios pueden manipularlo o copiarlo. y nunca directamente.exe que se puede encontrar en el directorio <raíz de Oracle>/bin/wrap. Para realizar esta operación se utiliza el comando MSDOS wrap. Por ejemplo desde la línea del intérprete de comandos podríamos escribir SQL>EXECUTE esquema. En este ejemplo. Cuerpo del paquete En el cuerpo del paquete se han de codificar las funciones y procedimientos públicos que han sido declarados en el paquete.nombre_procedimiento. Observar que mientras que el procedimiento se puede ejecutar directamente. modificación o borrado de datos. la función 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. Procedimientos y funciones Los procedimientos y funciones pueden ser creados como unidades independientes de código. es una unidad de código almacenada en la base de datos con la particularidad de que está asociado a tablas.0\db_4\BIN>wrap iname=origen. tareas de auditoria.Cursos para compartir lo que sabes C:\Oracle\product\10. control de acceso. La página de definición del disparador es similar a la del resto de programas. because it is wrapped" o "No se ha podido mostrar el código de origen porque está ajustado". vistas u otros eventos y se ejecuta cada vez que se produce por ejemplo una inserción. SQL>SELECT esquema.nombre_función FROM DUAL. y se diferencian en que las funciones devuelven un valor.mailxmail . Por ejemplo desde la línea del intérprete de comandos podríamos escribir SQL>EXECUTE esquema.sql oname=destino..2. Para ejecutar un procedimiento o función almacenado basta con indicar el nombre del esquema seguido del nombre del procedimiento o función. y en la pestaña 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 . Los disparadores suelen utilizarse para realizar tareas de verificación de los datos.nombre_procedimiento.sql El código que está "wrapped" o "ajustado" no puede ser modificado desde el Enterprise Manager y aparece el mensaje "Source code could not be displayed. Cursos para compartir lo que sabes eventos del esquema eventos de la Base de Datos 48 .mailxmail . Si la base de datos se crea manualmente será necesario será necesario ejecutar estos guiones (scripts) con un usuario con privilegios de SYSDBA. Guión Descripción catalog. Bastaría hacer una consulta desde SQL*Plus de las tablas y vistas del usuario SYS para ver el número de objetos de los que podemos obtener información SQL> CONNECT SYS@SID AS SYSDBA. COUNT(*) ---------.-----------------.sql Crea las vistas del diccionario de datos para el Oracle9i Real Application Clusters Hemos ido viendo que hay mucha más información almacenada en el SGBDR que los datos de los usuarios. SQL> SELECT COUNT(*) 2 FROM USER_TABLES.15045 SQL> SELECT COUNT(*) 2 FROM CATALOG.sql Ejecuta todos los guiones necesarios para poder ejecutar PL/SQL catclust.mailxmail . generalmente SYS. COUNT(*) ---------.sql Crea el diccionario de datos y sinónimos públicos para sus vistas. y que en ocasiones puede ser necesario consultarla. pero en un momento dado podemos recuperar algunas referencias válidas si utilizamos la siguiente consulta: SQL> R 1 SELECT OBJECT_NAME 2 .1 Introduzca un valor para patrón_de_búsqueda: package antiguo 4: WHERE OBJECT_NAME LIKE UPPER('%&patrón_de_búsqueda%') nuevo 4: WHERE OBJECT_NAME LIKE UPPER('%package%') OBJECT_NAME OBJECT_TYPE -----------------------------.2041 SQL> Es imposible guardar toda esta información en nuestra memoria.Cursos para compartir lo que sabes El diccionario de datos Si se crea la base de datos con el DBCA se crea automáticamente el diccionario de datos. catproc. COUNT(*) ---------. El diccionario de datos se crea en el esquema del usuario SYSTEM y ha de permanecer en él. y que se actualiza con cada operación de definición de datos (DDL).298 SQL> SELECT COUNT(*) 2 FROM USER_VIEWS. Introduzca la contraseña: ********** Conectado.1820 SQL> SELECT COUNT(*) 2 FROM USER_OBJECTS. SQL> 49 . El diccionario es un repositorio de datos que almacena información sobre todos los objetos contenidos en la base de datos. OBJECT_TYPE 3 FROM ALL_OBJECTS 4 WHERE OBJECT_NAME LIKE UPPER('%&patrón_de_búsqueda%') 5* ORDER BY 2.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. COUNT(*) ---------. Enterprise Manager. Aunque el proceso de recuperación es más sencillo cuando la copia de seguridad es consistente tiene la desventaja de que hay que parar y cerrar la base de datos. desde la rotura de un disco duro hasta el borrado accidental de uno o varios ficheros. También se pueden exportar datos de tablas a nivel lógico. Básicamente se han de realizar tres tareas: Backup. y por ello se denomina copia de seguridad fuera de línea (Backup offline). Para realizar copias consistentes de la base de datos es necesario cerrarla previamente. Si es necesario recuperar los ficheros del sistema de almacenamiento secundario y almacenarlos en el directorio donde la base de datos lo busca Recovery. parámetros. por lo que nos centraremos en el nivel físico. Gestión de copias de seguridad Gestión de copias de seguridad Cuando se habla de copias de seguridad se está hablando de poder recuperar la base de datos ante posibles fallos físicos de alguno de sus ficheros de : datos. aunque en cualquier momento se puede configurar mediante: La utilización de un área de recuperación flash (Flash Recovery Area) que permite automatizar la gestión de copias de seguridad de la mayoría de los ficheros. Se dice que una copia de seguridad es inconsistente cuando los ficheros no contienen todos los cambios realizados en la base de datos. Restore.Cursos para compartir lo que sabes 11. control. Guardar una copia de los ficheros de la base de datos en un medio de almacenamiento secundario. 50 . Los fallos a nivel físico pueden ser de cualquier tipo. Backup En el paso 8 de la creación de la base de datos se puede configurar la gestión de copias de seguridad automáticas. y de borrarlos cuando ya no son necesarios. o redo log. Esta tarea se utiliza para sincronizar la información contenida en los ficheros recuperados con los cambios registrados en los ficheros de redo log. pero no son suficientes para recuperar la base de datos. por ello suele ser útil realizar copias de seguridad inconsistentes con la base de datos trabajando en modo archivado (ARCHIVELOG) que ofrecen total seguridad para la recuperación posterior de la base de datos. de todos ellos se puede recuperar la información si se realiza una adecuada gestión de copias de seguridad. y es necesario utilizar la información de los ficheros de redo log más recientes.mailxmail . En este área Oracle se encarga automáticamente de almacenar por ejemplo los ficheros de redo logs. Utilizar el área de recuperación flash para almacenar los ficheros de archivado.mailxmail . Entre ellas se pueden indicar cuándo hacer copias de seguridad de determinados ficheros.Cursos para compartir lo que sabes Ejecutar la base de datos en el modo archivado (ARCHIVELOG) de manera que se puedan realizar las copias de seguridad en línea sin parar la base de datos. y cuánto tiempo se han de mantener los datos. El Enterprise Manager sugiera una política de copias de seguridad básica pero robusta 51 . Definir las políticas que se han de aplicar para gestionar el área de memoria flash. o hasta un momento en el tiempo anterior a la última copia incremental realizada. backup incremental level 1 cumulative copies=1 for recover of copy with tag 'ORA$OEM_LEVEL_0' database. las copias de seguridad incrementales contienen los cambios que se han realizado a la base de datos desde la última copia de seguridad completa. 52 . La copia de la base de datos junto con el fichero de redo log del segundo día.mailxmail . siguiéndose un procedimiento similar al del punto anterior. En los días posteriores. permiten recuperar los datos hasta cualquier momento del tercer día utilizando el redo log del mismo. recover copy of database with tag 'ORA$OEM_LEVEL_0'. Al finalizar el segundo día (24:00:00) se realiza una copia de seguridad incremental con los cambios que ha habido durante el segundo día en la base de datos. permiten restaurar los ficheros o bien elementos lógicos como tablas o tablespaces.Cursos para compartir lo que sabes que se completa en cuatro pasos El destino es el disco y concretamente el área de memoria flash. Restauración y recuperación La recuperación completa de la base de datos a partir de los ficheros contenidos en la copia de seguridad se realiza de forma automática por el Enterprise Manager. } Con esta política de copias de seguridad se pueden recuperar los datos en base a los siguientes casos: Supongamos que al finalizar el primer día (24:00:00 horas) se realiza una copia completa de la base de datos con los datos actualizados hasta ese momento. permiten recuperar los datos hasta cualquier momento del segundo día. La copia completa realizada el primer día y actualizada con los cambios realizados el segundo día. Se planifica la hora del día en que se realiza la copia de seguridad. La configuración 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 recuperación completa de la base de datos. Las opciones para recuperar la base de datos completa. 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. mailxmail . la base de datos se cerrará y montará. el Enterprise Manager informa que la base de datos está "abierta". 53 . y pide confirmación. Si se confirma la operación. y para realizar la restauración ha de cerrarla y dejarla en estado "Montada". accediendo posteriormente a una nueva página del asistente de recuperación.Cursos para compartir lo que sabes Si realizamos la recuperación de la base de datos completa. el Enterprise Manager permite que el administrador cree un SCN cuando considere que la información almacenada en la base de datos hasta ese momento es consistente e importante para realizar una recuperación hasta ese punto si fuera necesario. Oracle. Permite verificar los comandos que se van a ejecutar.1.0 .Production on Lun Nov 21 17:25:48 2005 Copyright (c) 1982.1. Cambiar nombre.2. OLAP and Data Mining options SQL*Plus: Release 10.0 .0. 2005.0.0 . No aplica Revisar. All rights reserved. All rights reserved. SQL> SQL> Desconectado de Oracle Database 10g Enterprise Edition Release 10. SQL> SQL> SQL> ORA-01109: base de datos sin abrir Base de datos desmontada. OLAP and Data Mining options Recovery Manager : Release 10. 4> } Iniciando restore en 21/11/05 canal asignado: ORA_DISK_1 canal ORA_DISK_1: sid=156 devtype=DISK Finalizada la recuperación se ha de arrancar la instancia de la base de datos para que vuelva a estar disponible a todos los usuarios. SQL> SQL> Conectado. recover database until time "to_date('2005-11-20 17:19:23'.0 .1.Production on Lun Nov 21 17:25:55 2005 Copyright (c) 1982.0 .0.Production With the Partitioning. SQL*Plus: Release 10.1. 'YYYY-MM-DD HH24:MI:SS')".1. run { restore database until time "to_date('2005-11-20 17:19:23'.2.2.0. SQL> Desconectado de Oracle Database 10g Enterprise Edition Release 10. no abierto) se utiliza el archivo de control de la base de datos destino en lugar del catálogo de recuperación RMAN> echo activado RMAN> run { 2> restore database until time "to_date('2005-11-20 17:19:00'. 'YYYY-MM-DD HH24:MI:SS')". 2005. Los cinco pasos que se siguen para la restauración completa son: Point-in-time. Oracle. Se ha visto que la recuperación de la base de datos se puede realizar hasta un punto de restauración denominado "SCN". 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.Production With the Partitioning. De nuevo es necesario conectarse con un usuario con privilegios de administración en el sistema operativo y en el SGBDR. } Al finalizar la operación se muestra el resultado de la misma y los comandos ejecutados. debiendo de seleccionar la segunda opción. Indicar si se desea recuperar la base de datos hasta el momento actual o hasta un punto anterior en el tiempo.2. Permite indicar una nueva ubicación para los archivos restaurados.Production on Lun Nov 21 17:26:01 2005 Copyright (c) 1982. RMAN> conectado a la base de datos destino: ORCLE10 (DBID=3008764522.mailxmail . Planificar. 3> recover database until time "to_date('2005-11-20 17:19:00'. Instancia Oracle cerrada. 2005. Flashback.0. 54 .2. 'YYYY-MM-DD HH24:MI:SS')". SQL> SQL> Instancia Oracle iniciada. SQL> SQL> Conectado a una instancia inactiva. 'YYYY-MM-DD HH24:MI:SS')". All rights reserved. En la recuperación completa no aplica. Oracle.Cursos para compartir lo que sabes Como se ve la instancia está "montada" y se ofrece la posibilidad de iniciarla o realizar la recuperación. 55 . Si la copia ha sido borrada definitivamente del disco. Esta recuperación se puede realizar tanto en tablas existentes como ya borradas. debe de eliminarse el registro del repositorio. Una copia de seguridad también puede quedar obsoleta porque se cambie la política de gestión de copias de seguridad y la información contenida en ella no sea necesaria para la recuperación de la base de datos. No disponible.mailxmail .Cursos para compartir lo que sabes Cuando se realiza la recuperación lógica el número de pásos varía entre tres y siete en función del tipo de objeto que se desee recuperar. actualizado o borrado datos de manera errónea. Desde el Enterprise Manager se pueden "Gestionar las copias de seguridad actuales". La razón puede ser sencillamente que está almacenada en una cinta que no está accesible en ese momento. Borrar los registros asociados a copias caducadas u obsoletas. que indica que la copia está en el disco o cinta de almacenamiento y los registros en el repositorio. Este tipo de recuperación permite recuperar exclusivamente un elemento lógico en el cual se pueden haber insertado. indicando que la copia de seguridad no puede ser utilizada para la recuperación de la base de datos. que indica que la copia de seguridad ha sido borrada del disco. La gestión de las copias de seguridad incluye por una parte un aspecto físico relacionado con el dispositivo donde ha sido almacenada y otra lógica relativa al registro que se mantiene en el repositorio de la base de datos. Caducado. pero el registro todavía está en el repositorio. Al seleccionar el tipo de objeto "tabla" se puede realizar una recuperación denominada Flasback que muestra los datos que tenía la tabla en el momento indicado. El registro asociado a una copia de seguridad puede estar en tres estados: Disponible. Desde el Enterprise Manager se puede además: Listar las copias de seguridad que se han realizado Realizar chequeos cruzados que entre otras tareas permiten identificar copias que están caducadas por no estar disponibles los ficheros. y si detecta anomalías informa mediante una alerta al DBA. y el DBA puede modificarlos en función de sus necesidades. cuando un tablespace está ocupado al 97% de su capacidad. Adicionalmente a la generación del aviso. El SGBDR de Oracle permite visualizar información sobre el rendimiento de la base de datos y del host. y para ello debe estar configurado correctamente el servidor de correo saliente (SMTP) que se va a utilizar. por ejemplo. Por defecto están codificadas algunas alertas junto con sus umbrales. siempre se puede modificar desde la página de configuración. Monitorización y ajuste de la base de datos Monitorización y ajuste de la base de datos Una de las tareas más importantes que debe de realizar el DBA es vigilar el rendimiento de la base de datos y optimizarlo. Las alertar pueden ser enviadas por correo electrónico al DBA.Cursos para compartir lo que sabes 12. Enterprise Manager.mailxmail . 56 . Aunque la configuración se puede hacer en el paso 4 de la creación de la base de datos. la alerta puede ejecutarse una acción de respuesta (script). por ejemplo para comprimir el tablespace. Para vigilar el rendimiento del SGBDR Oracle incluye un Monitor de Diagnóstico de la Base de Datos Automático (Automatic Database Diagnostic Monitor o ADDM) que identifica potenciales problemas y proporciona soluciones a los mismos. 57 . El ADDM se ejecuta periódicamente y guarda la información instantánea recopilada en el repositorio AWR (Automatic Worload Repository). a través de la comparación de las distintas instantáneas es capaz de analizar la evolución del rendimiento e identificar los problemas potenciales.mailxmail . se pueden establecer reglas y planificar los envíos. Desde la página de preferencias se puede asociar una o varias direcciones de correo destinatarias de las notificaciones para los usuarios administradores. Además. En cualquier momento podemos ejecutar el ADDM y obtener un informe actualizado.Cursos para compartir lo que sabes La dirección de correo electrónico que se indica no es a la que se va a enviar la notificación. si no la que aparecerá como remitente de la misma. Los asistentes se ejecutan manualmente por el DBA y realizan análisis más exhaustivos que las alertas. optimizando el uso de la memoria global de la instancia. Otra útil herramienta son los asesores que proporcionan generalmente una información más comprensiva que las alertas y cubren áreas como el rendimiento o el espacio utilizado. pero consumiendo más recursos del sistema. Proporciona información sobre el tamaño del segmento de deshacer (undo) y del tiempo de retención para la Deshacer utilización 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.mailxmail . Ajustes 58 . Los asesores disponibles son Asesor de Memoria Descripción Analiza el tamaño de la SGA y de la PGA.Cursos para compartir lo que sabes La información que analiza el ADDM es: Cuellos de botella en la CPU Gestión ineficiente de conexiones Bloqueos Operaciones de entrada/salida Tamaño de las estructuras de memoria Carga de sentencias SQL Tiempo de ejecución de procedimientos PL/SQL y Java ... Permite establecer el tiempo medio de recuperación (Mean Time To Recovery) Segmentos Proporciona información útil para el dimensionado de los segmentos y para detectar aquellos que deben ser comprimidos.mailxmail . 59 .Cursos para compartir lo que sabes Ajustes SQL MTTR Analiza las sentencias SQL y ofrece optimizaciones sobre las mismas.