Introduccion Oracle 9438 Completo

download Introduccion Oracle 9438 Completo

of 59

Transcript of Introduccion Oracle 9438 Completo

mailxmail - Cursos para compartir lo que sabes

Introduccin a OracleAutor: Roberto www.ForInfor.net

1

mailxmail - Cursos para compartir lo que sabes

Presentacin del cursoEn el curso se introducen los conceptos bsicos 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. IntroduccinIntroduccin 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 [email protected] 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:

3

mailxmail - Cursos para compartir lo que sabesLa instalacin del software de Oracle La creacin de la base de datos La actualizacin 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 poltica de realizacin de copias de seguridad de la base de datos (backups) y realizar la recuperacin 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 requera una amplia experiencia y profundos conocimientos para la realizacin de estas tareas, pero hoy en da Oracle proporciona numerosas herramientas y asistentes para simplificar las tareas y permitir que prcticamente cualquier usuario con un mnimo de conocimientos pueda realizarlas correctamente. Las herramientas que ayudan a la instalacin y actualizacin 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. Automticamente crea la base de datos con la ayuda del asistente de configuracin de la base de datos. El asistente de configuracin 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 utilizacin de la base de datos. El asistente de actualizacin de la base de datos (Database Upgrade Assistant DUA) permite migrar los datos de una base de datos Oracle a una versin 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 introducirn los conceptos mnimos que todo DBA debe conocer y los asistentes que permiten su aplicacin y gestin.

4

mailxmail - Cursos para compartir lo que sabes2. Instalacin del software y creacin de la base de datosInstalacin del software y creacin de la base de datos Oracle ofrece una versin gratuita de la versin 10g denominada Express Edition destinada a: Desarrolladores que trabajen en SQL, PL/SQL, PHP, Java, .Net y en cualquier otra aplicacin de cdigo abierto Administradores que necesiten realizar prcticas Instituciones educativas y estudiantes. Esta versin tiene un interfaz y funcionalidad diferente a la del resto de productos, por lo que para el presente curso se utiliza la versin 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 utilizacin. Desde la pgina 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 aplicacin.

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.

5

mailxmail - Cursos para compartir lo que sabes

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

6

mailxmail - Cursos para compartir lo que sabesOUI permite mediante una interfaz grfica ver los productos de Oracle que hay instalados en el servidor, instalar nuevos productos y desinstalar alguno de los existentes. Durante todo el proceso de instalacin o desinstalacin ofrece ayuda para mejorar la comprensin de los procesos que se van a llevar a cabo. Al iniciar el OUI se asignan valores por defecto para: definir el directorio raz donde se instalar el software seleccionar el tipo de instalacin ha realizar, pudiendo escoger entre una versin personal, estndar y empresarial. La versin empresarial es la ms completa he incluye las herramientas de gestin ms avanzadas, por lo que es la que se utiliza durante el curso. Crear opcionalmente una base de datos, en cuyo caso se ha de dar un nombre nico para la misma y la contrasea que se desea utilizar para los superusuarios.

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

7

mailxmail - Cursos para compartir lo que sabes3. Asistente de Configuracin de la base de datosAsistente de Configuracin 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 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.

Procesado de transacciones Uso general Personalizar Base de Datos

8

mailxmail - 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, 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 : .

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.

9

mailxmail - Cursos para compartir lo que sabes

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

mailxmail - Cursos para compartir lo que sabes

Paso 7. Ubicaciones de Archivos de la Base de Datos

La plantilla establece unos valores por defecto que se pueden revisar pinchando el botn "Variables de Ubicacin de Archivos ..."

11

mailxmail - Cursos para compartir lo que sabes

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

mailxmail - Cursos para compartir lo que sabes

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

mailxmail - Cursos para compartir lo que sabes

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

mailxmail - Cursos para compartir lo que sabesimportante en la recuperacin de la base de datos, ya que si se produce un fallo en la misma antes que estos datos se escriban en el disco, los cambios se pueden recuperar de los archivos redo log.

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

