Você está na página 1de 316

Administracin Bsica de Oracle 10g.

1
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
TEMA 6.
ESPACIO DE !DO".
ESPACIO DE !DO"
Administracin Bsica de Oracle 10g.
#
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
TEMA 6.
ESPACIO DE UNDO.
Concepto de Transaccin.
Espacio de UNDO (DESHACER).
- Cadas del sistema. Redo log.
- Consistencia en lectura.
- Retroceso de transaccin. Flashback.
Gestin de Espacio de UNDO (DESHACER).
- Parmetros obsoletos.
Modo automtico de undo.
- Parmetros de inicializacin.
- Cuota de UNDO.
- Espacio almac. Creacin, modificacin, borrado e intercambio.
- Vistas.
- Dimensionado manual y automtico.
- Periodo de permanencia. Retention guarantee.
Administracin Bsica de Oracle 10g.
$
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
TEMA 6.
ESPACIO DE UNDO.
Modo manual de UNDO (DESHACER).
- Segmentos y sus tipos: segmentos de rollback.
- Escritura en un segmento de rollback.
- Segmento rollback system.
- Segmentos de rollback pblicos y privados.
- Creacin. Decremento y borrado. Parmetro optimal.
- Puesta en/fuera de lnea.
- Modificacin de parmetros.
- Asignacin explcita a una transaccin.
- Vistas estticas.
ESPACIO DE !DO"
Administracin Bsica de Oracle 10g.
%
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
TRANSACCIN.
Unidad lgica de trabajo que contiene una o ms
sentencias SQL; se trata de una unidad indivisible o
atmica. Los efectos de las sentencias de una
transaccin pueden ser todos validados (aplicados a la
base de datos) o retrocedidos.
Comienza en la primera sentencia SQL ejecutable.
Termina cuando es validada o retrocedida, de forma
explicita, mediante las sentencias COMMIT o
ROLLBACK, o implcitamente, en el caso de sentencias
DDL.
ESPACIO DE !DO"
Administracin Bsica de Oracle 10g.
&
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
ESPACIO DE UNDO (DESHACER).
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.
-
- Recuperacin lgica usando Oracle Flashback.
ESPACIO DE !DO"
Administracin Bsica de Oracle 10g.
6
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
ESPACIO DE UNDO Y CADAS
DEL SISTEMA.
En caso de producirse una ca'da del sistema y quedar
transacciones activas (sin validacin -commit- ni
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.
ESPACIO DE !DO"
Administracin Bsica de Oracle 10g.
(
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
ESPACIO DE UNDO Y CADAS
DEL SISTEMA.
ESPACIO DE !DO"
Administracin Bsica de Oracle 10g.
)
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
ESPACIO DE UNDO Y REDO LOG.
En el caso del redo log, al igual que con undo, el
sistema recoge datos estadsticos que ayudan a
determinar su tamao ptimo.
En general los redo deben ser lo bastante grandes de
como para que los checkpoint no ocurran demasiado
frecuentemente; si se produce log switch con
frecuencia superior a 20 minutos, el rendimiento
decrece. Por otra parte, los redo excesivamente
grandes afectan al rendimiento en disco y ocupan
espacio.
La columna OPTIMAL_LOGFILE_SIZE de la vista
V$INSTANCE_RECOVERY indica el valor mnimo
recomendado para el tamao de los redo log.
ESPACIO DE !DO"
Administracin Bsica de Oracle 10g.
*
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
ESPACIO DE UNDO Y
CONSISTENCIA EN LECTURA.
Se usa la informacin en el espacio de undo para
crear un conjunto de datos coherente respecto a un
punto en el tiempo.
Al validar la transaccin (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.
ESPACIO DE !DO"
Administracin Bsica de Oracle 10g.
10
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
ESPACIO DE UNDO Y
CONSISTENCIA EN LECTURA.
ESPACIO DE !DO"
Administracin Bsica de Oracle 10g.
11
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
ESPACIO DE UNDO Y
CONSISTENCIA EN LECTURA.
En ciertos casos, no pude devolverse un conjunto
coherente de resultados, snapshot, para consulta
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. Se genera el error:
ORA-01555 snapshot too o!" #o$a%& s'()'nt
n*)$'# +st#,n(- .,th na)' /st#,n(/ too s)a
La solucin es disponer de ms espacio de undo.
ESPACIO DE !DO"
Administracin Bsica de Oracle 10g.
1#
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
ESPACIO DE UNDO Y
RETROCESO DE TRANSACCION.
Retroceder una transaccin (rolling back) es deshacer
cualquier cambio realizado a los datos por sentencias
SQL de una transaccin no validada.
En el retr+ces+ de ,na 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.
ESPACIO DE !DO"
Administracin Bsica de Oracle 10g.
1$
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
GESTION DE ESPACIO DE
UNDO (DESHACER).
Existen dos formas de gestionar el espacio de undo:
- Usando espacios de almacenamiento de undo (modo
automtico). Oracle recomienda que se trabaje de esta
forma, dado que es menos complejo de implementar y
ms eficiente en su gestin.
- Usando segmentos de rollback (modo manual). A
desaparecer.
Ambas formas NO pueden simultanearse.
La forma de gestin, manual o automtica, se
determina en el arranque de la base de datos mediante
el parmetro de inicializacin 0N1O_MANAGEMENT.
ESPACIO DE !DO"
Administracin Bsica de Oracle 10g.
1%
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
PARAMETROS OBSOLETOS.
Existen distintos parmetros usados en versiones
anteriores, relacionados con undo -manual y
automtico-, que han quedado obsoletos:
- 0N1O_S0PPRESS_ERRORS
- MA2_ROLL3AC4_SEGMENTS
-
- RO5_LOC4ING
-
- SERIALIZA3LE
-
- TRANSACTION_A01ITING
ESPACIO DE !DO"
Administracin Bsica de Oracle 10g.
1&
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
MODO ATOMATICO DE !DO"
ESPACIO DE !DO"
Administracin Bsica de Oracle 10g.
16
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
MODO AUTOMATICO UNDO.
PARAMETROS INICIALIZACION.
El parmetro de inicializacin 0N1O_MANAGEMENT
debe tener el valor A0TO.
0N1O_MANAGEMENT 6 A0TO
Al arrancar se busca un espacio de almacenamiento
(tablespace) de undo (existente desde la creacin
de la bd o creado posteriormente), el primero
disponible.
Si no existe, se usa el segmento de rollback SYSTEM,
y se genera un mensaje de error en el fichero de
alertas. Error!.
ESPACIO DE !DO"
Administracin Bsica de Oracle 10g.
1(
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
MODO AUTOMATICO UNDO.
PARAMETROS INICIALIZACION.
Otros parametros de inicializacin relacionados son:
- 0N1O_RETENTION. Parmetro dinamico (at'# s7st') s't
*n!o_#'t'nt,on6 89ao#:; que indica en segundos -por defecto 900-,
cuanto tiempo ha de permanecer, al menos, la informacion de undo
disponible -importante en largas transacciones, consistencia en lectura,
y utilidades Flashback -.
Slo en ciertas circunstancias es necesario fijar este parmetro:

Esp. de alm. con la opcin A0TOE2TEN1.

Fijar el periodo de retencin para LO3.

Se desea especificar la retention guarantee.


El sistema calcula automticamente el periodo de permanencia,
para satisfacer los requerimientos de las consultas, basndose en el
uso y tamao del esp.alm. de undo e ignorando el valor
0N1O_RETENTION, si es necesario, a menos que #'t'nt,on (*a#ant''
est activa (si se necesita espacio para las transacciones activas y no
hay suficiente , se reutiliza el existente y puede provocar el fallo de
consultas muy largas).
ESPACIO DE !DO"
Administracin Bsica de Oracle 10g.
1)
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
MODO AUTOMATICO UNDO.
PARAMETROS INICIALIZACION.
- 0N1O_TA3LESPACE. Parmetro dinmico (at'# s7st') <<<) 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 hay ninguno se arranca sin esp.alm. de undo
y las transacciones se ejecutan en el segmento de rollback SYSTEM
Error!.
Al arrancar en m+d+ a,t+mtic+. c,al/,ier 0armetr+ relati1+
al m+d+ man,al ,sad+ en el 2ic3er+ de 0armetr+s es
ign+rad+.
ESPACIO DE !DO"
Administracin Bsica de Oracle 10g.
1*
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
MODO AUTOMATICO UNDO.
ESPACIO DE ALMACENAMIENTO.
Para el uso en modo automtico es necesario al menos
un espacio de almacenamiento (tablespace) de
undo, que est reservado exclusivamente para esta
funcin (no pueden crearse all objetos de datos).
A cada instancia se le asigna slo un esp.alm. de undo
-puede ser de tipo bigfile-. Los datos de undo se
manejan usando segmentos de undo que se crean y
mantienen por el sistema.
Si no hay ningn espacio de undo se emplea el
segmento de rollback SYSTEM. Error!.
ESPACIO DE !DO"
Administracin Bsica de Oracle 10g.
#0
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
MODO AUTOMATICO UNDO.
ESPACIO DE ALMACENAMIENTO.
Distintas operaciones pueden llevarse a cabo con este
espacio de almacenamiento:
- Creacin.
-
- Modificacin.
-
- Borrado.
-
- Intercambio entre distintos espacios de undo.
-
- Modificar la clausula de retencin.
ESPACIO DE !DO"
Administracin Bsica de Oracle 10g.
#1
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
MODO AUTOMATICO UNDO.
CREACION DE ESPACIO UNDO.
Al crear la base de datos, mediante la clausula UNDO
TABLESPACE de la sentencia CREATE DATABASE:
CREATE 1ATA3ASE C0RSO=5 <<<
0N1O TA3LESPACE *n!ot$s_01 1ATAFILE
>?*0@?o#a!ata?C0RSO=5?*n!o01<!$A>B

Mediante la sentencia CREATE UNDO TABLESPACE
(identica a CREATE TABLESPACE):
CREATE 0N1O TA3LESPACE *n!ot$s1
1ATAFILE >?*0@?o#a!ata?C0RSO=5?*n!o01<!$A>
SIZE 10M A0TOE2TEN1 ON RETENTION
G0ARANTEEB
ESPACIO DE !DO"
Administracin Bsica de Oracle 10g.
##
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
MODO AUTOMATICO UNDO.
CREACION DE ESPACIO UNDO.
Restricciones:
En la creacion slo puede especificarse la clausula
DATAFILE (localizacin del fichero), determinando
Oracle el resto de atributos.
ESPACIO DE !DO"
Administracin Bsica de Oracle 10g.
#$
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
MODO AUTOMATICO UNDO.
MODIFICACION ESPACIO UNDO.
Mediante la sentencia ALTER TABLESPACE. Se permite:
- Aadir un fichero de datos.
ALTER TA3LESPACE 0N1OT3S A11 1ATAFILE
>?*0@?o#a!ata?C0RSO=5?*n!o0=<!$A> A0TOE2TEN1
ON NE2T 1M MA2SIZE 0NLIMITE1B
- Redimensionar un fichero de datos.
ALTER 1ATA3ASE 1ATAFILE
>?*0@?o#a!ata?C0RSO=5?*n!o01<!$A> RESIZE =0M
A0TOE2TEN1 ON NE2T 1M MA2SIZE 0NLIMITE1B
ESPACIO DE !DO"
Administracin Bsica de Oracle 10g.
#%
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
MODO AUTOMATICO UNDO.
MODIFICACION ESPACIO UNDO.
ALTER 1ATA3ASE 1ATAFILE
>?*0@?o#a!ata?C0RSO=5?*n!o01<!$A> RESIZE 100MB
- Renombrar un fichero de datos.
ALTER 1ATA3ASE RENAME FILE
>?*0@?o#a!ata?C0RSO=5?*n!o01<!$A> TO
>?*0@?o#a!ata?C0RSO=5?t$sp_*n!o01<!$A>B
- Poner en lnea o fuera de lnea un fichero de datos.
ALTER 1ATA3ASE 1ATAFILE
>?*0@?o#a!ata?C0RSO=5?*n!o01<!$A>
ONLINE?OFFLINEB
ESPACIO DE !DO"
Administracin Bsica de Oracle 10g.
#&
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
MODO AUTOMATICO UNDO.
MODIFICACION ESPACIO UNDO.
- Modificar clasula RETENTION.

NO preservar los datos de undo que son aun vlidos.


ALTER TA3LESPACE 0N1OT3S
RETENTION NOG0ARANTEEB

Preservar los datos de undo que son aun vlidos.


ALTER TA3LESPACE 0N1OT3S
RETENTION G0ARANTEEB
ESPACIO DE !DO"
Administracin Bsica de Oracle 10g.
#6
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
MODO AUTOMATICO UNDO.
BORRADO ESPACIO UNDO.
Se emplea la sentencia DROP TABLESPACE:
1ROP TA3LESPACE 8no)$#'_t$sp:B

Slo es posible borrar si el espacio de undo no est en
uso. Al borrar se elimina todo su contenido.
ESPACIO DE !DO"
Administracin Bsica de Oracle 10g.
#(
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
MODO AUTOMATICO UNDO.
INTERCAMBIO ESPACIO UNDO.
Se usa la sentencia ALTER SYSTEM SET para asignar un
nuevo espacio de undo, que sustituye al que
anteriormente se utilizaba:
ALTER SYSTEM SET
0N1O_TA3LESPACE68no)$#'_t$sp:B

Se producir error en caso de que el nuevo espacio de
almacenamiento no exista, no sea de undo o se este
usando por otra instancia.
La bd est en lnea mientras se realiza la operacin; y
pueden ejecutarse transacciones, al terminar todas
aquellas comenzadas despues de la sentencia se
asignan al nuevo espacio de undo.
ESPACIO DE !DO"
Administracin Bsica de Oracle 10g.
#)
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
MODO AUTOMATICO UNDO.
INTERCAMBIO ESPACIO UNDO.
Si existen transacciones pendientes de validar,
commit, en el antiguo espacio de undo, este pasa al
estado PENDING OFFLINE. Las transacciones siguen su
curso pero no se usa para nuevas transacciones.
En el estado PENDING OFFLINE, un espacio de undo
no puede borrarse. Una vez finalizadas todas las
transacciones pasa al estado OFFLINE.
Si se indica ALTER SYSTEM SET 0N1O_TA3LESPACE6>>B se
deasigna el espacio de undo actual y se pasa al
siguiente disponible.
ESPACIO DE !DO"
Administracin Bsica de Oracle 10g.
#*
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
MODO AUTOMATICO UNDO.
VISTAS.

V$0N1OSTAT. Estadsticas para monitorizar y ajustar el


