Você está na página 1de 188

Curso de Oracle 11g

Autores:
Reingeniera, Tecnologa y Comunicaciones, S.L.
Calle Agustn de Fox, 25
28036 Madrid
De la edicin:
Centro de Estudios Adams, Ediciones Valbuena, S.A.
Doctor Esquerdo, 136, 7 Planta
28007 Madrid
www.adams.es
ISBN: 978-84-9943-459-9

Curso de Oracle 11g


NDICE
1. INTRODUCCIN A ORACLE 11g: SQL....................................................................................... 4
1.1 Introduccin ................................................................................................................................ 4
1.2 Recuperacin de Datos mediante la Sentencia SQL SELECT ................................................... 5
1.3 Restriccin y Ordenacin de Datos Restriccin ......................................................................... 6
1.4 Uso de Funciones de Una Sola Fila para Personalizar la Salida................................................. 9
1.4.1. Funciones de caracteres ...................................................................................................... 9
1.4.2. Funciones de transformacin .............................................................................................. 9
1.4.3. Funciones numricas ......................................................................................................... 10
1.4.4. Funciones de fecha ............................................................................................................ 11
1.5 Uso de Funciones de Conversin y Expresiones Condicionales .............................................. 13
1.5.1 Funciones de conversin .................................................................................................... 13
1.5.2 Funciones condicionales .................................................................................................... 14
1.6 Informes de Datos Agregados con Funciones de Grupo .......................................................... 16
1.6.1 Funciones de clculo con grupos ....................................................................................... 17
1.6.2 Condiciones HAVING ....................................................................................................... 17
1.7 Visualizacin de Datos de Varias Tablas.................................................................................. 18
1.8 Las Subconsultas ....................................................................................................................... 20
1.9 Uso de los Operadores SET ...................................................................................................... 21
1.10 Manipulacin de Datos ........................................................................................................... 22
1.11 Uso de Sentencias DDL para Crear y Gestionar Tablas ......................................................... 25
1.12 Creacin de Otros Objetos de Esquema.................................................................................. 33
2. ADMINISTRACIN DE BASES DE DATOS ORACLE 11g ..................................................... 35
2.1 Exploracin de la Arquitectura de una Base de Datos Oracle .................................................. 35
2.2 Preparacin del entorno de una Base de Datos ......................................................................... 39
2.3 Creacin de una Base de Datos Oracle ..................................................................................... 43
2.4 Gestin de una instancia Oracle ................................................................................................ 54
2.5 Configuracin de un entorno de red Oracle .............................................................................. 56
2.6 Gestin de estructuras de almacenamiento Oracle ................................................................... 65
2.6.1 Oracle Warehouse Builder ................................................................................................. 65
2.6.2 Oracle XML DB ................................................................................................................ 66
2.7 Administracin de seguridad de Usuario .................................................................................. 69
2.8 Gestin de Objetos del esquema ............................................................................................... 72
2.9 Gestin de datos y concurrencia ............................................................................................... 75
2.10 Gestin de datos Undo ............................................................................................................ 77
2.11 Implementacin de seguridad en bases de datos Oracle ......................................................... 85
2.12 Mantenimiento de una Base de Datos ..................................................................................... 89
2.13 Gestin del rendimiento .......................................................................................................... 95
2.14 Conceptos de Backup y Recuperacin .................................................................................. 100
2.15 Backup de Base de Datos ...................................................................................................... 101
2.16 Recovery (Recuperacin) de Base de Datos ......................................................................... 104
2.17 Traspaso o movimiento de Datos .......................................................................................... 107
2.18 Mejora de las posibilidades de la base de datos .................................................................... 110
3. ADMINISTRACIN AVANZADA DE BASES DE DATOS ORACLE 11g............................ 112
3.1 Arquitectura de Oracle Database y ASM................................................................................ 112
3.2 Configuracin de Recuperabilidad ......................................................................................... 117
3.3 Uso del Catlogo de Recuperacin de RMAN ....................................................................... 119
3.4 Configuracin de Especificaciones de Copia de Seguridad ................................................... 123
3.5 Creacin de Copias de Seguridad (Export e Import de la BBDD) ......................................... 126

Curso de Oracle 11g


3.6 Realizacin de Copia de Seguridad y Recuperacin Gestionada por Usuario (copia de
seguridad personalizada) ............................................................................................................... 128
3.7 Uso de RMAN para Realizar Recuperaciones Valores de Recuperacin............................... 130
3.8 Uso de RMAN para Duplicar una Base de Datos ................................................................... 134
3.9 Realizacin de una Recuperacin Point-in-Time de Tablespaces .......................................... 144
3.10 Control y Ajuste de RMAN (Creacin de un catlogo) ........................................................ 145
3.11 Uso de la Tecnologa de Flashback ...................................................................................... 148
3.12 Uso de Flashback de Base de Datos ..................................................................................... 149
3.13 Diagnstico de la Base de Datos (ADDM) ........................................................................... 154
3.14 Gestin de la Memoria Administracin Automtica de Memoria ........................................ 157
3.15 Gestin del Rendimiento de la Base de Datos ...................................................................... 159
3.16 Uso del Asesor de Segmentos ............................................................................................... 167
3.17 Gestin de Recursos .............................................................................................................. 172
3.18 Automatizacin de Tareas con el Planificador (Oracle Scheduler) ...................................... 177
3.19 Administracin del Planificador ........................................................................................... 178
3.20 Globalizacin ........................................................................................................................ 182
GLOSARIO ...................................................................................................................................... 184
LINKS ............................................................................................................................................... 187
BIBLIOGRAFIA .............................................................................................................................. 188

Curso de Oracle 11g

1. INTRODUCCIN A ORACLE 11g: SQL


1.1 Introduccin
La versin de Oracle que tratremos en ete manual corresponde a la 11g R1, es un DBMS portable ya
que se puede instalar en los sistemas operativos ms comunes en el mercado, la capacidad de base de
datos (en adelante BBDD) es alta ya que soporta hasta 4 petabytes de informacin. Cuenta con
administracin de usuarios as como la administracin de roles, adems de soportar trigers y
storeprocedures, cuenta con conectividad JDBC y ODBC, disponiendo de los drivers adecuados para
la misma. Es un DBMS muy seguro ya que cuenta con un proceso de sistema de respaldo y
recuperacin de informacin. Soportando Data Warehouse, lo que facilita el acceso a la informacin
y una mayor versatilidad.
Oracle es un sistema de gestin de base de datos relacional o RDBMS por el acrnimo en ingls de
Relational Data Base Management System, desarrollado por Oracle y considerado como uno de los
sistemas de BBDD ms completos, destacando en:

Soporte de transacciones.

Estabilidad.

Escalabilidad.

Soporte multiplataforma.

La base de datos Oracle en Windows ha ido evolucionado desde un nivel bsico de integracin del
sistema operativo hasta utilizar servicios ms avanzados en la plataforma Windows, incluyendo los
sistemas Itanium y AMD64.
Para el desarrollo de aplicaciones en Oracle se necesita PL/SQL, store procedures y SQL. Si bien,
PL/SQL es un lenguaje de programacin incrustado en Oracle, que soporta consultas y manipulacin
de datos que se usan en SQL (lenguaje declarativo, que permite realizar ciertas operaciones en las
bases de datos).

Ahora veremos algunos aspectos, procedimientos, operadores, funciones, etc., de SQL para
utilizarlos con Oracle 11g.

Curso de Oracle 11g

1.2 Recuperacin de Datos mediante la Sentencia SQL SELECT


Posiblemente el comando ms verstil de SQL es el comando SELECT. Este permite:

Obtener datos de una tabla

Obtener registros de una tabla bajo ciertos criterios de seleccin

Mezclar datos obtenidos de diferentes tablas.

Su sintaxis es bastante sencilla, veamos un ejemplo y lo comentmoslo:


Caso 1:
/* Seleccin de todos los registros de la tabla clientes */
SELECT * FROM Clientes;
En este caso, utilizamos el smbolo del asterisco, como carcter comodin, para seleccionar todo el
contenido de la tabla clientes.
Caso 2:
/* Seleccin de algunos campos*/ SELECT nombre, apellidos FROM Clientes;
En esta consulta, limitamos los datos a obtener de la tabla clientes a meramente obtener el nombre
y los apellidos.
Ahora, dado el tipo de consulta que queremos realizar y dado que se puede dar el caso de obtener
valores duplicados, podramos utilizar el parmetro DISTINCT, que hace que no se muestren los
valores duplicados, quedando por tanto la consulta de la siguiente forma:
/* Seleccin de algunos campos*/
SELECT {[DISTINCT] nombre, apellidos} FROM Clientes;
De igual forma, adems de esta clausula, podemos aadir otros elementos a nuestra consulta para
mostrar los datos de una forma ms adecuada, como por ejemplo usando as, para renombrar la
cabecera de los datos a obtener:
SELECT nombreArt, precio, precio AS "precio con iva" FROM articulos;
De esta forma la cabecera de precio, que corresponde al nombre del campo de la tabla artculos,
lo sustituiremos en nuestra consulta por precio con iva, aportando ms claridad al usuario de los
datos mostrados.
Otro parmetro que podemos tener en cuenta, son los condicionales, en SQL, utilizaremos la
clausula where, de la siguiente forma, por ejemplo:
SELECT nombre,apellidos FROM clientes WHERE edad>=25 AND edad<=30;
Adems se pueden usar otro tipo de valores de comparacin, lgicos, etc. Esto lo veremos en el
siguiente subcaptulo, Restricciones y Ordenacin de datos.

Curso de Oracle 11g

1.3 Restriccin y Ordenacin de Datos Restriccin


Como vimos en anteriormente, se pueden realizar consultas que restrinjan los datos obtenidos de una
consulta. Para ello utilizaremos la clusula WHERE. Esta clusula permite especificar una condicin
que deben cumplir todos los registros y los que no la cumplan deben aparecer en el resultado de la
misma.
SELECT nombre,apellidos FROM clientes WHERE edad>=25 AND edad<=30;
Se pueden utilizar en la clusula WHERE, son:

> Mayor que

< Menor que

>= Mayor o igual que

<= Menor o igual que

= Igual

<> Distinto

!= Distinto

Estos operadores, se pueden utilizar tanto para comparar:

Nmeros

Textos

Fechas

Adems para el caso de los textos, la comparacin se hace en un estricto orden alfabtico. Es decir
en el orden de los caracteres de la tabla de cdigos. Si bien se deben tener en cuenta una serie de
premisas, ya que en estos casos la ordenacin puede fallar:

Con la letra

Las vocales acentuadas

Las maysculas segn la tabla de cdigos, van antes que las minsculas, siendo la letra 'Z'
menor que la 'a'.

Valores lgicos:
AND: Devuelve verdadero si las expresiones a su izquierda y derecha son verdaderas OR: Devuelve
verdadero si cualquiera de las expresiones a izquierda y derecha son verdaderas NOT: Invierte la
lgica de la expresin de su derecha. Si es verdadera, mediante NOT pasa a falso.
Por ejemplo:
/* Obtiene a las personas de entre 25 y 30 aos
SELECT nombre,apellidos FROM personas WHERE edad>=25 AND edad<=30;
/*Obtiene a la gente de ms de 60 aos o de menos de 20
SELECT nombre,apellidos FROM personas WHERE edad>60 OR edad<20;

Curso de Oracle 11g


Adems en SQL, existen otros comandos que nos permiten restringir y ordenar aun ms la consulta,
como por ejemplo:

BETWEEN: El operador BETWEEN nos permite obtener datos que se encuentren en un


rango.
SELECT tipo,modelo,precio FROM piezas WHERE precio BETWEEN 3 AND 8;
Saca piezas cuyos precios estn entre 3 y 8 (ambos incluidos).

IN: Permite obtener registros cuyos valores estn en una lista:


SELECT tipo,modelo,precio FROM piezas WHERE precio IN (3,5, 8);
Obtiene piezas cuyos precios sea 3, 5 u 8, slo uno de esos tres.

LIKE: Se usa sobre todo con textos, permite obtener registros cuyo valor en un campo
cumpla una condicin textual. LIKE utiliza una cadena que puede contener estos smbolos:
% Una serie cualquiera de caracteres
_

Un carcter cualquiera

Ejemplos:
Selecciona los nombres que comienzan por la letra S:
SELECT nombre FROM personas WHERE nombre LIKE 'S%';
Selecciona las personas cuyo apellido sea Gil, o cualquier variacin en la letra a:
SELECT apellido1 FROM Personas WHERE apellido1 LIKE 'G_l;

IS NULL: Devuelve verdadero o true si una expresin contiene un nulo:


SELECT nombre,apellidos FROM personas WHERE dni IS NULL
Con esta consulta seleccionamos a la gente que no tiene dni

A veces, las consultas que se realizan en una consulta SELECT son muy extensas y es muy difcil
saber cul de las condiciones se evala primero, veamos:
Orden de segn el Operador:
1. *(Multiplicacin) / (divisin)
2. + (Suma) - (Resta)
3.

|| (Concatenacin)

4. Comparadores (>, <, !=, ...)


5. IS [NOT] NULL, [NOT ]LIKE, IN
6.

NOT

7.

AND

8.

OR

Curso de Oracle 11g


Ordenacin
El orden inicial de los registros obtenidos de una consulta (SELECT), guarda solo una relacin
respecto al orden en el que fueron introducidos en la BBDD. Para ordenar con otros criterios, se
utiliza la clusula ORDER BY.
En esta clusula se coloca una lista de campos que indican la forma de ordenacin. Siendo este
orden, el primer campo de la esa lista, en el caso de que existieran coincidencias por el segundo y si
ah tambin las hubiese, por el tercero, y as sucesivamente.
Adems, se pueden utilizar las palabras ASC (ascendente) O DESC (descendente), aunque por
defecto se colocaran en orden ASC.
Por lo tanto la sintaxis completa de nuestro SELECT, seria:
SELECT expresiones FROM table [WHERE condicin] ORDER BY listaCampos;
Veamos un ejemplo:
SELECT nombre, apellidos FROM usuarios [WHERE nombre =Oscar] ORDER BY ASC;

Curso de Oracle 11g

1.4 Uso de Funciones de Una Sola Fila para Personalizar la Salida


Oracle incorpora unas funciones que permiten realizar clculos avanzados, o facilitar la escritura de
ciertas expresiones. Todas las funciones reciben datos para poder operar (parmetros) y por tanto,
devuelven un resultado que depende de los parmetros enviados a la funcin. Estos argumentos o
parmetros se pasan entre parntesis:
nombreFuncin[(parmetro1[, parmetro2,...])]
Si no precisamos parmetros, no hace falta colocar los parntesis. Y las hay de dos tipos; Funnciones
que operan con una sola fila y funciones que operan con varias filas. En este captulo slo veremos
las primeras.

1.4.1. Funciones de caracteres


Estas funciones se utilizan para la conversin del texto a maysculas y minsculas:

LOWER(texto): Convierte el texto a minsculas

UPPER(texto): Convierte el texto a maysculas

INITCAP(texto): Coloca la primera letra de cada palabra en maysculas

1.4.2. Funciones de transformacin

RTRIM(texto): Elimina los espacios a la derecha del texto

LTRIM(texto): Elimina los espacios a la izquierda del texto

TRIM(texto): Elimina los espacios en blanco a la izquierda y derecha del texto, junto con los
espacios dobles del interior.

TRIM(caracteres FROM texto): Elimina del texto los caracteres indicados. Por ejemplo:
TRIM('s' FROM nombre)
Elimina las eses de la columna nombre.

SUBSTR(texto,n[,m]): Obtiene los m siguientes caracteres del texto a partir de la posicin n,


si m no se define, se cogen desde n hasta el final.

LENGTH(texto): Obtiene la longitud del texto

INSTR(texto, textoBuscado [,posInicial [, numAparicin]]): Obtiene la posicin en la que se


encuentra el texto buscado. Pudiendo empezar a buscar a partir de una posicin concreta e
incluso indicar el nmero de aparicin. Por ejemplo, si buscamos la letra a y ponemos 2 en
numAparicin, nos devuelve la posicin de la segunda letra a encontrada. Si no la
encontrase, nos devolvera 0.

REPLACE(texto, textoInicial, textoReemplazo): Busca el texto inicial y lo remplaza por el


indicado.

LPAD(texto, anchuraMxima, caracterDeRelleno) y RPAD(texto, anchuraMxima,


caracterDeRelleno): Rellena el texto a la izquierda (LPAD) o a la derecha (RPAD) con el
carcter indicado, ocupando as la anchura indicada. Si el texto es ms grande que la anchura
indicada, este se recorta.

Curso de Oracle 11g

1.4.3. Funciones numricas


De redondeo:

ROUND(n,decimales): Redondea los decimales del nmero al siguiente nmero indicado


ms cercano. ROUND(8.239,2) devuelve 8.3

TRUNC(n,decimales): Slo aparecern el nmero de decimales n indicados.

FLOOR(n): Obtiene el entero ms grande o igual que n

CEIL(n): Por el contrario nos da el entero ms pequeo o igual que n

Matemticas

MOD(n1,n2): Devuelve el resto resultado de dividir n1 entre n2

POWER(valor,exponente): Eleva el valor al exponente indicado

SQRT(n): Calcula la raz cuadrada de n

SIGN(n): Devuelve 1 si n es positivo, cero si vale cero y -1 si es negativo

ABS(n): Calcula el valor absoluto de n

EXP(n): Calcula el exponente, es decir en base e del nmero n

LN(n): Logaritmo neperiano de n

LOG(n): Logaritmo en base 10 de n

SIN(n): Calcula el seno de n (n tiene que estar en radianes)

COS(n): Calcula el coseno de n (n tiene que estar en radianes)

TAN(n): Calcula la tangente de n (n tiene que estar en radianes)

ACOS(n): Devuelve en radianes el arco coseno de n

ASIN(n): Devuelve en radianes el arco seno de n

ATAN(n): Devuelve en radianes el arco tangente de n

SINH(n): Devuelve el seno hiperblico de n

COSH(n): Devuelve el coseno hiperblico de n

TANH(n): Devuelve la tangente hiperblica de n

Otras

BITAND(n1,n2): Realiza una operacin AND de bits sobre los valores n1 y n2 que tienen
que ser enteros sin signo dando como resultado tambin un entero.

VSIZE(valor): Tamao en bytes que utiliza Oracle en almacenar ese valor.

Funciones de trabajo con nulos


Permiten definir valores a utilizar en el caso de que las expresiones tomen el valor nulo.

NVL(valor,sustituto): Si el valor es NULL, devuelve el valor sustituto; si no, devuelve valor.

10

Curso de Oracle 11g

NVL2(valor,sustituto1, sustituto2): Variante de la anterior, solo que devuelve el valor


sustituto1 si valor no es nulo. Si valor es nulo devuelve el sustituto2

NULLIF(valor1,valor2): Devuelve nulo si el valor1 y el valor2 son iguales. En el caso de


que no lo sean devuelve el valor1

COALESCE(valor1,valor2 [,valor3...]): Devuelve el valor1 si no es nulo; si lo es devuelve


el valor2 si este a su vez no es nulo. Si ambos son nulos, devuelve el tres si no es nulo, y as
sucesivamente

1.4.4. Funciones de fecha


Las fechas se utilizan muchsimo en todas las bases de datos. Oracle proporciona dos tipos de datos
para manejar fechas, los tipos DATE y TIMESTAMP.

DATE: Almacena una fecha concreta (que puede contener la hora).

TIMESTAMP: Almacena un instante de tiempo ms concreto que puede llegar a incluir


fracciones de segundo.

Hay que tener en cuenta que a los valores de tipo fecha se les pueden sumar nmeros, entendiendo
que esta suma es de das. Si tiene decimales se suman das, horas, minutos y segundos.
Intervalos
Los intervalos son datos relacionados con fechas, pero que no lo son. Hay dos tipos de intervalos:

INTERVAL DAY TO SECOND: que sirve para representar das, horas, minutos y
segundos

INTERVAL YEAR TO MONTH: que representa aos y meses.

Para obtener la fecha y hora actual

SYSDATE: La fecha y hora actuales

SYSTIMESTAMP: Obtiene la fecha y hora actuales en formato

TIMESTAMP DBTIMEZONE: Devuelve la zona horaria actual

CURRENT_DATE: Obtiene la fecha y hora actuales e incluye la zona horaria

CURRENT_TIMESTAMP: Obtiene la fecha y hora actuales en formato TIMESTAMP e


incluye la zona horaria calcular fechas.

Calcular fechas

ADDMONTHS(fecha,n): Aade a la fecha el nmero de meses indicado por n

MONTHS_BETWEEN(fecha1, fecha2): Obtiene la diferencia en meses entre las dos fechas


(puede ser decimal)

NEXT_DAY(fecha,da): Indica cual es el da que corresponde a aadir a la fecha el da


indicado. El da puede ser el texto 'Lunes', 'Martes', 'Mircoles',... (si la configuracin est en
espaol) o el nmero de da de la semana (1=lunes, 2=martes,...)

LAST_DAY(fecha): Obtiene el ltimo da del mes al que pertenece la fecha, devolviendo un


valor DATE.

11

Curso de Oracle 11g

EXTRACT(valor FROM fecha): Extrae un valor de una fecha concreta. El valor puede ser
day (da), month (mes), year (ao), etc.

GREATEST(fecha1, fecha2,..): Devuelve la fecha ms moderna la lista.

LEAST(fecha1, fecha2,..): Devuelve la fecha ms antigua la lista.

ROUND(fecha [,'formato']: Redondea la fecha al valor a aplicar en el formato a la fecha. El


formato puede ser:
-'YEAR' Ao completo
-'MONTH' Mes completo ms cercano a la fecha
-'HH24' Redondea la hora a las 00:00 ms cercanas
-'DAY Dia

TRUNC(fecha [formato]): Igual que el anterior pero trunca la fecha en lugar de redondearla.

12

Curso de Oracle 11g

1.5 Uso de Funciones de Conversin y Expresiones Condicionales


1.5.1 Funciones de conversin
Oracle puede convertir datos automticamente para que la expresin final tenga sentido. Las ms
sencillas son las conversiones de texto a nmero y viceversa. Por ejemplo:
SELECT 5+'3' FROM DUAL /*El resultado es 8 */
SELECT 5 || '3' FROM DUAL /* El resultado es 53 */
Tambin se realiza con la conversin de textos a fechas. De hecho es una de las formas ms
habituales de asignar fechas.
TO_CHAR
Obtiene un texto a partir de un nmero o una fecha. Se utiliza especialmente con fechas.
Fechas
En el caso de las fechas, el formato de conversin, es una cadena que puede incluir estos smbolos:

YY: Ao en formato de dos cifras o YYYY: Ao en formato de cuatro cifras

MM: Mes en formato de dos cifras

MON: Las tres primeras letras del mes

MONTH: Nombre completo del mes

DY: Da de la semana en tres letras DAY: Da completo de la semana DD: Da en formato de


dos cifras

D: Da de la semana (del 1 al 7) DDD: Da del ao

Q: Semestre o WW: Semana del ao

AD y A.D.: Indicador de periodo Anno Domini (despus de Cristo)

BC y B.C.: Indicador de periodo. Aparecen fechas anteriores al ao cero (en espaol AC)

J: Ao juliano

RN: Mtodo Romano de numeracin

AM: Indicador AM o PM: Indicador PM

HH12: Hora de 1 a 12 o HH24: Hora de 0 a 23

MI: Minutos (0 a 59)

SS: Segundos (0 a 59) o SSSS: Segundos desde medianoche

/ . , Posicin de los separadores

Por ejemplo:
SELECT TO_CHAR(SYSDATE, 'DD/MONTH/YYYY, DAY HH:MI:SS') FROM DUAL
Esto nos dara: 13/SEPTIEMBRE/2010, LUNES 16:00:00, por ejemplo

13

Curso de Oracle 11g


Nmeros
Se utiliza para convertir nmeros a textos, cuando se desean caractersticas especiales. En ese caso
en el formato se pueden utilizar estos smbolos:
9 -Posicin del nmero
0 -Posicin del nmero, mostrando los ceros
S -En esa posicin se coloca el signo del nmero, tanto si es negativo como si es positivo.
$ -Formato dlar
L -Smbolo local de la moneda
C -Smbolo internacional de moneda
D -Posicin del smbolo decimal, en espaol, la coma
G -Posicin del separador de grupo, en espaol el punto
RN -Numeracin romana en maysculas
Rn -Numeracin romana en minsculas
PR -Se muestran los negativos entre smbolos < y >
. - Separador internacional del decimal
, - Separador internacional del separador de miles
TO_NUMBER
Convierte textos en nmeros. Se debe indicar el formato de la conversin, utilizando los mismos
smbolos comentados anteriormente.
TO_DATE
Convierte textos en fechas. Como segundo parmetro se debe indicar el formato de la conversin,
usando igualmente los smbolos comentados anteriormente.

1.5.2 Funciones condicionales


Instruccin CASE
Es una instruccin que permite establecer condiciones de salida (parecido a if-then-else de otros
lenguajes). Su sintaxis es:
CASE expresin WHEN valor1 THEN resultado1
[ WHEN valor2 THEN resultado2 ....
...
ELSE resultadoElse
]
END
Su funcionamiento es muy sencillo, pasamos a explicarlo a continuacin:
1. Primero se evala la expresin
2. Si esa expresin es igual al valor1 del primer WHEN, devuelve el primer resultado, este
puede ser cualquier valor excepto nulo.
14

Curso de Oracle 11g


3. Si la expresin no es igual al valor1, entonces se comprueba si es igual que el valor2. De no
ser as se contina con el siguiente WHEN y as sucesivamente.
4. El resultado que indiquemos en el ELSE slo se escribe si no coincide ninguno de los
valores.
Por ejemplo:
SELECT
CASE cotizacion WHEN caso1 THEN salario *1
WHEN caso2 THEN salario *2
WHEN caso3 THEN salario *3
ELSE salario
END
FROM empleados;
Funcin DECODE
Similar a la instruccin CASE pero siendo esta una funcin. Se evala una expresin y se colocan a
continuacin los pares valor, es decir:
Si se la expresin equivale al valor, se obtiene el resultado indicado.
Se puede indicar un ltimo parmetro con el resultado a efectuar en caso de no encontrar ninguno de
los valores indicados en la expresin siendo este parmetro similar al ELSE del CASE. Si sintaxis
es:
DECODE(expresin, valor1, resultado1
[,valor2, resultado2,...]
[,valorPordefecto])
Utilizaremos este ejemplo a fin de poder comparar este ejemplo con el de la instruccin CASE:
SELECT
DECODE(cotizacion,1, salario*1,
2, salario *2,
3, salario *3,
salario)
FROM empleados;

15

Curso de Oracle 11g

1.6 Informes de Datos Agregados con Funciones de Grupo


Es muy comn utilizar consultas en las que se desee agrupar los datos a fin de realizar clculos. Para
ello se utiliza GROUP BY que permite indicar en base a qu registros se realiza la agrupacin, de
forma que el SELECT queda:
SELECT listaExpresiones
FROM listaTablas
[JOIN tablasRelacionadasYCondiciones]
[WHERE condiciones]
[GROUP BY grupos]
[HAVING condiciones de grupo]
[ORDER BY columnas];
En el apartado GROUP BY, se indican las columnas por las que se agrupa. La funcin de este
apartado es crear un nico registro por cada valor distinto en las columnas del grupo.
Por ejemplo agrupando en base a las columnas tipo y modelo en una tabla de vehiculos, se crear un
nico registro por cada tipo y modelo distintos:
SELECT tipo,modelo
FROM vehiculos
GROUP BY tipo,modelo;
Si la tabla de existencias sin GROUP BY tipo, modelo:
TIPO
TODOTERRENO
DEPORTIVO
TODOTERRENO
TODOTERRENO
DEPORTIVO
DEPORTIVO
TODOTERRENO
DEPORTIVO
DEPORTIVO
MONOVOLUMEN

MODELO
EXPLORER
ASTON MARTIN
EXPLORER
EXPLORER
ASTON MARTIN
ASTON MARTIN
EXPLORER
EXPLORER
ASTON MARTIN
ESPACE

La consulta con GROUP BY tipo,modelo:


TIPO
TODOTERRENO
DEPORTIVO
MONOVOLUMEN

MODELO
EXPLORER
ASTON MARTIN
ESPACE

Es decir es un resumen de los datos anteriores.

16

Curso de Oracle 11g

1.6.1 Funciones de clculo con grupos


Lo interesante de la creacin de grupos son las posibilidades de clculo que ofrece. Para ello se
utilizan funciones que permiten trabajar con los registros de un grupo son:
COUNT(*): Cuenta los elementos. Con el asterisco no hay que indicar el nombre de la
columna
SUM(expresin): Suma los valores de la expresin
AVG(expresin): Calcula la media aritmtica
MIN(expresin): Mnimo valor de la expresin indicada
MAX(expresin): Mximo valor de la expresin indicada
STDDEV(expresin): Calcula la desviacin estndar
VARIANCE(expresin): Calcula la varianza

1.6.2 Condiciones HAVING


A veces se desea restringir el resultado de una expresin agrupada, por ejemplo con:
SELECT tipo,modelo, cantidad, SUM(Cantidad)
FROM existencias
WHERE SUM(Cantidad)>500
GROUP BY tipo,modelo;
Pero devuelve un error, la razn es que Oracle calcula primero el WHERE y luego los grupos. Y en
esta condicin no se puede realizar al no estar establecidos los grupos. Para realizar este tipo de
consultas se utiliza la clusula HAVING, que se efecta una vez realizados los grupos de esta forma:
SELECT tipo,modelo, cantidad, SUM(Cantidad)
FROM existencias
GROUP BY tipo,modelo
HAVING SUM(Cantidad)>500;
Eso no implica que no se pueda usar WHERE:
SELECT tipo,modelo, cantidad, SUM(Cantidad)
FROM existencias
WHERE tipo!='AR'
GROUP BY tipo,modelo
HAVING SUM(Cantidad)>500;
En definitiva, el orden de ejecucin de la consulta marca lo que se puede utilizar con WHERE y lo
que se puede utilizar con HAVING.

17

Curso de Oracle 11g

1.7 Visualizacin de Datos de Varias Tablas


Es normal necesitar una consulta de datos que se encuentran distribuidos en varias tablas. Las bases
de datos relacionales se basan en que los datos se distribuyen en tablas y estas se pueden relacionar
entre s, mediante un campo que permite integrar los datos de las tablas.
Por ejemplo si disponemos de una tabla de usuarios cuya clave es el dni y otra tabla de tareas que se
refiere a tareas realizadas por los usuarios, lo normal sera que en la tabla de tareas aparecer el dni
del usuario que realiz la tarea.
Producto cruzado o cartesiano de tablas
En el ejemplo que ponemos a continuacin se quiere obtener una lista de los datos de las tareas y los
usuarios, realizndose de la siguiente forma:
SELECT cod_tarea, descripcion_tarea, dni_usuarios, nombre_usuarios
FROM tareas, usuarios;
La sintaxis es correcta ya que en el apartado FROM se pueden indicar varias tareas separadas por
comas. Pero eso produce un vnculo cruzado, aparecern todos los registros de las tareas
relacionados con todos los registros de empleados.
Este tipo de consulta es til para realizar consultas complejas, pero en el caso de consultas simples
no lo es. Necesitamos discriminar esa informacin para que slo aparezcan los registros de las tareas
relacionadas con sus empleados correspondientes. A eso se le llama: asociar (join) tablas.
La forma de realizar correctamente la consulta anterior, es decir asociando las tareas con los
empleados que la realizaron, sera:
SELECT cod_tarea, descripcion_tarea, dni_usuarios, nombre_usuarios
FROM tareas,usuarios
WHERE tareas.dni_usuarios= usuarios.dni;
IMPORTANTE: Vase que se utiliza tabla.columna para evitar la ambigedad, ya que el mismo
nombre de campo se puede repetir en ambas tablas.
A las relaciones descritas anteriormente se las llama relaciones en igualdad (equijoins), ya que las
tablas se relacionan a travs de campos que contienen valores iguales en ambas.
CROSS JOIN
Utilizando la opcin CROSS JOIN se realiza un producto cruzado entre las tablas indicadas.
NATURAL JOIN
Establece una relacin de igualdad entre las tablas a travs de los campos que tengan el mismo
nombre en ambas:
SELECT * FROM piezas
NATURAL JOIN existencias;
En el ejemplo anterior se obtienen los registros de piezas relacionados en existencias a travs de los
campos que tengan el mismo nombre en ambas tablas.

18

Curso de Oracle 11g


JOIN USING
Permite establecer relaciones indicando qu campo/s comn a las dos tablas hay que utilizar:
SELECT * FROM piezas
JOIN existencias USING(tipo,modelo);
JOIN ON
Permite establecer relaciones cuya condicin se establece manualmente, lo que permite realizar
asociaciones ms complejas o asociaciones cuyos campos en las tablas no tienen el mismo nombre.
SELECT * FROM piezas
JOIN existencias ON(piezas.tipo=existencias.tipo
AND piezas.modelo=existencias.modelo);
Relaciones externas
La ltima posibilidad es obtener relaciones laterales o externas (outer join). Su sintaxis es:
SELECT * FROM piezas
LEFT OUTER JOIN existencias
ON(piezas.tipo=existencias.tipo AND piezas.modelo=existencias.modelo);
En este consulta adems de las relacionadas, aparecen las piezas no relacionadas en existencias. Si el
LEFT lo cambiamos por un RIGHT, aparecern las existencias no presentes en piezas.
La condicin FULL OUTER JOIN produce un resultado en el que aparecen los registros no
relacionados de ambas tablas.

19

Curso de Oracle 11g

1.8 Las Subconsultas


Se trata de un sistema que permite utilizar el resultado de una tabla SELECT en otra consulta
SELECT. Solucionando problemas en los que el mismo dato aparece dos veces. La sintaxis es:
SELECT listaExpresiones FROM tabla
WHERE expresin operador
(SELECT listaExpresiones
FROM tabla);
Se puede colocar el SELECT dentro de las clusulas WHERE, HAVING o FROM. El operador
puede ser >,<,>=,<=,!=, = o IN. Ejemplo:
SELECT nombre_empleado, paga FROM empleados
WHERE paga <
(SELECT paga FROM empleados WHERE nombre_empleado='Martina');
Lgicamente el resultado de la subconsulta debe incluir el campo que estamos analizando. Se
pueden realizar subconsultas tantas veces como haga falta:
SELECT nombre_empleado, paga FROM empleados
WHERE paga <
(SELECT paga FROM empleados WHERE nombre_empleado='Martina')
AND paga >
(SELECT paga FROM empleados WHERE nombre_empleado='Luis');
En esta consulta obtenemos los empleados cuyas pagas estn entre lo que ganan Luis y Martina.
Una subconsulta que utilice valores >,<,>=,... tiene que devolver un nico valor, si no produce un
error.
La subconsulta necesaria para ese resultado mostrara los sueldos del departamento de ventas. Pero
no podremos utilizar un operador de comparacin directamente ya que compararamos un valor
contra muchos. La solucin es utilizar instrucciones especiales entre operador y consulta. Esas son:
ANY: Compara con cualquier registro de la consulta. La instruccin es vlida si hay un
registro en la subconsulta que permite que la comparacin sea cierta
ALL: Compara con todos los registros de la consulta. La instruccin resulta cierta si es cierta
toda comparacin con los registros de la subconsulta
IN: No usa comparador, ya que sirve para comprobar si un valor se encuentra en el resultado
de la subconsulta
NOT IN: Comprueba si un valor no se encuentra en una Subconsulta
Por ejemplo:
SELECT nombre, sueldo FROM empleados WHERE sueldo >= ALL (SELECT sueldo FROM
empleados)
Esa consulta obtiene el empleado que ms cobra. Otro ejemplo:
SELECT nombre FROM empleados WHERE dni IN (SELECT dni FROM directivos)
En ese caso se obtienen los nombres de los empleados cuyos dni estn en la tabla de directivos.

20

Curso de Oracle 11g

1.9 Uso de los Operadores SET


Este comando permite cambiar el valor de las variables de entorno del programa. Su uso es:
SET nombreVariable valor
Las variables ms interesantes a utilizar son:
VARIABLE

VALORES

EXPLICACIN

ECHO

ON (activado) y
OFF (desactivado)

Repite el comando SQL antes de mostrar su


resultado

TIMING

ON (activado) y
OFF (desactivado)

Permite mostrar estadsticas sobre el tiempo de


ejecucin en cada consulta SQL que se ejecute

HEADING

ON (activado) y
OFF (desactivado)

Hace que el encabezado con los alias de las


columnas se active o no

WRAP

ON (activado) y
OFF (desactivado)

Activado, trunca un texto si sobrepasa la anchura


mxima.

COMPATIBILITY V7, V8, NATIVE

Permite indicar la versin con la que se comprueba


la compatibilidad de los comandos. NATIVE indica
que el propio servidor Oracle decide la
compatibilidad

DEFINE

&, carcter, ON
(activado) y OFF
(desactivado)

Permite activar y desactivar la posibilidad de usar


variables de sustitucin. Indicando el carcter
utilizado para la sustitucin de variables

PAGESIZE

Indica el nmero de filas que se muestran antes de


repetir el encabezado de la consulta

LINESIZE

Indica la anchura mxima de la lnea de la consulta.


Si una lnea de la consulta sobrepasa este valor, los
datos pasan a la siguiente. Tambin influye sobre los
tamaos y posiciones de los encabezados y pies de
los informes

NULL

valor

Indica qu valor se muestra cuando hay nulos

NUMFORMAT

formato

Permite especificar un formato que se aplicar a


todos los nmeros.

NUMWIDTH

valor

Indica la anchura mxima utilizada para mostrar


nmeros. Si un nmero sobrepasa esta anchura, es
redondeado

FEEDBACK

n, ON (activado) y
OFF (desactivado)

Hace que se muestren el nmero total de registros de


la consulta cuando el resultado supera los n
registros.

LONG

ancho

Anchura mxima para los campos de tipo LONG

SHOW
El comando SHOW seguido del nombre de uno de los parmetros de la tabla anterior, permite
mostrar el estado actual del parmetro indicado. Si se usa SHOW ALL, se muestran todos.

21

Curso de Oracle 11g

1.10 Manipulacin de Datos


Es una de las partes fundamentales de SQL. El DML (Data Manipulation Language) lo forman
instrucciones capaces de modificar los datos de las tablas. El conjunto de instrucciones DML que se
ejecutan consecutivamente, son las transacciones y se pueden anular o aceptar, ya que esta
instruccin no se efecta hasta que no se realiza el commit. En estas consultas, el dato devuelto por
Oracle es el nmero de registros modificados.
Insercin de datos
La adicin de datos a una tabla se realiza mediante la instruccin INSERT. Su sintaxis es:
INSERT INTO tabla [(listaDeCampos)] VALUES (valor1 [,valor2 ...])
La tabla representa la tabla a la que queremos aadir el registro y los valores que siguen a VALUES
son los valores que damos a insertar. Si no se especifica la lista de campos, la lista de valores debe
seguir el orden de las columnas segn fueron creados (este orden lo devuelve el comando
DESCRIBE).
La lista de campos a rellenar se indica si no queremos rellenar todos los campos. Los campos no
rellenados explcitamente con la orden INSERT, se rellenan con su valor por defecto (DEFAULT) o
bien con NULL si no se indic valor alguno. Si algn campo tiene restriccin de tipo NOT NULL,
da un error.
Relleno de registros a partir de filas de una consulta
La consulta de adicin de datos, permite rellenar datos de una tabla copiando el resultado de una
consulta. Esto es una consulta SELECT que posee los datos a aadir. Ejemplo de su sintaxis:
INSERT INTO tabla (campos) SELECT campoCompatible1, campoCompatible2 FROM
tabla(s)
Ejemplo:
INSERT INTO clientes2004 (dni, nombre) SELECT dni, nombre FROM clientes;
Actualizacin de registros
La modificacin de los datos de los registros lo implementa la instruccin UPDATE. Su sintaxis es:
UPDATE tabla SET columna1=valor1 [,columna2=valor2...] [WHERE condicin]
Se modifican las columnas indicadas en el apartado SET con los valores indicados. La clusula
WHERE permite especificar qu registros sern modificados. Por ejemplo:
UPDATE clientes SET provincia='Ourense' WHERE provincia='Orense';
El primer dato actualiza la provincia de los clientes de Orense para que aparezca como Ourense. Hay
que tener en cuenta que las actualizaciones no pueden saltarse las reglas de integridad de las tablas.
Borrado de registros
Se realiza mediante la instruccin DELETE:
DELETE [FROM] table [WHERE condicin]

22

Curso de Oracle 11g


Ejemplo:
DELETE FROM empleados WHERE seccion=23;
Hay que tener en cuenta que el borrado de un registro no puede provocar fallos de integridad y que
la opcin de integridad ON DELETE CASCADE hace que se borren los todos registros
relacionados.
Comando MERGE
Este comando sirve para actualizar los valores de los registros de una tabla a partir de valores de
registros de otra tabla o consulta. Permite combinar los datos de dos tablas a fin de actualizar la
primera.
La sintaxis del comando MERGE es:
MERGE INTO tabla alias USING (instruccin SELECT) alias ON (condicinUnin)
WHEN MATCHED THEN UPDATE SET col1=valor1 [col2=valor2]
WHEN NOT MATCHED THEN
INSERT (listaDeColumnas) VALUES (listaDeValores)
MERGE compara registros de ambas tablas segn la condicin indicada en el ON. Compara cada
registro de la tabla con cada registro del SELECT. Los apartados de la sintaxis significan lo
siguiente:

tabla es el nombre de la tabla que queremos modificar

USING. En esa clusula se indica un SELECT que muestra la tabla que contiene los datos a
partir de los cuales se modifica la tabla

ON. Indica la condicin que permite relacionar los registros de la tabla con los del SELECT

WHEN MATCHED THEN. El UPDATE que sigue a esta parte se ejecuta cuando la
condicin indicada en el apartado ON sea cierta para los dos registros actuales.

WHEN NOT MATCHED THEN. El INSERT que sigue se ejecuta para cada registro de la
consulta SELECT que no pudo ser relacionado con ningn registro de la tabla.

Para el ejemplo descrito antes la instruccin MERGE sera:


MERGE INTO localidades l USING (SELECT * FROM clientes) ON
(l.localidad=clientes.localidad)
WHEN MATCHED THEN UPDATE SET l.provincia=c.provincia
WHEN NOT MATCHED THEN INSERT (localidad, provincia)
VALUES (c.localidad, c.provincia)
El resultado es la siguiente tabla de localidades:
Localidad

Provincia

Cigales

Valladolid

Palencia

Palencia

Aranda de Duero

Burgos

23

Curso de Oracle 11g


Transacciones
Como se ha comentado, una transaccin est formada por instrucciones DML. Una transaccin
comienza con la primera instruccin DML que se ejecute y finaliza con alguna de estas
circunstancias:

Una operacin COMMIT o ROLLBACK

Una instruccin DDL (como ALTER TABLE por ejemplo)

Una instruccin DCL (como GRANT)

El usuario abandona la sesin

Cada del sistema

Hay que tener en cuenta que cualquier instruccin DDL o DCL da lugar a un COMMIT implcito, es
decir todas las instrucciones DML ejecutadas hasta ese instante pasan a ser definitivas.
COMMIT
La instruccin COMMIT hace que los cambios realizados por la transaccin sean definitivos e
irrevocables. Slo se debe utilizar si estamos de acuerdo con los cambios. Adems el cierre correcto
de la sesin da lugar a un COMMIT, aunque siempre conviene ejecutar explcitamente esta
instruccin y asegurarnos de lo que hacemos.
ROLLBACK
Esta instruccin regresa a la instruccin anterior al inicio de la transaccin, normalmente el ltimo
COMMIT, la ltima instruccin DDL o DCL o al inicio de sesin. Anula definitivamente los
cambios, por lo que conviene tambin asegurarse de esta operacin. Un abandono de sesin
incorrecto o un problema de comunicacin o de cada del sistema dan lugar a un ROLLBACK
implcito.
SAVEPOINT
Esta permite establecer un punto de ruptura. El problema de la combinacin ROLLBACK/COMMIT
es que un COMMIT acepta todo y un ROLLBACK anula todo. SAVEPOINT permite sealar un
punto intermedio entre el inicio de la transaccin y la situacin actual. Su sintaxis es:
...instrucciones...
SAVEPOINT nombre
....instrucciones...
Para regresar a un punto de ruptura concreto se utiliza ROLLBACK TO SAVEPOINT seguido del
nombre del punto de ruptura.
Estado de los datos durante la transaccin
Si se inicia una transaccin usando comandos DML hay que tener en cuenta que:

Se puede volver a la instruccin anterior a la transaccin cuando se desee

Los SELECT realizados por el usuario que inici la transaccin muestran los datos
modificados.

El resto de usuarios ven los datos tal cual estaban antes de la transaccin. Esos usuarios no
podrn modificar los valores de dichos registros.

Tras la transaccin todos los usuarios ven los datos tal cual quedan tras el fin de transaccin.
24

Curso de Oracle 11g

1.11 Uso de Sentencias DDL para Crear y Gestionar Tablas


Creacin de tablas
Los nombres de las tablas, deben cumplir las siguientes reglas:

Deben comenzar con una letra

No deben tener ms de 30 caracteres

Slo se permiten utilizar letras del alfabeto (ingls), nmeros o el signo de subrayado
(tambin el signo $ y #, pero esos se utilizan de manera especial y no son recomendados)

No puede haber dos tablas con el mismo nombre para el mismo usuario

No puede coincidir con el nombre de una palabra reservada de Word

CREATE TABLE
Es la orden que permite crear una tabla. Por defecto se almacena en el tablespace por defecto del
usuario que crea la tabla. Sintaxis:
CREATE TABLE [esquema.] nombreDeTabla (nombreDeLaColumna1 tipoDeDatos [, ...]);
Ejemplo:
CREATE TABLE proveedores (nombre varchar2(25));
Crea una tabla con un solo campo de tipo varchar2.
Slo se podr crear la tabla si el usuario posee los permisos necesarios para ello. Si la tabla pertenece
a otro esquema, se antepone al nombre de la tabla, el nombre del esquema:
CREATE TABLE otroUsuario.proveedores (nombre varchar2(25));
DESCRIBE
El comando DESCRIBE, permite obtener la estructura de una tabla. Ejemplo:
DESCRIBE proveedores;
INSERT
Permite aadir datos a las tablas. Su sintaxis bsica es:
INSERT INTO tabla [(columna1 [, columna2...])] VALUES (valor1 [,valor2]);
Indicando la tabla se aaden los datos que se especifiquen tras el apartado values en un nuevo
registro. Los valores deben corresponderse con el orden de las columnas. Si no es as se puede
indicar tras el nombre de la tabla y entre parntesis. Ejemplo:
INSERT INTO proveedores(nombre, CIF) VALUES (Araja SA,14244223Y);
Borrar tablas
La orden DROP TABLE seguida del nombre de una tabla, permite eliminar la tabla. Al borrar una
tabla:

25

Curso de Oracle 11g

Desaparecen todos los datos

Cualquier vista y sinnimo referente a la tabla seguirn existiendo, pero no funcionarn

Las transacciones pendientes son aceptadas (COMMIT)

Slo es posible realizarlo si es el propietario de la tabla o con el privilegio DROP ANY


TABLE

El borrado de una tabla es irreversible, y no hay ninguna peticin de confirmacin.


Cambiar de nombre
La orden RENAME permite el cambio de nombre de cualquier objeto. Sintaxis:
RENAME nombreViejo TO nombreNuevo
Borrar contenido de tablas
La orden TRUNCATE TABLE seguida del nombre de una tabla, hace que se elimine solo el
contenido de la tabla. Incluso borra del archivo de datos el espacio ocupado por la tabla.
La verstil ALTER TABLE permite hacer cambios en la estructura de una tabla.
Aadir columnas
ALTER TABLE nombreTabla ADD(nombreColumna TipoDatos [Propiedades]
Permite aadir nuevas columnas a la tabla. Se deben indicar su tipo de datos y sus propiedades si es
necesario (tipo CREATE TABLE). Las nuevas se aaden al final y no se puede indicar otra posicin.
Borrar columnas
ALTER TABLE nombreTabla DROP(columna);
Elimina la columna indicada junto con sus datos.
Modificar columna
Permite cambiar el tipo de datos y propiedades de una determinada columna. Sintaxis:
ALTER TABLE nombreTabla MODIFY(columna tipo [propiedades]
Los cambios que se permiten son:

Incrementar precisin o anchura de los tipos de datos

Slo se puede reducir la anchura, si la anchura mxima del campo de esa columna posee
nulos en todos los registros, valores o no hay registros.

Se puede pasar de CHAR a VARCHAR2 y viceversa, si no se modifica la anchura

Se puede pasar de DATE a TIMESTAMP y viceversa

Aadir comentarios a las tablas


Se le pueden poner comentarios a las tablas y las columnas. Un comentario es un texto descriptivo
utilizado para documentar la tabla. Sintaxis:

26

Curso de Oracle 11g


COMMENT ON { TABLE NombreTabla | COLUMN tabla.nombreColumna } IS
Comentario
Para mostrar los comentarios se usan las vistas del diccionario de datos mediante un SELECT:

USER_TAB_COMMENTS. Comentarios de las tablas del usuario actual.

USER_COL_COMMENTS. Comentarios de columnas del usuario actual.

ALL_TAB_COMMENTS. Comentarios de las tablas de todos los usuarios (slo


administradores)

ALL_COL_COMMENTS. Comentarios de columnas de todos los usuarios (slo


administradores)

Valor por defecto


A cada columna se le puede asignar un valor por defecto a su creacin mediante la propiedad
DEFAULT. Se puede poner esta propiedad durante la creacin o modificacin de la tabla, aadiendo
la palabra DEFAULT tras el tipo de datos del campo y detrs el valor que se desea por defecto.
Ejemplo:
CREATE TABLE articulo (cod NUMBER(7), nom VARCHAR2(25), precio NUMBER(11,2)
DEFAULT 3.5);
Restricciones
Una restriccin es una condicin de obligado cumplimiento para una o ms columnas de la tabla. A
cada restriccin se le d un nombre, en caso de no ponerselo entonces el propio Oracle le coloca el
nombre que es un mnemotcnico con el nombre de tabla, columna y tipo de restriccin. Su sintaxis
general es:
{CREATE TABLE nombreTabla | ALTER TABLE nombreTabla {ADD | MODIFY}}
(campo tipo [propiedades] [,...]
CONSTRAINT nombreRestriccin tipoRestriccin (columnas)...)
Las restricciones tienen nombre, eero si es Oracle el que se lo asigna, este ser crptico.
Los nombres de restriccin no se pueden repetir en el mismo esquema, por lo que se debe incluir de
el nombre de la tabla, los campos involucrados y el tipo de restriccin en el nombre de la misma.
Ejemplo; pieza_id_pk, podra indicar que el campo id de la tabla pieza tiene una clave principal
(PRIMARY KEY).
Prohibir nulos
La restriccin NOT NULL permite prohibir los nulos en una determinada tabla. Eso obliga a que la
columna tenga que tener obligatoriamente un valor para que sea almacenado el registro.
Se puede colocar durante la creacin o modificacin del campo con la palabra NOT NULL tras el
tipo:
CREATE TABLE cliente(dni VARCHAR2(9) NOT NULL);
En ese caso el nombre le coloca Oracle. La otra forma (que admite nombre) es:
CREATE TABLE cliente(dni VARCHAR2(9) CONSTRAINT dni_sinnulos NOT NULL(dni));

27

Curso de Oracle 11g


Valores nicos
Las restricciones de tipo UNIQUE obligan a que el contenido de uno o ms campos no puedan
repetir valores. Nuevamente hay dos formas de colocar esta restriccin:
CREATE TABLE cliente(dni VARCHAR2(9) UNIQUE);
En ese caso el nombre de la restriccin la coloca el sistema Oracle. Otra forma es:
CREATE TABLE cliente(dni VARCHAR2(9) CONSTRAINT dni_u UNIQUE);
Esta forma permite poner un nombre a la restriccin. Si la repeticin de valores se refiere a varios
campos, la forma sera:
CREATE TABLE alquiler(dni VARCHAR2(9), cod_pelicula NUMBER(5),
CONSTRAINT alquiler_uk UNIQUE(dni,cod_pelicula) ;
La coma tras la definicin del campo cod_pelicula hace que la restriccin sea independiente de ese
campo. Eso obliga a que, tras UNIQUE se indique la lista de campos. Los campos UNIQUE son las
claves candidatas de la tabla, que habrn sido detectadas en la fase de diseo de la base de datos.
Clave primaria
La clave primaria de una tabla la forman las columnas que indican a cada registro de la misma. La
clave primaria hace que los campos que la forman sean NOT NULL (sin posibilidad de quedar
vacos) y que los valores de los campos sean de tipo UNIQUE (sin posibilidad de repeticin).
Si la clave est formada por un solo campo basta con:
CREATE TABLE cliente(dni VARCHAR2(9) PRIMARY KEY,nombre VARCHAR(50)) ;
O, poniendo un nombre a la restriccin:
CREATE TABLE cliente(dni VARCHAR2(9) CONSTRAINT cliente_pk PRIMARY KEY,
nombre VARCHAR(50)) ;
Si la clave la forman ms de un campo:
CREATE TABLE alquiler(dni VARCHAR2(9),cod_pelicula NUMBER(5), CONSTRAINT
alquiler_pk PRIMARY KEY(dni,cod_pelicula) ;
Clave secundaria o fornea
Una clave secundaria o fornea, son uno o ms campos de una tabla que estn relacionados con la
clave principal de los campos de otra tabla. La forma de indicar una clave fornea es:
CREATE TABLE alquiler(dni VARCHAR2(9), cod_pelicula NUMBER(5),
CONSTRAINT alquiler_pk PRIMARY KEY(dni,cod_pelicula),
CONSTRAINT dni_fk FOREIGN KEY (dni) REFERENCES clientes(dni),
CONSTRAINT pelicula_fk FOREIGN KEY (cod_pelicula)
REFERENCES peliculas(cod));
Esta completa forma de crear la tabla alquiler incluye sus claves forneas, el campo dni hace
referencia al campo dni de la tabla clientes y el campo cod_pelicula que hace referencia al campo
cod de la tabla peliculas. Tambin hubiera bastado con indicar slo la tabla a la que hacemos

28

Curso de Oracle 11g


referencia, si no se indican los campos relacionados de esa tabla, se toma su clave principal (que es
lo normal).
Esto forma una relacin entre dichas tablas, que obliga al cumplimiento de la integridad referencial.
Esta integridad obliga a que cualquier dni incluido en la tabla alquiler tenga que estar
obligatoriamente en la tabla de clientes. De no ser as el registro no ser insertado en la tabla
(ocurrir un error).
Otra forma de crear claves forneas (slo vlida para claves de un solo campo) es:
CREATE TABLE alquiler(dni VARCHAR2(9) CONSTRAINT dni_fk
REFERENCES clientes(dni),cod_pelicula NUMBER(5) CONSTRAINT pelicula_fk
REFERENCES peliculas(cod)
CONSTRAINT alquiler_pk PRIMARY KEY(dni,cod_pelicu ));
Esta definicin es idntica a la anterior, slo que no hace falta colocar el texto FOREIGN KEY.
La integridad referencial es una herramienta imprescindible de las bases de datos relacionales. Pero
provoca varios problemas. Por ejemplo, si borramos un registro en la tabla principal que est
relacionado con uno o varios de la secundaria ocurrir un error, ya que de permitrsenos borrar el
registro ocurrir fallo de integridad (habr claves secundarios refirindose a una clave principal que
ya no existe).
Por ello Oracle nos ofrece dos soluciones a aadir tras la clusula REFERENCES:

ON DELETE SET NULL. Coloca nulos a todas las claves secundarias relacionadas con la
borrada.

ON DELETE CASCADE. Borra todos los registros cuya clave secundaria es igual que la
del registro borrado.

Si no se indica esta clusula, no se permite el borrado de registros relacionados.


Existe otro problema si se desea cambiar el valor de la clave principal en un registro relacionado con
claves secundarias. La solucion es:

Implementar un TRIGGER para que cuando se actualice el registro se actualicen las claves
secundarias (su funcionamiento es parecido al que se indica en el siguiente prrafo).

Aadir un registro igual que el que se quiere cambiar en la tabla principal, pero con el nuevo
valor de la clave. Mediante un UPDATE actualizar a ese valor de clave todos los registros de
la tabla secundaria cuyo valor coincida con la antigua clave. Finalmente borrar el registro en
la tabla principal con el valor antiguo de la clave.

La sintaxis completa para aadir claves forneas es:


CREATE TABLE tabla(lista_de_campos
CONSTRAINT nombreRestriccion FOREIGN KEY (listaCampos)
REFERENCES tabla(clavePrincipalRelacionada)
[ON UPDATE {SET NULL | CASCADE}]);
Si es de un solo campo existe esta alternativa:
CREATE TABLE tabla(lista_de_campos tipos propiedades,
nombreCampoClaveSecundaria

29

Curso de Oracle 11g


CONSTRAINT nombreRestriccion
REFERENCES tabla(clavePrincipalRelacionada)
[ON UPDATE {SET NULL | CASCADE}]);
Restricciones de validacin
Son restricciones que dictan una condicin que deben cumplir los contenidos de una columna. La
expresin de la condicin es cualquier expresin que devuelva verdadero o falso, con estas premisas:

No puede hacer referencia a nmeros de fila

No puede hacer referencia a objetos de SYSTEM o SYS

No se permiten usar las funciones SYSDATE, UID, USER y USERENV

No se permiten referencias a columnas de otras tablas (si a las de la misma tabla)

Una misma columna puede tener mltiples CHECKS en su definicin (se ponen CONSTRAINT
seguidos, sin comas). Ejemplo:
CREATE TABLE ingresos(cod NUMBER(5) PRIMARY KEY,
concepto VARCHAR2(40) NOT NULL, importe NUMBER(11,2) CONSTRAINT importe_min
CHECK (importe>0) CONSTRAINT importe_max CHECK (importe<8000));
Para hacer referencia a otras columnas hay que construir la restriccin independiente a la columna:
CREATE TABLE ingresos(cod NUMBER(5) PRIMARY KEY,
concepto VARCHAR2(40) NOT NULL,
importe_max NUMBER(11,2),
importe NUMBER(11,2),
CONSTRAINT importe_maximo CHECK (importe<importe_max));
Aadir restricciones
Es posible querer aadir restricciones tras la creacin de la tabla. En ese caso se utilizar esta
sintaxis:
ALTER TABLE tabla ADD [CONSTRAINT nombre] tipoDeRestriccin(columnas);
Donde tipoRestriccin es el texto CHECK, PRIMARY KEY o FOREIGN KEY. Las restricciones
NOT NULL deben indicarse mediante ALTER TABLE .. MODIFY colocando NOT NULL en el
campo que se modifica.
Borrar restricciones
Sintaxis:
ALTER TABLE tabla
DROP PRIMARY KEY | UNIQUE(campos) |
CONSTRAINT nombreRestriccin [CASCADE]
La opcin PRIMARY KEY elimina la clave principal, tambin quitar el ndice UNIQUE sobre las
campos de la clave. UNIQUE elimina ndices nicos. La opcin CONSTRAINT elimina la
restriccin indicada.

30

Curso de Oracle 11g


La opcin CASCADE hace que se eliminen en cascada las restricciones de integridad que dependen
de la restriccin eliminada. Por ejemplo en:
CREATE TABLE curso(
cod_curso CHAR(7) PRIMARY KEY,
fecha_inicio DATE,
fecha_fin DATE,
titulo VARCHAR2(60),
cod_siguientecurso CHAR(7),
CONSTRAINT fecha_ck CHECK(fecha_fin>fecha_inicio),
CONSTRAINT cod_ste_fk FOREIGN KEY(cod_siguientecurso)
REFERENCES curso ON DELETE SET NULL);
Tras esa definicin de tabla, esta instruccin:
ALTER TABLE curso DROP PRIMARY KEY;
Se puede producir este error:
ORA-02273: a esta clave nica/primaria hacen referencia algunas claves ajenas
Para ello habra que utilizar esta instruccin:
ALTER TABLE curso DROP PRIMARY KEY CASCADE;
Esa instruccin elimina la clave secundaria antes de eliminar la principal. Pero tambin produce
error:
ALTER TABLE curso DROP(fecha_inicio);
ERROR en lnea 1:
ORA-12991: se hace referencia a la columna en una restriccin de multicolumna
El error se debe a que no es posible borrar una columna que forma parte de la definicin de una
instruccin. La solucin es utilizar CASCADE CONSTRAINT elimina las restricciones en las que
la columna a borrar estaba implicada:
ALTER TABLE curso DROP (fecha_inicio) CASCADE CONSTRAINTS;
Esta instruccin elimina la restriccin de tipo CHECK en la que apareca la fecha_inicio y as se
puede eliminar la columna.
Desactivar restricciones
A veces conviene temporalmente desactivar una restriccin para saltarse las reglas que impone:
ALTER TABLE tabla DISABLE CONSTRAINT nombre [CASCADE]
La opcin CASCADE desactiva tambin las restricciones dependientes de la que se desactiv.
Activar restricciones
Anula la desactivacin. Formato:
ALTER TABLE tabla ENABLE CONSTRAINT nombre [CASCADE]

31

Curso de Oracle 11g


Slo se permite volver a activar si los valores de la tabla cumplen la restriccin que se activa. Si
hubo desactivado en cascada, habr que activar cada restriccin individualmente.
Cambiar de nombre a las restricciones
Para hacerlo se utiliza este comando:
ALTER TABLE table RENAME CONSTRAINT nombreViejo TO nombreNuevo;
Mostrar restricciones
La vista del diccionario de datos USER_CONSTRAINTS permite identificar las restricciones
colocadas por el usuario (ALL_CONSTRAINTS permite mostrar las restricciones de todos los
usuarios, pero slo est permitida a los administradores). En esa vista aparece toda la informacin
que el diccionario de datos posee sobre las restricciones.
En el diccionario de datos hay otra vista que proporciona informacin sobre restricciones, se trata de
USER_CONS_COLUMNS, en dicha tabla se muestra informacin sobre las columnas que
participan en una restriccin. As si hemos definido una clave primaria formada por los campos uno
y dos, en la tabla USER_CONS_COLUMNS aparecern dos entradas, una para el primer campo del
ndice y otra para el segundo. Se indicar adems el orden de aparicin en la restriccin.

32

Curso de Oracle 11g

1.12 Creacin de Otros Objetos de Esquema


Cada usuario de una BBDD posee un esquema. El esquema tiene el mismo nombre que el usuario y
sirve para almacenar los objetos de esquema, es decir los objetos que posee el usuario.
Esos objetos pueden ser: tablas, vistas, secuencias, ndices, sinnimos e instantneas. Estos son
manipulados y creados por los usuarios. En principio slo los administradores y los usuarios
propietarios pueden acceder a cada objeto, salvo que se modifiquen los privilegios del objeto.
Finalmente se incluyen esquemas de usuario que permiten mostrar tareas de la BBDD y
experimentar sin poner en peligro a los esquemas reales.
Puede consultarse en DBA_USERS aquellos esquemas de usuario con contraseas sensibles o no a
maysculas (columna password_versions).
alter system set sec_case_sensitive_logon=true;
Oracle no borra esquemas de usuario no vacos a menos que se indique CASCADE, realiza un
borrado de objetos previo, o se hayan eliminado con anterioridad los objetos. Por esta razn es
conveniente estudiar las implicaciones que sobre otros esquemas tiene el borrado del usuario y de su
esquema:

Se invalida vistas o sinnimos para objetos en el esquema borrado.

Se invalidan procedimientos almacenados, funciones, o paquetes que consulten objetos


pertenecientes al esquema eliminado.

Las vistas materializadas en otros esquemas basados en tablas pertenecientes al esquema


borrado no podrn refrescarse.

Se borran todos los disparadores, triggers, del esquema.

No se eliminan roles creados por el usuario.

Sintaxis:
DROP USER <usuario> <CASCADE>;
Las referencias a travs de esquemas no se importan para usuarios no privilegiados. Esquema de
usuario (parmetro SCHEMAS). Slo se cargan objetos propiedad de los esquemas indicados.
Si se posee rol DATAPUMP_IMP_FULL_DATABASE pueden indicarse una serie de esquemas y
estos se crean en la BBDD, incluyendo permisos sobre privilegios de sistema, adems de los objetos
que contengan.
Las referencias a travs de esquemas no se importan para usuarios no privilegiados a menos que
exista un mapeo de esquemas.
SCHEMAS =<lista de esquemas>
Permite indicar que se realizar una importacin de esquemas. Por defecto referencia el esquema de
usuario, para otros es necesario el rol DATAPUMP_IMP_FULL_DATABASE.

33

Curso de Oracle 11g


En la imagen inferior, tambin se puede observar la vista desde la pestaa de esquemas de la versin
Enterprise de la consola de Administracin de Oracle 11g, desde el explorador Internet Explorer.

34

Curso de Oracle 11g

2. ADMINISTRACIN DE BASES DE DATOS ORACLE 11g


2.1 Exploracin de la Arquitectura de una Base de Datos Oracle
Cuando se ejecuta en Windows, Oracle Database 11g presenta las mismas caractersticas y la misma
funcionalidad que las distintas plataformas Linux y UNIX soportadas por Oracle. Pero la interface
entre la base de datos y el sistema operativo ha sido especialmente modificada para aprovechar los
servicios de Windows a fin de mejorar el desempeo, la confiabilidad y la estabilidad.
Modelo de Threads
Comparado con la base de datos Oracle en UNIX, el cambio de arquitectura ms significativo en
Oracle Database 11g en Windows es la conversin de un servidor basado en procesos a un servidor
basado en threads. En Windows, todos los procesos se implementan como threads. Esto significa que
para cada instancia de la base de datos Oracle, hay un solo proceso ejecutndose en Windows para el
propio servidor de base de datos Oracle.
Nota: Existen otros procesos Oracle en Windows para otros servicios de base de datos, como por
ejemplo la Consola de Base de Datos de Enterprise Manager
Existen otros beneficios que surgen de la arquitectura basada en threads. Estos incluyen switches de
contexto ms rpidos para el sistema operativo entre los threads, a diferencia de los procesos; una
rutina de asignacin del rea del Sistema Global (SGA) mucho ms simple que no requiere del uso
de memoria compartida; productividad ms rpida de nuevas conexiones debido a que los threads se
crean ms velozmente que los procesos; menor utilizacin de la memoria debido a que los threads
comparten ms estructuras de datos que los procesos; y finalmente, la idea de que un modelo basado
en threads sea en cierto modo ms parecido a Windows que uno basado en procesos.
Internamente, el cdigo para implementar el modelo basado en threads es compacto y muy aislado
de la parte principal del cdigo Oracle. Menos de 20 mdulos ofrecen toda la infraestructura
necesaria para implementar el modelo de threads. Asimismo, la solidez se ha incorporado a la
arquitectura a travs del uso de encargados de excepciones y tambin a travs de rutinas utilizadas
para rastrear y rechazar los recursos.
NOTA: La base de datos Oracle se ejecuta como servicio Windows, que representa un proceso en
segundo plano que puede ser iniciado por Windows cuando ste se reinicia.
Servicios
Es un servicio de Windows, que bsicamente implica un proceso en segundo plano registrado con el
sistema operativo y que se ejecuta conforme a un contexto de seguridad particular.
Cuando se inicia el servicio de base de datos Oracle, no hay threads tpicos de Oracle ejecutndose
en el proceso. En cambio, el proceso bsicamente espera un pedido de conexin e inicio de
SQL*Plus, que provocar el funcionamiento de un thread en primer plano y luego, eventualmente,
provocar la creacin del thread en segundo plano de SGA. Cuando se cierra la base de datos, todos
los threads que se crearon finalizarn, pero el proceso continuar ejecutndose y esperar hasta el
prximo pedido de conexin y comando de inicio.
Oracle Net Listener se considera un servicio ya que tambin debe ejecutarse antes de que los
usuarios puedan conectarse a la base de datos.

35

Curso de Oracle 11g


Mejoras de Escalabilidad
Uno de los principales objetivos de Oracle Database 11g en Windows es explotar por completo
cualquier tecnologa de hardware y sistema operativo que pueda ayudar a aumentar la escalabilidad,
el rendimiento y la capacidad de la base de datos.
Recientemente, los administradores de base de datos Windows han podido aumentar an ms su
recuento de usuarios al implementar nuevo hardware de 64 bits, ya sea Itanium o AMD64/EM64T, y
Oracle Real Application Clusters (RAC). Oracle RAC permite el acceso de mltiples servidores a
los mismos archivos de base de datos, aumentando as la capacidad de las conexiones de usuarios y
al mismo tiempo aumentando el resultado. Debido a que se pueden incorporar commodities de
hardware como nodos adicionales a un cluster RAC, este ha sido una solucin tradicional para la alta
disponibilidad y el escalamiento econmico.
Ajuste RAM de 4GB
Cuando clustering y Windows de 64 bits no son opciones disponibles, es necesario maximizar los
recursos existentes en los sistemas Windows de 32 bits. El beneficio de la base de datos Oracle es
que se dispone de un 50% ms de memoria para el uso de la base de datos, lo cual puede utilizarse
para aumentar el tamao SGA o el total de conexin.
Memoria Extendida (Very Large Memory -VLM)
La caracterstica de Memoria Extendida (Very Large Memory - VLM) comnmente utilizada en las
aplicaciones Windows, es una caracterstica clave de ajuste de memoria, permite a la base de datos
Oracle en Windows superar el lmite de espacio de 3GB normalmente impuesto por Windows de 32
bits. Especficamente, una sola instancia de base de datos puede ahora tener acceso a buffers de base
de datos de 64GB cuando se ejecuta en una mquina y un sistema operativo que soportan tanta
cantidad de memoria fsica. Este soporte en Oracle Database 11g se encuentra estrechamente
integrado con el cdigo de cach de buffers de base de datos dentro del ncleo kernel de base de
datos, permitiendo as el uso eficiente de una gran cantidad de RAM disponible para los buffers de
base de datos. Al configurar una base de datos con una gran cantidad de buffers, ms datos se
agrupan en cach en la memoria. Esto reduce la cantidad I/O en disco, lo cual es considerablemente
ms lento que recuperar datos de la memoria. Utilizar esta caracterstica lleva al correspondiente
aumento de desempeo y rendimiento de la base de datos.
Paginacin
El Soporte de Paginacin es una caracterstica que ofrece un aumento del desempeo para instancias
de base de datos de mucha memoria. Oracle puede hacer un uso ms efectivo de los recursos de
acceso al procesador utilizando esta caracterstica. La paginacin se utiliza para SGA. Todos los
componentes SGA con inclusin de los cach de buffers, los grupos compartidos, los grupos
extensivos, entre otros, son asignados desde estas pgina.
Esta caracterstica es particularmente til cuando el cach de buffer de Oracle tiene varios gigabytes
de tamao. Las configuraciones de menor tamao tambin advertirn una ventaja al utilizar la
Paginacin, pero esta ventaja no ser tan amplia como cuando se accede a grandes cantidades de
memoria. Para activar esta nueva caracterstica, la variable de registro ORA_LPENABLE debera
establecerse en 1 en la clave Oracle del Registro Windows.

36

Curso de Oracle 11g


Configuracin de Prioridades y Afinidades
La base de datos Oracle soporta la modificacin tanto de las configuraciones de afinidad y prioridad
para el proceso de base de datos como de los threads individuales en el proceso, cuando el proceso
se realiza en Windows.
Al modificar el valor de configuracin del registro ORACLE_PRIORITY, un administrador de base
de datos puede asignar diferentes prioridades Windows a los threads de segundo plano individuales y
tambin poner en primer plano a todos los threads. Del mismo modo, tambin puede modificarse la
prioridad de todo el proceso Oracle.
Al igual que la configuracin ORACLE_PRIORITY, la configuracin del registro
ORACLE_AFFINITY permite al administrador de base de datos asignar todo el proceso Oracle o los
threads individuales en ese proceso a una CPU particular o a grupos de CPU en el sistema.
Acceso a Memoria No Uniforme
Con la incorporacin del soporte al Acceso a Memoria No Uniforme (NUMA) en el Servidor
Windows, Oracle ahora puede explotar mejor el hardware NUMA en el cual un solo servidor fsico
de gran capacidad se compone de varios nodos. Debido a que cada nodo en una mquina NUMA
tiene acceso a distintas partes de RAM fsicas de diferentes velocidades, es elemental que la base de
datos pueda determinar la topologa de una mquina NUMA y ajustar su programacin, sus
asignaciones de memoria y las operaciones internas adecuadamente.
Mejoras I/O de Archivos
Otra rea sobre la que se ha trabajado mucho en cuanto al cdigo de base de datos Oracle se refiere
al soporte de archivos en cluster, archivos grandes, y archivos binarios. El sistema de archivos en
cluster de Oracle es parte integral de Oracle Database 11g que facilita la administracin e instalacin
de los clusters de Oracle. Asimismo, se soportan los archivos binarios lgicos y fsicos para los
archivos de control, los archivos testigo y los archivos de datos a fin de permitir un mejor
desempeo utilizando Oracle RAC y bases de datos de instancia nica en Windows.
Sistema de Archivos en Cluster
La capacidad de administracin de Oracle RAC se ha mejorado enormemente a travs del sistema de
archivos en cluster de Oracle (CFS). CFS de Oracle fue creado para ser utilizado especficamente
con RAC. Los procesos ejecutables de Oracle RAC se instalan en cualquier CFS o en archivos
binarios. En el ltimo caso, al menos una sola instancia de base de datos se ejecuta en cada nodo del
cluster.
En una sola instalacin base de Oracle con CFS, la base de datos estar en el almacenamiento
compartido, generalmente un sistema con caractersticas de storage array. CFS permite a todos los
nodos en el cluster acceder al software Oracle, pero ste no es controlado por ninguno de ellos.
Todas las mquinas CFS tienen igual acceso a todos los datos y pueden procesar cualquier
transaccin. De este modo, RAC con CFS garantiza la redundancia de software de toda la base de
datos para los clusters Windows al tiempo que simplifica la instalacin y administracin.
I/O de Archivos de 64 Bits
Internamente, todas las rutinas I/O de archivos de la base de datos Oracle soportan la compensacin
de archivos de 64 bits, lo cual significa que cuando se trata de archivos de control, archivos testigo o
de datos, como en el caso de alguna otra plataforma, no existe la limitacin de tamaos de archivo de
37

Curso de Oracle 11g


2GB o 4GB. De hecho, los lmites establecidos son limitaciones genricas de Oracle en todos los
puertos.
Estos lmites incluyen bloques de base de datos de 4 millones por archivo, un tamao mximo de
bloque de 16KB, y archivos de 64K por base de datos. Si se multiplican estos valores, el tamao
mximo de archivo para un archivo de base de datos en Windows se calcula en 64GB, mientras que
el tamao mximo de base de datos soportado (con bloques de bases de datos de 16KB) es de 4
petabytes.
Soporte de Archivos Binarios
Windows soporta el concepto de archivos binarios, que son bsicamente particiones no formateadas
de disco que pueden utilizarse como un solo archivo extenso. No obstante, el inconveniente de
utilizar archivos binarios es la capacidad de administracin, ya que los comandos Windows estndar
no soportan la manipulacin ni el back up de los archivos binarios. Por consiguiente, los archivos
binarios son generalmente utilizados solo por instalaciones especializadas y por Oracle Real
Application Clusters, lo cual requiere un desempeo optimizado. Para utilizar un archivo binario,
todo lo que Oracle requiere es que el nombre de archivo especifique qu letra o particin de la
unidad utilizar para el archivo.
Cuando se especifica el nombre de los archivos binarios en Oracle, se debe tener cuidado al
seleccionar el nmero de particin o la letra de la unidad adecuados, ya que Oracle simplemente
sobrescribir cualquier parmetro en la unidad especificada cuando agregue el archivo a la base de
datos, incluso si ya se trata de una unidad formateada FAT o NTFS.
Para Oracle, los archivos binarios no difieren de otros archivos de base de datos Oracle. Son tratados
del mismo modo por Oracle y pueden realizarse backups y almacenarse por medio del
Administrador de Recuperacin como cualquier otro archivo.
Cliente Direct Network File System
Oracle Database 11g puede configurarse para acceder a los servidores Network File System (NFS)
Versin 3 directamente utilizando un cliente interno de Oracle Direct Network File System.
Esta caracterstica se implementa como parte del ncleo kernel de la base de datos Oracle para la
biblioteca Oracle Disk Manager. Los sistemas basados en Network Attached Storage (NAS) utilizan
NFS para acceder a los datos.

38

Curso de Oracle 11g

2.2 Preparacin del entorno de una Base de Datos


Aunque vamos a partir de la base de que ya tenemos instalado Oracle 11g en Windows y que por
supuesto tenemos permisos de Administrador para poder crear nuestra base de datos (en adelante
BBDD), podemos observar en las siguientes capturas, las comprobaciones previas realizadas
durante el proceso de instalacin y que nos guiara durante la configuracin y preparacin de la
BBDD que desde el asistente de instalacin, se realiza por defecto.

En esta captura vemos como pasa a realizar la configuracin automatizada de las BBDD.

39

Curso de Oracle 11g


Y posteriormente a esta captura, se inicia de forma automtica el asistente de configuracin de las
BBDD de Oracle.
1. Copiado de archivos de BBDD:

2. Creacin e instanciacin de Oracle:

40

Curso de Oracle 11g


3. Finalizando la creacin de BBDD:

4. En este punto se nos confirma la creacin de las BBDD, ms concretamente la que se define
como Global (en nuestro caso por defecto: orcl, tal y como hemos comentado anteriormente)
y nos permite iniciar la configuracin de las contraseas de acceso a las BBDD:

41

Curso de Oracle 11g


Para desbloquear, basta con hacer clic en la columna Bloquear..? y en el usuario seleccionado,
introducir la contrasea y confirmarla.

Una vez desbloqueado y asignado contraseas a los usuarios, Aceptamos y finaliza este proceso.

42

Curso de Oracle 11g

2.3 Creacin de una Base de Datos Oracle


Para la creacin de nuestra BBDD, utilizaremos el asistente que tiene Oracle, accediendo a este a
travs del men Inicio Oracle Herramientas de configuracin Asistente de
Configuracin de BBDD.

Una vez lanzado el asistente se nos muestra la siguiente imagen:

43

Curso de Oracle 11g


Pulsamos en siguiente y seleccionamos Crear Base de Datos:

Seleccionamos el tipo de plantillas que se incluirn en nuestra BBDD:

Vamos a darle un nombre a nuestra BBDD:

44

Curso de Oracle 11g


Y elegimos la configuracin de esta:

Asignaremos nombre a las cuentas de usuario, pudiendo dar distintas contraseas dependiendo de
este usuario:

O bien dar una contrasea comn a todos ellos, este ser nuestro caso:

45

Curso de Oracle 11g


Seleccionamos el mecanismo de almacenamiento a utilizar en la BBDD, nosotros utilizaremos el de
Sistemas de archivo que est marcado por defecto:

E igualmente lo haremos para establecer las ubicaciones de los archivos:

Establecemos los valores por defecto para las operaciones de backup y copia de seguridad:

46

Curso de Oracle 11g


Y especificaremos el uso de los esquemas de ejemplo:

Por el momento no especificaremos el uso de ninguna instruccin o comando SQL al inicio de


nuestra BBDD, pulsamos en siguiente:

La siguiente pantalla nos muestra la configuracin de los parmetros de inicializacin de nuestra


BBDD, comenzando por la memoria que se le va a dedicar:

47

Curso de Oracle 11g


El tamao del bloque de almacenamiento (unidad ms pequea) y el nmero mximo de procesos a
realizar de forma simultnea:

El juego de caracteres por defecto:

Y su modo de conexin, este depender del nmero de conexiones simultneas que deba recibir
nuestra BBDD:

48

Curso de Oracle 11g


Dejamos marcado por defecto el mantener los valores de Seguridad mejorados de Oracle 11g y
pulsamos en siguiente:

Y marcaremos la gestin automtica de las tareas de mantenimiento de nuestra BBDD:

Esta pantalla nos muestra la informacin relativa a nuestra BBDD y nos da una serie de avisos y
consejos a tener en cuenta con ella:

49

Curso de Oracle 11g


Ahora llegamos al punto para indicarle que se cree la BBDD, si bien tambin nos permite el guardar
una plantilla con os parmetros seleccionados o generar unos archivos con los comandos de creacin
de nuestra BBDD:

As comienza la creacin de forma automtica de nuestra BBDD, dividida en tres pasos tal y como
se aprecie en las siguientes figuras:

50

Curso de Oracle 11g

Finalmente nos informa de que la creacin de nuestra BBDD esta completada y nos permite
establecer las contraseas de los usuarios, tal y como vimos anteriormente:

51

Curso de Oracle 11g


Una vez terminada esta tarea, pulsaremos sobre Aceptar, volviendo a la pantalla anterior y
pulsearemos sobre Salir.
Ahora vamos a conectarnos a nuestra BBDD, a travs del men Inicio Oracle Database
Control PruebasADAMS.

Introducimos el Usuario, en nuestro caso SYS, la contrasea que dimos al inicio de la creacin de
la BBDD y el mtodo de conexin.

52

Curso de Oracle 11g


Dndonos acceso a la consola de Oracle, conectada a nuestra BBDD (PruebasADAMS), con el
siguiente aspecto:

A partir de este punto podemos comenzar a trabajar con nuestra BBDD, creando tablas, etc.

53

Curso de Oracle 11g

2.4 Gestin de una instancia Oracle


Generalidades
En este captulo no se tratar en detalle cmo crear una instancia o activar sus servicios porque se
supone conocido el mecanismo de conectarse a una base de datos o instancia ya creada. Sin
embargo, se repasarn los principales comandos que un DBA debiera reconocer para configurarla
aunque siempre utilizar alguna herramienta grfica que permita crear instancias y cree
automticamente los archivos de configuracin. En la operacin de instalacin se nos preguntar si
deseamos crear una instancia y, posteriormente, una base de datos dentro de ella.
La instancia Oracle
Una instancia de Oracle est formada por varios procesos y espacios de memoria compartida que son
necesarios para acceder a la informacin contenida en la BBDD. La instancia est conformada por
procesos del usuario, procesos que se ejecutan en el background de Oracle y los espacios de
memoria que comparten estos procesos.
El rea Global del Sistema (SGA)
El SGA es un rea de memoria compartida que se utiliza para almacenar informacin de control y de
datos de la instancia. Se crea cuando la instancia es levantada y se borra cuando sta se deja de usar.
La informacin que se almacena en esta rea reside en los siguientes elementos:

El buffer de cach (database buffer cache): Almacena los bloques de datos utilizados
recientemente. Al utilizarse este buffer se reducen las operaciones de entrada y salida y as se
mejora el rendimiento.

El buffer de redo log: Guarda los cambios efectuados en la base de datos. Estos buffers
escriben en el archivo fsico de redo log. Este ltimo archivo se utiliza para recuperar la base
de datos ante eventuales fallos del sistema.

El rea shared pool: Esta rea almacena estructuras de memoria compartida, tales como las
reas de cdigo SQL compartido e informacin interna del diccionario. Una cantidad
insuficiente de espacio asignado a esta rea podra redundar en problemas de rendimiento.

El cach de biblioteca: se utiliza para almacenar cdigo SQL compartido. Aqu se manejan
los rboles de parsing y el plan de ejecucin de las queries. Si varias aplicaciones utilizan la
misma sentencia SQL, esta rea compartida garantiza el acceso por parte de cualquiera de
ellas en cualquier instante.

El cach del diccionario de datos: est formado por un grupo de tablas y vistas. La
informacin que se almacena aqu guarda relacin con la estructura lgica y fsica de la base
de datos. El diccionario de datos contiene informacin tal como los privilegios de los
usuarios, restricciones de integridad definidas para algunas tablas, nombres y tipos de datos
de todas las columnas y otra informacin acerca del espacio asignado y utilizado por los
objetos de un esquema.

Procesos de la Instancia
Los procesos que se implementan en una instancia de Oracle y su funcin principal son los
siguientes:

DBWR (database writer): Es el responsable de la escritura en disco de toda la informacin


almacenada en los buffers de bloques que no se han actualizado.
54

Curso de Oracle 11g

LGWR (log writer): Escribe la informacin desde el buffer de log hacia el archivo redo log.

CKPT (checkpoint): Es el responsable de advertir al proceso DBWR de efectuar un proceso


de actualizacin en el disco de los datos mantenidos en memoria, incluyendo los datafiles y
control files. Este proceso es opcional, si no est presente, es el proceso LGWR quien asume
la tarea.

PMON (process monitor): Monitoriza los procesos del servidor y toma acciones correctivas
cuando alguno de ellos se interrumpe, limpiando la cach y liberando los posibles recursos
que pudieran estar asignados en ese momento. Tambin restablece el proceso interrumpido.

SMON (system monitor): Levanta una instancia cuando se le da la instruccin de partida.


Limpia los segmentos temporales, recupera las transacciones que pudieran haberse
interrumpido debido a un fallo del sistema y agrupa aquellas extensiones libres que existen
dentro de la BBDD.

ARCH (archiver): Este proceso respalda la informacin almacenada en los archivos redolog
cuando se llenan. Est siempre activo cuando se ha establecido el modo ARCHIVELOG.

Arranque de la Instancia
En esta primera fase se van a iniciar los procesos background para la instancia en cuestin, adems
se establecer las estructuras de memorias correspondientes en la SGA del servidor, leyendo el
archivo INIT.ora para tener en cuenta los parmetros en el ubicados. El comando es Startup
nomount.
Cada instancia Oracle tiene su grupo de dos o ms archivos REDO LOG, en los cuales se van a ir
almacenando los cambios que se han producido en la informacin de la instancia a la que
representan. A la hora de arrancar una instancia se suceden tres fases:
1. Arranque de la Instancia
2. Montaje de la Base de Datos
3. Apertura de la Base de Datos
El rea Global de Programas (PGA)
Esta rea de memoria contiene datos e informacin de control para los procesos que se ejecutan en el
servidor de Oracle. El tamao y contenido de PGA depende de las opciones del servidor instaladas.
Las Transacciones
El trmino transaccin describe a una unidad lgica de trabajo que est compuesta de una o ms
sentencias SQL, que deben terminar con una instruccin commit o rollback. En ese instante, una
nueva transaccin dar comienzo y estar activa hasta que se ejecute alguno de esos dos comandos
otra vez.
Nota: Una transaccin no se considera confirmada hasta que sta se termina de escribir en el archivo
de redo log.

55

Curso de Oracle 11g

2.5 Configuracin de un entorno de red Oracle


ORACLE NET MANAGER
Oracle NET Manager es el Gestor de Red de Oracle combina funciones de configuracin con control
de componentes para proporcionar un entorno integrado para la configuracin y gestin de Red de
Oracle.
Usuarios del Gestor de Red de Oracle
Pueden utilizarlo los administradores de redes responsables de establecer conexiones del cliente a
servicios. Este Gestor de Red permite centrarse en la configuracin de reas especficas de la red.
stos son algunos de los puntos ms interesantes para comenzar:

Visin General de la Red de Oracle

Visin General de la Conectividad de Red de Oracle

Visin General de la Configuracin de Red de Oracle

Funciones Clave del Gestor de Red de Oracle

Visin General del Entorno del Gestor de Red de Oracle


Los Servicios de Red de Oracle proporcionan soluciones de conectividad para toda la empresa en
entornos informticos distribuidos. Facilita la configuracin y gestin de la red, maximiza el
rendimiento y mejora el diagnstico de la red.

56

Curso de Oracle 11g


Este componente, permite una sesin de red desde la aplicacin cliente a un servidor de base de
datos Oracle. Una vez establecida una sesin de red, la Red de Oracle acta como intermediario para
la aplicacin cliente y el servidor de la base de datos.
Las sesiones de red se establecen con la ayuda de un listener. ste es un proceso distinto que reside
en el servidor de la base de datos. El listener recibe las solicitudes de conexin cliente y gestiona el
envo de las mismas al servidor. Cada vez que un cliente solicita una sesin de red con un servidor,
el listener recibe la solicitud real, si la informacin del cliente coincide con la informacin del
listener, ste establece la conexin con servidor

Visin General de la Conectividad de Red de Oracle


La Red de Oracle permite conexiones a distintos servicios, como bases de datos Oracle u otras bases
de datos, gateways y procedimientos externos. Los usuarios inician una solicitud de conexin
mediante el envo de un nombre de usuario y una contrasea junto con un identificador del servicio
al que se desean conectar. Dicho identificador, identifica:

El servicio de destino.

La ruta de acceso o ruta de red, en la red para obtener dicho servicio.

Los identificadores de conexin se especifican de varias formas. Una de las ms comunes es


mediante el uso del nombre de un servicio de red, otro nombre para el servicio, que se corresponde
con un descriptor de conexin. Estos descriptores contienen informacin de rutas de red y servicios
de destino.
El servicio deseado se indica mediante el nombre de servicio de las BBDD o el identificador del
sistema Oracle (SID). La ruta de red proporciona la ubicacin del listener mediante una direccin de
red.

57

Curso de Oracle 11g


Ahora, se muestra un servicio de red denominado sales asignado a un descriptor de conexin:
sales= (DESCRIPTION= (ADDRESS=(PROTOCOL=tcp)(HOST=salesserver1)(PORT=7521)) (CONNECT_DATA=(SERVICE_NAME=sales.es.rtc.com))
El identificador de conexin y el descriptor de conexin correspondiente estn almacenados en al
menos un mtodo de nomenclatura. Durante la conexin, el cliente resuelve el identificador de
conexin (sales en el ejemplo anterior) en un descriptor de conexin mediante un mtodo de
nomenclatura.
A continuacin, el cliente entra en contacto con el listener especificado en el descriptor de conexin,
el listener, mediante un protocolo, acepta la conexin del cliente y compara la informacin del
cliente con la recibida del servicio de BBDD mediante el registro del servicio y la informacin que
ha almacenado en su propio archivo de configuracin, listener.ora, si coincide la informacin, se
establece la conexin.
Visin General de la Configuracin de Red de Oracle
El Gestor de Red permite configurar numerosos elementos de la red, entre ellos, los mtodos de
nomenclatura, los perfiles del cliente y el servidor y los listeners.
Mtodos de Nomenclatura
Define nombres sencillos para identificar la ubicacin de un servicio. Estos nombres, denominados
identificadores de conexin, se asignan a descriptores de conexin, que contienen la situacin de la
red y la identificacin. Con el Gestor de Red, puede configurar distintas formas en que los
identificadores de conexin se resuelven en descriptores de conexin a travs de los mtodos de
nomenclatura.
Perfiles del Cliente y el Servidor
Configure preferencias para activar y configurar las funciones de la Red de Oracle en clientes y el
servidor mediante perfiles. Con estos, puede definir preferencias que establezcan la prioridad de los
mtodos de nomenclatura, activar las funciones de Oracle Advanced Security, activar el registro y el
rastreo o dirigir las conexiones.
Configuracin del Listener en el Servidor
Configure el listener para recibir las conexiones del cliente. El listener se debe configurar con una o
ms direcciones de protocolo.

58

Curso de Oracle 11g

Informacin de servicio sobre el servicio de destino


Las direcciones de protocolo se configuran en el archivo de configuracin del listener, listener.ora.
La informacin de servicio puede estar configurada o no en el archivo listener.ora: La base de datos
registra automticamente informacin concreta con el listener, como los nombres de servicio, los
nombres de instancia, los manejadores y la informacin de carga. Esta funcin, denominada registro
del servicio, no necesita configuracin en el archivo listener.ora.
El Gestor de Red
Este Gestor le ayudar a configurar y gestionar no solo su entorno de redes Oracle, sino tambin las
funciones y componentes siguientes:

Nomenclatura de Servicios: Puede crear o modificar descripciones de red para servicios de


base de datos en un archivo tnsnames.ora, servidor de directorios o un Oracle Names Server.
Las descripciones de red o descriptores de conexin, se asignan a identificadores de conexin
que los clientes utilizan en las cadenas de conexin durante la conexin a una BBDD.

Listener: Puede crear o modificar un listener, que es un proceso del servidor que recibe y
responde a las solicitudes de conexin cliente a un servicio de bases de datos.

Perfil: Puede crear o modificar un perfil, que es una coleccin de parmetros que determinan
el modo en que el cliente se conecta a la red Oracle. Puede configurar parmetros del cliente
para mtodos de nomenclatura, registro, rastreo, nomenclatura externa y Oracle Advanced
Security.

Estructura de rbol y Carpetas Jerrquicas


El Gestor muestra una vista grfica en forma de rbol de los objetos de red y de los objetos que
contienen, organizados en jerarquas de carpetas. Puede utilizar el panel del navegador para
visualizar, modificar, agregar y suprimir objetos en cada carpeta. Al seleccionar un objeto, aparece
informacin sobre el mismo en el panel de la derecha del Gestor de Red de Oracle.
Directorio
Muestra nombres sencillos, llamados identificadores de conexin, configurados en un servidor de
directorios.
59

Curso de Oracle 11g


Local
Muestra elementos de red configurados en archivos de configuracin local: Nombres de servicio de
red del archivo tnsnames.ora Listeners del archivo listener.ora Perfiles del archivo sqlnet.ora Oracle
Names Servers Muestra Oracle Names Servers

Barra de Herramientas
La barra de herramientas, situada a la izquierda del Gestor de Red de Oracle, contiene iconos que
corresponden a los objetos de red de las jerarquas de carpetas. Los botones de la barra de
herramientas se activan segn los objetos que aparezcan o se seleccionen en un panel. La barra
contiene los siguientes iconos:

Icono +: Crea nuevos nombres de servicio de red, listeners y un Oracle Names Server para
esta computadora.

Icono X: Esta opcin suprime los objetos de nomenclatura de servicios y de listeners.

Icono
: Seleccione esta opcin para verificar la conectividad del objeto de nomenclatura
de servicios seleccionado a un servicio de base de datos.

Icono ?: Muestra la ayuda en pantalla.

Nota: Algunos comandos slo estn disponibles si selecciona el tipo de objeto adecuado.

60

Curso de Oracle 11g

Men Archivo
El men Archivo permite:

Abrir Configuracin de Red: Abre archivos de configuracin local.

Guardar Configuracin de Red: Guarda la configuracin actual en la ubicacin por


defecto.

Guardar como: Guarda la configuracin actual en una ubicacin que no es la de por defecto.

Volver a la Configuracin Guardada: Recupera la ltima configuracin guardada.

Salir: Cierra el Gestor de Red de Oracle

Men Editar
El men Editar permite: Agregar, eliminar o cambiar de nombre un nombre de servicio de red, un
listener o un Oracle Names Server de las carpetas abiertas.

Crear: Seleccione esta opcin para crear un objeto de red.

Suprimir: Seleccione esta opcin para suprimir un objeto de red.

Cambiar Nombre: Seleccione esta opcin para cambiar el nombre de un objeto de red.

Men Comando
El men Comando permite realizar las siguientes operaciones:

Directorio: Contiene comandos que realizan acciones en un servidor de directorios.

Oracle Context Es un rbol secundario del directorio que almacena las entradas de Oracle,
incluidos servicios de BBDD y nombres de servicios para su uso con la nomenclatura de
directorios. Al seleccionar uno nuevo, aparecen los objetos de la carpeta Configuracin de
Red de Oracle > Directorio > Nomenclatura de Servicios del navegador para el nuevo Oracle
Context.

Definir Autenticacin: Define credenciales de autenticacin para el servidor de directorios.

Exportar Nombres de Servicio de Red: Permite iniciar el Asistente de Migracin del


Servidor de Directorios. Este asistente exporta los nombres de servicio de red almacenados
en un archivo tnsnames.ora a un servidor de directorios. Nota: El men Directorio slo
aparece si se ha configurado el acceso al directorio.

61

Curso de Oracle 11g

Servicio de Prueba: Permite conectarse a un servicio de base de datos mediante la


informacin del descriptor de conexin almacenada en el archivo tnsnames.ora o en un
servidor de directorios.

Visin General de la Nomenclatura de Directorios


La nomenclatura de directorios es uno de los principales mtodos de nomenclatura utilizado para
resolver un identificador de conexin en un descriptor de conexin que el cliente utiliza para
conectarse a una BBDD.
La nomenclatura de directorios almacena los identificadores de conexin y sus descriptores de
conexin en un servidor de directorios compatible con LDAP. Los identificadores de conexin se
almacenan en un rbol secundario de Oracle Context que contiene entradas que se pueden utilizar
con el software Oracle.
Los usuarios finales introducen una cadena de conexin que incluye un identificador de conexin:
CONNECT usuario/contrasea@identificador_conexin
En el siguiente ejemplo, sales es el identificador de conexin que se consulta en el directorio:
CONNECT eba/rtc@sales
El descriptor de conexin vuelve al cliente e incluye: La ubicacin de la direccin de protocolo del
listener.
El nombre de servicio de la base de datos
El cliente utiliza la informacin de direccin de protocolo para conectarse al listener y ste,
configurado con la misma informacin de direccin, recibe la solicitud. Si el listener recibe
solicitudes del mismo servicio de BBDD especificado en el descriptor de conexin, se establece la
conexin. Para que se produzca la nomenclatura de directorios, configure un servidor de directorios
para las funciones de Servicios de Red de Oracle y configure el acceso de los clientes al directorio.
Entradas de Red de Oracle en un Directorio
Las entradas de un directorio se organizan en una estructura jerrquica en forma de rbol basada en
el nombre diferenciado (DN). Este rbol de entradas de directorio se denomina rbol de informacin
de directorios (DIT). Cada entrada contiene los atributos que la describen y estas en un DIT pueden
ser:

Un servicio de base de datos creado durante la creacin de la base de datos

Un nombre de servicio de red

Alias de servicio de red

Todas las entradas de Red de Oracle aparecen en un rbol secundario del Oracle Context que
almacena las entradas de Oracle. Este rbol secundario se crea en una ubicacin especificada por el
usuario en el DIT durante la instalacin personalizada en el servidor. Los clientes se configuran con
el uso del directorio y un Oracle Context por defecto del que se van a consultar las entradas. Cada
entrada contiene uno o ms atributos que la describen y cada atributo tiene un tipo y un valor.

62

Curso de Oracle 11g


Visin General de la Configuracin de la Nomenclatura de Directorios
Configuracin del Servidor durante la Instalacin
Durante una instalacin personalizada del servidor, el Asistente de Configuracin de Red solicita
que:

Seleccione el tipo de servidor de directorios

Identifique la ubicacin del directorio

Seleccione o cree un Oracle Context desde el que el servidor puede consultar, crear y
modificar los identificadores de conexin.

Configure la nomenclatura de directorios como mtodo de nomenclatura preferido que se va


a utilizar. Si est bien configurado, el Asistente intenta conectar con el directorio y registrar
una entrada de servicio de BBDD. La entrada de servicio de BBDD se configura con un
descriptor de conexin, que contiene informacin sobre:
Direccin del listener
Nombre del servicio de base de datos
Configuracin del Cliente durante la Instalacin

Durante todas las instalaciones de clientes, el Asistente solicita que configure los siguientes valores:

Especifique el tipo de directorio Identifique la ubicacin del directorio

Seleccione un Oracle Context por defecto desde el que el cliente puede consultar los
identificadores de conexin.

Configuracin con el Asistente de Configuracin de Red de Oracle despus de la Instalacin


El Asistente de Configuracin de Red de Oracle se puede ejecutar en modo autnomo para:

Configurar el cliente o el servidor.

Crear el esquema de Oracle.

Crear un Oracle Context.

Configuracin con el Gestor de Red de Oracle


El Gestor de Red de Oracle permite:

Modificacin de Oracle Context

Cambiar las credenciales de autenticacin.

Crear nombres del servicio de red

Crear alias del servicio de red

Configurar varias rutas a un listener mediante diferentes direcciones de protocolo.

Configuracin avanzada de CONNECT_DATA para un nombre de servicio de BBDD o de


red.

Migrar entradas desde un archivo tnsnames.ora a un servidor de directorios.

63

Curso de Oracle 11g


Para acceder a la configuracin de nomenclatura de directorios, desde el panel del navegador,
seleccione Nomenclatura de Servicio de Directorios.
Requisitos de Nomenclatura de Directorios para el Gestor de Red de Oracle
El Gestor de Red de Oracle permite crear informacin de la ruta de red para un servicio de BBDD,
as como nombres de servicio de red, en un servidor de directorios. Para que se escriba en un
directorio:

El directorio debe estar configurado con un esquema de Oracle.

La computadora en la que se ejecuta el Gestor de Red de Oracle debe estar configurada con
un Oracle Context por defecto para acceder y escribir en las entradas.

Estas configuraciones se realizan con el Asistente de Configuracin de Red de Oracle. Oracle Net
Manager no dispone de esta funcin.
Si no se configura el acceso a directorios, la carpeta Configuracin de Red de Oracle > Directorio
del panel del navegador y el men Comando > Directorio, no estarn disponibles.

64

Curso de Oracle 11g

2.6 Gestin de estructuras de almacenamiento Oracle


Oracle Database 11g Release1, es una herramienta comnmente conocida por su capacidad para
ofrecer seguridad en la informacin y un gran sistema de almacenaje, capaz de soportar grandes
cantidades de datos.
Oracle incluye en su paquete de Base de Datos 11g una herramienta llamada Oracle Warehouse
Builder (OWB) especializada en la creacin de Almacenes de Datos y su posterior manejo de
informacin de manera eficiente. Y rambien se ha incorporado informacin sobre un nuevo paquete
capaz de tratar directamente con documentos XML a travs de un tipo de dato llamado XML
Type. Gracias a esto, se da la posibilidad de extraer el contenido de los documentos XML fuente y
crear unas tablas relacionales donde almacenar su informacin de manera automtica.
Por tanto, cabe destacar Oracle Warehouse Builder y Oracle XML DB, que veremos a continuacin.

2.6.1 Oracle Warehouse Builder


Se trata de un entorno bastante intuitivo e idneo para comprender cules son los pasos necesarios a
realizar en la construccin de un Almacn de Datos y para entender cul es su funcionamiento una
vez creado. En cuanto a su modelo de persistencia, OWB crea un repositorio de metadatos en la
BBDD, donde el usuario elige durante el perodo de instalacin. En este repositorio, OWB crea
tablas, procedimientos, vistas, triggers, etc. para que la herramienta pueda funcionar correctamente.
Una vez creada la estructura del Almacenes de Datos, cuando llega la hora de desplegar cada una de
sus partes, se generan objetos de Oracle, principalmente procedimientos almacenados, que sern los
elementos a los que se llame en realidad cuando se ejecuta un proceso.
El control de todo el proceso reside en los objetos de la BBDD, pero la informacin que se ofrece en
el entorno visual corresponde a los metadatos. Esta informacin, adems de ser accesible mediante el
entorno visual, tambin se puede extraer directamente de los objetos del repositorio, pero estos
objetos estn pensados bsicamente para servir a la herramienta, no para que se les consulte
directamente. Adems, buscar informacin directamente en el repositorio es muy complicado.
1) Explorador de Proyectos
Muestra la estructura del rbol de objetos que contiene cada uno de los proyectos creados. Dentro de
este rbol de objetos, cabe destacar algunos:

Tablas externas, encargadas de extraer los metadatos de los ficheros fuente y almacenarlos
en una estructura. Tendremos una por cada fichero.

Tablas (relacionales), generadas automticamente tras la creacin de un objeto. Se encargan


de almacenar en tablas reales de Base de Datos toda la informacin.

Dimensiones, contine las Dimensiones del proyecto, que almacena la informacin de cada
Hecho.

Cubo, contiene el/los Cubos creados y almacenan los Hechos del Almacn de Datos.

Correspondencias, son las encargadas de definir el proceso a seguir a la hora de ejecutar el


proceso ETL. Indicar las tablas de donde se extrae la informacin las Dimensiones y el
Cubo, etc.

65

Curso de Oracle 11g


2) Explorador de Localizaciones
Muestra la estructura del rbol de objetos que contiene cada una de las localizaciones que hemos
creado para dar soporte a los mdulos de cada proyecto. Las localizaciones actan como almacenes
para los metadatos generados en diferentes partes de un proyecto. La creacin de estos almacenes es
necesaria a la hora de crear un flujo de trabajo, un esquema de usuario nuevo o un nuevo proyecto
entre otros.
3) Explorador Global
Muestra la estructura del rbol de objetos global del sistema, pero para el propsito de este proyecto,
nicamente se conocera el funcionamiento de esquemas de usuarios y sus roles en el nodo
Seguridad.
A la hora de crear un usuario, o ms bien aadir un esquema de usuario al proyecto, se puede
realizar de dos maneras, seleccionando un usuario de los disponibles en la lista o creando un nuevo
usuario, debiendo en tal caso tener privilegios de Administrador de Base de Datos.
Una vez que hemos creado la estructura del Almacn de Datos, debemos realizar el despliegue de los
objetos para crear sus correspondientes instancias, necesarias para la futura ejecucin.

2.6.2 Oracle XML DB


Oracle XML DB permite almacenar los datos XML en una columna de una tabla a travs del tipo
XMLType, crear tablas en funcin de la estructura del documento o guardar el propio documento en
forma binaria en una columna de tipo CLOB. Los aspectos a destacar de Oracle XML DB son:

XML Type
Para proporcionar flexibilidad y versatilidad, Oracle XML DB est construido sobre la
abstraccin XML Type para almacenar, consultar, acceder, transformar y manipular datos
XML.

Repositorio de Oracle XML DB


El repositorio de Oracle XML DB es un componente de la BBDD de Oracle que ha sido
optimizado para manejar datos XML. Este repositorio contiene ciertos recursos, que pueden
ser tanto carpetas (directorios o contenedores) como ficheros

Registrar XML Schema en Oracle XML DB


Los documentos creados externamente pueden ser introducidos en la base de datos de dos
formas diferentes: bien mediante transferencia FTP al repositorio de Oracle o bien a travs
de la creacin de una instancia de XML con una sentencia SQL. En ambos casos el
documento XML debe llevar en la cabecera (en el atributo del espacio de nombres xmlns) la
ruta del XML Schema contra el que se valida.
El primer paso para la integracin del contenido XML en la base de datos consiste en
registrar un XML Schema que defina la estructura de los documentos XML que se quieren
almacenar. Cuando se registra un XML Schema, se generan automticamente los tipos (que
heredan de XMLType) y las tablas necesarias.
El proceso de registrar un XML Schema en la Base de Datos se realizar a travs de la
siguiente sentencia PL/SQL:

66

Curso de Oracle 11g


Begin
dbms_xmlschema.registerSchema('/home/OE/xsd/Fichero_Info.xsd',
xdbURIType('/home/OE/xsd/Fichero_Info.xsd'), TRUE, TRUE, FALSE, TRUE);
end;
El procedimiento registerSchema pertenece al paquete dbms_xmlschema, utilizado para el
manejo de XML Schemas. Los parmetros que admite son: la URL que identificar
unvocamente el XML Schema a registrar, el contenido del XML Schema en s y una serie de
variables booleanas con diferentes opciones sobre la generacin de objetos y de tablas.
Para indicarle al SGBD que tiene que obtener el contenido del XML Schema de una
direccin concreta se utiliza una URI con la sentencia xdbURIType.
Si queremos borrar el esquema previamente registrado (as como las estructuras de tipos y
tablas creadas internamente) deberemos utilizar una sentencia similar a la siguiente:
Begin
dbms_xmlschema.deleteSchema('/home/OE/xsd/Fichero_Info.xsd',
dbms_xmlschema.DELETE_CASCADE_FORCE);
end;
Ahora vemaos un diagrama base de la Arquitectura de almacenamiento fsico de documentos
XML en Almacn de Datos

Gestin de documentos XML con XML DB


Tras el registro de un XML Schema en XML DB de Oracle, el sistema est preparado para
almacenar y gestionar documentos XML definidos bajo el XML Schema registrado. A
continuacin, se detallarn las operaciones bsicas en la gestin de informacin (insercin,
modificacin, consulta y borrado) desde la perspectiva del repositorio como sistema de
ficheros y mediante el uso de sentencias SQL.

Aadir un documento
Como ya se ha comentado, es posible aadir un nuevo documento XML al repositorio
solamente copindolo fsicamente al directorio XML creado (va FTP, por ejemplo). Dado
67

Curso de Oracle 11g


que el documento XML tiene una referencia en su cabecera al esquema que sigue, el gestor
de XML DB reconoce automticamente que ese fichero es una instancia del XML Schema
registrado, descomponiendo su contenido en las correspondientes tablas objeto-relacionales.
Tambin es posible insertar informacin en las tablas creadas durante el registro del esquema
con una tradicional sentencia INSERT de SQL. Si adems se pretende obtener un documento
XML fsico almacenado en el repositorio, se puede hacer mediante un procedimiento
PL/SQL que trabaje con la instruccin dbms_xdb.createResource.

Editar y/o actualizar un documento XML


Una vez que se ha aadido un documento XML, es posible manipular esta informacin.
Existen dos mtodos posibles:
El primero emplea el protocolo FTP para llegar al fichero en cuestin y a
continuacin, editarlo con una herramienta que admita el procesamiento del lenguaje
XML.
Por otro lado, tambin es posible la modificacin de los documentos XML mediante
la utilizacin de la sentencia SQL update sobre las filas de las tablas que guardan la
informacin de dichos documentos. En el siguiente ejemplo se puede observar una
actualizacin en la que se modifica el precio de los productos (de 9.95 a 10).
UPDATE tabla_ventas t
SET value(t) = UPDATEXML (value(t),
'/starpackage/dimensions/producto/precio()', 10')
WHERE EXTRACTVALUE(value(t),
/starpackage/dimensions/producto/precio) = '9.95';

Borrado de documentos XML


Al igual que en las anteriores operaciones, la operacin de borrado puede llevarse a cabo
sobre una instancia XML completa o desde sentencias SQL.
En el primero de los casos de borrado de un documento se puede realizar mismamente desde
el Explorador de Windows. Es asimismo posible mediante un procedimiento PL/SQL que
trabaje con la instruccin dbms_xdb.deleteResource.
Mediante sentencias SQL bastara con lanzar una sentencia delete sobre la fila de la tabla
deseada borrando de este modo el documento XML. En el siguiente ejemplo se eliminan los
dependientes cuya edad es 18.
DELETE FROM tabla_ventas t
WHERE EXTRACTVALUE (value(t), '/starpackage/dimensions/dependiente/edad')='18';

68

Curso de Oracle 11g

2.7 Administracin de seguridad de Usuario


En este captulo se conocer cmo se definen y modifican los usuarios, perfiles y roles de una
BBDD.
Es una tarea bastante comn de cualquier DBA, ya que constantemente se estn incorporando
nuevos usuarios al sistema o modificando las opciones de stos. Repasaremos todas las opciones que
permiten manejar estas caractersticas y se aprender a simplificar la carga mediante la
administracin de perfiles y roles, que son conceptos que controlan diferentes tipos de recursos.

Rol: Un rol es utilizado para asignar privilegios a los usuarios y permitirles acceder a
diferentes objetos y operaciones.

Perfil: Un perfil indica la cantidad de recursos del sistema que se permite consumir a un
usuario o grupo de ellos.

Un usuario puede ser incluido en ambas entidades al mismo tiempo.


Creacin de Usuarios
Cuando se da de alta a un usuario basta, con indicar el nombre y el password de la cuenta (esquema)
que se est creando. Enseguida se asigna un espacio fsico al nuevo esquema dentro de la base de
datos con los parmetros por defecto.
Para crear un usuario especificando las opciones adecuadas sin considerar los valores por defecto, se
debera respetar la siguiente sintaxis:
CREATE USER nombre_usuario
IDENTIFIED BY password
[DEFAULT TABLESPACE nombre_tablespace]
[TEMPORARY TABLESPACE nombre_tablespace]
[QUOTA [nmero, K o M o UNLIMITED] ON nombre_tablespace1 ]
[, QUOTA [nmero, K o M o UNLIMITED] ON nombre_tablespace2]
[PROFILE nombre_perfil]
[PASSWORD EXPIRE]
[ACCOUNT LOCK o ACCOUNT UNLOCK]
Donde los parmetros corresponden a lo siguiente:

Username: Nombre del usuario que se est creando.

Password: Clave de inicio que se le otorga al usuario y que luego podr reemplazarla.

Default Tablespace: Es el tablespace por defecto al que se conectar el usuario cada vez que
acceda a la base de datos y donde guardar todos sus objetos. Por defectotablespace
system.

Temporary Tablespace: Es el temporal que utilizar el usuario en todas sus conexiones.

Quota: Cuota de disco (espacio) que se le asigna al usuario en cada uno de los tablespaces a
los que puede acceder. Con UNLIMITED podr utilizar todo el espacio que quiera.

Profile: Es el nombre del perfil que ha sido asignado a este usuario.

Password expire: Password del usuario que expirar en forma automtica y que deber
cambiarlo al iniciar su prxima sesin.

69

Curso de Oracle 11g

Account lock (o unlock): Permite establecer si la cuenta debe permanecer bloqueada o no


inmediatamente despus de crearla.

Modificacin de Usuarios
La forma de modificar usuarios a travs de comandos es utilizando la opcin Alter User, cuya
sintaxis completa es muy similar a la de creacin de usuarios. Pueden modificarse con esta
instruccin:
ALTER USER nombre_usuario
IDENTIFIED BY password
[DEFAULT TABLESPACE nombre_tablespace]
[TEMPORARY TABLESPACE nombre_tablespace]
[QUOTA [nmero, K o M o UNLIMITED] ON nombre_tablespace1 ]
[, QUOTA [nmero, K o M o UNLIMITED] ON nombre_tablespace2]
[PROFILE nombre_perfil]
[PASSWORD EXPIRE]
[ACCOUNT LOCK o ACCOUNT UNLOCK]
Eliminacin de Usuarios
Para eliminar un usuario se ejecuta la siguiente instruccin:
DROP USER nombre_usuario [CASCADE]
Y la opcin Cascade se hace obligatoria cuando el usuario posee objetos en su esquema (tablas,
vistas, etc.) y debemos borrarlos junto con l. Sin esta opcin no podramos eliminar un usuario con
objetos.
Creacin de Perfiles
Los perfiles se crean para limitar las posibilidades de los usuarios del sistema de base de datos. Por
ejemplo, podriamos establecer 3 tipos de usuarios:

Administradores: Otorgarles acceso ilimitado a recursos dentro del sistema.

Desarrolladores: Diponene de un nmero ilimitado de sesiones pero limitar el uso de CPU.

Otros.

En sntesis, los perfiles se utilizan para suavizar tareas de administracin de seguridad,


manteniendo bajo control el acceso a los recursos de todos los usuarios, por muchos que stos
puedan llegar ser.
Los perfiles se crean y modifican con los comandos CREATE PROFILE y ALTER PROFILE. La
sintaxis de estos comandos no necesitan ser repetidas aqu; slo vale la pena destacar que algunas de
las clusulas hacen referencia a cunto ciclo de CPU se le asigna al usuario, sesiones concurrentes,
etc.
Creacin de Roles
Los Roles constituyen la forma ms segura y rpida de asignar recursos a los grupos de usuarios. Es
una tarea muy tediosa para cualquier DBA tener que asignar o revocar permisos a todos los usuarios,
de a uno por uno, y es por eso que agrupando un conjunto de usuarios bajo las mismas caractersticas
es posible manejar sus permisos como un grupo.

70

Curso de Oracle 11g


Para crear roles se utiliza la siguiente sintaxis:
CREATE ROLE nombre_rol NOT IDENTIFIED o IDENTIFIED BY password
Y para asignar el rol a un usuario o para comenzar a asignar / quitar ciertos privilegios al rol se debe
utilizar los comandos siguientes:

Grant: Otorga privilegios a un rol (o a un usuario) o tambin asigna un rol a un usuario.

Revoke: Elimina privilegios otorgados previamente a un rol (o a un usuario).

Los roles o privilegios se pueden asignar varios al mismo usuario o grupo en una sola lnea de
comandos, siguiendo la sintaxis siguiente:
GRANT nombre_rol o nombre_privilegio [, nombre_rol o nombre_privilegio ]
TO nombre_usuario o nombre_rol o PUBLIC [, nombre_usuario o nombre_rol]
[WITH ADMIN OPTION]
Si los privilegios se otorgan con la clusula with admin option esto quiere decir que los usuarios
que reciben los privilegios pueden a su vez otorgarlos a otros.
Ejemplo:
1. Creacin del rol ROLE_DML:
CREATE ROLE role_dml NOT IDENTIFIED;
2. Asignar el privilegio de Select al rol recin creado:
GRANT select TO role_dml;
3. Asignar el rol a los usuarios JPEREZ y LGONZALEZ:
GRANT role_dml TO jperez, lgonzalez;
Esto hace que los usuarios anteriores posean el privilegio de SELECT. Cada uno de los usuarios que
se incorporen a este rol, tendr el mismo privilegio recin mencionado.

71

Curso de Oracle 11g

2.8 Gestin de Objetos del esquema


Un esquema es una coleccin de objetos lgicos, utilizados para organizar de manera ms
comprensible la informacin, conocidos como objetos del esquema. Una descripcin sus objetos es
la siguiente:

Tabla: Es la unidad lgica bsica de almacenamiento. Contiene filas y columnas y se


identifica por un nombre. Las columnas tienen nombre y deben especificar un tipo de datos.
Una tabla se guarda dentro de un tablespace (o varios, en el caso de las tablas particionadas).

Cluster: Un cluster es un grupo de tablas almacenadas en conjunto fsicamente como una


sola tabla y que comparten una columna en comn. Si a menudo se necesita recuperar datos
de dos o ms tablas basado en un valor de la columna que tienen en comn, es ms eficiente
organizarlas en cluster, ya que la informacin podr ser recuperada con menos operaciones
de lectura.

Indice: Un ndice es una estructura creada para ayudar a recuperar datos de una manera ms
rpida y eficiente. Un ndice se crea sobre una o varias columnas de una misma tabla. De esta
manera, cuando se solicita recuperar datos de ella mediante alguna condicin (clusula
where), sta se puede acelerar si se dispone de algn ndice.

Vista: Una vista implementa una seleccin de varias columnas de una o diferentes tablas.
Una vista no almacena datos; slo los presenta en forma dinmica. Simplificando la visin
del usuario sobre un conjunto de tablas, haciendo ms transparente la obtencin de datos.

Procedimiento Almacenado: Son programas que permiten independizar el manejo de datos


desde una aplicacin y efectuarla directamente desde el motor de base de datos,
disminuyendo as el trfico de informacin y mejorando el rendimiento de los procesos
implementados.

Trigger: Un trigger es un procedimiento que se ejecuta en forma inmediata cuando ocurre un


evento especial. Estos eventos slo pueden ser la insercin, actualizacin o eliminacin de
datos.

Secuencias: El generador de secuencias de Oracle se utiliza para generar nmeros nicos y


utilizarlos, por ejemplo, como claves de tablas.

Vamos a ver en tres sencillos pasos cmo crear un nuevo esquema-usuario de Oracle. Para poder
realizar estos pasos es necesario iniciar la sesin en la base de datos con un usuario con permisos de
administracin, lo ms sencillo es utilizar directamente el usuario SYSTEM. Pero antes
explicaremos un brevemente, que son los espacios de tablas o Tablespace, ya que lo usaremos para
este comentido.
Este ordenador tendr la instancia de la BBDD que va a ser utilizada por los clientes. Para un
funcionamiento ptimo, tendr un disco donde se recogen los espacios de tablas (tablespace) por
defecto, los de auditora y un espacio de tabla que contendr el esquema utilizado por los clientes.
El siguiente esquema muestra los Tablespace requeridos por la instancia de la BBDD del servidor:

72

Curso de Oracle 11g

El espacio de tablas SYSTEM es creado automticamente en la instalacin, y es usado para


gestionar la base de datos, ya que tiene el diccionario de datos. Tambin contiene las tablas y vistas
que utiliza el administrador de la base de datos dentro del esquema SYS.
El espacio de tablas SYSAUX est creado como soporte auxiliar al espacio de tablas SYSTEM, y as
reducir la carga de ste.
El espacio de tablas UNDO contiene informacin de tipo deshacer para poder utilizar el comando
rollback.
El espacio de tablas USERS contiene las tablas y los datos permanentes de los usuarios, por defecto.
Sin embargo, para tener ms seguro el esquema que va a ser utilizado por los usuarios, se crear otro
espacio de tablas llamado ESQUEMA para simbolizar y tener ms controlado el esquema que es
usado por los usuarios.
Creacin de un tablespace para datos y otro para ndices.
Estos tablespaces son la ubicacin donde se almacenarn los objetos del esquema que crearemos. El
tablespace para datos, con tamao inicial de 1024 Mb, y auto extensible:
CREATE TABLESPACE "APPDAT" LOGGING
DATAFILE '/export/home/oracle/oradata/datafiles/APPDAT.dbf' SIZE 1024M
EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO
Tablespace para ndices, con tamao inicial de 512 Mb, y auto extensible
CREATE TABLESPACE "APPIDX" LOGGING
DATAFILE '/export/home/oracle/oradata/datafiles/APPIDX.dbf' SIZE 512M
EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO
Creacin del usuario que va a trabajar sobre estos tablespaces, y que ser el propietario de los
objetos que se se creen en ellos:
CREATE USER "APP" PROFILE "DEFAULT" IDENTIFIED BY "APPPWD"
DEFAULT TABLESPACE "APPDAT" TEMPORARY TABLESPACE "TEMP" ACCOUNT
UNLOCK;
Si no se especifica un tablespace, la BBDD le asignar el tablespace USERS, que es el tablespace
que se utiliza por defecto para nuevos usuarios.
Slo falta asignarle los permisos necesarios. Si se le asignan los roles 'Connect' y 'Resource' ya tiene
los permisos mnimos, podr conectarse y poder realizar las operaciones ms habituales de consulta,
modificacin y creacin de objetos en su propio esquema:
73

Curso de Oracle 11g


GRANT "CONNECT" TO "APP";
GRANT "RESOURCE" TO "APP";
Completamos la asignacin de permisos con privilegios especficos sobre objetos para asegurarnos
de que el usuario pueda realizar todas las operaciones que creamos necesarias:
GRANT ALTER ANY INDEX TO "APP";
GRANT ALTER ANY SEQUENCE TO "APP";
GRANT ALTER ANY TABLE TO "APP";
GRANT ALTER ANY TRIGGER TO "APP";
GRANT CREATE ANY INDEX TO "APP";
GRANT CREATE ANY SEQUENCE TO "APP";
GRANT CREATE ANY SYNONYM TO "APP";
GRANT CREATE ANY TABLE TO "APP";
GRANT CREATE ANY TRIGGER TO "APP";
GRANT CREATE ANY VIEW TO "APP";
GRANT CREATE PROCEDURE TO "APP";
GRANT CREATE PUBLIC SYNONYM TO "APP";
GRANT CREATE TRIGGER TO "APP";
GRANT CREATE VIEW TO "APP";
GRANT DELETE ANY TABLE TO "APP";
GRANT DROP ANY INDEX TO "APP";
GRANT DROP ANY SEQUENCE TO "APP";
GRANT DROP ANY TABLE TO "APP";
GRANT DROP ANY TRIGGER TO "APP";
GRANT DROP ANY VIEW TO "APP";
GRANT INSERT ANY TABLE TO "APP";
GRANT QUERY REWRITE TO "APP";
GRANT SELECT ANY TABLE TO "APP";
GRANT UNLIMITED TABLESPACE TO "APP";
Ahora en la imagen siguiente se ve el ejemplo de un esquema XML completo.

74

Curso de Oracle 11g

2.9 Gestin de datos y concurrencia


Oracle est concebido con el fin de manejar grandes cantidades de informacin, adems de admitir
conexiones concurrentes de multitud de usuarios hacia los mismos datos. La eleccin del entorno de
trabajo (hardware, S.O. y tipologa de la estructura cliente/servidor) ser una decisin que estar
acorde con las necesidades del propio sistema de informacin. Dos de sus principales
funcionalidades aportadas por todo el SGBD Oracle son:

Soporte y tratamiento de una gran cantidad de datos (Gbytes).

Soporte de una gran cantidad de usuarios accediendo concurrentemente a los datos.

NOTA: Con el trmino concurrencia nos referimos a la capacidad de permitir el acceso a


datos y a muchas funciones al mismo tiempo. Oracle provee a muchos usuarios el acceso
simultneo a sus servicios, implementando de esta forma la concurrencia.
Como se ha mencionado anteriormente, una de las tareas fundamentales de un DBA consiste en la
eficiente y completa manipulacin de los conjuntos de datos que componen la BBDD de los sistemas
que se encuentran en explotacin y desarrollo.
Con Oracle 11g, la gestin de datos, se puede realizar desde la consola principal, es decir desde el
Oracle Enterprise Manager. Esta consola al ser un entorno grfico, facilita enormemente cualquier
tarea a realizar con nuestras BBDD, en la imagen inferior vemos concretamente las pestaas Inicio
y Movimiento de Datos.

75

Curso de Oracle 11g

Como se puede observar en ambas pestaas, se tienen un gran nmero de opciones, desde
configuracin, preferencias y ayuda, hasta las propias de gestin de datos, como exportar e importar
archivos, importar BBDD, clonacin, transporte de Tablespaces, etc.
Desde esta consola realizaremos la mayora de nuestras operaciones, a excepcin de las
instrucciones SQL.

76

Curso de Oracle 11g

2.10 Gestin de datos Undo


Tal y como explicamos anteriormente, UNDO es un tablespaces que contiene informacin de tipo
deshacer para poder utilizar el comando rollback.
Espacio de undo: Conjunto de registros que guardan informacin, relativa a acciones realizadas
por una transaccin, necesaria para:

-Recuperacin de la base de datos.

-Proporcionar consistencia en lectura (imagen de los datos).

-Retroceder transacciones (rollback).

-Anlisis de datos previos usando Oracle Flashback Query o recuperacin lgica usando
Oracle Flashback (permite ver o recuperar datos en un momento dado del tiempo).

En caso de producirse una cada del sistema y quedar transacciones activas (sin validacin commitni retroceso rollback-), Oracle recupera la informacin del espacio de undo y una vez hecho se
realiza el rollback de dichas transacciones.
En la recuperacin de base de datos y una vez aplicados los cambios guardados en los ficheros de
redo, el espacio de undo sirve para deshacer los efectos de transacciones no validadas. Este
proceso recibe el nombre de rolling back o transaction recovery.
Se usa la informacin en el espacio de undo para proporcionar una imagen coherente de un
conjunto de datos respecto a un punto en el tiempo, aun cuando se estn produciendo cambios sobre
el mismo.
Al validar la transaccin (realizacin del commit) se libera la informacin pero no se destruye
inmediatamente sino que permanece un tiempo para asegurar la consistencia en lectura de las
consultas que comenzaron antes de la validacin.
Los cambios realizados por otras transacciones que suceden durante la ejecucin de la consulta no
son tenidos en cuenta por esta. Los bloques alterados son reconstruidos a partir del espacio de
undo y los datos obtenidos enviados a la consulta.
En ciertos casos, no pude devolverse un conjunto coherente de resultados, snapshot, para una
consulta muy voluminosa. Ocurre porque no puede almacenarse suficiente informacin en el espacio
de undocomo para reconstruir los datos requeridos. Generalmente se produce si existe una gran
actividad que fuerza a que se sobrescriban datos necesarios para lograr la consistencia. Y se genera
el error:
ORA-01555 snapshot too old: rollback segment number string with name "string" too small
La solucin es disponer de ms espacio de undo.
Retroceder una transaccin (rolling back) es deshacer cualquier cambio realizado a los datos por
sentencias SQL de una transaccin no validada.
En el retroceso de una transaccin:

Se aplican todos los cambios almacenados en orden inverso hasta llegar al dato original.

Se libera cualquier bloqueo de datos efectuado por la transaccin.

Finaliza la transaccin.
77

Curso de Oracle 11g


Existen dos formas de gestionar el espacio de undo:

Usando espacios de almacenamiento de undo (modo automtico). Es la forma


recomendada por ser menos compleja de implementar y ms eficiente en cuanto a gestin y
se trata de la forma por defecto. Al crear la BBDD se crea automticamente un espacio de
undo llamado UNDOTBS1.

Usando segmentos de rollback (modo manual). Esta tiende a desaparecer.

Ambas formas NO pueden simultanearse. La forma de gestin, manual o automtica, puede


determinarse mediante el parmetro de inicializacin UNDO_MANAGEMENT.
MODO MANUAL
La inicializacin UNDO_MANAGEMENT debe tener el valor MANUAL. Siendo una forma de
gestin obsoleta basada en el uso de segmentos de rollback y es incompatible con el modo
automtico.
MODO AUTOMTICO
SYSTEM es el espacio de almacenamiento original y el primero que se crea. Contiene informacin
para el funcionamiento de la misma, como el diccionario de datos y el segmento de rollback
SYSTEM.
El espacio de almacenamiento SYSTEM tiene restricciones como el no poder renombrarse, borrarse
o ponerse fuera de lnea. El segmento de rollback SYSTEM no puede borrarse y el parmetro de
inicializacin UNDO_MANAGEMENT debe tener el valor AUTO o ser nulo (es el valor por
defecto).
UNDO_MANAGEMENT = AUTO
Al arrancar se busca el primer espacio de undo disponible (existente desde la creacin de la BBDD
o creado posteriormente). Si no existe, se almacena la informacin de undo en el espacio de
almacenamiento SYSTEM. Esta situacin, genera un mensaje de error en el fichero de alertas.
Otros parmetros de inicializacin relacionados son:

UNDO_RETENTION. Parmetro dinamico (alter system set undo_retention= <valor>) que


indica en segundos (por defecto 900), cunto tiempo ha de permanecer, al menos, la
informacion de undo disponible.

Para espacios de undo autoextensibles, AUTOEXTEND, el sistema retiene la informacin


de undo al menos el tiempo indicado mediante UNDO_RETENTION y ajusta el periodo
de retencin para satisfacer las necesidades de las consultas.

Para espacios de undo de tamao fijo, se ajusta al mximo posible basndose en el tamao
del espacio de undo y su historial de uso, e ignora UNDO_RETENTION a menos que se
habilite retention guarantee.

El ajuste automtico de este parmetro no est soportado en LOBs, en este caso el periodo de
permanencia de la informacin lo marca UNDO_RETENTION.

UNDO_RETENTION se respeta si hay suficiente espacio. Si una transaccin necesita


espacio de undo y no hay el sistema empieza reutilizando espacio que guarda datos que no
han expirado. Esto puede provocar que ciertas consultas fallen y muestren el mensaje
snapshot too old".
78

Curso de Oracle 11g

-El tiempo que la informacin de undo se retiene en el espacio de almacenamiento de


undo puede consultarse en la columna TUNED_UNDORETENTION de la vista dinmica
V$UNDOSTAT.

Slo en ciertas circunstancias es necesario fijar el parmetro de Espacio de almacenamiento con la


opcin AUTOEXTEND.
Fijar el periodo de retencin para LOB (no se soporta ajuste automtico dado que la informacin de
undo se guarda en el propio segmento y no en el espacio de undo, as la BBDD intenta satisfacer
el periodo de permanencia indicado mediante UNDO_RETENTION. Si no hay espacio, puede
sobreescribirse informacin).
Se desea especificar la retention guarantee.

UNDO_TABLESPACE. Parmetro dinmico que indica el espacio de almacenamiento de


undo a usar en el arranque. Si se indica en modo manual, provoca error y falla el arranque.

Si se omite, se elige el primer espacio de almacenamiento de undo disponible. Si no existe


ninguno, se arranca sin esp.alm. de undo y las transacciones se ejecutan en el segmento de
rollback.

Un espacio de undo puede ser sustituido por otro mientras la instancia est ejecutndose.

NOTA: Al arrancar en modo automtico, se ignora cualquier parmetro relativo al modo manual
usado en el fichero de parmetros.
Para el uso en modo automtico es necesario al menos un espacio de almacenamiento (tablespace)
de undo. Al crear la BBDD con Database Configuration Assistant (DBCA), se crea un espacio de
almacenamiento de undo autoextensible de nombre UNDOTBS1.
A pesar de que puedan existir mltiples tablespaces de undo, cada instancia slo puede tener
activo uno de ellos. Los datos de undo se manejan usando segmentos de undo que se crean y
mantienen por el sistema. Son diversas las operaciones que pueden llevarse a cabo con este tipo de
espacios de almacenamiento:

Creacin.

Modificacin.

Borrado.

Intercambio entre distintos espacios de undo.

Modificar la clausula de retencin.

Al crear la base de datos, mediante la clausula UNDO TABLESPACE de la sentencia CREATE


DATABASE:
CREATE DATABASE CURSO25 ...
UNDO TABLESPACE undotbs_01 DATAFILE
'/u03/oradata/CURSO25/undo01.dbf';
La operacin de creacin de la BBDD falla al completo si no es posible crear el espacio de undo.

79

Curso de Oracle 11g


Mediante la sentencia CREATE UNDO TABLESPACE (similar a CREATE TABLESPACE):
CREATE UNDO TABLESPACE undotbs1
DATAFILE '/u03/oradata/CURSO25/undo01.dbf'
SIZE 10M AUTOEXTEND ON RETENTION GUARANTEE;
Restricciones:
En la creacin slo puede especificarse la clausula DATAFILE, determinando Oracle el resto de
atributos. Puede crearse ms de un espacio de undo pero slo uno estar activo.
Mediante la sentencia ALTER TABLESPACE. Se permite:

Aadir un fichero de datos:


ALTER TABLESPACE UNDOTBS ADD DATAFILE
'/u03/oradata/CURSO25/undo02.dbf' AUTOEXTEND
ON NEXT 1M MAXSIZE UNLIMITED;

Redimensionar un fichero de datos:


ALTER DATABASE DATAFILE
'/u03/oradata/CURSO25/undo01.dbf' RESIZE 20M
AUTOEXTEND ON NEXT 1M MAXSIZE UNLIMITED;
ALTER DATABASE DATAFILE
'/u03/oradata/CURSO25/undo01.dbf' RESIZE 100M;

Comenzar o terminar una copia del fichero de datos.

Renombrar un fichero de datos:


ALTER DATABASE RENAME FILE
'/u03/oradata/CURSO25/undo01.dbf' TO
'/u03/oradata/CURSO25/tbsp_undo01.dbf';

Poner en lnea o fuera de lnea un fichero de datos:


ALTER DATABASE DATAFILE
'/u03/oradata/CURSO25/undo01.dbf' ONLINE/OFFLINE;

Modificar clasula RETENTION:


NO preservar los datos de undo que son aun vlidos:
ALTER TABLESPACE UNDOTBS RETENTION NOGUARANTEE;
Preservar los datos de undo que son aun vlidos.
ALTER TABLESPACE UNDOTBS RETENTION GUARANTEE;

Se emplea la sentencia DROP TABLESPACE:


DROP TABLESPACE <nombre_tbsp>;

80

Curso de Oracle 11g


Slo es posible borrar si el espacio de undo no est en uso. Al borrar se elimina todo su contenido,
incluso aquella informacin que no haya expirado. Se usa la sentencia ALTER SYSTEM SET para
asignar un nuevo espacio de undo, que sustituye al que anteriormente se utilizaba:
ALTER SYSTEM SET UNDO_TABLESPACE=<nombre_tbsp>;
Se producir error en caso de que el nuevo espacio de almacenamiento no exista, no sea de undo o
se est usando por otra instancia.
La BBDD permanece en lnea mientras se realiza la operacin y pueden ejecutarse transacciones. Al
terminar el intercambio, todas aquellas transacciones comenzadas despus de la sentencia, se asignan
al nuevo espacio de undo.
Si existen transacciones pendientes de commit, en el antiguo espacio de undo, este pasa al
estado PENDINGOFFLINE. Las transacciones siguen su curso pero no se usa para nuevas
transacciones. Un espacio de undo puede existir en el estado PENDING OFFLINE incluso
despus de producirse el intercambio. En esta situacin no puede usarse por otra instancia ni puede
borrarse. Una vez finalizadas todas las transacciones pasa al estado OFFLINE.
Si se indica ALTER SYSTEM SET UNDO_TABLESPACE=''; se deasigna el espacio de undo
actual y se pasa al siguiente disponible.
Oracle Database Resource Manager permite establecer a travs del parmetro UNDO_POOL la
cantidad de espacio de undo empleado en transacciones no validadas para un grupo de usuarios (es
ilimitado por defecto). Cuando se excede dicho lmite, la transaccin que este generando dicha
informacin de undo finaliza y no puede proseguirse generando undo para el grupo.
Resource Manager se gestiona a travs de distintos paquetes PL/ SQL y permite optimizar la
asignacin de recursos entre sesiones concurrentes de BBDD:
(DBMS_RESOURCE_MANAGER.CREATE_PENDING_AREA,
DBMS_RESOURCE_MANAGER.CREATE_CONSUMER_GROUP,
DBMS_RESOURCE_MANAGER.CREATE_PLAN...)

V$UNDOSTAT: Estadsticas para monitorizar y ajustar el espacio de undo.

V$ROLLSTAT: Informa sobre el comportamiento de los segmentos undo del espacio de


undo.

V$TRANSACTION: Transacciones activas en el sistema.

DBA_TABLESPACES.

DBA_UNDO_EXTENTS: Extensiones en el espacio de undo.

DBA_HIST_UNDOSTAT: Estadsticas de consumo de espacio de undo, concurrencia de


transacciones, longitud de las consultas ejecutadas, etc.

Puede dimensionarse de tres formas:

Empleando espacios de almacenamiento autoextensibles, de forma que incrementa su tamao


conforme es necesario (clusula AUTOEXTEND).

Clculo usando mtodo manual.

Clculo usando mtodo automtico: Undo Advisor.

81

Curso de Oracle 11g


V$UNDOSTAT muestra informacin, entre otras cosas, sobre el espacio de undo y puede usarse
para estimar el mismo. Muestra estadsticas recogidas en intervalos de 10 minutos.
El espacio de undo necesario para retener la informacin un tiempo determinado
(UNDO_RETENTION) es:
Espacio = UR * (Tasa_transaccion * tamao_bloque)
Donde UR es el valor de UNDO_RETENTION, en segundos, y la tasa de transaccion el nmero
mximo de bloques undo por segundo. Es preciso aadir al valor obtenido entre un 10% y un 20%
de forma que pueda hacerse frente a situaciones imprevistas.
El ajuste automtico del periodo de permanencia da mejores resultados con un espacio de
almacenamiento de undo de tamao fijo. Si el espacio NO es autoextensible puede estimarse su
valor ptimo usando el Undo Advisor, empleando el paquete DBMS_ADVISOR.
Undo Advisor depende del repositorio Automatic Workload Repository (AWR). AWR es un
registro de informacin histrica de rendimiento que incluye estadsticas de sistema, sesiones,
sentencias SQL... La BBDD almacena las estadsticas recientes en la SGA, el proceso MMON las
recoge cada hora y crea una instantnea AWR que se guarda en el espacio SYSAUX (registro
histrico de uso de la BBDD).
Operaciones a seguir:
a. Determinar el periodo de tiempo a analizar (seleccionando los identificadores de instantnea,
snap, apropiados). La vista DBA_HIST_SNAPSHOT muestra la informacin sobre
instantneas en el AWR (nmero de instantnea y fecha).
SQL >select snap_id, begin_interval_time, end_interval_time
from DBA_HIST_SNAPSHOT
where begin_interval_time > '...' and
end_interval_time < '...' order by end_interval_time desc;
b. Invocar Undo Advisor para determinar el nmero de tarea.
DECLARE
tid NUMBER;
tname VARCHAR2(30);
oid NUMBER;
BEGIN
DBMS_ADVISOR.CREATE_TASK('Undo Advisor', tid, tname, 'Undo Advisor
Task');
DBMS_ADVISOR.CREATE_OBJECT(tname, 'nombre_tbsp_undo', null, null,
null, 'null',oid);
DBMS_ADVISOR.SET_TASK_PARAMETER(tname, 'TARGET_OBJECTS', oid);
DBMS_ADVISOR.SET_TASK_PARAMETER(tname, 'START_SNAPSHOT',
snap_id_inicial);
DBMS_ADVISOR.SET_TASK_PARAMETER(tname, 'END_SNAPSHOT',
snap_id_final);
DBMS_ADVISOR.SET_TASK_PARAMETER(tname, 'INSTANCE', 1);
DBMS_ADVISOR.execute_task(tname);
DBMS_OUTPUT.PUT_LINE ('Identificador de trabajo es: ' || tid ||' '|| tname);
end; /

82

Curso de Oracle 11g


c. Consultar la vista DBA_ADVISOR_FINDINGS para averiguar las recomendaciones.
SQL >select owner, task_id, task_name, type, message, more_info from
dba_advisor_findings where task_id= <numero_tarea -tid->
Puede generarse un informe de texto o HTML mediante AWR ejecutando:
SQL> @$ORACLE_HOME/rdbms/admin/awrrpt.sql
Tambin puede consultarse el resultado en Enterprise Manager a travs del Automatic Database
Diagnostic Monitor.
Tras validar, commit, una transaccin la informacin de undo no es necesaria para retroceder la
transaccin ni para recuperaciones. No obstante, es til para garantizar la consistencia en lectura y
flashback. Por tanto, cuanto ms tiempo se retenga, mejor.
Hay un valor que indica el periodo undo retention actual, esto es el periodo de permanencia: la
cantidad mnima de tiempo que retiene la informacin de undo antes de sobreescribirse. Aquella
informacin ms antigua que este valor podr sobreecribirse (expired) y aquella que tiene menor
antigedad que este valor es vlida (unexpired) y se mantiene.
La BBDD ajusta automticamente el valor para el periodo de permanencia en funcin del tamao del
espacio de almacenamiento de undo e informacin estadstica de uso. Adems puede fijarse un
valor mnimo para el periodo de permanencia a travs de la variable UNDO_RETENTION (por
defecto son 900 segundos).

Para espacios de undo de tamao fijo. Se ignora y la BBDD ajusta al mximo posible,
hasta que haya espacio, basndose en el tamao del espacio de undo y la carga del sistema
(a menos que RETENTION GUARANTEE est activa). En este caso el periodo de
permanencia suele ser mayor que la duracin de la consulta activa ms larga. No obstante, si
el tamao del espacio de undo es demasiado pequeo pueden producirse fallos en
operaciones DML, o producirse un snapshot too old" al no poder garantizar la consistencia
en lectura.

Para espacios de undo autoextensibles, AUTOEXTEND (como UNDOTBS1). El sistema


retiene la informacin de undo al menos el tiempo indicado mediante
UNDO_RETENTION. Si falta espacio, no sobreescribe y se autoextiende. Si se alcanza un
tamao mximo, indicado por la clausula MAXSIZE, comienza a sobreescribir la
informacin. No obstante, este periodo de permanencia puede ser insuficiente para
operaciones flashback y generar snapshot too old. En dicho caso, puede fijarse el valor
del parmetro UNDO_RETENTION a un valor igual a la mayor operacin flashback que
se pretenda realizar o cambiar a espacio de undo de tamao fijo.

En definitiva, se intenta soportar la consulta ms larga y evitar el error snapshot too old. Es
necesario suponer que el ajuste automtico del periodo de permanencia no es soportado por LOB.
Para estos objetos, el valor es el fijado por el parmetro UNDO_RETENTION.
En operaciones DML de gran carga no se garantiza UNDO_RETENTION. Para asegurar que el
espacio de undo necesario siempre estar disponible durante el periodo indicado se emplea la
clasula RETENTION GUARANTEE.
El tiempo de permanencia de los datos en el espacio de undo puede consultarse en la columna
TUNED_UNDORETENTION de la vista V$UNDOSTAT. La vista presenta estadsticas en
periodos de diez minutos, una fila de datos por periodo, para los ltimos 4 das (ms all de este
83

Curso de Oracle 11g


tiempo han de consultarse en la vista DBA_HIST_UNDOSTAT).El valor de tuned_undoretention
est en segundos.
select to_char(begin_time, 'DD-MON-RR HH24:MI') begin_time,
to_char(end_time, 'DD-MON-RR HH24:MI') end_time,
tuned_undoretention from v$undostat order by end_time;
BEGIN_TIME

END_TIME

TUNED_UNDORETENTION

04-JUL-10 00:01

04-JUL-10 00:11

12100

07-JUL-10 23:21

07-JUL-10 23:31

86700

La clusula RETENTION GUARANTEE permite garantizar el xito de consultas de larga


duracin u operaciones flashback. Al activar la clasula se garantiza el mnimo undo_retention
especificado, de forma que la BBDD nunca sobreescribe datos incluso aunque las transacciones
puedan fallar por falta de espacio en el espacio de undo. Esto puede hacer fallar operaciones DML,
sin embargo. Para desactivar la garanta de retencin debe usarse la clusula RETENTION
NOGUARANTEE.
Esta clusula puede usarse al crear el espacio de almacenamiento de undo (CREATE UNDO
TABLESPACE o CREATE DATABASE) o con ALTER TABLESPACE. Y su valor actual puede
consultarse en la vista DBA_TABLESPACES (columna RETENTION, con valores GUARANTEE,
NOGUARANTEE o NOT APLY -espacios de almacenamiento que no son de undo-).

84

Curso de Oracle 11g

2.11 Implementacin de seguridad en bases de datos Oracle


Oracle Database 11g manifiesta una precisa integracin con el sistema de seguridad nativo de
Windows para proteger mejor las aplicaciones.
En un entorno cliente/servidor, existen tres opciones para los sitios que desean aprovechar al
mximo las credenciales Windows o los servicios de autenticacin para unirse a la BBDD de Oracle:

La BBDD Oracle incluye Windows Native Authentication Adapter, que se instala


automticamente con Oracle Net en el servidor cliente. Este adaptador permite a los usuarios
de base de datos tener capacidades de conexin nica al utilizar las credenciales de los
usuarios Windows para la autenticacin de la base de datos. Para utilizar esta caracterstica,
los usuarios de Windows deben estar definidos como usuarios de base de datos externos.
Estos usuarios pueden tener roles externos asignados en Microsoft Active Directory Services.

Oracle Advanced Security, una opcin de base de datos, soporta la autenticacin de la base
de datos utilizando tickets Kerberos emitidos por Microsoft Key Distribution Center
(MSKDC). Esta capacidad permite a los usuarios a los que se les ha emitido un ticket
Kerberos vlido conectarse a sus cuentas de BBDD sin tener que introducir el usuario y la
contrasea.

La opcin Oracle Advanced Security tambin soporta la autenticacin de base de datos sobre
SSL. Microsoft Certificate Store (MCS) puede emitir este certificado. Para utilizar esta
caracterstica, el certificado debe estar contenido en un Oracle Wallet configurado en el
cliente. Oracle Wallet puede almacenarse tanto en el rea del perfil de usuario de Windows
Registry como en la ubicacin de un archivo del cliente.

Para los entornos web, la integracin con MCS es posible a travs de Oracle Fusion Middleware
(FMW).
Adems de respaldar los mecanismos de autenticacin basados en contraseas, Oracle FMW
respalda la autenticacin basada en certificados. Esta certificacin puede ser generada por MCS.
Para utilizar la autenticacin basada en certificados, un certificado de usuario debe completarse en el
wallet browser y en el ingreso de usuario correspondiente en Oracle Internet Directory.
Oracle Wallets en Windows Registry
Oracle Database wallets puede almacenarse en Windows Registry, brindando una mayor seguridad
para los clientes Windows. Sin esta caracterstica, los wallets de Oracle a menudo se almacenan en el
sistema de archivos Windows. Si los permisos de archivos del sistema operativo no son seguros, los
wallets de Oracle tampoco lo son.
En los sistemas Windows, por consiguiente, la seguridad de la infraestructura de claves pblicas
(PKI) se mejora al almacenar Oracle wallets en el rea del perfil de usuarios de Windows Registry.
Esta rea de registro es accesible solamente para el usuario debidamente registrado. Se pueden
utilizar y almacenar mltiples Oracle wallets en el rea de los perfiles.
La conexin nica para las aplicaciones PKI de Oracle se configura a travs de las herramientas de
Oracle Wallet Manager y Oracle Enterprise Login Assistant. Wallet Manager crea Oracle wallets
encriptados, mientras que Enterprise Login Assistant crea wallets desencriptados. Los wallets
desencriptados son luego utilizados por las aplicaciones PKI de Oracle para la autenticacin SSL.
Ambas herramientas han sido mejoradas para soportar el almacenamiento y la ubicacin de Oracle
wallets en el registro, as como el sistema de archivos por defecto, en caso de ser necesario.

85

Curso de Oracle 11g


Integracin con Microsoft Certificate Store
La integracin de la base de datos Oracle con Microsoft Certificate Store permite a las aplicaciones
PKI de Oracle interoperar con los productos que utilizan Windows PKI. Cuando esta caracterstica
est activada, la seguridad de Oracle PKI utiliza Microsoft CryptoAPIs para acceder a Microsoft
Certificate Store. Los CryptoAPI se utilizan para operaciones, como el ingreso, la encriptacin, la
desencriptacin y la validacin. Wallet Resource Locator (WRL) determina el tipo PKI y brinda toda
la informacin necesaria para localizar el wallet.
Con esta caracterstica, las aplicaciones Oracle, y las que no lo son, pueden aprovechar el mismo
grupo de credenciales PKI (por ejemplo, certificados, claves, lista de revocaciones y puntos de
confianza) para los servicios de seguridad de claves pblicas, como la autenticacin y la
encriptacin.
Caractersticas de Seguridad de Windows
La implementacin de Kerberos en Oracle utiliza los algoritmos de encriptacin segura como 3DES
y AES que estn disponibles en DES. Esto hace que utilizar Kerberos sea ms seguro. El mecanismo
de autenticacin de Kerberos en la BBDD Oracle respalda los siguientes tipos de encriptacin:

DES3-CBC-SHA

RC4-HMAC

AES128-CTS

AES256-CTS

La implementacin de Kerberos ha sido mejorada para interoperar sin dificultades con Microsoft
Key Distribution Center. Asimismo, el nombre principal de Kerberos ahora puede contener ms de
30 caracteres. La cantidad de caracteres permitidos en el nombre del usuario de base de datos ya no
est restringida. Estas mejoras permiten asegurar mejor las aplicaciones con las bases de datos
Oracle y Windows.
Caractersticas de seguridad y cumplimiento de normas:

Cifrar datos en la base de datos

Cifrado a nivel de tablespaces

Proteccin de clave maestra basada en hardware

Cifrar Backups (Oracle Secure Backup)

Backup compression

Aade controles de acceso a usuarios administradores (Database Vault)

Consolidar y monitorizar informacin de auditora (Audit Vault)

Para lograr una mayor seguridad en ORACLE 11g, y como vimos en el apartado Administracin de
seguridad de usuario, hay que prestar especial atencin a la creacin de los usuarios y sus roles,
esto no lo volveremos a explicar en este cpitulo pero veremos sus privilegios y la poltica de
Password.

86

Curso de Oracle 11g


Garantizando y Revocando Privilegios
Tipos de privilegios:
Objetos:
Permisos sobre objetos: tablas, ndices, stored procedures, etc. Con este podemos permitir un
privilegio de objeto a un usuario y este pueda tambin dar este privilegio (WITH GRANT OPTION),
no est disponible cuando el que va hacer garantizado es un rol.
Observacin: Cuando revocamos un privilegio a un usuario y este a la vez entreg privilegios a un
tercero, el tercero perder el privilegio de acceder al objeto del primero.
Privilegio de Objetos: select, insert, update, delete, alter table, debug, execute, etc.
Sistema:
Permisos sobre BBDD tales como: crear usuarios, alterar la base de datos, etc. Permite privilegios de
sistema a un usuario y este usuario dar el privilegio WITH ADMIN OPTION.
Observacin: Si un usuario otorga privilegios de sistema a otro usuario con la opcin with admin
option y a la vez este segundo usuario le da privilegios a un tercero. Luego cuando se haga un revoke
al segundo, el tercero sigue manteniendo el privilegio otorgado.
Privilegio de Sistema: alter database, alter system, audit system, create any (table index job
procedure sequence trigger - view), debug any procedure, execute any program, create
procedure, create role, create session, lock any table, flashback any table, sysdba, sysoper, etc.
Roles:
Permite agrupar privilegios de objetos y sistemas. Para habilitar un rol: set role nombre_rol
identified by password.
El password se setea de la siguiente forma: create rol nombre_rol identified by password.
Con: alter user nombre default role lista_roles. Carga automticamente los roles del usuario
Las vistas ms utilizadas son: dba_role_privs (Privilegio de roles), dba_tab_privs (Privilegio de
objetos de tablas) y dba_sys_privs (Privilegio de Sistemas). Adicionalmente tenemos:

session_privs = Muestra los privilegios de sistema y objetos asignado s a la sesin.

sessions_roles = Muestra los roles asignados a la sesin.

Podemos crear roles con password: create role rol1 identified by mipassword;
Para habilitar un rol con password en una sesin:
set role rol1 identified by mipassword, rol2;
set role all except rol1
set role none => Deshabilita todos.

87

Curso de Oracle 11g


Aplicando Polticas de Passwords
Forzando a n intentos fallidos de password el bloqueo del user por un tiempo determinado:
ALTER PROFILE nombre LIMIT
FAILED_LOGIN_ATTEMPTS #intentos
PASSWORD_LOCK_TIME nMinutos (Vuelve a desbloquearlo) | UNLIMITED
PASSWORD_LIFE_TIME x
PASSWORD_GRACE_TIME y
El password_life_time especifica el mximo nmero de das que un password se puede mantener
vigente. El password_grace_time es el nmero de das despus del primer login que comenzar a
recordarle del vencimiento del password. Limita el password a m dias y durante n dias le recordar
esto.
ALTER PROFILE nombre LIMIT
PASSWORD_LIFE_TIME m-n dias
PASSWORD_GRACE_TIME n dias
Reuso de Passwords
Especifica el nmero de das que un password puede ser reusado y despus de cuantos passwords
cambiados.
CREATE PROFILE nombre LIMIT
PASSWORD_REUSE_TIME #dias | UNLIMITED
PASSWORD_REUSE_MAX n | UNLIMITED
Requiere que al menos n passwords cambien y durante #dias para poder reusar un password.
Nota: Existe un archivo en llamado $ORACLE_HOME/rdbms/admin/utlpwdmg.sql el cual contiene
una funcin PL/SQL con complejidad alta para poderla asociar a un profile.
Ejemplo:
ALTER PROFILE DEFAULT LIMIT PASSWORD_VERIFY_FUNCTION verify_function;

88

Curso de Oracle 11g

2.12 Mantenimiento de una Base de Datos


Una vez ms nos remitiremos a la instalacin de Oracle 11g, concretamente al Paso 11, de su
instalacin, donde una de las opciones es el Activar tareas de mantenimiento automticas, de esta
forma permitimos que sea Oracle, el que gestione de forma automtica las tareas de mantenimiento,
como por ejemplo, las estadsticas e informes.

Estas tareas se pueden modificar a traves del Enterprise Manager de Oracle en cualquier momento.
Ya que con una sola interfaz de su administracin, caractersticas de autodiagnstico y autoajuste,
Oracle Database 11g simplifica el mantenimiento de su Almacn de Datos en constante expansin.
Otros tipos de estas tareas de Mantenimiento rutinario de la base de datos son:

Copia de seguridad peridica de la base de datos.

Y asegurarse de que haya suficiente espacio libre en disco para las operaciones normales y
aumentar el espacio en disco segn sea necesario.

Para acceder a la configuracin de Mantenimiento automtico desde la consola Enterprise


Manager, basta con pulsar en Central de Planificadores, en la zona inferior de cualquiera de las
pestaas. Este vnculo nos da acceso a la ficha Planificadores, desde la cual vemos el vnculo a
Tareas de mantenimiento automticas, tal y como se aprecia en la imagen.

89

Curso de Oracle 11g

Y una vez que pulsemos en l, accederemos a la ficha de Tareas de mantenimiento automticas.

90

Curso de Oracle 11g


Utilice la pgina de Tareas de Mantenimiento Automticas para:

Ver las tareas de sistema ejecutadas y las ventanas planificadas para un perodo de tiempo.

Acceder a una pgina en la que puede configurar las tareas de sistema.

Acceder a las pginas de resmenes y las recomendaciones para los tipos de tareas del
sistema.
Elemento

Descripcin

Configurar

Se puede configurar los valores para los tres tipos de tareas de


sistema y asignar grupos de ventanas de da de la semana para el
mantenimiento automtico.

Fecha de inicio e intervalo

Seleccione una fecha y un intervalo de tiempo y, a continuacin,


haga clic en este botn para ver las tareas y las ventanas planificadas
para este perodo de tiempo.

Asesor de Segmentos

Permite ir a la pgina Recomendaciones del Asesor de Segmentos


para ver el resumen de espacio para los segmentos evaluados del
tablespace.

Asesor de Ajustes SQL


Automtico

Permite ir a la pgina Resumen de Resultados de Ajustes SQL


Automticos en la que puede ver un grfico resumido de las
actividades que muestra la ventana de las actividades de tarea en el
SQL de carga.

Entre las distintas tareas a realizar, podemos acceder a su configuracin pulsando en el botn de
configurar que se encuentra en la parte superior izquierda.

91

Curso de Oracle 11g


Utilice la pgina Configuracin de Tareas de Mantenimiento Automticas para:

Activar, desactivar o configurar los tres tipos de tareas automticas de sistema.

Asignar una o ms ventanas de da de la semana a uno o ms tipos de tareas automticas de


sistema.
Elemento

Descripcin

Mostrar SQL

Nos dirige a la pgina Mostrar SQL en la que se puede ver el cdigo


SQL creado al modificar la configuracin de las tareas de
mantenimiento.

Estado Global

Seleccione la opcin Desactivado de este conmutador global


desactivando as los tres valores de tarea, independientemente de sus
valores individuales.

Valores de Tareas

Permite activar o desactivar los valores para las siguientes tareas de


sistema:
Recopilacin de Estadsticas del Optimizador: Haga clic en
Configurar para editar los parmetros por defecto de las tareas
de estadsticas del optimizador.
Ajustes SQL Automticos: Haga clic en Configurar para
proporcionar los valores de ajustes SQL automticos.

Asignacin de Grupos de
Ventanas de
Mantenimiento

Utilice esta tabla para seleccionar una combinacin de tareas de


sistema y ventanas de da de semana asociadas que desee
automatizar. Si desea incluir o excluir ventanas de la tabla de
asignaciones, haga clic en Editar Grupo de Ventanas. Si desea
modificar nicamente alguna ventana de da especfica, haga clic en
Editar cuando aparezca la pgina Ver Ventana.

Desde aqu, a su vez podemos profundizar aun ms en esta configuracin, esto no esta detallado en
el presente manual, pero si le invitamos que explore usted las distinas opciones de pantalla en su
consola.
Otra opcin a examinar es la Pgina Mantenimiento de la Base de Datos de Cluster.
Mantenimiento de la Base de Datos de Cluster
Utilice la pgina Mantenimiento de la Base de Datos de Cluster para realizar tareas, como importar y
exportar datos a archivos y de archivos, cargar datos en una base de datos Oracle desde un archivo, y
recopilar, estimar y suprimir estadsticas a la vez que mejora el rendimiento de las consultas SQL
frente a los objetos de BBDD.
La pgina Mantenimiento de la Base de Datos de Cluster est formada por las siguientes secciones:

Alta Disponibilidad

Movimiento de Datos

Tabla Instancias

92

Curso de Oracle 11g


Seccin Alta Disponibilidad
Utilice las funciones de la seccin Alta Disponibilidad para:

Planificar Copia de Seguridad: Utilice al Asistente de Copia de Seguridad para realizar la


copia de seguridad del contenido de la base de datos en disco, cinta o ambos.

Realizar Recuperacin: Utilice el Asistente de Recuperacin para restaurar o recuperar una


BBDD, tablespaces, archivos de datos, logs o realizar flashbacks de tablas o recuperar
objetos.

Gestionar Copias de Seguridad Actuales: Se puede utilizar para buscar y mostrar una lista
de juegos de copias de seguridad o copias de seguridad, as como para realizar operaciones
como comprobaciones cruzadas y supresiones de copias, archivos o juegos seleccionados.

Gestionar Puntos de Restauracin: Utilice esta funcin para crear o suprimir puntos de
restauracin definidos a los que pueda volver en el futuro.

Informes de Copia de Seguridad: Muestra trabajos de copia de seguridad para la base de


datos.

Valores de Copia de Seguridad: Configura los valores para la utilidad de copia de


seguridad.

Valores de Recuperacin: Configura los valores para la utilidad de recuperacin.

Valores del Catlogo de Recuperacin: Registra la BBDD con un catlogo de


recuperacin.

Dispositivo y Medio Fsico de Oracle Backup: Funciones de administracin de medios


fsicos, dispositivos y hosts para operaciones de restauracin y copia de seguridad en cinta.

Copia de Seguridad y Restauracin de Sistema de Archivos: Realiza una copia de


seguridad o restaura el sistema de archivos de base de datos.

Servicios de Base de Datos Gestionados por Cluster: Utilice esta pgina para ver una lista
de servicios para el cluster, las instancias en las que se est ejecutando actualmente cada
servicio y el estado de cada servicio. Tambin puede iniciar o parar un servicio, activarlo o
desactivarlo.

Seccin Movimiento de Datos


Utilice las funciones de la seccin Movimiento de Datos para realizar las siguientes tareas:

Exportar a Archivos de Exportacin: Utilice el Asistente de Exportacin para exportar el


contenido de una BBDD, de los objetos de los esquemas del usuario y de las tablas.

Importar de Archivos de Exportacin: Utilice el Asistente de Importacin para importar el


contenido de objetos y de tablas.

Importar de Base de Datos: Utilice el asistente de importacin de BBDDpara importar el


contenido de una BBDD.

Cargar Datos de Archivos de Usuario: Utilice el Asistente de Carga de Datos de Archivo


para cargar datos de una BBDD que no es Oracle en una base de datos Oracle.

Controlar Trabajos de Importacin y Exportacin: Utilice esta funcin para controlar el


estado de trabajos de importacin y exportacin actuales y terminados.

93

Curso de Oracle 11g

Transportar Tablespaces: Utilice esta funcin para mover un subjuego de una BBDD
Oracle de una base de datos Oracle a otra, incluso entre plataformas diferentes.

Configuracin de Streams: Establece las opciones de configuracin de Streams.

Gestin de Streams: Gestiona Streams, que proporcionan las capacidades necesarias para
crear y operar aplicaciones y empresas distribuidas, almacenes de datos y soluciones de alta
disponibilidad.

Tabla Instancias
En la tabla Instancias se muestran las instancias de la BBDD de cluster, disponibilidad, alertas,
violaciones de poltica, etc. Haga clic en un nombre de instancia para ir a la pgina de dicha
instancia.

94

Curso de Oracle 11g

2.13 Gestin del rendimiento


Gestionar y optimizar el rendimiento de los procesos contra la BBDD. Esta ser una de las funciones
ms importantes del administrador, porque de nada sirve tener una buena infraestructura montada si
los colapsos y la lentitud en los accesos son constantes. Para acceder, seleccionamos en la ventana
principal del Enterprise Manager, el uso de CPU del HOST, pulsando en el grfico directamente.

Otra pgina realcionada con el rendimiento es la de rendimiento de la BBDD, que explicamos a


continuacin.
Pgina Rendimiento de la Base de Datos
Utilice esta pgina para obtener un repaso rpido de las estadsticas de rendimiento para esta base de
datos que forma parte del entorno Enterprise Manager. Con esta informacin, se puede determinar si
debe agregar o redistribuir los recursos de memoria.
Algunas de las tareas disponibles en esta pgina son:

Ver los problemas potenciales fuera y dentro de la base de datos actual.

Identificar la causa de los cuellos de botella.

Acceder a la informacin para SQL, sesiones, archivos y objetos principales.

Ejecutar ADDM para realizar un anlisis de rendimiento.

Generar un informe de diagnstico de rendimiento segn los datos de ejemplo de sesin.

Cambiar al modo Acceso a Memoria para sistemas lentos o bloqueados.

Acceder a otros enlaces de control.

95

Curso de Oracle 11g


Puede desplegar los enlaces que aparecen junto a los diagramas para realizar las siguientes tareas:

Identificar la causa de los problemas de rendimiento y resolverlos.

Decidir si es necesario agregar o redistribuir recursos para resolver problemas de


rendimiento.

Ajustar su plan SQL y su esquema para una mejor optimizacin.

Elemento
Valores

Descripcin
Haga clic en este botn para ir a la pgina Valores de Rendimiento, y elegir las
opciones siguientes:

Ver Datos

Seleccionar cul de los cuatro separadores de la pgina Rendimiento


deberan aparecer inicialmente como valor por defecto.
Seleccionar qu diagramas desea que aparezcan como valores por defecto
para los separadores Rendimiento Global y E/S.
Seleccionar si desea mostrar los valores de lnea base en los diagramas de
Media de Sesiones Activas, E/S, Rendimiento Global y Servicios.

El intervalo de refresco que seleccione afectar al tipo de dato mostrado y a la


disponibilidad de determinados tipos de enlaces de control adicionales. Si
selecciona Tiempo Real en la lista Ver Datos, estarn disponibles:

Bloqueos de Instancia
Sesiones Bloqueantes
Actividad de Instancias
Consumidores Principales
Instantneas
Sesiones de Bsqueda
SQL Duplicado
Actividad de Sesin Superior
Anlisis de Bloqueo
Buscar SQL
Lneas Base AWR
Juegos de Ajustes SQL

Si selecciona Histrico en la lista desplegable Ver Datos, aparecer otra pgina con
el diagrama Seleccin de Intervalo Histrico. Arrastre el recuadro sombreado al
intervalo de 24 horas deseado para actualizar los diagramas. La vista histrica
proporciona los siguientes enlaces de control:

Diagrama
Host

Actividad de Instancias
Instantneas
SQL Histrico
Juegos de Ajustes SQL

Este muestra los problemas potenciales fuera de la BBDD. La carga media es una
media mvil de la longitud de la cola de ejecucin. Esta indica el nivel de
contencin para el tiempo de CPU. Si la carga media no est disponible, se mostrar
el uso de CPU. Haga clic en la leyenda Carga Media situada a la derecha del
diagrama para ir a la pgina Rendimiento del Host.

96

Curso de Oracle 11g

Ejecutar
ADDM
Ahora

Este botn crea una nueva instantnea AWR y ejecutar ADDM en esta y la anterior.
Adems, en el diagrama Sesiones pueden aparecer uno o varios iconos ADDM. Al
hacer clic en un icono, se accede al Monitor de Diagnstico de Base de Datos
Automtico (ADDM) donde puede ver un anlisis de rendimiento de la base de
datos, ver detalles de instantnea, imprimir un informe completo del anlisis o
ejecutar ADDM de forma inmediata para un anlisis nuevo de rendimiento.

Ejecutar
Informe
ASH

Haga clic para generar un informe Historial de Sesiones Activas (ASH). Este
informe de diagnstico del rendimiento de la BBDD se basa en datos de ejemplo de
sesin en un perodo de tiempo determinado.

Diagrama
Media de
Sesiones
Activas

Muestra posibles problemas dentro de la BBDD. Las categoras, llamadas clases de


espera, muestran qu volumen de la BBDD est esperando un recurso, como CPU o
E/S del disco. El diagrama muestra la carga de la instancia e identifica cuellos de
botella del rendimiento.
Para identificar reas de problemas de forma rpida, el diagrama muestra un bloque
de color ms grande para indicar problemas ms graves. Haga clic en la clase de
espera mayor en el punto ms alto, o bien haga clic en la clase de espera
correspondiente (resaltada en amarillo) en Detalles de la Actividad. Cualquiera de
estas acciones lleva a la pgina Sesiones Activas en Espera para la clase de espera
seleccionada, que muestra SQL principal, sesiones, archivos y objetos para la clase
de espera y los eventos de espera asociados.
Haga clic en el enlace Actividad de Sesin Superior para ir a Actividad de Sesin
Superior, para mostrar todas las clases de espera y estadsticas de estas mtricas:

Sesiones Activas
SQL Principal
Sesiones Principales
Servicios Principales
Mdulos Principales
Acciones Principales
Archivos Principales
Objetos Principales
PL/SQL Principal

Diagramas
Los diagramas muestran cualquier contencin que aparezca en el diagrama Media
de
de Sesiones Activas y tambin cunto trabajo est realizando la BBDD del usuario.
Rendimiento
La vista Por Segundo muestra las conexiones, las transacciones, las lecturas
Global
fsicas y el tamao de redo por segundo.

Diagramas
de E/S

La vista Nmero por Transaccin muestra slo las lecturas fsicas por
transaccin y el tamao de redo por transaccin.

Latencia para Lecturas de nico Bloque Sncrono. La mayora de sistemas


muestran un rendimiento correcto si este diagrama muestra una latencia
inferior a 10 mseg.
Diagramas de Funcin: Muestran componentes como RMAN, lecturas
directas y escrituras directas. Haga clic en una de las leyendas en la parte
derecha de los diagramas para ir a la pgina Detalles de E/S, donde puede
ver datos histricos o en tiempo real para detalles en MB de E/S o
solicitudes de E/S.

97

Curso de Oracle 11g

Diagramas de Tipo de E/S: Muestran componentes como lecturas pequeas,


escrituras pequeas, lecturas grandes y escrituras grandes.
Diagramas de Grupo de Consumidores: Muestran grupos de consumidores
de recursos.

Grficos de
Ejecucin
en Paralelo

Muestran las mtricas de sistema relacionadas con consultas paralelas. Los


diagramas muestran consultas paralelas que estaban esperando un evento de espera
concreto que ha significado los mayores porcentajes de actividad de sesin.

Diagrama
Servicios

Muestra los servicios principales en espera para el evento de espera correspondiente


durante el perodo de tiempo mostrado. Slo se muestran servicios activos.
Haga clic en una de las leyendas de servicio en la parte derecha de los diagramas
para ir a la pgina Actividad de Servicio, donde puede ver datos en tiempo real que
muestran la carga de las sesiones para todas las clases de espera asociadas al
servicio.

Interpretacin del Diagrama Host


Los valores altos indican que hay muchos usuarios en espera en lnea para el tiempo de CPU.
Compare los valores con los de CPU del diagrama Sesiones. Si el valor de sesiones es bajo y el de la
longitud de la cola de ejecucin es alto, indica que hay algo ms en el host que no es la BBDD que
consume CPU.
Si ha seleccionado el modo Acceso a Memoria, el diagrama Host no muestra inicialmente datos
histricos, excepto si la pantalla se ha cargado recientemente y los datos histricos en cach estn
disponibles. Los datos del Host se almacenan en cach a partir de la hora a la que se accedi a la
pantalla por primera vez y llenan gradualmente el historial en el diagrama Host.
Interpretacin del Diagrama Media de Sesiones Activas
El recuento de sesiones se calcula clasificando el tiempo que han consumido todas las sesiones
activas en el ltimo intervalo de ejemplo en diferentes clases de espera, sumndole la cantidad de
cada clase de espera y dividindolo por el intervalo. Por ejemplo, si hay 3 sesiones activas en el
ltimo intervalo de 15 segundos y cada una ha empleado la mitad del tiempo en la CPU (7,5
segundos cada una) y la otra mitad han estado inactivas, aparecern 3 x 7,5 / 15 = 1,5 sesiones
activas en la CPU para este intervalo.
Compare los mximos del diagrama Media de Sesiones Activas con los de los diagramas
Rendimiento Global de Instancia. Si el diagrama Media de Sesiones Activas muestra numerosas
sesiones en espera, lo que indica contencin interna, pero el rendimiento global es alto, la situacin
ser aceptable. Probablemente, el rendimiento de la base de datos sea tambin eficaz si la contencin
interna es baja y el rendimiento global es alto. No obstante, si la contencin interna es alta y el
rendimiento global es bajo, habr que considerar un ajuste en la base de datos.
Seleccionar el modo Acceso a Memoria para sistemas lentos o bloqueados.
Puede hacer clic en el enlace Controlar Modo de Acceso a Memoria en la seccin Enlaces
Relacionados para activar el modo Acceso a Memoria. La pgina Rendimiento de la BBDD
reaparece con un botn Desactivar Modo de Acceso a Memoria y un botn Cambiar a Modo de
Acceso SQL en la esquina superior derecha.

98

Curso de Oracle 11g


Puede desactivar temporalmente el modo Acceso a Memoria haciendo clic en este botn, con lo que
reaparece la pgina Rendimiento de la BBDD en modo Acceso SQL. Para volver a activar el modo
Acceso a Memoria, haga clic en el enlace Controlar Modo de Acceso a Memoria y despus en
Activar Modo de Acceso a Memoria cuando reaparezca la pgina Rendimiento de la BBDD.
En el modo Acceso a Memoria, se recuperan estadsticas de rendimiento directamente desde el rea
Global Compartida (SGA) mediante las llamadas optimizadas/sencillas a nivel de sistema como una
alternativa para SQL. El modo Acceso a Memoria evita el clculo asociado al anlisis y ejecucin de
sentencias SQL, por lo tanto es perfecto para casos graves de contencin de cach de biblioteca que
pueden evitar que la instancia se controle en modo SQL. Se debe cambiar al modo Acceso para
sistemas lentos o bloqueados.
Las pginas en modo Acceso a Memoria contienen datos de ejemplo a una frecuencia mayor que las
pginas en modo SQL. Por este motivo, los diagramas pueden ser algo diferentes del modo SQL.
Enterprise Manager proporciona mejor informacin acerca del lugar de inicio y finalizacin de los
eventos y puede tambin manejar eventos de corta duracin que de otro modo, se podran perder.
Capacidades de SVG
Los diagramas, como los que aparecen en la pgina Rendimiento, estn diseados para beneficiarse
de las capacidades de SVG.

99

Curso de Oracle 11g

2.14 Conceptos de Backup y Recuperacin


Para conseguir un funcionamiento seguro de la BBDD y una pronta recuperacin ante fallos se
necesita planear una estrategia de copias de seguridad (backup), y de recuperacin (Recovery). Y el
primer paso es definir las caractersticas fundamentales de la implantacin. El segundo paso es
establecer unos planes de copias de seguridad y recuperacin que nos permitan asegurar los
objetivos.
El Servicio de Copias de Respaldo (VSS) en Windows permite realizar backups de volumen
mientras las aplicaciones, como Oracle, continan realizando escrituras en los volmenes. Una copia
de respaldo es una snapshot de los datos de un volumen o componente en un momento
determinado. Un grupo de copias de respaldo es una recopilacin de copias tomadas en el mismo
momento. Oracle ahora se integra con VSS para permitir el backup y la recuperacin de los archivos
de la BBDD Oracle.
VSS incluye una interfase especfica de Windows que permite la coordinacin entre las personas que
solicitaron el backup de datos, las personas que actualizan los datos en el disco y los proveedores
que administran el almacenamiento. Un beneficio clave es la capacidad de utilizar una aplicacin
activada por VSS para realizar un backup online de toda la BBDD.
El escritor VSS de Oracle es un servicio de Windows que coordina una instancia de BBDD Oracle y
otros componentes VSS. El servicio del escritor, el cual se inicia conforme a una cuenta de usuario
con privilegios SYSDBA, se ejecuta de modo separado desde la instancia de BBDD. El escritor
Oracle VSS soporta las copias de respaldo basadas en componentes, que son un grupo de archivos de
la BBDD. Durante el backup, el escritor VSS de Oracle guarda el redo generado durante la creacin
de una snapshot en un documento de metadatos. Durante una operacin de restauracin, el escritor
automticamente extrae el redo de un documento de metadatos y lo aplica a los archivos restaurados
de una snapshot.
El escritor VSS de Oracle tambin soporta copias de respaldo basadas en volmenes, las cuales son
una snapshot de volmenes o unidades completas. La BBDD Oracle colocar sus archivos en el
estado adecuado para crear copias de respaldo. Por ejemplo, los archivos de datos se colocan en
modo de backup activo y se crea un nuevo archivo de control de snapshots para la BBDD, en modo
ARCHIVELOG. El escritor VSS de Oracle excluye archivos como el archivo de control actual y los
archivos redo online de las copias de respaldo. El escritor emite un error si no se pudo sacar la
snapshot. Por ejemplo, si una base de datos NOARCHIVELOG se abre en modo de lectura/escritura,
luego el escritor emite un error indicando que la snapshot no ha sido posible.

100

Curso de Oracle 11g

2.15 Backup de Base de Datos


Planificar Copia de Seguridad
Utilice la pgina Estrategia del Asistente de Planificacin de Copia de Seguridad para:

Planificar Copia de Seguridad Sugerida por Oracle o Planificar Copia de Seguridad


Personalizada como estrategia para el trabajo de copia de seguridad.

Especificar si se debe crear una copia de seguridad de la base de datos completa, de archivos
especficos o de todos los archivos de recuperacin.

Introducir las credenciales de host.

Planificar Copia de Seguridad Sugerida por Oracle, que es automtica y se basa en el disco,
la cinta o la configuracin de disco y cinta.
Planificar Copia de Seguridad Personalizada, que permite desarrollar una estrategia
utilizando opciones avanzadas. Segn la opcin seleccionada, el Asistente de Copia de
Seguridad mostrar distintas pginas.
Puede configurar el rea de recuperacin desde el enlace Configurar Valores de Recuperacin
delseparador de la pgina de inicio de la BBDD. Con rea de Recuperacin, Enterprise Manager
puede automatizar la gestin de espacio en el disco para las copias de seguridad. Cuando lo haya
planificado, la configuracin de la BBDD no influir en el trabajo de copia de seguridad.
En la pgina Planificar Copia de Seguridad estn disponibles los campos y los botones siguientes:
Elemento

Descripcin

Botn Planificar
Copia de Seguridad
Sugerida por
Oracle

Permite planificar una copia de seguridad utilizando la estrategia de copia de


seguridad automtica de Oracle. El procedimiento crear una copia de
seguridad de la base de datos completa en un intervalo diario o semanal.
Utilice la estrategia de copia de seguridad Sugerido por Oracle para planificar
un trabajo de copia de seguridad diario con el mnimo de configuracin.

Botn Planificar
Permite seleccionar los objetos que se incluirn en la copia de seguridad. Esta
Copia de Seguridad opcin proporciona opciones de copia de seguridad avanzadas que permiten
Personalizada
planificar los trabajos de copia de seguridad con ms flexibilidad. La
configuracin de la base de datos que se puede ver en la hoja de propiedades
Valores de Copia de Seguridad influye en los trabajos de copia de seguridad
personalizados. Puede sustituir estos valores mediante la pgina Valores de
Sustitucin. Los trabajos de copia de seguridad que sustituyan a estos valores
siempre se ejecutarn con los valores especificados.
Toda la Base de
Datos

Crea una copia de seguridad de la base de datos completa. Si est abierta en


el momento de realizar la copia de seguridad, se cerrar y se montar antes.
La base de datos se volver a abrir una vez finalizada la copia de seguridad.

Todos los Archivos Permite especificar si se deben incluir todos los archivos de recuperacin del
de Recuperacin en disco. Entre ellos se incluyen los archive logs y las copias de seguridad en
el Disco
disco que no se han realizado en cinta.
Credenciales de
Host

Debe introducir las credenciales del host (Usuario y Contrasea) y, a


continuacin, indicar si las credenciales se deben guardar mediante la opcin
Guardar como Credencial Preferida.

101

Curso de Oracle 11g

Pgina Gestionar Copias de Seguridad Actuales: Copias de Imgenes


Esta pgina, la utilizaremos para:

Buscar y mostrar una lista de copias de imgenes.

Realizar operaciones de gestin en copias, juegos o archivos seleccionados.

Nota: Si se conecta a Enterprise Manager con privilegios SYSDBA, cualquier usuario del sistema
operativo del host vlido que tenga permisos de ejecucin podr planificar y ejecutar tareas que
necesiten las credenciales del sistema operativo del host. Si no tiene privilegios SYSDBA, debe
proporcionar las credenciales de un usuario desde el grupo del DBA del sistema operativo del host
para poder planificar o ejecutar tareas que soliciten credenciales.
En la pgina Gestionar Copias de Seguridad Actuales - Copias de Imgenes estn disponibles los
campos, botones y opciones siguientes:
Elemento

Descripcin

Estado

Permite buscar copias de imgenes o copias mediante los filtros


Disponible y Obsoleto para aislar objetos especficos.

Contenido

Permite filtrar an ms la lista de resultados al incluir o eliminar tipos de


archivo, por ejemplo, Archivo de Datos, Redo Log Archivado, SPFILE o
Archivo de Control.

Hora de Finalizacin

Busca copias de imgenes que se han finalizado dentro de un perodo de


tiempo especificado. Con la lista desplegable seleccionamos el tiempo.

102

Curso de Oracle 11g


Tabla Resultados

Muestra los resultados de la bsqueda seleccionada. La tabla de


resultados enumera los elementos Clave, Etiqueta, Hora de Finalizacin,
Contenido, Tipo de Dispositivo, Estado, Mantener y Partes para cada
copia de imgenes.

Credenciales de Host

Permite proporcionar las credenciales de conexin del sistema operativo


para acceder a la base de datos destino y realizar operaciones de gestin
de copias de seguridad. Introduzca el Usuario, la Contrasea y,
opcionalmente, seleccione usar la opcin Guardar como Credencial
Preferida para guardar las credenciales y usarlas en el futuro.

Catalogar Archivos
Adicionales

Permite catalogar partes de copias de seguridad en disco o agregar


metadatos al repositorio de Recovery Manager cuando no dispone de
ningn registro de estos archivos.

Realizar
Comprobacin
Cruzada de Todos

Permite asegurarse de que los datos sobre las copias de imgenes en el


catlogo de recuperaciones o en el archivo de control estn sincronizados
con los datos correspondientes en el disco o en el catlogo de gestin de
medios fsicos mediante la funcin Realizar Comprobacin Cruzada de
Todos. Las comprobaciones cruzadas pueden actualizar la informacin
del repositorio RMAN anticuada sobre las copias de seguridad cuyos
registros de repositorio no coinciden con su estado fsico.

Suprimir Todos los


Registros Obsoletos

Permite eliminar las copias de imgenes obsoletas o las que


determinemos. Puede utilizar la funcin para crear un trabajo que elimine
los archivos fsicos, los registros del catlogo de recuperacin (si ha
utilizado un catlogo) y actualiza los registros del archivo de control de
destino al estado SUPRIMIDO.

Suprimir Todos los


Registros Vencidos

Elimina los registros vencidos. Utilice primero la funcin Realizar


Comprobacin Cruzada de Todos para determinar si las copias de
imgenes registradas en el repositorio existen todava en disco o en cinta.
Si Enterprise Manager no ha encontrado las copias de imgenes,
actualizar sus registros al estado VENCIDO. A continuacin, podr
utilizar la funcin Suprimir Todos los Registros Vencidos para eliminar
los registros.

103

Curso de Oracle 11g

2.16 Recovery (Recuperacin) de Base de Datos


Valores de Recuperacin
Utilice esta pgina para:

Establecer los parmetros de la recuperacin de fallo de las instancias y los medios fsicos.

Cambiar del modo ARCHIVELOG al modo NOARCHIVELOG.

Especificar la ubicacin y el tamao del rea de recuperacin de flash.

Activar Flashback de Base de Datos

Especifca hasta qu punto en el pasado se desea realizar el flash de la BBDD en el futuro.

La reconstruccin de datos se realiza a travs de la recuperacin del medio fsico, que se refiere a
distintas operaciones implicadas en la restauracin, aplicacin de transacciones pendientes y en la
realizacin de rollback de una copia de seguridad de los archivos de la base de datos.
Puede recuperar un archivo de datos restaurado aplicando los redo logs archivados y los redo logs en
lnea a un proceso actualizado. Despus de restaurar los archivos necesarios, el usuario debe iniciar
la recuperacin de medios fsicos para esta recuperacin se pueden utilizar redo logs archivados y
redo logs en lnea recuperando los archivos de datos.
La recuperacin de fallo, es la recuperacin de una BBDD en una configuracin de instancia nica o
en una configuracin de Oracle Real Application Clusters en la que todas las instancias han fallado.

104

Curso de Oracle 11g

La pgina Valores de Recuperacin consta de las secciones, campos, botones y tablas siguientes:
Elemento

Descripcin

Seccin
Recuperacin de
Instancia

Utilice la Recuperacin de Instancia para designar el tiempo medio deseado


para recuperar la instancia en minutos o segundos. El parmetro de
inicializacin FAST_START_MTTR_TARGET especifica el nmero de
segundos estimado para la recuperacin de fallo. Puede ignorar este tiempo
de recuperacin definiendo FAST_START_MTTR_TARGET en 0 e
introduciendo el tiempo medio de recuperacin en el campo Tiempo Medio
Deseado para la Recuperacin.
Nota: Para las BBDD de cluster, si el valor Tiempo Medio Deseado para la
Recuperacin no es el mismo para todas las instancias, el campo aparecer
en blanco con un mensaje que indica que las instancias tienen distintos
valores. En ese caso, si introduce un nmero en este campo, se definir el
tiempo medio de recuperacin de todas las instancias de la base de datos.

Seccin
Recuperacin del
Medio Fsico

Utilice esta seccin para definir los parmetros necesarios para la


recuperacin del medio fsico. Primero debe activar Modo Archive Log para
que la BBDD se pueda recuperar de un fallo de disco, haciendo clic en el
recuadro de opcin Modo Archive Log. Despues puede activar el archivo
automtico para archivar los archivos redo log archivados automticamente.
Puede definir el formato que se utilizar en el archivo introduciendo el tipo
de archivo en el campo Formato del Nombre de Archivo de Archive Log.
Nota: Para las BBDD de cluster, si el valor Destino de Archive Log no es el
mismo para todas las instancias, el campo aparece en blanco con un mensaje
que indica que tienen distintos valores en ese campo. Para ello, se definir la
misma ubicacin del archive log de todas las instancias de la BBDD.

105

Curso de Oracle 11g


Seccin
Recuperacin de
Flash

El rea de recuperacin de flash es un directorio gestionado por Oracle, un


sistema de archivos o un grupo de discos de gestin automtica de
almacenamiento que proporciona una ubicacin de disco centralizada para
los archivos de copia de seguridad y de recuperacin. Oracle crea archive
logs en el rea de recuperacin de flash. Pero esto lo veremos mas adelante.

Activar Flashback
de Base de Datos

El rea de recuperacin de flash se debe definir para activar el registro de


flashback. Pero esto lo veremos mas adelante

106

Curso de Oracle 11g

2.17 Traspaso o movimiento de Datos


Movimiento de Datos de la Base de Datos
La pgina Movimiento de Datos de la BBDD se utiliza para realizar tareas como la exportacin e
importacin de datos desde y hacia los archivos, la carga de datos en una base de datos Oracle desde
un archivo y la recopilacin, estimacin y supresin de estadsticas para mejorar el rendimiento de
consultas SQL frente a los objetos de BBDD.

Esta pgina est organizada en las siguientes secciones:


Mover Datos de Fila
Pgina Movimiento de Datos: Seccin Mover Datos de Fila
Utilice estas funciones para realizar las siguientes tareas:

Exportar a Archivos de Exportacin: Utilice el Asistente de Exportacin para exportar el


contenido de la BBDD, de los objetos de los esquemas del usuario y de las tablas.

Importar de Archivos de Exportacin: Utilice el Asistente de Importacin para importar el


contenido de objetos y tablas.

Importar de Base de Datos: Utilice el Asistente de Importacin de la BBDD para importar el


contenido de una BBDD.

Cargar Datos de Archivos de Usuario: Utilice el Asistente de Carga de Datos de Archivo


para cargar datos de una BBDD que no es Oracle en una BBDD Oracle.

107

Curso de Oracle 11g

Controlar Trabajos de Importacin y Exportacin: Utilice esta funcin para controlar el


estado de trabajos de importacin y exportacin actuales y terminados.

Mover Archivos de Base de Datos


Pgina Movimiento de Datos: Seccin Mover Archivos de Base de Datos
Esta seccin se utiliza para:

Transportar Tablespaces: Utilice esta funcin para mover un subjuego de una BBDD Oracle
de una BBDD Oracle a otra, incluso entre plataformas diferentes.

Clonar Base de Datos: El Asistente de Clonacin de BBDD duplica la BBDD actual. Para
ello, realice primero una copia de seguridad y, a continuacin, transfiera la base de datos
actual a un directorio raz de Oracle de destino.

Flujos
Pgina Movimiento de Datos: Seccin Flujos
La seccin Flujos de la pgina Movimiento de Datos de la BBDD se utiliza para acceder a la funcin
Flujos. Cada unidad de informacin compartida se denomina mensaje. Estos mensajes se pueden
compartir en un flujo.
El flujo puede propagar informacin dentro de la base de datos o desde una base de datos a otra. El
flujo direcciona la informacin especificada a destinos determinados. Los flujos proporcionan las
capacidades necesarias para crear y manejar empresas y aplicaciones distribuidas, almacenes de
datos y soluciones de alta disponibilidad.
Se puede controlar la informacin que se incluye en un flujo, cmo se mueve o se direcciona el flujo
entre BBDD , qu les ocurre a los mensajes de los flujos a medida que se mueven en la BBDD y
cmo termina el flujo. Si se configuran capacidades especficas de flujos, se pueden satisfacer
requisitos especficos. Streams puede capturar, almacenar en zona intermedia y gestionar
automticamente mensajes de la base de datos, incluyendo cambios de lenguaje de manipulacin de
datos (DML) y de lenguaje de definicin de datos (DDL).
Replicacin Avanzada
Pgina Movimiento de Datos: Seccin Replicacin Avanzada
La seccin Replicacin Avanzada de la pgina Movimiento de Datos de la Base de Datos se utiliza
para copiar y mantener objetos de base de datos como tablas, en varias bases de datos que componen
un sistema de base de datos distribuida. Oracle Enterprise Manager admite los tipos de replicacin
siguientes:
Replicacin de Varios Maestros: La replicacin de varios maestros est compuesta por varias
ubicaciones maestras que participan por igual en un modelo de actualizacin en cualquier ubicacin.
Las actualizaciones realizadas en una ubicacin maestra individual se propagan (envan) a todas las
dems ubicaciones maestras participantes mediante enlaces de base de datos.
Replicacin de Vista Materializada: La replicacin de vista materializada permite crear rplicas
completas o parciales de tablas de la base de datos origen (denominada ubicacin maestra) en una o
ms bases de datos destino (denominadas ubicaciones de vistas materializadas).

108

Curso de Oracle 11g


Transacciones con Errores: stas son las transacciones de otra ubicacin maestra o ubicacin de
vista materializada que no se pueden aplicar correctamente a la ubicacin maestra actual. Puede
eliminar, reintentar o ver los detalles del error en la pgina de error de la transaccin.
Transacciones Diferidas: stos son los cambios de lenguaje de manipulacin de datos (DML) de una
tabla almacenados en una cola en un entorno de replicacin asncrona. Las transacciones diferidas se
propagan a los destinos a intervalos planificados o a peticin. El usuario puede eliminar, transferir la
transaccin manualmente o ver los detalles de la transaccin en la pgina Transaccin diferida.
Enlaces Planificados: Un enlace planificado es un enlace de BBDD con una planificacin definida
por el usuario para transferir transacciones diferidas. Determina cmo una ubicacin maestra
propaga sus transacciones diferidas a otra ubicacin maestra, o bien cmo una ubicacin de vista
materializada propaga sus transacciones diferidas a su ubicacin maestra. En la pgina Enlace
Planificado, el usuario puede planificar todos los enlaces y tambin definir las opciones adicionales
como, por ejemplo, propagacin, parar en error, etc.

109

Curso de Oracle 11g

2.18 Mejora de las posibilidades de la base de datos


Mejoras de Escalabilidad
Uno de los principales objetivos de Oracle en Windows es explotar por completo cualquier
tecnologa de hardware y sistema operativo que pueda ayudar a aumentar la escalabilidad, el
rendimiento y la capacidad de la BBDD. Se han asumido muchas actividades para soportar grandes
cantidades de usuarios conectados a la BBDD en Windows. Al utilizar la arquitectura de servidor
compartido de Oracle, que limita la cantidad de threads que se ejecutan en el proceso de BBDD
Oracle, se han logrado ms de 10000 conexiones simultneas a una sola instancia de BBDD.
Asimismo, las caractersticas de grupos de conexin y multiplexores de red pueden permitir una
configuracin extensiva para lograr una mayor cantidad de usuarios conectados a una sola instancia
de BBDD.
Recientemente, los administradores de BBDD en Windows han podido aumentar an ms su
recuento de usuarios al implementar Oracle Real Application Clusters (RAC). Oracle RAC permite
el acceso de mltiples servidores a los mismos archivos de BBDD, aumentando as el nmero de
conexiones de usuarios y el resultado. Debido a que se pueden incorporar commodities de hardware
como nodos adicionales a un cluster RAC, RAC ha sido por tanto, una solucin tradicional para la
alta disponibilidad y el escalamiento econmico.
Mejoras I/O de Archivos
Otra rea sobre la que se ha trabajado mucho en cuanto al cdigo de BBDD Oracle se refiere al
soporte de archivos en cluster, archivos grandes, y archivos binarios. El sistema de archivos en
cluster de Oracle es parte integral de Oracle 11g que facilita la administracin e instalacin de los
clusters de Oracle.
Para poder garantizar que todas las caractersticas de Windows se aprovechen al mximo, la BBDD
soporta I/O de archivos de 64 bits para permitir tamaos de archivos superiores a 4GB. Asimismo, se
soportan los archivos binarios lgicos y fsicos para los archivos de control, los archivos testigo y los
archivos de datos a fin de permitir un mejor desempeo utilizando Oracle RAC y BBDD de instancia
nica en Windows.
Mejora aplicaciones.
Cuando un usuario ejecuta una determinada aplicacin pueden activarse, o desactivarse,
selectvamente roles en funcin de nuestro inters. Los roles tambin pueden protegerse con claves y
siendo activados slo si una aplicacin proporciona la clave correcta.
Mejora de la productividad.
El uso de roles disminuye el numero de grants almacenados en el diccionario de datos.
Mejora de la Compresin
Como los clientes buscan almacenar grandes volmenes de datos, la compresin es una solucin
natural. Los algoritmos de compresin de Oracle (oscilan entre 2:1 y 5:1) ofrecen un mecanismo
exclusivo para comprimir los datos almacenados en tablas relacionales sin casi ningn impacto
negativo sobre el desempeo de las consultas. Esta compresin se ha mejorado para mejorar
actualizaciones y entradas frecuentes y pequeas. Esta mejora ofrece beneficios de compresin para
las tablas de data warehouse con pocos suministros o que se actualizan con frecuencia.

110

Curso de Oracle 11g


Mejora de las Consultas
El rendimiento de la consulta se mejora sustancialmente, puesto que el optimizador puede reconocer
que solamente se tiene que acceder a un subconjunto de las particiones de una tabla con el fin de
resolver la consulta.
El optimizador puede reconocer que en una reunin no es necesario intentar hacer corresponder
todas las filas en una tabla con todas las filas en la otra, pero que las reuniones se necesitan realizar
solamente entre pares coincidentes de divisiones esto correponde a la reunin por particiones.
Mejora de ajustes en SQL
En Oracle 11g, el proceso de ajuste SQL se ha mejorado y automatizado para mantener las BBDD
ejecutndose al mximo nivel de desempeo. SQL Tuning Advisor ahora se ejecuta
automticamente a travs de las ventanas de mantenimiento del sistema como una tarea de
mantenimiento. En cada ejecucin, ste selecciona automticamente consultas SQL ms pesadas en
el sistema y genera recomendaciones para ajustarlas. Para validar la recomendacin, SQL Tuning
Advisor realiza una ejecucin de prueba de las sentencias SQL con el nuevo plan de ejecucin para
el cual se recomienda un Perfil SQL. Esto aumenta radicalmente la precisin y confiabilidad del
Perfil SQL.
Bsquedas LOB Ms Rpidas
ODP.NET 11g mejora el desempeo de recuperacin de LOB pequeas al reducir la cantidad de
recorridos hacia la BBDD necesarios para buscar los metadatos LOB. Esta mejora es transparente
para el desarrollador, quien no necesita ningn cambio de cdigo para utilizar esta caracterstica.
Cach Optimizado de Sentencias
ODP.NET 11g mejora la actual infraestructura del cach de sentencias para poner en cach los
contextos de parmetros ODP.NET. Esta mejora funciona con cualquier versin del servidor de base
de datos Oracle actualmente soportada. Los desarrolladores .NET advertirn una mejora de
desempeo al ejecutar consultas de sentencias en cach. Esta mejora es transparente para los
desarrolladores, y no requiere cambios de cdigo.
Oracle Wallets en Windows Registry
Oracle wallets puede almacenarse en Windows Registry, brindando una mayor seguridad para los
clientes Windows. Sin esta caracterstica, los wallets de Oracle se almacenan en el sistema de
archivos Windows. Si los permisos de archivos del sistema operativo no son seguros, los wallets de
Oracle tampoco lo son. En los sistemas Windows, por consiguiente, la seguridad de la
infraestructura de claves pblicas (PKI) se mejora al almacenar Oracle wallets en el rea del perfil de
usuarios de Windows Registry. Esta rea de registro es accesible solamente para el usuario
debidamente registrado y se pueden utilizar y almacenar mltiples Oracle wallets.
La conexin nica para las aplicaciones PKI de Oracle se configura a travs de las herramientas de
Oracle Wallet Manager y Oracle Enterprise Login Assistant. Wallet Manager crea Oracle wallets
encriptados, mientras que Enterprise Login Assistant crea wallets desencriptados. Los wallets
desencriptados son luego utilizados por las aplicaciones PKI de Oracle para la autenticacin SSL.
Ambas herramientas han sido optimizadas para soportar el almacenamiento y la ubicacin de Oracle
wallets en el registro, as como el sistema de archivos por defecto, en caso de ser necesario.

111

Curso de Oracle 11g

3. ADMINISTRACIN AVANZADA DE BASES DE DATOS


ORACLE 11g
3.1 Arquitectura de Oracle Database y ASM
En Oracle se usan dos trminos muy habitualmente entre los profesionales en BBDD Oracle
instancia (instance) y BBDD (database). El termino database se refiere al almacenamiento fsico de
la informacin, mientras que instance se refiere al software que se esta ejecutando en un servidor y
provee acceso a los datos. Una instancia corre en un computador donde esta almacenada la BBDD
en disco.
Oracle usa un rea de memoria compartida llamada System Global Area (SGA) y un rea de
memoria privada para cada proceso llamada Program Gobal Area (PGA). Una instancia puede ser
parte de solo una database y multiples instancias pueden ser parte de la misma database. Una
instancia puede ser definida como un puente hacia la base de datos como se muestra en la figura.

ESTRUCTURA LGICA DE ORACLE


Tablespace
Un tablespace es una estructura lgica que esta formado por estructuras fsicas llamadas datafiles;
cada tablespace contiene uno o ms datafiles. Cuando se crea una tabla, se puede especificar el
tamao de la tabla en la cual se crear. Los tablespace se utilizan para mantener unidos los datos de
usuarios o de aplicaciones para facilitar su mantenimiento o mejorar las prestaciones del sistema.
Un tablespace puede quedarse offline debido a un fallo de disco, permitiendo que el SGBD contine
funcionando. Los tablespace pueden estar montados sobre dispositivos pticos y permiten distribuir
a nivel lgico/fsico los distintos objetos de las aplicaciones. Son una unidad lgica de
almacenamiento, pueden usarse para aislar completamente los datos de diferentes aplicaciones.
Oracle permite realizar los backup/recovery a nivel de tablespace mientras la BD sigue funcionando.

112

Curso de Oracle 11g


Archivos de una Base de Datos
Hay tres tipos de archivos fsicos en una BBDD que representan la BBDD fsica:
1. Archivos de Control
2. Archivos de datos
3. Archivos de Redo log
Archivos de control
Contiene las localizaciones de otros archivos fsicos de la BBDD, adems de informacin acerca del
contenido y el estado de la BBDD como:

El nombre de a base de datos

Fecha de creacin

Nombres y localizaciones de los archivos de datos y ficheros redo log

Informacin del tablespace.

Una BBDD debera tener como mnimo dos archivos de control en diferentes discos fsicos. Si no
hay una copia de un archivo de control, se corre el riesgo de perder fracciones de la BBDD. Aunque
se pueden reconstruir estos archivos, no sin ciertos riesgos al momento de reconstruirlo.
Se puede especificar multiples copias del archivo de control en los parmetros del archivo as:
control_files = (/u00/oradata/control.001.dbf,
/u01/oradata/control.002.dbf,
/u02/oradata/control.003.dbf)
Archivos de Datos
Los archivos de datos contienen los datos almacenados actualmente en la BBDD, las tablas e
ndices, el diccionario de datos que mantiene informacin acerca de estas estructuras de datos. Y
tienen las siguientes caractersticas:

Un fichero slo puede estar asociado con una BBDD.

Los ficheros de datos pueden reservar automticamente extensiones cuando se acaba el


espacio.

Uno o ms ficheros de datos forman una unidad lgica de almacenamiento llamada


tablespace.

Nmero de secuencia del redo log en curso

Informacin de checkpoint

Informacin de los archivo redo log

Informacin de backup

Se trata de un fichero binario, sin el cual no es posible arrancar la BBDD. Por ello es conveniente
mantener varias copias del mismo, en diferentes discos. Este se lee al montar la BBDD.

113

Curso de Oracle 11g


Su tamao es fijo, y depende de los parmetros indicados al crear la BBDD con CREATE
DATABASE; como por ejemplo MAXLOGFILES y MAXDATAFILES.
Archivos Redo log
Estos archivos contienen una grabacin de los cambios hechos a la BBDD como resultado de
transacciones y actividades internas de Oracle. Esto puede servir para hacer un control de las
transacciones en el caso de algn fallo para recuperar la BBDD.
Los ficheros redo log se organizan en grupos. Una BBDD requiere al menos dos grupos y cada
fichero redo log dentro de un grupo se llama miembro.
La idea es que cada grupo tenga tantos miembros como discos disponemos para mantener las copias
de los redo, siendo lo usual tener 3 grupos de redo con 2 miembros cada uno.
Los ficheros redo log se usan de manera circular: cuando uno se llena, el LGWR comienza a escribir
en el siguiente grupo (log switch), hasta volver al primero. Cuando ocurre un log switch,
tambin ocurre un checkpoint; y se actualiza el fichero de control. Podemos forzar un log switch o
un checkpoint con:

ALTER SYSTEM SWITCH LOGFILE;

ALTER SYSTEM CHECKPOINT;

El LGWR escribe al hacer commit, o cada 3 segundos, o si el buffer redo log se llena 1/3, y antes de
que el DBWR vuelque los cambios de los buffers de datos a los ficheros de la BBDD.
Aadir grupos y miembros de redo
Aadir grupos al Redo Log Online:
ALTER DATABASE ADD LOGFILE GROUP 3 (/u04/oradata/CURSO98/redo03a.log,
/u03/oradata/CURSO98/redo03b.log) SIZE 1M;
Aadir miembros Redo Log Online:
ALTER DATABASE ADD LOGFILE MEMBER
/u03/oradata/CURSO98/redo01b.log TO GROUP 1,
/u03/oradata/CURSO98/redo02b.log TO GROUP 2;
Eliminar grupos y miembros de redo
Eliminar grupos del Redo Log Online:
ALTER DATABASE DROP LOGFILE GROUP 3;
No puede haber menos de 2 grupos y no se puede borrar el grupo activo, al borrar un grupo no se
eliminan los ficheros del sistema operativo.
Eliminar miembros Redo Log Online:
ALTER DATABASE DROP LOGFILE MEMBER
/u03/oradata/CURSO98/redo03b.log;

114

Curso de Oracle 11g


Automatic Storage Management (ASM)
Qu es ASM?

Es un sistema de ficheros de alto rendimiento

Elimina la necesidad de gestores de volmenes

Realiza la optimizacin de las operaciones de E/S de manera automtica

Es capaz de utilizar el balanceo de datos y mirroring entre todos los discos

Particularidades de ASM
Maneja el espacio en forma de grupos de discos. Divide cada fichero en extensiones (de 128K o 1M)
y las reparte entre los discos de un grupo (striping). Permite mirror y lo hace a nivel de fichero,
gestionando el mirror a nivel de extensin.
Dispone de varias opciones de mirror (a nivel de grupos de discos):
2-way mirroring (1 copia por extensin), 3- way (2 copias) y unprotected (sin mirror).
Y opciones de striping:
fine (128Kb) y coarse (1M).
Adems, se puede desactivar mirror y/o striping.

Al aadir nuevo disco a un grupo, rebalancea los datos online. Si esto genera mucha E/S, se
puede frenar con ASM_POWER_LIMIT (en el init de la propia instancia ASM).

ASM necesita un tipo de instancia especial:


Tiene init y orapw, pero no DD. Usuarios SYS y SYSTEM con autenticacin SO
Instancia: mount o no mount (nunca open). Memoria: de 60M a 120M.
Comandos de gestin propios: create | alter | drop diskgroup.
Nuevos procesos background:

RBAL: coordina el rebalanceo de discos en cada grupo.

ORBn (n=0...9): ejecuta el rebalanceo, moviendo extensiones entre discos. Cada BD q usa
ASM, tiene dos procesos en background:
OSMB: comunicacin entre BD y la instancia ASM.
RBAL: abre y cierra los discos en los grupos, en la parte de la BD.
115

Curso de Oracle 11g

Parmetros del init (para instancia ASM y/o BD q la usa):


instance_type = ASM (para una BD es RDBMS)
db_unique_name = +ASM (valor por defecto)
asm_power_limit = 1 (mximo 11; velocidad rebalanceo; 1 = lento)
asm_diskstring (limita los disp. de disco usables para grupos de discos; ejemplo:
'/dev/hd*').
asm_diskgroups (nombres de grupos de discos que se mostarn automticamente; por
defecto vale NULL y los monta todos).
large_pool_size (al menos 8M, para ejecutar los paquetes internos de uso de ASM)

Ejemplo de init de una instancia ASM:


instance_type=ASM
db_unique_name=+ASM
asm_power_limit=1
asm_disk_string=/dev/vgora01/rdsk/*, /dev/vgora02/rdsk/*
asm_disk_groups=diskgrp1, diskgrp2
large_pool_size=16M

116

Curso de Oracle 11g

3.2 Configuracin de Recuperabilidad


Una de las tareas que debemos realizar, para asegurarnos de la recuperabilidad en Oracle es agregar
un servidor de administracin y utilizar Oracle Secure Backup
Agregar Servidor de Administracin
Debemos utilizar Oracle Secure Backup para proteger datos desde cualquier punto de una red de
sistemas de un solo proveedor o de varios proveedores. Oracle Secure Backup permite configurar
servidores de administracin y servidores de medio fsico y, adems de permitir gestionar
configuraciones de dispositivos y medios. Puede realizar copias de seguridad y recuperar datos en
unidades de cinta y bibliotecas a las que slo se accede a travs de Network Data Management
Protocol (NDMP).
En Enterprise Manager, utilice la pgina Agregar Servidor de Administracin para agregar un
servidor de administracin a su configuracin de Oracle Secure Backup. Si est utilizando la consola
de Database Control, el servidor de administracin debe ser el mismo servidor que en el que se est
ejecutando Enterprise Manager.
El servidor de administracin es una mquina del dominio que contiene una copia de Oracle Secure
Backup y las bases de datos que incluyen los valores de configuracin y que almacenan el historial
de copias de seguridad.
NOTA: Necesita un servidor de administracin para cada dominio administrativo.
Esta pgina muestra los siguientes campos:
Campo

Descripcin

Servidor de
Administracin

El nombre del servidor de administracin y el icono Buscar.

Directorio Raz de
Oracle Secure Backup

Ruta de acceso para la instalacin de Oracle Secure Backup

Usuario

Nombre de usuario de todas las operaciones remotas. En Usuario se


introduce el nombre de usuario que se utiliza para acceder a Oracle
Secure Backup para todas las operaciones. El nombre de usuario se
transfiere a la interfaz de la lnea de comandos como argumento de la
lnea de comandos.

Contrasea

Al instalar Oracle Secure Backup, se crea el usuario "admin". La


contrasea de este usuario est en blanco por defecto.

Una de las formas de recuperar una BBDD es utilizar un punto de restauracin. Puede utilizar uno de
estos puntos, como un punto especifico en el tiempo para restaurar la base de datos.
Utilizaremos la pgina Gestionar Puntos de Restauracin para:

Buscar o mostrar una lista de puntos de restauracin disponibles.

Seleccionar un punto de restauracin para suprimir.

Crear un punto de restauracin nuevo o crear un punto de restauracin garantizado.

117

Curso de Oracle 11g


Un punto de restauracin es un nombre asociado a un punto anterior en el tiempo de la BBDD.
Puede realizar un flashback de la BBDD a un punto de restauracin si los logs de flashback y los
archive logs necesarios existen. El punto de restauracin garantizado permanece en la base de datos
a menos que se suprima expresamente.
IMPORTANTE: Los puntos de restauracin no garantizados caducan automticamente.
En Gestionar Puntos de Restauracin encontraremos los siguientes campos:
Campo

Descripcin

Nombre de Punto de
Restauracin

Permite introducir un nombre de punto de restauracin para filtrar el


nmero de puntos de restauracin de que disponemos.

Botn Ir

Permite iniciar la bsqueda.

Botn Crear

Crea un punto de restauracin nuevo y muestra la pgina Crear Punto de


Restauracin.

Tabla Puntos de
Restauracin

Esta tabla muestra los puntos de restauracin con estos elementos:


Nombre de Punto de Restauracin
Hora de Punto de Restauracin
Tipo de Punto de Restauracin
Tamao de Almacenamiento
SCN de Creacin.
En la columna Tipo de Punto de Restauracin se indica si se trata de un
punto de restauracin garantizado.
La columna Tamao de Almacenamiento indica la cantidad de espacio de
almacenamiento que utiliza el punto de restauracin y el espacio mximo
que se puede recuperar al suprimir este punto de restauracin.

Nota: Debe tener privilegios SYSDBA para crear/suprimir un punto de restauracin garantizado.

118

Curso de Oracle 11g

3.3 Uso del Catlogo de Recuperacin de RMAN


La utilidad RMAN, permite realizar copias y recuperaciones en la BBDD y automatiza la
administracin de las mismas, estas siglas pertenecen a: Recovery Manager (RMAN) es un
programa que permite realizar una copia de datos. Esisten dos formas de utilizar RMAN, una es
utilizar el comando RMAN BACKUP, RMAN por defecto crea un conjunto de copia de seguridad y
la otra es con el comando RESTORE se restaurara la informacin, todo esto en un formato
propietario por lo que se necesita RMAN para la recuperacin, o bien la que trataremos en este
manual, a travs de la consola Enterprise Manager.
Accederemos a la ficha Disponibilidad y al apartado Configuracin de Copia de
Seguridad/Recuperacin.

Valores del Catlogo de Recuperacin


Un catlogo de recuperacin es un esquema lgico complementario, creado en una BBDD distinta
de la que se est realizando la copia de seguridad, que contiene una copia del repositorio de RMAN.
RMAN siempre almacena la copia primaria del repositorio de RMAN en el archivo de control de la
BBDD destino, de forma que el catlogo de recuperacin no ser necesario si se utiliza RMAN. El
catlogo de recuperacin es til para centralizar la informacin sobre copias de seguridad de varias
BBDD y puede ayudar bastante en la recuperacin de la prdida de un archivo de control.
Se puede utilizar la pgina Valores del Catlogo de Recuperacin para especificar dnde almacenar
los metadatos sobre la BBDD de destino, seleccionar si la informacin de metadatos debe
almacenarse en el archivo de control o en un catlogo de recuperacin o agregar un catlogo de
recuperacin. Si selecciona un catlogo de recuperacin para el que no est registrada una base de
datos, la base de datos afectada se registrar automticamente haciendo clic en Aceptar.

119

Curso de Oracle 11g


En la pgina Valores del Catlogo de Recuperacin estn disponibles los campos, los botones y las
tablas siguientes:
Campo

Descripcin

Usar Archivo de Control

Permite seleccionar el uso del archivo de control.

Mantener Registros de
RMAN (das)

Permite especificar el nmero de das que se deben conservar los


registros de RMAN en el archivo de control antes de que se puedan
volver a utilizar. Nota: El parmetro Mantener Registros de RMAN
(en das) slo se aplica a los registros del archivo de control que se
vuelven a utilizar de manera recurrente, como los registros de archive
log y diferentes registros de copias de seguridad. No se aplica a
archivos de datos, tablespaces ni registros de threads de redo, que
nunca se vuelven a utilizar a menos que se borre el objeto
correspondiente del tablespace.

Usar Catlogo de
Recuperacin

Si decide utilizar un catlogo de recuperacin, puede seleccionar uno


de la lista Catlogo de Recuperacin o puede seleccionar Agregar
Catlogo de Recuperacin para crear uno nuevo. Tambin puede usar
esta pgina para ir a otras pginas que permiten registrar o anular el
registro de una base de datos desde un catlogo de recuperacin o para
volver a sincronizar los metadatos de RMAN para el destino de base
de datos de un catlogo de recuperacin. Consulte los enlaces a estas
funciones en Temas Relacionados.

Catlogo de
Recuperacin

Lista desplegable que muestra los catlogos de recuperacin


configurados actualmente.

Botn Agregar Catlogo


de Recuperacin

Muestra la pgina Agregar Catlogo de Recuperacin en la que puede


agregar un catlogo de recuperacin.

Credenciales de
Contrasea

Si la BBDD no est registrada en el catlogo seleccionado, agregue el


usuario de host y la contrasea necesarios. Para guardar las
credenciales, seleccione la opcin Guardar como Credenciales
Preferidas.

Nota: Si se conecta a Enterprise Manager con privilegios SYSDBA, cualquier usuario del sistema
operativo del host vlido que tenga permisos de ejecucin podr planificar y ejecutar tareas que
necesiten las credenciales del sistema operativo del host. Si no tiene privilegios SYSDBA, debe
proporcionar las credenciales de un usuario desde el grupo del DBA del sistema operativo del host
para realizar operaciones como Copia de Seguridad, Valores de Copia de Seguridad, Gestin de
Copias de Seguridad y Valores de Recuperacin.

120

Curso de Oracle 11g

Agregar/Editar Catlogo de Recuperacin: Base de Datos


Un catlogo de recuperacin es un esquema lgico complementario, creado en una BBDD distinta
de la que se est realizando la copia de seguridad, que contiene una copia del repositorio de RMAN.
RMAN siempre almacena la copia primaria del repositorio de RMAN en el archivo de control de la
BBDD destino, de forma que el catlogo de recuperacin no ser necesario si se utiliza RMAN. El
catlogo de recuperacin es til para centralizar la informacin sobre copias de seguridad de varias
BBDD y puede ayudar bastante en la recuperacin de la prdida de un archivo de control.
Utilice la pgina Agregar/Editar Catlogo de Recuperacin para seleccionar un destino de BBDD
para el catlogo de recuperacin que est creando o modificando. Como alternativa, puede
especificar una BBDD que no sea un destino de Oracle Enterprise Manager. Para ello, introduzca el
host, el puerto y la informacin SID. Si especifica una BBDD de destino que no sea de Enterprise
Manager, el catlogo de recuperacin ya debe existir en la BBDD. Esta pgina dispone de los
campos siguientes:
Campo

Descripcin

Host

Permite agregar o editar el nombre de host de la base de datos con un


catlogo de recuperacin existente.

Puerto

Permite agregar o editar el nmero de puerto de la base de datos.

SID

Permite agregar o editar el SID.

Usuario de Catlogo de
Recuperacin

Permite editar el usuario del catlogo de recuperacin. Si se especifica


el host, puerto y SID, tambin se debe especificar el usuario y la
contrasea del catlogo de recuperacin.

121

Curso de Oracle 11g

Contrasea de Catlogo
de Recuperacin

Permite editar la contrasea del catlogo de recuperacin. Si se


especifica el host, puerto y SID, tambin se debe especificar el usuario y
la contrasea del catlogo de recuperacin.

Nota: Debe almacenar el catlogo de recuperacin en una BBDD dedicada y ubicada en un disco
distinto de la BBDD destino, as como crear peridicamente una copia de seguridad de dicho
catlogo.

122

Curso de Oracle 11g

3.4 Configuracin de Especificaciones de Copia de Seguridad


Como ya conocemos, accederemos a Enterprise Manager Planificar copia de seguridad
Planificar Copia sugerida, aqu veremos la configuracin y especificaciones para realizarla.

Una vez hemos accedido a la planificacin de las copias de seguridad sugeridas por Oracle 11g,
veremos que hay que introducir algunos valores en la pgina Dispositivo, que veremos a
continuacin.
Valores de Copia de Seguridad: Pgina Dispositivo
Puede utilizar Oracle Enterprise Manager para proteger la BBDD contra la prdida de datos y para
reconstruirlos si se produce esta prdida. Una copia de seguridad es una copia de los datos que se
puede utilizar para reconstruir partes de la BBDD. Esta copia de seguridad puede incluir partes
importantes de la BBDD, como por ejemplo, el archivo de control y los archivos de datos.
La pgina Dispositivo de la hoja de propiedades Valores de Copia de Seguridad se utiliza para:

Definir los valores de configuracin de disco y de cinta.

Defina la Ubicacin de Copia de Seguridad en Disco y, a continuacin, utilice Probar Copia


de Seguridad en Disco para asegurarse de que la copia de seguridad funciona correctamente.

Indicar el nmero de unidades de cinta que van a utilizar en la copia de seguridad y sus
parmetros.

123

Curso de Oracle 11g

Utilizar Probar Copia de Seguridad en Cinta para realizar una prueba de la configuracin de
la cinta. Antes de realizar esta prueba, debe montar la unidad de cinta.

Introducir las credenciales de host.

Los campos, botones y tablas siguientes estn disponibles en Valores Copia de Seguridad Dispositivo:
Campo

Descripcin

Paralelismo

Nmero de flujos simultneos en unidades de disco

Ubicacin de Copia
de Seguridad en
Disco

Directorio o grupo de discos en los que se realizar la copia de seguridad de


los archivos de BBDD. Si no se especifica se crear en la ubicacin por
defecto de la plataforma del directorio raz de Oracle. Se recomienda
configurar el rea de recuperacin de flash y la ubicacin para la copia.

Configurar rea de
Recuperacin de
Flash

Si an no se ha confiigurado ninguna rea de recuperacin de flash, haga


clic en este enlace para pasar al rea de recuperacin de flash de la pgina
Valores de Recuperacin y configurarla.

Probar Copia en
Disco

Permite asegurarse de que la copia de seguridad se funciona correctamente.

Tipo de Copia de
Seguridad en Disco

Seleccione un tipo de copia de seguridad de las tres opciones disponibles:

Juego de Copias de Seguridad, que es un formato de archivo que


permite realizar copias de seguridad ms eficaces intercalando
varios archivos de copia de seguridad en un nico archivo de salida.

Juego de Copias de Seguridad Comprimidas, que es un juego de


copias de seguridad en el que los datos se comprimen.

Copia de Imagen, que es una copia bit por bit de los archivos de
BBDD que se pueden utilizar tal cual para realizar una
recuperacin.

Unidades de Cinta

Permite introducir el nmero de flujos simultneos a unidades de cinta.

Probar Copia en
Cinta

Permite asegurarse de que la copia de seguridad se funciona correctamente.

Tipo de Copia de
Seguridad en Cinta

Seccin Oracle
Secure Backup

Seleccione el tipo de copia en cinta de entre las dos opciones disponibles:

Juego de Copias de Seguridad, que es un formato de archivo que


permite realizar las copias ms eficaces intercalando varios archivos
de copia de seguridad en un nico archivo de salida.

Juego de Copias de Seguridad Comprimidas, que es un juego de


copias de seguridad de Oracle en el que los datos se comprimen.

Permite registrar una configuracin de Oracle Secure Backup para


configurar los servidores administrativos, los hosts de servidor de medio
fsico y los hosts de cliente, as como para gestionar las configuraciones de
dispositivos y medios fsicos. En esta seccin se muestra Versin en

124

Curso de Oracle 11g


Servidor de Base de Datos, Servidor de Administracin y Selectores de
Almacenamiento de Copia de Seguridad. Para crear una copia de seguridad
de la BBDD, se necesita al menos un selector de almacenamiento de copia
de seguridad.
Seccin Valores de
Gest. Med. Fsicos

Permite especificar los parmetros de la biblioteca para configurar un


administrador de medios fsicos de otro proveedor.

Credenciales de Host Para guardar los valores de copia de seguridad, especifique las credenciales
de conexin del sistema para obtener acceso a la BBDD destino. Introduzca
el nombre y la contrasea. Estas se pueden guardar con la opcin Guardar
como Credencial Preferida.
Nota: Los valores de copia de seguridad cambian los valores de toda la base de datos y se aplican a
cualquier copia de seguridad que no sustituya los valores de nivel de copia de seguridad.

125

Curso de Oracle 11g

3.5 Creacin de Copias de Seguridad (Export e Import de la BBDD)


Utilice el Asistente de Exportacin para exportar el contenido de la base de datos, de los objetos de
los esquemas del usuario y de las tablas. El Asistente proporciona cuatro pasos principales para
realizar la exportacin de los objetos seleccionados, segn el tipo de exportacin seleccionado en la
pgina Tipo de Exportacin, puede existir un paso adicional a realizar antes de iniciar el proceso de
exportacin.
Los trabajos de importacin y exportacin de Enterprise Manager para una BBDD se implementan
como trabajos de pump de datos. Si el trabajo de pump de datos subyacente se suspende, el trabajo
de Enterprise Manager asociado mostrar el estado de "Fallo". Haga clic en el botn "Controlar
Trabajo de Pump de Datos" en la pgina de resumen del trabajo de Enterprise Manager para
reanudar un trabajo de pump de datos suspendido. Los trabajos de pump de datos que han fallado
realmente no se pueden reanudar; si intenta hacerlo, se genera un mensaje. Si el trabajo de pump de
datos se ha realizado correctamente, el trabajo de Enterprise Manager tendr el estado de "Correcto".
El Asistente de Exportacin est compuesto por las siguientes pginas:

Tipo de Exportacin
Utilice esta pgina para designar el tipo de exportacin que desea realizar. Si selecciona
Esquema, el asistente mostrar la pgina Esquema como el siguiente paso de la secuencia. Si
selecciona Tabla, la pgina Tablas. El siguiente paso es la pgina Opciones.
En la pgina Tipo de Exportacin, debe seleccionar el tipo de exportacin que desea realizar.
Puede ser; Base de Datos, Esquema, Tabla o Tablespaces e introducir Usuario y Contrasea.

Esquemas
Esta pgina slo aparece cuando selecciona Esquemas en la pgina Tipo de Exportacin.
Utilicela para seleccionar los esquemas cuyos objetos desea exportar. Con la funcin
Agregar se agrega un esquema a la lista de esquemas disponibles.

Tablas
Esta slo aparece cuando selecciona Tablas. Utilicela para seleccionar las tablas o particiones
que desea exportar de la lista Tablas Disponibles, a la lista Tablas Seleccionadas.

Tablespaces
Esta pgina se muestra nicamente al seleccionar Tablespaces. Utilice esta pgina para
exportar tablas de uno o ms tablespaces. Slo se exportan las tablas, no los tablespaces en
s.

Opciones
Utilice la pgina Opciones para definir opciones de thread, calcular el espacio en disco y
especificar archivos opcionales para la operacin de exportacin.

Archivos
Utilice esta pgina para especificar el nombre del directorio, el nombre de archivo y el
tamao mximo de los archivos de exportacin.

Planificar
Utilice la pgina Planificacin para planificar el trabajo de exportacin.

126

Curso de Oracle 11g

Revisar
Utilice la pgina Revisar para mostrar el cdigo PL/SQL para el comando de exportacin
generado por las selecciones realizadas en las pginas anteriores del asistente. Puede ver el
cdigo manualmente o hacer clic en Ejecutar Trabajo para iniciar el proceso de exportacin.

Importar de la Base de Datos


Utilice el Asistente de Importacin de la BBDD para importar el contenido de una BBDD. Puede
acceder al Asistente de Importacin de la BBDD haciendo clic en Importar de la BBDD en la
seccin Mover Datos de Fila del separador Movimiento de Datos de la pgina inicial de la BBDD.
Este Asistente proporciona tres pasos principales para realizar la importacin de los objetos
seleccionados. Segn el tipo de opciones y tipos de importacin que seleccione en la pgina Origen,
puede que existan pasos adicionales que tenga que realizar antes de iniciar el proceso de importacin.
El Asistente de Importacin est compuesto por las siguientes pginas:

Origen
Utilice Origen para designar el enlace de BBDD desde la que desea realizar la importacin. El
campo Tipo toma el valor BBDD automticamente. Tambin puede especificar la importacin
de esquemas, tablas o tablespaces. A continuacin, debe especificar el Usuario y Contrasea.

Volver a Asignar
Utilice esta pgina para volver a asignar esquemas, tablespaces y archivos de datos en
diferentes esquemas, tablespaces y archivos de datos de la nueva BBDD.

Esquema
Esta pgina slo aparece cuando selecciona Esquema en la pgina Origen. Usela para
seleccionar el esquema cuyos objetos desea importar.

Tablas
Esta pgina slo aparece cuando selecciona Tablas en la pgina Origen. Usela para
seleccionar las tablas o particiones que desea importar de la lista Tablas Disponibles y
desplcelas a la lista Tablas Seleccionadas.

Tablespaces
Esta pgina slo aparece si ha seleccionado previamente Tablespace en Origen. Esta pgina
permite importar tablas de uno o ms tablespaces. Los tablespaces en s no se importarn y
deben existir en la BBDD.

Opciones
Utilice la pgina Opciones para definir el nmero mximo de threads en un trabajo de
importacin, calcular la cantidad de espacio en disco que consumir la importacin, generar
archivos opcionales y definir opciones sobre el contenido que desea importar.

Planificar
Utilice Planificar para planificar el proceso de importacin como un trabajo del sistema de
trabajos.

Revisar
Utilice la pgina Revisar para mostrar el cdigo PL/SQL para el comando de importacin
generado por las selecciones realizadas en las pginas anteriores del asistente. Puede editar el
cdigo PL manualmente o hacer clic en Ejecutar Trabajo para iniciar el proceso de
importacin.
127

Curso de Oracle 11g

3.6 Realizacin de Copia de Seguridad y Recuperacin Gestionada por Usuario


(copia de seguridad personalizada)
Asistente de Planificacin de Copia de Seguridad
Utilice el Asistente de Planificacin de Copia de Seguridad para realizar copias de seguridad del
contenido de la BBDD en disco, en cinta o en ambos. Las copias de seguridad online slo estn
disponibles si la BBDD est en modo ARCHIVELOG.
Las copias de seguridad copian las partes importantes de la BBDD, como el archivo de control y los
archivos de datos. Si se pierden los datos originales, puede reconstruirlos utilizando una copia de
seguridad. Para realizar la copia la BBDD se cierra y monta para realizar el trabajo de copia de
seguridad, es posible que tenga que esperar hasta que termine la operacin de copia de seguridad.
Desde la pgina Planificar Copia de Seguridad puede planificar una copia de seguridad sugerida por
Oracle utilizando la estrategia de copia de seguridad automatizada, que permite realizar una copia de
seguridad de toda la BBDD a intervalos concretos o puede planificar una copia de seguridad
personalizada, que permite seleccionar los objetos de los que va a realizar copias de seguridad.
Igualmente se pueden sustituir los valores de copia de seguridad y elegir si va a realizar las copias de
seguridad de los archivos en un disco o en una cinta.
Planificiar Copia de Seguridad Personalizada: Opciones
Utilice la pgina Opciones del Asistente de Planificacin de Copia de Seguridad Personalizadas para
seleccionar:

Una copia de seguridad completa o una copia de seguridad incremental

Si desea suprimir copias de seguridad obsoletas

Si desea utilizar una copia proxy soportada por software de gestin de medios fsicos

Para ver el nmero mximo de archivos por juego de copias de seguridad

Tipo de Copia de Seguridad


Permite seleccionar un de copia de seguridad. En la seccin Tipo de Copia de Seguridad estn
disponibles los siguientes campos:
Campo

Descripcin

Copia de Seguridad
Completa

Esta realiza una copia de todos los bloques en un juego de copias de


seguridad, saltando slo los bloques que nunca se han utilizado. El
proceso del servidor no salta los bloques al realizar una copia de seguridad
de todos los redo logs archivados o de los archivos de control. Una copia
de seguridad completa no afecta a las copias de seguridad incrementales,
por lo que no se considera parte de la estrategia incremental.

Copia de Seguridad
Incremental (Nivel 1)

Una copia de seguridad incremental de nivel 1 incluye todos los


bloques cambiados desde la copia de seguridad de nivel 0 ms reciente.

Refrescar la ltima copia


del archivo de datos a la
hora actual utilizando la
copia incremental

Esta funcin aplica los cambios de la copia de seguridad incremental a


la copia de imagen de la BBDD, de forma que la copia de la imagen
contiene los cambios ms recientes.

128

Curso de Oracle 11g


Avanzada
En esta seccin se muestran los campos siguientes:
Campo

Descripcin

Suprimir copias de seguridad


obsoletas

Permite suprimir las copias de seguridad que ya no se


necesitan. Puede suprimir copias de seguridad obsoletas para
bases de datos, tablespaces y archivos de datos completos.

Usar la copia proxy soportada por


el software de gestin de medios
fsicos para realizar una copia de
seguridad

Seleccione esta opcin para que Recovery Manager realice


una copia de seguridad convencional cuando la copia proxy de
los archivos seleccionados no est soportada. Si activa esta
opcin, en caso de que falle la copia proxy, podr seleccionar
si desea continuar o parar la copia de seguridad. La copia
proxy es un tipo especial de copia de seguridad en el que
RMAN controla la transferencia de datos al gestor de medios
fsicos que soporta esta funcin.

Mximo de Archivos por Juego de Permite establecer el mximo de archivos por juego de copias
Copias de Seguridad
de seguridad al realizar copias de seguridad de BBDD,
tablespaces, archivos de datos y archive logs completos.
Puede establecer un nmero mximo de corrupciones para las
copias de seguridad de archivos de datos para copias de
seguridad de Oracle.
Proteger la copia de seguridad con Permite cifrar la copia de seguridad con Oracle Encryption
cifrado de Recovery Manager
Wallet, con una contrasea proporcionada por el usuario.
Algoritmo de Cifrado

Permite seleccionar el tipo de algoritmo de cifrado.

Modo de Cifrado

Permite especificar si el cifrado se realizar con Oracle


Encryption Wallet o con una contrasea.

Contrasea y Confirmar
Contrasea

Si se utiliza la contrasea para cifrar la copia de seguridad,


debemos posteriormente confirmarla.

Las opciones de archive log slo estn disponibles si se realiza una copia de seguridad de la BBDD y
la BBDD destino est en modo ARCHIVELOG. Puede realizar una copia de seguridad de todos los
archive logs en disco y, a continuacin, suprimir todos los logs del disco cuando se haya realizado la
copia de seguridad de los mismos.
Las copias de seguridad se descifran automticamente durante las operaciones de restauracin y
recuperacin, siempre que estn disponibles las claves de descifrado necesarias.

129

Curso de Oracle 11g

3.7 Uso de RMAN para Realizar Recuperaciones Valores de Recuperacin


Utilice esta pgina para:

Establecer los parmetros de la recuperacin de fallo de las instancias y los medios fsicos.

Cambiar del modo ARCHIVELOG al modo NOARCHIVELOG.

Especificar la ubicacin y el tamao del rea de recuperacin de flash.

Activar Flashback de BBDD

Permite especificar hasta qu punto en el pasado se realizar el flash de la BBDD en el


futuro.

La reconstruccin de datos se realiza a travs de la recuperacin del medio fsico, que se refiere a
distintas operaciones implicadas en la restauracin, aplicacin de transacciones pendientes y en la
realizacin de rollback de una copia de seguridad de los archivos de la BBDD.
Puede realizar la recuperacin aplicando los redo logs archivados y los redo logs en lnea a un
proceso actualizado. Despus de restaurar los archivos necesarios, el usuario debe iniciar la
recuperacin de medios fsicos, para esto puede utilizar redo logs archivados y redo logs en lnea.
La recuperacin de fallo es la recuperacin de una BBDD en una configuracin de instancia nica o
en una configuracin de Oracle Real Application Clusters en la que todas las instancias han fallado.
La pgina Valores de Recuperacin consta de las secciones, campos, botones siguientes:
Elemento

Descripcin

Seccin
Recuperacin de
Instancia

Utilice esta seccin para designar el tiempo medio deseado para recuperar
la instancia en incrementos de minutos o segundos. El parmetro de
inicializacin FAST_START_MTTR_TARGET especifica el nmero de
segundos estimado para la recuperacin de fallo. Oracle convierte este
nmero en parmetros internos y define el tiempo de recuperacin en un
nmero que se aproxime a estos parmetros. Puede ignorar este tiempo de
recuperacin definiendo FAST_START_MTTR_TARGET en 0 e
introduciendo el tiempo en el campo Tiempo Medio Deseado para la
Recuperacin.

Seccin
Recuperacin del
Medio Fsico

Utilice esta seccin para definir los parmetros necesarios para la


recuperacin del medio fsico. Primero debe activar Modo Archive Log
para que la base de datos se pueda recuperar de un fallo de disco. Puede
activar el modo Archive Log haciendo clic en el recuadro de opcin Modo
Archive Log. A continuacin puede activar el archivo automtico para
archivar los archivos redo log archivados automticamente haciendo clic
en la opcin Archivado Automtico (no aplicable en Oracle10i). Puede
definir el formato que se utilizar en el archivo introduciendo el tipo de
archivo en el campo Formato del Nombre de Archivo de Archive Log.

Seccin
Recuperacin de
Flash

Nota: Esta seccin aparece slo para bases de datos de cluster Oracle10i.
En la pgina Valores de Recuperacin de Instancias de la BBDD de Cluster
no se muestra.

130

Curso de Oracle 11g


El rea de recuperacin de flash es un directorio gestionado por Oracle, un
sistema de archivos que proporciona una ubicacin para los archivos de
copia de seguridad y de recuperacin. Enterprise Manager almacena sus
copias de seguridad en este area y las utiliza cuando restaura archivos. Los
componentes de recuperacin de Oracle interactan con esta rea,
garantizando la recuperacin de la BBDD. Todos los archivos necesarios
para recuperar la base de datos que siguen a un fallo del medio fsico
forman parte del rea de recuperacin de flash.
Utilice la seccin rea de Recuperacin de Flash para determinar su
ubicacin y tamao. Esta sirve como una cach de disco para copias de
seguridad en cinta, lo que reduce los tiempos de recuperacin, realizando
una gestin automatizada.
Definir la ubicacin, asegrese de que tenga suficiente espacio en disco.
Defina el tamao del rea de recuperacin de flash y sus unidades.
Active el registro de flashback para recuperacin point-in-time junto con el
tiempo de retencin de flashback.
Activar Flashback de Para activar el registro de flashback se debe definir el rea de recuperacin
Base de Datos
de flash. Si utiliza logs de flashback, puede recuperar toda la BBDD hasta
un punto en el pasado sin restaurar los archivos. Flashback es el mtodo de
recuperacin point-intime designado en el Asistente. Defina tambin el
parmetro de retencin para la BBDD de flashback en el campo Tiempo de
Retencin de Flashback.

131

Curso de Oracle 11g


Se accede a las pginas de recuperacin, desde la consola Enterprise Manager Diponibilidad
Valores del catalogo de recuperacin, mostrndonos la siguiente ventana:

Realizar Recuperacin
Desde esta pgina podemos:

Restaurar o recuperar una BBDD, tablespaces, archivos de datos y archive logs.

Recuperar los tablespaces hasta un punto en el tiempo segn un registro de hora, el nmero
de cambio del sistema (SCN) o el nmero de secuencia de log.

Recuperar los bloques de datos de archivo de datos que estn marcados como corruptos o
basados en el identificador de bloque de archivo de datos y direcciones de bloque de
tablespace.

Realizar flashback de BBDD o tablas a un SCN o registro de hora.

La operacin Realizar Recuperacin incluye varios pasos que implementan el proceso de


restauracin o recuperacin de un objeto.
En la pgina Realizar Recuperacin estn disponibles los campos, botones y secciones siguientes:

132

Curso de Oracle 11g


Campo

Descripcin

Fallos
Detectados

Muestra el nmero de fallos detectados por el Asesor de Recuperacin de Datos


segn sus estados de Crtico, Alto y Bajo. Haga clic en el nmero asociado a
cada estado clasificado para mostrar la pgina Ver y Gestionar Fallos.

Descripcin
del Fallo

Descripcin del tipo de fallo.

Botn
Aconsejar y
Recuperar

Muestra la pgina Ver y Gestionar Fallos para analizar y sugerir consejos de


recuperacin de fallos que surjan durante las operaciones de la BBDD. Se
pueden seleccionar uno o ms fallos sobre los que desee obtener consejos y
corregir los fallos o utilizar las opciones de recuperacin automtica que sugiere
Oracle. Opcionalmente, se pueden cerrar los fallos, cambiar su prioridad o bien
filtrar o regenerar la lista de fallos desde la BBDD. Igualmente, se puede enviar
un trabajo para ejecutar el consejo de recuperacin sugerido.

mbito de
Recuperacin

Permite seleccionar la recuperacin de la BBDD completa o las Tablas de la


lista.

Botn
Recuperar

Inicia la operacin de recuperacin.

Tipo de
Operacin

Si en el campo mbito de Recuperacin ha seleccionado toda la BBDD,


seleccione Restaurar Todos los Archivos de Datos en el campo Tipo de
Operacin. Se debe especificar la hora, el SCN o la secuencia de log. Si ha
seleccionado Tablas en mbito de Recuperacin, puede seleccionar Realizar
Flashback en Tablas Existentes o Realizar Flashback en Tablas Borradas.

Descifrar
Copias de
Seguridad

Si los objetos se estn recuperando de copias de seguridad cifradas con


contrasea, proporcione una lista de contraseas separadas por comas.

Credenciales
de Host

Para realizar operaciones de recuperacin, proporcione las credenciales de


conexin del sistema para acceder a la BBDD destino. Introduzca el usuario y la
contrasea del host. Puede guardar las credenciales para usarlas ms adelante
seleccionando la opcin Guardar como Credencial Preferida.

Nota: Puede determinar la secuencia de log o SCN que se utilizar al realizar una recuperacin
haciendo referencia a la informacin de la pgina Archive Logs.

133

Curso de Oracle 11g

3.8 Uso de RMAN para Duplicar una Base de Datos


Vamos a explicar paso a paso como utilizar el comando DUPLICATE ACTIVE DATABASE de
RMAN. Este comando de Oracle11g, permite realizar la copia de una BBDD y generarla en la
mquina que queramos, sin necesidad de pasar por un respaldo.
1. Vamos primero a generar un listener, el cual contenga las entradas de la instancia nueva y
claro, el origen de donde sacaremos los datos.
LISTER11G =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = oracle11g.inmotion.cl)(PORT = 1521))
)
SID_LIST_LISTER11G =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = orcl)
(ORACLE_HOME = /u01/app/oracle/product/11.1.0/db_1)
(SID_NAME = orcl)
)
(SID_DESC =
(GLOBAL_DBNAME = copia)
(ORACLE_HOME = /u01/app/oracle/product/11.1.0/db_1)
(SID_NAME = copia)
)
)
2. Al momento de levantar el listener, debe estar proporcionando disponibilidad a ambos
servicios
[oracle@oracle11g admin]$ lsnrctl start LISTER11G
LSNRCTL for Linux: Version 11.1.0.6.0 - Production on 21-AUG-2009 12:00:03
Copyright (c) 1991, 2007, Oracle. All rights reserved.
Starting /u01/app/oracle/product/11.1.0/db_1/bin/tnslsnr: please wait...
TNSLSNR for Linux: Version 11.1.0.6.0 - Production
System parameter file is /u01/app/oracle/product/11.1.0/db_1/network/admin/listener.ora
Log messages written to /u01/app/oracle/diag/tnslsnr/oracle11g/lister11g/alert/log.xml
Listening on:
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oracle11g.inmotion.cl)(POR
T=1521)))
Connecting to
(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=oracle11g.inmotion.cl)(PO
RT=1521)))
STATUS of the LISTENER
Alias LISTER11G
Version TNSLSNR for Linux: Version 11.1.0.6.0 -Production
Start Date 21-AUG-2009 12:00:03
Uptime 0 days 0 hr. 0 min. 0 sec
Trace Level off
Security ON: Local OS Authentication

134

Curso de Oracle 11g


SNMP OFF
Listener Parameter File /u01/app/oracle/product/11.1.0/db_1/network/admin/listener.ora
Listener Log File /u01/app/oracle/diag/tnslsnr/oracle11g/lister11g/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oracle11g.inmotion.cl)(POR
T=1521)))
Services Summary...
Service "copia" has 1 instance(s).
Instance "copia", status UNKNOWN, has 1 handler(s) for this service...
Service "orcl" has 1 instance(s).
Instance "orcl", status UNKNOWN, has 1 handler(s) for this service...
The command completed successfully
[oracle@oracle11g admin]$
3. Se debe aadir la siguiente entrada al archivo tnsnames.ora
copia =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = oracle11g.inmotion.cl)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = copia)
)
)
4. Necesitamos generar un archivo de inicializacin pfile, el cual contenga slo un parmetro, el
db_name, el resto de los parmetros sern seteados con el DUPLICATE ACTIVE
DATABASE
[oracle@oracle11g dbs]$ ls -ltr initcopia.ora
-rw-r--r-- 1 oracle oinstall 14 Aug 21 12:02 initcopia.ora
[oracle@oracle11g dbs]$ more initcopia.ora
db_name=copia
5. Se debe generar un archivo de password, dado que el DUPLICATE ACTIVE DATABASE
se conecta mediante SYSDBA a la instancia remota. Como observacin, la password debe
ser exactamente la misma , entre la instancia de origen y la de destino.
[oracle@oracle11g dbs]$ orapwd file=orapwcopia password=oracle entries=5
[oracle@oracle11g dbs]$ ls -ltr *copia*
-rw-r--r-- 1 oracle oinstall 14 Aug 21 12:02 initcopia.ora
-rw-r----- 1 oracle oinstall 2048 Aug 21 12:06 orapwcopia
[oracle@oracle11g dbs]$
6. Se debe iniciar la instancia auxiliar en estado NOMOUNT , en esta instancia es donde
quedarn los datos de la primaria
[oracle@oracle11g dbs]$ export ORACLE_SID=copia
[oracle@oracle11g dbs]$ sqlplus /nolog
SQL*Plus: Release 11.1.0.6.0 -Production on Fri Aug 21 12:07:52 2009

135

Curso de Oracle 11g


Copyright (c) 1982, 2007, Oracle. All rights reserved.
SQL> conn / as sysdba
Connected to an idle instance.
SQL> startup nomount
ORACLE instance started.
Total System Global Area 146472960 bytes
Fixed Size 1298472 bytes
Variable Size 92278744 bytes
Database Buffers 50331648 bytes
Redo Buffers 2564096 bytes
SQL>
7. Nos conectamos a RMAN , con la instancia primaria , la base de datos debe estar abierta
[oracle@oracle11g dbs]$ rman target sys/oracle@orcl
Recovery Manager: Release 11.1.0.6.0 - Production on Fri Aug 21 12:09:22 2009
Copyright (c) 1982, 2007, Oracle. All rights reserved.
connected to target database: ORCL (DBID=1218194307)
RMAN>
8. Nos conectamos a travs de RMAN a la instancia auxiliar
RMAN> connect auxiliary sys/oracle@copia
connected to auxiliary database: COPIA (not mounted)
RMAN>
NOTA: Se debe recordar que esta entrada (@copia) fue creada en el punto 3
9. Se generamos todos los directorios nuevos que vamos a utilizar en nuestra nueva instancia
10. Ahora podemos ejecutar el comando DUPLICATE DATABASE mediante RMAN, as:
run {
set newname for datafile '/u01/app/oracle/oradata/orcl/users01.dbf' to
'/u01/app/oracle/oradata/copia1/users01.dbf';
set newname for datafile '/u01/app/oracle/oradata/orcl/undotbs01.dbf' to
'/u01/app/oracle/oradata/copia2/undotbs01.dbf';
set newname for datafile '/u01/app/oracle/oradata/orcl/sysaux01.dbf' to
'/u01/app/oracle/oradata/copia3/sysaux01.dbf';
set newname for datafile '/u01/app/oracle/oradata/orcl/system01.dbf' to
'/u01/app/oracle/oradata/copia4/system01.dbf';
duplicate target database to copia
from active database
db_file_name_convert '/u01/app/oracle/oradata/orcl' , '/u01/app/oracle/oradata/copia'
spfile parameter_value_convert = '/u01/app/oracle/admin/orcl' ,
'/u01/app/oracle/admin/copia'
set log_file_name_convert =
'/u01/app/oracle/oradata/orcl','/u01/app/oracle/oradata/copia'
set audit_file_dest='/u01/app/oracle/admin/copia/adump'
set log_archive_dest_1=''
set memory_target='183001600'
136

Curso de Oracle 11g


set dispatchers='(PROTOCOL=TCP) (SERVICE=copiaXD)'
set
control_files='/u01/app/oracle/oradata/copia1/control01.ctl','/u01/app/oracle/oradata/c
opia2/control02.ctl','/u
01/app/oracle/oradata/copia3/control03.ctl'
set db_recovery_file_dest_size = '2294967296';
}
11. Mediante el anterior script, se comienza a generar la copia de la base de datos.
executing command: SET NEWNAME
using target database control file instead of recovery catalog
executing command: SET NEWNAME
executing command: SET NEWNAME
executing command: SET NEWNAME
Starting Duplicate Db at 22-AUG-09
allocated channel: ORA_AUX_DISK_1
channel ORA_AUX_DISK_1: SID=97 device type=DISK
contents of Memory Script:
{
backup as copy reuse
file '/u01/app/oracle/product/11.1.0/db_1/dbs/spfileorcl.ora' auxiliary format
'/u01/app/oracle/product/11.1.0/db_1/dbs/spfilecopia.ora' ;
sql clone "alter system set spfile= ''/u01/app/oracle/product/11.1.0/db_1/dbs/spfilecopia.ora''";
}
executing Memory Script
Starting backup at 22-AUG-09
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=154 device type=DISK
Finished backup at 22-AUG-09
sql statement: alter system set spfile=
''/u01/app/oracle/product/11.1.0/db_1/dbs/spfilecopia.ora''
contents of Memory Script:
{
sql clone "alter system set db_name = ''COPIA'' comment= ''duplicate'' scope=spfile";
sql clone "alter system set log_file_name_convert = ''/u01/app/oracle/oradata/orcl'',
''/u01/app/oracle/oradata/copia'' comment= '''' scope=spfile";
sql clone "alter system set audit_file_dest = ''/u01/app/oracle/admin/copia/adump''
comment= '''' scope=spfile";
sql clone "alter system set log_archive_dest_1 = '''' comment= '''' scope=spfile";
sql clone "alter system set memory_target = 183001600 comment= '''' scope=spfile";
sql clone "alter system set dispatchers = ''(PROTOCOL=TCP) (SERVICE=copiaXD)''
comment= '''' scope=spfile";
sql clone "alter system set control_files = ''/u01/app/oracle/oradata/copia1/control01.ctl'',
''/u01/app/oracle/oradata/copia2/control02.ctl'',
''/u01/app/oracle/oradata/copia3/control03.ctl'' comment= '''' scope=spfile";

137

Curso de Oracle 11g


sql clone "alter system set db_recovery_file_dest_size = 2294967296 comment= ''''
scope=spfile"; shutdown clone immediate;
startup clone nomount ;
}
executing Memory Script
sql statement: alter system set db_name = ''COPIA'' comment= ''duplicate'' scope=spfile
sql statement: alter system set log_file_name_convert = ''/u01/app/oracle/oradata/orcl'',
''/u01/app/oracle/oradata/copia'' comment= '''' scope=spfile
sql statement: alter system set audit_file_dest = ''/u01/app/oracle/admin/copia/adump''
comment= '''' scope=spfile
sql statement: alter system set log_archive_dest_1 = '''' comment= '''' scope=spfile
sql statement: alter system set memory_target = 183001600 comment= '''' scope=spfile
sql statement: alter system set dispatchers = ''(PROTOCOL=TCP)
(SERVICE=copiaXD)'' comment= '''' scope=spfile
sql statement: alter system set control_files =
''/u01/app/oracle/oradata/copia1/control01.ctl'',
''/u01/app/oracle/oradata/copia2/control02.ctl'',
''/u01/app/oracle/oradata/copia3/control03.ctl'' comment= '''' scope=spfile
sql statement: alter system set db_recovery_file_dest_size = 2294967296 comment= ''''
scope=spfile
Oracle instance shut down
connected to auxiliary database (not started)
Oracle instance started
Total System Global Area 184127488 bytes
Fixed Size 1298752 bytes
Variable Size 142610112 bytes
Database Buffers 37748736 bytes
Redo Buffers 2469888 bytes
contents of Memory Script:
{
set newname for datafile 1 to "/u01/app/oracle/oradata/copia4/system01.dbf";
set newname for datafile 2 to "/u01/app/oracle/oradata/copia3/sysaux01.dbf";
set newname for datafile 3 to "/u01/app/oracle/oradata/copia2/undotbs01.dbf";
set newname for datafile 4 to "/u01/app/oracle/oradata/copia1/users01.dbf";
backup as copy reuse
datafile 1 auxiliary format
"/u01/app/oracle/oradata/copia4/system01.dbf" datafile auxiliary format
"/u01/app/oracle/oradata/copia3/sysaux01.dbf" datafile auxiliary format
"/u01/app/oracle/oradata/copia2/undotbs01.dbf" datafile auxiliary format
"/u01/app/oracle/oradata/copia1/users01.dbf" ;
sql 'alter system archive log current';
}
executing Memory Script
executing command: SET NEWNAME
executing command: SET NEWNAME

138

Curso de Oracle 11g


executing command: SET NEWNAME
executing command: SET NEWNAME
Starting backup at 22-AUG-09
using channel ORA_DISK_1
channel ORA_DISK_1: starting datafile copy
input datafile file number=00001 name=/u01/app/oracle/oradata/orcl/system01.dbf
output file name=/u01/app/oracle/oradata/copia4/system01.dbf
tag=TAG20090822T205622 RECID=0 STAMP=0
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:01:07
channel ORA_DISK_1: starting datafile copy
input datafile file number=00002 name=/u01/app/oracle/oradata/orcl/sysaux01.dbf
output file name=/u01/app/oracle/oradata/copia3/sysaux01.dbf
tag=TAG20090822T205622 RECID=0 STAMP=0
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:56
channel ORA_DISK_1: starting datafile copy
input datafile file number=00004 name=/u01/app/oracle/oradata/orcl/users01.dbf
output file name=/u01/app/oracle/oradata/copia1/users01.dbf
tag=TAG20090822T205622 RECID=0 STAMP=0
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:25
channel ORA_DISK_1: starting datafile copy
input datafile file number=00003 name=/u01/app/oracle/oradata/orcl/undotbs01.dbf
output file name=/u01/app/oracle/oradata/copia2/undotbs01.dbf
tag=TAG20090822T205622 RECID=0 STAMP=0
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:07
Finished backup at 22-AUG-09
sql statement: alter system archive log current
sql statement: CREATE CONTROLFILE REUSE SET DATABASE "COPIA"
RESETLOGS ARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 8
MAXLOGHISTORY 292
LOGFILE
GROUP 1 ( '/u01/app/oracle/oradata/copia/redo01.log' ) SIZE 50 M REUSE,
GROUP 2 ( '/u01/app/oracle/oradata/copia/redo02.log' ) SIZE 50 M REUSE,
GROUP 3 ( '/u01/app/oracle/oradata/copia/redo03.log' ) SIZE 50 M REUSE
DATAFILE
'/u01/app/oracle/oradata/copia4/system01.dbf'
CHARACTER SET WE8MSWIN1252
contents of Memory Script:
{
backup as copy reuse
archivelog like "/u01/app/oracle/product/11.1.0/db_1/dbs/arch1_25_690413581.dbf"
auxiliary format
"/u01/app/oracle/flash_recovery_area/COPIA/archivelog/2009_08_22/o1_mf_1_25_%u
_.arc" archivelog like
"/u01/app/oracle/flash_recovery_area/ORCL/archivelog/2009_08_22/o1_mf_1_25_591

139

Curso de Oracle 11g


54osg_.arc" auxiliary format
"/u01/app/oracle/flash_recovery_area/COPIA/archivelog/2009_08_22/o1_mf_1_25_%u
_.arc" ;
catalog clone recovery area;
switch clone datafile all;
}
executing Memory Script
Starting backup at 22-AUG-09
using channel ORA_DISK_1
channel ORA_DISK_1: starting archived log copy
input archived log thread=1 sequence=25 RECID=19 STAMP=695595606
output file
name=/u01/app/oracle/flash_recovery_area/COPIA/archivelog/2009_08_22/o1_mf_1_2
5_0lknbsj5_.arc
RECID=0 STAMP=0
channel ORA_DISK_1: archived log copy complete, elapsed time: 00:00:01
channel ORA_DISK_1: starting archived log copy
input archived log thread=1 sequence=25 RECID=20 STAMP=695595606
output file
name=/u01/app/oracle/flash_recovery_area/COPIA/archivelog/2009_08_22/o1_mf_1_2
5_0mknbsjs_.arc
RECID=0 STAMP=0
channel ORA_DISK_1: archived log copy complete, elapsed time: 00:00:02
Finished backup at 22-AUG-09
searching for all files in the recovery area
List of Files Unknown to the Database
=====================================
File Name:
/u01/app/oracle/flash_recovery_area/COPIA/archivelog/2009_08_22/o1_mf_1_25_0lkn
bsj5_.arc
File Name:
/u01/app/oracle/flash_recovery_area/COPIA/archivelog/2009_08_22/o1_mf_1_25_0mk
nbsjs_.arc
File Name:
/u01/app/oracle/flash_recovery_area/COPIA/archivelog/2009_08_22/o1_mf_1_23_0fkn
9m61_.arc
File Name:
/u01/app/oracle/flash_recovery_area/COPIA/archivelog/2009_08_22/o1_mf_1_23_0gkn
9m6i_.arc
cataloging files...
cataloging done
List of Cataloged Files
=======================
File Name:
/u01/app/oracle/flash_recovery_area/COPIA/archivelog/2009_08_22/o1_mf_1_25_0lkn
bsj5_.arc

140

Curso de Oracle 11g


File Name:
/u01/app/oracle/flash_recovery_area/COPIA/archivelog/2009_08_22/o1_mf_1_25_0mk
nbsjs_.arc
File Name:
/u01/app/oracle/flash_recovery_area/COPIA/archivelog/2009_08_22/o1_mf_1_23_0fkn
9m61_.arc
File Name:
/u01/app/oracle/flash_recovery_area/COPIA/archivelog/2009_08_22/o1_mf_1_23_0gkn
9m6i_.arc
datafile 4 switched to datafile copy
input datafile copy RECID=1 STAMP=695595667 file
name=/u01/app/oracle/oradata/copia1/users01.dbf
datafile 3 switched to datafile copy
input datafile copy RECID=2 STAMP=695595668 file
name=/u01/app/oracle/oradata/copia2/undotbs01.dbf
datafile 2 switched to datafile copy
input datafile copy RECID=3 STAMP=695595668 file
name=/u01/app/oracle/oradata/copia3/sysaux01.dbf
contents of Memory Script:
{
set until scn 1066933;
recover clone database delete archivelog ;
}
executing Memory Script
executing command: SET until clause
Starting recover at 22-AUG-09
allocated channel: ORA_AUX_DISK_1
channel ORA_AUX_DISK_1: SID=153 device type=DISK
starting media recovery
archived log for thread 1 with sequence 25 is already on disk as file
/u01/app/oracle/flash_recovery_area/COPIA/archivelog/2009_08_22/o1_mf_1_25_0mk
nbsjs_.arc
archived log file
name=/u01/app/oracle/flash_recovery_area/COPIA/archivelog/2009_08_22/o1_mf_1_2
5_0mknbsjs_.arc
thread=1 sequence=25
media recovery complete, elapsed time: 00:00:02
Finished recover at 22-AUG-09
contents of Memory Script:
{
shutdown clone immediate;
startup clone nomount ;
}
executing Memory Script

141

Curso de Oracle 11g


database dismounted
Oracle instance shut down
connected to auxiliary database (not started)
Oracle instance started
Total System Global Area 184127488 bytes
Fixed Size 1298752 bytes
Variable Size 146804416 bytes
Database Buffers 33554432 bytes
Redo Buffers 2469888 bytes
sql statement: CREATE CONTROLFILE REUSE SET DATABASE "COPIA"
RESETLOGS ARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 8
MAXLOGHISTORY 292
LOGFILE
GROUP 1 ( '/u01/app/oracle/oradata/copia/redo01.log' ) SIZE 50 M REUSE,
GROUP 2 ( '/u01/app/oracle/oradata/copia/redo02.log' ) SIZE 50 M REUSE,
GROUP 3 ( '/u01/app/oracle/oradata/copia/redo03.log' ) SIZE 50 M REUSE
DATAFILE
'/u01/app/oracle/oradata/copia4/system01.dbf'
CHARACTER SET WE8MSWIN1252
contents of Memory Script:
{
set newname for tempfile 1 to "/u01/app/oracle/oradata/copia/temp01.dbf";
switch clone tempfile all;
catalog clone datafilecopy "/u01/app/oracle/oradata/copia3/sysaux01.dbf";
catalog clone datafilecopy "/u01/app/oracle/oradata/copia2/undotbs01.dbf";
catalog clone datafilecopy "/u01/app/oracle/oradata/copia1/users01.dbf";
switch clone datafile all;
}
executing Memory Script
executing command: SET NEWNAME
renamed tempfile 1 to /u01/app/oracle/oradata/copia/temp01.dbf in control file
cataloged datafile copy
datafile copy file name=/u01/app/oracle/oradata/copia3/sysaux01.dbf RECID=1
STAMP=695595722
cataloged datafile copy
datafile copy file name=/u01/app/oracle/oradata/copia2/undotbs01.dbf RECID=2
STAMP=695595723
cataloged datafile copy
datafile copy file name=/u01/app/oracle/oradata/copia1/users01.dbf RECID=3
STAMP=695595724
142

Curso de Oracle 11g


datafile 4 switched to datafile copy
input datafile copy RECID=3 STAMP=695595724 file
name=/u01/app/oracle/oradata/copia1/users01.dbf
datafile 3 switched to datafile copy
input datafile copy RECID=2 STAMP=695595723 file
name=/u01/app/oracle/oradata/copia2/undotbs01.dbf
datafile 2 switched to datafile copy
input datafile copy RECID=1 STAMP=695595722 file
name=/u01/app/oracle/oradata/copia3/sysaux01.dbf
contents of Memory Script:
{
Alter clone database open resetlogs;
}
executing Memory Script
database opened
Finished Duplicate Db at 22-AUG-09
RMAN>
Y as finalizamos con el duplicado de la BBDD. Ahora veremos algunos comandos ms de RMAN,
para la realizacin de copias de BBDD, aunque ya han sido tratados en capitulos anteriores

Abrir una sesin con autenticacin contra un catlogo de recuperacin:


oracle@srv:> rman target=/ catalog nombre_catalogo@sid

Listar las copias realizadas:


RMAN> list backup;

Realizar una copia completa de la base de datos al disco flash:


RMAN> backup database include current controlfile plus archivelog;

Realizar una copia completa de la base de datos a un dispositivo de cinta:


RMAN> backup device type sbt_tape database include current
controlfile plus archivelog;

Lanzar una copia de archivelog con borrado del no necesario:


RMAN> backup archivelog all not backed up delete all input;

Mantenimiento y limpieza de copias obsoletas:


RMAN> crosscheck backup;
RMAN> delete obsolete;

Recuperacin de un datafile borrado:


RMAN> restore datafile 'ruta_al_datafile';
RMAN> recover datafile 'nombre_datafile';

Recuperacin de un datafile daado:


RMAN> recover datafile 'nombre_datafile';

143

Curso de Oracle 11g

3.9 Realizacin de una Recuperacin Point-in-Time de Tablespaces


Oracle Enterprise Manager permite recuperar uno o ms tablespaces (no el tablespace SYSTEM) a
una hora que sea anterior al resto de la BBDD a travs de una recuperacin point-in-time de
tablespaces.
Puede utilizar la pgina Point-in-Time del Asistente de Realizacin de Recuperaciones para designar
si se deben recuperar los tablespaces hasta la hora actual o hasta un punto anterior especificado. Si
decide recuperar hasta un punto en el pasado, debe introducir la fecha, el nmero de cambio de
sistema (SCN) o un nmero de secuencia de log y la ubicacin del disco existente como ubicacin
auxiliar.
Por defecto, Enterprise Manager realiza una copia de seguridad de tablespaces del juego de
recuperacin antes de ponerlos en lnea despus de la operacin de recuperacin point-in-time. No se
recomienda desactivar esta opcin.
Agregamos los tablespaces en que los que queremos realizar la recuperacin. Se realiza una
comprobacin de dependencias en los tablespaces seleccionados. Si encuentra conflictos durante la
comprobacin, debemos resolverlos agregando o eliminando algun tablespaces antes de continuar.
Pasos:
1. Contar con un backup completo de la BBDD.
2. Crear un directorio vaco.
3. Realizacin del: recover tablespace nombre_tablespace
until time TO_DATE(fecha)
auxiliary destination 'ruta';
4. Poner el tablespace en modo online.
Ejemplo:
Para saber que objetos se borraran despus del Recovery, consultamos la vista:
TS_PITR_OBJECTS_TO_BE_DROPPER (Filtrar por el campo
CREATION_TIME>Tiempo_Recovery_Incomplete)
Restricciones:
1. No podemos hacer recovery en el tiempo a un tablespace donde tenga objetos que dependan
de otros y estos se ubiquen en otro tablespace. En este caso hay que mover el tablespace y los
tablespaces dependientes.
2. Si renombramos un tablespace ya no podemos retroceder en el tiempo a menos que saquemos
otro backup y ese sera el nuevo punto de partida.
3. En tablespaces que contienen los siguientes objetos no puden aplicrsele el Recovery
Incomplete: Tablas master de replicacin, particiones de tablas particionadas (debe ser toda
la tabla y sus particiones), tablas externas, tablas con tipo de datos VARRAY y Nested Table,
tablespaces con undo o rollback segments y objetos del owner SYS.

144

Curso de Oracle 11g

3.10 Control y Ajuste de RMAN (Creacin de un catlogo)


Crear y Configurar un Catlogo RMAN
Es esta una labor que compete tanto al operador de copias como al propio DBA. En la presente
entrada me centro nicamente en las labores a realizar por el dba en el entorno de RMAN.
Como primer paso, hay que crear un usuario en la BBDD de repositorio (basicamente se encargar
de llevar un diario de las copias). Para ello se puede usar el siguiente script:
CREATE USER rman_user
IDENTIFIED BY contrasea
DEFAULT TABLESPACE rman_ts
QUOTA UNLIMITED ON rman_ts;
GRANT RECOVERY_CATALOG_OWNER TO rman_user;
GRANT CONNECT, RESOURCE TO rman_user;
Una vez creado el usuario, desde el host anfitrin de la BBDD que se quiere configurar, nos
conectamos al catlogo RMAN usando el usuario creado, rman_user, y se crea el catlogo de
recuperacin:
$ rman
RMAN> CONNECT CATALOG rman_user@cadena_conexin;
RMAN> CREATE CATALOG TABLESPACE rman_ts;
RMAN> exit;
Creado el catlogo, hay que registrar la base de datos en el mismo:
$ rman target=/ catalog rman_user@cadena_conexin
RMAN> REGISTER DATABASE;
RMAN> exit;
Ahora habr que configurar el canal de copias al dispositivo de cinta. Para ello, y como se ha dicho
al principio, por ejemplo, el TDP Oracle (para copias a un dispositivo tipo TSM).
$ rman target=/ catalog rman_user@cadena_conexin
RMAN> CONFIGURE CHANNEL DEVICE TYPE SBT_TAPE PARMS
ENV=(TDPO_OPTFILE=/opt/tivoli/tsm/client/oracle/bin/tdpo_bd.opt);
RMAN> exit;
Si se quiere, se puede indicar que se haga autobackup (con cada copia) del control file y del spfile:
$ rman target=/ catalog rman_user@cadena_conexin
RMAN> CONFIGURE CONTROLFILE AUTOBACKUP ON;
Finalmente, se lanza una copia total de la base de datos:
$ rman target=/ catalog rman_user@cadena_conexin
RMAN> BACKUP DEVICE TYPE SBT_TAPE DATABASE;
Como curiosidad, si se quiere comprobar el estado de la copia se puede ejecutar lo siguiente:
RMAN> RESTORE VALIDATE DATABASE;

145

Curso de Oracle 11g


Recuperar Base de Datos usando RMAN
Vamos a explicar, de forma sencilla y resumida, los pasos a seguir para recuperar una BBDD Oracle
haciendo uso de la herramienta RMAN. La forma inmediata de recuperar la BBDD es haciendo uso
de RMAN. Con este procedimiento:

Parar la base de datos:


SQL> SHUTDOWN IMMEDIATE;

Entrar a RMAN.
$ rman target=/ catalog rman_user@cadena_conexin
RMAN> STARTUP MOUNT;
RMAN> RESTORE DATABASE;
RMAN> RECOVER DATABASE;
RMAN> ALTER DATABASE OPEN RESETLOGS;
RMAN> EXIT;

Bajar la base de datos, desde SQLPLUS.


SQL> SHUTDOWN IMMEDIATE;

Levantar la base de datos.


SQL> CONN / AS SYSDBA
SQL> STARTUP;

Borrar catlogo RMAN


Borrar un catalogo, no es algo habitual, pero debemos conocer el procedimiento. Es bastante ms
simple que crear el catlogo. En primer lugar, nos conectamos al catlogo de recuperacin:
$ rman target=/ catalog rman_user@cadena_conexin
Hay que borrar todas las copias antes de eliminar el catlogo. Para ello se hace un crosscheck de los
backups, seguido de un delete obsolete y un delete expired, para compactar el repositorio de copias:
RMAN> crosscheck backup;
RMAN> delete obsolete;
RMAN> delete expired;
Se borran los backups restantes: RMAN> delete backup;
Para comprobar que los deletes han hecho efecto, se puede ejecutar:
RMAN> list backup;
Finalmente, se borra el catlogo:
RMAN> drop catalog;
El sistema nos avisar entonces de que estamos intentando borrar el catlogo de recuperacin, y nos
pedir que insertemos otra vez la orden para confirmarlo.

146

Curso de Oracle 11g


Recuperar datafile con RMAN
Recreemos una situacin especfica para ver su proceso. La BBDD est operativa y en funcionamiento
pero, una o varias aplicaciones que acceden a esta BBDD dan un error tipo e indican que no pueden
acceder a un datafile. Al realizar una consulta desde SQLPLUS comprobamos lo siguiente:
SQL> select file_name,status, online_status from dba_data_files where file_name
like '%nombre%';
FILE_NAME
STATUS
ONLINE_
+DG/sid/datafile/nombre.366.650544699
AVAILABLE RECOVER
Como se puede observar, el datafile se encuentra en estado RECOVER. Lo inmediato en este
momento sera lanzar un comando recover desde la propia consola de SQLPLUS. Si el problema es
reciente, esto puede funcionar, pero si no, lo ms probable es que el intento d un error, similar a este:
SQL> recover datafile +DGANCD/ancri/datafile/know.366.650544699';
ORA-00279: ORA-00279: el cambio 7306246681017 generado en 05/24/2009 02:45:57 es
necesario para el thread 1
ORA-00289: sugerencia: +DG/sid/1_15322_619033057.dbf
ORA-00280: el cambio 7306246681017 para el thread 1 est en la secuencia nmero 15322
Especificar log: {<RET>=sugerido | nombre_archivo | AUTO | CANCEL}
ORA-00308: no se puede abrir el archive log '+DG/sid/1_15322_619033057.dbf'
ORA-17503: ksfdopn:2 Fallo al abrir el archivo +DG/sid/1_15322_619033057.dbf
ORA-15173: entry '1_15322_619033057.dbf' does not exist in directory 'sid'En este momento
entra en juego RMAN.
Accedemos RMAN ya que para la recuperacin del datafile va a ser necesario uno o varios ficheros
de archivelog, que pueden haber sido copiados a algn dispositivo externo. Lanzamos el comando:
RMAN> recover datafile '+DG/sid/datafile/nombre.366.650544699';
Iniciando recover en 25/05/09
canal asignado: ORA_DISK_1
canal ORA_DISK_1: sid=619 instancia=SID devtype=DISK
canal asignado: ORA_SBT_TAPE_1
canal ORA_SBT_TAPE_1: sid=628 instancia=SID devtype=SBT_TAPE
canal ORA_SBT_TAPE_1: Data Protection for Oracle: version 5.4.1.0
iniciando la recuperacin del medio fsico
recover terminado en 25/05/09
Al terminar, se lanza la misma consulta del estado del datafile desde SQLPLUS. Con este resultado:
SQL> select file_name,status,online_status from dba_data_files where file_name
like '%nombre%';
FILE_NAME
STATUS
ONLINE_
+DG/sid/datafile/nombre.366.650544699
AVAILABLE OFFLINE
El datafile ha sido recuperado, en estado OFFLINE. Para finalizar el proceso, se pone
ONLINE.
SQL> alter database datafile '+DG/sid/datafile/nombre.366.650544699' online;
Base de datos modificada.
SQL> select file_name,status,online_status from dba_data_files where file_name like
'%nombre%';
FILE_NAME
STATUS
ONLINE_
+DG/sid/datafile/nombre.366.650544699
AVAILABLE

147

Curso de Oracle 11g

3.11 Uso de la Tecnologa de Flashback


La tecnologia Flashback, permite la correccin de errores recuperando datos histricos. Oracle 11g,
introduce Oracle Flashback Data Archive. Esta nueva funcin transparente sigue la pista a los
cambios de todos los datos de Oracle en un medio altamente seguro y eficiente.
En la pgina Valores de Recuperacin encontraremos:
Seccin
Recuperacin de
Flash

El rea de recuperacin de flash es un directorio gestionado por Oracle, un


sistema de archivos o un grupo de discos de gestin automtica de
almacenamiento que proporciona una ubicacin de disco centralizada para
los archivos de copia de seguridad y de recuperacin. Enterprise Manager
puede almacenar sus copias de seguridad en el rea de recuperacin de
flash y las utiliza cuando restaura archivos durante la recuperacin de
medios fsicos. Los componentes de recuperacin de Oracle interactan
con el rea de recuperacin de flash, garantizando de este modo que la
BBDD se puede recuperar mediante los archivos del rea de recuperacin
de flash.
Utilice la seccin de rea de Recuperacin de Flash para establecer la
ubicacin y el tamao del rea de recuperacin. Esta rea es como una
cach de disco para copias de seguridad en cinta, lo que permite reducir los
tiempos de recuperacin y realizar una gestin de copias automatizada.

Activar Flashback
de Base de Datos

Defina la ubicacin del rea de recuperacin de flash. Asegrese de


que la ubicacin que especifique tenga suficiente espacio en disco
para cubrir el tamao del rea de recuperacin de flash.

Defina el tamao del rea de recuperacin de flash y las unidades.

Active el registro de flashback para una recuperacin point-in-time


junto con el tiempo de retencin de flashback.

El rea de recuperacin de flash se debe definir para activar el registro de


flashback. Si utiliza logs de flashback, puede recuperar toda la BBDD
hasta un punto en el pasado sin restaurar los archivos. Flashback es el
mtodo de recuperacin point-in-time designado en el Asistente de
Recuperacin. Defina igualmente el parmetro de retencin para la BBDD
de flashback en el campo Tiempo de Retencin de Flashback.

Y desde la pgina Mantenimiento de la Base de Datos de Cluster, dentro de la seccin Alta


Disponibilidad, podremos utilizar las funciones de Alta Disponibilidad para realizar las tareas de
recuperacin, utilizando el Asistente de Recuperacin para restaurar o recuperar una BBDD,
tablespaces, archivos de datos, archive logs o realizar flashbacks de tablas o recuperar objetos.

148

Curso de Oracle 11g

3.12 Uso de Flashback de Base de Datos


El modelo de concurrencia de Oracle se utiliza como base para Flashback Query. Esta caracterstica
permite a un usuario establecer un cierto nmero SCN o tiempo de reloj en su sesin y ejecutar
consultas sobre los datos que existan en esa fecha. Normalmente en un sistema de BBDD, una vez
que se ha realizado el cambio no hay forma de retroceder al estado anterior de los datos a menos que
se realicen restauraciones desde copias de seguridad. Sin embargo, la recuperacin de una BBDD
muy grande puede ser muy costosa, especialmente si el objetivo es solamente recuperar algunos
datos, para esto la caracterstica Flashback Query proporciona un sistema ms simple para tratar
estas incidencias.
Flashback Data Archive
Implementacin:
1. Se crea usuario administrador con privilegios FLASBACK ARCHIVE ADMINISTER
2. Se otorgan el privilegio flashback archive a un usuario
3. Se crea rea de archive:
SQL> create flashback archive <nombre> tablespace <nombre_tbs> retention xxx year;
Mnima performance, mnimo storage (compress)
4. Se otorgan privilegios sobre el rea de FlashBack Data Archive:
SQL> alter table <nombre tabla> flashback archive <nombre fbda>;
Flujo proceso Background FBDA (Flashback Data Archive)

Se inicia con la BBDD

FBDA trabaja primero sobre el Undo en el Buffer Cache

Si el dato ya no esta en el buffer cache, lo va a buscar a los UNDO Segments

Toda la informacin capturada , es dejada en las tablas correspondientes en el FDA

Flashback Transaction Backout

Permite devolver transacciones ya comiteadas y sus dependencias

Mediante OEM

DBMS_FLASHBACK. TRANSACTION_BACKOUT

V$TRANSACTION

Consulta de Flashback de Versiones: SQL de Consulta de Flashback de Versiones


Durante la operacin de flashback en tablas, puede evaluar los cambios de fila y transacciones de
una tabla para decidir el SCN o registro de hora que se va a utilizar. Utilice los Filtro de Consulta de
Flashback de Versiones para definir las condiciones del filtro que permitirn generar un juego de
filas que muestre los cambios realizados en una tabla y as decidir el SCN o registro a utilizar en el
flashback.
Utilice la pgina SQL de Consulta de Flashback de Versiones para visualizar el SQL generado a
partir de las selecciones realizadas en la pgina Filtro de Consulta de Flashback de Versiones. Se

149

Curso de Oracle 11g


puede acceder a esta pgina seleccionando Mostrar SQL de Consulta de Flashback de Versiones en
la pgina Filtro de Consulta de Flashback de Versiones.
Haga clic en Aceptar para volver a la pgina Filtro de Consulta de Flashback de Versiones.
Realizar Flashback en Tablas
Usaremos esta pgina para especificar las tablas en las que desea realizar un flashback y mostrar la
pgina Agregar Tabla y agregar tablas a la lista en el campo Tablas para Flashback.
En la pgina Realizar Flashback en Tablas estn disponibles siguientes los campos y los botones:
Elemento

Descripcin

mbito de
Recuperacin

Muestra el mbito de recuperacin, por ejemplo, Tablas, Tablespaces o


Archivos de Datos.

Tipo de Operacin

Muestra el tipo de operacin para recuperacin, por ejemplo, Realizar


Flashback en Tablas Existentes.

Hora de Flashback

Muestra la hora de flashback seleccionada con anterioridad en el asistente.

SCN de Flashback

Muestra el SCN de flashback seleccionado con anterioridad en el asistente

Botn Agregar
Tablas

Permite agregar tablas a la lista en la que se realizar el flashback.

Tablas para
Flashback

Muestra las tablas en las que se realizar el flashback. Al seleccionar estas


tablas, Enterprise Manager compara el SCN/registro de hora de entrada con
el SCN/registro de hora del log de deshacer ms antiguo. Si el SCN/registro
de hora de entrada es ms antiguo que el del log de deshacer, aparece un
mensaje de advertencia que le permite volver a la pgina Opciones de
Registro de Hora/SCN para introducir un nuevo o seleccionar otro mtodo
para recuperar los datos.

Nota: Si ninguna tabla depende de las tablas que ha seleccionado, el asistente saltar las pginas
Opciones de Dependencia y Dependencias y se desplazar a la pgina Revisar.
Realizar Flashback de Tablas: Pgina Seleccionar SCN
Utilice la pgina Seleccionar SCN de la funcin Realizar Flashback en Tablas para:

Ver resultados de la operacin de filtro en la pgina Filtro de Consulta de Flashback de


Versiones.

Seleccionar el nmero SCN o el registro de hora en el que desea realizar el flashback.

La operacin de flashback slo se realizar en las tablas seleccionadas en la pgina Realizar


Flashback en Tablas del Asistente de Realizacin de la Recuperaciones.

150

Curso de Oracle 11g


En la pgina Seleccionar SCN estn disponibles los campos, botones y secciones siguientes:
Elemento

Descripcin

mbito de
Recuperacin

Muestra el mbito de la recuperacin, por ejemplo, Tablas, Tablespaces


o Archivos de Datos.

Tipo de Operacin

Muestra el tipo de operacin para la recuperacin, por ejemplo, Realizar


Flashback en Tablas Existentes.

Nombre de la Tabla

Muestra el nombre de la tabla en la que intenta realizar el flashback.

Tabla Resultado de
Consulta de Flashback
de Versiones

Muestra el historial de la fila. Puede seleccionar la versin que desee


eliminar. Se desharn todas las operaciones realizadas en la tabla desde
el punto del SCN o registro de hora que seleccione hasta la hora actual.
Para ver los detalles de una transaccin especfica, haga clic en ella. La
tabla muestra las columnas siguientes: SCN de Flashback, Registro de
Hora de Flashback, Identificador de Transaccin y Operacin, as como
las cabeceras de columna de la tabla.

Filtro de Consulta de Flashback de Versiones


Durante la operacin Realizar Flashback en Tablas, tiene la opcin de evaluar los cambios en las
filas y las transacciones de la tabla para decidir qu nmero SCN o registro de hora quiere utilizar.
Se puede utilizar la pgina Filtro de Consulta de Flashback de Versiones para:

Establecer las condiciones de filtro que permiten generar un juego de filas que muestren a su
vez los cambios realizados a la tabla especificada, decidiendo qu nmero SCN o registro de
hora indicar para el flashback.

Especificar una clusula WHERE segn las columnas seleccionadas para reducir la
bsqueda.

Especificar un rango de las versiones de fila para obtener las versiones necesarias y analizar
un fallo en concreto.

En esta pgina estn disponibles los campos, botones y secciones siguientes:


Elemento

Descripcin

mbito de Recuperacin

Muestra el mbito de la recuperacin.

Tipo de Operacin

Muestra el tipo de operacin para la recuperacin.

Botn Mostrar SQL de Consulta


de Flashback de Versiones

Permite mostrar el SQL generado de las selecciones realizadas


en esta pgina.

Nombre de la Tabla

Muestra el nombre de la tabla en la que intenta realizar el


flashback.

Seccin Seleccionar Columnas

Permite seleccionar columnas de la tabla en la que se realiza el


flashback. Se puede realizar un ajuste de orden de las columnas
seleccionadas mediante los controles situados a la derecha del
recuadro selector Columnas Seleccionadas.

151

Curso de Oracle 11g


Seccin Enlazar Valor de Fila

Utilice la opcin Enlazar Valor de Fila para introducir una


sentencia SQL y filtrar las filas a visualizar.

Seccin Seleccionar Intervalo de


Tiempo

Utilice la seccin Seleccionar Intervalo de Tiempo para


especificar el perodo de tiempo para el que desea visualizar las
filas. Tambien, puede seleccionar Mostrar Todo el Historial de
Filas o especificar un rango de registros de hora mediante la
opcin Especificar Registro de Hora.

Asistente de Realizacin de Flashback en Transaccin


Mostrar SQL de Deshacer
La funcin Realizar Flashback en Transaccin de Enterprise Manager permite buscar e identificar el
identificador de una transaccin que se desea deshacer. Realizar Flashback en Transaccin tambin
muestra informacin sobre transacciones dependientes que se veran afectadas en cualquier accin
de deshacer. En cuanto se identifica la transaccin, tenemos la opcin de deshacerla junto con sus
transacciones dependientes.
La pgina Mostrar SQL de Deshacer se utiliza para mostrar las sentencias SQL del flashback en
transaccin actual en el orden en que se ejecutarn. A esta pgina se accede haciendo clic en Mostrar
Archivo de Comandos SQL de Deshacer desde la pgina Revisar del Asistente de Realizacin de
Flashback en Transaccin.
Si hacemos clic en Aceptar volvemos a la pgina Revisar del Asistente de Realizacin de Flashback
en Transaccin.
Realizar Deshacer
La funcin Realizar Flashback en Transaccin de Enterprise Manager permite buscar e identificar el
identificador de una transaccin que se desea deshacer. Realizar Flashback en Transaccin tambin
muestra informacin sobre transacciones dependientes que se veran afectadas en cualquier accin
de deshacer.
Seleccionar Transaccin
Utilizela para seleccionar la transaccin que desea deshacer y si hacemos clic en una transaccin nos
muestra los detalles de transacciones especficas. Tambien muestra resultados parciales o completos
de la consulta. Si fuera necesario, hacer clic en Refinar Consulta para parar la consulta y volver a la
pgina Realizar Consulta para ajustar los parmetros de bsqueda.
La seccin Resultados de Consulta muestra los siguientes elementos:
Elemento

Descripcin

Identificador de Transaccin

Nmero de identificacin de la transaccin que desea deshacer.

Versiones: Hora de Inicio

Hora de inicio de las transacciones que desea deshacer.

Versiones: SCN de Inicio

SCN de la transaccin que desea deshacer.

Flashback Realizado

Indica si el flashback se ha realizado o no.

152

Curso de Oracle 11g

La seccin Resultados de Consulta en curso muestra los siguientes elementos:


Elemento

Descripcin

Personalizar

Permite seleccionar la columna para la bsqueda, agregando texto SQL


para identificar columnas para filtrar los registros.

Refinar Consulta

Para la consulta actual y vuelve a la pgina de consulta para ajustar los


parmetros de bsqueda.

Tabla Resultados

Muestra la informacin relacionada.

Parar Consulta

Para la consulta.

Mostrar Detalles

Muestra la pgina Detalles de Transaccin.

Realizar Flashback en Tablas Existentes:


Pgina Revisar
Utilice la pgina Revisar para mostrar la lista de todos los cambios que se realizarn en las tablas
seleccionadas para flashback. Y seleccione Mostrar Cambios de Fila para visualizar una tabla con la
vista anterior y posterior de cada fila de datos. Despus de revisar las selecciones realizadas para el
asistente, haga clic en Ejecutar para iniciar el trabajo o para realizar un flashback en las tablas
inmediatamente.
Nota: Las tablas se bloquean mientras se muestran las filas en la pgina Mostrar Cambios de Fila.
La tabla se desbloquea al seleccionar Cancelar, Atrs o cuando se el flashback.
Pgina Opciones de Tabla Dependiente
Al realizar un flashback en las tablas, utilice la pgina Opciones de Tabla Dependiente para definir
las opciones de las tablas dependientes que estn relacionadas con las tablas seleccionadas para el
flashback.
Puede seleccionar realizar un flashback en las tablas seleccionadas y en todas las tablas
dependientes,
o realizarlo independientemente en cada una de ellas. Si elige una de las dos ltimas opciones, se
pueden producir datos inconsistentes. Puede visualizar las tablas dependientes de las tablas
seleccionadas haciendo clic en Mostrar/Ocultar.
Nota: Se puede tardar bastante tiempo en mostrar las tablas dependientes.
Para ampliar la informacin sobre la tecnologa Flashback, puede consulta la ayuda activa de
su BBDD Oracle 11g.

153

Curso de Oracle 11g

3.13 Diagnstico de la Base de Datos (ADDM)


Oracle Database 10g introdujo el Automatic Database Diagnostic Monitor ADDM; (Monitoreo
Automtico de Diagnstico de BBDD). ADDM utiliza un enfoque integrado para ofrecer un anlisis
de desempeo de toda la BBDD, abarcando la administracin de recuperacin y backup,
aplicaciones y SQL, espacios, recursos del sistema y almacenamiento. Ofrece a los DBA un anlisis
proactivo y est disponible para resolver rpidamente problemas de desempeo.
En Oracle Database 11g se amplia el ADDM al ofrecer anlisis de desempeo de todo el cluster para
bases de datos de Real Application Clusters (RAC). Para los entornos RAC, ADDM analiza el
cluster de RAC e informa los problemas que afectan a toda la BBDD, as como sus instancias
individuales.
Los DBA pueden utilizar ADDM para realizar un anlisis de los recursos globales de toda la BBDD,
como SQL de gran carga, el trfico global de interconexiones de cach, los problemas de latencia de
red, la asimetra en los tiempos de respuesta de las instancias, la capacidad I/O, etc. Tambin tienen
la capacidad de restringir el anlisis ADDM de algunas instancias especficas de un cluster RAC.
Se pueden suprimir los resultados de ADDM utilizando directivas para filtrar y desplegar solamente
los resultados de inters. Para comprender mejor el impacto de los resultados a travs del tiempo,
cada resultado tiene un nombre descriptivo que facilita la bsqueda, un enlace a los acontecimientos
previos en las ltimas 24 horas, y a las instancias afectadas.

Ejecutar ADDM
Haga clic en este botn Ejecutar ADDM para crear una nueva instantnea AWR y ejecutar ADDM
en esta instantnea y la anterior.
Adems, en el diagrama Sesiones pueden aparecer uno o varios iconos ADDM. Al hacer clic en uno,
se accede al ADDM donde puede ver un anlisis de rendimiento de la BBDD, ver detalles de
instantnea, imprimir un informe completo del anlisis o ejecutar ADDM de forma inmediata para
un anlisis nuevo de rendimiento.

154

Curso de Oracle 11g


Utilice la pgina Ejecutar ADDM para:

Analizar el rendimiento de la instancia actual.

Analizar el rendimiento de la instancia anterior.

Al analizar el rendimiento de la instancia anterior, se crea una tarea ADDM adicional para las
instantneas no adyacentes. Por ejemplo, podmeos seleccionar una instantnea del repositorio de
carga de trabajo como punto de inicio y otra como punto de finalizacin.
Por defecto, ADDM analiza la BBDD segn las instantneas existentes del repositorio de carga de
trabajo y que se capturan de forma automtica en intervalos predefinidos. ADDM ejecuta una tarea
frente a cada instantnea disponible, adems se pueden buscar fcilmente los resultados de estas
tareas ADDM utilizando Central de Asesores.
Elemento

Descripcin

Ejecutar ADDM para


analizar el rendimiento de
la instancia actual

Seleccione este botn y haga clic en Aceptar. Aparece una pgina de


confirmacin que le preguntar si desea crear una instantnea de
AWR y ejecutar ADDM en esta instantnea y en la anterior. Despues
aparece la pgina Conclusiones de Rendimiento de la Tarea ADDM,
que permite a su vez, consultar las conclusiones de rendimiento para
la consulta.

Ejecutar ADDM para


analizar el rendimiento de
la instancia anterior

Seleccionando este botn y a continuacin, el botn Hora de Inicio


de Perodo, haga clic en el icono de debajo del diagrama que
represente la hora de inicio deseada. Para seleccionar una hora
anterior a la que aparece en el diagrama, utilice la tecla de flecha
hacia la izquierda que aparece debajo del diagrama. Los datos AWR
estn disponibles para los 7 das anteriores.
Si seleccionamos el botn de Hora de Finalizacin de Perodo y, a
continuacin, haciendo clic en el icono de cmara situado debajo del
diagrama que represente la hora de finalizacin deseada, pulsamos en
Aceptar, aparece la pgina Conclusiones de Rendimiento de la Tarea
ADDM, que le permite ver las conclusiones de rendimiento de la
consulta.

Utilice la pgina Tarea ADDM para:

Ver los resultados de la tarea ADDM seleccionada.

Ejecutar ADDM para examinar el rendimiento de otro rango de instantneas.

Ver los detalles de la sesin activa, clase de espera o evento de espera.

Ver el grfico de sesiones activas para la tarea ADDM seleccionada.

Examinar las conclusiones de la tarea ADDM.

Ver filtros, instantneas e informes para esta tarea ADDM.

155

Curso de Oracle 11g


Elemento

Descripcin

Ejecutar ADDM

Haga clic en este botn para ir a la pgina Ejecutar ADDM, donde se


puede analizar el rendimiento de instancia actual y anterior.

Historial de
Conclusiones

Haga clic en este botn para ver el grfico Historial de Conclusiones en el


que puede ver cmo una conclusin ha contribuido al tiempo de BBDD
durante un perodo de tiempo. Tenga en cuenta que, ya que no est en el
contexto de una conclusin de esta pgina, aparecer una pgina
intermedia en la que se le solicitar que seleccione una conclusin ADDM.

Diagrama Sesiones
Activas

Utilice las siguientes directrices para identificar la tarea seleccionada o


para seleccionar una tarea ADDM distinta:
La tarea seleccionada actualmente se identifica con el icono
resaltado que hay debajo del diagrama Sesiones Activas.
Cada icono situado debajo del grfico representa una tarea ADDM
diferente. Haga clic en el enlace Leyenda de Iconos para obtener
descripciones de todos los iconos de instantnea y ADDM.
Cada tarea ADDM corresponde a un par de instantneas
individuales de la BBDD, que se guardan en el repositorio de carga
de trabajo.

Tabla Anlisis de
Rendimiento de
ADDM

Las conclusiones generadas por las tareas ADDM seleccionadas se


muestran en esta tabla.
Impacto: Esta columna se utiliza para determinar la seriedad de la
conclusin. Intente resolver antes los problemas asociados a las
conclusiones de alto impacto, porque la resolucin de estos
problemas tendr el mayor impacto en el rendimiento de la BBDD.
Conclusiones: Haga clic en un enlace Conclusiones para ir a la
pgina Detalles de Conclusiones de Rendimiento que proporciona
el tiempo total de la base de datos transcurrido durante el perodo
del anlisis correspondiente, as como el impacto de la conclusin.
Si implementa las recomendaciones que se muestran, podr reducir
el impacto de dicha conclusin.
Incidencias: Haga clic en un enlace Incidencias para ir a la pgina
Historial de Conclusiones en la que puede ver cmo la conclusin
ha contribuido al tiempo de BBDD durante un perodo de tiempo.

Filtros

Haga clic en este botn para ir a la pgina Filtros de ADDM.

Ver Instantneas

Haga clic en este botn para ir a la pgina Detalles de la Instantnea, donde


se puede ver informacin detallada.

Ver Informe

Haga clic en este botn para ir a la pgina Ver Informe, y ver un informe
HTML para la tarea seleccionada.

156

Curso de Oracle 11g

3.14 Gestin de la Memoria Administracin Automtica de Memoria


Las estructuras de memoria de Oracle Database bsicamente constan de una memoria compartida o
Area Global del Sistema (SGA) y una memoria privada o Area Global del Programa (PGA).

En Oracle Database 11g, la administracin de memoria se ha automatizado. Toda la memoria, PGA


y SGA, es administrada centralmente con la ayuda de la caracterstica de Administracin Automtica
de Memoria. Los DBA deben especificar un solo parmetro, MEMORY_TARGET, y Oracle
automticamente establece el tamao del Area Global del Programa (PGA) y el Area Global del
Sistema (SGA) sobre la base de la carga de trabajo.
Al utilizar la transferencia de memoria indirecta, la BBDD transfiere la memoria de SGA a PGA y
viceversa para responder a la carga. La transferencia indirecta utiliza el mecanismo del sistema
operativo para liberar memoria compartida y la asignacin de memoria para otros componentes que
requieren memoria, por ej., de PGA a SGA. La asignacin dinmica de memoria se ajusta en
intervalos frecuentes para optimizar la memoria en uso con los requisitos de carga de trabajo a fin de
maximizar la utilizacin de la memoria y evitar errores fuera de la memoria. Los usuarios pueden
opcionalmente establecer los parmetros de SGA y PGA al utilizar la caracterstica de
Administracin Automtica de Memoria. Esto garantiza que los tamaos de SGA y PGA no
disminuirn por debajo de los valores especificados por sus parmetros objetivos respectivos en el
modo de autoajuste.
Pgina Rendimiento de la Base de Datos
Utilice esta pgina para obtener un repaso rpido de las estadsticas de rendimiento para esta BBDD
que forma parte del entorno Enterprise Manager y as poder determinar si debe agregar o redistribuir
los recursos de memoria.
Desde esta pgina podr acceder a la tarea Cambiar al modo Acceso a Memoria para sistemas
lentos o bloqueados. Puede desplegar los enlaces que aparecen junto a los diagramas o al final de la
pgina para decidir si es necesario agregar o redistribuir recursos para resolver problemas de
rendimiento.
Interpretacin del Diagrama Host
Los valores altos indican que hay demasiados usuarios en espera en lnea para el tiempo de CPU.
Compare los valores con los de CPU utilizados en el diagrama Sesiones. Si el valor de sesiones es
bajo y el de la longitud de la cola de ejecucin es alto, indica que hay algo ms en el host que no es
la base de datos que est consumiendo CPU.

157

Curso de Oracle 11g


Si ha seleccionado el modo Acceso a Memoria, el diagrama Host no muestra inicialmente datos
histricos, excepto si la pantalla se ha cargado recientemente y los datos histricos en cach estn
todava disponibles. Los datos del Host se almacenan en cach a partir de la hora a la que se accedi
a la pantalla por primera vez y llenan gradualmente el historial en el diagrama Host.
Seleccionar el modo Acceso a Memoria para sistemas lentos o bloqueados.
Puede hacer clic en el enlace Controlar Modo de Acceso a Memoria en la seccin Enlaces
Relacionados para activar el modo Acceso a Memoria. La pgina Rendimiento de la BBDD
reaparece con un botn Desactivar Modo de Acceso a Memoria y un botn Cambiar a Modo de
Acceso SQL en la esquina superior derecha.
Puede desactivar temporalmente el modo Acceso a Memoria haciendo clic en este botn, con lo que
reaparece la pgina Rendimiento de la BBDD en modo Acceso SQL. Para volver a activar el modo
Acceso a Memoria, vuelva a hacer clic en el enlace Controlar Modo de Acceso a Memoria y despus
en Activar Modo de Acceso a Memoria cuando reaparezca la pgina Rendimiento de la BBDD.
En el modo Acceso a Memoria, se recuperan estadsticas de rendimiento directamente desde el rea
Global Compartida (SGA) mediante las llamadas optimizadas/sencillas a nivel de sistema como una
alternativa para SQL. El modo Acceso a Memoria evita el clculo asociado al anlisis y ejecucin de
sentencias SQL, por lo tanto es perfecto para casos de contencin de cach de biblioteca que pueden
evitar que la instancia se controle en modo SQL. Se debe cambiar al modo Acceso a Memoria para
sistemas lentos o bloqueados.
Las pginas en modo Acceso a Memoria contienen datos de ejemplo a una frecuencia mayor que las
pginas en modo SQL. Por este motivo, los diagramas pueden ser algo diferentes del modo SQL.

158

Curso de Oracle 11g

3.15 Gestin del Rendimiento de la Base de Datos


Rendimiento de la Base de Datos
Utilice esta pgina para obtener un repaso rpido de las estadsticas de rendimiento para la BBDD
que forma parte del entorno Enterprise Manager. Con esta informacin, puede determinar si debe
agregar o redistribuir los recursos de memoria.
Algunas de las tareas disponibles en esta pgina son:

Ver los problemas potenciales fuera y dentro de la base de datos actual.

Identificar la causa de los cuellos de botella.

Acceder a la informacin para SQL, sesiones, archivos y objetos principales.

Ejecutar ADDM para realizar un anlisis de rendimiento.

Generar un informe de diagnstico de rendimiento segn los datos de ejemplo de sesin.

Cambiar al modo Acceso a Memoria para sistemas lentos o bloqueados.

Acceder a otros enlaces de control.

Puede desplegar los enlaces que aparecen junto a los diagramas o al final de la pgina para realizar
las siguientes tareas:

Identificar la causa de los problemas de rendimiento y resolverlos.

Decidir si es necesario agregar o redistribuir recursos para resolver problemas de


rendimiento.

Ajustar su plan SQL y su esquema para una mejor optimizacin.


Elemento

Valores

Descripcin
Haciendo clic en el botn para ir a la pgina Valores de Rendimiento,
puede elegir las siguientes opciones:

Seleccionar cul de los cuatro separadores de la pgina


Rendimiento deben aparecer inicialmente como valor por defecto.

Seleccionar qu diagramas desea que aparezcan como valores por


defecto para los separadores Rendimiento Global y E/S.

Seleccionar si desea mostrar los valores de lnea base en los


diagramas de Media de Sesiones Activas, E/S, Rendimiento
Global y Servicios.

Diagrama Host

El diagrama muestra los problemas potenciales fuera de la BBDD. La


carga media es una media mvil de la longitud de la cola de ejecucin.
Esta longitud indica el nivel de contencin para el tiempo de CPU. Haga
clic en la leyenda Carga Media situada a la derecha del diagrama para ir a
la pgina Rendimiento del Host.

Ejecutar ADDM
Ahora

Haga clic en este botn para crear una nueva instantnea AWR y ejecutar
ADDM en esta instantnea y la anterior.

159

Curso de Oracle 11g


Ejecutar Informe ASH Haga clic en este botn para generar un informe Historial de Sesiones
Activas (ASH).
Ver Datos

El intervalo de refresco que seleccione afectar al tipo de dato mostrado y


a la disponibilidad de determinados tipos de enlaces de control
adicionales. Si selecciona Tiempo Real en la lista desplegable Ver Datos,
estarn disponibles los siguientes enlaces:
Bloqueos de Instancia
Actividad de Instancias
Instantneas
SQL Duplicado
Anlisis de Bloqueo
Lneas Base AWR
Sesiones Bloqueantes
Consumidores Principales
Sesiones de Bsqueda
Actividad de Sesin Superior
Buscar SQL
Juegos de Ajustes SQL
Si selecciona Histrico en la lista desplegable Ver Datos, aparecer otra
pgina con el diagrama Seleccin de Intervalo Histrico. Arrastrando el
recuadro sombreado al intervalo de 24 horas deseado para actualizar los
diagramas de la pgina, la vista histrica proporciona los siguientes
enlaces de control:
Actividad de Instancias
Instantneas
SQL Histrico
Juegos de Ajustes SQL

Diagrama Media de
Sesiones Activas

El diagrama muestra posibles problemas dentro de la BBDD. Las


categoras, llamadas clases de espera, muestran qu volumen de la BBDD
est esperando un recurso, como CPU o E/S del disco. Tambien muestra
la carga de la instancia e identifica cuellos de botella del rendimiento.
Para identificar problemas, el diagrama muestra un bloque de color ms
grande para indicar problemas ms graves. Si hacemos en alguna de estas
clases, nos lleva a la pgina Sesiones Activas en Espera para la clase
seleccionada.
Haga clic en el enlace Actividad de Sesin Superior para ir a la pgina
Actividad de Sesin Superior para mostrar todas las clases de espera y
estadsticas relacionadas para estas mtricas:
Sesiones Activas
Sesiones Principales
Mdulos Principales
Archivos Principales

160

Curso de Oracle 11g

PL/SQL Principal
SQL Principal
Servicios Principales
Acciones Principales
Objetos Principales

Diagramas de
Rendimiento Global

Los diagramas muestran cualquier contencin que aparezca en el


diagrama Media de Sesiones Activas y tambin cunto trabajo est
realizando la BBDD.
La vista Por Segundo muestra las conexiones, las transacciones,
las lecturas fsicas y el tamao de redo por segundo.
La vista Nmero por Transaccin muestra slo las lecturas fsicas
por transaccin y el tamao de redo por transaccin.

Diagramas de E/S

La mayora de sistemas muestran un rendimiento correcto si este


diagrama
muestra una latencia inferior a 10 mseg.
Diagramas de Funcin: Muestran componentes como RMAN,
lecturas directas y escrituras directas. Haga clic en una de las
leyendas en la parte derecha de los diagramas para ir a la pgina
Detalles de E/S, donde puede ver datos histricos o en tiempo real
para detalles en MB de E/S o solicitudes de E/S.
Diagramas de Tipo de E/S: Muestran componentes como lecturas
pequeas, escrituras pequeas, lecturas grandes y escrituras
grandes.
Diagramas de Grupo de Consumidores: Muestran grupos de
consumidores de recursos.

Grficos de Ejecucin
en Paralelo

Muestran las mtricas de sistema relacionadas con consultas paralelas.

Diagrama Servicios

Muestra los servicios principales en espera para el evento de espera


correspondiente durante el perodo de tiempo mostrado. Slo se muestran
servicios activos.
Haga clic en una de las leyendas de servicio en la parte derecha de los
diagramas para ir a la pgina Actividad de Servicio, donde puede ver
datos en tiempo real que muestran la carga de las sesiones para todas las
clases asociadas al servicio.

Interpretacin del Diagrama Host


Los valores altos indican que hay demasiados usuarios en espera en lnea para el tiempo de CPU.
Compare los valores con los de CPU utilizados en el diagrama Sesiones. Si el valor de sesiones es
bajo y el de la longitud de la cola de ejecucin es alto, indica que hay algo ms en el host que no es
la BBDD que est consumiendo CPU.
Si ha seleccionado el modo Acceso a Memoria, el diagrama Host no muestra inicialmente datos
histricos, excepto si la pantalla se ha cargado recientemente y los datos histricos en cach estn
todava disponibles. Los datos del Host se almacenan en cach a partir de la hora a la que se accedi
a la pantalla por primera vez y llenan gradualmente el historial en el diagrama Host.
161

Curso de Oracle 11g


Interpretacin del Diagrama Media de Sesiones Activas
El recuento de sesiones se calcula clasificando el tiempo que han consumido todas las sesiones
activas en el ltimo intervalo en diferentes clases de espera, sumndole la cantidad de cada clase de
espera y dividindolo por el intervalo de ejemplo.
Compare los mximos del diagrama Media de Sesiones Activas con los de los diagramas
Rendimiento Global de Instancia. Si el diagrama Media de Sesiones Activas muestra numerosas
sesiones en espera, lo que indica contencin interna, pero el rendimiento global es alto, la situacin
ser aceptable. Probablemente, el rendimiento de la BBDDsea tambin eficaz si la contencin
interna es baja y el rendimiento global es alto. No obstante, si la contencin interna es alta y el
rendimiento global es bajo, habr que considerar un ajuste en la BBDD.
Seleccionar el modo Acceso a Memoria para sistemas lentos o bloqueados.
Puede hacer clic en el enlace Controlar Modo de Acceso a Memoria en la seccin Enlaces
Relacionados para activar el modo Acceso a Memoria. La pgina Rendimiento de la BBDD
reaparece con un botn Desactivar Modo de Acceso a Memoria y un botn Cambiar a Modo de
Acceso SQL en la esquina superior derecha.
Puede desactivar temporalmente el modo Acceso a Memoria haciendo clic en este botn, con lo que
reaparece la pgina Rendimiento de la BBDD en modo Acceso SQL. Para volver a activar el modo
Acceso a Memoria, vuelva a hacer clic en el enlace Controlar Modo de Acceso a Memoria y despus
en Activar Modo de Acceso a Memoria cuando reaparezca la pgina Rendimiento de la BBDD.
Capacidades de SVG
Los diagramas, como los que aparecen en la pgina Rendimiento, estn diseados para beneficiarse
de las capacidades de SVG.
Rendimiento de la Base de Datos de Cluster
Utilice la pgina Rendimiento de la BBDD de Cluster para un repaso rpido de las estadsticas de
rendimiento de la BBDD, que forma parte del entorno de Enterprise Manager. Con esta informacin,
puede determinar si debe agregar o redistribuir los recursos. Las estadsticas se van acumulando en
todas las instancias de la base de datos de cluster.
Algunas de las tareas disponibles en esta pgina son:

Ver los problemas potenciales fuera y dentro de la base de datos actual.

Identificar la causa de los cuellos de botella.

Acceder a la informacin para SQL, sesiones, archivos y objetos principales.

Ejecutar ADDM para realizar un anlisis de rendimiento.

Generar un informe de diagnstico de rendimiento segn los datos de ejemplo de sesin.

Acceder a otros enlaces de control.

Puede desplegar los enlaces que aparecen junto a los diagramas o al final de la pgina para realizar
las siguientes tareas:

Identificar la causa de los problemas de rendimiento y resolverlos.

Decidir si es necesario agregar o redistribuir recursos para resolver problemas de


rendimiento.

Ajustar su plan SQL y su esquema para una mejor optimizacin.


162

Curso de Oracle 11g


Interpretacin del Diagrama Carga Media de Host de Cluster
Si la carga media es superior a la media del nmero total de CPU en todos los hosts del cluster,
existen demasiados procesos esperando recursos de CPU. A menudo, las sentencias SQL que no
estn ajustadas producen un uso intensivo de CPU. Compare los valores de carga media con los de
CPU que ha utilizado en el diagrama Media de Sesiones Activas. Al igula que en casos anteriores, si
el valor de las sesiones es bajo y el valor de la carga media es alto, esto indica que en el host hay
algo, que no es la base de datos, que est consumiendo los recursos de la CPU.
Interpretacin del Diagrama Latencia de Acceso de Bloque de Cach Global
Si al acceder a un bloque de la BBDD de cualquier clase no se localiza una copia en buffer en la
cach local, se iniciar una operacin de cach global. Antes de leer un bloque desde el disco, se
realiza un intento de buscar el bloque en la cach de buffers de otra instancia. Si el bloque est
presente en otra instancia, se puede enviar una versin del bloque. Hay dos tipos de bloques: los
bloques de lectura actuales y los consistentes. El tiempo medio de recepcin de bloque representa el
tiempo transcurrido completo o latencia para una solicitud de bloque.
Las latencias prolongadas se pueden deber a:

Un alto nmero de solicitudes debidas a sentencias SQL que no estn ajustadas.

Un gran nmero de procesos en cola de ejecucin que esperan retrasos de planificacin o


CPU.

Valores de parmetros del sistema operativo especficos de la plataforma que afectan a la


planificacin de procesos o al almacenamiento en buffer del IPC.

Interconexiones lentas, ocupadas o con fallos. En estos casos, busque paquetes borrados,
retransmisiones o errores de comprobacin de redundancia cclicos (CRC). Compruebe que
la red es privada y que el trfico entre instancias no est dirigido a travs de una red pblica.
Puede acceder a la pgina Interconexiones de Cluster desde la pgina Coherencia de Cach
de Cluster para controlar la transferencia y estadsticas relacionadas para las interconexiones.

Interpretacin del Diagrama Media de Sesiones Activas


A nivel de BBDD de cluster, el diagrama Media de Sesiones Activas muestra las estadsticas de
clases de espera agregadas en todas las estancias. La comparacin del tiempo de CPU con el tiempo
de espera ayuda a determinar qu parte del tiempo de respuesta se consume en trabajo til en lugar
de esperando a recursos utilizados potencialmente por otros procesos.
El recuento de sesiones se calcula clasificando el tiempo que han consumido todas las sesiones
activas en el ltimo intervalo de ejemplo en diferentes clases de espera, sumndole la cantidad de
cada clase de espera y dividindolo por el intervalo de ejemplo.
Compare los mximos del diagrama Media de Sesiones Activas con los de los diagramas
Rendimiento Global de la BBDD. Si el diagrama Media de Sesiones Activas muestra numerosas
sesiones en espera, lo que indica contencin interna, pero el rendimiento global es alto, la situacin
ser aceptable. Probablemente, el rendimiento de la BBDD sea tambin eficaz si la contencin
interna es baja y el rendimiento global es alto. No obstante, si la contencin interna es alta y el
rendimiento global es bajo, habr que considerar un ajuste en la BBDD .
Para identificar rpidamente reas de problemas, el diagrama muestra un bloque de color ms grande
para indicar problemas ms graves, que puede seleccionar para acceder a la informacin almacenada

163

Curso de Oracle 11g


a nivel de instancia en Sesiones Activas a travs de las pginas de Instancias. Tambin puede hacer
clic en las leyendas de clase de espera junto al diagrama Media de Sesiones Activas para acceder a
las mismas pginas.
Instancias de Rendimiento Global
La pgina Instancias de Rendimiento Global muestra el desglose por instancia activa del grfico de
rendimiento global de la BBDD acumulado de la pgina Rendimiento de la BBDD de Cluster.
Utilice esta pgina para ver el rendimiento global de una determinada instancia, lo que puede
ayudarle a diagnosticar problemas de rendimiento global.
Utilicela tambien para ver el grfico de rendimiento de la categora Rendimiento de la BBDD
seleccionada en la pgina Rendimiento de la BBDD de Cluster. El rendimiento de cada una de las
instancias est representado en el grfico.
Interpretacin y Uso del Diagrama
Haga clic en un nombre de instancia en la leyenda bajo el grfico para ir a la pgina Sesiones
Principales, que contiene informacin sobre las sesiones que consumen ms recursos. Puede ver el
grfico de resumen de las instancias o el grfico de mosaico de cada instancia. Los grficos de
resumen muestran datos de las N instancias principales en un cluster. Puede personalizar el nmero
de instancias que deben mostrarse haciendo clic en Personalizar.
En la vista del grfico de resumen o de mosaico, haga clic en un nombre de la leyenda debajo del
grfico o en la columna Nombre de la Instancia para ver la pgina Sesiones Principales de la
instancia que seleccione. En dicha pgina, puede seleccionar diferentes mtricas dentro de dicha
categora desde la lista desplegable.
El grfico Mximo, Media y Mnimo muestra los valores mximos, medios y mnimos de la
categora Rendimiento Global de la BBDD de las instancias de cluster. La tabla Datos de Instancia
muestra los valores actuales, medio y mximo de la ltima hora para cada instancia.
Personalizacin del Diagrama
Al acceder por primera vez a esta pgina, el diagrama muestra datos de hasta cuatro instancias. Si el
sistema ejecuta ms de cuatro instancias, la tabla siguiente muestra los datos para las cuatro
instancias del diagrama ms el resto de instancias que no aparecen en el diagrama. Los cuatro
valores principales actuales de la tabla determinan qu instancias se muestran en el diagrama.
Data Guard
Utilice la pgina Data Guard - Visin General de Rendimiento para mostrar estadsticas detalladas
relacionadas con el rendimiento de la configuracin de Data Guard mediante el uso de diagramas de
rendimiento. Estos proporcionan un resumen grfico de toda la actividad de redo log de la
configuracin. El intervalo de recopilacin por defecto es de un minuto y se puede modificar.
Notas de Uso
En esta pgina se recopila informacin relacionada con el rendimiento de todas las BBDD de la
configuracin. Todos los diagramas estn representados por mtricas. Por lo general, los diagramas
muestran dos horas vlidas de datos. Y se puede hacer clic en cualquier diagrama para ver datos
histricos (por ejemplo, 24 horas, 7 das, 31 das). Los ratios se calculan determinando la cantidad de
redo (aplicado o generado) dividido entre el intervalo de recopilacin (el valor por defecto es 1
minuto para la pgina de rendimiento y de 5 para mtricas).
164

Curso de Oracle 11g

Ratio de Generacin de Redo: Este diagrama muestra el ratio de generacin de redo (KB/seg)
en la BBDD primaria.

Tiempos de Demora: Muestra la demora de transporte, correspondiente al nmero de


segundos aproximado de redo an no disponibles en la base de datos en espera y la demora
de aplicaciones que es el nmero de segundos aproximado que la base de datos en espera se
encuentra por detrs de la primaria.

Ratio de Aplicaciones: Muestra el ratio de aplicaciones en espera (KB/seg). El ratio de


generacin de redo actual muestra el ltimo valor. El valor Aplicar Ratio cuando Est Activo
muestra el ratio de aplicacin actual promedio en los ltimos tres archivos de log.

Aplicacin de Prueba: La aplicacin de prueba es una aplicacin incorporada que genera una
carga de trabajo en la BBDD primaria. Constituye una de las formas ms sencilla de ver las
mtricas de rendimiento cuando la BBDD primaria est en proceso de carga.

Visin General: Muestra el nombre y estado de la BBDD primaria.

Nota: El estado de la pgina de rendimiento se muestra directamente de la mtrica de estado que se


ejecuta a intervalos de recopilacin de 5 minutos. El estado de la pgina Visin General de Data
Guard se actualiza siempre con cada refrescamiento.
Pgina Detalles de Conclusiones de Rendimiento
Utilice la pgina Detalles de Conclusiones de Rendimiento para ver las recomendaciones que ha
generado una conclusin de ADDM determinada. Cada conclusin puede dar lugar a una o varias
recomendaciones. Esta, proporciona el tiempo total de la BBDD transcurrido durante el perodo del
anlisis correspondiente, as como el impacto de la bsqueda. Si implementa las recomendaciones de
la bsqueda que se muestran en la pgina, podr reducir el impacto de dicha bsqueda. Tanto el
impacto de la bsqueda como la ventaja de cada recomendacin de bsqueda se muestran en forma
de grfico de barras como porcentaje del tiempo total de la BBDD.
Elemento

Descripcin

Historial de
Conclusiones

Haga clic en este botn para ir a la pgina Historial de Conclusiones en la


que puede ver cmo la conclusin ha contribuido al tiempo de BBDD.

Filtros

Haga clic en este botn para ir a la pgina Filtros de ADDM en la que


puede crear, visualizar o editar un filtro, y ver una lista de los filtros de la
conclusin.

Planificar Asesor de
Ajustes SQL

Para planificar una ejecucin del Asesor de Ajustes SQL, seleccione la


casilla de control de la izquierda y haga clic en este botn para definir el
mbito y la planificacin de la ejecucin del asesor.

Ejecutar Asesor
ahora

Si se puede implementar una recomendacin de ajuste SQL utilizando el


Asesor de Ajustes SQL, Enterprise Manager incluye este botn para que se
pueda ejecutar el asesor directamente.

Ver Historial de
Ajustes

Este botn slo est disponible si ha ejecutado anteriormente el Asesor de


Ajustes SQL para esta sentencia SQL. Y haciendo clic en este botn para ir
al separador Informacin de Ajuste de la pgina Detalles de SQL.

Ejecutar Asesor de
Segmentos

Para recomendaciones de ajuste de segmento, este botn inicia el Asesor de


Segmentos para el objeto de BBDD correspondiente.

165

Curso de Oracle 11g


Implementar

Para recomendaciones relacionadas con la modificacin de parmetros


init.ora, este botn est disponible para modificar el parmetro al valor
recomendado.

Tabla Ruta de
Acceso de
Bsquedas

ADDM localiza los problemas en la BBDD mediante un enfoque vertical.


Identifica primero a los mayores consumidores de CPU y a los
componentes o servicios que estn experimentando el mayor tiempo de
espera. A continuacin, puede desplegar para identificar los motivos
especficos de un cuello de botella de rendimiento.
El rbol de bsquedas inversas se muestra para la bsqueda concreta en la
tabla de bsqueda de ruta de acceso.

Pgina Informe de Datos de Rendimiento


Desde aqu se puede generar un informe Historial de Sesiones Activas (ASH). Este informe de
diagnstico del rendimiento de la BBDD se basa en datos de ejemplo de sesin en un perodo de
tiempo determinado. Este informe resulta muy til para diagnosticar picos de rendimiento pequeos
(de 5 a 10 minutos) cuya media se puede obtener y, por lo tanto, ocultar o minimizar por otros
problemas en el informe AWR de 1 hora.
Puede ejecutar este informe entre dos momentos determinados dentro del intervalo de retencin (1
semana definida por defecto) del repositorio de carga de trabajo automtica (AWR). Este informe no
necesita instantneas AWR para marcar los puntos finales del anlisis del informe.
Adems de las fechas y horas de inicio y finalizacin, esta pgina incluye los siguientes elementos:
Elemento

Descripcin

Generar Informe

Para producir un informe ASH, este informe se agrega a la pgina.

Filtro

Seleccione una opcin de filtro y proporcione una cadena de bsqueda si


desea limitar el informe.

166

Curso de Oracle 11g

3.16 Uso del Asesor de Segmentos


Configurar
Utilice el rea Bsquedas de Segmento del rea Uso de Espacio para ayudar a identificar problemas
relacionados con el almacenamiento y ofrecer mejoras de rendimiento. Puede mostrar las bsquedas
leves de espacio que puedan estar afectando actualmente al rendimiento del sistema.
Tambien para designar los problemas que se deben detectar y para seleccionar los tablespaces que se
deben comprobar durante el procedimiento de comprobacin de la fragmentacin. Puede especificar
el porcentaje de espacio desperdiciado por debajo del lmite superior a partir del cual se van a
detectar los segmentos de tabla. Igualmente puede especificar el porcentaje de encadenamiento de
filas por encima del cual se van a detectar los segmentos de tabla.
Si desactiva las opciones Espacio Desperdiciado Excesivo y Encadenamiento de Filas Excesivo, se
desactiva la comprobacin de la fragmentacin. AL reactivarlas, introduzca valores en los campos
Espacio Desperdiciado (%), Espacio Desperdiciado (MB) y Encadenamiento de Filas (%) y
seleccione los tablespaces que se van a detectar. Especifique la cantidad de espacio desperdiciado
ms pequea que se deba indicar.
Un segmento slo se marcar como espacio desperdiciado si el porcentaje de espacio desperdiciado
excede el porcentaje especificado en el campo Espacio Desperdiciado (%) y es superior al
especificado en el campo Espacio Desperdiciado (MB). Sus valores por defecto son 50%, 10 MB y
10%.
Los siguientes segmentos no se comprueban durante la ejecucin de la utilidad:

Objetos que pertenecen a un cluster

Tablas anidadas

Subparticiones

ndices

Segmentos con 1 sola extensin

Segmentos que pertenecen a SYS en bases de datos pre10 g

Segmentos del tablespace SYSTEM

Segmentos de los tablespaces temporal y deshacer

Para tablespaces sin gestin automtica de espacio de segmento, slo se comprueba el espacio
desperdiciado de la tabla y los segmentos de particin de la tabla.
Nota: El usuario de control es el usuario de la BBDD que utiliza Oracle Enterprise Manager para
conectarse a la BBDD y controlar su rendimiento. Para que la comprobacin de bsquedas de
segmentos se realice correctamente, el usuario de control debe tener los siguientes privilegios
SELECT ANY DICTIONARY y ANALYZE ANY.
Asesor de Segmentos Automtico
Enterprise Manager utiliza el Asesor de Segmentos para aconsejar si un objeto es un buen candidato
para realizar una operacin de reduccin basada en el nivel de fragmentacin de espacio dentro de

167

Curso de Oracle 11g


un objeto. Utilice esta informacin para obtener una planificacin de la capacidad y para tomar una
decisin sobre qu segmentos reducir.
Utilicela para ver los valores de la configuracin actual del trabajo de Asesor de Segmentos
Automtico y para mostrar la informacin de la ltima ejecucin del trabajo. La pgina proporciona
informacin sobre el estado del trabajo, la hora de la prxima ejecucin programada y el Historial de
Ejecucin. Puede editar la configuracin haciendo clic en Configurar.
Ejecucin del Asesor de Segmentos
Para ejecutar el asistente del Asesor de Segmentos debe tener los privilegios ADVISOR y CREATE
JOB o CREATE ANY JOB. Si no tiene los privilegios adecuados, se mostrar un mensaje de error.
Se accede a esta pgina haciendo clic en el enlace asociado en la seccin Enlaces Relacionados de la
pgina Recomendaciones del Asesor de Segmentos.
Conclusiones de Segmentos: Configurar - Agregar Tablespaces
Utilice el rea Conclusiones de Segmentos del rea Uso de Espacio para ayudar a identificar
problemas relacionados con el almacenamiento. Puede mostrar las conclusiones de espacio que
puedan estar afectando actualmente al rendimiento del sistema.
Utilice la pgina Agregar Tablespaces para agregar tablespaces a la lista de tablespaces en los que
desea comprobar si hay problemas durante el proceso de deteccin de segmentos. Puede acceder a
esta pgina desde la pgina Conclusiones de Segmentos: Configurar.
Los siguientes segmentos no se comprueban durante la ejecucin de la utilidad Conclusiones de
Segmentos:

Objetos que pertenecen a un cluster

Tablas anidadas

Subparticiones

ndices

Segmentos con 1 sola extensin

Segmentos que pertenecen a SYS en bases de datos pre10 g

Segmentos del tablespace SYSTEM

Segmentos de los tablespaces temporal y deshacer

Para tablespaces sin gestin automtica de espacio de segmento, slo se comprueba el espacio
desperdiciado de la tabla y los segmentos de particin de la tabla.
Segmentos de Tabla
Puede utilizar Oracle Enterprise Manager para crear nuevas tablas, editar las construcciones y
parmetros de las tablas existentes o suprimir tablas. Puede utilizar la pgina Editar: Segmentos de
Tabla para:

Mostrar los segmentos dependientes de la tabla.

Mostrar la tendencia creciente de los segmentos mediante el perodo de tiempo especificado.

168

Curso de Oracle 11g


La pgina Editar: Segmentos de Tabla muestra los siguientes elementos:
Elemento

Descripcin

Tabla Segmentos
Dependientes

Muestra los segmentos dependientes de la tabla. La tabla contiene los


valores de Esquema, Nombre de Segmento, Tipo, Tablespace, Espacio
Usado, Espacio Asignado y el porcentaje de espacio desperdiciado. Puede
seleccionar un segmento y consultar la tendencia si hace clic en
Refrescar.
Nota: Los segmentos mostrados no incluyen el segmento de
desbordamiento IOT, el segmento de tabla de asignacin IOT, LOB ni los
segmentos de ndice LOB.

Grfico de Tendencia
de Uso de Espacio de
la Tabla

Muestra la tendencia de crecimiento de los segmentos seleccionados


mediante el perodo de tiempo especificado. Introduzca un rango de
fechas y, a continuacin, haga clic en Refrescar el grfico. La tabla traza
el uso del espacio en el eje Y y la fecha/hora en el eje X y muestra la
cantidad de espacio asignado y utilizado. Si especifica una fecha futura,
se generar una prediccin sobre el uso de espacio en esa fecha. La traza
de la tendencia puede tardar algn tiempo al refrescar.

Men Acciones

Slo est disponible en modo de edicin. Para ejecutar otras funciones de


comando para una tabla, haga clic en Ir para ejecutar el comando
seleccionado de la lista desplegable Acciones. Otras acciones que puede
seleccionar son Crear ndice, Crear Sinnimo, Crear Disparador, Generar
DDL, Privilegios de Objeto, Gestionar Estadsticas del Optimizador,
Reorganizar, Ejecutar Asesor de Segmentos, Reducir Segmento, Mostrar
Dependencias, Ver Datos, Realizar Flashback en Tabla, Consulta de
Flashback de Versiones y Flashback de Transacciones.

Botn Planificar
Trabajo

Muestra la pgina Planificar Trabajo, en la que se ejecutar un trabajo


para crear la tabla. El trabajo se puede ejecutar inmediatamente o no. Este
slo aparece en la pgina Editar Tabla.

Botn Mostrar SQL

Muestra la sintaxis SQL creada una vez introducida toda la informacin


en la pgina.

Botn Revertir

Slo est disponible en modo de edicin. Este botn permite volver al


estado anterior de la tabla antes de realizar los cambios.

Botn Aplicar

Slo est disponible en modo de edicin. Permite guardar los cambios


realizados en la tabla.

Editar Segmentos de ndice


Puede utilizar Oracle Enterprise Manager para gestionar ndices que aceleran la ejecucin de
sentencias SQL en una tabla. Un ndice de Oracle proporciona una ruta de acceso ms rpida a los
datos de la tabla. Puede utilizar Oracle Enterprise Manager para crear nuevos ndices, editar los
parmetros opcionales y de almacenamiento de los ndices existentes o suprimir los ndices. Y puede
utilizar la pgina Editar Segmentos de ndice para, mostrar los segmentos dependientes del ndice y
la tendencia creciente de los segmentos seleccionados mediante el perodo de tiempo especificado.

169

Curso de Oracle 11g


La pgina Editar Segmentos de ndice muestra los siguientes elementos:
Elemento

Descripcin

Tabla Segmentos
Dependientes

Muestra los segmentos dependientes del ndice. La tabla contiene los


valores de Esquema, Nombre de Segmento, Tipo, Tablespace, Espacio
Usado, Espacio Asignado y el porcentaje de espacio desperdiciado. Puede
seleccionar un segmento y consultar la tendencia de uso de espacio si hace
clic en Refrescar.

Grfico de
Tendencia de Uso de
Espacio del ndice

Muestra la tendencia de crecimiento de los segmentos seleccionados


mediante el perodo de tiempo especificado. Introduzca un rango de fechas
en los campos De y A y, a continuacin, haga clic en Refrescar el grfico.

Men Acciones

Disponible slo en modo de edicin. Para realizar otras funciones de


comando para un ndice, haga clic en Ir para ejecutar el comando
seleccionado de la lista desplegable Acciones. Otras acciones que puede
seleccionar son Generar DDL, Gestionar Estadsticas del Optimizador,
Reorganizar, Ejecutar Asesor de Segmentos, Reducir Segmento y Mostrar
Dependencias.

Botn Planificar
Trabajo

Muestra la pgina Planificar Trabajo, en la que se esjecutar un trabajo


para crear el ndice. El trabajo se puede ejecutar inmediatamente o no. Este
aparece slo en la pgina Crear ndice.

Botn Mostrar SQL

Muestra la sintaxis SQL creada una vez introducida toda la informacin en


la pgina.

Botn Revertir

Disponible slo en modo de edicin. Este botn permite volver al estado


anterior del ndice antes de realizar los cambios.

Botn Aplicar

Disponible slo en modo de edicin. Permite guardar los cambios


realizados en el ndice.

La pgina Segmentos es una de las pginas de la serie que compone la hoja de propiedades ndice.
Recomendaciones de ltima Ejecucin de Trabajo de Asesor de Segmentos Automtico
Enterprise Manager utiliza el Asesor de Segmentos para aconsejar si un objeto es un buen candidato
para realizar una operacin de reduccin basada en el nivel de fragmentacin de espacio dentro de
un objeto.
Nota: Para ejecutar el asistente del Asesor de Segmentos debe tener los privilegios ADVISOR y
CREATE JOB o CREATE ANY JOB. Si no tiene estos privilegios, se muestra un mensaje de error.
Cuando termina un trabajo del Asesor de Segmentos, la salida del trabajo contiene los problemas de
espacio encontrados y las recomendaciones del asesor para resolverlos. Para ver las
recomendaciones del trabajo ms recientementes, navegue hasta Recomendaciones desde la pgina
Recomendaciones de ltima Ejecucin de Trabajo de Asesor de Segmentos Automtico. Utilice esta
pgina para:

170

Curso de Oracle 11g

Ver una tabla que muestra el espacio reclamable por segmento o por tablespace.

Ir a cualquier representacin de la tabla mediante el enlace que se muestra sobre la tabla.

Se accede a esta pgina haciendo clic en el enlace asociado en la seccin Enlaces Relacionados de la
pgina Recomendaciones del Asesor de Segmentos.
Las recomendaciones se basan en la tendencia de crecimiento del segmento. Si la tendencia de
crecimiento est disponible, el uso de espacio indicado ser los datos previstos y puede que no sea
igual al espacio utilizado en el momento de la evaluacin. Oracle recomienda reducir o reorganizar
estos segmentos para liberar espacio no utilizado.

171

Curso de Oracle 11g

3.17 Gestin de Recursos


Gestin de los recursos de la BBDD
Un administrador de la BBDD necesita poder controlar cmo se divide la potencia de procesamiento
entre los usuarios y grupos de usuarios. Algunos grupos pueden ejecutar consultas interactivas donde
el tiempo de respuesta es crtico; otros pueden ejecutar informes largos que se pueden ejecutar como
tareas de procesos por lotes en segundo plano cuando la carga del sistema sea baja. Tambin es
importante poder evitar que un usuario enve inadvertidamente una consulta ad hoc extremadamente
complicada que retrasar demasiado al resto.
La caracterstica de gestin de los recursos de la BBDD permite al administrador de la BBDD dividir
los usuarios entre grupos consumidores de recursos con distintas prioridades y propiedades.
Por ejemplo, un grupo de usuarios interactivos de alta prioridad pueden tener garantizado al menos un
60 por ciento de UCP. El resto, ms alguna parte del 60 por ciento no utilizado por el grupo de alta
prioridad, se asignara entre los grupos de consumidores de recursos con baja prioridad. Un grupo de
realmente baja prioridad podra tener asignado un 0 por ciento, lo que significara que las consultas
enviadas por este grupo se ejecutaran solamente cuando hubiera disponibles ciclos de CPU no
utilizados. Se pueden establecer para cada grupo lmites para el grado de paralelismos para la
ejecucin en paralelo. El administrador de la BBDD tambin puede establecer lmites de tiempo sobre
cunto tiempo mximo de ejecucin se permite a una instruccin SQL. Cuando un usuario enva una
instruccin, el gestor de recursos estima cunto tiempo tardara enejecutarse y devuelve un error si la
instruccin viola el lmite. El gestor de recursos tambin puede limitar el nmero de sesiones de
usuario que se pueden activar simultneamente para cada grupo de consumidores de recursos.
Plan de Recursos: General
Utilice Enterprise Manager para asignar recursos entre grupos de consumidores. Estos planes de
recursos contienen directivas que especifican los recursos que se proporcionarn a cada y grupo y
que se pueden especificar de modo jerrquico utilizando subplanes. Podemos usar esta pgina para:

Crear o editar informacin general sobre un plan de recursos.

Seleccionar grupos/subplanes disponibles que incluir en el plan de recursos agregndolos a la


tabla Asignaciones de Recursos.

Seleccionar el porcentaje de recursos de CPU asignados a un grupo.

Nota: Para las bases de datos de cluster, la pgina Plan de Recursos, muestra las instancias en las que
el plan de recursos est activo. Si se hace clic en Editar podr cambiar las instancias activas del plan.
La tabla Plan de Recursos: General incluye los siguientes campos, tablas y botones:
Elementos

Descripcin

Plan

Nombre del plan de recursos.

Descripcin

Descripcin textual del plan de recursos.

Activar este plan Si activa el plan, tambin puede activar el Cambio Aut. de Plan.
Men Acciones

En modo de edicin, puede ejecutar acciones en el plan de recursos


seleccionando una accin desde en lista desplegable y pulsando Ir. Puede
seleccionar Crear como o Generar DDL.

172

Curso de Oracle 11g


Tabla
Asignaciones de
Recursos

Muestra los grupos de consumidores y los subplanes que forman parte del plan.
Puede adems agregar grupos de consumidores y subplanes a la tabla
Asignaciones haciendo clic en Modificar. Esta tabla muestra los
grupos/subplanes y los niveles.

Botn Mostrar
SQL

Muestra la sintaxis SQL creada una vez introducida toda la informacin de la


pgina.

Botn Revertir

Utilice Revertir para cancelar todos los cambios realizados y volver a los
valores anteriores del plan.

Botn Aplicar

Utilice Aplicar para aplicar los cambios realizados en el plan. Este botn slo
est disponible en el modo de edicin.

Grupo de Consumidores de Recursos: General


Puede utilizar Enterprise Manager para gestionar grupos de usuarios (o sesiones) que se agrupan segn
sus necesidades de procesamiento. Utilice los grupos de consumidores de recursos para especificar los
usuarios y los roles a cuyas sesiones se permite iniciar o cambiar en cada grupo de consumidores.
Utilice esta pgina para:

Crear o editar el grupo de consumidores y su descripcin.

Seleccionar usuarios que asignar al grupo agregando o suprimiendo miembros de la tabla


Usuarios Seleccionados.

La pgina Grupo de Consumidores de Recursos - General contiene los siguientes campos, tablas y
botones:
Elementos

Descripcin

Grupo de Consumidores

Muestra el nombre del grupo de consumidores de recursos.

Descripcin

Descripcin textual del grupo de consumidores de recursos.

Poltica de Planificacin

Seleccione Asignacin en Rueda (Round-Robin) o Ejecutar para


Terminar.

Men Acciones

En el modo de edicin, puede ejecutar acciones en el grupo de


consumidores de recursos seleccionando una accin en la lista
desplegable y pulsando Ir.

Tabla Usuarios que


Pueden Ejecutar en este
Grupo de Consumidores

Muestra los usuarios a los que se permite ejecutar en este grupo de


consumidores. Puede agregar miembros al grupo haciendo clic en
Agregar.

Botn Agregar

Muestra la pgina Agregar Usuarios Disponibles en la que puede


agregar nuevos miembros a la tabla Usuarios.

Botn Mostrar SQL

Muestra la sintaxis SQL creada una vez introducida toda la


informacin de la pgina.

Botn Revertir

Utilice Revertir para cancelar todos los cambios realizados y volver a


los valores anteriores del grupo de consumidores.

Botn Aplicar

Utilice Aplicar para aplicar los cambios realizados en el grupo de


consumidores.

173

Curso de Oracle 11g


Paralelismo
Utilice Enterprise Manager para asignar recursos entre grupos de consumidores. Utilice la pgina
Plan de Recursos - Paralelismo para definir el grado mximo de paralelismo para cada grupo que
forma parte del plan de recursos actual.
La pgina Plan de Recursos - Paralelismo incluye los siguientes campos, tablas y botones:
Elementos

Descripcin

Tabla Paralelismo

Especifica un lmite sobre el grado de paralelismo de cualquier operacin


emitida por este grupo de consumidores. Puede introducir un valor
numrico o UNLIMITED para indicar que no hay lmite.

Men Acciones

En el modo de edicin, puede ejecutar acciones en el plan de recursos


seleccionando una accin de la lista desplegable y pulsando Ir.

Botn Mostrar SQL

Muestra la sintaxis SQL creada una vez introducida toda la informacin de


la pgina.

Botn Revertir

Utilice Revertir para cancelar todos los cambios realizados y volver a los
valores anteriores del plan.

Botn Aplicar

Utilice Aplicar para aplicar los cambios realizados en el plan.

Tiempo de Ejecucin
La hoja de propiedades Plan de Recursos permite seleccionar los grupos/subplanes disponibles que
se van a incluir en el plan de recursos, seleccionar el porcentaje de recursos de CPU asignados a un
grupo, especificar el nmero mximo de servidores de ejecucin paralelos asociados a una nica
operacin para cada grupo de consumidores de recursos, el nmero mximo de sesiones activas
simultneas permitidas en un grupo de consumidores, el mximo de kilobytes en la cantidad total de
deshacer generados por un grupo de consumidores, el tiempo de ejecucin mximo en segundos
permitido para una operacin si no existe ningn otro trabajo en el sistema, los criterios que
provocan el cambio automtico de sesiones a otro grupo de consumidores y, a continuacin, activar
el plan.
Utilice la pgina Tiempo de Ejecucin de la hoja de propiedades Plan de Recursos para definir el
tiempo estimado de ejecucin en segundos para cada grupo que compone el plan de recursos actual.
Umbral
Utilice la pgina Plan de Recursos - Umbral para:

Especificar la duracin o los lmites de recursos bajo los que se puede ejecutar una sesin en
un grupo de consumidores.

Cambiar a otro grupo de consumidores, cancelar la operacin SQL de una sesin o matar una
sesin si se excede alguno de los lmites.

Esta pgina incluye los siguientes campos, tablas y botones:

174

Curso de Oracle 11g


Elementos

Descripcin

Tabla Umbral

Especifica la duracin o los lmites de recursos bajo los que se puede


ejecutar una sesin en un grupo. Puede introducir un valor numrico o
UNLIMITED para designar que no hay lmite en los campos Lmite de
Tiempo de Ejecucin (Seg) , Lmite de E/S (MB) o Lmite de Solicitud de
E/S (Solicitudes). Si excede alguno de los lmites, la sesin puede
cambiarse a otro grupo de consumidores que se muestre en el campo
Acciones, puede cancelarse la operacin SQL de la sesin o puede matarse
la operacin. Se tiene que asignar una Accin a cada grupo. Y activar la
opcin Desea revertir despus de la llamada? Para anular el cambio al
final de la llamada.

Men Acciones

En el modo de edicin, puede seleccionar ejecutar acciones en el plan de


recursos eligiendo una accin en la lista desplegable y pulsando Ir.

Botn Mostrar SQL

Muestra la sintaxis SQL creada una vez introducida toda la informacin de


la pgina.

Botn Revertir

Utilice Revertir para cancelar todos los cambios realizados y volver a los
valores anteriores del plan.

Botn Aplicar

Utilice Aplicar para aplicar los cambios realizados en el plan.

Roles
Utilice la pgina Grupos de Consumidores de Recursos - Roles para mostrar o seleccionar los roles
que desea agregar al grupo de consumidores de recursos actual.
La pgina incluye las siguientes tablas y botones:
Elementos

Descripcin

Lista Roles
Disponibles

Muestra la lista de roles disponibles desde la que puede seleccionar para el


grupo de consumidores de recursos actual. Utilice los recuadros selectores
para mover roles desde y hacia las columnas Roles Disponibles y Roles
Seleccionados.

Lista Roles
Seleccionados

Muestra la lista de roles seleccionados para el grupo de consumidores


actuales.

Botn Mostrar SQL

Muestra la sintaxis SQL creada una vez introducida toda la informacin de


la pgina.

Botn Aceptar

Utilice Aceptar para confirmar la seleccin de roles que se agregarn al


grupo de consumidores de recursos.

Tiempo de Inactividad
Utilice la pgina Plan de Recursos: Tiempo de Inactividad para definir los valores de Tiempo
Mximo de Inactividad en segundos y Tiempo Mximo de Inactividad si se Bloquea Otra Sesin
(seg) en segundos. Igualmente puede especificar el valor UNLIMITED para indicar que no se ha
definido ningn tiempo mximo. Est incluye los siguientes campos, tablas y botones:

175

Curso de Oracle 11g


Elementos

Descripcin

Tabla Tiempo de
Inactividad

Especifica el tiempo mximo que puede estar inactiva una sesin del grupo
de consumidores.

Men Acciones

En el modo de edicin, puede ejecutar acciones en el plan de recursos


seleccionando una accin de la lista desplegable y pulsando Ir.

Botn Mostrar SQL

Muestra la sintaxis SQL creada una vez introducida toda la informacin de


la pgina.

Botn Revertir

Utilice Revertir para cancelar todos los cambios realizados y volver a los
valores anteriores del plan.

Botn Aplicar

Utilice Aplicar para aplicar los cambios realizados en el plan.

Pool de Sesiones
Utilice la pgina Pool de Sesiones para:

Definir el nmero mximo de sesiones permitidas para un grupo que forme parte del plan de
recursos.

Definir el valor de timeout en segundos, para cada sesin.

La pgina Pool de Sesiones muestra una tabla que contiene todos los grupos y los valores de Nmero
Mximo de Sesiones y Timeout de Cola de Activacin (seg).
La pgina contiene los siguientes campos, tablas y botones:
Elementos

Descripcin

Tabla Pool de Sesiones

Especifica un lmite sobre el nmero mximo de sesiones activas


simultneamente para cada grupo de consumidores. Todas las dems
sesiones esperarn en una cola de activacin.

Men Acciones

En el modo de edicin, puede ejecutar acciones en el plan de recursos


seleccionando una accin de la lista y pulsando Ir.

Botn Mostrar SQL

Muestra la sintaxis SQL creada una vez introducida toda la informacin


de la pgina.

Botn Revertir

Utilice Revertir para cancelar todos los cambios realizados y volver a


los valores anteriores del plan.

Botn Aplicar

Utilice Aplicar para aplicar los cambios realizados en el plan.

Seleccionar Grupos/Subplanes
Utilice la pgina Plan de Recursos: Seleccionar Grupos/Subplanes para agregar o eliminar planes y
grupos de la tabla de la pgina Plan de Recursos: General que muestra los grupos y subplanes
asociados al plan de recursos actual. Mueva los grupos o los subplanes entre las listas
Grupos/Subplanes Disponibles y Asignaciones de Recursos. Haga clic en Aceptar para aceptar las
selecciones y volver a la pgina Planes de Recursos: General.
Puede acceder a la pgina Seleccionar Grupos/Subplanes seleccionando Modificar desde la pgina
Plan de Recursos: General.
176

Curso de Oracle 11g

3.18 Automatizacin de Tareas con el Planificador (Oracle Scheduler)


Enterprise Manager utiliza el planificador para permitir a los administradores de BBDD y a los
desarrolladores de aplicaciones controlar cundo y dnde tienen lugar varias tareas en el entorno de
la BBDD. Con el planificador, se puede mejorar la gestin y la planificacin de dichas tareas. El
planificador ofrece un enfoque modular para la gestin de tareas dentro del entorno de Oracle. Al
separar una tarea en sus componentes, como el tiempo, la ubicacin y el objeto de BBDD, el
planificador ofrece una forma ms fcil de gestionar el entorno de la BBDD.
Utilice la seccin Oracle Scheduler de la pgina Servidor de Base de Datos para:

Crear trabajos mediante un trabajo simple, donde la accin y el esquema se especifican al


crear el trabajo o mediante el uso de programas y planificaciones existentes.

Usar las cadenas para crear trabajos que se ejecuten en mltiples pasos. Tras haber definido
una cadena, un trabajo planificado puede apuntar a una cadena y no apuntar a un nico
programa.

Ver una lista de planificaciones existentes, crear nuevos esquemas o clonar uno existente
como plantilla, acceder a la pgina Ver Planificacin, a la pgina Editar Planificacin, a la
pgina Crear Planificacin o suprimir planificaciones existentes.

Ver una lista de programas del planificador existentes, crear nuevos programas o clonar uno
existente como plantilla, acceder a la pgina Ver Programa, acceder a la pgina Editar
Programa y suprimir los programas existentes.

Ver una lista de clases de trabajos existentes, crear una clase de trabajo o clonar una existente
como plantilla, editar una clase de trabajo o suprimir una existente. Las clases de trabajo
definen el grupo de consumidores de recursos en el que se ejecutar un trabajo.

Ver una lista de ventanas existentes, acceder a las pginas Ver Ventana, Editar Ventana,
Crear Ventana, suprimir ventanas existentes y abrir o cerrar ventanas inmediatamente. Las
ventanas permiten cambiar asignaciones de recursos durante un perodo de tiempo, como una
hora del da o del ao de ventas, lo que permite controlar el nivel de prioridad de los grupos
de usuarios especificados.

Ver una lista de grupos de ventanas existentes, acceder a las pginas Ver Grupos de
Ventanas, Editar Grupos de Ventanas, suprimir y duplicar un grupo ventanas existentes.
Puede agrupar ventanas para facilitar su uso y poder controlar mejor la ejecucin de los
trabajos.

Cambiar uno o ms valores por defecto establecidos para atributos globales, ejecutar
mltiples bases de datos (slo Grid Control) o mostrar SQL para verificar los valores
correctos.

Ver tareas del sistema ejecutadas y ventanas planificadas para el perodo de tiempo que
especifique, acceder a la pgina en la que puede configurar el sistema de tareas y acceder a
pginas donde puede ver resmenes y recomendaciones para los tres tipos de tareas del
sistema.

177

Curso de Oracle 11g

3.19 Administracin del Planificador


Vamos a mostrar las distintas opciones desde la pgina principal de la consola de Oracle Scheduler.
Pgina Trabajos Planificados
Utilice la pgina Trabajos Planificados para:

Ver los trabajos planificados, Crear nuevos trabajos o clonar uno existente como plantilla.

Acceder a la pgina Ver Trabajo, Editar Trabajo.

Acceder a la pgina Ver Usuario.

Ir a la pgina Editar Clase de Trabajo, Suprimir trabajos y Ejecutar un trabajo inmediatamente.


Elemento

Descripcin

Crear

Crear un trabajo, su planificacin y especificar opciones de ejecucin.

Ver Definicin del


Trabajo

Ver detalles para el trabajo que selecciona en la columna Nombre.

Editar Definicin del


Trabajo

Seleccione un trabajo y, a continuacin, haga clic en este botn para editar


el trabajo, su planificacin y sus opciones de ejecucin.

Suprimir

Suprimir el trabajo que selecciona en la columna Nombre.

Ejecutar Ahora

Ejecuta inmediatamente el trabajo seleccionado en la columna Nombre.

Crear como

Duplicar un trabajo existente (previamente seleccionado) y cambia partes


concretas. Aparece la pgina Crear Programa.

Nombre

Ver detalles del trabajo

Esquema

Ver detalles del esquema para el nombre seleccionado

Clase de Trabajo

Editar una clase de trabajo. Aparece la pgina Editar Clase de Trabajo.

178

Curso de Oracle 11g


Pgina Ver Trabajo
Utilice la pgina Ver Trabajo para:

Ver una versin de solo lectura de los atributos del trabajo especificado.

Acceder a la pgina Editar Trabajo.

Acceder a la pgina Ver Usuario.

Acceder a la pgina Detalle de Operacin.


Elemento

Descripcin

Editar

Haga clic en este botn para ir a la pgina Editar Trabajo, donde puede
modificar los parmetros del trabajo.

Esquema

Accede a la pgina Ver Usuario, donde puede ver los privilegios, cuotas,
roles e informacin general del usuario.

Clase de Trabajo

Dirige a la pgina Ver Clase de Trabajo, donde puede ver una versin de
slo lectura de los atributos de la clase especificada.

Ver

Seleccione un identificador de log y, a continuacin, haga clic en este


botn para ir a la pgina Detalle de Operacin, podr ver los detalles de
ejecucin de este trabajo. Tambin puede hacer clic en Identificador de
Log para ir al enlace Detalle de Operacin.

179

Curso de Oracle 11g


Pgina Trabajo: General
Utilice la pgina Trabajo: General para:

Ajustar o modificar los parmetros de un trabajo.

Acceder a la pgina Crear Clase de Trabajo.

Acceder a la pgina Seleccionar Opcin de Comando.

Ejecutar el trabajo en varias bases de datos (solo Grid Control).

Mostrar el SQL que ha proporcionado.


Elemento

Descripcin

Ejecutar en Varias
Bases de Datos (slo
Grid Control)

Nos dirige a la pgina Ejecutar SQL, en la que puede realizar operaciones


de administracin en varias BBDD dentro del contexto de Enterprise
Manager. Se pueden introducir comandos SQL, SQL*Plus o PL/SQL,
ejecutarlos en una o ms BBDD y ver los resultados interactivamente.

Mostrar SQL

Nos muestra la pgina Mostrar SQL, donde se puede ver la SQL que se
debe ejecutar segn las entradas de las pginas Crear Clase de Trabajo o
Editar Clase de Trabajo.

Nombre

Proporcione un nombre necesario para este trabajo.

Esquema

Busque y seleccione un esquema para este trabajo.

Activada

Si especifica S para activar el trabajo, ste se ejecuta conforme a su


planificacin predeterminada. Si especifica No para desactivar el trabajo,
ste se crea pero no se ejecuta.

Descripcin

Si lo desea, proporcione una descripcin opcional.

Nivel de Registro

La opcin por defecto es "Registrar slo Ejecuciones de Trabajo." Otras


opciones son, Registrar Todo y Sin Registro.

Clase de Trabajo

Especifique la clase a la que pertenece el trabajo. Si no especifica una clase


de trabajo, el trabajo se asigna a la clase por defecto. Y si especifica un
valor no vlido, se genera un error. Puede crear una clase de trabajo
haciendo clic en Crear Clase de Trabajo para visualizar la pgina Crear
Clase de Trabajo.
El propietario de un trabajo debe tener los privilegios EXECUTE.

Comando

Utilice esta seccin para crear un trabajo indicando un programa guardado


o especificando una accin en lnea. Para utilizar un programa existente
debe ser el propietario del programa o tener los privilegios EXECUTE de
ste.
Haga clic en Cambiar Tipo de Comando para acceder a la pgina
Seleccionar Opcin de Comando. Y en esta pgina especificar si desea
utilizar un programa existente o especificar un programa en lnea para que
se ejecute al definir o modificar un trabajo.

180

Curso de Oracle 11g


Resolucin de un Fallo SQL Parcial
Si se produce un fallo parcial SQL al hacer clic en Aceptar, aparece un mensaje de error. Si intenta
solucionar un problema y, a continuacin, hace clic de nuevo en Aceptar, aparece otro mensaje de
error indicando que el trabajo ya existe. Si ocurriese esto, vuelva a la pgina Trabajos, suprima la
planificacin con fallos y luego vuelva a la pgina Crear Trabajo y creando un trabajo de nuevo.

181

Curso de Oracle 11g

3.20 Globalizacin
El termino globalizacin de las bases de datos, afecta a Oracle 11g en varios puntos, pero
principalmente:

Descripcin de Unicode

Juegos de Caracteres de la Base de Datos y Juegos de Caracteres Nacionales

Parmetros Dependientes del Idioma y el Territorio

Ordenacin y Bsqueda Lingstica

Ordenacin y Bsqueda no Sensibles a Maysculas/Minsculas ni a Acentos

Conversin de Datos de NLS con Utilidades de Oracle

Nuevas funciones de la globalizacin


Soporte para Unicode 5.0, una versin mayor del estndar Unicode que sustituye a todas las
versiones anteriores de la norma.

Las nuevas asignaciones se han hecho con el estndar Unicode. Estas se incluyen para:
cirlico, griego, hebreo, Canars, latn, matemticas, las extensiones de fontica, los
smbolos.

Guiones, aadiendose: Bali, fenicios, cuneiforme, etc.

Mejoras en el uso de caracteres, por ejemplo, sus propiedades o los algoritmos de


visualizacin.

Adems, han sido re-clasificados los del sudeste de Asia.

A destacar:

"Visin general de la Globalizacin de apoyo y Apoyo a bases de datos multilinge con


Unicode"
Recomendaciones que establece la BBDD de caracteres y la Declaracin de la Direccin
Una lista de conjuntos de caracteres ha sido compilados y que se recomienda para el uso
como la BBDD de carcter conjunto. Para la implementacin del nuevo sistema, el conjunto
de caracteres de BBDD est limitado a esta lista de juegos de caracteres recomendados.

"La eleccin de un conjunto de caracteres y datos de configuracin regional"


Mejora del rendimiento para la conversin de caracteres.
Nueva seccin de informe de BBDD de Carcter escner conjunto, que proporciona
informacin acerca de XML binario compacto (CSX) de datos en el Diccionario de Datos.

"Conjunto de caracteres en Utilidades del escner"


GINSTALL, utilidad para agregar archivos personalizados de localizacin para los
componentes de Java.

"Personalizacin de datos de configuracin regional"


Tres nuevas lenguas: Albania, Belars e irlands, y dos nuevos territorios: Albania y
Bielorrusia.

182

Curso de Oracle 11g

"Datos de configuracin regional"


ndice de apoyo lingstico para su cotejo sensible en SQL y la condicin LIKE.

"Clasificacin Lingstica y bsqueda de cadenas"


Soporte para Unicode 4.0. mejorado, para soportar la ltima versin del estndar Unicode.

"Apoyo a BBDD multilinge con Unicode"


La BBDD de caracteres del escner conjunto (CSSCAN) introduce dos nuevos parmetros,
consultar y columna, que ofrecen un mayor control en la ejecucin de exploracin selectiva.
Apoyo a varrays multinivel y tablas anidadas.
El lenguaje y juego de caracteres File Scanner (LCSSCAN) ahora soporta la deteccin de
archivos HTML. La calidad de deteccin de cadenas de texto ms cortas tambin se ha
mejorado.

"Conjunto de caracteres Utilidades del escner"


Kit de desarrollo de la globalizacin. El Kit de desarrollo de la globalizacin (GDK) para
PL/SQL proporciona nuevas funciones de cartografa regional, y ofrece soporte para la
conversin Kana japons utilizando la funcin de transliteracin en el paquete UTL_I18N.

"La globalizacin de Oracle Development Kit"


Apoyo a literales de cadena NCHAR. SQL literales NCHAR utilizados en las instrucciones
de insercin y actualizacin que ya no se basan en el carcter de BBDD establecidas para la
conversin. Esto significa que los datos multilinge se pueden agregar sin restricciones, tales
como tener que proporcionar valores hexagonales Unicode. Esta caracterstica est
disponible en SQL, PL/SQL, la OCI, y JDBC.

"NCHAR literales de cadena de sustitucin y Programacin con Unicode"


De acuerdo Apoyo Lingstico de pedido. El soporte para todas las funciones de SQL y los
operadores para el valor NLS_SORT ya est disponible con la nueva LINGSTICA
NLS_COMP. Esta caracterstica garantiza que todas las comparaciones de cadenas SQL son
consistentes, y que siguen la convencin lingstica como se especifica en el parmetro
NLS_SORT.

183

Curso de Oracle 11g

GLOSARIO
La siguiente es una lista contine los trminos ms utilizados de trabajo con bases de datos Oracle.
Estas definiciones pretenden ayudar a comprender con mayor claridad algunos de los conceptos que
se mencionan en este manual.
Administrador de Base de Datos
El administrador o DBA es el principal responsable de la operacin, configuracin y
rendimiento de una base de datos. Su principal tarea consiste en resguardar la integridad de
los datos almacenados en la base, proveyendo para esto mecanismos de respaldo, efectuando
monitorizaciones peridicas al sistema, implementando medidas de seguridad, etc.
Bloque
Un bloque es la unidad ms pequea de almacenamiento en una base de datos Oracle. El
tamao mnimo es de 2 KB y el mximo no debiera superar los 16 KB.
Buffer
Este trmino se refiere a una cantidad de memoria utilizada para almacenar informacin. Un
buffer comnmente almacena datos que estn a punto de ser usados o se acaban de utilizar
recientemente. En la mayora de los casos son copias exactas de datos que se encuentran
almacenados en el disco y se mantienen en memoria con el fin de lograr un acceso ms
rpido y ayudar de esa manera a mejorar el rendimiento de un sistema. En Oracle, los buffers
del SGA almacenan los bloques de datos usados ms recientemente. El conjunto de buffers
que guardan estos bloques reciben el nombre de database buffer cache; y aquellos que se
utilizan para guardar temporalmente las entradas del tipo redo log hasta que se escriben en el
disco, se conocen como redo log buffers.
Cach
Es un rea de almacenamiento implementada en la memoria RAM del computador que permite
accesos ms rpidos a la informacin ya que es mucho ms veloz que la memoria. En Oracle,
los buffers de bloques y el rea shared pool son consideradas reas cach. Estas guardan los
datos que se utilizan con mayor frecuencia y los mantienen disponibles por si son requeridos
en los procesos de consulta hasta que nuevos datos ms frecuentemente usados los reemplazan.
Checkpoint
Un checkpoint es una operacin que fuerza a que todos los cambios registrados en bloques
de datos en memoria, sean escritos en el disco.
Clean buffer
Un buffer de este tipo es aquel que no ha sido modificado y que por lo tanto el proceso
DBWR no utilizar para confirmar los cambios en el disco (porque no ha sufrido cambios).
Concurrencia
Este trmino se refiere a la capacidad de permitir muchas funciones al mismo tiempo. Oracle
provee a muchos usuarios el acceso simultneo a sus servicios, implementando de esta forma
la concurrencia.
DBA
Vea Administrador de la Base de Datos
184

Curso de Oracle 11g


DBMS
El database management system o DBMS corresponde al software y grupo de herramientas
que permiten manejar la base de datos. Un RDBMS es un DBMS relacional, es decir, cuya
naturaleza es la formacin de relaciones al interior del mismo.
DDL (comandos DDL)
Los comandos DDL (data definition language) son utilizados en la creacin y modificacin
de objetos del esquema. Proveen la habilidad de crear, alterar e incluso eliminar objetos de
un esquema, otorgar y revocar privilegios y roles a los usuarios, establecer opciones de
auditoria e incluso agregar comentarios al diccionario de datos del sistema. Estos comandos
estn estrechamente relacionados con las labores de administracin de la base de datos.
Diccionario de Datos
El diccionario de datos es un grupo de tablas de Oracle que se utilizan para almacenar
informacin sobre el resto de las tablas, ndices, clusters y otros objetos de la base de datos.
DML (comandos DML)
Los comandos DML (data manipulation language) son menos poderosos que los comandos
DDL en cuanto a administracin se refiere, de hecho, implementan modificaciones sobre la
informacin que se guarda en los objetos de una base de datos. Estas sentencias son del tipo
DELETE, INSERT, SELECT y UPDATE, principalmente.
Esquema
Un esquema es una coleccin de objetos asociados dentro de una base de datos.
Funcin
Una funcin es un grupo de sentencias SQL, escritas generalmente en PL/SQL que
implementan una serie de rutinas que devuelven un valor. Son casi idnticas a los
procedimientos y slo se diferencian en esa ltima condicin. Implementando funciones en
el servidor de base de datos se reduce el trfico de comunicaciones en la red, ya que slo se
envan a la funcin los parmetros de entrada y sta slo devuelve el valor al final de todo el
proceso, el que es ejecutado en la misma mquina donde reside la base de datos mejorando
as el rendimiento general del sistema.
Memoria Virtual
Indica la memoria que puede ser utilizada por programas que corren en un sistema operativo
y que est implementada fsicamente en sectores del disco y no en la RAM. El proceso de
copiar datos de la RAM al disco (o memoria virtual) se llama paginacin (paging, en ingls).
El archivo resultante es llamado el swap file y cada vez que un programa accede a esta
memoria virtual disminuye el rendimiento del mismo debido a que realmente est
accediendo al disco y no a la RAM.
Procedimiento
Un Procedimiento almacenado es un grupo de sentencias SQL o PL/SQL que implementan
un programa que se ejecuta en el servidor de base de datos, pero que a diferencia de las
funciones, no devuelve un valor. Al igual que las funciones su implementacin permite
reducir el trfico en la red, potenciando el rendimiento del sistema.

185

Curso de Oracle 11g


Query
Es una consulta efectuada contra la base de datos en lenguaje SQL. Se genera utilizando la
sentencia SELECT. Su principal caracterstica es que no efecta cambios en la base de datos;
por este motivo es llamada tambin una transaccin de slo lectura.
System Global Area (SGA)
El SGA es un rea compartida de memoria que utiliza Oracle para guardar informacin de
control en una instancia. Se asigna un espacio a esta rea en cuando la instancia se levanta
(startup) y se elimina cuando sta se baja (shutdown). Cada instancia de Oracle maneja su
propia SGA y guarda informacin de los buffers y la shared pool.
Tablas de rendimiento dinmicas
Estas tablas son creadas cuando se levanta una instancia y se usan para guardar informacin
acerca del rendimiento de sta.. Esta informacin incluye notas acerca de la conexin, datos que
manejan los procesos de entrada/salida, valores de los parmetros de inicializacin, entre otros.
Transaccin
Una transaccin es una unidad lgica de trabajo que consiste de una o ms sentencias SQL,
que pueden finalizar con un commit o un rollback. Las mtricas de rendimiento utilizan
comnmente las unidades transacciones por segundo o transacciones por minuto.
Trigger
Un trigger es un mecanismo que permite escribir procedimientos que son ejecutados en
forma automtica (sin una orden explcita del usuario o programador) cuando ocurre un
evento de INSERT, UPDATE o DELTE sobre una tabla o vista. Generalmente se utilizan los
triggers para forzar las restricciones de integridad entre las tablas o automatizar alguna otra
funcin especfica.
Unidad de Almacenamiento
La informacin es almacenada dentro del computador en forma binaria. Las unidades que se
refieren a estos conceptos (datos binarios) son las siguientes:
Trmino

Definicin

Bit

La unidad ms pequea de almacenamiento. Un bit representa un 1 un 0

nibble

4 bits Este trmino no se utiliza con demasiada frecuencia

byte

8 bits Es la unidad de almacenamiento ms utilizada

Word

Trmino que depende de la arquitectura. En muchos sistemas, una


palabra corresponde a 16 bits. Tambin puede representar 32 64 bits

Kilobyte (KB)

En trminos computacionales, un kilobyte equivale a 1024 bytes

Megabyte (MB) Este trmino denota a 1024 KB o 1048576 bytes


Gigabyte (GB)

Un gigabyte corresponde a 1024 megabytes o 1,073,741,824 bytes

Terabyte (TB)

Un terabyte son 1024 gigabytes o 1,099,511,627,776 bytes

186

Curso de Oracle 11g

LINKS
www.oracle.es
http://wiki.oracle.com
http://www.zonaoracle.com/
www.forums.oracle.com
www.education.oracle.com
www.technothenet.com
http://asktom.oracle.com

187

Curso de Oracle 11g

BIBLIOGRAFIA
TTULO: Oracle Database 11g: backup and recovery
AUTOR: Hart, Matthew
EDITORIAL: McGraw-Hill
TTULO: OCA/OCP Oracle database 11g all-in-one: exam guide
AUTOR: Watson, John
EDITORIAL: McGraw-Hill Digital
TTULO: Oracle 11g: administracin
AUTOR: Heurtel, Olivier
EDITORIAL: Eni
TTULO: Oracle Database 11g: the complete reference
AUTOR: Loney, Kevin
EDITORIAL: McGraw-Hill
TTULO: Oracle database 11g PL/SQL programming
AUTOR: McLaughlin, Michael
EDITORIAL: McGraw-Hill
TTULO: Beginning Oracle database 11g administration: from novice to professional
AUTOR: Fernndez, Iggy
EDITORIAL: Apress
TTULO: Oracle essentials: Oracle Database 11g
AUTOR: Greenwald, Rick
EDITORIAL: O'Reilly

188

Você também pode gostar