mailxmail - Cursos para compartir lo que sabesAl ejecutar el fichero se pide que se introduzcan las claves para los superusuarios de administracin, que por seguridad no se han grabado en los ficheros de creacin, y posteriormente ejecuta el resto de ficheros de comandos. La base de datos no se crea desde cero, 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 instalacin. El procedimiento seguido para crear la base de datos consiste en recuperar la copia de seguridad. El primer fichero de comandos que se ejecuta es "CloneRmanRestore.sql" y su finalidad es recuperar la base de datos inicial a partir de la cual se va a realizar la creacin de la nueva base de datos, y por ello no se utilizan comandos del tipo CREATE DATABASE. set echo off; set serveroutput on; select TO_CHAR(SYStimestamp,'YYYYMMDD HH:MI:SS') from DUAl; variable devicename varchar2(255); declare omfname varchar2(512) := NULL; done boolean; begin dbms_output.put_line(' '); dbms_output.put_line(' Allocating device.... '); dbms_output.put_line(' Specifying datafiles... '); :devicename := dbms_backup_restore.deviceAllocate; dbms_output.put_line(' Specifing datafiles... '); dbms_backup_restore.restoreSetDataFile; dbms_backup_restore.restoreDataFileTo(1, 'C:\ Oracle\oradata\prueba\SYSTEM01.DBF', 0, 'SYSTEM'); dbms_backup_restore.restoreDataFileTo(2, 'C:\Oracle\oradata\prueba\UNDOTBS01.DBF', 0, 'UNDOTBS1'); dbms_backup_restore.restoreDataFileTo(3, 'C:\Oracle\oradata\prueba\SYSAUX01.DBF', 0, 'SYSAUX'); dbms_backup_restore.restoreDataFileTo(4, 'C:\Oracle\oradata\prueba\USERS01.DBF', 0, 'USERS'); dbms_output.put_line(' Restoring ... '); dbms_backup_restore.restoreBackupPiece('C:\Oracle\product\10.2.0\db_4\assistants\DBCA\templates\Seed_Database.dfb', done); if done then dbms_output.put_line(' Restore done.'); else dbms_output.put_line(' ORA-XXXX: Restore failed '); end if; dbms_backup_restore.deviceDeallocate; end; / select TO_CHAR(SYStimestamp,'YYYYMMDD HH:MI:SS') from DUAl; Como ejemplo se muestra a continuacin el contenido del fichero "cloneDBcreation.sql", donde se ven los comandos utilizados para actualizar la base de datos con las opciones que se han ido indicando en el asistente. connect "SYS"/"&&SYSPassword" as SYSDBA set echo on spool C:\temp\bdprueba\cloneDBCreation.log Create controlfile reuse set database "prueba" MAXINSTANCES 8 MAXLOGHISTORY 1 MAXLOGFILES 16 MAXLOGMEMBERS 3 MAXDATAFILES 100 Datafile 'C:\ Oracle\oradata\prueba\SYSTEM01.DBF', 'C:\Oracle\oradata\prueba\UNDOTBS01.DBF', 'C:\Oracle\oradata\prueba\SYSAUX01.DBF', 'C:\Oracle\oradata\prueba\USERS01.DBF' LOGFILE GROUP 1 ('C:\Oracle/oradata/prueba/redo01.log') SIZE 51200K, GROUP 2 ('C:\Oracle/oradata/prueba/redo02.log') SIZE 51200K, GROUP 3 ('C:\ racle/oradata/prueba/redo03.log') SIZE 51200K RESETLOGS; exec dbms_backup_restore.zerodbid(0); shutdown O immediate; startup nomount pfile="C:\temp\bdprueba\initpruebasidTemp.ora"; Create controlfile reuse set database "prueba" MAXINSTANCES 8 MAXLOGHISTORY 1 MAXLOGFILES 16 MAXLOGMEMBERS 3 MAXDATAFILES 100 Datafile 'C:\ Oracle\oradata\prueba\SYSTEM01.DBF', 'C:\Oracle\oradata\prueba\UNDOTBS01.DBF', 'C:\Oracle\oradata\prueba\SYSAUX01.DBF', 'C:\Oracle\oradata\prueba\USERS01.DBF' LOGFILE GROUP 1 ('C:\Oracle/oradata/prueba/redo01.log') SIZE 51200K, GROUP 2 ('C:\Oracle/oradata/prueba/redo02.log') SIZE 51200K, GROUP 3 ('C:\ racle/oradata/prueba/redo03.log') SIZE 51200K RESETLOGS; alter SYSTEM enable restricted session; alter database O "prueba" open resetlogs; alter database rename global_name to "prueba"; ALTER TABLESPACE TEMP ADD TEMPFILE 'C:\Oracle\oradata\prueba\TEMP01.DBF' SIZE 20480K REUSE AUTOEXTEND ON NEXT 640K MAXSIZE UNLIMITED; select tablespace_name from dba_tablespaces where tablespace_name='USERS'; select sid, program, serial#, username from v$session; alter database character set INTERNAL_CONVERT WE8MSWIN1252; alter database national character set INTERNAL_CONVERT AL16UTF16; alter user SYS identified by "&&SYSPassword"; alter user SYSTEM identified by "&&SYSTEMPassword"; alter SYSTEM disable restricted session; Otras operaciones con DBCA Configurar las opciones de una base de datos A travs de cuatro pasos permite cambiar la configuracin de un servidor dedicado a un servidor compartido, as como aadir opciones de base de datos que no se han configuradas previamente. Suprimir una base de datos En dos pasos permite suprimir una base de datos y todos sus archivos. Gestionar las plantillas En nueve pasos se permite crear, borrar y modificar plantillas de bases de datos. Configurar la gestin automtica del almacenamiento En tres pasos se permite crear y gestionar una instancia de gestin de almacenamiento automtica (Automatic Storage Management - ASM) y los grupos de discos asociados independientemente de si se crea una base de datos. Puede agregar discos a un grupo de discos, montar todos los grupos de discos o uno de ellos o crear instancias de ASM

