Sei sulla pagina 1di 60

Introduccin a Oracle

Autor: Roberto www.ForInfor.net


[Ver curso online]

Descubre miles de cursos como ste en www.mailxmail.com 1
mailxmail - Cursos para compartir lo que sabes
Presentacin del curso
En 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.
Visita ms cursos como este en mailxmail:
[ http://www.mai l xmai l .com/cursos-i nformati ca]
[ http://www.mai l xmai l .com/cursos-programaci on]
Tu opinin cuenta! Lee todas las opiniones de este curso y djanos la tuya:
[ http://www.mai l xmai l .com/curso-i ntroducci on-oracl e/opi ni ones]
Cursos similares
Cursos Valoracin Alumnos Vdeo
Generadores de cdigo
Necesitamos construir proyectos en menor tiempo, con calidad y utilizando
metodologias actuales, por eso te proponemos una serie de consejos,
normas y cualidades de est...
[ 24/ 01/ 06]

2. 675
Creacin de un microrobot
Este es un robot muy sencillo pensado para aquellos que se quieren iniciar
en el mundo de la microbtica. La estructura mecnica est realizada con
piezas de Lego y como ...
[ 25/ 02/ 05]

9. 003
Manual de estilo de pginas Web
En este curso se quiere dar una gua muy amplia para todos aquellos que
estn interesados en crear una pgina Web. Dando explicaciones de como
crear un buen diseo tanto ...
[ 05/ 05/ 05]

15. 472
Funciones en C (segunda parte)
Sigue este curso de programacin informtica sobre Funciones en C en su
parte complementaria. Aprende las variables de registro en relacin con la
unidad central de proce...
[ 17/ 10/ 08]

3. 650
Access con Visual Basic
Microsoft Access con Visual Basic, aprende a crear una base de datos en
Access usando Visual Basic. Veremos tambin cmo crear tablas e
introducir...
[ 01/ 07/ 09]

7. 173
Descubre miles de cursos como ste en www.mailxmail.com 2
mailxmail - Cursos para compartir lo que sabes
1. Introduccin
[http://www.mai l xmai l .com/curso-i ntroducci on-oracl e/i ntroducci on]
Introduccin
ForInfor.net te ofrece este curso que pronto estar disponible en su portal de
teleformacin y que junto con los contenidos tericos te ofrecer simulaciones y
numerosos ejercicios para que afiances tus conocimientos. Por ello, agradeceremos
cualquier comentario o sugerencia que nos quieras hacer llegar a info@ForInfor.net
Un Sistema de Gestin de Bases de Datos Relacionales (SGBDR), permite el
almacenamiento de datos en tablas formadas por filas y columnas, y su posterior
consulta y mantenimiento mediante un sencillo y potente lenguaje de consulta
estructurado (SQL).
Bajo las siglas SGBDR se oculta toda la complejidad informtica necesaria para
gestionar:
El acceso controlado de los procesos de los usuarios a los datos
La gestin del almacenamiento de los datos
La gestin de las comunicaciones entre procesos clientes y servidores
Interconexin con distintos protocolos y sistemas operativos
Acceso a los recursos conectados a la red
...
El modelo relacional fue planteado por Codd a principios de 1970 en su artculo "A
Relacional Model of Data for Large Shared Data Bank" en el cual estableca las
caractersticas que deban de tener los sistemas informticos para tratar grandes
volmenes de informacin, llegando a definir las doce reglas que considera
necesarias para que el sistema se pueda definir como relacional.
Existen numerosos SGBDRs y entre ellos el ms popular a nivel profesional es el de
Oracle. Dado que Codd considera que un SGBDR ha de cumplir las 12 reglas, se
podra pensar que por lo tanto Oracle las cumple. En el artculo titulado " Are SQL
Server, DB2 and Oracle really relational?" se analizan estas tres aplicaciones y se
concluye que todos son similares pero no llegan a cumplirlas en su totalidad, ya que
concretamente no permiten las actualizaciones sobre vistas.
Aunque estrictamente hablando el SGBDR incluye la coleccin de datos, por
extensin se denomina as a la aplicacin software que los gestiona hablando por
tanto del SGBDR de Oracle.
El SGBDR de Oracle se instala en prcticamente cualquier equipo informtico,
pudiendo empezar por un ordenador personal basado en Windows e ir escalando a
arquitecturas ms complejas a medida que las necesidades de la carga de proceso
lo requieran. Oracle en este sentido es un SGBDR muy amigable, pues permite
trasladar las estructuras de datos y desarrollos a arquitecturas ms complejas sin
necesidad de realizar cambios significativos.
El SGBDR de Oracle es muy potente, pero para obtener un rendimiento correcto, es
Descubre miles de cursos como ste en www.mailxmail.com 3
mailxmail - Cursos para compartir lo que sabes
necesaria la intervencin del administrador de la base de datos (DBA). Las tareas
ms comunes del DBA son:
La 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.
Descubre miles de cursos como ste en www.mailxmail.com 4
mailxmail - Cursos para compartir lo que sabes
2. Instalacin del software y creacin de la base de datos
[http://www.mai l xmai l .com/...urso-i ntroducci on-oracl e/i nstal aci on-software-creaci on-base-datos]
Instalacin 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.
Descubre miles de cursos como ste en www.mailxmail.com 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
Descubre miles de cursos como ste en www.mailxmail.com 6
mailxmail - Cursos para compartir lo que sabes
OUI 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
Descubre miles de cursos como ste en www.mailxmail.com 7
mailxmail - Cursos para compartir lo que sabes
3. Asistente de Configuracin de la base de datos
[ http://www.mai l xmai l .com/curso-i ntroducci on-oracl e/asi stente-confi guraci on-base-datos]
Asistente 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
Descripcin
Almacn de datos
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.
Procesado de transacciones
Varios usuarios ejecutan simultneamente consultas, inserciones, actualizaciones y borrados de
datos.
La velocidad, disponibilidad y concurrencia son fundamentales.
Uso general Combina caractersticas de las dos anteriores.
Personalizar Base de Datos
Permite la mxima flexibilidad para crear una base de datos, permitiendo introducir un mayor
nmero de opciones.
Descubre miles de cursos como ste en www.mailxmail.com 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 : <dominio>.<nombre_basedatos>
Aunque por defecto el nombre de la base de datos global y el SID son iguales, se pueden modificar.
Paso 4. Opciones de Gestin
Por defecto aparece seleccionada la opcin de gestin local "Configurar Base de Datos con Enterprise Manager". Para utilizar la
opcin de la gestin centralizada con Oracle Enterprise Manager Grid, es necesario tener instalado el agente de gestin Oracle
Management Agent en el servidor y seleccionarlo en el men desplegable Management Service.
La instalacin del agente y los componentes del Grid, han de estar instalados con antelacin a la base de datos para que esta
opcin aparezca activada.
En esta versin el Enterprise Manager es una aplicacin web que proporciona las herramientas necesarias para la gestin de una
base de datos local.
Al seleccionar la gestin local, se puede indicar un servidor de correo saliente y una cuenta de correo donde se recibirn avisos
de incidencias relacionadas con la base de datos y emitidos automticamente por el gestor.
Descubre miles de cursos como ste en www.mailxmail.com 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".
Descubre miles de cursos como ste en www.mailxmail.com 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 ..."
Descubre miles de cursos como ste en www.mailxmail.com 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
Descubre miles de cursos como ste en www.mailxmail.com 12
mailxmail - Cursos para compartir lo que sabes
El formato por defecto para los archivos utiliza los siguientes parmetros:
Parmetro Descripcin
%S Incluye el nmero de secuencia de log
%R Incluiye el identificador del log de reestablecimiento
%T 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
Descubre miles de cursos como ste en www.mailxmail.com 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
Descubre miles de cursos como ste en www.mailxmail.com 14
mailxmail - Cursos para compartir lo que sabes
importante 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:
mkdi r C:\Oracle\ admi n\ prueba\ adump mkdi r C: \Oracle\ admi n\ prueba\ bdump mkdi r C: \Oracle\ admi n\ prueba\ cdump mkdi r
C: \ Oracle\ admi n\ prueba\ dpdump mkdi r C: \Oracle\ admi n\ prueba\ pf i l e mkdi r C: \Oracle\ admi n\ prueba\ udump mkdi r
C: \ Oracle\flash_recovery_area mkdir C:\Oracle\oradata\prueba mkdi r
C: \Oracle\ product \ 10. 2. 0\ db_4\ cf gt ool l ogs\DBCA\prueba mkdi r 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\bi n\sql pl us /nol og @C:\temp\bdprueba\pruebasi d.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
SYSTEMas 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\ pr oduct \ 10. 2. 0\ db_4\ bi n\orapwd.exe fi l e=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/spfi l epruebasi d.ora' >
C: \Oracle\product\10.2.0\db_4\database\initpruebasid.ora" @C:\temp\bdprueba\postDBCreation.sql
Descubre miles de cursos como ste en www.mailxmail.com 15
mailxmail - Cursos para compartir lo que sabes
Al 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\ oradat a\ 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\ oradat a\ 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\ oradat a\ prueba\SYSTEM01.DBF', 'C:\Oracle\oradata\prueba\UNDOTBS01.DBF',
' C: \Oracle\ oradat a\ 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:\Oracle/oradata/prueba/redo03.log') SIZE 51200K RESETLOGS; exec dbms_backup_restore.zerodbid(0); shutdown 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\ oradat a\ prueba\SYSTEM01.DBF', 'C:\Oracle\oradata\prueba\UNDOTBS01.DBF',
' C: \Oracle\ oradat a\ 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:\Oracle/oradata/prueba/redo03.log') SIZE 51200K RESETLOGS; alter SYSTEM enable restricted session; alter database
"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
Descubre miles de cursos como ste en www.mailxmail.com 16
mailxmail - Cursos para compartir lo que sabes
4. Migracin de una base de datos
[ http://www.mai l xmai l .com/curso-i ntroducci on-oracl e/mi graci on-base-datos]
Migracin 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.
Descubre miles de cursos como ste en www.mailxmail.com 17
mailxmail - Cursos para compartir lo que sabes
5. Enterprise Manager. Introduccin
[http://www.mai l xmai l .com/curso-i ntroducci on-oracl e/enterpri se-manager-i ntroducci on]
El 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
ht 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:
ht t p: / / 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.
Descubre miles de cursos como ste en www.mailxmail.com 18
mailxmail - Cursos para compartir lo que sabes
6. Enterprise Manager. Configuracin del entorno de red
[http://www.mai l xmai l .com/...-i ntroducci on-oracl e/enterpri se-manager-confi guraci on-entorno-red]
Configuracin del entorno de red
Al finalizar la instalacin de la base de datos se tiene un servidor de base de datos totalmente
funcional, pero configurado para recibir conexiones bsicas de un cliente.
Entendemos por cliente cualquier aplicacin que manipula los datos almacenados en el servidor.
Oracle Net es una capa de software que se instala tanto en el servidor de base de datos como en los
clientes, y que permite que se comuniquen entre si.
El cliente ha de tener informacin sobre el servidor de base de datos al que se va a conectar, y el
servidor a de controlar el acceso a la misma.
El proceso ejecutado en segundo plano en el servidor de base de datos que se encarga de recibir las
peticiones de los clientes es conocido como Listener
y su configuracin se almacena en el fichero listener.ora
# listener.ora Network Configuration File:
C:\Oracle\product\10.2.0\db_4\network\admin\listener.ora # Generated by Oracle configuration
tools. SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (SID_NAME = PLSExtProc) (Oracle_HOME =
C: \Oracle\product\10.2.0\db_4) (PROGRAM = extproc) ) ) LISTENER = (DESCRIPTION_LIST =
(DESCRIPTION = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1)) (ADDRESS = (PROTOCOL =
TCP)(HOST = Hugo)(PORT = 1522)) ) )
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\admi n\tnsnames.ora # Generated by Oracle configuration
tools. ORCLE10 = (DESCRIPTION = # Descripcin de la direccin del servidor (ADDRESS = (PROTOCOL
= TCP)(HOST = Hugo)(PORT = 1522)) (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.
Descubre miles de cursos como ste en www.mailxmail.com 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.
Descubre miles de cursos como ste en www.mailxmail.com 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
listenersinstalados.
Pinchando en el enlace, se muestran las propiedades del mismo.
Descubre miles de cursos como ste en www.mailxmail.com 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"
Descubre miles de cursos como ste en www.mailxmail.com 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".
Descubre miles de cursos como ste en www.mailxmail.com 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, l o
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.
Descubre miles de cursos como ste en www.mailxmail.com 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.
Descubre miles de cursos como ste en www.mailxmail.com 25
mailxmail - Cursos para compartir lo que sabes
7. Enterprise Manager. Gestin de la instancia
[ http://www.mai l xmai l .com/...curso-i ntroducci on-oracl e/enterpri se-manager-gesti on-i nstanci a]
Gestin 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<SID>) que se corresponde con los procesos de la instancia, y que tiene como sufijo
el nombre de la misma. Desde la ventana de servicios se puede iniciar o detener este servicio, cuyo resultado es la apertura o
cierre de la instancia de la base de datos.
Adems, en Windows hay otros dos servicios relacionados con la instancia que son el asociado al Listener
(Oracle<Oracle_home><SID>Listener) y el que permite la conexin de los clientes al Enterprise Manager
(Oracle<Oracle_home><SID>DBConsole)
Estructuras de memoria
Como ya vimos durante la creacin de la base de datos se ofreca la posibilidad de particularizar el tamao de las estructuras de
memoria denominadas SGA y PGA; aunque utilizamos los valores recomendados por el asistente, vamos a ver ahora brevemente
en qu consisten estas estructuras.
La SGA (Shared Global Area) es un rea de memoria compartida que almacena datos e informacin de control de la instancia. La
informacin almacenada en la SGA puede ser accedida por mltiples usuarios, y evita tener que acceder a la memoria secundaria
(disco duro) a buscarla, lo que permite acelerar la respuesta del sistema.
Lo ideal sera que toda la informacin estuviera en la memoria principal y la SGA tuviera suficiente tamao para contenerla, pero
esto no es viable y hay que buscar una solucin de compromiso en la cual se encuentre en memoria principal un alto porcentaje
de datos que evite tener que acceder frecuentemente a la memoria secundaria. Esta no es una tarea fcil, pero el Enterprise
Manager proporciona recomendaciones para gestionar y optimizar el rendimiento de los "Parmetros de Memoria".
Descubre miles de cursos como ste en www.mailxmail.com 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 Descripcin
Cach de Buffers
(45%)
Todos los datos de la base de datos que van a ser ledos o modificados, han de ser almacenados
previamente en esta rea.
Pool Compartido
(45%)
Contiene informacin para compartir entre los usuarios como sentencias SQL y procedimientos
almacenados recientemente ejecutados.
Descubre miles de cursos como ste en www.mailxmail.com 27
mailxmail - Cursos para compartir lo que sabes
La 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<SID> ) que agrupa los servicios que en otros
sistemas operativos como Uni x se ejecutan como demonios independientes. Para la compresin de las tareas que realiza es
mejor describirlos por separado.
Servicio Descripcin
Data
Writer
Se encarga de escribir en la base de datos los bloques de informacin modificados en el Buffer Cache de la SGA
Log Writer Se encarga de escribir los ficheros de Redo Log en el disco
SYSTEM
Moni tor
Se encarga de realizar la recuperacin del sistema cuando se arranca una instancia que haba cado anteriormente.
Hay que tener en cuenta que el servidor se puede apagar voluntario o involuntariamente sin haber apagado
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
Moni tor
Se encarga de liberar los recursos utilizados por los procesos de usuario que fallan.
Archiver
Cuando la base de datos est en modo archivado, se encarga de almacenar los ficheros de redo log que estn
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,
Descubre miles de cursos como ste en www.mailxmail.com 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.
Descubre miles de cursos como ste en www.mailxmail.com 29
mailxmail - Cursos para compartir lo que sabes
si 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"
Descubre miles de cursos como ste en www.mailxmail.com 30
mailxmail - Cursos para compartir lo que sabes
8. Enterprise Manager. Gestin del espacio de almacenamiento
[ http://www.mai l xmai l .com/...oducci on-oracl e/enterpri se-manager-gesti on-espaci o-al macenami ento]
Gestin 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 Descripcin
Archivos de Control
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.
Tablespaces
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:
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.
Archivos de datos
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.
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
Descubre miles de cursos como ste en www.mailxmail.com 31
mailxmail - Cursos para compartir lo que sabes
Grupos de Redo Logs
Como 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
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.
Archive Logs
Cuando se activa el modo de archivado, los ficheros de redo log que se van llenando se almacenan
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.
Descubre miles de cursos como ste en www.mailxmail.com 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
Descubre miles de cursos como ste en www.mailxmail.com 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
Descubre miles de cursos como ste en www.mailxmail.com 34
mailxmail - Cursos para compartir lo que sabes
9. Enterprise Manager. Administracin de usuarios y seguridad
[ http://www.mai l xmai l .com/...cci on-oracl e/enterpri se-manager-admi ni straci on-usuari os-seguri dad]
Administracin 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.
Descubre miles de cursos como ste en www.mailxmail.com 35
mailxmail - Cursos para compartir lo que sabes
Desde 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.
...
Descubre miles de cursos como ste en www.mailxmail.com 36
mailxmail - Cursos para compartir lo que sabes
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.
Los 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"
Descubre miles de cursos como ste en www.mailxmail.com 37
mailxmail - Cursos para compartir lo que sabes
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.
Desde el nodo de Roles se pueden "Crear", "Editar" y "Suprimir".
Descubre miles de cursos como ste en www.mailxmail.com 38
mailxmail - Cursos para compartir lo que sabes
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.
Descubre miles de cursos como ste en www.mailxmail.com 39
mailxmail - Cursos para compartir lo que sabes
10. Enterprise Manager. Gestin de los objetos del esquema
[ http://www.mai l xmai l .com/...so-i ntroducci on-oracl e/enterpri se-manager-gesti on-obj etos-esquema]
Gestin 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.
Descubre miles de cursos como ste en www.mailxmail.com 40
mailxmail - Cursos para compartir lo que sabes
en el botn "Crear" para que se fueran sucediendo los formularios para definir la tabla y sus columnas.
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.
Descubre miles de cursos como ste en www.mailxmail.com 41
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
Descubre miles de cursos como ste en www.mailxmail.com 42
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.
Descubre miles de cursos como ste en www.mailxmail.com 43
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
Descubre miles de cursos como ste en www.mailxmail.com 44
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.
Descubre miles de cursos como ste en www.mailxmail.com 45
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 (SECUENCIA.NEXTVAL) lo incrementa en 1; adems hemos fijado un valor mximo y mnimo, y los crearemos en orden.
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.
Descubre miles de cursos como ste en www.mailxmail.com 46
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 <raz de Oracle>/ bi n/ wrap. exe
Descubre miles de cursos como ste en www.mailxmail.com 47
mailxmail - Cursos para compartir lo que sabes
C: \Oracle\product\10.2.0\db_4\BIN>wrap i name=ori gen.sql oname=desti no.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
Descubre miles de cursos como ste en www.mailxmail.com 48
mailxmail - Cursos para compartir lo que sabes
eventos del esquema
eventos de la Base de Datos
Descubre miles de cursos como ste en www.mailxmail.com 49
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 I NDEX CI OPACKAGE 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>
Descubre miles de cursos como ste en www.mailxmail.com 50
mailxmail - Cursos para compartir lo que sabes
11. Enterprise Manager. Gestin de copias de seguridad
[ http://www.mai l xmai l .com/...o-i ntroducci on-oracl e/enterpri se-manager-gesti on-copi as-seguri dad]
Gestin 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.
Descubre miles de cursos como ste en www.mailxmail.com 51
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
Descubre miles de cursos como ste en www.mailxmail.com 52
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.
Descubre miles de cursos como ste en www.mailxmail.com 53
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.
Descubre miles de cursos como ste en www.mailxmail.com 54
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.
Descubre miles de cursos como ste en www.mailxmail.com 55
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.
Descubre miles de cursos como ste en www.mailxmail.com 56
mailxmail - Cursos para compartir lo que sabes
12. Enterprise Manager. Monitorizacin y ajuste de la base de datos
[ http://www.mai l xmai l .com/...ucci on-oracl e/enterpri se-manager-moni tori zaci on-aj uste-base-datos]
Monitorizacin 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.
Descubre miles de cursos como ste en www.mailxmail.com 57
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.
Descubre miles de cursos como ste en www.mailxmail.com 58
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 Descripcin
Memoria Analiza el tamao de la SGA y de la PGA, optimizando el uso de la memoria global de la instancia.
Deshacer
Proporciona informacin sobre el tamao del segmento de deshacer (undo) y del tiempo de retencin para la
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
Descubre miles de cursos como ste en www.mailxmail.com 59
mailxmail - Cursos para compartir lo que sabes
Ajustes
SQL
Analiza las sentencias SQL y ofrece optimizaciones sobre las mismas.
MTTR 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
compri mi dos.
Visita ms cursos como este en mailxmail:
[http://www.mai l xmai l .com/cursos-i nformati ca]
[http://www.mai l xmai l .com/cursos-programaci on]
Tu opinin cuenta! Lee todas las opiniones de este curso y djanos la tuya:
[http://www.mai l xmai l .com/curso-i ntroducci on-oracl e/opi ni ones]
Cursos similares
Cursos Valoracin Alumnos Vdeo
Funciones en C (segunda parte)
Sigue este curso de programacin informtica sobre Funciones en C en su parte
complementaria. Aprende las variables de registro en relacin con la unidad
central de proce...
[ 17/ 10/ 08]

3. 650
Generadores de cdigo
Necesitamos construir proyectos en menor tiempo, con calidad y utilizando
metodologias actuales, por eso te proponemos una serie de consejos, normas
y cualidades de est...
[ 24/ 01/ 06]

2. 675
Diseo de pginas web con FrontPage
FrontPage es uno de los programas ms tradicionales para la creacin de
pginas web atractivas. En los tiempos en los que estamos, en los que todas las
empresas se hacen ...
[ 18/ 09/ 02]

104.214
Procesamiento de datos con Oracle
Curso para aprender desde qu son los datos hasta cmo se transforman en
informacin con la ayuda de un gestor de base de datos como Oracle. Disfruta
de las herramientas ...
[ 24/ 02/ 06]

6. 447
PHP y MySQL. Aplicaciones Web: base de
datos MySQL II (octava parte)
Programacin de aplicaciones Web con PHP y MySQL. Continuandocon el
estudio de la Base de datos MySQ, aprende sobre el SQL (Lenguaje de
consultas estructu...
[ 02/ 12/ 08]

1. 708
Descubre miles de cursos como ste en www.mailxmail.com 60
mailxmail - Cursos para compartir lo que sabes

Potrebbero piacerti anche