espacio de undo.
V$ROLLSTAT. Informa sobre el comportamiento de los
segmentos undo en el espacio de undo.
V$TRANSACTION. Transacciones activas en el sistema.
13A_TA3LESPACES.
13A_0N1O_E2TENTS. Extensiones en el espacio de undo.
13A_CIST_0N1OSTAT. Estadsticas acerca de consumo de
espacio de undo, concurrencia de transacciones, longitud de
las consultas ejecutas en la instancia, ... (contiene vistas de
v$UNDOSTAT).
ESPACIO DE !DO"
Administracin Bsica de Oracle 10g.
$0
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
MODO AUTOMATICO UNDO.
DIMENSIONANDO EL ESPACIO UNDO.
Puede dimensionarse de tres formas:
- Empleando esp. de almacenamiento autoextensibles, de
forma que incrementa su tamao conforme es necesario
(clasula A0TOE2TEN1).
- Clculo usando mtodo manual.
- Clculo usando mtodo automtico: 0n!o A!9,so#.
ESPACIO DE !DO"
Administracin Bsica de Oracle 10g.
$1
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
MODO AUTOMATICO UNDO.
DIMENSIONADO MANUAL.
El espacio de undo necesario para retener la
informacion un tiempo determinado
(0N1O_RETENTION) es:
Espacio = UR * (Tasa_transaccion * tamao_bloque)
Donde UR es el valor de 0N1O_RETENTION, en
segundos, y la tasa de transaccion el nmero mximo
de bloques undo por segundo (columna 0N1O3L4S de
V$0N1OSTAT).
Es preciso aadir al valor obtenido entre un 10% y un
20% de forma que pueda hacerse frente a situaciones
inesperadas.
ESPACIO DE !DO"
Administracin Bsica de Oracle 10g.
$#
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
MODO AUTOMATICO UNDO.
DIMENSIONADO AUTOMATICO.
Si el espacio NO es autoextensible puede estimarse su valor
ptimo usando el 0n!o A!9,so#, empleando el paquete
13MS_A1VISOR; este depende del repositorio A*to)at,%
5o#&oa! R'pos,to#7 DA5R; que contiene instantneas de
todas las estadsticas clave y de la carga de trabajo de la bd,
a intervalos de 30 minutos (registro histrico de uso de la bd).
Operaciones a seguir:
a) Determinar el periodo de tiempo a analizar (seleccionando los
identificadores de snap apropiados). La vista
13A_CIST_SNAPSCOT muestra la informacin sobre instantneas
en el AWR (nmero de instantnea y fecha)<
SEL :S''%t snap_,!F $'(,n_,nt'#9a_t,)'F 'n!_,nt'#9a_t,)'
A#o) 13A_CIST_SNAPSCOT
.h'#' $'(,n_,nt'#9a_t,)' : ><<<> an!
'n!_,nt'#9a_t,)' 8 ><<<> o#!'# $7 'n!_,nt'#9a_t,)' !'s%B
ESPACIO DE !DO"
Administracin Bsica de Oracle 10g.
$$
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
MODO AUTOMATICO UNDO.
DIMENSIONADO AUTOMATICO.
b) Invocar 0n!o A!9,so# mediante el siguiente bloque para determinar el
nmero de tarea.
1ECLARE
t,! N0M3ERB
tna)' VARCCAR=D@0;B
o,! N0M3ERB
3EGIN
13MS_A1VISOR<CREATE_TAS4D>0n!o A!9,so#>F t,!F tna)'F >0n!o A!9,so# Tas&>;B
13MS_A1VISOR<CREATE_O3GECTDtna)'F >0N1O_T3S>F n*F n*F n*F >n*>F o,!;B
13MS_A1VISOR<SET_TAS4_PARAMETERDtna)'F >TARGET_O3GECTS>F o,!;B
13MS_A1VISOR<SET_TAS4_PARAMETERDtna)'F >START_SNAPSCOT>F
snap_,!_,n,%,a;B
13MS_A1VISOR<SET_TAS4_PARAMETERDtna)'F >EN1_SNAPSCOT>F snap_,!_A,na;B
13MS_A1VISOR<SET_TAS4_PARAMETERDtna)'F >INSTANCE>F 1;B
13MS_A1VISOR<'H'%*t'_tas&Dtna)';B
13MS_O0TP0T<P0T_LINE D>I!'nt,A,%a!o# !' t#a$aIo 's" > JJ t,! JJ> >JJ tna)';B
'n!B
?
ESPACIO DE !DO"
Administracin Bsica de Oracle 10g.
$%
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
MODO AUTOMATICO UNDO.
DIMENSIONADO AUTOMATICO.
c) Consultar la vista DBA_ADVISOR_FINDINGS para averiguar las
recomendaciones.
SEL :S''%t o.n'#F tas&_,!F tas&_na)'F t7p'F )'ssa('F )o#'_,nAo
A#o) !$a_a!9,so#_A,n!,n(s .h'#' tas&_,!6 8n*)'#o_ta#'a -t,!-:

P*'!' ('n'#a#s' *n ,nAo#)' !' t'Hto o CTML )'!,ant' A5R 'I'%*tan!o


SEL: K$ORACLE_COME?#!$)s?a!),n?awrrpt.sql
ESPACIO DE !DO"
Administracin Bsica de Oracle 10g.
$&
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
MODO AUTOMATICO UNDO.
PERIODO DE PERMANENCIA UNDO.
El clculo del valor ptimo para 0N1O_RETENTION se realiza
a partir de informacin estadstica de uso y se ajusta para la
consulta ms larga, la informacin sobre duracin de las
consultas se obtiene cada 30 segundos.
La bd analiza automticamente el uso de undo para
determinar el tamao del esp.alm. de undo de forma que
pueda soportar la consulta ms larga.
Esta caracterstica est activada por defecto (arquitectura) y
NO puede desactivarse. El valor calculado ser tal que permita
evita el error snapshot too old.
ESPACIO DE !DO"
Administracin Bsica de Oracle 10g.
$6
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
MODO AUTOMATICO UNDO.
PERIODO DE PERMANENCIA UNDO.
En el clculo, automtico, del periodo de permanencia es
necesario considerar:
- El valor por defecto para UNDO_RETENTION son 900 segundos.
Si el parmetro se ajusta a cero o no se indica valor, se ajusta
automticamente empleando el valor 900 como el mnimo.
Si UNDO_RETENTION se ajusta a un valor distinto de cero, se
ajusta automticamente empleando el valor indicado como
mnimo.
- Para un esp.alm. de undo con AUTOEXTEND. El sistema lo ajusta
para ser algo superior que el mayor tiempo correspondiente a la
ejecucin de una consulta, si hay espacio. Si hay espacio libre, el
periodo no es inferior al UNDO_RETENTION asignado.
- Para un esp.alm. de undo de tamao fijo, la bd lo ajusta al
mximo posible (hasta que haya espacio). Se ignora el valor de
UNDO_RETENTION a menos que RETENTION G0ARANTEE est
activa.
ESPACIO DE !DO"
Administracin Bsica de Oracle 10g.
$(
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
MODO AUTOMATICO UNDO.
PERIODO DE PERMANENCIA UNDO.
- 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 G0ARANTEE.
El tiempo que el sistema retiene los datos en undo para el
esp.alm. actual puede obtenerse consultando la columna
T0NE1_0N1ORETENTION de la vista V$0N1OSTAT.
- La vista presenta estadsticas en periodos de diez minutos, una fila
de datos por periodo, para los ltimos 4 das (ms all han de
consultarse en la vista 13A_CIST_0N1OSTAT).
ESPACIO DE !DO"
Administracin Bsica de Oracle 10g.
$)
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
MODO AUTOMATICO UNDO.
PERIODO DE PERMANENCIA UNDO.
s''%t to_%ha#D$'(,n_t,)'F >11-MON-RR CC=L"MI>; $'(,n_t,)'F
to_%ha#D'n!_t,)'F >11-MON-RR CC=L"MI>; 'n!_t,)'F
t*n'!_*n!o#'t'nt,on
A#o) 9$*n!ostat o#!'# $7 'n!_t,)'B
BEGIN_TIME END_TIME TUNED_UNDORETENTION
------------------- ------------------- ------------------------------
04-FEB-06 00:01 04-FEB-06 00:11 12100
...
07-FEB-06 23:21 07-FEB-06 23:31 86700
...
El valor de t*n'!_*n!o#'t'nt,on se muestra en segundos.
ESPACIO DE !DO"
Administracin Bsica de Oracle 10g.
$*
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
MODO AUTOMATICO UNDO.
RETENTION GUARANTEE.
La clasula RETENTION GUARANTEE permite garantizar el
xito de consultas de larga duracin u operaciones
Flashback. Puede usarse al crear el esp.almacenamiento de
undo (CREATE UNDO TABLESPAE o CREATE DATABASE) o
usando la sentencia ALTER TABLESPACE.
Al activar la clasula se garantiza el mnimo undo_retention
especificado, de forma que la bd nunca sobeescribe datos (las
transacciones pueden fallar por falta de espacio).
Para desactivar la garanta de retencin debe usarse la
clasula RETENTION NOGUARANTEE.
El valor actual puede consultarse en la vista
13A_TA3LESPACES (columna RETENTION, con valores
G0ARANTEEF NOG0ARANTEE o NOT APLY).
ESPACIO DE !DO"
Administracin Bsica de Oracle 10g.
%0
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
MODO MA!A4 DE !DO"
ESPACIO DE !DO"
Administracin Bsica de Oracle 10g.
%1
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
MODO MANUAL UNDO.
PARAMETROS INICIALIZACION.
El parmetro de inicializacin UNDO_MANAGEMENT
debe tener el valor MANUAL, o bien no indicarse (es el
valor por defecto).
0N1O_MANAGEMENT 6 MAN0AL
ESPACIO DE !DO"
Administracin Bsica de Oracle 10g.
%#
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
MODO MANUAL UNDO.
PARAMETROS INICIALIZACION.
Parametros de inicializacin relacionados son:
- ROLL3AC4_SEGMENTS. Asigna segmentos a la instancia.
- TRANSACTIONS. Indica el nmero mximo de
transacciones concurrentes. Valores mayores incrementan
el tamao de la SGA y pueden incrementar el numero de
segmentos reservados.
- TRANSACTIONS_PER_ROLLBACK_SEGMENT. Indica el
nmero de transacciones concurrentes que cada segmento
se espera que maneje.
ESPACIO DE !DO"
Administracin Bsica de Oracle 10g.
%$
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
SEGMENTOS Y SUS TIPOS.
Segmento: Un conjunto de extensiones que contiene
todos los datos para una estructura lgica de
almacenamiento especifica en un tablespace.
Tipos de segmentos:
- Segmentos de datos.
- Segmentos de ndices.
- Segmentos temporales.
- Segment+s de r+ll5ac6".
ESPACIO DE !DO"
Administracin Bsica de Oracle 10g.
%%
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
SEGMENTOS DE ROLLBACK.
Toda base de datos posee uno o ms segmentos de
rollback.
Contiene/n los valores antiguos de datos modificados
por cada transaccin.
La informacin se dispone en mltiples entradas de
rollback que contienen informacin de bloque y el
dato tal como exista antes de la operacin involucrada
en la transaccin.
Estas entradas modifican los bloques del segmento de
rollback y Oracle almacena todos los cambios hechos
en la bitcora (redo log).
ESPACIO DE !DO"
Administracin Bsica de Oracle 10g.
%&
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
TRANSACCIONES
Y SEGMENTOS DE ROLLBACK.
Una transaccin es asociada a un segmento:
- A,t+mticamente, al siguiente segmento libre que
exista.
Oracle distribuye las transacciones entre los
segmentos activos de forma que todos ellos trabajen
con, aproximadamente, el mismo nmero. Esto no
depende del tamao de los segmentos.
- P+r asignacin. Al comienzo de la transaccin puede
indicarse el segmento de rollback apropiado a usar
(SET TRANSACTION USE ROLLBACK SEGMENT .).

ESPACIO DE !DO"
Administracin Bsica de Oracle 10g.
%6
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
ESCRITURA EN UN SEGMENTO
DE ROLLBACK.
Durante la transaccin se escribe la informacin de
rollback en el segmento asignado de forma secuencial.
Cada transaccin escribe en una nica extensin del
segmento en un momento dado.
Por cada segmento existe una ta5la de
transacci+nes: Lista de todas las transacciones que lo
usan y las entradas en el mismo para cada modificacin
realizada por dichas transacciones.
Muchas transacciones activas pueden escribir
concurrentemente en un segmento, pero cada bloque
de datos de una extensin de un segmento solo puede
contener informacin de una transaccin.
ESPACIO DE !DO"
Administracin Bsica de Oracle 10g.
%(
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
ESCRITURA EN UN SEGMENTO
DE ROLLBACK.
Cada segmento de rollback debe tener al menos dos
extensiones asignadas.
Si una transaccin agota el espacio libre en la extensin
actual y debe proseguir la escritura, se localiza una
extensin en el mismo segmento:
- Bien se reutiliza una extensin ya asignada al
segmento. Se comprueba la siguiente extensin y si no
contiene informacin de una transaccin activa, se
convierte en la extensin actual.
- O bien se asigna una nueva extensin al segmento.
ESPACIO DE !DO"
Administracin Bsica de Oracle 10g.
%)
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
ESCRITURA EN UN SEGMENTO
DE ROLLBACK.
ESPACIO DE !DO"
Administracin Bsica de Oracle 10g.
%*
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
ESCRITURA EN UN SEGMENTO
DE ROLLBACK.
ESPACIO DE !DO"
Administracin Bsica de Oracle 10g.
&0
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
ESCRITURA EN UN SEGMENTO
DE ROLLBACK.
ESPACIO DE !DO"
Administracin Bsica de Oracle 10g.
&1
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
SEGMENTO ROLLBACK SYSTEM.
Se crea al mismo tiempo que la base de datos.
Reside en el tablespace SYSTEM y usa sus parmetros
de almacenamiento por defecto.
No puede borrarse.
Si existen diversos segmentos de rollback, se emplea
para transacciones especiales del sistema, y las
transacciones de usuario son distribuidas entre otros
segmentos de rollback.
Se recomienda crear segmentos adicionales al SYSTEM
tras instalar la base de datos.
Si hay excesivas transacciones para el resto de
segmentos, el segmento SYSTEM tambin es usado.
ESPACIO DE !DO"
Administracin Bsica de Oracle 10g.
&#
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
SEGMENTOS DE ROLLBACK
PBLICOS Y PRIVADOS.
Un segmento privado se adquiere e70l'citamente por
la instancia si es nombrado en el fichero de inicializacin
(parmetro ROLLBACK_SEGMENTS). Tambin puede
usarse al ponerlo en lnea de forma manual.
Los segmentos pblicos forman un conjunto que
cualquier instancia puede usar. El nmero de
segmentos pblicos adquiridos automticamente
depende de los valores de TRANSACTIONS 7
TRANSACTIONS_PER_ROLLBACK_SEGMENT.
La distincin tiene sentido si se usa la opcin Real
Application Clusters.
ESPACIO DE !DO"
Administracin Bsica de Oracle 10g.
&$
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
RECOMENDACIONES.
Se recomienda crear un espacio de almacenamiento
exclusivo que albergue a los segmentos de rollback.
Ventajas:
- Puede ser mantenido en lnea de forma permanente.
- No impide que otros espacios de almacenamiento sean
puestos fuera de lnea.
ESPACIO DE !DO"
Administracin Bsica de Oracle 10g.
&%
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
CREACIN.
Debe poseerse el privilegio create rollback segment.
El espacio de almacenamiento destino debe estar en
lnea.
Sintaxis:
CREATE 8P03LIC: ROLL3AC4 SEGMENT 8NOM3RE:
TA3LESPACE 8NOM3RE_T3SP:
STORAGE DINITIAL 822:
NE2T 822:
MINE2TENTS 822:
MA2E2TENTS 822:
OPTIMAL 822: ;B
ESPACIO DE !DO"
Administracin Bsica de Oracle 10g.
&&
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
CREACIN. RECOMENDACIONES.
INITIAL y NEXT deben ser del mismo valor: Se
consiguen as extensiones de tamao uniforme.
Debe crearse un adecuado nmero de extensiones
iniciales para minimizar la necesidad de extensin.
No debe fijarse MAXEXTENTS=UNLIMITED. Se evita as
que se extienda de forma ilimitada debido a un error de
programacin.
ESPACIO DE !DO"
Administracin Bsica de Oracle 10g.
&6
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
CREACIN.
PARMETRO OPTIMAL.
Especifica el tamao optimo del segmento. Oracle
intenta mantener este tamao para el segmento
deasignando dinmicamente las extensiones cuando sus
datos no son necesarios para otras transacciones
activas.
Cuando una transaccin necesita escribir en otra
extensin, se compara el tamao actual del segmento
con el optimo; si es mayor, y la extensin siguiente a la
que se ha llenado es inactiva, se desalojan extensiones
hasta llegar al optimo (siempre las mas antiguas).
Su valor no puede ser menor que el espacio asignado
inicialmente, especificado por los parmetros initial,
next y el numero mnimo de extensiones.
ESPACIO DE !DO"
Administracin Bsica de Oracle 10g.
&(
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
CREACIN.
PARMETRO OPTIMAL.
Las estadsticas generadas en la vista V$ROLLSTAT
(valores SHRINKS, AVESHRINK, AVEACTIVE y OPTSIZE)
dan idea de lo adecuado o no del parmetro OPTIMAL.
- SHRINKS (bajo) y AVESHRINK (bajo): Si AVEACTIVE es
cercano a OPTSIZE, OPTIMAL es correcto. En caso
contrario, OPTIMAL es demasiado grande.
- SHRINKS (bajo) y AVESHRINK (alto): OPTIMAL correcto.
- SHRINKS (alto) y AVESHRINK (bajo): OPTIMAL
demasiado pequeo.
- SHRINKS (alto) y AVESHRINK (alto): Aumentar OPTIMAL
hasta que SHRINKS disminuya.
ESPACIO DE !DO"
Administracin Bsica de Oracle 10g.
&)
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
TAMAO SEGMENTO
ROLLBACK.
Aunque los segmentos de rollback pueden manejar
transacciones de cualquier dimensin:
- Si un sistema ejecuta slo transacciones cortas es
preferible que los segmentos sean pequeos (siempre
permanecen en memoria pero se corre el peligro de
generar el ORA-01555).
- Si son transacciones de larga duracin es mejor usar
segmentos de gran tamao.
Lo ideal es crear un nmero de segmentos de tamao
apropiado para cada tipo de transaccin y asignar
explicitamente las transaccion atpicas a aquellos que
corresponda (por ejemplo, transacciones largas).
ESPACIO DE !DO"
Administracin Bsica de Oracle 10g.
&*
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
TAMAO SEGMENTO
ROLLBACK.
Se recomienda que cada segmento tpico tenga un 10%
del tamao de la mayor tabla de la bd.
ESPACIO DE !DO"
Administracin Bsica de Oracle 10g.
60
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
PUESTA EN/FUERA DE LNEA.
Cuando se crea un segmento esta fuera de lnea y debe
ser puesto en lnea de forma explicita.
Si se intenta poner fuera de lnea un segmento activo y
en uso solo se consigue cuando las transacciones que lo
usan finalizan. Permanecer fuera de lnea hasta que
explcitamente sea puesto en lnea o la instancia
rearrancada.
Sintaxis:
ALTER ROLL3AC4 SEGMENT 8NOM3RE: ONLINEB
ALTER ROLL3AC4 SEGMENT 8NOM3RE: OFFLINEB
ESPACIO DE !DO"
Administracin Bsica de Oracle 10g.
61
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
MODIFICACIN DE
PARMETROS.
Sintaxis:
ALTER ROLL3AC4 SEGMENT 8NOM3RE:
STORAGE DINITIAL 822:
NE2T 822:
MINE2TENTS 822:
MA2E2TENTS 822:
OPTIMAL 822: ;B
ESPACIO DE !DO"
Administracin Bsica de Oracle 10g.
6#
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
DECREMENTO.
Manualmente puede reducirse el tamao de un segmento
derollback. El tamao final depende del espacio libre en el
segmento y de cuantas transacciones activas usan el
segmento.
Si no se especifica un tamao concreto se intenta ajustar al
del parmetro de creacin OPTIMAL. Si no se ha determinado,
al del parmetro MINEXTENTS.
Sintaxis:
ALTER ROLL3AC4 SEGMENT 8NOM3RE:
SCRIN4 TO 822: 4?MB
ALTER ROLL3AC4 SEGMENT 8NOM3RE: SCRIN4B
ESPACIO DE !DO"
Administracin Bsica de Oracle 10g.
6$
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
BORRADO.
Debe poseerse el privilegio drop rollback segment.
El segmento debe estar fuera de lnea.
Sintaxis:
DROP ROLL3AC4 SEGMENT 8NOM3RE:B
ESPACIO DE !DO"
Administracin Bsica de Oracle 10g.
6%
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
ASIGNACIN EXPLICITA A UNA
TRANSACCIN.
El segmento debe estar en lnea y usarse como primera
sentencia de la transaccin:
SET TRANSACTION 0SE ROLL3AC4 SEGMENT 8NOM3RE:B
Un ejemplo de uso es asignar transacciones que insertan,
actualizan o borran grandes cantidades de informacin a
segmentos lo bastante grandes como para contener la
informacin de rollback de la transaccin.
ESPACIO DE !DO"
Administracin Bsica de Oracle 10g.
6&
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
VISTAS.
V$ROLLNAME. Nombres de los segmentos de rollback en
lnea.
V$ROLLSTAT. Estadsticas sobre segmentos de rollback.
V$TRANSACTION. Transacciones activas en el sistema.
13A_ROLL3AC4_SEGS. Informacin sobre segmentos de
rollback de la bd.
13A_SEGMENTS, donde tipo de segmento sea ROLLBACK
ESPACIO DE !DO"
Administracin Bsica de Oracle 10g.
66
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
TEMA (.
8ESTI9! DE SA:IOS ;
:EC:SOS.
8ESTI9! DE SA:IOS ;
:EC:SOS
Administracin Bsica de Oracle 10g.
6(
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
TEMA 7.
GESTIN DE USUARIOS Y RECURSOS.
Usuarios y su autentificacin.
Creacin, modificacin y borrado de usuarios.
Grupos de espacios temporales.
Espacio de almacenamiento SYSAUX.
Perfiles. Parmetros. Funcin de verificacin.
Creacin, modificacin, asignacin y borrado de perfiles.
Privilegios. Privilegios de sistema y sobre objetos.
Privilegios de sistema. Otorgar y revocar. Restricciones.
8ESTI9! DE SA:IOS ;
:EC:SOS
Administracin Bsica de Oracle 10g.
6)
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
TEMA 7.
GESTIN DE USUARIOS Y RECURSOS.
Privilegios sobre objetos. Otorgar y revocar privilegios
sobre objetos.
Roles. Beneficios de los roles. Roles predefinidos.
Creacin, modificacin, asignacin y deasignacin de
roles a usuarios.
Parmetro max_enabled_roles.
Borrado de roles.
Roles por defecto. Activacin y desactivacin de roles.
Vistas.
8ESTI9! DE SA:IOS ;
:EC:SOS
Administracin Bsica de Oracle 10g.
6*
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
SA:IOS
8ESTI9! DE SA:IOS ;
:EC:SOS
Administracin Bsica de Oracle 10g.
(0
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
USUARIOS Y SU AUTENTIFICACIN.
Cada base de datos tiene una lista valida de usuarios.
Para acceder a la misma un usuario debe ejecutar un
aplicacin y conectarse a la instancia usando un nombre
valido previamente definido. Tras la autentificacin,
puede autorizarse, o no, el acceso a determinados
elementos y la ejecucin de ciertas acciones.
Las formas ms comunes de autentificar a un usuario
son:
- Por base de datos.
- Por sistema operativo (autentificacin externa).
8ESTI9! DE SA:IOS ;
:EC:SOS
Administracin Bsica de Oracle 10g.
(1
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
USUARIOS Y SU AUTENTIFICACIN.
En la autentificacin por base de datos la administracin
de la cuenta de usuario, contrasea, que se guarda
encriptada, y la autentificacin es realizada por Oracle.
En la autentificacin externa la cuenta es mantenida por
Oracle pero la administracin de la contrasea y la
autentificacin de usuario es realizada externamente.
El ejemplo ms comn de la autentificacin por
sistema operativo es los usuarios ops$ o identified
externally. El prefijo a usar viene determinado por el
parmetro de inicializacin, fichero init.ora,
OS_A0TCENT_PREFI2 (define el prefijo a aadir al
comienzo de toda cuenta de usuario identificado por
s.o. y su valor por defecto es OPS$).
8ESTI9! DE SA:IOS ;
:EC:SOS
Administracin Bsica de Oracle 10g.
(#
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
CREACIN DE USUARIOS.
Necesario el privilegio de sistema CREATE 0SER.
Normalmente slo lo tiene el usuario administrador.
No es posible la conexin del usuario creado a menos
que posea el privilegio de sistema CREATE SESSION.
Sintaxis:
CREATE 0SER 8*s*a#,o:
I1ENTIFIE1 3Y 8%ont#as'Ma:?E2TERNALLY
1EFA0LT TA3LESPACE 8'spa%,o:
TEMPORARY TA3LESPACE 8'spa%,o:?8(#*po_'spa%,os:
E0OTA 8HH:?0NLIMITE1 ON 8'spa%,o:
PROFILE 8p'#A,:
PASS5OR1 E2PIRE
ACCO0NT LOC4?0NLOC4B
8ESTI9! DE SA:IOS ;
:EC:SOS
Administracin Bsica de Oracle 10g.
($
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
CREACIN DE USUARIOS.
Nombre de usuario.
Debe ser nico respecto a otros nombres de usuario y
roles. Cada usuario tiene asociado un esquema y dentro del
mismo cada objeto debe tener un nico nombre.
Identificacin.
Un usuario autentificado de forma externa se ha de crear
con la clusula I1ENTIFIE1 E2TERNALLY.
8ESTI9! DE SA:IOS ;
:EC:SOS
Administracin Bsica de Oracle 10g.
(%
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
CREACIN DE USUARIOS.
DEFAULT TABLESPACE.
Indica aquel espacio de almacenamiento donde se
crearn los objetos del esquema del usuario cuando al hacerlo
no se indica ninguno en particular.
S, s' o),t' a %a*s*aF os o$I'tos s' %#'an 'n ' 'sp< a)< po#
!'A'%to !' a $! D!'Aa*t *s'# ta$'spa%'; N*' s' ,n!,%a )'!,ant' a
s'nt'n%,a" alter database default tablespace ...; s, 'st' no s' ha
'sp'%,A,%a!o ' 'spa%,o po# !'A'%to 's SYSTEM DOE##o#P;<
TEMPORARY TABLESPACE.
Indica el espacio o grupo de espacios de almacenamiento
para los segmentos temporales requeridos por el usuario.
No !'$' ,n!,%a#s' %*ota< S, s' o),t' a %a*s*aF ' 'spa%,o
t')po#a po# !'A'%to 's ' SYSTEM DOE##o#P; a )'nos N*' s' ha7a
A,Ia!o ' 9ao# !' 'sp< t')po#a po# !'A'%to D!'Aa*t t')po#a#7
ta$'spa%';" alter database default temporary tablespace ...; <
8ESTI9! DE SA:IOS ;
:EC:SOS
Administracin Bsica de Oracle 10g.
(&
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
CREACIN DE USUARIOS.
QUOTA.
Indica la cantidad mxima de espacio que un usuario
puede utilizar en un determinado espacio de almacenamiento.
Puede indicarse cuota en mltiples espacios al tiempo.
El creador del usuario puede indicar cuota sobre espacios
de almacenamiento aunque l no las posea.
Por defecto no se tiene cuota en ningn espacio de
almacenamiento. Indicando 0NLIMITE1, es ilimitado el
espacio a usar. Pueden usarse distintas abreviaturas para
indicar el tamao: kilobytes (K), megabytes (M), gigabytes
(G), terabytes (T), petabytes (P), o exabytes (E).
Puede revocarse el acceso a un espacio de
almacenamiento asignando cuota cero en el mismo. Los
objetos ya creados permanecen pero no pueden crecer ni
crearse ninguno ms.
8ESTI9! DE SA:IOS ;
:EC:SOS
Administracin Bsica de Oracle 10g.
(6
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
CREACIN DE USUARIOS.
PROFILE.
Indica el perfil a asignar al usuario (especifica
limitaciones en recursos del sistema y restricciones). Si se
omite se asigna el perfil 1EFA0LT.
PASSWORD EXPIRE.
Fuerza al usuario a cambiar la clave antes de conectarse
a la base de datos.
ACCOUNT.
ACCO0NT LOC4, bloquea la cuenta de usuario y
deshabilita el acceso. ACCO0NT 0NLOC4, desbloquea la
cuenta de usuario y permite al acceso.
8ESTI9! DE SA:IOS ;
:EC:SOS
Administracin Bsica de Oracle 10g.
((
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
GRUPOS ESPACIOS TEMPORALES.
Un grupo de espacios de alm. temporales (t')po#a#7
ta$'spa%' (#o*p-; es un sinnimo que engloba a un conjunto
de espacios de almacenamiento temporales.
El grupo se crea cuando se aade el primer espacio temporal
al mismo (no puede estar vacio, por lo que, al menos, tiene
un miembro). Si se eliminan todos sus componentes, el grupo
deja de existir.
Creacin de grupos:
at'# ta$'spa%' 8no)$#'_t')po#a: ta$'spa%' (#o*p
8no)$#'_(#*po_t')po#a's:B
%#'at' t')po#a#7 ta$'spa%' 8no)$#'_t')po#a:
t')pA,' >?<<<?<<< <!$A> s,Q' <<< ta$'spa%' (#o*p
8no)$#'_(#*po:B
8ESTI9! DE SA:IOS ;
:EC:SOS
Administracin Bsica de Oracle 10g.
()
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
GRUPOS ESPACIOS TEMPORALES.
Asignar grupos por defecto:
at'# !ata$as' !'Aa*t t')po#a#7 ta$'spa%'
8no)$#'_(#*po:B
Eliminar un temporal de un grupo:
at'# ta$'spa%' 8no)$#'_t')po#a: ta$'spa%' (#o*p >>B
8ESTI9! DE SA:IOS ;
:EC:SOS
Administracin Bsica de Oracle 10g.
(*
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
MODIFICACIN DE USUARIOS.
Los usuarios pueden cambiar sus propias claves, sin embargo
para cambiar cualquier otro parmetro es necesario el
privilegio ALTER 0SER.
Sintaxis:
ALTER 0SER 8*s*a#,o:
I1ENTIFIE1 3Y 8%ont#as'Ma:?E2TERNALLY
1EFA0LT TA3LESPACE 8'spa%,o:
TEMPORARY TA3LESPACE 8'spa%,o:?8(#*po_'spa%,os:
E0OTA 8HH:?0NLIMITE1 ON 8'spa%,o:
1EFA0LT ROLE 8#o':?ALL?ALL E2CEPT 8#o':?NONE
PROFILE 8p'#A,:
PASS5OR1 E2PIRE
ACCO0NT LOC4?0NLOC4B
8ESTI9! DE SA:IOS ;
:EC:SOS
Administracin Bsica de Oracle 10g.
)0
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
MODIFICACIN DE USUARIOS.
DEFAULT ROLE.
Indica los roles otorgados por defecto al usuario en
la conexin. Se refiere a roles otorgados de forma
directa al usuario (con la sentencia GRANT).
Oracle activa los roles indicados sin necesidad de
especificar sus contraseas.
Al crear el usuario los roles por defecto son todos
los asignados, se limitan posteriormente mediante
ALTER 0SER.
8ESTI9! DE SA:IOS ;
:EC:SOS
Administracin Bsica de Oracle 10g.
)1
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
BORRADO DE USUARIOS.
Al borrar un usuario el esquema asociado, con todos sus
objeto, desaparecen.
Una posible solucin para que permanezca el usuario y
los objetos pero impedir la conexin es revocar el
privilegio CREATE SESSION.
No es posible eliminar un usuario que permanezca
conectado a la base de datos. Debe esperarse a que
concluya o forzar su terminacin (ALTER SYSTEM 4ILL
SESSION).
Es necesario tener el privilegio de sistemas 1ROP
0SER.
8ESTI9! DE SA:IOS ;
:EC:SOS
Administracin Bsica de Oracle 10g.
)#
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
BORRADO DE USUARIOS.
Oracle no borra esquemas de usuario no vacios a menos que
se indique CASCADE, realiza un borrado de objetos previo, o
se hayan eliminado con anterioridad los objetos.
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:
1ROP 0SER 8*s*a#,o: 8CASCA1E:B
8ESTI9! DE SA:IOS ;
:EC:SOS
Administracin Bsica de Oracle 10g.
)$
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
ESPACIO DE ALMACENAMIENTO SYSAUX.
El espacio de almacenamiento SYSA02 acompaa a SYSTEM,
ayudando a incrementar la disponibilidad de la bd al descargar
datos de aplicaciones que utilizaban el espacio SYSTEM u
otros con anterioridad a esta versin de bd.
Tiene las mismas caractersticas de almacenamiento que
SYSTEM.
La vista dinmica V$SYSA02_OCC0PANTS indica, entre otras
cosas, las aplicaciones que usan SYSA02, el espacio utilizado,
el nombre del esquema propietario de la mismas y el nombre
del procedimiento que debe emplearse para desplazar
determinado contenido desde SYSA02 hasta otra lozalizacin:
S''%t o%%*pant_na)'F s%h')a_na)'F spa%'_*sa('_&$7t'sF
)o9'_p#o%'!*#' A#o) V$SYSA02_OCC0PANTSB
8ESTI9! DE SA:IOS ;
:EC:SOS
Administracin Bsica de Oracle 10g.
)%
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
PE:<I4ES
8ESTI9! DE SA:IOS ;
:EC:SOS
Administracin Bsica de Oracle 10g.
)&
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
PERFILES.
Est constituido por un conjunto de lmites de recursos
de la base de datos. Diferentes perfiles pueden ser
asignados a diferentes usuarios.
Habilitar o deshabilitar la limitacin de recursos
mediante perfiles puede hacerse (no aplicable a los
parmetros de contrasea que siempre estn
habilitados):
- Mediante el parmetro de inicializacin
RESO0RCE_LIMIT (init.ora), asignando valores TR0E o
FALSE (por defecto).
- Mediante la sentencia ALTER SYSTEM SET
RESO0RCE_LIMIT 6 TR0E?FALSE.
8ESTI9! DE SA:IOS ;
:EC:SOS
Administracin Bsica de Oracle 10g.
)6
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
CREACIN DE PERFILES.
Es necesario el privilegio de sistema CREATE PROFILE.
Existe un perfil por defecto o 1EFA0LT. Inicialmente
todos los recursos designados en l tienen valor
0NLIMITE1, por lo que es conveniente modificarlo
(sentencia ALTER PROFILE).
Un usuario al que no se le asigna perfil posee el perfil
1EFA0LT.
Aquellos recursos para los que en el perfil asignado no
se ha definido un valor, o se ha indicado 1EFA0LT,
toman el valor designado en el perfil por defecto.
Sintaxis:
CREATE PROFILE 8no)$#'_p'#A,:
LIMIT 8pa#R)'t#os: 89ao#:?0NLIMITE1?1EFA0LTB
8ESTI9! DE SA:IOS ;
:EC:SOS
Administracin Bsica de Oracle 10g.
)(
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
CREACIN DE PERFILES.
PARMETROS DE RECURSOS.
Parmetros de recursos:
- SESSIONS_PER_0SER< Nmero de sesiones concurrentes.
- CP0_PER_SESSION< Tiempo de UCP por sesin (centsimas de
segundo).
- CP0_PER_CALL< Tiempo de UCP para una llamada (parse, execute,
o fetch) en centsimas de segundo.
- CONNECT_TIME< Tiempo total para una sesin (minutos).
- I1LE_TIME< Tiempo de inactividad continua en una sesin
(minutos).
8ESTI9! DE SA:IOS ;
:EC:SOS
Administracin Bsica de Oracle 10g.
))
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
CREACIN DE PERFILES.
PARMETROS DE RECURSOS.
- LOGICAL_REA1S_PER_SESSION< Numero de bloques de datos
ledos en una sesin (memoria o disco).
- LOGICAL_REA1S_PER_CALL< Numero de bloques de datos para
una llamada de una SQL (parse, execute, o fetch).
- PRIVATE_SGA< Cantidad de espacio, en bytes, para uso privado
reservado en la shared pool de la SGA (se emplea K o M para
indicar kilobytes o megabytes). Solo en Shared Server.
- COMPOSITE_LIMIT< Coste total en recursos por sesin expresado
en unidades de servicio DCP0_PER_SESSIONF CONNECT_TIMEF
LOGICAL_REA1S_PER_SESSIONF 7 PRIVATE_SGA;<
8ESTI9! DE SA:IOS ;
:EC:SOS
Administracin Bsica de Oracle 10g.
)*
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
CREACIN DE PERFILES.
PARMETROS DE CONTRASEA.
Parmetros de contrasea:
- FAILE1_LOGIN_ATTEMPTS< NS)'#o !' ,nt'ntos Aa,!os !'
%on'H,Tn ant's !' $oN*'o<
- PASS5OR1_LIFE_TIME< NS)'#o !' !Uas 'n N*' a %a9' 's 9R,!a
pa#a a*t'nt,A,%a%,Tn<
S, s' ,n!,%a *n 9ao# pa#a PASS5OR1_GRACE_TIMEF a %a9'
'Hp,#a s, no s' %a)$,a 'n 'st' p'#,o!o< S, no s' ,n!,%a 9ao# pa#a
PASS5OR1_GRACE_TIMEF po# !'A'%to 0NLIMITE1F s' ('n'#a *n
a9,so p'#o ' *s*a#,o p*'!' s'(*,# %on'%tRn!os'<
- PASS5OR1_GRACE_TIME< P'#,o!o !' (#a%,a !on!' s' p'#),t' a
%on'H,Tn p'#o s' not,A,%a a n'%'s,!a! !' %a)$,a#a<
- PASS5OR1_RE0SE_TIME < NS)'#o !' !Uas 'n os %*a's a
%ont#as'Ma no p*'!' #'*t,,Qa#s'<
8ESTI9! DE SA:IOS ;
:EC:SOS
Administracin Bsica de Oracle 10g.
*0
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
CREACIN DE PERFILES.
PARMETROS DE CONTRASEA.
- PASS5OR1_RE0SE_MA2 < NS)'#o !' %a)$,os !' %a9'
n'%'sa#,os ant's !' po!'# #'*t,,Qa# a %a9' a%t*a<
!OTA- PASSWORD_REUSE_TIME y PASSWORD_REUSE_MAX deben usarse
conjuntamente. Si se indica un entero para ambos parmetros, el usuario no
puede reutilizar la contrasea hasta que ha cambiado el nmero de veces
indicado en PRM durante el periodo indicado por PRT. Si alguno de los dos tiene
valor UNLIMITED, nunca se podr reutilizar la contrasea. Si ambos tiene valor
UNLIMITED, la bd los ignora.
- PASS5OR1_LOC4_TIME< NS)'#o !' !Uas N*' a %*'nta 'sta#R
$oN*'a!a !'sp*Vs !' *n %,'#to nS)'#o !' Aaos !' %on'H,Tn
,n!,%a!o<
- PASS5OR1_VERIFY_F0NCTION< P'#),t' ,n!,%a# %o)o a#(*)'nto
*n +s%#,pt- PL?SEL N*' 9'#,A,%a a %o)p'I,!a! !' a %a9'< S, s'
,n!,%a N0LL no s' *sa A*n%,Tn a(*na< O#a%' p#opo#%,ona *na
A*n%,Tn po# !'A'%to" +9'#,A7_A*n%t,on-<
8ESTI9! DE SA:IOS ;
:EC:SOS
Administracin Bsica de Oracle 10g.
*1
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
CREACIN DE PERFILES.
Valor 0NLIMITE1< Si es un parmetro de recurso indica que
puede usarse una cantidad ilimitada del mismo, en el caso de
parmetros de contrasea que no ha sido fijado limite.
Valor 1EFA0LT. Si se indica DEFAULT o se omite en el perfil
algn parmetro, al ser asignado a un usuario toma para
dicho parmetro el valor indicado en el perfil DEFAULT.
E=em0l+ de creacin de 0er2il.
CREATE PROFILE p'#A,_= LIMIT
FAILE1_LOGIN_ATTEMPTS 5
PASS5OR1_LIFE_TIME W0
PASS5OR1_RE0SE_TIME W0
PASS5OR1_RE0SE_MA2 5
PASS5OR1_VERIFY_F0NCTION 9'#,A7_A*n%t,on
PASS5OR1_LOC4_TIME 1?=L
PASS5OR1_GRACE_TIME 10B
8ESTI9! DE SA:IOS ;
:EC:SOS
Administracin Bsica de Oracle 10g.
*#
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
FUNCIN DE VERIFICACIN.
La funcin de verificacin de contrasea debe pertenecer al
usuario SYS. Realiza las comprobaciones:
- La contrasea satisface un mnimo de longitud.
- La contrasea no coincide con el nombre de usuario.
Puede modificarse, siempre en el esquema SYS y conectando
como CONNECT SYS/pass.o#! AS SYSDBA
8ESTI9! DE SA:IOS ;
:EC:SOS
Administracin Bsica de Oracle 10g.
*$
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
MODIFICACIN DE PERFILES.
Es necesario poseer el privilegio de sistema ALTER
PROFILE.
Los valores modificados no afectan a las sesiones en
curso.
Sintaxis:
ALTER PROFILE 8p'#A,:
LIMIT 8pa#R)'t#os: 89ao#:?0NLIMITE1?1EFA0LTB
8ESTI9! DE SA:IOS ;
:EC:SOS
Administracin Bsica de Oracle 10g.
*%
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
ASIGNACIN DE PERFILES.
Los perfiles no pueden asignarse a roles ni a otros
perfiles, solo a usuarios.
Se puede realizar durante la creacin del usuario
(CREATE 0SER) o posteriormente (ALTER 0SER).
Un usuario slo puede tener un perfil asignado a la vez.
Las asignaciones de perfiles no afectan a las sesiones
activas.
8ESTI9! DE SA:IOS ;
:EC:SOS
Administracin Bsica de Oracle 10g.
*&
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
BORRADO DE PERFILES.
Debe poseerse el privilegio de sistema 1ROP PROFILE.
El perfil 1EFA0LT no puede borrarse.
Para eliminar un perfil asignado a un usuario debe
usarse la opcin CASCA1E< Si se borra un perfil
asociado a un usuario, a este se le asigna de forma
automtica el perfil 1EFA0LT.
El borrado de un perfil no afecta a las sesiones en
curso.
Sintaxis:
1ROP PROFILE 8p'#A,:B
1ROP PROFILE 8p'#A,: CASCA1EB
8ESTI9! DE SA:IOS ;
:EC:SOS
Administracin Bsica de Oracle 10g.
*6
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
VISTAS. USUARIOS Y PERFILES.
8ESTI9! DE SA:IOS ;
:EC:SOS
Esta!Ust,%as !' s's,Tn D9'# ta)$,Vn
V$STATNAME;<
V$SESSTAT
InAo#)a%,Tn so$#' s's,on's< V$SESS!"
#SE$%$ES!#$&E%
'(TS
Pa#R)'t#os !' %ont#as'Ma as,(na!os a *s*a#,o<
#SE$%PASS)!$*
%'(TS
C*otas !' 'spa%,o pa#a *s*a#,os<
*+A%TS%,#!TAS
#SE$%TS%,#!TAS
1's%#,$' ' *s*a#,o a%t*a< #SE$%#SE$S
0s*a#,os 9,s,$'s a *s*a#,o a%t*a< A''%#SE$S
0s*a#,os !' a $as' !' !atos< *+A%#SE$S
Pa#R)'t#os !' #'%*#sos as,(na!os a *s*a#,o<
Administracin Bsica de Oracle 10g.
*(
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
P:I>I4E8IOS
8ESTI9! DE SA:IOS ;
:EC:SOS
Administracin Bsica de Oracle 10g.
*)
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
PRIVILEGIOS.
Derecho a ejecutar un tipo determinado de sentencia
SQL o a acceder a un objeto de otro usuario. Pueden
asignarse a usuarios o, preferiblemente, a roles. Es
importante no excederse en la concesin de privilegios.
Se distinguen dos tipos:
- De sistema: Permite realizar determinadas acciones en
la base de datos (Por ejemplo, crear espacios de
almacenamiento, crear usuarios, .) o en cualquier
esquema.
- Sobre objetos: Permite a un usuario acceder y
manipular o ejecutar objetos concretos (tablas, vistas,
secuencias, procedimientos, funciones o paquetes).
8ESTI9! DE SA:IOS ;
:EC:SOS
Administracin Bsica de Oracle 10g.
**
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
PRIVILEGIOS DE SISTEMA.
DATABASE.
- ALTER 1ATA3ASE
- ALTER SYSTEM
- A01IT SYSTEM
DATABASE LINKS
- CREATE 1ATA3ASE LIN4
- CREATE P03LIC 1ATA3ASE LIN4
- 1ROP P03LIC 1ATA3ASE LIN4
TABLAS - INDICES
- CREATE TA3LE
- CREATE ANY TA3LE ? CREATE ANY IN1E2
- ALTER ANY TA3LE ? ALTER ANY IN1E2
- 1ROP ANY TA3LE ? 1ROP ANY IN1E2
- 1ELETE ANY TA3LE ? 1ROP ANY TA3LE ? INSERT ANY TA3LE ?
0P1ATE ANY TA3LES? SELECT ANY TA3LE
8ESTI9! DE SA:IOS ;
:EC:SOS
Administracin Bsica de Oracle 10g.
100
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
PRIVILEGIOS DE SISTEMA.
PROCEDURE
- CREATE PROCE10RE
- CREATE ANY PROCE10RE
- ALTER ANY PROCE10RE
- 1ROP ANY PROCE10RE
- E2EC0TE ANY PROCE10RE
PROFILES
- CREATE PROFILE
- ALTER PROFILE
- 1ROP PROFILE
ROLES
- CREATE ROLE
- ALTER ANY ROLE
- 1ROP ANY ROLE
- GRANT ANY ROLE
8ESTI9! DE SA:IOS ;
:EC:SOS
Administracin Bsica de Oracle 10g.
101
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
PRIVILEGIOS DE SISTEMA.
ROLLBACK SEGMENTS
- CREATE ROLL3AC4 SEGMENT
- ALTER ROLL3AC4 SEGMENT
- 1ROP ROLL3AC4 SEGMENT
SESSIONS
- CREATE SESSION
- ALTER SESSION
TABLESPACES
- CREATE TA3LESPACE
- ALTER TA3LESPACE
- 1ROP TA3LESPACE
- MANAGE TA3LESPACE
- 0NLIMITE1 TA3LESPACE
8ESTI9! DE SA:IOS ;
:EC:SOS
Administracin Bsica de Oracle 10g.
10#
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
PRIVILEGIOS DE SISTEMA.
USUARIO
- CREATE 0SER
- ALTER 0SER
- 1ROP 0SER
-
OTROS
- ANALYZE ANY
- A01IT ANY
- COMMENT ANY TA3LE
- <<<
!+ta: Consultar Oracle Database SQL Reference para una lista completa de
privilegios de sistema.
8ESTI9! DE SA:IOS ;
:EC:SOS
Administracin Bsica de Oracle 10g.
10$
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
PRIVILEGIOS DE SISTEMA.
La clusula ANY en cualquier privilegio indica que los
usuarios a los que se les conceda tienen dicho privilegio
en cualquier esquema.
Notas:
- No existe el privilegio CREATE IN1E2.
- CREATE TA3LE incluye las sentencias CREATE IN1E2 y
ANALYZE.
- Privilegios como CREATE TA3LE o CREATE PROCE10RE
incluyen el borrado de dichos objetos.
- 0NLIMITE1 TA3LESPACE no puede otorgarse a un rol.
Este privilegio permite usar una cantidad ilimitada de
espacio en cualquier espacio de almacenamiento de la
bd y se antepone a cualquier cuota explcita asignada
al usuario (Error!).
8ESTI9! DE SA:IOS ;
:EC:SOS
Administracin Bsica de Oracle 10g.
10%
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
OTORGAR
PRIVILEGIOS DE SISTEMA.
Para que un usuario pueda otorgar un priv.de sistema bien
debe haberse otorgado con A1MIN OPTION, permite a aquel a
quien se le concede el privilegio poder otorgarlo (peligro!), o
haber sido concedido el privilegio GRANT ANY PRIVILEGE.
Sintaxis:
GRANT 8p#,9,'(,o:?ALL PRIVILEGES TO
8*s*a#,o:?8#o:?P03LICB
GRANT 8p#,9,'(,o:?ALL PRIVILEGES TO
8*s*a#,o:?8#o:?P03LIC 5ITC A1MIN OPTIONB
Al especificar ALL PRIVILEGES se otorgan todos los privilegios
de sistema (Peligro!).
La clusula P03LIC otorga el privilegio a todos los usuarios
(Peligro!).
8ESTI9! DE SA:IOS ;
:EC:SOS
Administracin Bsica de Oracle 10g.
10&
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
RESTRICCIONES
EN PRIVILEGIOS DE SISTEMA.
El parmetro de inicializacin, fichero init.ora,
OX_1ICTIONARY_ACCESSI3ILITY permite restringir los
privilegios de sistema. Impide el acceso al esquema SYS
a travs de los privilegios que conceden acceso a
cualquier esquema (privilegios ANY).
Por defecto su valor es FALSE, el acceso a objetos en
este esquema est entonces restringido a SYS y
aquellos usuarios que se conectan como SYSDBA. En
este caso, por ejemplo, SELECT ANY TA3LE permite
acceder a vistas y tablas en otros esquemas pero no
seleccionar objetos del esquema SYS (diccionario de
datos).
Si su valor es TR0E, se permite el acceso a los objetos
del esquema SYS DOE##o#P;.
8ESTI9! DE SA:IOS ;
:EC:SOS
Administracin Bsica de Oracle 10g.
106
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
REVOCAR
PRIVILEGIOS DE SISTEMA.
Sintaxis:
REVOKE 8p#,9,'(,o:?ALL PRIVILEGES FROM
8*s*a#,o:?8#o:?P03LICB
Cualquier usuario con la opcin A1MIN OPTION sobre un
privilegio puede revocarlo. Quien lo hace no tiene porque ser el
usuario que originalmente lo otorgo.
Al retirar ciertos privilegios determinados objetos pueden quedar
inconsistentes (procedimientos o vistas consultadas merced al
privilegio SELECT ANY TA3LE).
En el caso de A1MIN OPTION no hay un efecto en cascada
cuando se retira un privilegio referente a operaciones DDL (por
ej. CREATE TABLE); si lo hay cuando se revoca un privilegio
referente a operaciones DML (por ejemplo SELECT ANY TABLE).
Si se retira un privilegio de sistema de P03LIC, pero existen
usuarios a los que se ha otorgado aquel directamente o a travs
de roles, estos siguen pudiendolo usar.
8ESTI9! DE SA:IOS ;
:EC:SOS
Administracin Bsica de Oracle 10g.
10(
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
PRIVILEGIOS SOBRE OBJETOS.
TABLAS
- ALTER - 1ELETE - FLASC3AC4
- IN1E2 - INSERT - REFERENCES
- SELECT - 0P1ATE
VISTAS
- 1ELETE - FLASC3AC4 - INSERT
- REFERENCES - SELECT - 0P1ATE
SECUENCIAS
- ALTER - SELECT
FUNCIONES, PAQUETES Y PROCEDIMIENTOS
- E2EC0TE
!+ta: Consultar Oracle Dat.SQL Reference para lista completa privilegios sobre objetos.
8ESTI9! DE SA:IOS ;
:EC:SOS
Administracin Bsica de Oracle 10g.
10)
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
OTORGAR
PRIVILEGIOS SOBRE OBJETOS.
Sintaxis:
GRANT 8p#,9,'(,o:?ALL PRIVILEGES 8%o*)na:?ON 8'sN*')a:<o$I'to
TO 8*s*a#,o:?8#o:?P03LICB
GRANT 8p#,9,'(,o:?ALL PRIVILEGES ON 8'sN*')a:<o$I'to
TO 8*s*a#,o:?8#o:?P03LIC 5ITC GRANT OPTIONB
Con ALL PRIVILEGES se otorgan todos los privilegios sobre el objeto
(Peligro!).
Con P03LIC otorga el privilegio a todos los usuarios (Peligro!).
La clusula GRANT OPTION permite a aquel a quien se le concede el
privilegio poder otorgarlo (Peligro!).
8ESTI9! DE SA:IOS ;
:EC:SOS
Administracin Bsica de Oracle 10g.
10*
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
OTORGAR
PRIVILEGIOS SOBRE OBJETOS.
Ejemplos:
GRANT ALL PRIVILEGES ON no),na<#'t'n%,on's
TO ('sto# 5ITC GRANT OPTIONB
GRANT REFERENCES D!n,_')p'a!o;F 0P1ATE D!n,_')p'a!oF
s*'!o_$as'; ON no),na<')p'a!os TO ('sto#B
8ESTI9! DE SA:IOS ;
:EC:SOS
Administracin Bsica de Oracle 10g.
110
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
REVOCAR
PRIVILEGIOS SOBRE OBJETOS.
Sintaxis:
REVOKE <p#,9,'(,o:?ALL PRIVILEGES ON 8'sN*')a:<o$I'to
FROM 8*s*a#,o:?8#o:?P03LIC 8CASCA1E CONSTRAINTS:B
CASCA1E CONSTRAINTS elimina cualquier clusula de
integridad referencial que aquel a quien se retiran los
permisos haya definido usando REFERENCES o ALL
PRIVILEGES.
Quien otorgo privilegios solo puede revocarlos a aquellos
usuarios a quienes se los ha concedido.
En el caso de GRANT OPTION hay un efecto en cascada
cuando se retira un privilegio.
8ESTI9! DE SA:IOS ;
:EC:SOS
Administracin Bsica de Oracle 10g.
111
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
:O4ES
8ESTI9! DE SA:IOS ;
:EC:SOS
Administracin Bsica de Oracle 10g.
11#
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
ROLES.
Es un grupo de privilegios, de sistema o sobre objetos,
a los que se les da un nombre y pueden ser asignados a
otros usuarios y roles.
Caractersticas:
- Pueden otorgarse a cualquier usuario o rol, pero no a si
mismo y tampoco de forma circular.
- Pueden tener contrasea.
- Su nombre es nico en la bd, distinto a cualquier otro
nombre de usuario o rol.
- No pertenecen a ningn esquema.
8ESTI9! DE SA:IOS ;
:EC:SOS
Administracin Bsica de Oracle 10g.
11$
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
ROLES. BENEFICIOS.
S,)p,A,%an ' )an'Io !' p#,9,'(,os. Los permisos pueden
asignarse a un rol y este a los diferentes usuarios.
Man'Io !' p#,9,'(,os !,nR),%o. Si se modifican los privilegios
asociados al rol, todos los usuarios que lo posean los
adquieren de forma inmediata.
1,spon,$,,!a! !' p#,9,'(,os s''%t,9a. Roles asignados a un
usuario pueden ser activados o desactivados temporalmente.
M'Io#a ap,%a%,on's. Cuando un usuario ejecuta una
determinada aplicacin puede activarse, o desctivarse,
selectivamente roles en funcin de nuestro inters. Los roles
tambin pueden protegerse con claves y estos activarse slo
si la aplicacin suministra la correcta.
M'Io#a !' a p#o!*%t,9,!a!. El uso de roles disminuye el
numero de grants almacenados en el diccionario de datos.
8ESTI9! DE SA:IOS ;
:EC:SOS
Administracin Bsica de Oracle 10g.
11%
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
ROLES PREDEFINIDOS.
Oracle proporciona roles predefinidos como ayuda a la
administracin de base de datos, entre los que se
encuentran:
- &!""E&T. Incluye slo el privilegio CREATE SESSION.
- $ES!#$&E. Incluye CREATE CL0STERF CREATE IN1E2TYPEF
CREATE OPERATORF CREATE PROCE10REF CREATE
SEE0ENCEF CREATE TA3LEF CREATE TRIGGER 7 CREATE
TYPE<
- *+A. Todo privilegio de sistema 5ITC A1MIN OPTION.
- E2P_F0LL_1ATA3ASE. Privilegios para realizar exportaciones
completas e incrementales de la base de datos.
- IMP_F0LL_1ATA3ASE. Idem para importaciones completas.
8ESTI9! DE SA:IOS ;
:EC:SOS
Administracin Bsica de Oracle 10g.
11&
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
ROLES PREDEFINIDOS.
- 1ELETE_CATALOG_ROLE. Privilegio de borrado en la tabla de
auditora de sistema (AUD$).
- E2EC0TE_CATALOG_ROLE. Privilegio de ejecucin sobre
objetos en el diccionario de datos.
- SELECT_CATALOG_ROLE. Privilegio de consulta sobre objetos
del diccionario de datos.
Los roles CONNECTF RESO0RCE y 13A se mantienen
por compatibilidad con versiones anteriores de Oracle.
No se asegura que sigan existiendo en un futuro.
Se recomienda crear roles especficos en cada bd y
asignarles los permisos necesarios, evitando el uso de
roles predefinidos, con lo que no surgirn problemas si
estos quedan obsoletos en futuras versiones.
8ESTI9! DE SA:IOS ;
:EC:SOS
Administracin Bsica de Oracle 10g.
116
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
CREACIN DE ROLES.
Debe poseerse el privilegio CREATE ROLE.
El nombre debe ser diferente a cualquier nombre de rol
o usuario existente.
Sintaxis:
CREATE ROLE 8#o: I1ENTIFIE1 3Y 8%ont#as'Ma:B
CREATE ROLE 8#o: NOT I1ENTIFIE1?8:B
La clusula I1ENTIFIE1 3Y indica como debe ser
autorizado antes de usarse por un usuario al que se la
ha otorgado.
8ESTI9! DE SA:IOS ;
:EC:SOS
Administracin Bsica de Oracle 10g.
11(
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
MODIFICACIN DE ROLES.
Un rol solo puede modificarse para cambiar su mtodo
de autentificacin.
Debe poseerse el privilegio de sistema ALTER ANY ROLE
o haber sido sido otorgado el rol con la opcin A1MIN<
No se ven afectadas las sesiones en las que el rol est
ya activo.
Sintaxis:
ALTER ROLE 8#o: NOT I1ENTIFIE1? I1ENTIFIE1 3Y
8%ont#as'Ma:B
8ESTI9! DE SA:IOS ;
:EC:SOS
Administracin Bsica de Oracle 10g.
11)
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
ASIGNAR ROLES A USUARIOS.
S,ntaH,s"
GRANT 8#o: TO 8*s*a#,o:?8#o:?P03LICB
GRANT 8#o: TO 8*s*a#,o:?8#o:?P03LIC 5ITC A1MIN
OPTIONB
Para que un usuario pueda otorgar un rol debe
habrsele concedido con A1MIN OPTION, poseer el
privilegio GRANT ANY ROLE, o haberlo creado.
El usuario que crea el rol implcitamente lo tiene
asignado con A1MIN OPTION.
8ESTI9! DE SA:IOS ;
:EC:SOS
Administracin Bsica de Oracle 10g.
11*
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
PARMETRO MAX_ENABLED_ROLES.
Este parmetro est obsoleto y slo se mantiene por
compatibilidad. Es preferible NO usarlo.
Es un parmetro de inicializacin que define el numero
mximo de roles de base de datos activos
concurrentemente, incluyendo aquellos contenidos
dentro de otros roles, que un usuario puede poseer.
Un usuario puede activar como mximo
2+MAX_ENABLED_ROLES puesto que cada usuario
tiene dos roles adicionales (PUBLIC y y el propio rol del
usuario).
8ESTI9! DE SA:IOS ;
:EC:SOS
Administracin Bsica de Oracle 10g.
1#0
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
ROLES POR DEFECTO.
Un rol por defecto es aquel que automticamente se
activa al conectarse.
Con la sentencia ALTER 0SER se limitan los roles por
defecto asignados a un usuario. La clasula puede slo
indicar roles otorgados directamente al usuario con una
sentencia GRANT.
Sintaxis:
ALTER 0SER 8*s*a#,o: 1EFA0LT ROLE 8#o1:FY8#on:?
ALL ZE2CEPT #o1 ZF#o'=[<<< [ ? NONEB
8ESTI9! DE SA:IOS ;
:EC:SOS
Administracin Bsica de Oracle 10g.
1#1
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
ROLES POR DEFECTO.
La clusula DEFAULT ROLE se aplica solo a los roles
otorgados de forma directa, y no para roles no
asignados al usuario o asignados a travs de otros
roles.
ALL hace que todos los roles sean por defecto excepto
aquellos indicados en la clusula EXCEPT.
EXCEPT indica que los roles que le siguen no sern por
defecto.
NONE hace que ninguno de los roles sea por defecto, y
los nicos privilegios al efectuarse la conexin sern
aquellos asignados directamente.
8ESTI9! DE SA:IOS ;
:EC:SOS
Administracin Bsica de Oracle 10g.
1##
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
DEASIGNACIN DE ROLES.
Puede hacerlo cualquier usuario con la opcin A1MIN
OPTION para un rol, tambin aquellos usuarios con el
privilegio GRANT ANY ROLE (pueden revocar cualquier
rol).
Sintaxis:
REVO4E 8#o1:F Y8#on:
FROM 8*s*a#,o:J8#o:JP03LIC
ZF 8*s*a#,o:J8#o:\ [<<<
Con P03LIC se deasigna el rol de todos los usuarios.
8ESTI9! DE SA:IOS ;
:EC:SOS
Administracin Bsica de Oracle 10g.
1#$
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
BORRADO DE ROLES.
Debe poseerse el privilegio 1ROP ANY ROLE o haber
sido concedido el rol con A1MIN OPTION.
Sintaxis:
1ROP ROLE 8#o:B
Al borrar un rol se deasigna de todos los usuarios y
roles, y se elimina de la base de datos. Las sesiones en
las que el rol est activo no se ven afectadas, pero
ninguna otra lo podr usar.
8ESTI9! DE SA:IOS ;
:EC:SOS
Administracin Bsica de Oracle 10g.
1#%
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
ACTIVACIN Y
DESACTIVACIN DE ROLES.
Durante una sesin, el usuario o una aplicacin puede usar la
sentencia SET ROLE para modificar los roles activos en la
sesin. Previamente los roles deben haber sido asignados al
usuario.
Al crear un usuario todos los roles asignados son por
defecto, a menos que se limite con ALTER 0SER<
No podr hacerse uso de los privilegios otorgados a travs del
rol inactivo a menos que tambin se hayan otorgado de forma
directa o a travs de otros roles.
En la siguiente sesin, los roles activos vuelven a ser los roles
por defecto.
La vista SESSION_ROLES informa de aquellos roles que, para
el usuario actual, estn activos en un momento determinado.
8ESTI9! DE SA:IOS ;
:EC:SOS
Administracin Bsica de Oracle 10g.
1#&
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
ACTIVACIN Y
DESACTIVACIN DE ROLES.
S,ntaH,s"
SET ROLE 8#o: Z I1ENTIFIE1 3Y 8%ont#as'Ma:[
ZF 8#o: Z I1ENTIFIE1 3Y 8%ont#as'Ma:[[Y?
ALL Z E2CEPT 8#o1: F Y F8#on: [ <<<[
?NONE
I1ENTIFIE1 3Y indica la contrasea del rol al activarlo.
ALL activa todos los roles excepto los que aparecen en la
clusula E2CEPT (no puede usarse esta opcin para activar
roles con contrasea).
NONE desactiva todos los roles en la sesin (solo son activos
los privilegios otorgados directamente).
8ESTI9! DE SA:IOS ;
:EC:SOS
Administracin Bsica de Oracle 10g.
1#6
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
VISTAS.
*ATA+ASE%P$!PE$TES <<< P#op,'!a!'s !' a $!<
*+A%#SE$S <<< 0s*a#,os !' a $!<
*+A%$!'ES <<< Ro's 'H,st'nt's 'n a $!<
*+A%$!'E%P$VS <<< Ro's %on%'!,!os a *s*a#,os 7 #o's<
*+A%S-S%P$VS <<< P#,9,'(,os !' s,st')a a *s*a#,os 7 #o's<
*+A%TA+%P$VS <<< P'#),sos so$#' o$I'tos 'n a $!<
*+A%TA+'ESPA&E%.$!#PS <<< G#*pos !' 'spa%,os t')po#a's<
*+A%&!'%P$VS <<< P'#),sos so$#' %o*)nas !' o$I'tos 'n $!<
*+A%TS%,#!TAS <<< C*otas !' 'spa%,o pa#a *s*a#,os<
*+A%P$!/'ES <<< P'#A,'s 'n a $!<
8ESTI9! DE SA:IOS ;
:EC:SOS
Administracin Bsica de Oracle 10g.
1#(
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
VISTAS.
$!'E%$!'E%P$VS <<< Ro's %on%'!,!os a ot#os #o's<
$!'E%S-S%P$VS <<< P#,9,'(,os !' s,st')a %on%'!,!os a #o's<
$!'E%TA+%P$VS <<< P#,9,'(,os so$#' o$I'tos %on%'!,!os a
#o's<
*+A%&!""E&T%$!'E%.$A"TEES <<< 0s*a#,os %on p#,9,'(,o
CONNECT<
#SE$%PASS)!$*%'(TS <<< Pa#R)'t#os %ont#as'Ma *s*a#,o<
#SE$%$ES!#$&E%'(TS <<< LU),t's !' #'%*#sos po# *s*a#,o<
SESS!"%P$VS <<< P#,9,'(,os !,spon,$'s 'n a s's,Tn<
SESS!"%$!'ES <<< Ro's a%t,9os 'n a s's,Tn<
V$SESS!" <<< InAo#)a%,Tn !' s's,Tn<
8ESTI9! DE SA:IOS ;
:EC:SOS
Administracin Bsica de Oracle 10g.
1#)
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
TEMA ).
T:ABA?OS.
T:ABA?OS
Administracin Bsica de Oracle 10g.
1#*
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
TEMA 8.
TRABAJOS (JOBS).
DBMS_JOB vs. DBMS_SCHEDULER.
MIGRACION A DBMS_SCHEDULER.
- CREACION DE TRABAJOS.
- MODIFICACION DE TRABAJOS.
- BORRADO DE TRABAJOS.
PLANIFICADOR (SCHEDULER).
ARQUITECTURA DEL PLANIFICADOR.
NOMENCLATURA OBJETOS.
PRIVILEGIOS PLANIFICADOR.
T:ABA?OS
Administracin Bsica de Oracle 10g.
1$0
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
TEMA 8.
TRABAJOS (JOBS).
PROCEDIMIENTOS PLANIFICADOR.
- CREATE_JOB. INTERVALO EJECUCION.
- SET _ATTRIBUTE.
- SET _ATTRIBUTE_NULL.
- COPY.
- ENABLE.
- DISABLE.
- RUN_JOB.
- STOP_JOB.
- DROP_JOB.
VISTAS.
T:ABA?OS
Administracin Bsica de Oracle 10g.
1$1
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
DBMS_JOB vs. DBMS_SCHEDULER.
Los trabajos son el resultado de la combinacin de una
planificacin y un programa, p.ej. cdigo PL/SQL, junto con
los argumentos requeridos por dicho programa. Se lanzan a la
cola de trabajos, especificando la periodicidad con que deben
ser ejecutados.
Las funciones de planificacin se ofrecen a travs del paquete
13MS_SCCE10LER, este reemplaza al paquete 13MS_GO3.
Para gestionar la cola de trabajos se dispone, por tanto, del
paquete 13MS_SCCE10LER. Aunque 13MS_GO3 sigue
estando disponible, no es probable que lo est en un futuro.
Dentro del paquete 13MS_SCCE10LER existen diversos
procedimientos como CREATE_GO3F 1ROP_GO3F STOP_GO3F ...
que permiten planificar los trabajos automatizados.
T:ABA?OS
Administracin Bsica de Oracle 10g.
1$#
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
DBMS_JOB vs. DBMS_SCHEDULER.
13MS_GO3 permite ejecutar slo programas almacenados o
bloques PL/SQL. 13MS_SCCE10LER puede ejecutar tambin
ejecutables de S.O.
En 13MS_GO3 slo hay un componente, el trabajo o job. En
13MS_SCCE10LER hay mltiples componentes que
incrementan la capacidad de planificacin.
Usando 13MS_SCCE10LER los intervalos de planificacin
pueden definirse en lenguaje natural y de forma ms compleja
que con 13MS_GO3, el cual slo acepta expresiones tipo
fecha.
13MS_SCCE10LER proporciona mayor detalle en cuanto al
estado del trabajo y sus fallos, esta informacin puede
consultarse en el diccionario de datos.
T:ABA?OS
Administracin Bsica de Oracle 10g.
1$$
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
MIGRACION A DBMS_SCHEDULER (I).
CREACION DE TRABAJOS.
Usando DBMS_JOB:
VARIABLE jobno NUMBER;
BEGIN
DBMS_JOB.SUBMIT(:jobno, 'INSERT INTO employees VALUES (7935, ''SALLY'', ''DOGAN'',
''sally.dogan@xyzcorp.com'', NULL, SYSDATE, ''AD_PRES'', NULL,NULL, NULL, NULL);',
SYSDATE, 'SYSDATE+1');
COMMIT;
END;
/
Usando DBMS_SCHEDULER:
BEGIN
DBMS_SCHEDULER.CREATE_JOB(
job_name => 'job1',
job_type => 'PLSQL_BLOCK',
job_action => 'INSERT INTO employees VALUES (7935, ''SALLY'', ''DOGAN'',
''sally.dogan@xyzcorp.com'', NULL, SYSDATE,''AD_PRES'', NULL, NULL, NULL,
NULL);');
start_date => SYSDATE,
repeat_interval => 'FREQ = DAILY; INTERVAL = 1');
END;
/
T:ABA?OS
Administracin Bsica de Oracle 10g.
1$%
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
MIGRACION A DBMS_SCHEDULER (II).
MODIFICACION DE TRABAJOS.
Usando DBMS_JOB:
BEGIN
DBMS_JOB.WHAT(31, 'INSERT INTO employees VALUES (7935, ''TOM'', ''DOGAN'',
''tom.dogan@xyzcorp.com'', NULL, SYSDATE,''AD_PRES'', NULL, NULL, NULL, NULL);');
COMMIT;
END;
/
Usando DBMS_SCHEDULER:
BEGIN
DBMS_SCHEDULER.SET_ATTRIBUTE(
name => 'JOB1',
attribute => 'job_action',
value => 'INSERT INTO employees VALUES (7935, ''TOM'', ''DOGAN'', ''tom.dogan@xyzcorp.com'',
NULL, SYSDATE, ''AD_PRES'', NULL, NULL, NULL, NULL);');
END;
/
T:ABA?OS
Administracin Bsica de Oracle 10g.
1$&
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
MIGRACION A DBMS_SCHEDULER (III).
BORRADO DE TRABAJOS.
Usando DBMS_JOB:
BEGIN
DBMS_JOB.REMOVE(14144);
COMMIT;
END;
/
Usando DBMS_SCHEDULER:
BEGIN
DBMS_SCHEDULER.DROP_JOB('myjob1');
END;
/
T:ABA?OS
Administracin Bsica de Oracle 10g.
1$6
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
PLANIFICADOR (SCHEDULER).
Mediante el planificador puede controlarse cundo y
dnde se ejecutarn los trabajos automatizados.
Permite, por ejemplo:
- Planificar trabajos de mantenimiento de la bd como copias
de seguridad u otras tareas a realizar durante horas de
menor actividad.
- Planificar la ejecucin de trabajos en una fecha
determinada o basndose en eventos.
- Agrupar trabajos en clases y priorizar entre las mismas
(incluso modificar la priorizacin en funcin del tiempo).
- Gestionar y monitorizar trabajos.
T:ABA?OS
Administracin Bsica de Oracle 10g.
1$(
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
ARQUITECTURA DEL PLANIFICADOR.
En la arquitectura del planificador se distinguen
distintos componentes:
- Tabla de trabajos.
- Proceso coordinador.
- Procesos esclavos.
T:ABA?OS

Administracin Bsica de Oracle 10g.
1$)
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
ARQUITECTURA DEL PLANIFICADOR.
Tabla de trabajos.
Hay una por base de datos y almacena informacion tal
como el propietario, nivel de log o si el trabajo se elimina al
finalizar - opcin por defecto - (visible mediante la vista
13A_SCCE10LER_GO3S o las anlogas ALL_<<< y 0SER_<<<;<
Proceso coordinador.
Proceso background, %INNNN, que arranca
automticamente cuando un trabajo debe ejecutarse y se
desactiva tras un periodo de inactividad. Se encarga de:
- Controlar y crear los procesos esclavos.
- Consultar la tabla de trabajos.
- Coger los trabajos de la tabla y colocarlos en memoria
cache. Darlos a los esclavos para su ejecucin.
T:ABA?OS
Administracin Bsica de Oracle 10g.
1$*
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
ARQUITECTURA DEL PLANIFICADOR.
- Limpiar el conjunto de esclavos cuando no son necesarios.
- Desactivarse cuando no hay trabajos planificados.
- Despertar cuando debe ejecutarse un nuevo trabajo o se
ha creado un trabajo.
- Recuperar los trabajos en ejecucin tras el arranque
posterior a un cierre anormal de la bd (p.ej. caida del
sistema o shutdown abort).
Existe slo un proceso coordinador por instancia.
Procesos esclavos.
Su nmero es ajustado automticamente por el
planificador. Son despertados por el coordinador cuando hay
trabajos por ejecutar. Se encargan de:
- Ejecutar el trabajo y realizar las operaciones asociadas
T:ABA?OS
Administracin Bsica de Oracle 10g.
1%0
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
ARQUITECTURA DEL PLANIFICADOR.
(abrir sesin, comenzar la transaccin, comenzar la
ejecucin, finalizar la transaccin y cerrar sesin).
- Actualizar el estado del trabajo en la tabla de trabajos
reflejando el estado del trabajo.
- Actualizar la cuenta de ejecuciones o fallos del trabajo.
- Buscar nuevos trabajos a ejecutar (o ir a dormir si no hay
ninguno).
- ...
T:ABA?OS
Administracin Bsica de Oracle 10g.
1%1
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
PLANIFICADOR. RAC.
El planificador usa una tabla de trabajos por cada base de
datos y un proceso coordinador para cada instancia. Los
coordinadores comunican entre s para guardar informacin
actualizada.

T:ABA?OS
Administracin Bsica de Oracle 10g.
1%#
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
NOMENCLATURA OBJETOS.
Los objetos del planificador se nombran de la misma
forma que cualquier otro objeto de la base de datos:
Z'sN*')a_*s*a#,o[<no)$#'-. Los objetos deben ser
nicos en el espacio de nombres.
Por defecto, los nombres de objetos se almacenan en
maysculas a menos que estn encerrados en dobles
comillas.
T:ABA?OS
Administracin Bsica de Oracle 10g.
1%$
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
PRIVILEGIOS PLANIFICADOR.
Para administrar el planificador debe poseerse el rol
SCCE10LER_A1MIN (generalmente slo administradores).
Es necesario ser restrictivos con la concesin de estos
permisos, siendo aconsejable la concesin de privilegios
concretos, por ejemplo:
GRANT CREATE JOB TO scott; -crear trabajos,... en su esquema-
GRANT ALTER myjob1 TO scott;
Una alternativa para administrar el planificador es el privilegio
MANAGE SCCE10LER. Por ejemplo:
GRANT MANAGE SCHEDULER TO <usuario>;
El usuario podr crear, modificar, o borrar ventanas de
ejecucion, clases de trabajo o grupos de ventanas.
T:ABA?OS
Administracin Bsica de Oracle 10g.
1%%
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
PRIVILEGIOS PLANIFICADOR.
T:ABA?OS
Administracin Bsica de Oracle 10g.
1%&
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
PRIVILEGIOS PLANIFICADOR.
T:ABA?OS
Administracin Bsica de Oracle 10g.
1%6
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
PRIVILEGIOS PLANIFICADOR.
T:ABA?OS
Administracin Bsica de Oracle 10g.
1%(
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
PROCEDIMIENTOS PLANIFICADOR.
T:ABA?OS T:ABA?OS
Administracin Bsica de Oracle 10g.
1%)
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
DBMS_SCHEDULER.
PROCEDIMIENTO CREATE_JOB.
Debe indicarse la accin, planificacin y atributos del trabajo.
El propietario del trabajo es el usuario en cuyo esquema se ha
creado, el creador del trabajo es el usuario que ha creado el
mismo. Un trabajo puede crearse en otro esquema indicando
'sN*')a<no)$#'_t#a$aIo-<
Los trabajos se ejecutan con los privilegios del esquema en el
cual se crean. El entorno del trabajo cuando se ejecuta es
aquel que exista en el momento de su creacin.
Cualquier trabajo puede consultarse una vez creado usando
las vistas ]_SCCE10LER_GO3S. Por defecto los trabajos se
crean deshabilitados y necesitan activarse para ser
ejecutados.
T:ABA?OS
Administracin Bsica de Oracle 10g.
1%*
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
DBMS_SCHEDULER.
PROCEDIMIENTO CREATE_JOB.
Sintaxis:
13MS_SCCE10LER<CREATE_GO3 D
Io$_na)' IN VARCCAR=F
Io$_t7p' IN VARCCAR=F
Io$_a%t,on IN VARCCAR=F
n*)$'#_oA_a#(*)'nts IN PLS_INTEGER *E/A#'T 0F
sta#t_!at' IN TIMESTAMP 5ITC TIME ZONE *E/A#'T "#''F
#'p'at_,nt'#9a IN VARCCAR= *E/A#'T "#''F
'n!_!at' IN TIMESTAMP 5ITC TIME ZONE *E/A#'T "#''F
Io$_%ass IN VARCCAR= *E/A#'T 1*E/A#'T%2!+%&'ASS1F
'na$'! IN 3OOLEAN *E/A#'T /A'SEF
a*to_!#op IN 3OOLEAN *E/A#'T T$#EF
%o))'nts IN VARCCAR= *E/A#'T "#'';B
T:ABA?OS
Administracin Bsica de Oracle 10g.
1&0
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
DBMS_SCHEDULER.
PROCEDIMIENTO CREATE_JOB.
Io$_na)'
Identificador unvoco del trabajo. Si el trabajo reside en otro esquema
debe indicarse el nombre de esquema. Para generar el nombre puede
usarse el procedimiento +GENERATE_GO3_NAME-
13MS_SCCE10LER<GENERATE_GO3_NAME Dp#'A,Io IN VARCCAR= 1EFA0LT
>GO3$_>; RET0RN VARCCAR=B
Io$_t7p'
Tipo de trabajo creado. Algunos de los tipos soportados son:
a) 'PLSEL_3LOC4'. Bloque PL/SQL. En este caso no pueden indicarse
argumentos.
b) 'STORE1_PROCE10RE'. Procedimiento almacenado o subprograma
C externo (slo procedimientos, no funciones con valor de retorno, son
soportados).
T:ABA?OS
Administracin Bsica de Oracle 10g.
1&1
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
DBMS_SCHEDULER.
PROCEDIMIENTO CREATE_JOB.
Io$_a%t,on
Para un bloque PL/SQL, la accin es es ejecutar un cdigo PL/SQL
code. Estos bloques deben acabar con un B ()7_p#o%D;B o 3EGIN
)7_p#o%D;B EN1B ...)
Para un procedimiento almacenado la accin es el nombre del mismo.
n*)$'#_oA_a#(*)'nts. Nmero de argumentos para el trabajo (0-255,
por defecto 0).
p#o(#a)_na)'. Nombre del programa asociado altrabajo.
sta#t_!at'. Fecha en que el trabajo arrancar. Si start_date y
repeat_interval son nulos, el trabajo se inicia tan pronto sea habilitado.
'9'nt_%on!,t,on. Expresin de eventos.
T:ABA?OS
Administracin Bsica de Oracle 10g.
1&#
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
DBMS_SCHEDULER.
PROCEDIMIENTO CREATE_JOB.
N*'*'_sp'%< Cola de eventos.
#'p'at_,nt'#9a< Intervalo de ejecucin. Si no se indica el trabajo slo se
ejecuta una vez.
s%h'!*'_na)'< Nombre de la planificacin, window, o window group
asociada al trabajo.
'n!_!at'< Fecha tras la que el trabajo no se ejecutar ms (el STATE del
trabajo se asigna a COMPLETED, y se deshabilita). Si no se indica fecha, el
trabajo se repetir indefinidamente a menos que se alcance max_runs o
max_failures en cuyo caso el trabajo para.
Io$_p#,o#,t7< Prioridad del trabajo entre los que integran la clase (de 1
-mxima- a 5 -mnima-, por defecto 3).
%o))'nts< Comentarios.
T:ABA?OS
Administracin Bsica de Oracle 10g.
1&$
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
DBMS_SCHEDULER.
PROCEDIMIENTO CREATE_JOB.
'na$'!< Indica si el trabajo se crea habilitado o no (TRUE o FALSE). Por
defecto su valor es FALSE, por tanto el planificador lo ignora y no se enva
a ejecucin. Para ser ejecutado el argumento debe tener valor TRUE o ser
activado con el p#o%'!,),'nto ENA3LE.
a*to_!#op. Si su valor es TRUE, el trabajo ser borrado tras ser
deshabilitado o completarse su ejecucin (cuando llega a su fecha final,
alcanza el nmero de ejecuciones indicadas por )aH_#*ns -fijadas con
SET_ATTRI30TE- o slo debe ejecutarse una vez). Un trabajo se
deshabilita cuando falla las veces indicadas por )aH_Aa,*#'s times
(fijadas con SET_ATTRI30TE).
Si el valor es FALSE, el trabajo no se borra hasta hacerlo
explcitamente con el p#o%'!,),'nto 1ROP_GO3.
Por defecto los trabajos se crean con a*to_!#op igual a TRUE.
T:ABA?OS
Administracin Bsica de Oracle 10g.
1&%
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
DBMS_SCHEDULER.
PROCEDIMIENTO CREATE_JOB.
Ejemplo:
3EGIN
13MS_SCCE10LER<CREATE_GO3 DIo$_na)' 6: >)7_')p_Io$1>F
Io$_t7p' 6: >PLSEL_3LOC4>F
Io$_a%t,on 6: >INSERT INTO sa's VAL0ESD X^_XF >>SALLY>>F
>>ANALYST>>F N0LLF N0LLF N0LLF N0LLF N0LL;B>F
sta#t_!at' 6: >=_-APR-0@ 0X<00<00 PM A*st#a,a?S7!n'7>F
#'p'at_,nt'#9a 6: >FREE61AILYBINTERVAL6=>F
'n!_!at' 6: >=0-NOV-0L 0X<00<00 PM A*st#a,a?S7!n'7>F
%o))'nts 6: >M7 n'. Io$>;B
EN1B
?
T:ABA?OS
Administracin Bsica de Oracle 10g.
1&&
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
INTERVALO EJECUCION.
Est definido por el valor del atributo #'p'at_,nt'#9a o por el de
la planificacin que referencia el trabajo. Si no se indica valor
para #'p'at_,nt'#9a el trabajo slo se ejecuta una vez (indicada
en sta#t !at').
Puede indicarse de dos formas:
- Mediante una expresin acorde a Scheduler Calendaring
Syntax (vase PL?SEL Pa%&a('s an! T7p's R'A'#'n%' para
una descripcin detallada). Por ejemplo:
a) Ejecucin todos los viernes (los ejemplos son equivalentes).
FREE61AILYB 3Y1AY6FRIB
FREE65EE4LYB 3Y1AY6FRIB
FREE6YEARLYB 3Y1AY6FRIB
T:ABA?OS
Administracin Bsica de Oracle 10g.
1&6
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
INTERVALO EJECUCION.
b) Ultimo da del mes.
FREE6MONTCLYB 3YMONTC1AY6-1B
c) Ejecucin el 10 de marzo.
FREE6YEARLYB 3YMONTC6MARB 3YMONTC1AY610B
FREE6YEARLYB 3Y1ATE60@10B
d) Cada 10 dias.
FREE61AILYB INTERVAL610B
e) Diariamente a las 4, 5 y 6 de la tarde.
FREE61AILYB 3YCO0R61WF1XF1_B
f) Cada 50 horas.
FREE6CO0RLYB INTERVAL650B
g) Cada hora durante los tres primeros das del mes.
FREE6CO0RLYB 3YMONTC1AY61F=F@B
T:ABA?OS
Administracin Bsica de Oracle 10g.
1&(
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
INTERVALO EJECUCION.
- Mediante una expresin PL/SQL . Por ejemplo:
BEGIN
DBMS_SCHEDULER.CREATE_JOB (
job_name => 'scott.my_job2',
start_date => '15-JUL-04 01.00.00 AM Europe/Warsaw',
repeat_interval => 'SYSTIMESTAMP + INTERVAL '30' MINUTE',
end_date => '15-SEP-04 01.00.00 AM Europe/Warsaw',
comments => 'Comentarios');
END;
/
Supone la ejecucin por primera vez el 15 de julio y luego
cada 30 minutos hasta el 15 de septiembre.
T:ABA?OS
Administracin Bsica de Oracle 10g.
1&)
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
DBMS_SCHEDULER.
PROCEDIMIENTO SET _ATTRIBUTE.
Sintaxis:
13MS_SCCE10LER<SET_ATTRI30TE D
na)' IN VARCCAR=F
att#,$*t' IN VARCCAR=F
9a*' IN ZVARCCAR=F TIMESTAMP 5ITC TIMEZONEF
PLS_INTEGERF 3OOLEANF INTERVAL 1AY TO SECON1[F
89a*'= IN VARCCAR= *E/A#'T "#'':;B
Na)' ... nombre del objeto.
Att#,$*t' ... atributo a modificar.
Va*' ... nuevo valor (no puede ser NULL). Para fijar un atributo a
N0LL debe usarse el procedimiento SET_ATTRI30TE_N0LL.
Va*'= ... Usado en atributos que pueden tener dos valores
asociados.
Cualquier parmetro, excepto job_name, puede modificarse.
T:ABA?OS
Administracin Bsica de Oracle 10g.
1&*
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
Algunos de los valores que pueden modificarse son:
- o((,n(_'9'. Indica qu informacin se guarda:
13MS_SCCE10LER<LOGGING_OFF -ninguna-,
13MS_SCCE10LER<LOGGING_R0NS -informacin sobre ejecuciones-
y 13MS_SCCE10LER<LOGGING_F0LL -informacin sobre creacin,
habilitacin, modificacin, ...-.
- #'sta#ta$'. Indica si un trabajo se rearranca en caso de fallo. Por
defecto su valor es FALSE.
- )aH_Aa,*#'s. Nmero de veces que un trabajo puede fallar
consecutivamente antes de ser deshabilitado (en este caso su STATE
es puesto a BROKEN). Por defecto NULL, nuevas instancias del trabajo
arrancan independientemente del nmero de fallos previos.
- )aH_#*ns. Nmero mximo de ejecuciones consecutivas. Al
alcanzarlas, el trabajo se deshabilita y su estado pasa a ser
COMPLETED. Por defecto es NULL, con lo que el trabajo se repite
indefinidamente o hasta alcanzar end_date o max_failures.
T:ABA?OS
DBMS_SCHEDULER.
PROCEDIMIENTO SET _ATTRIBUTE.
Administracin Bsica de Oracle 10g.
160
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
- Io$_a%t,on
- Io$_t7p'
- #'p'at_,nt'#9a
- sta#t_!at'
- 'n!_!at'
- %o))'nts
- a*to_!#op. Indica si el trabajo debe ser borrado despus de completar
su ejecucin.
T:ABA?OS
DBMS_SCHEDULER.
PROCEDIMIENTO SET _ATTRIBUTE.
Administracin Bsica de Oracle 10g.
161
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
DBMS_SCHEDULER.
PROC. SET _ATTRIBUTE_NULL.
Sintaxis:
13MS_SCCE10LER<SET_ATTRI30TE_N0LL D
na)' IN VARCCAR=F
att#,$*t' IN VARCCAR=;B
Este procedimiento asigna el valor NULL a un atributo.
T:ABA?OS
Administracin Bsica de Oracle 10g.
16#
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
DBMS_SCHEDULER.
PROCEDIMIENTO COPY.
Sintaxis:
13MS_SCCE10LER<COPY_GO3 D
o!_Io$ IN VARCCAR=F
n'._Io$ IN VARCCAR=;B
Copia todos los atributos de un trabajo existente a un nuevo trabajo, este
es creado deshabilitado -el estado del trabajo original no vara-.
Esta operacin requiere tener privilegios para crear un trabajo en el
esquema del nuevo trabajo (CREATE JOB para el propio esquema o
CREATE ANY JOB en otro caso). Si el trabajo original no est en el propio
esquema de usuario se necesita tambin privilegio ALTER en el mismo o
poseer el privilegio CREATE ANY JOB.
T:ABA?OS
Administracin Bsica de Oracle 10g.
16$
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
DBMS_SCHEDULER.
PROCEDIMIENTO ENABLE.
Sintaxis:
13MS_SCCE10LER<ENA3LE Dna)' IN VARCCAR=;B
Permite activar un trabajo, programa, ... todos los cuales, por defecto,
son creados deshabilitados. A partir de la activacin el proceso
coordinador puede llevarlo a ejecucin.
Se llevan a cabo operaciones de validacin previas a la habilitacin. Si
fallan, no se habilita el objeto y se genera un error.
Se debe ser el propietario del objeto, tener privilegio ALTER en el mismo o
poseer el privilegio CREATE ANY GO3.
T:ABA?OS
Administracin Bsica de Oracle 10g.
16%
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
DBMS_SCHEDULER.
PROCEDIMIENTO DISABLE.
Sintaxis:
13MS_SCCE10LER<1ISA3LE D
na)' IN VARCCAR=F
Ao#%' IN 3OOLEAN *E/A#'T /A'SE;B
Permite desactivar un trabajo, programa, ... puede indicarse en name
una lista de nombres separados por comas. Deshabilitar un objeto ya
deshabilitado no genera error.
Se debe ser el propietario del objeto, tener privilegio ALTER en el mismo o
poseer el privilegio CREATE ANY GO3.
Cuando un trabajo se deshabilita su estado se modifica a !,sa$'!. Si
Ao#%' es FALSE y el trabajo est ejecutndose se develve un error; si
Ao#%' es TR0E, se deshabilita el trabajo pero se permite finalizar la
instancia del mismo que est ejecutndose.
T:ABA?OS
Administracin Bsica de Oracle 10g.
16&
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
DBMS_SCHEDULER.
PROCEDIMIENTO RUN_JOB.
Sintaxis:
13MS_SCCE10LER<R0N_GO3 D
Io$_na)' IN VARCCAR=F
*s'_%*##'nt_s'ss,on IN 3OOLEAN *E/A#'T T$#E;B
Ejecuta un trabajo de forma inmediata. Usar R0N_GO3 requiere bien
ser el propietario del trabajo, bien tener privilegio ALTER en dicho trabajo.
Tambin pueden ejecutarse trabajos con el privilegio CREATE ANY GO3.
Si *s'_%*##'nt_s'ss,on es TR0E, el trabajo se ejecuta en la sesion que
llama a R0N_GO3. Esta forma de ejecutarse no hace que se modifique los
contadores Aa,*#'_%o*nt y #*n_%o*nt, el trabajo se reflejar en el
log del mismo.
Si *s'_%*##'nt_s'ss,on es FALSE: es preciso chequear el log para
obtener informacin sobre la ejecucin del trabajo; #*n_%o*nt,
ast_sta#t_!at', ast_#*n_!*#at,on y Aa,*#'_%o*nt son actualizados y
R0N_GO3 falla si hay un trabajo planificado ejecutndose.
T:ABA?OS
Administracin Bsica de Oracle 10g.
166
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
DBMS_SCHEDULER.
PROCEDIMIENTO STOP_JOB.
Sintaxis:
13MS_SCCE10LER<STOP_GO3 D
Io$_na)' IN VARCCAR=
Ao#%' IN 3OOLEAN *E/A#'T /A'SE;B
Permite parar trabajos en ejecucin. Tras la parada de un trabajo, el
estado de este pasa a ser STOPPE1 si slo se ejecutaba una vez; mientras
que el de uno programado para repetirse mltiples veces pasa a ser
SCCE10LE1 o COMPLETE1 (en funcin de si la siguiente ejecucin estaba
planificada).
Si el argumento force de la llamada es FALSE, el planificador intenta
parar el trabajo ordenadamente y genera un error si falla en su intento. Si
su valor es TR0E, se interrumpe inmediatamente el proceso esclavo
(Oracle slo recomienda esta opcin si ha fallado la parada ordenada).
T:ABA?OS
Administracin Bsica de Oracle 10g.
16(
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
DBMS_SCHEDULER.
PROCEDIMIENTO DROP_JOB.
Sintaxis:
13MS_SCCE10LER<1ROP_GO3 D
Io$_na)' IN VARCCAR=F
Ao#%' IN 3OOLEAN *E/A#'T /A'SE;B
Permite borrar un trabajo (desaparece de cualquier vista, por tanto, y no
vuelve a ejecutarse).
Requiere ser el propietario del trabajo, tener el privilegio ALTER sobre el
mismo, o poseer el privilegio de sistema CREATE ANY GO3.
Si el argumento Ao#%' es FALSE, y una instancia del trabajo est
ejecutndose se genera un error. Si su valor es TR0E, el planificador
intenta parar la instancia del trabajo y despus lo borra.
T:ABA?OS
Administracin Bsica de Oracle 10g.
16)
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
VISTAS.
*+A%S&3E*#'E$%2!+%A$.S. Argumentos de trabajos.
*+A%S&3E*#'E$%2!+%'!.. Cambios de estado de trabajos.
*+A%S&3E*#'E$%2!+%$#"%*ETA'S. Detalles sobre la
ejecucin de trabajos.
*+A%S&3E*#'E$%2!+S. Informacin sobre trabajos en la bd.
*+A%S&3E*#'E$%$#""".%2!+S. Trabajos en ejecucin.
*+A%S&3E*#'E$%S&3E*#'ES. Planificacin de trabajos.
SESSIO!@P:I>S. Privilegios de sistema actuales.
V$'!&4. Bloqueos mantenidos por el servidor.
V$SESS!". Informacin de sesiones actuales.
T:ABA?OS
Administracin Bsica de Oracle 10g.
16*
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
TEMA *.
ADITO:AA.
ADITO:IA
Administracin Bsica de Oracle 10g.
1(0
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
TEMA 9.
AUDITORA.
Auditora.
Tipos de auditora.
Registros de auditora. Audit trail.
Parmetro audit_trail.
Auditora de usuarios administradores.
Informacin audit trail de sistema operativo.
Auditora de sentencias. opciones.
Auditora de privilegios. Privilegios auditables.
ADITO:IA
Administracin Bsica de Oracle 10g.
1(1
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
TEMA 9.
AUDITORA.
Auditora de esquema. Opciones.
Auditora y flashback.
Auditora de grano fino. Paquete dbms_fga. Procedimientos.
Desactivacin. Sentencia noaudit.
Desactivacin de la auditora.
Control y proteccin del audit trail.
Auditora. Recomendaciones.
Vistas.
ADITO:IA
Administracin Bsica de Oracle 10g.
1(#
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
AUDITORA.
Mediante la auditora se intenta monitorizar y registrar
acciones en la base de datos con el fin de :
- Investigar actividades maliciosas (borrado de tablas, ..)
- Detectar privilegios incorrectamente otorgados a usuarios (que permiten
realizar acciones inapropiadas, las cuales son detectadas)
- Recoger datos sobre actividades concretas (tablas que se actualizan,
usuarios concurrentes, .)
- Detectar problemas con la implementacin de polticas de seguridad
(puntos dbiles que generan registros)
Puede ser ms o menos general, permitiendo auditar:
- Ejecuciones de sentencias exitosas, fallidas o ambas.
- Ejecucin de sentencias por sesin o por lanzamiento de sentencia.
- Usuarios concretos o todos los usuarios.
ADITO:IA
Administracin Bsica de Oracle 10g.
1($
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
TIPOS DE AUDITORA.
Existen varios tipos:
- De sentencias. Seleccionando un tipo concreto de las
mismas, que afectan a una determinada clase de objetos
de base de datos (por ejemplo, A01IT TA3LE que audita
%#'at' ta$'F at'# ta$' y !#op ta$').
- De privilegios. Auditora de privilegios de sistema (por
ejemplo, A01IT CREATE TA3LE).
- De esquema. Sentencias especficas sobre objetos de un
esquema concreto (p. ej. A01IT SELECT ON
8no)$#'_ta$a:).
- De grano fino (fine grained). Acceso a datos concretos y
cambios en los mismos a nivel columna.
ADITO:IA
Administracin Bsica de Oracle 10g.
1(%
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
TIPOS DE AUDITORA.
Si se habilitan opciones de auditora semejantes de sentencia
y de privilegio, slo se genera un registro; por ej. la auditora
de TA3LE -sentencia- y CREATE TA3LE -privilegio- slo genera
un registro al crear una tabla. La auditora de privilegios es
ms restringida que la de sentencias pues audita sentencias
especficas.
ADITO:IA
Administracin Bsica de Oracle 10g.
1(&
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
REGISTROS DE AUDITORA.
AUDIT TRAIL.
La informacin de auditora se almacena en los registros de
auditora, que incluyen datos como:
- Usuario. Identificador de sesin y terminal
- Nombre del esquema accedido
- Operacin y cdigo de operacin
- Fecha y hora
En la auditora bsica (sentencias, privilegios, esquemas) los
registros se guardan en la tabla de diccionario de datos
SYS.AUD$ (db audit trail) o en ficheros de sistema operativo
(operating system audit trail). Est codificada y no es
legible. En el primer caso, existen diferentes vistas que
permiten usar la informacin almacenada como
13A_A01IT_TRAIL.
En la auditora de grano fino, los registros se escriben en
13A_FGA_A01IT_TRAIL (tabla SYS<FGA_LOG$).
ADITO:IA
Administracin Bsica de Oracle 10g.
1(6
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
REGISTROS DE AUDITORA.
AUDIT TRAIL.
El registro de informacin puede estar habilitado o deshabilitado.
Aquellos usuarios autorizados de la base de datos pueden determinar
las opciones de auditora, pero el decidir si se graba o no informacin
pertenece al administrador.
Cuando la auditora est habilitada se genera un registro durante la
fase de la ejecucin de la sentencia. La generacin e insercin de un
registro de auditora es independiente de como acabe la transaccin
del usuario; si esta es deshecha (rollback), el registro de auditora
permanece (commit).
Las opciones de auditora para sentencias y privilegios en vigor
cuando un usuario se conecta permanecen as durante la sesin
(auque se modifiquen o establezcan nuevas opciones, que slo
tendrn efecto en una nueva sesin). Por el contrario, cambios en las
opciones sobre esquema se aplican inmediatamente para la sesin
en curso.
ADITO:IA
Administracin Bsica de Oracle 10g.
1((
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
REGISTROS DE AUDITORA.
AUDIT TRAIL.
La auditora de grano fino se aplica a objetos individuales y, por tanto,
no se ve afectada por la auditora bsica que est habilitada o no para
la bd al completo.
El audit trail no almacena informacin sobre los valores de los datos
que pudieran estar involucrados en una determinada sentencia que
est siendo auditada. Por ejemplo, los valores actuales y anteriores de
una fila modificada no se guardan al auditar la sentencia 0P1ATE
Dpuede hacerse usando disparadores de base de datos, t#,(('#s).
CREATE TRIGGER a*!,t_')p_saa#,'s
AFTER INSERT OR 1ELETE OR 0P1ATE ON ')po7''_saa#,'s
Ao# 'a%h #o.
$'(,n
,A D"n'.<saa#7: "o!<saa#7 ] 1<10; th'n ,ns'#t ,nto ')p_saa#7_a*!,t
9a*'s D"')po7''_noF"o!<saa#7F"n'.<saa#7F*s'#Fs7s!at';B
'n!,AB
'n!B
ADITO:IA
Administracin Bsica de Oracle 10g.
1()
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
REGISTROS DE AUDITORA.
AUDIT TRAIL.
Independientemente de si la auditora esta habilitada o
no, siempre se registran algunos tipos de acciones que
son escritos a ficheros de sistema operativo (ficheros en
$ORACLE_COME?#!$)s?a*!,t):
- Startup de la instancia. Se almacena el usuario de
sistema operativo que lo hace, el identificador de terminal
del usuario, fecha y hora. El audit trail de bd no est
disponible hasta que se ha arrancado satisfactoriamente
esta.
- Shutdown de la instancia. Almacena el usuario de
sistema operativo, el identificador de terminal del usuario
y fecha y hora.
- Conexiones a la base de datos con privilegios de
administrador.
ADITO:IA
Administracin Bsica de Oracle 10g.
1(*
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
AUDITORA.
PARAMETRO AUDIT_TRAIL.
Para comenzar a auditar debe asignarse al parmetro de
inicializacin, esttico, A01IT_TRAIL el valor 13 (auditora en base de
datos excepto para los valores que siempre se escriben a s.o.). El
valor NONE, valor por defecto, deshabilita la auditora.
El valor OS indica que la auditora debe llevarse a sistema operativo.
El parmetro A01IT_FILE_1EST seala donde se guardan los ficheros,
as como los registros de auditora para SYS (por defecto
$ORACLE_3ASE?$13_0NIE0E_NAME?a!*)p y, en segundo lugar,
$ORACLE_COME?#!$)s?a*!,t;<
El valor 2ML indica que los registros se escriben como ficheros xml en
el s.o.. Pueden consultarse mediante la vista V$2ML_A01IT_TRAIL<
Para auditar una sentencia SQL o privilegio debe poseerse el privilegio
de sistema A01IT SYSTEM. Para auditar operaciones sobre un
objeto, debe pertenecer al esquema o tener privilegio A01IT ANY.
Habilitar la auditora de grano fino o la del SYS no precisa indicar
valor para A01IT_TRAIL.
ADITO:IA
Administracin Bsica de Oracle 10g.
1)0
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
AUDITORIA DE USUARIOS
ADMINISTRADORES.
El parmetro de inicializacin A01IT_SYS_OPERATIONS
- esttico- permite especificar la auditora de aquellas
sesiones de usuarios conectados como SYS (privilegio
SYSDBA). Los registros generados son escritos en el
audit trail de sistema operativo, no depende del valor
del parmetro AUDIT_TRAIL.
Si su valor es TRUE (A01IT_SYS_OPERATIONS6TR0E;,
se auditan dichas operaciones.
Si su valor es FALSE, valor por defecto, no son
auditadas (A01IT_SYS_OPERATIONS6FALSE;<
ADITO:IA
Administracin Bsica de Oracle 10g.
1)1
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
AUDITORA BD vs SO.
El almacenamiento de la auditora en base de datos tiene
diferentes ventajas:
- Pueden usarse ciertas vistas predefinidas, existentes en el
diccionario de base de datos, para consultar de forma sencilla el
audit trail (como !$a_a*!,t_t#a,).
- Pueden usarse herramientas Oracle de generacin de informes,
como Oracle Reports.
- Evita la ejecucin de eventos si el audit trail no puede grabar los
registros que se generan.
Por otra parte, la auditora en sistema operativo podra ayudar
a examinar la actividad global del sistema con mayor facilidad;
al estar todos los registros de auditora (de Oracle y de otras
herramientas) en un mismo lugar. Tambin podra ser ms
seguro al requerir permisos concretos para acceder a los
ficheros.
ADITO:IA
Administracin Bsica de Oracle 10g.
1)#
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
INFORMACION AUDIT TRAIL DE
SISTEMA OPERATIVO.
Los registros de auditora escritos a ficheros de sistema
operativo contienen informacin codificada que incluye
los campos:
- Cdigo de operacin (action code). Debe consultarse la
tabla A01IT_ACTIONS, esta muestra la descripcin de los
cdigos de operacin.
- Privilegios. Privilegios de sistema usados para realizar la
accin. Consultar la tabla SYSTEM_PRIVILEGE_MAP.
- Terminacin (completion code). Describe el resultado; si
hubo xito se devuelve un valor cero, en caso contrario un
cdigo de error.
ADITO:IA
Administracin Bsica de Oracle 10g.
1)$
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
AUDITORA DE SENTENCIAS.
Sintaxis:
A01IT 8s'nt'n%,a1F Y s'nt'n%,an:?ALL
3Y 8*s*a#,o1F Y *s*a#,on:
3Y SESSION?ACCESS
5CENEVER S0CESSF0L?NOT S0CCESSF0LB
La clusula 3Y 8*s*a#,o: permite restringir la auditora
slo a aquellas sentencias ejecutadas por los usuarios
indicados.
La clusula 3Y SESSION, clausula por defecto, indica
que se desea un slo registro para todas las sentencias
SQL y operaciones del mismo tipo ejecutadas en la
misma sesin.
ADITO:IA
Administracin Bsica de Oracle 10g.
1)%
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
AUDITORA DE SENTENCIAS.
La clusula 3Y ACCESS indica que se desea un registro
para cada sentencia SQL y operacin auditadas. Si se
auditan sentencias de definicin de datos del lenguaje
(DDL) siempre se audita por acceso.
La clusula 5CENEVER S0CESSF0LF permite auditar
slo sentencias SQL y operaciones que surten efecto.
La clusula 5CENEVER NOT S0CESSF0LF permite
auditar slo sentencias SQL y operaciones que fallan o
generan errores.
Si se omiten las dos opciones anteriores, se realiza la
auditora independientemente del xito o fallo de la
sentencia.
ADITO:IA
Administracin Bsica de Oracle 10g.
1)&
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
AUDITORA DE SENTENCIAS.
Nota general: Si se configura la auditora por s.o., la clusula
3Y SESSION equivale a 3Y ACCESS. Se genera un registro
cada vez que se realiza un acceso.
Nota general: Para cualquier tipo de auditora (sentencia,
privilegio o sistema), si se opta por auditar NOT
SUCCESSFUL se generan registros slo si el fallo se produce
por alguna razn relacionada con la opcin auditada. Por
ejemplo, no se produce registro si una sentencia falla por no
tener cuota estando auditando CREATE TABLE.
ADITO:IA
Administracin Bsica de Oracle 10g.
1)6
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
AUDITORA DE SENTENCIAS.
OPCIONES.
Create role / alter role / drop role / set role Ro'
Create public synonym / Drop public
synonym
P*$,% s7non7)
Create public database link / drop public
database link
P*$,% !ata$as'
,n&
Create function / create package / create
package body / create procedure / drop
function / drop package / drop procedure
P#o%'!*#'
Todas las sentencias SQL que fallan por no
existir un determinado objeto
Not 'H,sts
Create / alter / analyze /drop index In!'H
Create database link / drop database link 1ata$as' ,n&
Sentencias SB4 a,ditadas. O0ci+n
ADITO:IA
Administracin Bsica de Oracle 10g.
1)(
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
AUDITORA DE SENTENCIAS.
OPCIONES.
Create table / drop table / truncate table Ta$'
Create tablespace / drop tablespace / alter
tablespace
Ta$'spa%'
Grant y revoke privilegios_sistema y roles S7st') (#ant
Audit sentencias_sql / Noaudit
sentencias_sql
S7st') a*!,t
Create synonym / drop synonym S7non7)
Conexiones - 9ao# po# !'A'%to 7 Sn,%o 3Y SESSION - S'ss,on
Create sequence / drop sequence S'N*'n%'
Create rollback segment/ alter rollback
segment / drop rollback segment
Ro$a%& Stat')'nt
Sentencias SB4 a,ditadas. O0cin
ADITO:IA
Administracin Bsica de Oracle 10g.
1))
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
AUDITORA DE SENTENCIAS.
OPCIONES.
Grant / revoke <privilegio> on <secuencia> G#ant s'N*'n%'
Grant / revoke <privilegio> on <tabla,
vista, vista materializada>
G#ant ta$'
Grant / revoke <privilegio> on
<procedimiento, funcion, paquete>
G#ant p#o%'!*#'
Delete from <tabla>, <vista> 1''t' ta$'
Alter table At'# ta$'
Create view /drop view V,'.
Create user / alter user /drop user 0s'#
Create trigger / drop trigger /alter trigger T#,(('#
Sentencias SB4 a,ditadas. O0cin
ADITO:IA
Administracin Bsica de Oracle 10g.
1)*
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
AUDITORA DE SENTENCIAS.
OPCIONES.
Cualquier sentencia que contenga
sequence.CURRVAL o sequence.NEXTVAL
S''%t s'N*'n%'
Update <tabla, vista> 0p!at' ta$'
Select from <tabla, vista, vista
materializada>
S''%t ta$'
Lock table <tabla, vista> Lo%& ta$'
Insert into <tabla, vista> Ins'#t ta$'
Sentencias SB4 a,ditadas. O0cin
ADITO:IA
Administracin Bsica de Oracle 10g.
1*0
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
AUDITORA DE PRIVILEGIOS.
Sintaxis:
A01IT 8p#,9_s,st')a1F Y p#,9_s,st')an:
?ALL PRIVILEGES
3Y 8*s*a#,o1F Y *s*a#,on:
3Y SESSION?ACCESS
5CENEVER S0CESSF0L?NOT S0CCESSF0LB
La clusula ALL PRIVILEGESF indica que debe auditarse
todo privilegio de sistema.
Toda la auditora de privilegios sobre sentencias DDL se
hace por acceso. Por defecto es por sesin.
ADITO:IA
Administracin Bsica de Oracle 10g.
1*1
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
PRIVILEGIOS AUDITABLES.
ALTER 1ATA3ASE
ALTER SYSTEM
A01IT SYSTEM
CREATE 1ATA3ASE LIN4
CREATE P03LIC 1ATA3ASE LIN4
1ROP P03LIC 1ATA3ASE LIN4
CREATE PROCE10RE
CREATE ANY PROCE10RE
ALTER ANY PROCE10RE
1ROP ANY PROCE10RE
E2EC0TE ANY PROCE10RE
CREATE PROFILE
ALTER PROFILE
1ROP PROFILE
CREATE ROLE
ALTER ANY ROLE
1ROP ANY ROLE
CREATE ROLL3AC4 SEGMENT
ALTER ROLL3AC4 SEGMENT
1ROP ROLL3AC4 SEGMENT
CREATE SESSION
ALTER SESSION
ADITO:IA
Administracin Bsica de Oracle 10g.
1*#
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
PRIVILEGIOS AUDITABLES.
CREATE ANY TA3LE ? ANY IN1E2
ALTER ANY TA3LE ? ANY IN1E2
1ELETE ANY TA3LE
1ROP ANY TA3LE ? ANY IN1E2
INSERT ANY TA3LE
0P1ATE ANY TA3LE
SELECT ANY TA3LE
CREATE 0SER
ALTER 0SER
1ROP 0SER
CREATE VIE5
CREATE ANY VIE5
1ROP ANY VIE5
ANALYZE ANY
A01IT ANY
COMMENT ANY TA3LE
ADITO:IA
Administracin Bsica de Oracle 10g.
1*$
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
AUDITORA DE ESQUEMA.
Sintaxis:
A01IT 8%a*s*a_o$I'to1F Y %a*s*a_o$I'ton:?ALL
ON 8'sN*')a:<o$I'to_a*!,ta!o?1EFA0LT
3Y SESSION?ACCESS
5CENEVER S0CESSF0L?NOT S0CCESSF0LB
La clusula ALL indica todas las opciones posibles sobre
un tipo de objeto concreto.
Mediante la clusula ON 1EFA0LT se establece por
defecto las opciones indicadas para todo objeto creado
con posterioridad. Al establecerlas permanecen aquellas
definidas por defecto para objetos creados previamente
(pueden cambiarse indicando explcitamente el objeto).
ADITO:IA
Administracin Bsica de Oracle 10g.
1*%
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
AUDITORA DE ESQUEMA.
Puede auditarse todas las sentencias SELECT y DML
permitidas por los privilegios de objetos.
No pueden auditarse procedimientos incluidos en
paquetes, aunque s procedimientos y funciones
individuales y tambin paquetes.
Si se habilita afecta a todos los usuarios de la bd.
ADITO:IA
Administracin Bsica de Oracle 10g.
1*&
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
AUDITORA DE ESQUEMA.
OPCIONES.
Tablas.
- Alter / audit / comment / delete / grant / index / insert / lock
rename / select /update / flashback (slo a consultas flashback)
Vistas.
- Audit / comment / delete / grant / insert / lock
rename / select /update / flashback (slo a consultas flashback)
Secuencias.
- Alter / audit / grant / select
Procedimientos.
- Audit / execute / grant / rename
Vistas materializadas.
- Alter / audit / comment / delete / index / insert / lock / select /update
ADITO:IA
Administracin Bsica de Oracle 10g.
1*6
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
AUDITORA Y FLASHBACK.
Para usar las prestaciones flashback, la bd debe estar en
modo automtico de undo.
La vista FLASC3AC4_TRANSACTION_E0ERY muestra
informacin acerca de las transacciones realizadas en la bd. Si
se han modificado datos en una tabla, la vista muestra
informacin sobre los mismos y seala la sentencia precisa
(campo 0N1O_SEL) que permite deshacerlos.
Flashback Version Query hace posible ver todos los cambios
producidos en una fila de una tabla en un periodo de tiempo
concreto. FVQ permite aadir una clusula VERSIONS a la
sentencia SELECT que indique un rango SCN o temporal en el
que se desea consultar las modificaciones. La sentencia
tambin puede devolver informacin sobre la transaccin
responsable del cambio (VERSIONS_2I1).
ADITO:IA
Administracin Bsica de Oracle 10g.
1*(
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
AUDITORA Y FLASHBACK.
Para ejecutar flashback query es necesario el privilegio
SELECT sobre los objetos, adems bien el privilegio
FLASC3AC4 sobre los objetos, bien FLASC3AC4 ANY TA3LE
(permite ejecutarla sobre cualquier tabla, vista o vista
materializada en cualquier esquema).
Puede recuperarse informacin a travs de distintas
pseudocolumnas :
- VERSIONS_STARTTIME. Fecha de la primera versin de las filas devueltas
por la consulta.
- VERSIONS_STARTSCN. Idem para SCN.
- VERSIONS_ENDTIME. Fecha de la ltima versin de las filas devueltas por
la consulta.
- VERSIONS_ENDSCN. Idem para SCN
- VERSIONS_XID. Transaccin que gener la versin.
- VERSIONS_OPERATION. Operacin que di lugar a la versin (I -insert-, U
-update- o D -delete-).
ADITO:IA
Administracin Bsica de Oracle 10g.
1*)
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
AUDITORA Y FLASHBACK.
Clausula FLASC3AC4"
AS !/ pemite recuperar la version de las filas a un momento
en el tiempo o SCN particular.
VE$S!"S permite recuperar mltiples versiones validades
de las filas entre dos SCN o momentos en el tiempo.
MINVALUE y MAXVALUE se refieren a los datos ms antiguo y
ms reciente respectivamente.
ADITO:IA
Administracin Bsica de Oracle 10g.
1**
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
AUDITORA Y RECUPERACION DE TABLAS.
FLASHBACK TABLE.
Es posible restaurar una tabla a un estado anterior a aquel
donde tuvieron lugar una serie de cambios mediante la
sentencia FLASC3AC4 TA3LE<
Nota: Esta posibilidad ser analizada en relacion a los
mecanismos de copias de seguridad.
ADITO:IA
Administracin Bsica de Oracle 10g.
#00
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
AUDITORA DE GRANO FINO.
Para llevarla a cabo NO es preciso habilitar la auditoria bsica
(audit trail).
Permite monitorizar accesos a datos basndose en su
contenido y auditar sentencias SELECT y DML en tablas y
vistas mediante la creacin de una poltica de auditora al
efecto.
Se usa el paquete 13MS_FGA y sus procedimientos asociados,
generndose apuntes en el audit trail de grano fino
(SYS<FGA_LOG$F accesible a travs de la vista
13A_FGA_A01IT_TRAIL).
Este tipo de auditora permite indicar columnas singulares,
relevantes, que precisan ser auditadas (por ejemplo: dni,
ayudas sociales, datos de salud, ...) -caso de no hacerlo se
aplica a todas las columnas-; as como establecer acciones a
llevar a cabo si se produce el acceso conforme a la poltica de
auditora implementada.
ADITO:IA
Administracin Bsica de Oracle 10g.
#01
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
AUDITORA DE GRANO FINO.
Proporciona las siguientes funcionalidades:
- Usar polticas diferenciadas para INSERT, UPDATE,
DELETE, y SELECT; y poder tener varias de ellas asociadas
a cada tabla.
- Activar la auditoria slo cuando es necesaria (por ejemplo,
con informacin crtica como el salario o datos de salud) y
slo si es referenciada una columna concreta.
ADITO:IA
Administracin Bsica de Oracle 10g.
#0#
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
AUDITORA DE GRANO FINO.
En el ejemplo se auditan las sentencias INSERT, UPDATE, DELETE, y
SELECT en la tabla h#<')p, controlando cualquier acceso a la
columna saa#7 de empleados pertenecientes al departamento
sales:
13MS_FGA<A11_POLICYD
o$I'%t_s%h')a 6: >h#>F
o$I'%t_na)' 6: >')p>F
po,%7_na)' 6: >%h&_h#_')p>F
a*!,t_%on!,t,on 6: >!'pt 6 >>SALES>> >F
a*!,t_%o*)n 6: >saa#7>
stat')'nt_t7p's 6: >,ns'#tF*p!at'F!''t'Fs''%t>;B
Cualquiera de las sentencias siguientes genera un registro:
SELECT %o*ntD]; FROM h#<')p 5CERE !'pt 6 >SALES> an! saa#7 : 10000000B
SELECT saa#7 FROM h#<')p 5CERE !'pt 6 >SALES>B
1ELETE A#o) h#<')p .h'#' saa#7 :1000000B
ADITO:IA
Administracin Bsica de Oracle 10g.
#0$
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
PAQUETE DBMS_FGA.
PROCEDIMIENTO ADD_POLICY.
Procedimiento ADD_POLICY.
Permite crear una poltica de auditora (hasta un mximo de 256
sobre una tabla o vista).
DBMS_FGA.ADD_POLICY(
object_schema VARCHAR2,
object_name VARCHAR2,
policy_name VARCHAR2,
audit_condition VARCHAR2,
audit_column VARCHAR2,
handler_schema VARCHAR2,
handler_module VARCHAR2,
enable BOOLEAN,
statement_types VARCHAR2,
audit_trail BINARY_INTEGER IN DEFAULT,
audit_column_opts BINARY_INTEGER IN DEFAULT);
ADITO:IA
Administracin Bsica de Oracle 10g.
#0%
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
PAQUETE DBMS_FGA.
PROCEDIMIENTO ADD_POLICY.
ADITO:IA
Administracin Bsica de Oracle 10g.
#0&
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
PAQUETE DBMS_FGA.
PROCEDIMIENTO ADD_POLICY.
- Ejemplo.
DBMS_FGA.ADD_POLICY(object_schema => 'scott', object_name=>'emp',
policy_name => 'mypolicy1', audit_condition => 'sal < 100', audit_column
=>'comm, credit_card, expirn_date', handler_schema => NULL,
handler_module => NULL, enable => TRUE, statement_types=> 'INSERT,
UPDATE', audit_trail => DBMS_FGA.DB+DBMS_FGA.EXTENDED,
audit_column_opts => DBMS_FGA.ALL_COLUMNS);
ADITO:IA
Administracin Bsica de Oracle 10g.
#06
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
PAQUETE DBMS_FGA.
PROCEDIMIENTO DISABLE_POLICY.
Procedimiento DISABLE_POLICY.
Deshabilita una poltica de auditora.
DBMS_FGA.DISABLE_POLICY(
object_schema VARCHAR2,
object_name VARCHAR2,
policy_name VARCHAR2 );
ADITO:IA
Administracin Bsica de Oracle 10g.
#0(
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
PAQUETE DBMS_FGA.
PROCEDIMIENTO ENABLE_POLICY.
Procedimiento ENABLE_POLICY.
Habilita una poltica de auditora.
DBMS_FGA.ENABLE_POLICY(
object_schema VARCHAR2,
object_name VARCHAR2,
policy_name VARCHAR2
enable BOOLEAN);
ADITO:IA
Administracin Bsica de Oracle 10g.
#0)
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
PAQUETE DBMS_FGA.
PROCEDIMIENTO DROP_POLICY.
Procedimiento DROP_POLICY.
Borra una poltica de auditora.
DBMS_FGA.DROP_POLICY(
object_schema VARCHAR2,
object_name VARCHAR2,
policy_name VARCHAR2);
ADITO:IA
Administracin Bsica de Oracle 10g.
#0*
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
DESACTIVACIN.
SENTENCIA NOAUDIT.
Para desactivar la auditora de una sentencia es
necesario poseer el privilegio de sistema A01IT
SYSTEM.
Para detener la auditora sobre un objeto, debe
pertenecer al esquema o tener el privilegio A01IT
ANY.
La sintaxis de NOA01IT es igual a la de A01IT (para
cada sentencia de auditora es necesaria una sentencia
NOA01IT que la deshabilite).
ADITO:IA
Administracin Bsica de Oracle 10g.
#10
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
DESACTIVACIN.
SENTENCIA NOAUDIT.
Sintaxis:
NOA01IT 8s'nt'n%,a1F Y s'nt'n%,an:?ALL
3Y 8*s*a#,o1F Y *s*a#,on:
5CENEVER S0CESSF0L?NOT S0CCESSF0LB
NOA01IT 8p#,9_s,st')a1F Y p#,9_s,st')an:
?ALL PRIVILEGES
3Y 8*s*a#,o1F Y *s*a#,on:
5CENEVER S0CESSF0L?NOT S0CCESSF0LB
NOA01IT 8%a*s*a_o$I'to1F Y %a*s*a_o$I'ton:?ALL
ON 8'sN*')a:<o$I'to_a*!,ta!o?1EFA0LT
5CENEVER S0CESSF0L?NOT S0CCESSF0LB
ADITO:IA
Administracin Bsica de Oracle 10g.
#11
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
DESACTIVACIN
DE LA AUDITORA.
Mediante la sentencia NOA01IT slo se desactivan
opciones de auditora bsica. Para deshabilitar la
auditora bsica debe modificarse el parmetro de
inicializacin A01IT_TRAIL.
ADITO:IA
Administracin Bsica de Oracle 10g.
#1#
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
CONTROL DEL AUDIT TRAIL.
Si el audit trail se llena de forma que no pueden
insertarse ms registros, las sentencias auditadas no
pueden ejecutarse correctamente hasta que se vaca, y
se generan errores (por ejemplo, si se est auditando
CREATE SESSION no se podrn conectar usuarios a la
bd).
El tamao mximo de SYS.AUD$ depende de los
parmetros de almacenamiento, default storage, del
espacio SYSTEM. Pueden modificarse los parmetros
para SYS.AUD$.
ADITO:IA
Administracin Bsica de Oracle 10g.
#1$
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
CONTROL DEL AUDIT TRAIL.
La gestin del audit trail, el nico objeto de SYS
directamente modificable, es similar a la de otra tabla;
pueden borrarse registros con la sentencia 1ELETE:
- 1ELETE FROM SYS<A01$B
- 1ELETE FROM SYS<A01$ 5CERE O3G$NAME6
8no)$#'_o$I'to:B
Slo el usuario SYS, un usuario al que se haya concedido el
privilegio 1ELETE sobre SYS<A01$, o un usuario con el
privilegio 1ELETE ANY TA3LE pueden efectuar el borrado.
La informacin del audit trail puede archivarse copindola a
una tabla (INSERT INTO 8ta$a: SELECT <<< FROM SYS<A01$)
o ser exportada.
ADITO:IA
Administracin Bsica de Oracle 10g.
#1%
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
CONTROL DEL AUDIT TRAIL.
Despus del borrado de registros, las extensiones
adquiridas para esta tabla permanecen. Este espacio
puede reducirse:
- Copiar el audit trail a otra tabla o exportarlo
- Conectarse como usuario administrador y truncar
SYS<A01$ (sentencia TR0NCATE).
- Cargar los datos anteriormente salvados que
interese mantener accesibles.
ADITO:IA
Administracin Bsica de Oracle 10g.
#1&
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
PROTECCIN DEL AUDIT TRAIL.
Debe protegerse de borrados no autorizados:
- Otorgar el privilegio 1ELETE ANY TA3LE solo a usuarios
administradores.
- Auditar cualquier cambio que se realice en el audit trail
mediante la sentencia
A01IT SELECTF INSERTF 0P1ATEF 1ELETE ON SYS<A01$ 3Y
ACCESSB
ADITO:IA
Administracin Bsica de Oracle 10g.
#16
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
AUDITORA.
RECOMENDACIONES.
Es necesario seguir una serie de reglas a la hora de
auditar la actividad de la base de datos:
- Limitar el numero de acciones auditadas y el tiempo
durante el que se har. As disminuye el impacto de la
auditora sobre las sentencias supervisadas y se limita el
tamao del audit trail (qu debo o quiero auditar?).
- Evaluar el propsito y planear una estrategia (para qu y
por qu audito?, qu actividad maliciosa he detectado?).
- Si se audita debido a la sospecha de alguna accin
maliciosa; debe comenzarse por auditar acciones de tipo
general para, una vez analizada la informacin, pasar a
auditar acciones mas concretas.
ADITO:IA
Administracin Bsica de Oracle 10g.
#1(
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
AUDITORA.
RECOMENDACIONES.
- Proteger el audit trail, de forma que la infomacion de
auditora no pueda ser aadida, modificada o borrada sin
ser registrada la operacin.
- Controlar de forma estricta quien tiene derecho a auditar.
- En caso de que se desee recoger informacin histrica
sobre determinadas operaciones debe auditarse slo
aquellas acciones que sean pertinentes; y preocuparse de
guardar los registros de auditora de inters y eliminar
peridicamente del audit trail esta informacion.
ADITO:IA
Administracin Bsica de Oracle 10g.
#1)
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
AUDITORA. VISTAS.
A#*T%A&T!"S< 1's%#,p%,on's pa#a os %T!,(os !' t,pos !'
a%%,Tn<
A''%*E/%A#*T%!PTS< Op%,on's po# !'A'%to !' a*!,to#Ua !'
o$I'tos N*' s'#Rn ap,%a!as a %#'a#os<
*+A%A#*T%E5STS< R'(,st#os p#o!*%,!os po# A01IT NOT
E2ISTS<
*+A%A#*T%!+2E&T< R'(,st#os pa#a to!os os o$I'tos 'n '
s,st')a<
*+A%A#*T%SESS!"< R'(,st#os #'at,9os a %on'H,on's 7
!'s%on'H,on's<
*+A%A#*T%STATE(E"T< R'(,st#os pa#a as s'nt'n%,as GRANTF
REVO4EF A01ITF NOA01ITF 7 ALTER SYSTEM<
*+A%A#*T%T$A'< R'(,st#os !' +a*!,t t#a,-<
ADITO:IA
Administracin Bsica de Oracle 10g.
#1*
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
AUDITORA. VISTAS.
*+A%!+2%A#*T%!PTS< Op%,on's !' a*!,to#Ua pa#a to!os os
o$I'tos<
*+A%&!((!"%A#*T%T$A'< In%*7' #'(,st#os !' a*!,to#Ua
$Rs,%a 7 !' (#ano A,noF asU %o)o ' %ont'n,!o !'
V$2ML_A01IT_TRAIL
*+A%/.A%A#*T%T$A'< R'(,st#os !' a*!,to#Ua (#ano A,no<
*+A%A#*T%P!'&ES< PoUt,%as !' a*!,to#Ua !' (#ano A,no 'n '
s,st')a<
*+A%P$V%A#*T%!PTS< P#,9,'(,os !' s,st')a a*!,ta!os<
*+A%ST(T%A#*T%!PTS< Op%,on's !' a*!,to#Ua po# s'nt'n%,a<
/'AS+A&4%T$A"SA&T!"%,#E$-. InAo#)a%,Tn so$#'
t#ansa%%,on's 7 op'#a%,on's #'a,Qa!as<
ADITO:IA
Administracin Bsica de Oracle 10g.
##0
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
AUDITORA. VISTAS.
ST(T%A#*T%!PT!"%(AP< InAo#)a%,Tn %T!,(os !' a*!,to#Ua<
ADITO:IA
Administracin Bsica de Oracle 10g.
##1
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
TEMA 10.
COPIAS DE SE8:IDAD.
COPIAS DE SE8:IDAD
Administracin Bsica de Oracle 10g.
###
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
TEMA 10.
COPIAS DE SEGURIDAD.
MODOS DE OPERACION DE LA BD.
COPIAS DE SEGURIDAD.
COPIA FISICA.
OPTIMAL FLEXIBLE ARCHITECTURE. O.F.A. Y UNIX.
COPIA FISICA. SISTEMAS DE FICHEROS.
COPIA FISICA. TAR (UNIX) Y RECOVERY MANAGER.
RECUPERACION DE TABLAS. FLASHBACK TABLE.
COPIAS DE SE8:IDAD
Administracin Bsica de Oracle 10g.
##$
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
TEMA 10.
COPIAS DE SEGURIDAD.
RECUPERACION DE TABLAS. RECYCLE BIN.
RECUPERACION DE TABLAS. PURGE. FLASHBACK TO
BEFORE DROP.
COPIA LOGICA. DATA PUMP EXPORT/IMPORT.
ARQUITECTURA DATA PUMP.
DATA PUMP. VENTAJAS. EJECUCION. INFORMACION.
FICHEROS.
DATA PUMP EXPORT. PARAMETROS.
COPIAS DE SE8:IDAD
Administracin Bsica de Oracle 10g.
##%
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
TEMA 10.
COPIAS DE SEGURIDAD.
DATA PUMP EXPORT. PARAMETROS. MODO INTERACTIVO.
DATA PUMP IMPORT. PARAMETROS.
DATA PUMP IMPORT. PARAMETROS. MODO INTERACTIVO.
DATA PUMP Y PARAMETROS.
COPIA LOGICA. UTILIDADES EXPORT/IMPORT.
EXPORT/IMPORT vs. DATA PUMP
UTILIDAD EXPORT. EXPORT MODO DIRECTO. CASOS
PRACTICOS.
COPIAS DE SE8:IDAD
Administracin Bsica de Oracle 10g.
##&
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
TEMA 10.
COPIAS DE SEGURIDAD.
UTILIDAD IMPORT. CASOS PRACTICOS.
RENOMBRAR ESP. DE ALMACENAMIENTO.
SQL*LOADER. CARGA DE DATOS. FICHEROS DATOS Y
CONTROL.
SQL*LOADER. EJEMPLOS. EJECUCION.
VISTAS.
APENDICE A. RECURSOS ORACLE.
COPIAS DE SE8:IDAD
Administracin Bsica de Oracle 10g.
##6
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
MODOS DE OPERACION DE LA BD.
Existen dos modos de operacin de la bd:
M+d+ !OA:CCI>E4O8.
- El archivado de los redo log est deshabilitado. Cuando
un grupo de redo pasa a estar inactivo tras un log
switch, est disponible para ser nuevamente usado por el
LGWR.
- Este modo protege a la bd de fallos en la instancia pero no
de fallos en los soportes (media failure). Slo los
cambios recientes en la bd, almacenados en el redo en
lnea pueden recuperarse; si ocurre un fallo en disco, la bd
slo puede recuperarse hasta el momento en que se
realiz la copia ms reciente.
- Para la recuperacin slo pueden emplearse copias
completas y coherentes realizadas con la bd cerrada
consistentemente.
COPIAS DE SE8:IDAD
Administracin Bsica de Oracle 10g.
##(
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
MODOS DE OPERACION DE LA BD.
M+d+ A:CCI>E4O8.
- El archivado de los redo log est habilitado. Un grupo de
redo no puede reutilizarse por LGWR hasta ser archivado
tras el log switch.
- Se garantiza que todas las transacciones validadas pueden
recuperarse en caso de fallo en el sistema o disco. Adems
pueden emplearse copias realizadas con la bd abierta y en
uso normal.
!+ta- durante este tema se asume que la base de datos est en
modo noarchivelog.
COPIAS DE SE8:IDAD
Administracin Bsica de Oracle 10g.
##)
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
COPIAS DE SEGURIDAD.
Pueden distinguirsen dos tipos de copias:
- Copias de seguridad 2'sicas. Se realiza la copia de los
ficheros que constituyen la base de datos. Se distinguen
copias de seguridad en lnea (en caliente) y fuera de lnea
(en frio).
Se pueden hacer manualmente (comando ta# de s.o.) o
mediante la utilidad RMAN (#'%o9'#7 )ana('#) de Oracle.
- Copias de seguridad lgicas. Implican la lectura de un
conjunto de registros de base de datos y su escritura en un
fichero especial.
Se emplean utilidades propias de la base de datos:
'Hpo#t?,)po#t y !ata p*)p 'Hpo#t?,)po#t.
COPIAS DE SE8:IDAD
Administracin Bsica de Oracle 10g.
##*
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
COPIAS DE SEGURIDAD.
Las copias de seguridad lgicas se emplean para:
- Transferir objetos de datos entre bases de datos Oracle
(independientemente de la plataformas en que residan).
- Proporcionar copia de seguridad lgica para objetos de la
base de datos, un espacio de almacenamiento o la base de
datos al completo.
- Migracin entre versiones de base de datos (Peligro!).
Una buena estrategia de copias de seguridad incluir ambos
tipos de copias, fsicas y lgicas, pues son complementarias.
COPIAS DE SE8:IDAD
Administracin Bsica de Oracle 10g.
#$0
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
COPIA <ISICA
COPIAS DE SE8:IDAD
Administracin Bsica de Oracle 10g.
#$1
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
COPIA FISICA.
Realizar una copia fsica implica copiar los sistemas de
ficheros asociados a la base de datos y aquellos donde se ha
instalado la misma.
- La copia de los ficheros de base de datos se realiza de
forma diaria.
- La copia del software de base de datos se realiza con
frecuencia semanal, dado su menor nivel de actualizacin.
Dado que se asume que la base de datos est en modo
noarchivelog, slo es posible realizar copias en frio de la
misma. Por tanto, previamente a la copia fsica se efectuar
una parada de la base de datos, de forma que su contenido
sea ntegro y coherente.
COPIAS DE SE8:IDAD
Administracin Bsica de Oracle 10g.
#$#
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
OPTIMAL FLEXIBLE
ARCHITECTURE (O.F.A.).
Oracle recomienda usar la Opt,)a F'H,$'
A#%h,t'%t*#' (O.F.A.) en las instalaciones de base de
datos.
O.F.A. tiene los siguientes beneficios:
- Organiza grandes cantidades de software y datos en
disco evitando cuellos de botella y bajas productividades.
- Facilita las tareas administrativas rutinarias.
- Gestiona de forma adecuada el crecimiento y
administracin de la base de datos.
COPIAS DE SE8:IDAD
Administracin Bsica de Oracle 10g.
#$$
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
O.F.A. EN ENTORNOS UNIX.
Ficheros de servidor y
libreras bd requeridas.
?#!$)s
Enlaces a donde residen los
ficheros de inicializacin.
?!$s
Ficheros NET<
Co)*n,%a%,on's<
?n't.o#&
Binarios. ?$,n
Por defecto
?*01?app?o#a%'?p#o!*%t?89_$!
:
$ORACLE_COME
Por defecto ?*01?app?o#a%' $ORACLE_3ASE
COPIAS DE SE8:IDAD
Administracin Bsica de Oracle 10g.
#$%
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
O.F.A. EN ENTORNOS UNIX.
Fich.de traza procesos
background.
$!*)p
a#%h
a!ho%
Fich. archivados de
redo log.
Scripts SQL Ad hoc.
Nombre base datos. /<nombre_BD>
a!),n
Por defecto
?*01?app?o#a%'
$ORACLE_3ASE
COPIAS DE SE8:IDAD
Administracin Bsica de Oracle 10g.
#$&
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
O.F.A. EN ENTORNOS UNIX.
init.ora pA,'
Fich. Export bd. 'Hp
*!*)p
%#'at'
%!*)p
Fich. traza usuario.
Progr. creacin bd.
Ficheros core dump.
Nombre base datos. /<nombre_BD>
a!),n
Por defecto
?*01?app?o#a%'
$ORACLE_3ASE
COPIAS DE SE8:IDAD
Administracin Bsica de Oracle 10g.
#$6
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
COPIA FISICA.
SISTEMAS DE FICHEROS.
Los sistemas de ficheros a copiar diariamente son:
- Sistemas de ficheros de administracin de la bd, bajo
$ORACLE_3ASE?a!),n< Incluir la copia del fichero de
parmetros de inicializacin ,n,t<o#a y del fichero de
parmetros spA,' en su caso.
- Sistemas de ficheros asociados a la base de datos.
Aquellos de la forma /*HH?o#a!ata?8no)$#'_$!:B
contendrn los ficheros de datos (.dbf), de control (.ctl) y
de redo log (.log) de la base de datos.
- Sistemas de ficheros asociados a la exportacin de base de
datos (en caso de que se haya optado por realizarla). En
nuestra bd de la forma ?'Hpo#t?8no)$#'_$!:.
- Sistema de ficheros ?'t%<
COPIAS DE SE8:IDAD
Administracin Bsica de Oracle 10g.
#$(
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
COPIA FISICA.
SISTEMAS DE FICHEROS.
Los sistemas de ficheros a copiar semanalmente son:
- Sistemas de ficheros que integran la estructura O.F.A.
Bajo $ORACLE_3ASE D?*01?app?o#a%';<
- Todos los sistemas de ficheros que integran la copia diaria
de la base de datos.
COPIAS DE SE8:IDAD
Administracin Bsica de Oracle 10g.
#$)
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
COPIA FISICA. COMANDO TAR (UNIX).
La copia se realizar tras:
- Haber hecho la exportacin correspondiente de la base de
datos.
- Haber cerrado cualquier comunicacin con la base de datos
(proceso ,st'n'#).
- Cerrar la base de datos (sh*t!o.n).
Se usar la sentencia TAR de sistema operativo: Copia
los sistemas de ficheros indicados a un dispositivo fsico.
El proceso debe ser automatizado y el cese de actividad
de la base de datos afectar lo menos posible al servicio.
COPIAS DE SE8:IDAD
Administracin Bsica de Oracle 10g.
#$*
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
COPIA FISICA. RECOVERY MANAGER.
Es una utilidad que permite realizar copias y recuperaciones
en la bd y automatiza la administracin de las mismas. El
entorno para RMAN incluye:
- Bd a copiar.
- Cliente RMAN. Permite ejecutar sentencias RMAN.
- Flash recovery area (opcional). Localizacin en disco en
que la bd puede almacenar y gestionar ficheros de copia y
recuperacin.
- Media management software (opcional). SW necesario
para que RMAN interacte con dispositivos de copia como
unidades de cinta y otros.
- BD recovery catalog (opcional). Esquema de bd
empleado para registrar la actividad de RMAN en una o
ms bbdd destino.
COPIAS DE SE8:IDAD
Administracin Bsica de Oracle 10g.
#%0
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
<4ASCBACD
COPIAS DE SE8:IDAD
Administracin Bsica de Oracle 10g.
#%1
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
RECUPERACION DE TABLAS.
FLASHBACK TABLE.
Es posible restaurar una tabla a un estado anterior a aquel
donde tuvieron lugar cambios, usando el espacio de undo,
mediante la sentencia FLASC3AC4 TA3LE< Se proporciona as
una forma rpida de recuperar una tabla modificada o
borrada, y se evita recurrir a mtodos complejos.
Caractersticas:
- La operacin se realiza en lnea.
- Se mantienen automticamente todos los atributos de la
tabla (ndices, disparadores, constraints) necesarios.
- Se mantienen las restricciones de integridad.
- No se pierden los datos originales, pudiendo volver al
principio (no puede hacerse un rollback de la sentencia,
pero puede realizarse una nueva recuperacin a un
momento justo anterior al actual -es conveniente anotar
previamente el SCN actual-).
COPIAS DE SE8:IDAD
Administracin Bsica de Oracle 10g.
#%#
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
RECUPERACION DE TABLAS.
FLASHBACK TABLE.
- Durante la recuperacin se adquiere un bloqueo DML que
impide cualquier operacin sobre la tabla. Esta se realiza
en una transaccin nica, independientemente del nmero
de tablas que comprenda la recuperacin.
Requisitos:
- Debe poseerse el privilegio FLASC3AC4 ANY TA3LE o tener
el privilegio FLASC3AC4 sobre la tabla.
- Deben poseerse los privilegios SELECTF INSERTF 1ELETEF y
ALTER en la tabla.
- La informacin de undo debe ser suficiente como para
recuperar hasta el punto indicado en la operacin.
- Debe habilitarse en la tabla la caracterstica row
movement mediante la sentencia:
ALTER TA3LE 8no)$#'_ta$a: ENA3LE RO5 MOVEMENTB
COPIAS DE SE8:IDAD
Administracin Bsica de Oracle 10g.
#%$
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
RECUPERACION DE TABLAS.
FLASHBACK TABLE.
Restricciones:
- Esta operacin no puede realizarse en tablas que forman
parte de un cluster, vistas materializadas, tablas
Advanced Queuing (AQ), tablas estticas de diccionario,
tablas de sistema, tablas remotas, object tablas, tablas
anidadas o particiones individuales de tablas.
- Las operaciones DDL que cambian la estructura de una
tabla no permiten usar esta utilidad (actualizacin,
moving o truncado de la tablas, adicin de constraint,
adicin de una tabla a un cluster, modificacin o borrado
de una columna, adicin, borrado, coalescencia, divisin,
modificacin o truncado de una particin -salvo la adicin
de una particin range-).
COPIAS DE SE8:IDAD
Administracin Bsica de Oracle 10g.
#%%
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
RECUPERACION DE TABLAS.
FLASHBACK DROP.
Al borrar una tabla, la bd no borra inmediatamente el espacio
ocupado por la misma. La bd renombra la tabla y la coloca
junto con sus objetos asociados (constraints, tablas
anidadas y semejantes) en lo que denomina #'%7%' $,n, de
forma que si fue borrada por error es posible recuperarla
usando la sentencia FLASC3AC4 TA3LE (Aash$a%& !#op).
El #'%7%' $,n es una tabla de diccionario con informacin
sobre los objetos borrados y sus asociados, los cuales no se
eliminan hasta indicarlo explicitamente o hasta haber
necesidades de espacio (se eliminan en orden first-in first-
out -FIFO-). Cada usuario, a menos que tenga privilegio
SYS13A, slo puede acceder a sus propios objetos en esta
tabla:
SELECT ] FROM RECYCLE3INB
El espacio libre en un espacio de almacenamiento puede
consultarse en la vista 13A_FREE_SPACE<
COPIAS DE SE8:IDAD
Administracin Bsica de Oracle 10g.
#%&
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
RECUPERACION DE TABLAS.
RECYCLE BIN.
Al borrar un espacio de almacenamiento incluyendo su
contenido, los objetos en el mismo no se almacenan en el
recycle bin y la bd elimina cualquier referencia en el mismo.
Igualmente sucede cuando se borra un usuario, cluster o
type.
Este modo de funcionamiento, habilitado por defecto, puede
habilitarse o deshabilitarse mediante el parmetro de
inicializacin RECYCLE3IN, o, dinmicamente mediante las
sentencias:
ALTER SESSION?SYSTEM SET #'%7%'$,n 6 OFFB
ALTER SESSION?SYSTEM SET #'%7%'$,n 6 ONB
Deshabilitar recycle bin no afecta a los objetos que ya se
hallan en el mismo.
COPIAS DE SE8:IDAD
Administracin Bsica de Oracle 10g.
#%6
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
RECUPERACION DE TABLAS.
RECYCLE BIN.
Tambin se obvia en ciertas ocasiones el recycle bin:
- En la sentencia 1ROP TA3LE <<< P0RGE (ej. SEL: !#op
ta$' ')p p*#('B).
- En la sentencia 1ROP TA3LESPACE <<< INCL01ING
CONTENTS. Cada espacio de almacenamiento tiene su
propio recycle bin por lo que borrar el espacio implica
eliminar este y cualquier objeto en el mismo.
- AL emplear 1ROP 0SER<<<CASCA1E. Se elimina el usuario
y todos sus objetos (incluidos aquellos en el recycle bin.
COPIAS DE SE8:IDAD
Administracin Bsica de Oracle 10g.
#%(
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
RECUPERACION DE TABLAS.
RECYCLE BIN.
A los objetos almacenados en el recycle bin se les asigna un
nombre generado por el sistema de la forma
3IN$*n,N*'_,!$9'#s,on , donde :
- *n,N*'_,! es un identificador nico para el objeto compuesto por
26 caracteres, y
- 9'#s,on es un nmero de version asignado a la bd.
Es posible obtener informacin mediante las vistas:
- 0SER_RECYCLE3IN. Permite a un usuario ver los objetos de su
propiedad que han sido borrados, tiene un s,nTn,)o"
RECYCLE3IN.
- 13A_RECYCLE3IN. Da informacin a los administradores sobre
todos los objetos borrados.
O mediante la sentencia SQL*Plus SCO5 RECYCLE3IN.
COPIAS DE SE8:IDAD
Administracin Bsica de Oracle 10g.
#%)
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
RECUPERACION DE TABLAS.
PURGE. FLASHBACK TO BEFORE DROP.
Mediante la sentencia P0RGE puede borrarse explicitamente el
contenido del recycle bin y liberar el espacio asociado (son
necesarios los mismos privilegios requeridos para borrar el
elemento):
P0RGE TA3LE?IN1E2 8no)$#':B
P0RGE TA3LESPACE 8no)$#'_t$sp: 0SER 8no)$#'_*s*a#,o:B
!+ta- Se eliminan todos los objetos de nombre_usuario para el
esp.almacenamiento nombre_tbsp.
P0RGE RECYCLE3IN?13A_RECYCLE3INB
La sentencia FLASC3AC4 TA3LE <<< TO 3EFORE 1ROP permite
recuperar objetos del recycle bin:
FLASC3AC4 TA3LE 8no)$#'_ta$a: TO 3EFORE 1ROP
RENAME TO 8no)$#'_ta$a:B
COPIAS DE SE8:IDAD
Administracin Bsica de Oracle 10g.
#%*
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
COPIA 4O8ICA- DATAPMP
COPIAS DE SE8:IDAD
Administracin Bsica de Oracle 10g.
#&0
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
COPIA LGICA.
DATA PUMP EXPORT/IMPORT.
Son utilidades integradas en la bd que permiten cargas y
descargas de informacin a gran velocidad. Todo el proceso de
exportacin/importacin se lleva a cabo en el servidor.
No son compatibles con el export/import originales.
Consta de los siguientes componentes:
- Clientes 'Hp!p ' ,)p!p. Usan los procedimientos
proporcionados por el paquete DBMS_DATAPUMP.
- Paquete 13MS_1ATAP0MP. Conocido como Data Pump API,
permite crear y monitorizar los trabajos implicados.
- Paquete 13MS_META1ATA. Conocido como Metadata API,
proporciona la definicin de los objetos de la bd a Data Pump.
COPIAS DE SE8:IDAD
Administracin Bsica de Oracle 10g.
#&1
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
ARQUITECTURA DATA PUMP.
COPIAS DE SE8:IDAD
Administracin Bsica de Oracle 10g.
#&#
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
DATA PUMP. VENTAJAS.
Algunas de las ventajas de Data Pump son:
- La forma de acceso a los datos se decide automticamente
(habitualmente direct path, external cuando no es posible).
- La exportacin puede realizarse en paralelo y puede escribirse a
mltiples ficheros en diferentes discos (opciones PARALLEL y
10MPFILE).
- Puede reiniciarse un trabajo fallido donde se interrumpi.
- Permite filtrar metadatos con mltiples combinaciones (opciones
INCL01E y E2CL01E).
- Pueden filtrarse filas de datos durante la importacin.
- Permite estimar el espacio en disco necesario antes de realizar el
trabajo (opcin ESTIMATE_ONLY).
- Pueden hacerse exportaciones e importaciones remotas usando
database link.
COPIAS DE SE8:IDAD
Administracin Bsica de Oracle 10g.
#&$
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
DATA PUMP. VENTAJAS.
- Los trabajos pueden asignar recursos dinmicamente segn la carga de
trabajo.
- Puede indicarse explcitamente la versin de bd, de forma que slo los
objetos soportados se exportan.
- Durante la importacin, puede cambiarse los nombres de fichero,
esquemas y espacios de almacenamiento destino.
COPIAS DE SE8:IDAD
Administracin Bsica de Oracle 10g.
#&%
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
DATA PUMP. EJECUCIN.
En cada exportacin o importacin se crea un proceso maestro que
controla la misma, incluyendo la comunicacin con los clientes, la
creacin y control del conjunto de procesos de trabajo necesarios y
la realizacin de las operaciones de conexin.
En la transferencia de datos y metadatos, se emplea un tabla
maestro, que se crea en el esquema del usuario que realiza la
exportacin/importacin y tiene el nombre del trabajo -job- que
realiza la operacin, para realizar el seguimiento del proceso:
- Durante la exportacin la tabla registra la localizacin de los objetos en
el conjunto de ficheros de descarga (!*)p A,' s't). Al finalizar, el
contenido de la tabla se escribe a fichero.
- Durante la importacin la tabla maestro se carga desde el conjunto de
ficheros de descarga y se emplea para controlar la secuencia de
localizacin de los ficheros a importar.
COPIAS DE SE8:IDAD
Administracin Bsica de Oracle 10g.
#&&
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
DATA PUMP. EJECUCIN.
Esta tabla maestro tambin se emplea para reiniciar un trabajo.
El destino final de la tabla maestro es diverso:
- Si el trabajo finaliza correctamente, la tabla se borra.
- Si el trabajo se para, usando la sentencia STOP_GO3, se retiene para
poder reiniciarlo.
- Si el trabajo se elimina, usando la sentencia 4ILL_GO3, la tabla se
elimina y el trabajo no puede reiniciar.
- Si un trabajo termina inesperadamente, se mantiene la tabla. Puede
borrarse si no hay intencin de reiniciar el trabajo.
El progreso de un trabajo y los errores producidos pueden
registrarse en un fichero de log. El estado del mismo, en tiempo
real, puede obtenerse usando la sentencia STAT0S en modo
interactivo de Data Pump.
COPIAS DE SE8:IDAD
Administracin Bsica de Oracle 10g.
#&6
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
DATA PUMP. INFORMACIN.
Puede obtenerse informacin en las siguientes vistas:
- 13A_1ATAP0MP_GO3S y 0SER_1ATAP0MP_GO3S. Identifican trabajos
Data Pump activos.
- 13A_1ATAP0MP_SESSIONS. Identifica sesiones de usuario asociadas a
un trabajo.
- V$SESSION_LONGOPS. Informacin sobre el progreso del trabajo.
COPIAS DE SE8:IDAD
Administracin Bsica de Oracle 10g.
#&(
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
DATA PUMP. FICHEROS.
Existen tres tipos de ficheros gestionados por Data Pump:
- Ficheros de volcado (dump). Contienen datos y metadatos.
Durante una exportacin pueden indicarse al definir el trabajo as
como posteriormente (por ejemplo, pueden aadirse ficheros de
volcado con A11_FILE).
Durante un importacin, todos los ficheros de volcado deben
especificarse al definir el trabajo.
- Ficheros log. Contienen mensajes sobre la operacin realizada.
- Ficheros SQL. Registran la salida de una operacin SELFILE (parmetro
SELFILE) consistente en el volcado de todas las sentencias DDL que se
hubieran ejecutado durante una importacin a un fichero.
!+ta- Los ficheros de log y SQL pueden sobreescribirse si ya
existen. Nunca se sobreescriben ficheros de volcado si ya existen, se
genera un error.
COPIAS DE SE8:IDAD
Administracin Bsica de Oracle 10g.
#&)
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
DATA PUMP.
LOCALIZACION DE FICHEROS.
Es necesario crear objetos tipo directorio (asocia un nombre a un
directorio o sistema de ficheros) por un usuario administrador o
con el privilegio CREATE ANY 1IRECTORY. Al exportar/importar se
indica mediante el parmetro 1IRECTORY.
SEL: CREATE 1IRECTORY 1P0MP_VOLCA1O AS >?!atap*)p?A,%h'#os>B
Por defecto se asigna el valor para 1ATA_P0MP_1IR"
SEL: CREATE 1IRECTORY 1ATA_P0MP_1IR AS >?!atap*)p?A,%h'#os>B
Tras la creacin de un directorio, su creador debe conceder el
permiso de lectura (READ) o escritura (WRITE) a otros usuarios.
SEL: GRANT REA1F 5RITE ON 1IRECTORY 8!,#'%to#,o: TO 8*s*a#,o:B
!+ta- Implica tener acceso a travs de bd pero no el poder acceder a
travs de s.o.
COPIAS DE SE8:IDAD
Administracin Bsica de Oracle 10g.
#&*
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
DATA PUMP.
LOCALIZACION DE FICHEROS.
El orden de precedencia usado para determinar la localizacin es:
1.- Objeto directorio formando parte de la especificacin de un
nombre de fichero (10MPFILE68o%a,Qa%,Tn:"8A,%h'#o:<!)p).
2.- Objeto directorio indicado en el parmetro 1IRECTORY.
3.- Valor de la variable de entorno 1ATA_P0MP_1IR (definida en
el entorno del cliente):
SEL: CREATE 1IRECTORY 10MP_FICCERO AS
>?1ATAP0MP?FICCEROS>B
a E2PORT 1ATA_P0MP_1IR68VARIA3LE_FICCERO_VOLCA1O:
4.- Si es un usuario privilegiado se emplea el valor por defecto en
bd del directorio 1ATA_P0MP_1IR (que debe estar previamente
creado). No confundir con la variable de entorno.
COPIAS DE SE8:IDAD
Administracin Bsica de Oracle 10g.
#60
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
DATA PUMP EXPORT.
Se emplea la utilidad 'Hp!p, indicando las caractersticas de la
exportacin en la lnea de comandos o mediante un fichero de
parmetros. Los ficheros resultantes de una exportacin slo
pueden importarse con D.P. Import.
Cualquier usuario puede exportar objetos de su propiedad o su
esquema al completo.
Los usuarios no privilegiados deben tener permiso 5RITE en el
objeto directorio y deben indicar ste en el parmetro DIRECTORY
o junto al nombre de fichero de volcado.
Modo ayuda en lnea: 'Hp!p CELP67
Modo interactivo: 'Hp!p !,#'%to#768o%a,Qa%,Tn:
Modo fichero de parmetros: 'Hp!p PARFILE68A,%h'#o_pa#a)'t#os:
!+ta- Si no se indica ningn otro parmetro se usan los valores por defecto en la
exportacin: 'Hp!at<!)p y 'Hpo#t<o( -ficheros-, exportacin a nivel de esquema,
SYS_E2PORT_SCCEMA_01 -trabajo- y se exportan datos y metadatos.
COPIAS DE SE8:IDAD
Administracin Bsica de Oracle 10g.
#61
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
DATA PUMP EXPORT.
Existen cinco modos de trabajar con datapump export:
- Full export (parmetro F0LL). Se exporta toda la bd. Es
necesario el rol E2P_F0LL_1ATA3ASE<
- +Esquema de usuario- (parmetro SCCEMAS)< Si no se posee rol
E2P_F0LL_1ATA3ASE slo es posible exportar el esquema propio.
- Tabla (parmetro TA3LES;. Para exportar tablas no
pertenecientes al propio esquema es necesario el rol
E2P_F0LL_1ATA3ASE<
- Tablespace (parmetro TA3LESPACES). Debe tenerse el rol
E2P_F0LL_1ATA3ASE<
- Transport Tablespace (parmetro TRANSPORT_TA3LESPACES).
Permite exportar metadatos para tablas y objetos dependientes
pertenecientes a un conjunto de espacios de almacenamiento. Es
necesario el rol E2P_F0LL_1ATA3ASE.
COPIAS DE SE8:IDAD
Administracin Bsica de Oracle 10g.
#6#
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
DATA PUMP EXPORT.
PARMETROS.
CONTENT 68A'' J 1ATA_ONLY J META1ATA_ONLY:
Indica contenido a exportar: datos, metadatos o ambos.
1IRECTORY 68*ATA%P#(P%*$:
Localizacin para los ficheros de volcado y registro.
10MPFILE 6 8!,#'%to#,o_o$I'to":no)$#'_A,%h'#o
Fichero de volcado. Por defecto 'Hp!at<!)p
ESTIMATE 6 8+'!&4S J STATISTICS:
Mtodo de estimacin de espacio en disco necesario para cada tabla.
ESTIMATE_ONLY 68" J Y:
Permite estimar el espacio consumido en una exportacin sin realizarla.
COPIAS DE SE8:IDAD
Administracin Bsica de Oracle 10g.
#6$
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
DATA PUMP EXPORT.
PARMETROS.
E2CL01E 6 t,po_o$I'to 8"%R*s*a:
Filtrar metadatos exportados indicando objetos y tipos excluidos. Por
defecto ninguno. Es excluyente con el parmetro INCLUDE.
FILESIZE
Tamao mximo para ficheros de exportacin (por defecto ilimitado).
F0LL 6 8" J Y:
Realizar una exportacin de la bd al completo. En una exportacion
completa no se incluyen los esquemas SYS, ORDSYS, EXFSYS,
MDSYS, DMSYS, CTXSYS, ORDPLUGINS, LBACSYS, XDB,
SI_INFORMTN_SCHEMA, DIP, DBSNMP, y WMSYS. Nunca se
exportan tampoco los permisos sobre objetos de SYS.
COPIAS DE SE8:IDAD
Administracin Bsica de Oracle 10g.
#6%
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
DATA PUMP EXPORT.
PARMETROS.
INCL01E 6 t,po_o$I'to 8"%R*s*a:
F,t#a# )'ta!atos 'Hpo#ta!os ,n!,%an!o o$I'tos 7 t,pos ,n%*,!os
D%ons*ta# as 9,stas 1ATA3ASE_E2PORT_O3GECTSF
SCCEMA_E2PORT_O3GECTS y TA3LE_E2PORT_O3GECTS;<
GO3_NAME
Especificar un nombre para el trabajo, job, de exportacin; coincide
tambien con la tabla maestro usada para controlar la exportacin.
Por defecto de las forma s7s_'Hpo#t_8)o!o:_HH
LOGFILE 6 8!,#'%to#,o_o$I'to":no)$#'_A,%h'#o
Fichero de registro, por defecto 'Hpo#t<o(
NOLOGFILE 6 8Y J ":
No crear fichero de registro.
COPIAS DE SE8:IDAD
Administracin Bsica de Oracle 10g.
#6&
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
DATA PUMP EXPORT.
PARMETROS.
PARALELL 6 n
Grado de paralelismo en la ejecucin (por defecto 1). Su nmero debe
ser igual al nmero de ficheros de volcado indicados.
E0ERY 68no)$#'_'sN*')a<:8no)$#'_ta$a: J 8%R*s*a:
Permite seleccionar filas a exportar segn condiciones a cumplir. No
compatible con CONTENT6META1ATA_ONLYF ESTIMATE_ONLY o
TRANSPORT_TA3LESPACES.
SCCEMAS 68,sta !' 'sN*')as:
Permite indicar que se realizar una exportacin de esquemas, es el
modo por defecto. Por defecto referencia el esquema de usuario.
STAT0S 6 nn
Frecuencia con que muestra el estado del trabajo junto a una
descripcin de la operacin actual (por defecto es cero y no muestra
informacin hasta acabar la exportacin de cada objeto).
COPIAS DE SE8:IDAD
Administracin Bsica de Oracle 10g.
#66
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
DATA PUMP EXPORT.
PARMETROS.
TA3LES 6 8no)$#'_'sN*')a<:8no)$#'_ta$a:F <<<
Indica exportacin en modo tabla (del propio esquema, por defecto).
TA3LESPACES 6 8no)$#'_'spa%,oa)a%:F <<<
Indica tbsp. a exportar en modo tablespace.
TRANSPORT_F0LL_CCEC4 68" 6 Y:
Chequear o no las dependencias entre los objetos residentes los
espacios de almacenamiento a transportar y aquellos situados
fuera del conjunto (slo en modo transport tablespace).
TRANSPORT_TA3LESPACES 6 8no)$#'_'spa%,oa)a%:F <<<
Realizar una exportacin en modo transport tablespace y espacios de
almacenamiento a los que se aplica. Este modo tiene un grado de
paralelismo igual a 1 y requiere disponer del rol
E2P_F0LL_1ATA3ASE, sus trabajos no se pueden reiniciar.
COPIAS DE SE8:IDAD
Administracin Bsica de Oracle 10g.
#6(
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
DATA PUMP EXPORT.
MODO INTERACTIVO.
Tras iniciar un trabajo, puesto que se ejecuta en el servidor, es
posible interrumpir la sesin cliente y asociarse al trabajo
posteriormente. Tambin es posible modificar ciertos parmetros
de forma interactiva.
Para pasar a modo interactivo puede interrumpirse la conexin
actual con Ct#bC y asociar posteriormente una sesin cliente
(ATTACC):
?ho)'?<<<: 'Hp!p atta%h68no)$#'_t#a$aIo:
Los parmetros que pueden usarse en modo interactivo son:
- A11_FILE 6 8!,#'%to#,o":8no)$#'_A,%h'#o:F <<<
Permite aadir ficheros de volcado.
COPIAS DE SE8:IDAD
Administracin Bsica de Oracle 10g.
#6)
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
DATA PUMP EXPORT.
MODO INTERACTIVO.
- CONTIN0E_CLIENT< Salir de modo interactivo y entrar en modo
registro.
- E2IT_CLIENT< Salir de sesin cliente. El trabajo contina
ejecutndose en el servidor.
- CELP< Ayuda en lnea.
- 4ILL_GO3< Cancelar trabajo actual y desasociar las sesiones cliente
relacionadas.
- PARALLEL< Indicar grado paralelismo o nmero de trabajos.
- START_GO3< Reiniciar el trabajo asociado.
- STAT0S< Mostrar informe del estado del trabajo asociado.
- STOP_GO3 ZINME1IATE[< Detener el trabajo asociado, puede
reiniciarse ms tarde. Con inmediate los procesos acaban al
instante, las tareas incompletas se volvern a realizar al reiniciarlo.
COPIAS DE SE8:IDAD
Administracin Bsica de Oracle 10g.
#6*
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
DATA PUMP IMPORT.
Se emplea la utilidad ,)p!p, indicando las caractersticas de la
importacin en la lnea de comandos o mediante un fichero de
parmetros. Slo pueden usarse en la importacin ficheros creados
con D.P. Export.
Los usuarios deben tener permiso REA1 en el objeto directorio
dond resida el fichero de volcado y de escritura donde se cree el
fichero de registro (log) y los SQL.
Modo ayuda en lnea: ,)p!p CELP67
Modo interactivo: ,)p!p !,#'%to#768o%a,Qa%,Tn:
Modo fichero de parmetros: ,)p!p PARFILE68A,%h'#o_pa#a)'t#os:
!+ta- Si no se indica ningn otro parmetro se usan los valores por defecto en la
exportacin: 'Hp!at<!)p e ,)po#t<o( -ficheros-, importacin total del fichero y trabajo
SYS_IMPORT_HH_01.
COPIAS DE SE8:IDAD
Administracin Bsica de Oracle 10g.
#(0
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
DATA PUMP IMPORT.
Existen cinco modos de trabajar con datapump import:
- Full import (parmetro F0LL). Se importa el fichero de volcado al
completo (modo por defecto). Necesario el rol IMP_F0LL_1ATA3ASE
si se hizo la exportacin con E2P_F0LL_1ATA3ASE<
- +Esquema de usuario- (parmetro SCCEMAS)< Slo se cargan
objetos propiedad del usuario actual. Si se posee rol
IMP_F0LL_1ATA3ASE pueden cargarse esquemas diferentes al
propio.
- Tabla (parmetro TA3LES;. Para importar tablas no pertenecientes
al propio esquema es necesario el rol IMP_F0LL_1ATA3ASE<
- Tablespace (parmetro TA3LESPACES).
- Transport Tablespace (parmetro TRANSPORT_TA3LESPACES).
Permite importar metadatos para un conjunto de espacios de
almacenamiento. Es necesario el rol IMP_F0LL_1ATA3ASE.
COPIAS DE SE8:IDAD
Administracin Bsica de Oracle 10g.
#(1
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
DATA PUMP IMPORT.
PARMETROS.
CONTENT 68A'' J 1ATA_ONLY J META1ATA_ONLY:
Indica contenido a importar: datos -filas, no se crean objetos-,
metadatos -definiciones- o ambos.
1IRECTORY 68*ATA%P#(P%*$:
Por defecto 1ATA_P0MP_1IR para usuarios privilegiados, ninguno para
el resto. Localizacin para los ficheros de volcado y registro.
10MPFILE 6 8!,#'%to#,o_o$I'to":no)$#'_A,%h'#o
Fichero de volcado. Por defecto 'Hp!at<!)p
ESTIMATE 6 8+'!&4S J STATISTICS:
Mtodo de estimacin de espacio en disco necesario para cada tabla
(slo vlido si se indica tambin NETWORK_LINK).
COPIAS DE SE8:IDAD
Administracin Bsica de Oracle 10g.
#(#
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
DATA PUMP IMPORT.
PARMETROS.
E2CL01E 6 t,po_o$I'to 8"%R*s*a:
Filtrar metadatos importados indicando objetos y tipos excluidos. Por
defecto ninguno. Es excluyente con el parmetro INCLUDE. No
puede usarse junto con CONTENT61ATA_ONLY<
F0LL 6 8N J -:
Realizar una exportacin de la bd al completo, todo el fichero fuente se
importa. Si la operacin de exportacin que dio lugar al fichero se
hizo usando el rol E2P_F0LL_1ATA3ASE, es necesario el rol
IMP_F0LL_1ATA3ASE.
INCL01E 6 t,po_o$I'to 8"%R*s*a:
Filtrar metadatos importados indicando objetos y tipos incluidos
(consultar las vistas 1ATA3ASE_E2PORT_O3GECTSF
SCCEMA_E2PORT_O3GECTS 7 TA3LE_E2PORT_O3GECTS). No puede
usarse junto con CONTENT61ATA_ONLY<
COPIAS DE SE8:IDAD
Administracin Bsica de Oracle 10g.
#($
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
DATA PUMP IMPORT.
PARMETROS.
GO3_NAME
Especificar un nombre para el trabajo, job, de importacin; coincide
tambien con la tabla maestro usada para controlar la importacin.
Por defecto de las forma s7s_,)po#t_8)o!o:_HH
LOGFILE 6 8!,#'%to#,o_o$I'to":no)$#'_A,%h'#o
Fichero de registro, por defecto ,)po#t<o(<
NOLOGFILE 6 8Y J ":
No crear fichero de registro.
PARALELL 6 n
Grado de paralelismo en la ejecucin (por defecto 1).
COPIAS DE SE8:IDAD
Administracin Bsica de Oracle 10g.
#(%
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
DATA PUMP IMPORT.
PARMETROS.
E0ERY 68no)$#'_'sN*')a<:8no)$#'_ta$a": 8%R*s*a:
Permite seleccionar filas a importar segn condiciones a cumplir. No
compatible con CONTENT6META1ATA_ONLYF SELFILE o
TRANSPORT_TA3LESPACES.
REMAP_1ATAFILE6A,%h'#o_A*'nt' " A,%h'#o_!'st,no
Cambia el nombre de fichero_fuente por el de fichero_destino en las
sentencias SQL donde se referencie la fuente (CREATE TA3LESPACEF
CREATE LI3RARY y CREATE 1IRECTORY). Debe tenerse el rol
IMP_F0LL_1ATA3ASE.
REMAP_SCCEMA6'sN*')a_A*'nt' " 'sN*')a_!'st,no
Carga objetos del esquema fuente al esquema destino. Debe tenerse el
rol IMP_F0LL_1ATA3ASE. Si el esquema destino no existe, se crea si
el fichero de volcado contiene la informacin necesaria (CREATE
0SER) y se importa con suficientes privilegios (en caso contrario
debe crearse previamente).
COPIAS DE SE8:IDAD
Administracin Bsica de Oracle 10g.
#(&
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
DATA PUMP IMPORT.
PARMETROS.
REMAP_TA3LESPACE6t$sp_A*'nt' " t$sp_!'st,no
Carga todos los objetos, incluso el usuario, del esquema fuente en el
esquema destino.
RE0SE_1ATAFILES68Y J ":
Indica si la operacin de importacin debe reutilizar los ficheros de
datos existentes o no en la creacin de espacios de almacenamiento.
S4IP_0N0SA3LE_IN1E2ES68Y J ":
Permite indicar que no se carguen tablas que tengan ndices en estado
no disponible.
SELFILE68!,#'%to#,o_o$I'to":no)$#'_A,%h'#o
Define un fichero en el que descargar todas las sentencias SQL tipo DDL
que se hubieran ejecutado al importar (no son ejecutadas). Si se
generan contraseas en el fichero, aparecen comentadas.
COPIAS DE SE8:IDAD
Administracin Bsica de Oracle 10g.
#(6
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
DATA PUMP IMPORT.
PARMETROS.
SCCEMAS 68,sta !' 'sN*')as:
Permite indicar que se realizar una importacin de esquemas. Por
defecto referencia el esquema de usuario, para otros es necesario el
rol IMP_F0LL_1ATA3ASE.
STAT0S 6 nn
Frecuencia con que muestra el estado del trabajo junto a una
descripcin de la operacin actual y el porcentaje que falta para
acabar el trabajo (por defecto es cero).
TA3LE_E2ISTS_ACTION 6 8S4P J APPEN1 JTR0NCATE JREPLACE:
Indica qu hacer si la tabla a importar ya existe. Si se indica
CONTENT61ATA_ONLY la opcin por defecto es APPEN1):
S4IP< Deja la tabla tal como est e importa siguiente objeto.
APPEN1. Carga filas, el contenido anterior no se modifica.
TR0NCATE. Borra las filas existentes antes de cargar.
REPLACE. Borra la tabla y la carga al completo.
COPIAS DE SE8:IDAD
Administracin Bsica de Oracle 10g.
#((
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
DATA PUMP IMPORT.
PARMETROS.
TA3LES 6 8no)$#'_'sN*')a<:8no)$#'_ta$a:8"pa#t,%,Tn:F <<<
Indica exportacin en modo tabla (por defecto del propio esquema; para
tablas de otro esquema debe tenerse el rol IMP_F0LL_1ATA3ASE).
TA3LESPACES 6 8no)$#'_'spa%,oa)a%:F <<<
Indica tbsp. a exportar en modo tablespace.
TRANSFORM68SEGMENT_ATTRI30TESJSTORAGE:"8NJ-:8"TA3LEJ"IN1E2:
Permite modificar parmetros en la sentencia de creacin DDL a
importar:
- SEGMENT_ATTRI30TES. Atributos fsicos, storage,
tablespaces, logging.
- STORAGE< Clusula storage.
Por defecto se aplica a todos los tipos de objetos.
COPIAS DE SE8:IDAD
Administracin Bsica de Oracle 10g.
#()
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
DATA PUMP IMPORT.
PARMETROS.
TRANSPORT_1ATAFILES
Conjunto de ficheros a importar en el destino en modo transport
tablespace.
TRANSPORT_TA3LESPACES 6 8no)$#'_'spa%,oa)a%:F <<<
Realizar una importacin en modo transport tablespace y espacios de
almacenamiento a los que se aplica.
COPIAS DE SE8:IDAD
Administracin Bsica de Oracle 10g.
#(*
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
DATA PUMP IMPORT.
MODO INTERACTIVO.
Al igual que con data pump export, tras iniciar un trabajo, ya
que es ejecutado en el servidor, es posible interrumpir la sesin
cliente y asociarse al trabajo posteriormente. Tambin es posible
modificar ciertos parmetros de forma interactiva.
Para pasar a modo interactivo puede interrumpirse la conexin
actual con Ct#bC y asociar posteriormente una sesin cliente
(ATTACC):
?ho)'?<<<: ,)p!p atta%h68no)$#'_t#a$aIo:
Los parmetros que pueden usarse en modo interactivo son:
- CONTIN0E_CLIENT< Salir de modo interactivo y entrar en modo
registro.
- E2IT_CLIENT< Salir de sesin cliente. El trabajo contina
ejecutndose en el servidor.
COPIAS DE SE8:IDAD
Administracin Bsica de Oracle 10g.
#)0
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
DATA PUMP IMPORT.
MODO INTERACTIVO.
- CELP< Ayuda en lnea.
- 4ILL_GO3< Cancelar trabajo actual y desasociar las sesiones cliente
relacionadas.
- PARALLEL< Indicar grado paralelismo o nmero de trabajos.
- START_GO3< Reiniciar el trabajo asociado.
- STAT0S< Mostrar informe del estado del trabajo asociado.
- STOP_GO3 ZINME1IATE[< Detener el trabajo asociado, puede
reiniciarse ms tarde. Con inmediate los procesos acaban al
instante, las tareas incompletas se volvern a realizar al reiniciarlo.
COPIAS DE SE8:IDAD
Administracin Bsica de Oracle 10g.
#)1
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
DATA PUMP Y PARAMETROS.
Ciertos parmetros de inicializacin pueden afectar al
rendimiento de data pump. Puede probarse a usar las
siguientes asignaciones:
- 1IS4_ASYNCC_IO 6 TR0E
- 13_3LOC4_CCEC4ING 6 FALSE
- 13_3LOC4_CCEC4S0M 6 FALSE
Adems los parmetros siguientes deben tener valores lo
suficientemente altos como para permitir el mximo grado de
paralelismo:
- PROCESSES
- SESSIONS
- PARALLEL_MA2_SERVERS
-
COPIAS DE SE8:IDAD
Administracin Bsica de Oracle 10g.
#)#
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
COPIA 4O8ICA- EEPO:TFIMPO:T
COPIAS DE SE8:IDAD
Administracin Bsica de Oracle 10g.
#)$
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
COPIA LGICA.
UTILIDADES EXPORT/IMPORT.
Generalmente se recomienda emplear Data Pump
export/import y no usar las utilidades originales
export/import; sin embargo estas son necesarias en los
siguientes casos:
- Al importar ficheros creados con la utilidad export. Por
ejemplo, aquellos procedentes de bases de datos con
versiones anteriores a la 10g.
- Si se desea exportar ficheros que sern importados con la
utilidad import. Por ejempo, si se van a transferir datos a
bases con una versin anterior a la 10g.
COPIAS DE SE8:IDAD
Administracin Bsica de Oracle 10g.
#)%
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
EXPORT/IMPORT vs. DATA PUMP
Data Pump trabaja con un grupo de ficheros de volcado (dump
file set), no con uno nico.
D.P. basa su funcionamiento en el servidor no en el cliente.
D.P. emplea ejecucin paralela.
D.P. almacena los metadatos como documentos XML no como
sentencias DDL.
D.P. se ajusta automticamente (no son necesarios parmetros
empleados en export/import originales como 30FFER y
RECOR1LENGTC).
Usando D.P. no es posible realizar commit intermedio durante
una importacin (s con import original -parmetro COMMIT-).
Con D.P. no es posible comprimir extensiones al recrear tablas (s
con import original -parmetro COMPRESS-;.
Al importar con D.P. en una tabla que ya existe, si una fila viola
una restriccin se interrumpe la operacin y no se carga ningn
dato. Con import original se registra el error y prosigue la carga.
COPIAS DE SE8:IDAD
Administracin Bsica de Oracle 10g.
#)&
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
UTILIDAD EXPORT.
Para usar la utilidad debe tenerse el privilegio CREATE
SESSION.
Para exportar objetos pertenecientes a otro esquema de
usuario debe tenerse asignado el rol E2P_F0LL_1ATA3ASE<
Como resultado se obtiene un fichero <!)p (fichero de
exportacin) y, opcionalmente, un fichero <o( con el informe
de incidencias.
Es conveniente que todos los ficheros generados para usar en
la exportacin o como resultado de ella estn en un sistema
de ficheros independiente (p.ej. ?'Hpo#t?8no)$#'_$!:).
COPIAS DE SE8:IDAD
Administracin Bsica de Oracle 10g.
#)6
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
UTILIDAD EXPORT.
Existen cuatro modos de realizar export:
- Tabla. Cualquier usuario puede exportar tablas indicadas
del esquema de usuario.
- Usuario. Cualquier usuario puede exportar todos los
objetos del esquema.
- Tablespace. Permite mover tablespaces entre bases de
datos. Slo posible con el rol E2P_F0LL_1ATA3ASE<
- Full database. Exporta todos los objetos de la BD (no se
exportan disparadores pertenecientes al esquema SYS).
Slo posible con el rol E2P_F0LL_1ATA3ASE.
COPIAS DE SE8:IDAD
Administracin Bsica de Oracle 10g.
#)(
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
UTILIDAD EXPORT.
Aunque puede ejecutarse la utilidad e ir indicando en el
prompt diferentes opciones, se recomienda usar un fichero
de parmetros.
Sintaxis:
'Hp CELP6Y P#opo#%,ona a7*!a 'n Un'a<
'Hp Mo!o ,nt'#a%t,9o Ds,n )o!o !,#'%to;<
'Hp PARFILE68A,%h'#o_pa#a)'t#os:
COPIAS DE SE8:IDAD
Administracin Bsica de Oracle 10g.
#))
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
UTILIDAD EXPORT.
Exportacin de la base de datos completa o no. FULL (Y/!)
Nombre del fichero de export, por defecto
'Hp!at<!)p.
FILE
Modo directo o no -convencional- de exportacin. DIRECT (Y/!)
Exportar o no las restricciones sobre tablas.
CONSTRAINTS
(;/N)
Asegura la consistencia de los datos exportados
cuando pueden estar siendo actualizados (p.ej. con
la bd abierta). Incompatible con copias
incrementales.
CONSISTENT
(Y/!)
Incluir todos los datos en una extensin (no para
LOB).
COMPRESS (;/N)
Tamao bufer de datos (bytes). No tiene efecto al
usar direct path.
BUFFER
Descripcin Parmetro
COPIAS DE SE8:IDAD
Administracin Bsica de Oracle 10g.
#)*
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
UTILIDAD EXPORT.
Lista de tablespaces a exportar. TABLESPACES
Permite exportacin de tablespaces.
TRANSPORT_TABLESPACE
(Y/!)
Relacin de tablas a exportar (modo tabla). TABLES
Exportar o no los datos de las tablas. ROWS (;/N)
Indica los usuarios de los que se realizara la
copia.
OWNER
Indica fichero donde se guardarn los
mensajes.
LOG
Exportar o no ndices. INDEXES (;/N)
Exportar o no privilegios sobre objetos. GRANTS (;/N)
Descripcin Parmetro
COPIAS DE SE8:IDAD
Administracin Bsica de Oracle 10g.
#*0
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
UTILIDAD EXPORT.
Usuario y contrasea del usuario que realiza la
exportacin (Peligro!).
USERID
Exportar o no disparadores. TRIGGERS (;/N)
Descripcin Parmetro
COPIAS DE SE8:IDAD
Administracin Bsica de Oracle 10g.
#*1
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
EXPORT. MODO DIRECTO.
Existen dos mtodos para realizar la exportacin:
- Con9'nt,ona path EHpo#t. Utiliza la sentencia SQL
SELECT para extraer datos de las tablas. Se leen los datos
desde disco a una buffer cache y, despus de ser
evaluados, se transfieren al cliente export, que los
escribe en el fichero de export.
- 1,#'%t path EHpo#t. Extrae los datos de disco a la buffer
cache y las filas son transferidas directamente al cliente
export, que las escribe en el fichero de salida. Los datos
se hallan en el formato que export espera y no hay
conversin.
La extraccin de datos es mucho ms rpida.
Se debe especificar 1IRECT6Y en el fichero de
parmetros.
COPIAS DE SE8:IDAD
Administracin Bsica de Oracle 10g.
#*#
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
EXPORT. MODO DIRECTO.
Mediante el parmetro RECOR1LENGTC se especifica en el
fichero de parmetros el tamao del buffer que se usa para
escribir en el fichero de export.
Se recomienda que RECOR1LENGTC sea mltiplo del tamao
de bloque E/S y mltiplo de 13_3LOC4_SIZEF de forma que
cada lectura en tabla devuelva un bloque de datos. Si los
datos ledos no caben en el buffer, se harn mltiples
escrituras en el fichero de export para cada bloque.
En modo interactivo no puede usarse el modo directo de
exportacin.
COPIAS DE SE8:IDAD
Administracin Bsica de Oracle 10g.
#*$
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
EXPORT. MODO DIRECTO.
COPIAS DE SE8:IDAD
Administracin Bsica de Oracle 10g.
#*%
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
CASOS PRACTICOS.
La utilidad +'Hpo#t- se aconseja en los siguientes casos:
- Realizacin de una copia de seguridad de la base de datos.

FILE68no)$#'_$!:<!)p
F0LL6Y
LOG68no)$#'_$!:<o(
- Copias de seguridad de esquema de usuario (al borrarlo y
necesitar guardar su esquema de forma temporal).
FILE68no)$#'_'sN*')a_$!:<!)p
O5NER68p#op,'ta#,o !' 'sN*')a:
LOG68no)$#'_'sN*')a_$!:<o(
COMPRESS6Y
COPIAS DE SE8:IDAD
Administracin Bsica de Oracle 10g.
#*&
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
CASOS PRACTICOS.
- Copias de seguridad de tablas antes de realizar
operaciones delicadas como borrado masivo de datos,
cargas de datos, actualizaciones, .

FILE68no)$#'_ta$a:<!)p
TA3LES6D8'sN*')a:<8no)$#'_ta$a:F Y;
LOG68no)$#'_'sN*')a_ta$a:<o(
COMPRESS6Y
COPIAS DE SE8:IDAD
Administracin Bsica de Oracle 10g.
#*6
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
UTILIDAD IMPORT.
La utilidad import es complementaria de export.
Los objetos se importan en el orden en que estn en el fichero
de exportacin:
- Definicin de tipos.
- Definiciones de tablas.
- Datos de tablas.
- ndices.
- Restricciones de integridad, vistas, procedimientos y
disparadores.
- ndices bitmap, funcionales y de dominio.
En tablas que ya existen es aconsejable deshabilitar las
restricciones de integridad referenciales temporalmente.
COPIAS DE SE8:IDAD
Administracin Bsica de Oracle 10g.
#*(
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
UTILIDAD IMPORT.
Para usar la utilidad debe tenerse el privilegio CREATE
SESSION. Por supuesto, deben tenerse los privilegios
necesarios para crear o trabajar con los objetos a importar.
Un usuario puede importar un fichero de export no creado
por l. Si el fichero de exportacin fue creado con el privilegio
EXP_FULL_DATABASE, debe tenerse asignado el rol
IMP_F0LL_1ATA3ASE<
Como resultado se obtiene un fichero <o( con el informe de
incidencias.
COPIAS DE SE8:IDAD
Administracin Bsica de Oracle 10g.
#*)
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
UTILIDAD IMPORT.
Existen cuatro modos de realizar import:
- Tabla. Cualquier usuario puede importar tablas indicadas
del esquema de usuario.
- Usuario. Cualquier usuario puede importar todos los
objetos del esquema.
- Tablespace. Permite mover tablespaces entre bases de
datos. Slo usuarios privilegiados.
- Full database. Slo posible con el privilegio
IMP_F0LL_1ATA3ASE.
COPIAS DE SE8:IDAD
Administracin Bsica de Oracle 10g.
#**
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
UTILIDAD IMPORT.
Aunque puede ejecutarse la utilidad e ir indicando en el
prompt diferentes opciones, se recomienda usar un fichero
de parmetros.
Sintaxis:
,)p CELP6Y P#opo#%,ona a7*!a 'n Un'a<
,)p Mo!o ,nt'#a%t,9o<
,)p PARFILE68A,%h'#o_pa#a)'t#os:
COPIAS DE SE8:IDAD
Administracin Bsica de Oracle 10g.
$00
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
UTILIDAD IMPORT.
Lista de esquemas a importar (usado normalmente
con TOUSER).
FROMUSER
Nombre del fichero de export a importar, por
defecto 'Hp!at<!)p.
FILE
Indica si los ficheros de datos existentes debe ser o
no reutilizados.
DESTROY (Y/!)
Importar o no las restricciones sobre tablas.
CONSTRAINTS
(;/N)
Hacer commit o no despus de cada insercin. til
para evitar que los segmentos de rollback crezcan
demasiado. Si ocurre un error y no hay clave nica
se producirn filas duplicadas.
COMMIT (Y/!)
Tamao bufer de datos (bytes) usado en la
transferencia.
BUFFER
Descripcin Parmetro
COPIAS DE SE8:IDAD
Administracin Bsica de Oracle 10g.
$01
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
UTILIDAD IMPORT.
Fichero de descarga para sentencias de
creacin de ndices, no son creados.
INDEXFILE
Indica la forma de tratar los errores
generados en la creacin de objetos. Si
IGNORE6Y se ignoran los errores de creacin
y se continua, en caso contrario se muestran.
En el caso de tablas, si IGNORE6Y se
importan los datos en las tablas existentes.
Si IGNORE6N se genera un error y no se
inserta.
IGNORE (Y/!)
Importar o no el fichero completo. FULL (Y/!)
Importar o no ndices. INDEXES (;/N)
Importar o no privilegios sobre objetos. GRANTS (;/N)
Descripcin Parmetro
COPIAS DE SE8:IDAD
Administracin Bsica de Oracle 10g.
$0#
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
UTILIDAD IMPORT.
Si SCO56Y, el contenido del fichero de export se
lista pero no se importa.
Solo puede usarse con los parmetros FULL=Y,
FROMUSER, TOUSER, o TABLES.
SHOW (Y/!)
Lista de tablas a importar. TABLES
Incluir datos en la importacin. ROWS (;/N)
Lista de esquemas donde importar. Se requiere
IMP_F0LL_1ATA3ASE<
TO_USER
Indica fichero donde se guardaran los mensajes. LOG
Lista de espacios de almacenamiento a importar. TABLESPACES
Importar datos de espacios de almacenamiento.
TRANSPORT_TABL
ESPACE
Descripcin Parmetro
COPIAS DE SE8:IDAD
Administracin Bsica de Oracle 10g.
$0$
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
CASOS PRACTICOS.
Se har uso de la utilidad +,)po#t- en los casos:
- Recuperacin de la base de datos a un punto en el tiempo.

FILE68no)$#'_A,%h'#o_'Hpo#t:<!)p
F0LL6Y
LOG68no)$#'_$!:<o(
- Recuperacin de un esquema de usuario.
FILE68no)$#'_A,%h'#o_'Hpo#t:<!)p
FROM0SER68p#op,'ta#,o !' 'sN*')a:
TO0SER68'sN*')a_,)po#ta%,Tn:
LOG68no)$#'_'sN*')a_$!:<o(
COPIAS DE SE8:IDAD
Administracin Bsica de Oracle 10g.
$0%
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
CASOS PRACTICOS.
- Recuperacin de tablas tras un borrado accidental (si son
muy voluminosas emplear opcin COMMIT6Y). Es
aconsejable en este caso importar a un esquema diferente
a aquel al que pertenece la tabla y posteriormente hacer
un %#'at' ta$' Y as s''%t ] A#o) YB- o un ,ns'#t ,nto Y
s''%t ] A#o) YB-<
FILE68no)$#'_A,%h'#o_'Hpo#t:<!)p
FROM0SER68'sN*')a_o#,('n:
TO0SER68'sN*')a_!'st,no:
TA3LES6D8no)$#'_ta$a1:F Y;
LOG68no)$#'_'sN*')a_ta$a:<o(
COPIAS DE SE8:IDAD
Administracin Bsica de Oracle 10g.
$0&
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
CASOS PRACTICOS.
- Recuperacin de procedimientos, disparadores y paquetes.
En este caso no es posible la importacin, es necesario
crear un fichero con el contenido del fichero de
exportacin, editarlo, seleccionar el texto buscado para
confeccionar el script adecuado y ejecutar este ultimo.
FILE68no)$#'_A,%h'#o_'Hpo#t:<!)p
FROM0SER68'sN*')a_o#,('n:
SCO56Y
GRANTS6N
RO5S6N
IN1E2ES6N
LOG68no)$#'_'sN*')a_ta$a:<o(
- En el caso de ndices se usa el parmetro INDEXFILE.
COPIAS DE SE8:IDAD
Administracin Bsica de Oracle 10g.
$06
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
RENOMBRAR ESP. DE ALMACENAMIENTO.
Util en casos donde se emplea la utilidad para transportar
esp. de almacenamiento (por ejemplo, recuperacin avanzada
TSPITR).
ALTER TA3LESPACE *s'# RENAME to *1B
- No puede renombrarse ni SYSTEM ni SYSAUX
- Los esp. de almacenamiento y todos los ficheros de datos
asociados deben estar en lnea.
- Pueden rebnombrarse tambin esp. alm. en slo lectura (READ
ONLY).
COPIAS DE SE8:IDAD
Administracin Bsica de Oracle 10g.
$0(
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
SB4G4OADE:
COPIAS DE SE8:IDAD
Administracin Bsica de Oracle 10g.
$0)
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
SQL*LOADER. CARGA DE DATOS.
SQL*Loader carga datos que proceden de otro tipo de ficheros
distintos a tablas Oracle.
Tiene como entrada un A,%h'#o !' %ont#o y uno o ms A,%h'#os
!' !atos.
Su salida es una base de datos donde se cargan los datos, un
fichero de o(, un fichero donde se guardan los registros
rechazados ($a! A,') y un fichero donde se almacenan los
registros descartados por no cumplir los criterios especificados
en el fichero de control (!,s%a#! A,').
COPIAS DE SE8:IDAD
Administracin Bsica de Oracle 10g.
$0*
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
SQL*LOADER.
COPIAS DE SE8:IDAD
Administracin Bsica de Oracle 10g.
$10
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
SQL*LOADER.
FICHERO DE CONTROL.
Es un fichero de texto con instrucciones que indica donde
encontrar los datos a cargar y su formato, la configuracin del
SQL*Loader al cargar los datos y como analizar e interpretar
los datos.
Se considera dividido en tres secciones:
- Informacin de la sesin (opciones y clusula INFILE que
indica donde estn los datos).
- Uno o mas bloques "INTO TA3LE" con informacin sobre la
tabla en la que cargar los datos (nombre y columnas).
- Datos de entrada, es opcional.
COPIAS DE SE8:IDAD
Administracin Bsica de Oracle 10g.
$11
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
SQL*LOADER.
FICHEROS DE DATOS.
Lee uno o ms ficheros de datos indicados en el fichero de
control.
Los datos se consideran organizados en registros.
Un fichero de datos puede estar en tres formatos:
- F,H'!-#'%o#!. Cuando todos los registros tiene la misma
longitud.
- Va#,a$'-#'%o#!. Se indica la longitud del registro al
principio del mismo.
- St#'a)-#'%o#!. No se indica longitud, la marca un
terminador.
COPIAS DE SE8:IDAD
Administracin Bsica de Oracle 10g.
$1#
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
SQL*LOADER.
EJEMPLOS.
-- EI')po 1 !' A,%h'#o !' %ont#o
oa! !ata
,nA,' >'Ha)p'<!at> /A,H 10+
,nto ta$' 'Ha)p'
A,'!s t'#),nat'! $7 >F> opt,ona7 'n%os'! $7 >/c
D%o1F %o=;
example.dat:
0001F a$%!F
000=FA(h,F
000@F&)nF
COPIAS DE SE8:IDAD
Administracin Bsica de Oracle 10g.
$1$
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
SQL*LOADER.
EJEMPLOS.
-- EI')po = !' A,%h'#o !' %ont#o D,n%*7' !atos 'n ' A,%h'#o;
load data
infile *
into table dept
fields terminated by ',' optionally enclosed by '"`
(deptno, dname, loc)
begindata
12,research,"saratoga
10,"accounting",cleveland
11,"art",salem
13,finance,"boston
21,"sales",phila.
22,"sales",rochester
42,"int'l","san fran"
COPIAS DE SE8:IDAD
Administracin Bsica de Oracle 10g.
$1%
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
SQL*LOADER.
EJECUCION.
Desde la lnea de sentencias debe ejecutarse:
sN!# *s'#,!68*s*a#,o:?8%ont#as'Ma:
%ont#o68no)$#'_A,%h'#o_%ont#o:
o(68no)$#'_A,%h'#o_o(:
COPIAS DE SE8:IDAD
Administracin Bsica de Oracle 10g.
$1&
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
VISTAS.
*+A%*ATAP#(P%2!+S< Trabajos Data Pump activos.
*+A%*ATAP#(P%SESS!"S. Sesiones de usuario
asociadas a un trabajo.
*+A%*$E&T!$ES. Directorios definidos en bd.
V$SESS!"%'!".!PS. Informacin sobre desarrollo de
trabajos.
COPIAS DE SE8:IDAD
Administracin Bsica de Oracle 10g.
$16
Francisco Fernndez Martnez y Juan Luis Serradilla Amarilla - 2006
APENDICE.
RECURSOS ORACLE EN INTERNET.
www.oracle.com
- Portal oficial de Oracle.
metalink.oracle.com
- Soporte tcnico para usuarios con contrato de
mantenimiento.
otn.oracle.com
- Portal para desarrolladores. Interesante registrarse.
otn.oracle.com/oramag
- Revista Oracle Magazine.
www.orafaq.org
- Sitio no oficial sobre Oracle.
COPIAS DE SE8:IDAD

Você também pode gostar