16

mailxmail - Cursos para compartir lo que sabes

4. Migracin de una base de datosMigracin de una base de datos Como administrador de la base de datos en ocasiones se ha de migrar una versin antigua del gestor a otra ms reciente, por ejemplo pasando una base de datos Oracle 9i a la versin Oracle 10g. Para la realizacin de esta tarea se facilita el asistente denominado "Asistente de Actualizacin de la Base de Datos" (Database Upgrade Assistant - DBUA)

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

mailxmail - Cursos para compartir lo que sabes5. Enterprise Manager. IntroduccinEl Enterprise Manager Esta herramienta es instalada por el OUI al finalizar la creacin de la base de datos, y aprender a utilizarla es fundamental para la gestin de una base de datos Oracle. El Enterprise Manager permite que usuarios con poca experiencia puedan realizar tareas complejas de administracin en un entorno web intuitivo. Para arrancar el Enterprise Manager hay que escribir en un navegador la direccin h t t p : / /direccion:puerto/EM donde la direccin es la del servidor donde se ha instalado la base de datos, y el puerto por defecto 1158, siendo una url vlida por ejemplo: http://hugo:1158/EM Mostrndose la cnsola de conexin donde se han de introducir los datos de un usuario vlido, como por ejemplo "SYS" o "SYSTEM" que son superusuarios y tienen todos los privilegios necesarios para acceder a todas las opciones posibles.

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 redConfiguracin 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

mailxmail - Cursos para compartir lo que sabes

Para facilitar la configuracin del entorno de red, se puede utilizar el Asistente de Configuracin de Red.

20

mailxmail - Cursos para compartir lo que sabes

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.

Pinchando en el enlace, se muestran las propiedades del mismo.

21

mailxmail - Cursos para compartir lo que sabes

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

En la lista de "Enlaces relacionados" est el enlace a la "Administracin de servicios de red"

22

mailxmail - Cursos para compartir lo que sabes

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

mailxmail - Cursos para compartir lo que sabes

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

mailxmail - Cursos para compartir lo que sabes

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

mailxmail - Cursos para compartir lo que sabes7. Enterprise Manager. Gestin de la instanciaGestin de la instancia La informacin de la base de datos almacenada por el usuario y la informacin propia del SGBDR que son necesarios para su correcto funcionamiento estn almacenados en ficheros en la memoria secundaria del servidor; es decir, en los discos duros. El SGBDR de Oracle accede a ellos a travs 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. Para que los usuarios puedan conectarse a la base de datos y consultar o manipular los datos almacenados en la misma, es necesario que la instancia est arrancada. En la pgina de inicio se muestra informacin sobre la instancia : nombre, estado, ...

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) 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 (OracleListener) y el que permite la conexin de los clientes al Enterprise Manager (OracleDBConsole) 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

mailxmail - Cursos para compartir lo que sabes

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

mailxmail - Cursos para compartir lo que sabesLa PGA en cambio es un rea de memoria especfica para cada proceso y contiene informacin de conexin y propia de la sesin.

Procesos segundo plano Como ya se ha comentado en Windows hay un nico servicio (OracleService ) 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

mailxmail - 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, 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

mailxmail - Cursos para compartir lo que sabessi es bsico. Los parmetros identificados como bsicos son un subconjunto que se considera que es imprescindible para mantener operativa la base de datos sin problemas. si ha sido modificados. si es dinmico. Los cambios realizados en los parmetros dinmicos son aplicados automticamente por la instancia de la base de datos, mientras que los estticos obligan a parar y arrancar la instancia. en base a la categora a la que est asignado.

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

mailxmail - Cursos para compartir lo que sabes8. Enterprise Manager. Gestin del espacio de almacenamientoGestin de las estructuras de almacenamiento El SGBDR de Oracle tiene estructuras lgicas y fsicas que el administrador ha de gestionar. Las estructuras fsicas son aquellas se pueden ver en el sistema operativo somo son los ficheros; mientras que las estructuras lgicas slo se pueden ver desde el servidor de Oracle, como son por ejemplo los tablespaces. Los usuarios ms avanzados tendrn conocimiento de la estructura lgica de la base de datos, y es responsabilidad del DBA gestionar la correspondencia entre las estructuras lgicas y fsicas para tener un rendimiento ptimo. Desde la pgina de administracin del Entreprise Manager se pueden gestionar con total comodidad las estructuras fsicas y lgicas.

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, ...)

Grupos de tablespaces temporales

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

mailxmail - Cursos para compartir lo que sabesComo mnimo toda base de datos tiene dos ficheros de redo logs, que tienen por misin registrar todas las modificaciones que se realizan sobre la base de datos. Si la base de datos se cae sin haber grabado de forma permanente los cambios, al recuperarse utilizar la informacin de estos ficheros para Grupos de Redo Logs actualizar los datos. Se entiende por un grupo de redo logs, a un fichero de redo log y las copias del mismo. Por defecto hay un nico fichero en el grupo, pero se pueden "agregar" ms para mejorar la seguridad y proteger la base de datos contra la prdida del fichero de redo log. Cuando se activa el modo de archivado, los ficheros de redo log que se van llenando se almacenan Archive Logs como un fichero con nombre propio en el sistema operativo. Durante la creacin de la base de datos se han creado los archivos necesarios para su funcionamiento; pero a medida que se van almacenando datos, los "Archivos de Datos" crecern y ser necesario asignarles ms espacio. En la pgina se muestra informacin sobre la ubicacin de los archivos, su tamao y el porcentaje de utilizacin de los mismos. Estos archivos son estructuras fsicas que se pueden consultar desde el sistema operativo. Si se consultara el tamao de los mismos se vera que tienen su tamao mximo aunque tengan un porcentaje de utilizacin mnimo.

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

mailxmail - 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 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

mailxmail - Cursos para compartir lo que sabes

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

mailxmail - Cursos para compartir lo que sabes9. Enterprise Manager. Administracin de usuarios y seguridadAdministracin de usuarios y seguridad Al crear la base de datos se han creado varios usuarios de administracin automticamente (SYS, SYSTEM, SYSMAN, DBSNMP), y otros muchos usuarios (SCOTT, Anonymous, ...) estn creados pero tienen sus cuentas bloqueadas y no pueden conectarse. Las cuentas estn bloqueadas por razones de seguridad, ya que un usuario mal intencionado, podra conectarse a la base de datos con las claves por defecto y consultar o modificar la informacin de la misma. Desde la pgina de administracin se tiene acceso a las pginas para la gestin de los "Usuarios y privilegios"

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

mailxmail - Cursos para compartir lo que sabesDesde esta pgina se pueden "Crear", "Editar" y "Suprimir" usuarios. General La mnima informacin necesaria para crear un usuario es asignarle un nombre y contrasea, el resto de valores opcionales toman valores por defecto, o bien cuentan con listas para ayudar en su seleccin.

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

mailxmail - Cursos para compartir lo que sabesLos privilegios del sistema se pueden agrupar en: Privilegios para el manejo de objetos (tablas, ndices, disparadores, secuencias, vistas, paquetes, procedimientos, funciones, ..), y que permiten su creacin, modificacin o borrado. Privilegios para realizar operaciones sobre el sistema (auditar actividad de la base de datos, generar estadsticas,...) Si se le retira un privilegio a un usuario esto no tiene efectos en cascada, es decir, se mantendrn los objetos que pudiera haber creado y las concesiones que pudiera haber realizado a otros usuarios. Como ejercicio has de revisar la lista de privilegios del sistema, que aunque es muy extensa, vers que sus nombres son totalmente descriptivos de su significado. Privilegios sobre objetos Una vez que se ha creado un objeto en la base de datos, ste puede ser administrado por su creador o por cualquier usuario que tenga el privilegio ANY PRIVILEGE. Los privilegios sobre los objetos pueden ser concedidos a otros usuarios con el objeto de permitirles accederlos y manipularlos, o conceder los privilegios a otros usuarios. Los privilegios sobre los objetos suelen ser para insertar, modificar, borrar o consultar. Aunque tambin son necesarios para poder ejecutar una unidad de programa almacenada en la base de datos o referenciarlos en una clave ajena, EXECUTE y REFERENCE REFERENCE respectivamente. Por ejemplo, se puede agregar un privilegio al usuario "Scott" relativo un "objeto procedimiento" del usuario SYS (SYS.APS_VALIDATE y SYS.DBMS_FEATURE_PARTITION_SYSTEM) para permitir que los pueda ejecutar "Execute"

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

mailxmail - Cursos para compartir lo que sabes

Desde el nodo de Roles se pueden "Crear", "Editar" y "Suprimir".

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

mailxmail - Cursos para compartir lo que sabes10. Enterprise Manager. Gestin de los objetos del esquemaGestin de los objetos del esquema Objetos de base de datos Los usuarios de la base de datos, se pueden clasificar en: usuarios finales, que slo acceden a la base de datos mediante una aplicacin para consultar y modificar informacin los desarrolladores, que suelen tener un nmero limitado de privilegios y roles para consultar objetos y crear objetos en su esquema. los administradores, que pueden realizar cualquier operacin sobre la base de datos Cada usuario creado en la base de datos tiene su propio esquema, y en l pueden crearse objetos que se considerarn propiedad suya. Por lo tanto, el esquema es una agrupacin lgica de tablas, vistas, ndices, secuencias, ... que han sido creadas por un usuario. Cuando los desarrolladores o usuarios finales necesiten nuevos privilegios u objetos que no pueden crear, recurrirn al administrador, y ste deber realizar las correspondientes tareas de creacin y concesin de privilegios para que los usuarios o desarrolladores puedan realizar su trabajo. La forma bsica de crear los objetos es utilizando el lenguaje SQL aunque existen multitud de herramientas con entornos grficos con las que el usuario podr simplificar esta tarea; de igual forma, el administrador puede utilizar el entorno grfico del Enterprise Manager para crear los objetos y generndose de forma automtica las sentencias SQL equivalentes. En este captulo se mostrarn las posibilidades de la herramienta para la creacin y mantenimiento de los objetos ms comunes que soporta una base de datos Oracle; 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. Desde la gestin del esquema, se permite administrar los objetos de los esquemas tales como tablas, ndices, secuencias, funciones, procedimientos, paquetes, ...

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

mailxmail - Cursos para compartir lo que sabes

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

mailxmail - Cursos para compartir lo que sabes

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

mailxmail - Cursos para compartir lo que sabes

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

mailxmail - Cursos para compartir lo que sabes

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

mailxmail - Cursos para compartir lo que sabes" NombreEsquema.NombreObjeto". Supongamos por ejemplo que queremos simplificar la referencia a la vista de "Empleados_Departamento" del usuario Scott, para que cualquier usuario la pueda referenciar como "EMP_DEPT".

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

mailxmail - 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.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

mailxmail - Cursos para compartir lo que sabes

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 /bin/wrap.exe

46

mailxmail - Cursos para compartir lo que sabesC:\Oracle\product\10.2.0\db_4\BIN>wrap iname=origen.sql oname=destino.sql El cdigo que est "wrapped" o "ajustado" no puede ser modificado desde el Enterprise Manager y aparece el mensaje "Source code could not be displayed, because it is wrapped" o "No se ha podido mostrar el cdigo de origen porque est ajustado".

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

mailxmail - Cursos para compartir lo que sabes

eventos del esquema

eventos de la Base de Datos

48

mailxmail - Cursos para compartir lo que sabes

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

mailxmail - Cursos para compartir lo que sabes11. Enterprise Manager. Gestin de copias de seguridadGestin de copias de seguridad Cuando se habla de copias de seguridad se est hablando de poder recuperar la base de datos ante posibles fallos fsicos de alguno de sus ficheros de : datos, control, parmetros, o redo log. Los fallos a nivel fsico pueden ser de cualquier tipo, desde la rotura de un disco duro hasta el borrado accidental de uno o varios ficheros, de todos ellos se puede recuperar la informacin si se realiza una adecuada gestin de copias de seguridad. Tambin se pueden exportar datos de tablas a nivel lgico, pero no son suficientes para recuperar la base de datos, por lo que nos centraremos en el nivel fsico. Bsicamente se han de realizar tres tareas: Backup. Guardar una copia de los ficheros de la base de datos en un medio de almacenamiento secundario. Restore. Si es necesario recuperar los ficheros del sistema de almacenamiento secundario y almacenarlos en el directorio donde la base de datos lo busca Recovery. Se dice que una copia de seguridad es inconsistente cuando los ficheros no contienen todos los cambios realizados en la base de datos, y es necesario utilizar la informacin de los ficheros de redo log ms recientes. Esta tarea se utiliza para sincronizar la informacin contenida en los ficheros recuperados con los cambios registrados en los ficheros de redo log. Para realizar copias consistentes de la base de datos es necesario cerrarla previamente, y por ello se denomina copia de seguridad fuera de lnea (Backup offline). Aunque el proceso de recuperacin es ms sencillo cuando la copia de seguridad es consistente tiene la desventaja de que hay que parar y cerrar 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 recuperacin posterior de la base de datos. Backup En el paso 8 de la creacin de la base de datos se puede configurar la gestin de copias de seguridad automticas, aunque en cualquier momento se puede configurar mediante: La utilizacin de un rea de recuperacin flash (Flash Recovery Area) que permite automatizar la gestin de copias de seguridad de la mayora de los ficheros. En este rea Oracle se encarga automticamente de almacenar por ejemplo los ficheros de redo logs, y de borrarlos cuando ya no son necesarios.

50

mailxmail - 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 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

mailxmail - Cursos para compartir lo que sabes

que se completa en cuatro pasos

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

mailxmail - Cursos para compartir lo que sabes

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

mailxmail - Cursos para compartir lo que sabes

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

mailxmail - Cursos para compartir lo que sabes

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

mailxmail - Cursos para compartir lo que sabes12. Enterprise Manager. Monitorizacin y ajuste de la base de datosMonitorizacin y ajuste de la base de datos Una de las tareas ms importantes que debe de realizar el DBA es vigilar el rendimiento de la base de datos y optimizarlo. El SGBDR de Oracle permite visualizar informacin sobre el rendimiento de la base de datos y del host, y si detecta anomalas informa mediante una alerta al DBA. Por defecto estn codificadas algunas alertas junto con sus umbrales, y el DBA puede modificarlos en funcin de sus necesidades; por ejemplo, cuando un tablespace est ocupado al 97% de su capacidad.

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

mailxmail - Cursos para compartir lo que sabes

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

mailxmail - Cursos para compartir lo que sabes

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

mailxmail - Cursos para compartir lo que sabesAjustes SQL MTTR Analiza las sentencias SQL y ofrece optimizaciones sobre las mismas. Permite establecer el tiempo medio de recuperacin (Mean Time To Recovery) Segmentos Proporciona informacin til para el dimensionado de los segmentos y para detectar aquellos que deben ser comprimidos.

59