Administración Avanzada de Oracle 10g

1
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
TEMA 6.
NET.
COMUNICACIONES
Administración Avanzada de Oracle 10g
2
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
TEMA 6. NET.
• ORACLE NET SERVICES.
• ORACLE NET.
– ORACLE NET. CLIENTE/SERVIDOR.
– ORACLE NET. WEB y APP. SERVER.
– ORACLE NET. WEB SIN APP. SERVER.
– ORACLE NET. CONNECTION POOLING.
• LISTENER.
• ORACLE CONNECTION MANAGER.
• OTROS COMPONENTES
• CONCEPTOS.
– SERVICIO.
– INSTANCIA.
– REGISTRO DE SERVICIO.
– CONECTOR.
– MAPEOS.
COMUNICACIONES
Administración Avanzada de Oracle 10g

© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
TEMA 6. NET.
• CONFIGURACION. MODELOS. MODELO LOCAL.
• TNSNAMES.ORA
• LISTENER.ORA
– SECCION PROTOCOLO.
– SECCION REGISTRO SERVICIO.
– PARAMETROS DE CONTROL.
– LISTENER.ORA Y JSERVER.
– CONTROL DEL “LISTENER”.
• SQLNET.ORA
• CONFIGURACION BASICA NET.
• DATABASE LINK.
COMUNICACIONES
Administración Avanzada de Oracle 10g
!
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
ORACLE NET SERVICES.
• “Oracle Net Services” proporciona soluciones de
conectividad para entornos distribuidos y heterogéneos.
Está integrado por:
– Oracle Net.
– Listener.
– Oracle Connection Manager.
– Herramientas de comunicaciones.

» Oracle Net Configuration Assistant.
» Oracle Net Manager.
» Oracle Enterprise Manager.
COMUNICACIONES
Administración Avanzada de Oracle 10g
"
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
ORACLE NET.
• Es el sw que permite establecer y mantener una sesión
de red desde una aplicación cliente a un servidor de bd;
así como del intercambio de mensajes entre ambos.
Es capaz de hacerlo al estar localizado en cada
ordenador de la red.
• Existen distintas tipologías de conexión:
– Conexiones cliente/servidor (C/S).
– Conexiones web cliente.
– Conexiones web cliente sin uso de servidor de aplicaciones
(Application Server).
COMUNICACIONES
Administración Avanzada de Oracle 10g
6
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
ORACLE NET. CLIENTE/SERVIDOR.
• Oracle Net reside en el cliente y en el servidor. Se sitúa en la
capa más alta de protocolos de red, que indica como las
aplicaciones acceden a la red y como los datos se dividen en
paquetes para su transmisión. Oracle Net interactúa con el
protocolo TCP/IP -con o sin SSL- pero también puede trabajar
con el protocolo SDP (redes “Infiniband”).
• Oracle Net se compone a su vez de “Oracle Net foundation
layer” (establece y mantiene la conexión) y “Oracle protocol
support” (mapea a protocolos estandar desde la tecnología
Oracle Net).
• Las aplicaciones cliente Java acceden a la bd Oracle
empleando además JDBC (Java Database Connectivity
Driver). Oracle ofrece dos manejadores “JDBC OCI” -clientes
con instalación local Oracle- y “JDBC Thin Driver” -clientes
sin instalación local Oracle, por ejemplo “applets”-.
COMUNICACIONES
Administración Avanzada de Oracle 10g
#
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
ORACLE NET. CLIENTE/SERVIDOR.
COMUNICACIONES
Administración Avanzada de Oracle 10g
$
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
ORACLE NET. CLIENTE/SERVIDOR.
COMUNICACIONES
• OCI% Oracle Call Inter&ace. SW usado por el cliente para interactuar con el servidor
de bd (interfaz entre la aplicación cliente y el lenguaje SQL que comprende el
servidor).
• TTC% T'()Tas* C(mm(n.
• O+I% Oracle +r(gram Inter&ace.
Administración Avanzada de Oracle 10g
,
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
ORACLE NET. CLIENTE/SERVIDOR.
COMUNICACIONES
Administración Avanzada de Oracle 10g
10
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
ORACLE NET. CLIENTE/SERVIDOR.
COMUNICACIONES
• El manejador -./C OCI emplea un esquema de comunicaciones similar al estándar C/S.
• -./C T0in driver emplea una implementación Java del Oracle Net Foundation Layer
llamada -avaNet y una implementación Java de TTC llamada -avaTTC.
Administración Avanzada de Oracle 10g
11
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
ORACLE NET. WEB y APP. SERVER.
• La conexión de aplicaciones web cliente (con o sin Web
Application Server) a una bd es similar al caso C/S.
COMUNICACIONES
Administración Avanzada de Oracle 10g
12
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
ORACLE NET. WEB y APP. SERVER.
• El protocolo 1TT+, “Hypertext Transport Protocol” permite
comunicar entre los navegadores web y los servidores de
aplicaciones, estos gestionan datos, controlan el acceso a los
mismos y sirven las peticiones de los navegadores.
• Un servidor de aplicaciones puede soportar aplicaciones Java y
“servlets” también.
COMUNICACIONES
Administración Avanzada de Oracle 10g
1
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
ORACLE NET. WEB y APP. SERVER.
COMUNICACIONES
Administración Avanzada de Oracle 10g
1!
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
ORACLE NET. WEB SIN APP. SERVER.
• Es posible acceder desde los clientes web directamente a la
bd, sin servidor de aplicaciones, como al usar “ Java applet”.
Además la bd puede aceptar conexiones con protocolos como
HTTP, FTP o WebDAV (conexiones a Oracle XML DB).
COMUNICACIONES
Administración Avanzada de Oracle 10g
1"
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
ORACLE NET. CONNECTION POOLING.
• Si se ejecutan múltiples aplicaciones web interactivas, algunas
de ellas pueden, en un momento dado, estar inactivas.
“Connection pooling” permite a la bd interrumpir a nivel
físico una sesión inactiva, la sesión lógica permanece abierta,
y restablecer la conexión física cuando haya alguna petición.
COMUNICACIONES
Administración Avanzada de Oracle 10g
16
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
LISTENER.
• En la bd recibe la conexión inicial. Está configurado con una
dirección de protocolo, aquellos clientes configurados con esta
dirección pueden enviar peticiones al “listener”. Una vez
establecida la conexión, el cliente y la bd comunican
directamente entre ellos.
COMUNICACIONES
Administración Avanzada de Oracle 10g
1#
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
ORACLE CONNECTION MANAGER.
• Permite que múltiples sesiones cliente sean multiplexadas a
través de una sola conexión a una bd.
COMUNICACIONES
Administración Avanzada de Oracle 10g
1$
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
OTROS COMPONENTES
• Oracle Net C(n&ig2rati(n Assistant.
– Permite configurar los componentes básicos de red
después de realizar la instalación de bd.
– Oracle Universal Installer lanza esta herramienta durante
la instalación del sistema gestor de bd.
– En UNIX debe ejecutarse $ORACLEHO!E/bin/netca
• Oracle Net Manager.
– Proporciona un entorno integrado de configuración y
gestión de Oracle Net Services.
– En UNIX debe ejecutarse $ORACLEHO!E/bin/net"#r
En Oracle $%#& "'c(as )'ncionali*a*es *e +et !ana#er est,n inte#ra*as
en Oracle Enterprise !ana#er-
COMUNICACIONES
Administración Avanzada de Oracle 10g
1,
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
CONCE+TOS /ASICOS
COMUNICACIONES
Administración Avanzada de Oracle 10g
20
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
CONCEPTOS. SERVICIO.
• Una bd es un “servicio” desde el punto de vista de los
clientes.
• El servicio está identificado por un n(m3re de servici( que
viene determinado por el parámetro de inicialización
SERVICEN!"ES. Por defecto es el nombre “global
database”, compuesto por el nombre de bd (parámetro
DBN!"E) y el nombre de dominio (DBDO"!IN). Los
clientes usan el nombre de servicio para identificar la bd a la
que acceden.
• Este parámetro también puede ser modificado dinámicamente
mediante ALTER S.STE!.
COMUNICACIONES
Administración Avanzada de Oracle 10g
21
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
CONCEPTOS. SERVICIO.
COMUNICACIONES
• La bd puede tener uno o más servicios asociados; así puede
ser identificada de distintas formas por clientes diferentes, y
un administrador puede limitar recursos del sistema.
Administración Avanzada de Oracle 10g
22
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
CONCEPTOS. SERVICIO.
• La información necesaria para una conexión se almacena en
un repositorio (local o centralizado -LDAP-).
COMUNICACIONES
Administración Avanzada de Oracle 10g
2
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
CONCEPTOS. INSTANCIA.
• Una base de datos tiene al menos una instancia integrada
por un área de memoria llamada S4stem 5l(3al Area 6S5A7
y por 8r(ces(s Oracle.
• El nombre de la instancia viene indicado por el parámetro de
inicialización INSTANCE_NAME. Por defecto se refiere al Oracle
System Identifier (SID) de la instancia.
COMUNICACIONES
Administración Avanzada de Oracle 10g
2!
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
CONCEPTOS. REGISTRO DE SERVICIO.
• “Service registrati(n” es una utilidad por la que el proceso
PMON automáticamente proporciona información al “listener”,
de forma que listener.(ra no precisa ser configurado con
información estática tal como:
– Nombres de servicio para cada instancia de la bd.
– Nombres de instancia de la bd.
– Manejadores de servicio (“dispatcher” o servidor dedicado)
disponible para cada instancia.
– Dispatcher, instancia e información “node load” que permite al
“listener” determinar qué “dispatcher” puede manejar
adecuadamente una petición cliente. Si todos los “dispatchers”
están bloqueados, el “listener” puede habilitar un servidor
dedicado para la conexión.
COMUNICACIONES
Administración Avanzada de Oracle 10g
2"
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
CONCEPTOS. REGISTRO DE SERVICIO.
• Para asegurar que el registro de servicio funciona
correctamentem el fichero de parámetros de inicialización
debería contener los parámetros:
SERVICEN!"ES, para el nombre de servicio de la bd
INST!NCEN!"E, para el nombre de la instancia
• El valor del parámetro SER/ICE+A!ES se considera antes
que el “global database name” (compuesto por D0+A!E y
D0DO!AI+) y el valor de I+STA+CE+A!E se considera
antes que el SID indicado durante la instalación o creación de
la bd.
COMUNICACIONES
Administración Avanzada de Oracle 10g
26
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
CONCEPTOS. REGISTRO DE SERVICIO.
• Los eventos relacionados con el registro de servicio se
almacenan en el fichero listener#log:
– serviceregister. Recepción de información de instancia
por el “listener”.
– serviceupdate. Recepción de información actualizada de
una instancia por parte del “listener”.
– servicedied. El “ listener” ha perdido su conexión con el
PMON. Se descarta cualquier información de registro para
la instancia, los clientes no podrán conectarse a la istancia
hasta un nuevo registro del PMON.
COMUNICACIONES
Administración Avanzada de Oracle 10g
2#
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
CONCEPTOS. CONECTOR.
• Un cliente usa un descriptor de conexión que indica la
localización de la bd y el nombre del servicio de bd.
1DESCRIPTIO+2
1ADDRESS21PROTOCOL2tcp31HOST24no"bre(ost/*ireccionIP53
1PORT2$67$33
1CO++ECTDATA2 1SER/ICE+A!E24no"bre*eservicio5333
También puede indicarse la conexión a una instancia específica (Real
Application Clusters):
1DESCRIPTIO+2 --- 1I+STA+CE+A!E24no"breinstancia5333
• Los manejadores de servicio en el servidor pueden ser un
“dis8atc0er” (modo servidor compartido) o un 8r(ces(
servid(r dedicad(.
COMUNICACIONES
Administración Avanzada de Oracle 10g
2$
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
CONCEPTOS. CONECTOR.
• Puede suceder que un cliente desee usar un manejador de
servicio particular, en este caso debe indicarse en el conector:
1DESCRIPTIO+2
1ADDRESS21PROTOCOL2tcp31HOST2(ost31PORT2$67$33
1CO++ECTDATA2
1SER/ICE+A!E2no"breservicio3
$SERVER%shared&dedicated'33
• Si no se indica el valor para el parámetro SER/ER se asume
por defecto la configuración “s(are* server”. Si no hay
“*ispatc(ers” disponibles, se usarán servidores dedicados.
COMUNICACIONES
Administración Avanzada de Oracle 10g
2,
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
CONCEPTOS. MAPEOS.
• El establecimiento de la correspondencia entre el nombre de
servicio y su conector es posible mediante repositorios de
información que permiten dicho mapeo a través de una
“naming method”:
– “Local Naming”. Usa el fichero “tnsnames.ora”.
– “Directory Naming”. Emplea un sistema de directorios LDAP.
– “Easy Connect Naming”. No requiere configuración. Permite a los
clientes conectar a la bd usando una cadena TCP/IP que incluye el
nombre de servidor, un puerto y un nombre de servicio:
CO++ECT 'serna"e/pass8or*9(ost:;port<:/servicena"e<
– “External Naming”. Emplea un sistema no Oracle.
COMUNICACIONES
Administración Avanzada de Oracle 10g
0
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
TI+OS .E CON9I5U:ACION
COMUNICACIONES
Administración Avanzada de Oracle 10g
1
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
CONFIGURACION. MODELOS.
• Existen dos modelos de configuración de Oracle Net:
– Localizado o no centralizado: la información se almacena en un
fichero tnsnames.ora local a cada máquina en la red.
– Centralizado: la información se guarda en un directorio central
(LDAP).
• En la exposición se considera un modelo de configuración n(
centralizad(, donde la información sobre direcciones de red
se almacena en el fichero tnsna(es#ora de cada sistema.
COMUNICACIONES
Administración Avanzada de Oracle 10g
2
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
CONFIGURACION. MODELO LOCAL.
• Existen los siguientes ficheros de configuración:
– c"an-ora ... Residente en la máquina donde se ejecuta
Oracle Connection Manager.
– listener-ora ... En el servidor de bd. Con infomación sobre
protocolo , dirección de escucha, servicios para los que se
escucha y parámetros de control.
– s=lnet-ora ... En el cliente y en el servidor bd. Puede
contener ruta de conexiones, parámetros de control de
acceso a bd, parámetros de Oracle Advanced Security, ...
– tnsna"es-ora ... En los clientes. Contiene “net service
names” -nombre de servicio asociado a un descriptor de
conexión-. Usado en los mapeos.
COMUNICACIONES
Administración Avanzada de Oracle 10g

© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
CONFIGURACION. MODELO LOCAL.
• Los ficheros de configuración residen generalmente en
“)OR!C*E+O"E&net,or-&ad(in>, aunque pueden
hacerlo en otros lugares.
• El orden de búsqueda para sqlnet.ora es:
– El directorio indicado por la variable TNS!D"IN
– El directorio )OR!C*E+O"E&net,or-&ad(in

El orden de búsqueda para cman.ora, listener.ora y
tnsnames.ora es:
– El directorio indicado por la variable TNS!D"IN
– En UNIX, el directorio global de configuración (“global
configuration directory”).
– El directorio )OR!C*E+O"E&net,or-&ad(in
COMUNICACIONES
Administración Avanzada de Oracle 10g
!
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
TNSNAMES.O:A
COMUNICACIONES
Administración Avanzada de Oracle 10g
"
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
TNSNAMES.ORA
• Contiene nombres de servicio de red, usados al establecer una
conexión, de red mapeados a descriptores de conexión.
Dichos descriptores contienen la localización de un “listener” a
través de una dirección de protocolo y el nombre de servicio
de la bd al que conecta.

• Por defecto, tnsnames.ora reside en
$ORACLEHO!E/net8or?/a*"in aunque también puede estar
en el directorio indicado por la variable de entorno
T+SAD!I+ o el “global configuration directory”. Su sintaxis
básica es:
no"breservicio2
1DESCRIPTIO+2
1ADDRESS21PROTOCOL2tcp31HOST2(ost31PORT2$67$33
1CO++ECTDATA2 1SER/ICE+A!E2no"breservicio333
COMUNICACIONES
Administración Avanzada de Oracle 10g
6
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
TNSNAMES.ORA
no"breservicio2
1DESCRIPTIO+LIST2
1DESCRIPTIO+2
1ADDRESS21protocola**ressin)or"ation33
1ADDRESS21protocola**ressin)or"ation33
1ADDRESS21protocola**ressin)or"ation33
1CO++ECTDATA2 1SER/ICE+A!E2servicena"e333
1DESCRIPTIO+2
1ADDRESS21protocola**ressin)or"ation33
1ADDRESS21protocola**ressin)or"ation33
1ADDRESS21protocola**ressin)or"ation33
1CO++ECTDATA2 1SER/ICE+A!E2servicena"e3333
donde ADDRESS define la localización de “listener” y
CO++ECTDATA define el servicio al cual conectar.
COMUNICACIONES
Administración Avanzada de Oracle 10g
#
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
;ISTENE:.O:A
COMUNICACIONES
Administración Avanzada de Oracle 10g
$
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
LISTENER.ORA
• El “listener” es un proceso que corre en la bd. Recibe
peticiones de conexión de los clientes y gestiona el tráfico de
dichas peticiones a la bd. Su configuración se almacena en un
fichero llamado listener.(ra y sus mensajes se generan en el
fichero listener.l(g
• Dado que todos los parámetros de configuración tienen
valores por defecto, es posible arrancar y usar el “listener” sin
configurar. El “listener” se llama por defecto *ISTENER, no
soporta servicios hasta el arranque de la bd, y escucha
atendiendo a los siguientes valores:
1ADDRESS21PROTOCOL2tcp31HOST2(ostna"e31PORT2$67$33
• El puerto por defecto para conexión al “listener” es el 1521
(aunque en futuras versiones puede cambiar al 2483, TCP/IP,
y 2484, TCP/IP con SSL). Puertos inferiores a 1024 están
reservados para su uso por procesos privilegiados.
COMUNICACIONES
Administración Avanzada de Oracle 10g
,
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
LISTENER.ORA
COMUNICACIONES
Cada listener está configurado con una o varias direcciones de protocolo,
los clientes configurados con una de estas direcciones pueden enviarle
peticiones. Una vez recibida la petición, el listener elige un manejador de
servicio apropiado para servir la petición y redirige la misma hacia él.
Administración Avanzada de Oracle 10g
!0
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
LISTENER.ORA
• El listener determina si un servicio de la bd y sus manejadores
de servicio están disponibles mediante el registr( del
servici(. Durante el mismo, el proceso PMON proporciona al
listener información sobre:
– Nombres de los servicios de bd disponibles.
– Nombre de la instancia asociada con los servicios.
– Manejadores de servicio (dispatchers y servidores
dedicados) disponibles para la instancia -tipo, dirección de
protocolo y carga actual y máxima-.
COMUNICACIONES
Administración Avanzada de Oracle 10g
!1
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
LISTENER.ORA
• Si el listener no se está ejecutando cuando arranca la
instancia, PMON no puede registrar la información de servicio.
PMON intenta conectar periódicamente, no obstante, pueden
pasar hasta 60 segundos antes de que PMON registre la
información tras el arranque del listener. Para iniciar el
registro de información inmediatamente tras el arranque del
listener debe emplearse la sentencia SQL:
!*TER S.STE" RE/ISTER0
• El listener rechaza las peticiones previas al registro. Si la
instancia está en modo restringido, PMON ordena al listener
bloquear las conexiones y los clientes reciben un error:
ORA@$767A; T+S;listener; all appropriate instances are in restricte* "o*e
ORA@$767B; T+S;listener; all appropriate instances are in restricte* "o*e or
bloc?in# ne8 connections
ORA@$767C; T+S;listener; all appropriate instances are bloc?in# ne8
connections
COMUNICACIONES
Administración Avanzada de Oracle 10g
!2
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
LISTENER.ORA
• Por defecto, PMON registra información del servicio referente
al puerto TCP/IP número 1521. Para poder usar un puerto
distinto debe configurarse el parámetro de inicialización
*OC!**ISTENER
• En un entorno “shared server” puede emplearse el atributo
LISTENER del parámetro DIS1!TC+ERS en el fichero de
inicialización. Como LOCAL_LISTENER y el atributo LISTENER
permiten a PMON registrar información del “dispatcher” con el
listener, no es preciso especificar ambos si los valores del
listener son los mismos.
• Por ejemplo, para configurar el listener en el puerto 1421:
LOCALLISTE+ER2listener$
DISPATCHERS2D1PROTOCOL2tcp31LISTE+ER2listener$3D
En el tnsnames.ora:
listener1=(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=
host)(PORT=1421)))
COMUNICACIONES
Administración Avanzada de Oracle 10g
!
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
LISTENER.ORA
• El registro dinámico de servicios no requiere ninguna
configuración del fichero listener.ora
• El “listener” emplea la información dinámica adquirida
mediante el registro dinámico antes de usar la información
configurada estáticamente en el fichero listener.ora.
• Durante la instalación de la bd, Oracle Eniversal Installer
ejecuta el Oracle +et Con)i#'ration Assistant; este permite
configurar el “listener” con un nombre y una dirección
concreta.
• También se crea una entrada para escucha del protocolo I1C
que se configura de forma automática y sirve a
procedimientos externos (escritos en un 3GL que pueden ser
llamados desde el código PL/SQL -sólo C-).
COMUNICACIONES
Administración Avanzada de Oracle 10g
!!
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
LISTENER.ORA
• En la configuración del “listener” se indica:
– Nombre.
– Dirección que acepta peticiones.
– Servicios para los que escucha (la configuración estática es
necesaria si se usa Oracle Enterprise Manager).
– Parámetros de control.
• Pueden configurarse múltiples “listener”, con distintos
nombres, en un fichero listener.ora. Sin embargo, se
recomienda ejecutar sólo uno por nodo en la mayoría de
entornos.
• SID+A!E (valor del parámetro de inicialización
I+STA+CE+A!E), FLO0ALD0+A!E (servicio de bd,
generalmente en versiones 8.x -combinación de D0+A!E y
D0DO!AI+-) y ORACLEHO!E son parámetros estáticos
definibles en listener.ora
COMUNICACIONES
Administración Avanzada de Oracle 10g
!"
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
LISTENER.ORA.
SECCION PROTOCOLO.
• Define las direcciones de las que el “listener” acepta
peticiones.
LISTE+ER+O!0RE2
1DESCRIPTIO+2
1ADDRESSLIST2
1ADDRESS21PROTOCOL2tcp31HOST2(ost31PORT2$67$33
1ADDRESS21PROTOCOL2ipc31GE.2extproc3333
• El parámetro 23E3ESI4E permite indicar el número de
peticiones concurrentes que puede aceptar el “listener” via
TCP/IP o IPC. Su valor por defecto depende del s.o..
LISTE+ER+O!0RE2
1DESCRIPTIO+2
1ADDRESS21PROTOCOL2tcp31HOST2(ost3
1PORT2$67$31HEEEESIIE27%333
COMUNICACIONES
Administración Avanzada de Oracle 10g
!6
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
LISTENER.ORA.
SECCION PROTOCOLO.
• El parámetro RECVB35SI4E per"ite in*icar& en bytes, el
tamaño del “buffer” para recibir operaciones de sesiones (en
TCP/IP, TCP/IP with SSL, y SDP). Su valor depende del s.o.
LISTE+ER+O!0RE 2 1DESCRIPTIO+2
1ADDRESS21PROTOCOL2tcp31HOST2(ost31PORT2$67$3
$RECVB35SI4E%66789'3
1ADDRESS21PROTOCOL2ipc31GE.2extproc3$RECVB35SI4E%66789'33
• Mediante SENDB35SI4E puede indicarse, en bytes, el tamaño
del “buffer” para enviar operaciones de sesiones (en TCP/IP,
TCP/IP with SSL, y SDP). Su valor depende del s.o.
LISTE+ER+O!0RE21DESCRIPTIO+2
1ADDRESSLIST2
1ADDRESS21PROTOCOL2tcp31HOST2(ost31PORT2$67$3
$SENDB35SI4E%66:8;'3
1ADDRESS21PROTOCOL2ipc31GE.2extproc3$SENDB35SI4E%66:8;'333
COMUNICACIONES
Administración Avanzada de Oracle 10g
!#
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
LISTENER.ORA.
SECCION REGISTRO SERVICIO.
• La sección SID*IST se usa para configurar estáticamente el
“listener”. Requerida por compatibilidad con bbdd Oracle8.0,
procedimientos externos y ciertas herramientas de gestión
(Oracle Enterprise Manager). En versiones 9i u 8i está
infomación se registra dinámicamente al arrancar la instancia.
SIDLIST4no"brelistener52
1SIDLIST2
1SIDDESC2
1SDE27%C63
1FLO0ALD0+A!E2sales-'s-ac"e-co"3
1ORACLEHO!E2/oracleJi3
1SID+A!E2sales33
1SIDDESC2
1SID+A!E2plsextproc3
1ORACLEHO!E2/oracleJi3
1PROFRA!2extproc333
COMUNICACIONES
Administración Avanzada de Oracle 10g
!$
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
LISTENER.ORA
SECCION REGISTRO SERVICIO.
• Donde:
– SIDLIST --- lista *e *escripciones-
– SIDDESC --- in)or"aciKn *e servicio-
– SDE --- Opti"iLar la trans)erencia *e *atos 'san*o 'n ta"aMo
in*ica*o *e session *ata 'nit 1SDE3-
– FLO0ALD0+A!E --- NFlobal *atabase na"e> *e la b* 1el listener
co"pr'eba la i#'al*a* entre el valor *e este par,"etro y el *el
par,"etro SER/ICE+A!E en el *escriptor *e conexiKn *el
cliente3- Per"ite i*enti)icar el servicio *e b*-
– ORACLEHO!E --- localiLaciKn *el servicio 1opcional en E+IO3-
– PROFRA! --- +o"bre *el pro#ra"a *e servicio ePec'table-
– SID+A!E --- SID *e la instancia 1par,"etro I+STA+CE+A!E3-
COMUNICACIONES
Administración Avanzada de Oracle 10g
!,
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
LISTENER.ORA. PARAMETROS DE CONTROL.
– *O/DIRECTOR.<no(=relistener> in*ica el *irectorio *e
*estino *el )ic(ero *e lo# *el Nlistener>- Por defecto el directorio
)OR!C*E+O"E&net,or-&log
– *O/5I*E<no(=relistener> indica el nombre del fichero de
log para el “listener”. Por defecto listener#log
– TR!CEDIRECTOR.<no(=relistener> indica el directorio
de destino de los ficheros de traza del “listener”. Por defecto
)OR!C*E+O"E&net,or-&trace
– TR!CE5I*E<no(=relistener> indica el nombre del fichero
de traza del “listener”. Por defecto listener#trc
– TR!CE*EVE*<nlistener>- Nivel de detalle de la traza (0, sin
traza, a 16, máximo nivel de traza).
– TR!CE5I*E*EN<nlistener># Tamaño de los ficheros de
traza (KB). Al alcanzarlo, traza se escribe en el siguiente fichero.
– TR!CE5I*ENO<nlistener>. Número de ficheros de traza.
COMUNICACIONES
Administración Avanzada de Oracle 10g
"0
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
LISTENER.ORA Y JSERVER.
• Clientes acceden a aplicaciones Enterprise JavaBeans (EJBs) y
Common Object Request Broker Architecture (CORBA), opción
Oracle Jserver, en una bd Oracle8i sobre una conexión Inter-
Orb Protocol (IIOP). IIOP es una implementación de General
Inter-Orb Protocol (GIOP) sobre TCP/IP. Debe configurarse el
puerto 2481 para TCP/IP o 2482 para TCP/IP con SSL.
listener2
1DESCRIPTIO+LIST2
1DESCRIPTIO+2
1ADDRESS21PROTOCOL2tcp31HOST2sales$@
server31PORT27QC$33
1PROTOCOLSTACG2
1PRESE+TATIO+2#iop3
1SESSIO+2ra83333
COMUNICACIONES
Administración Avanzada de Oracle 10g
"1
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
CONTROL DEL “LISTENER”.
• La utilidad para control del “listener” (Listener Control Utility)
permite administrar este componente. La sintaxis es:
S-O-5 LS+RCTL 4sentencia5 :no"brelistener<
• Si no se indica nombre, hace referencia al “listener” de
nombre “listener”. Para arrancar el “listener” lsnr:
LS+RCTL START lsnr
• También pueden ejecutarse sentencias en el “prompt”
LSNRCTL (se obtiene tecleando lsnrctl sin argumentos).
S-O-5 lsnrctl
LS+RCTL5 START lsnr
COMUNICACIONES
Administración Avanzada de Oracle 10g
"2
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
CONTROL DEL “LISTENER”.
• Pueden combinarse distintas órdenes en un fichero de texto y
ejecutarlas de la forma:
lsnrctl 9)ilena"e
• Para 8arar el “listener” lsnr: LS+RCTL STOP lsnr
• Para (3tener in&(rmación: LS+RCTL STATES lsnr
• Para comprobar los valores actuales: LS+RCTL SHOR
• Para activar la traza: lsnrctl trace 4nivel5 4lsnr5
COMUNICACIONES
Administración Avanzada de Oracle 10g
"
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
CONTROL DEL “LISTENER”.
• Mediante la orden SERVICES se obtiene información
sobre los servicios e instancias registradas, y los
manejadores asociados a cada instancia.
LS+RCTL SER/ICES lsnr
COMUNICACIONES
Administración Avanzada de Oracle 10g
"!
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
S<;NET.O:A
COMUNICACIONES
Administración Avanzada de Oracle 10g
""
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
SQLNET.ORA
• Los parámetros de configuración para cliente y servidor, perfil,
que permiten especificar preferencias de Oracle Net se
almacenan en el fichero s=lnet.(ra
• Sus mensajes se generan en el fichero s=lnet.l(g
• Permite realizar acciones como:
– Priorizar modelos de localización
(N!"ES#DIRECTOR.1!T+).
– Permitir o no el acceso a ciertos clientes.
• Acceso denegado.
TC1#E?C*3DEDNODES%$<dirI1>@<servidor>'
• Acceso permitido:
TC1#INVITEDNODES%$<dirI1>@<servidor>'
• Co"probar valores anteriores -
TC1#V!*IDNODEC+ECAIN/ % yes&no
COMUNICACIONES
Administración Avanzada de Oracle 10g
"6
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
SQLNET.ORA
– Indicar el intervalo, en segundos, que media para el envio
de una confirmación para verificar que la conexión está
activa.
S2*NET#E?1IRETI"E
Un valor mayor que 0 asegura que no permanecen
sesiones abiertas indefinidamente. Si la confirmación
encuentra una sesión que ha terminado o que no está en
uso, devuelve un error y fuerza al proceso servidor a
terminar.
– Indicar un dominio por defecto. Este se añade
automáticamente a cualquier nombre de servicio dado en
la cadena de conexión y comparado con los nombres de
servicio de tnsnames.ora
N!"ES#DE5!3*TDO"!IN%<no(=redo(inio>
COMUNICACIONES
Administración Avanzada de Oracle 10g
"#
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
SQLNET.ORA
– Indicar el intervalo, en segundos, para completar una
operación de envio a los clientes tras el establecimiento de
la conexión (recomendable en entornos donde las
conexiones con los clientes suelen verse interrumpidas):
S2*NET#SENDTI"EO3T
Si el servidor no puede completar el envío en dicho
tiempo, se generan en el fichero s=lnet.l(g los errores:
“ORA@$76S6; T+S;operation ti"e* o't” y
“ORA@$7A%C; T+S; Sen* ti"eo't occ'rre*”
COMUNICACIONES
Administración Avanzada de Oracle 10g
"$
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
SQLNET.ORA
– Indicar el intervalo, en segundos, para el servidor espera
por datos de un cliente tras el establecimiento de la
conexión (recomendable en entornos donde las conexiones
con los clientes suelen verse interrumpidas):
S2*NET#RECVTI"EO3T
Si un cliente no envía datos se generan en el fichero
s=lnet.l(g los errores:
ORA@$76S6; T+S;operation ti"e* o't y
ORA@$7A%J; T+S; Receive ti"eo't occ'rre*
COMUNICACIONES
Administración Avanzada de Oracle 10g
",
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
SQLNET.ORA
– Indicar parámetros de control del “log”:
• *O/DIRECTOR.C*IENT. Directorio de destino para el
fichero de “log” (por defecto el directorio de trabajo actual).
• *O/5I*EC*IENT. Nombre del fichero de “log” para el
cliente (por defecto sBlnet#log).
• *O/DIRECTOR.SERVER. Directorio destino para ficheros
de “log” del servidor (por defecto
)OR!C*E+O"E&net,or-&log).
• *O/5I*ESERVER. No aplicable. Hace referencia al fichero
de “log” del servidor: sBlnet#log
– Indicar parámetros de traza:
• TR!CEDIRECTOR.C*IENT. Directorio destino para trazas
del cliente, por defecto )OR!C*E+O"E&net,or-&trace
COMUNICACIONES
Administración Avanzada de Oracle 10g
60
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
SQLNET.ORA
• TR!CEDIRECTOR.SERVER. Directorio destino para trazas
del servidor, por defecto )OR!C*E+O"E&net,or-&trace
• TR!CE5I*EC*IENT. Nombre del fichero de traza cliente.
Por defecto sBlnet#trc
• TR!CE5I*ESERVER. Nombre del fichero de traza servidor.
Por defecto svrpid#trc
• TR!CE5I*E*ENC*IENT. Tamaño de los ficheros traza
cliente (KB). Al alcanzar el tamaño, la traza se escribe al
fichero siguiente. El número de ficheros se indica con
TR!CE5I*ENOC*IENT
• TR!CE5I*E*ENSERVER. Tamaño de los ficheros traza
servidor (KB). Al alcanzar el tamaño, la traza se escribe al
fichero siguiente. El número de ficheros se indica con
TR!CE5I*ENOSERVER
• TR!CE*EVE*C*IENT. Nivel de detalle de la traza (0, sin
traza, a 16, nivel máximo de traza).
• TR!CE*EVE*SERVER. Nivel de detalle de la traza (0, sin
traza, a 16, nivel máximo de traza).
COMUNICACIONES
Administración Avanzada de Oracle 10g
61
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
SQLNET.ORA
• Para configurar un modelo local o n( centralizad(, el
parámetro N!"ES#DIRECTOR.1!T+ del fichero
sBlnet#ora -indica el orden de los métodos de configuración
que Oracle Net emplea para resolver los identificadores- debe
contener en primer lugar el valor tnsnames.
+A!ES-DIRECTOR.PATH21tnsna"es3
• “Easy connect naming” se configura automáticamente en la
instalación, es neceasrio que venga especificado EICO++ECT
en +A!ES-DIRECTOR.PATH
+A!ES-DIRECTOR.PATH21eLconnect& tnsna"es3
COMUNICACIONES
Administración Avanzada de Oracle 10g
62
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
CON9I5U:ACION /ASICA NET
COMUNICACIONES
Administración Avanzada de Oracle 10g
6
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
CONFIGURACION BASICA NET.
• Se muestra la forma de intercomunicar una aplicación
cliente con una bd a través de una red TCP/IP.
• Se asume que:
– Servidor BD y cliente en la misma red.
– Servidor BD: Instalada bd y TCP/IP. Configurado un
“listener”.
– Cliente: Instalado “Oracle Client” y TCP/IP.
COMUNICACIONES
Administración Avanzada de Oracle 10g
6!
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
CONFIGURACION BASICA NET.
1.- Confirmar conexión de red.
• Realizar un “loopback test” para comprobar que el
servidor de bd puede comunicar con si mismo
pin# 4no"bre"a='ina5 o pin# 4*ireccionIP5
• Comprobar que existe comunicación entre el cliente y la
bd (por ejemplo, con “ping”).
COMUNICACIONES
Administración Avanzada de Oracle 10g
6"
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
CONFIGURACION BASICA NET.
2.- Arrancar el”listener” y la bd.
• Desde s.o.:
lsnrctl
LS+RCTL5 start 4no"brelistener5
+o"brelistener debe estar definido en el fichero
listener#ora- Debe aparecer un mensaje indicando que el
“listener” ha arrancado.
• Arrancar la bd.
s=lpl's /nolo#
SHL5 CO++ECT / as sys*ba
SHL5 STARTEP
COMUNICACIONES
Administración Avanzada de Oracle 10g
66
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
CONFIGURACION BASICA NET.
• Comprobar que el “service re#istration” de la bd ha tenido
lugar de forma correcta:
LS+RCTL5 SER/ICES :no"brelistener<
• La sentencia “SER/ICES” muestra los servicios soportados por
la bd y los manejadores de servicio disponibles, al menos uno.
COMUNICACIONES
Administración Avanzada de Oracle 10g
6#
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
CONFIGURACION BASICA NET. SERVICIOS.
COMUNICACIONES
Administración Avanzada de Oracle 10g
6$
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
CONFIGURACION BASICA NET. SERVICIOS.
COMUNICACIONES
Administración Avanzada de Oracle 10g
6,
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
CONFIGURACION BASICA NET. SERVICIOS.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=net)))
Services Summary...
Service "sales.us.acme.com" has 1 instance(s).
Instance "sales", status READY, has 3 handler(s) for this service...
Handler(s):
"DEDICATED" established:0 refused:0 state:ready LOCAL SERVER
"D000" established:0 refused:0 current:0 max:10000 state:ready
DISPATCHER <machine: sales-server, pid: 1689>
(ADDRESS=(PROTOCOL=tcp)(HOST=sales-server)(PORT=52414))
...
Service "hr.us.acme.com" has 1 instance(s).
Instance "hr", status READY, has 2 handler(s) for this service...
Handler(s):
"DEDICATED" established:0 refused:0 state:ready LOCAL SERVER
"D000" established:0 refused:0 current:0 max:10000 state:ready
DISPATCHER <machine: sales-server, pid: 11326>
(ADDRESS=(PROTOCOL=tcp)(HOST=sales-server)(PORT=58361))
The command completed successfully
COMUNICACIONES
Administración Avanzada de Oracle 10g
#0
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
CONFIGURACION BASICA NET.
3.- Configurar el cliente para usar un n(m3re de servici(
de red (“net service name”). El nombre de servicio se
define durante la creación de la bd.
Se trata de un nombre para el servicio asociado a un
descriptor de conexión. El cliente, para conectarse, indicará un
nombre de usuario, una contraseña y una cadena de conexión
o nombre de servicio (reside en el fichero tnsna(es#ora
-modificable manualmente, con NetManager, o con
NetCAssistant-). Por ejemplo:
sales2
1DESCRIPTIO+2
1ADDRESS21PROTOCOL2tcp31HOST2sales@server31PORT2$67$33
1CO++ECTDATA2 1SER/ICE+A!E2sales-'s-ac"e-co"333
COMUNICACIONES
Administración Avanzada de Oracle 10g
#1
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
CONFIGURACION BASICA NET.
• El descriptor de conexión contiene:
– La ruta de red hacia la bd, incluyendo la localización del
“listener” a través de un protocolo -sección ADDRESS-.
– Nombre de servicio (“service name”) - a partir de bd versión
8i o 9i-.
Puede indicarse una instancia con I+STA+CE+A!E.
sales2
1DESCRIPTIO+2
1ADDRESS21PROTOCOL2tcp31HOST2sales@server31PORT2$67$33
1CO++ECTDATA2 1SER/ICE+A!E2sales-'s-ac"e-co"3
1I+STA+CE+A!E2sales333
COMUNICACIONES
Administración Avanzada de Oracle 10g
#2
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
CONFIGURACION BASICA NET.
• El método “eas4 c(nnect naming” hace innecesaria la definición de
servicios en tnsnames.ora, al permitir indicar directamente al cliente
un puerto y nombre de servicio de conexión (Por defecto, el nombre
de servicio usado es ORCL):
CO++ECT 'serna"e/pass8or*9://<(ost:;port<:/servicena"e<
• Por ejemplo: “CO++ECT 'serna"e/pass8or*9sales@server
;$67$/sales-'s-ac"e-co">
Este cadena se convierte en el descriptor:
1DESCRIPTIO+2
1ADDRESS21PROTOCOL2tcp31HOST2sales@server31PORT2$67$33
1CO++ECTDATA21SER/ICE+A!E2sales-'s-ac"e-co"333
• Para conexiones URL o JDBC:
CO++ECT 'serna"e/pass8or*9://<:(ost<:;port<:/servicena"e<
COMUNICACIONES
Administración Avanzada de Oracle 10g
#
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
CONFIGURACION BASICA NET.
4.- Conectar a bd.
• Desde el cliente:
– Arrancar SQL*Plus: s=lpl's
– Conectar a bd:
CO++ECT 'serna"e/pass8or*9no"breserviciore*
COMUNICACIONES
Administración Avanzada de Oracle 10g
#!
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
.ATA/ASE ;IN>
COMUNICACIONES
Administración Avanzada de Oracle 10g
#"
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
DATABASE LINK.
• Es una conexión entre dos bbdd que permite acceder a ellas
como una única bd; así como acceder de forma remota.
Define una vía de comunicación unidireccional, en un solo
sentido, cuya definición se almacena en diccionario de datos.
• Pueden ser públicos o privados.
• Generalmente tienen el mismo nombre que el “global
database name” de la bd remota que referencia.
COMUNICACIONES
Administración Avanzada de Oracle 10g
#6
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
TEMA #.
A:<UITECTU:A
?S1A:E. SE:@E:A.
S1A:E. SE:@E:.
Administración Avanzada de Oracle 10g
##
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
TEMA 7. SHARED SERVER.
• MANEJADORES DE SERVICIO.
• SERVIDOR DEDICADO.
• SERVIDOR COMPARTIDO. “DISPATCHER”.
• VENTAJAS “SHARED SERVER”.
• “DISPATCHER”.
– NUMERO DE “DISPATCHER”.
– CONFIGURACION DE “DISPATCHER”.
– PROCESOS SERVIDOR COMPARTIDOS.
– AJUSTE DEL NUMERO “SHARED SERVER”.
– OTROS PARAMETROS.
– CONNECTION POOLING.
– SERVICIOS Y “DISPATCHER”.
– AJUSTE DEL NUMERO “DISPATCHERS”.
– REDUCIR CONTENCION. “DISPATCHERS”.
– “DISPATCHERS”. CLAUSULA INDEX.
S1A:E. SE:@E:.
Administración Avanzada de Oracle 10g
#$
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
TEMA 7. SHARED SERVER.
• VERIFICAR CONFIGURACION.
• PARAR “DISPATCHERS”.
• FORZAR CONFIGURACION. COMPARTIDA. DEDICADA.
• DESHABILITAR MODO SERVIDOR COMPARTIDO.
• VISTAS.
S1A:E. SE:@E:.
Administración Avanzada de Oracle 10g
#,
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
MANEJADORES DE SERVICIO.
• Para cada instancia existen unos “manejadores de servicio” o
puntos de conexión a la bd.
• Estos pueden ser:
– Un servidor dedicado, o
– Un “dispatcher”, caso de servidor compartido.
S1A:E. SE:@E:.
Administración Avanzada de Oracle 10g
$0
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
MANEJADORES DE SERVICIO.
• El tipo de configuración se determinará en el servidor de bd.
• Respecto al cliente puede suceder que este desee usar un
manejador de servicio particular, en este caso el tipo a utilizar
se indicaría en el conector:
1DESCRIPTIO+2
1ADDRESS21PROTOCOL2tcp31HOST2(ost31PORT2$67$33
1CO++ECTDATA2
1SER/ICE+A!E2no"breservicio3
$SERVER%shared&dedicated'33
• Si no se indica el valor para el parámetro SER/ER se asume
por defecto la configuración “s(are* server”. Si no hay
“*ispatc(ers” disponibles, se usarán servidores dedicados.
COMUNICACIONES
Administración Avanzada de Oracle 10g
$1
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
SERVIDOR DEDICADO.
• El “listener” arranca un proceso dedicado exclusivo para cada
petición cliente, que permanece hasta la finalización de la
misma.
• Pueden darse dos opciones (seleccionada en función del S.O. y el
protocolo):
– El servidor dedicado hereda la petición de conexión del
“listener”.
– El servidor dedicado informa al “listener” sobre su
dirección de escucha, esta se pasa al cliente. Se cierra la
conexión con el “listener” y el cliente se conecta al servidor
dedicado directamente.
S1A:E. SE:@E:.
Administración Avanzada de Oracle 10g
$2
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
SERVIDOR DEDICADO.
S1A:E. SE:@E:.
Administración Avanzada de Oracle 10g
$
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
SERVIDOR DEDICADO.
S1A:E. SE:@E:.
Administración Avanzada de Oracle 10g
$!
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
SERVIDOR DEDICADO.
• En ciertas situaciones es preciso conectar obligatoriamente
usando servidores dedicados y ha de indicarse de forma
explícita:
– Trabajos “batch” (en general aquellos en los que no es
posible ningún tiempo de espera).
– Al usar Recovery !ana#er (RMAN) para hacer copias,
restaurar o recuperar una bd.
S1A:E. SE:@E:.
Administración Avanzada de Oracle 10g
$"
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
SERVIDOR COMPARTIDO.
• La arquitectura de servidor compartido usa uno o varios
procesos “*ispatc(er” para redirigir las conexiones cliente a
una cola de peticiones común. Un proceso servidor compartido
desocupado extrae la petición de esta cola.
• Permite que un pequeño número de procesos servidor atienda
un gran número de clientes, reduciendo así los recursos de
sistema necesarios respecto a cuando se usan servidores
dedicados. La configuración servidor compartido es
recomendable cuando existan una gran número de conexiones
puesto que reduce las necesidades de memoria.
• El proceso “listener” redirige las peticiones al “*ispatc(er”. Al
llegar una petición, el “listener” la conduce al “*ispatc(er”, o
indica al cliente la dirección de protocolo del “*ispatc(er” -el
cliente termina la sesión con el “listener” y establece una con
el “*ispatc(er”-.
S1A:E. SE:@E:.
Administración Avanzada de Oracle 10g
$6
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
SERVIDOR COMPARTIDO.
S1A:E. SE:@E:.
Administración Avanzada de Oracle 10g
$#
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
SERVIDOR COMPARTIDO: “DISPATCHER”.
S1A:E. SE:@E:.
Administración Avanzada de Oracle 10g
$$
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
SERVIDOR COMPARTIDO: “DISPATCHER”.
S1A:E. SE:@E:.
• Un dispatcher admite múltiples
conexiones cliente a la vez.
Cada una de ellas se asocia a
un circ2it( virt2al, una
porción de memoria compartida
usada por el dispatcher para
las peticiones y respuestas a
los clientes.
Administración Avanzada de Oracle 10g
$,
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
SERVIDOR COMPARTIDO: “DISPATCHER”.
S1A:E. SE:@E:.
La configuración en servidor
compartido es compatible con
otras soluciones aportadas por
Oracle Net y conjuntamente
permiten reducir la sobrecarga
de los servidores de bd (como,
por ejemplo, Oracle Connection
Manager).
Administración Avanzada de Oracle 10g
,0
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
VENTAJAS “SHARED SERVER”.
• Permite maximizar el uso de los recursos del sistema y
mejorar el rendimiento, incrementando el número de clientes
que simultáneamente pueden estar conectados a la bd.
• Reduce el número de procesos que corren sobre la instancia.
• Incrementa el número de posibles usuarios.
• Disminuye el número de procesos servidor ociosos.
• Reduce el uso de memoria y la sobrecarga del sistema.
• La configuración en modo compartido resulta adecuada en
sistemas con muchos usuarios OLTP realizando transacciones
intermitentes o aquellos sistemas con una alta tasa de
conexión a la bd (siempre hay un proceso “dispatcher” listo
para gestionar la petición entrante).
S1A:E. SE:@E:.
Administración Avanzada de Oracle 10g
,1
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
“DISPATCHER”.
• El número de procesos “dispatcher” arrancados con la
instancia se controla con el parámetro de inicialización
DIS1!TC+ERS. Este número depende de la bd, del límite
impuesto por s.o., del número de conexiones para cada
proceso y del número de conexiones requeridas para cada
protocolo.
• Los procesos “dispatcher” y servidores compartidos pueden
arrancarse además con la sentencia ALTER S.STE! sin
necesidad de rearrancar la instancia.
• Un “*ispatc(er” se crea automáticamente, para TCP/IP,
cuando se elige el modo servidor compartido
(S+!REDSERVERS mayor que 0) sin especificar el
parámetro “dispatchers”, es equivalente a tener en el fichero
de inicializacion:
*ispatc(ers2D1PROTOCOL2tcp3D
S1A:E. SE:@E:.
Administración Avanzada de Oracle 10g
,2
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
NUMERO DE “DISPATCHER”.
• Una vez conocido el número de posibles conexiones por
proceso de s.o. puede calcularse el número inicial de
“dispatchers” a crear en el arranque:
+T"ero *e N*ispatc(ers> 2
CEIL 1 nU ",x- sesiones conc'rrentes / conexiones por
*ispatc(er 3
• Es necesario tener en cuenta que tras arrancar la instancia
pueden arrancarse más procesos si son necesarios. Configurar
demasiados “dispatcher” puede afectar a la productividad de
la bd.
S1A:E. SE:@E:.
Administración Avanzada de Oracle 10g
,
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
CONFIGURACION DE “DISPATCHER”.
• Configuración Típica.
DISPATCHERS2D1PROTOCOL2TCP3 1DISPATCHERS273>
DISPATCHERS2>1PROTOCOL2IPC3 1DISPATCHERS2$3D
• Forzar los puertos usados.
DISPATCHERS2D1ADDRESS21PROTOCOL2TCP31PORT26%%%33D
DISPATCHERS2D1ADDRESS21PROTOCOL2TCP31PORT26%%$33D
• Forzar las direcciones IP usadas (las direcciones IP deben ser
direcciones válidas para el “host” donde está la instancia).
DISPATCHERS2D1ADDRESS21PROTOCOL2TCP31HOST2$QQ-76-
$A-7%$331DISPATCHERS273D
S1A:E. SE:@E:.
Administración Avanzada de Oracle 10g
,!
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
PROCESOS SERVIDOR COMPARTIDOS.
• La c(n&ig2ración de servid(r c(m8artid( se 0a3ilita
asignand( al 8arBmetr( de inicialización
S+!REDSERVERS 2n val(r ma4(r =2e cer( o
asignándole un valor con ALTER S.STE!. No es necesario
ajustar ningún otro parámetro.
• Como esta configuración requiere al menos un “dispatcher”,
se crea uno. Por compatibilidad, si se incluye el parámetro
DISPATCHERS y se le da un valor, se habilita
SHAREDSER/ERS -con un valor por defecto de 1-.
• El valor indicado por SHAREDSER/ERS es el mínimo a crear
cuando arranca la instancia, tras el arranque la gestión de su
número es dinámica y la lleva a cabo Oracle
SHAREDSER/ERS 2 4nT"ero5
S1A:E. SE:@E:.
Administración Avanzada de Oracle 10g
,"
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
PROCESOS SERVIDOR COMPARTIDOS.
• Si la carga del sistema decrece, se mantiene este mínimo por
lo que no debe asignarse un valor demasiado alto.
• Tanto el número de DISPATCHERS como de
SHAREDSER/ERS pueden modificarse dinámicamente. Es
necesario el privilegio ALTER S.STE!.
S1A:E. SE:@E:.
Administración Avanzada de Oracle 10g
,6
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
PROCESOS SERVIDOR COMPARTIDOS.
• El número de “shared servers” en un momento determinado
de la operación de la bd no puede fijarse -sólo el máximo y el
mínimo son definibles-.
• Los “shared servers” se crean dinámicamente bajo el control
automático de la arquitectura “shared server” de la instancia
Oracle. Así, no se necesita ni se puede configurar el número
de ellos en ningún momento.
• Conforme la carga se incrementa, por ejemplo al aumentar el
número de consultas/DDLs/DMLs que los clientes ejecutan, la
instancia Oracle incrementa el número de “shared servers”
también -hasta el límite fijado por !AOSHAREDSER/ERS-.
En el caso de que la carga descienda, los “shared servers” son
eliminados automáticamente por la instancia.
S1A:E. SE:@E:.
Administración Avanzada de Oracle 10g
,#
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
AJUSTE DEL NUMERO “SHARED SERVER”.
• El incremento de tiempos de espera en las respuestas indica
contención para los “shared servers”. La vista V)23E3E
contiene estadísticas sobre la actividad de la cola de
peticiones a los “shared servers” (vista accesible sólo a SYS y
usuarios con el privilegio SELECT ANY TABLE como SYSTEM).
• En particular, la columna C!IT muestra el tiempo total
de espera, en centésimas de segundo, para las peticiones que
han estado en cola y TOT!*2 muestra el número total de
peticiones que han estado alguna vez en cola.
• Para monitorizar sus valores puede emplearse la sentencia:
SELECT DECODE1TOTALH& %& V+o Re='estsV& RAIT/TOTALH WW V
CE+TESI!AS SEFE+DOV3 DTIE!PO !EDIO DE ESPERA POR
PETICIO+D XRO! /$HEEEE RHERE T.PE 2 VCO!!O+VY
S1A:E. SE:@E:.
Administración Avanzada de Oracle 10g
,$
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
AJUSTE DEL NUMERO “SHARED SERVER”.
• También puede determinarse cuántos “shared servers” están
ejecutándose en un instante:
SELECT COE+T1Z3 DPROCESOS SHARED SER/ER> XRO!
/$SHAREDSER/ER RHERE STATES [2 VHEITVY
• Si se detecta contención en los “shared servers”, debe en
primer lugar comprobarse que no hay contención en memoria
-examinando la “shared pool” y la “large pool”-. En última
instancia podrían añadirse más recursos actuando sobre los
parámetros:
!AODISPATCHERS
!AOSHAREDSER/ERS
DISPATCHERS
SHAREDSER/ERS
S1A:E. SE:@E:.
Administración Avanzada de Oracle 10g
,,
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
CAMBIAR NUMERO “SHARED SERVER”.
• Tras arrancar la instancia, puede modificarse el número
mínimo de procesos “shared server” mediante la sentencia
ALTER S.STE!. Oracle elimina los servidores desocupados
cuando hay más que el límite mínimo especificado.
• Si SHAREDSER/ERS es 0, Oracle elimina todos los servidores
actuales cuando se desocupan y no arranca ninguno hasta que
se incrementa el valor de “SHAREDSER/ERS”.
• Por ejemplo, para fijar el mínimo de procesos “shared server”
a cuatro:
ALTER S.STE! SET SHAREDSER/ERS 2 QY
S1A:E. SE:@E:.
Administración Avanzada de Oracle 10g
100
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
OTROS PARAMETROS.
• S+!REDSERVERSESSIONS. Parámetro modificable con
ALTER S.STE! que indica el número total de sesiones
concurrentes de usuario permitidas en arquitectura “shared
server”. Si se indica, su valor debe ser menor que SESSIO+S.
• Parámetros que también pueden requerir ajuste son:
– *!R/E1OO*SI4E- Tamaño en bytes de la pila “large
pool”, mínimo de 300k. Es modificable con ALTER S.STE!-
– SESSIONS# Parámetro estático, especifica el número
máximo de sesiones que es posible crear en el sistema;
dado que cada conexión requiere una sesión, este
parámetro determina el número máximo de usuarios
concurrentes en la bd.
S1A:E. SE:@E:.
Administración Avanzada de Oracle 10g
101
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
OTROS PARAMETROS.
• CIRC3ITS- Parámetro modificable con ALTER S.STE! ='e
indica número total de circuitos virtuales disponibles para
sesiones de red. Está relacionado con los requerimientos de
SGA y no es necesario indicarlo a menos que se quiera limitar
el número de circuitos.
Un circuito virtual es una porción de memoria compartida
usada por el “dispatcher” para las conexiones cliente
(peticiones/respuestas). El “dispatcher” coloca un circuito
virtual en una cola común cuando llega una petición; un
servidor compartido ocioso coge dicho circuito, sirve la
petición, y enlaza el circuito antes de intentar recuperar otro.
S1A:E. SE:@E:.
Administración Avanzada de Oracle 10g
102
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
OTROS PARAMETROS.
• "!?DIS1!TC+ERS 1obsoleto3- Parámetro modificable con
ALTER S.STE! que indica el máximo número de procesos
“dispatcher” permitidos a la vez. Su valor debe ser mayor o
igual que el número de “dispachers” indicados por
DISPATCHERS y menor que el número de procesos indicados
por PROCESSES. Se mantiene por compatibilidad con
versiones anteriores.
• "!?S+!REDSERVERS. Parámetro modificable con ALTER
S.STE! que indica el número máximo de procesos de servidor
compatido (“shared server”) simultáneos. Si ocurren con
demasiada frecuencia “deadlocks”, debe incrementarse. Su
valor debe ser mayor o igual que el número de “dispachers”
indicados por SHAREDSER/ERS y menor que el número de
procesos indicados por PROCESSES.
S1A:E. SE:@E:.
Administración Avanzada de Oracle 10g
10
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
CONNECTION POOLING.
• Esta utilidad permite reducir el número de conexiones físicas
de red a un “dispatcher” al compartir un conjunto de
conexiones entre los procesos cliente.
• Se configura usando el atributo 1OO* del parámetro
DISPATCHERS y los atributos opcionales CONNECTIONS
(CON o CONN), SESSIONS (SES o SESS) y TICAS (TIC o
TICK).
– CONNECTIONS ... Máximo número de conexiones de red
permitidas por “dispatcher”. Valor por defecto dependiente del s.o.
– TICAS ... Duración de “network tick” en segundos (por defecto 1).
Es un “timeout” del Connection Pool.
– 1OO* ... Activa “Connection Pooling” (valores YES -activado-, NO
-desactivado-, IN -conexiones entrantes- y OUT -conexiones
salientes-). Por defecto no está activado.
– SESSIONS ... Número máximo de sesiones de red permitidas por
“dispatcher” (valor por defecto dependente del s.o.).
S1A:E. SE:@E:.
Administración Avanzada de Oracle 10g
10!
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
CONNECTION POOLING.
• Suponiendo un sistema que puede soportar hasta 950 conexiones
por proceso y que existen 4000 usuarios conectados al tiempo a
través de SSL y 2500 sesiones concurrentes a través de TCP/IP con
SSL, serían necesarios 5 “dispatchers” para TCP/IP y 3 más para
TCP/IP con SSL:
DISPATCHERS2D1PROTOCOL2tcp31DISPATCHERS263D
DISPATCHERS2D1PROTOCOL2tcps31DISPATCHERS2S3D
• Si los clientes están frecuentemente inactivos y un “dispatcher”
puede gestionar 4000 sesiones TCP/IP o 2500 sesiones TCP/IP con
SSL, podría optarse por la configuración:
DISPATCHERS2D1PROTOCOL2tcp31DISPATCHERS2$31POOL2on31TICG2$3
1CO++ECTIO+S2J6%31SESSIO+S2Q%%%3D
DISPATCHERS2D1PROTOCOL2tcps31DISPATCHERS2$31POOL2on31TICG2$3
1CO++ECTIO+S2J6%31SESSIO+S276%%3D
S1A:E. SE:@E:.
Administración Avanzada de Oracle 10g
10"
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
SERVICIOS Y “DISPATCHER”.
• Dado que una bd puede estar representada por múltiples nombres
de servicio, un conjunto de “dispatchers” pueden habilitarse para
servir exclusivamente peticiones a un servicio particular (e incluso
asignar mayores recursos a las mismas).
SER/ICE+A!ES2CERSOxx
I+STA+CE+A!E2CERSOxx
DISPATCHERS2D1PROTOCOL2tcp3D
DISPATCHERS2D1PROTOCOL2tcp31SER/ICE2AD!I+CERSO3D
• En el ejemplo anterior hay dos “dispatchers”, el primero sirve
peticiones para clientes accediendo al servicio CURSOxx, el otro
sólo para clientes accediendo al servicio “ADMINCURSO”.
S1A:E. SE:@E:.
Administración Avanzada de Oracle 10g
106
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
AJUSTE DEL NUMERO “DISPATCHERS”.
• V)DIS1!TC+ER proporciona información general sobre los
procesos “dispatcher”. V)DIS1!TC+ERR!TE muestra
estadísticas y contiene los valores actuales (prefijo C3R),
medios (prefijo !V/) y máximos (prefijo "!?).
• Es necesario comparar los valores actuales con los máximos,
si aquellos se acercan a los valores medios (!V/), están
alejados de los máximos ("!?) y el sistema proporciona
una respuesta adecuada en tiempo el ajuste es el correcto.
• Si las tasas actuales y medias están alejadas de los máximos,
habrá que reducir el número de “dispatchers”. Si aquellas
están cerca de los máximos, se podrían añadir “dispatchers”.
• V)DIS1!TC+ERR!TE debería examinarse durante periodos
de carga máxima y mínima del sistema para obtener
información exhaustiva a partir de la cual realizar el ajuste.
S1A:E. SE:@E:.
Administración Avanzada de Oracle 10g
10#
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
REDUCIR CONTENCION. “DISPATCHERS”.
• Si se determina que la carga de los procesos “dispatcher” es
baja, debe reducirse el número de procesos. Si la carga es
alta, puede mejorarse la productividad de varias formas:
– Habilitar “Connection Poolin#”.
– Habiltar multiplexado (“Connection !ana#er>).
– Arrancar más procesos “dispatcher”. Para modificar el
número de procesos se usa la sentencia ALTER S.STE!. Es
importante observar que su número NO varía
dinámicamente. Cuando se reduce, puede hacerse hasta
el número indicado en DISPATCHERS.
ALTER S.STE!
SET DISPATCHERS 2
V1PROTOCOL2TCP31DISPATCHERS263V&
V1PROTOCOL2TCPS31DISPATCHERS273VY
S1A:E. SE:@E:.
Administración Avanzada de Oracle 10g
10$
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
“DISPATCHERS”. CLAUSULA INDEX.
• INDEX. Este parámetro se usa en ALTER S.STE! SET
DISPATCHERS para indicar que “dispatcher” quiere
modificarse (se ignora si se indica en el fichero de
parámetros). Señala el orden en el que se inicializaron, su
rango oscila entre 0 (el primer proceso “dispatcher”) a uno
menos al número total de “dispatchers” definidos.
Por ejemplo, si se indican 3 “dispatchers” en el fichero de
parametros, para modificar el tercero debe indicarse I+DEO27
en la sentencia ALTER S.STE! (consultar vistas v$*ispatc(er,
observar la columna con)in*x, y v$*ispatc(ercon)i#).
• Si en el fichero de inicialización se indica:
*ispatc(ers 2 D1ADDRESS21PROTOCOL2TCP3 1(ost2(ost31port26$%%33D
*ispatc(ers 2 D1ADDRESS21PROTOCOL2TCP3 1(ost2(ost31port27QC%33D
S1A:E. SE:@E:.
Administración Avanzada de Oracle 10g
10,
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
“DISPATCHERS”. CLAUSULA INDEX.
• Ejecutando “lsnrctl services” (lsnrctl services listener_v9205):
Service DvJ7%6D (as 7 instance1s3-
Instance DvJ7%6D& stat's E+G+OR+& (as $ (an*ler1s3 )or t(is service---
Han*ler1s3;
DDEDICATEDD establis(e*;% re)'se*;%
LOCAL SER/ER
Instance DvJ7%6D& stat's READ.& (as S (an*ler1s3 )or t(is service---
Han*ler1s3;
DDEDICATEDD establis(e*;% re)'se*;% state;rea*y
LOCAL SER/ER
DD%%$D establis(e*;% re)'se*;% c'rrent;% "ax;$%%7 state;rea*y
DISPATCHER 4"ac(ine; I+DL%Q%AD& pi*; CQ%5
1ADDRESS21PROTOCOL2tcp31HOST2in*l%Q%a*-i*c-oracle-co"31PORT27QC
%33
DD;;;D esta=lishedE; refusedE; currentE; (aFE6;;: stateEready
DIS1!TC+ER <(achineE IND*;9;!DG pidE ::8;>
$!DDRESS%$1ROTOCO*%tcp'$+OST%indl;9;ad#idc#oracle#co('$1O
RT%H6;;''
T(e co""an* co"plete* s'ccess)'lly
S1A:E. SE:@E:.
Administración Avanzada de Oracle 10g
110
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
“DISPATCHERS”. CLAUSULA INDEX.
• Asignemos ahora el puerto 3500 al “dispatcher” D000's:
SHL5 alter syste" s('t*o8n i""e*iate VD%%%VY
Syste" altere*-
SHL5 alter syste" set DISPATCHERS2V1ADDRESS2
PROTOCOL2TCP31HOST2in*l%Q%a*31PORT2 S6%%331I+DEO 2 %3VY
Syste" altere*-
SHL5 alter syste" re#isterY
Syste" altere*-
•Nota: Indicando REGISTER, el PMON registra la instancia con los
“listeners” inmediatamente; en caso contrario los clientes pueden no
acceder a los servicios temporalmente.
•Nota: También podría añadirse un “dispatcher” con ALTER SYSTEM
indicando INDEX=3.
S1A:E. SE:@E:.
Administración Avanzada de Oracle 10g
111
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
“DISPATCHERS”. CLAUSULA INDEX.
• Ejecutando “lsnrctl services” de nuevo:
Service DvJ7%6D (as 7 instance1s3-
Instance DvJ7%6D& stat's E+G+OR+& (as $ (an*ler1s3 )or t(is service---
Han*ler1s3;
DDEDICATEDD establis(e*;% re)'se*;%
LOCAL SER/ER
Instance DvJ7%6D& stat's READ.& (as S (an*ler1s3 )or t(is service---
Han*ler1s3;
DDEDICATEDD establis(e*;% re)'se*;% state;rea*y
LOCAL SER/ER
DD%%$D establis(e*;% re)'se*;% c'rrent;% "ax;$%%7 state;rea*y
DISPATCHER 4"ac(ine; I+DL%Q%AD& pi*; CQ%5
1ADDRESS21PROTOCOL2tcp31HOST2in*l%Q%a*-i*c-oracle-co"31PORT27QC
%33
DD;;;D esta=lishedE; refusedE; currentE; (aFE6;;: stateEready
DIS1!TC+ER <(achineE IND*;9;!DG pidE ::8;>
$!DDRESS%$1ROTOCO*%tcp'$+OST%indl;9;ad#idc#oracle#co('$1O
RT%IH;;''
T(e co""an* co"plete* s'ccess)'lly
S1A:E. SE:@E:.
Administración Avanzada de Oracle 10g
112
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
VERIFICAR CONFIGURACION.
• Al usar “shared server”, debe arrancarse en primer lugar el
“listener” y después la bd. Puede verificarse el estado del
“dispatcher” ejecutando:
lsnrctl services
• Para verificar que las conexiones realizadas están usando
servidores compartidos debe consultarse la vista V)CIRC3IT
(habrá una entrada por cada conexión de servidor
compartido).
Select *ispatc(er& circ'it& server& stat's )ro" v$circ'itY
S1A:E. SE:@E:.
Administración Avanzada de Oracle 10g
11
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
PARAR “DISPATCHERS”.
• Es posible parar procesos específicos al estar identificados por
un nombre de la forma Dnnn -los procesos “background”
correspondientes se identifican de la forma Dnnn-.
SELECT +A!E& +ETRORG XRO! /$DISPATCHERY
+A!E +ETRORG
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
D%%% 1ADDRESS21PROTOCOL2tcp31HOST2(ost31PORT2SQJJ33
D%%$ 1ADDRESS21PROTOCOL2tcp31HOST2(ost31PORT2S6S$33
D%%7 1ADDRESS21PROTOCOL2tcp31HOST2(ost31PORT2S6S733
• Para parar el “dispatcher” D002:
ALTER S.STE! SHETDOR+ I!!EDIATE VD%%7VY
S1A:E. SE:@E:.
Administración Avanzada de Oracle 10g
11!
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
PARAR “DISPATCHERS”.
• La claúsula I!!EDIATE permite parar el “dispatcher”, no
aceptando nuevas conexiones y terminando inmediatamente
las existentes. Posteriormente el proceso acaba.
Si no se indica I!!EDIATE, el proceso “dispatcher” espera
hasta que todos sus usuarios se desconecten antes de
finalizar.
S1A:E. SE:@E:.
Administración Avanzada de Oracle 10g
11"
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
FORZAR CONFIGURACION COMPARTIDA.
• Si está configurado “shared server” y llega una conexión
cuando no hay “dispatcher” registrados, las peticiones pueden
ser manejadas por un proceso servidor dedicado (configurado
en listener-ora). Si se desea que un cierto cliente use siempre
un “dispatcher”, debe indicarse 1server2s(are*3 en el
descriptor de conexión. Si no hay un “dispatcher” disponible,
se rechaza la conexión del cliente.
sales2
1DESCRIPTIO+2
1ADDRESS21PROTOCOL2tcp31HOST2(ost31PORT2$67$33
1CO++ECTDATA21SER/ICE+A!E2servicio3
1SER/ER2s(are*333
S1A:E. SE:@E:.
Administración Avanzada de Oracle 10g
116
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
FORZAR CONFIGURACION DEDICADA.
• En ciertas ocasiones, interesa que un cliente se conecte a una
instancia usando un servidor dedicado -como al ejecutar un
trabajo “batch”, o al usar Recovery Manager para copiar,
recuperar o restaurar una bd-.
Debe hacerse una conexión mediante un servicio de red
configurado como servidor dedicado:
– Bien el servicio contiene la clausula SERVER%DEDIC!TED-
sales2
1DESCRIPTIO+2
1ADDRESS21PROTOCOL2tcp31HOST2(ost31PORT2$67$33
1CO++ECTDATA21SER/ICE+A!E2servicio31SER/ER2*e*icate*333
S1A:E. SE:@E:.
Administración Avanzada de Oracle 10g
11#
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
FORZAR CONFIGURACION DEDICADA.
– Bien el fichero s=lnet-ora del cliente debe contener la
variable 3SEDEDIC!TEDSERVER%on -añade
1server2*e*icate*3 a la sección CO++ECTDATA del
descriptor que el cliente use, el valor es sobreescrito,
incluso si está configurado el modo servidor compartido-.
S1A:E. SE:@E:.
Administración Avanzada de Oracle 10g
11$
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
FORZAR CONFIGURACION.
• La instancia Oracle sólo proporciona la forma de limitar el
número total de sesiones que pueden establecerse, como un
conjunto, pero no deja limitar de forma específica sesiones
dedicadas o sesiones compartidas como tales.
• Para limitar el número total de sesiones que pueden
establecerse, puede usarse el parámetro SESSIO+S en el
fichero de parámetros de inicialización.
S1A:E. SE:@E:.
Administración Avanzada de Oracle 10g
11,
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
DESHABILITAR MODO
SERVIDOR COMPARTIDO.
• Puede hacerse asignando un valor cero a SHAREDSER/ERS.
Ningún cliente más se conecta, sin embargo Oracle retiene
algunos servidores compartidos hasta que todas las
conexiones en este modo se cierran (en cantidad igual al
menor de los parámetros SHAREDSER/ERS o
!AOSHAREDSER/ERS).
• Si SHAREDSER/ERS y !AOSHAREDSER/ERS son ambos
puestos a cero, todos los servidores compartidos finalizan y
las peticiones de clientes serán “encoladas” hasta que el valor
de cualquiera de dichos parámetros se eleve de nuevo.
• Una vez todos los clientes hayan desconectado, para eliminar
los “dispatchers” debe indicarse:
ALTER S.STE! SET DISPATCHERS 2 VVY
S1A:E. SE:@E:.
Administración Avanzada de Oracle 10g
120
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
VISTAS.
• V)CIRC3IT ... Circuitos virtuales -conexiones de usuario a la
bd a traves de “dispatchers” y servidores.
• V)DIS1!TC+ER ... Información sobre los procesos
“dispatcher” (nombre,estado, estadísticas,...).
• V)DIS1!TC+ERCON5I/ ... Configuración de los procesos
“dispatcher”.
• V)DIS1!TC+ERR!TE ... Estadísticas para “dispatcher”.
• V)23E3E ... Información sobre las colas de mensaje de los
servidores compartidos.
• V)S+!REDSERVER ... Información de procesos “shared-
server”.
• V)S+!REDSERVER"ONITOR ... Información para ajuste
de “shared server”.
• V)S/! ... Información sobre “system global area” (SGA).
• V)S/!ST!T ... Información estadística de la SGA.
• V)S+!RED1OO*RESERVED
S1A:E. SE:@E:.
Administración Avanzada de Oracle 10g
121
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
TEMA $.
A:C1I@A.O .E /ASE .E .ATOS.
A:C1I@A.O .E /ASE .E .ATOS
Administración Avanzada de Oracle 10g
122
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
TEMA 8. ARCHIVADO.
• MODOS DE FUNCIONAMIENTO DE LA BD.
• MODOS “NOARCHIVELOG” Y “ARCHIVELOG”.
• “REDO LOG” ARCHIVADO.
• INFORMACION DE ARCHIVADO.
• MODO DE ARCHIVADO INICIAL.
• CAMBIO A MODO “ARCHIVELOG”.
• ARCHIVELOG.
– ARCHIVADO MANUAL.
– DESTINO DE ARCHIVADO. FALLOS EN DESTINO.
– CONTROL DE PROCESOS ARCn.
A:C1I@A.O .E /ASE .E .ATOS
Administración Avanzada de Oracle 10g
12
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
TEMA 8. ARCHIVADO.
• INFORMACION PROCESO ARCHIVADO.
• FLASH RECOVERY AREA Y ARCHIVELOG.
• CAMBIO A MODO “NOARCHIVELOG”.
• VISTAS.
A:C1I@A.O .E /ASE .E .ATOS
Administración Avanzada de Oracle 10g
12!
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
MODOS DE FUNCIONAMIENTO DE BD.
• La bd puede funcionar en dos modos distintos: modo
?n(arc0ivel(gA y modo ?arc0ivel(gA.
• Ambos se distinguen por el manejo que se hace de los
“redo log” en línea cuando se completa el llenado de un
grupo y se produce el “log switch”.
• La elección de 2n( 2 (tr( m(d( de8ende de las
eCigencias en c2ant( a dis8(ni3ilidad 4 ca8acidad
de rec28eración necesarias en nuestra operación
diaria de la bd. Si no se puede permitir la pérdida de
datos en caso de fallo en disco o fichero y es necesaria
una actividad continua de la bd, servicio 24x7, es
aconsejable el funcionamiento en modo “archivelog”.
A:C1I@A.O .E /ASE .E .ATOS
Administración Avanzada de Oracle 10g
12"
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
MODO “NOARCHIVELOG”.
• En este modo la bd está protegida contra el fallo de
instancia; pero si se produce un fallo en disco o en
fichero, sólo puede recuperarse hasta la copia completa,
y consistente, más reciente.
• Está desactivado el archivado de los “redo log” en línea.
Cuando se completa el llenado de un grupo y se
produce el “log switch”, este es reutilizado por el LGWR.
• Deben hacerse periódica y frecuentemente copias
completas y coherentes de la bd (con la bd cerrada
consistentemente).
A:C1I@A.O .E /ASE .E .ATOS
Administración Avanzada de Oracle 10g
126
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
MODO “ARCHIVELOG”.
• Se archivan los “redo log” en línea. Cuando se completa
el llenado de un grupo, este NO es reutilizado por el
LGWR hasta que se archiva.
• Pueden usarse copias realizadas mientras la base de
datos está abierta y en funcionamiento.
• Permite recuperar todas las transacciones validadas
(“commit”) en caso de fallo en disco o de sistema
operativo -se recupera la bd al momento actual-.
• Es aconsejable en el caso de no poder permitir ningún
tipo de pérdida de datos.
A:C1I@A.O .E /ASE .E .ATOS
Administración Avanzada de Oracle 10g
12#
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
MODO “ARCHIVELOG”.
A:C1I@A.O .E /ASE .E .ATOS
Administración Avanzada de Oracle 10g
12$
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
“REDO LOG” ARCHIVADO.
• Se llama ?red( l(gA arc0ivad( al conjunto de ficheros de
“redo log” archivados, que son copia de ficheros
pertenecientes a un grupo de “redo log” -escritos estos al
completo y en línea- de la base de datos. Este conjunto de
ficheros archivados se escribe en un destino fuera de línea.
• Al proceso de copia se le denomina proceso de arc0ivad( y
se ocupa del mismo el proceso ?arc0iverA 6A:Cn7. Este
proceso copia los ficheros de “redo log” a un dispositivo
determinado tras cada “log switch”.
• El proceso “log writer” (LGWR) no puede reutilizar ni
sobreescribir un grupo de “redo log” hasta que ha sido
archivado.
A:C1I@A.O .E /ASE .E .ATOS
Administración Avanzada de Oracle 10g
12,
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
“REDO LOG” ARCHIVADO.
• Una instancia puede tener hasta diez procesos ARCn (de ARC0
a ARC9). EL proceso “log writer” (LGWR) arranca un nuevo
proceso ARCn cuando el número de procesos de archivado es
insuficiente, este hecho se registra en el fichero de alertas
(alert).
• La copia incluye las entradas de “redo” del fichero en línea y
mantiene el número de secuencia único de “log” del grupo.
• El proceso descrito sólo tiene lugar si la 3d estB en m(d(
A:C1I@E;O5 4 el m(d( de arc0ivad( a2t(mBtic( estB
activad(.
A:C1I@A.O .E /ASE .E .ATOS
Administración Avanzada de Oracle 10g
10
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
INFORMACION DE ARCHIVADO.
• La orden de SQL*Plus !RC+IVE *O/ *IST se emplea,
entre otras cosas, para mostrar información de
archivado para una determinada instancia.
– Modo de operación: ARCHIVELOG o NOARCHIVELOG.
– Estado de archivado automático (habilitado o no).
– Destino de archivado.
– Número de secuencia para el más antiguo “redo log”
en línea lleno.
– Idem para el próximo a archivar.
– Idem para el actual.
A:C1I@A.O .E /ASE .E .ATOS
Administración Avanzada de Oracle 10g
11
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
MODO DE ARCHIVADO INICIAL.
• Indicado al crear la base de datos mediante la sentencia
CRE!TE D!T!B!SE- Por defecto es +OARCHI/ELOF-
CREATE DATA0ASE :*atabase<
\ESER S.S IDE+TIXIED 0. ---WESER S.STE! IDE+TIXIED 0. ---
W CO+TROLXILE REESE
W LOFXILE :FROEP inte#er< re*olo#)ilespec
:& :FROEP inte#er< re*olo#)ilespec<---
W !AOLOFXILES inte#er W !AOLOF!E!0ERS inte#er
W !AOLOFHISTOR. inte#er W !AODATAXILES inte#er
W !AOI+STA+CES inte#er W \ ARCHI/ELOF W +OARCHI/ELOF ]
W XORCE LOFFI+F W CHARACTER SET c(arsetW +ATIO+AL
CHARACTER SET c(arset
W DATAXILE *ata)ilete"p)ilespec :& *ata)ilete"p)ilespec<---
W *e)a'ltte"ptablespace W 'n*otablespacecla'se
W setti"eLonecla'se ]---Y
A:C1I@A.O .E /ASE .E .ATOS
Administración Avanzada de Oracle 10g
12
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
CAMBIO A MODO “ARCHIVELOG”.
• Si no se ha establecido el modo ARCHI/ELOF durante la
creación de la bd puede hacerse posteriormente
empleando la sentencia !*TER D!T!B!SE. Es preciso
estar conectado a la bd con privilegios de
administrador.
• Pueden utilizarse las claúsulas NO!RC+IVE*O/ y
!RC+IVE*O/ (es preciso que la bd esté montada pero
no abierta y Real Application Clusters -RAC-
deshabilitado).
• La claúsula ARCHI/ELOF sólo puede usarse tras parar
la instancia normalmente o de forma inmediata sin
errores (de forma coherente).
A:C1I@A.O .E /ASE .E .ATOS
Administración Avanzada de Oracle 10g
1
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
CAMBIO A MODO “ARCHIVELOG”.
– Parar la instancia de base de datos:
» s('t*o8n
– Realizar una copia de seguridad de la bd.
– Modificar el fichero de parámetros de inicialización.
– Arrancar una instancia y montar la bd:
» start'p "o'nt
– Modificar el modo de archivado y abrir la bd:
» alter *atabase arc(ivelo#Y
» alter *atabase openY
– Comprobar el modo (arc(ive lo# listY), archivar los “redo
log” (arc(ive lo# allY) y parar la instancia:
» s('t*o8n i""e*iate
– Realizar una copia de seguridad de la bd en el nuevo
modo.
A:C1I@A.O .E /ASE .E .ATOS
Administración Avanzada de Oracle 10g
1!
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
CAMBIO A MODO “ARCHIVELOG”.
• El cambio de modo actualiza el fichero de control. Tras
cambiarlo, debe realizarse una copia todos los ficheros
de la base de datos.
• Cualquier copia anterior puede desecharse pues se ha
realizado en modo +OARCHI/ELOF (a menos que haya
algún problema al cambiar a modo ARCHI/ELOF y sea
necesario volver al modo +OARCHI/ELOF inicial)-
A:C1I@A.O .E /ASE .E .ATOS
Administración Avanzada de Oracle 10g
1"
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
ARCHIVELOG. ARCHIVADO MANUAL.
• Normalmente el archivado de “redo log” se realiza de
forma automática, por mayor comodidad y seguridad.
• Si se desea arc0ivar de &(rma man2al, al cambiar a
modo “archivelog”, en el paso donde se modifica el
modo de archivado y se abre la bd, debe indicarse:
» alter *atabase arc(ivelo# (anualY
» alter *atabase openY.
• Si está activo el archivado manual debemos
explícitamente archivar los “redo log” o la bd
suspenderá su funcionamiento. No es conveniente
trabajar de forma manual.
A:C1I@A.O .E /ASE .E .ATOS
Administración Avanzada de Oracle 10g
16
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
ARCHIVELOG. ARCHIVADO MANUAL.
• Para realizar el archivado manual es necesario estar
conectado AS SYSDBA o tener el privilegio ALTER
SYSTEM. La sentencia:
» alter syste" arc(ive lo# allY
guarda todos los ficheros aún no archivados.
• Mediante alter syste" arc(ive lo# c'rrentY se fuerza a
cambiar de “log” y archivar el que se está usando así
como el resto de no archivados (util para copias
“online”). Esta sentencia puede usarse aun cuando se
esté trabajando en modo automático de archivado.
A:C1I@A.O .E /ASE .E .ATOS
Administración Avanzada de Oracle 10g
1#
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
ARCHIVELOG. DESTINO DE ARCHIVADO.
• Puede ser único o múltiple, en este caso se guardan en
más de una localización.
• El parámetro de inicialización *O/!RC+IVEDESTn
-siendo n un entero entre 1 y 10- permite especificar
hasta diez destinos de archivado. El caso más común es
el archivado local -en la propia maquina-, lo que se
indica:
LOG_ARCHIVE_DEST_1='LOCATION=/u06/oradata/CURSOxx'
• Es incompatible con el parámetro
*O/!RC+IVEDEST (este parámetro junto con
*O/!RC+IVED31*E?DEST permite especificar un
máximo de dos destinos de archivado).
A:C1I@A.O .E /ASE .E .ATOS
Administración Avanzada de Oracle 10g
1$
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
ARCHIVELOG. DESTINO DE ARCHIVADO.
• Para especificar el destino de archivado debe pararse la
instancia de base de datos -shutdown- e:
– Indicar en fichero de parámetros destinos de archivado.
LOFARCHI/EDEST$ 2 VLOCATIO+ 2
/'%A/ora*ata/CERSOxxV
LOFARCHI/EDEST7 2 VLOCATIO+ 2
/'%B/ora*ata/CERSOxxV ...
– Indicar el valor del parámetro *O/!RC+IVE5OR"!T.
Permite indicar el formato de nombre que se aplicará a los
ficheros de archivado.
A:C1I@A.O .E /ASE .E .ATOS
Administración Avanzada de Oracle 10g
1,
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
ARCHIVELOG. DESTINO DE ARCHIVADO.
• El nombre de los archivados se compone de una cadena de
caracteres combinada con variables:
– Ds ... Número de secuencia de log.
– Dt ... Número de “thread”.
– Da ... Identificación de activación.
– Dd ... Identificación de bd.
– Dr ... Identificación de “resetlog” (permite asegurar
nombres únicos para los ficheros de archivado a través de
múltiples “encarnaciones” de la bd, estas cambian al abrir
la bd con la opción “resetlogs”).
• Si se emplean mayúsculas (por ejemplo, %S o %T) el valor
pasa a ser de longitud fija y se completa con ceros a la
izquierda. Un ejemplo de nombre puede ser:
LOFARCHI/EXOR!AT 2 DLOF^t^s^r-ARCD
A:C1I@A.O .E /ASE .E .ATOS
Administración Avanzada de Oracle 10g
1!0
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
ARCHIVELOG. DESTINO DE ARCHIVADO.
• Los valores de dichos parámetros pueden encontrarse en:
– Número de secuencia de log (%s ): Vista /$ARCHI/EDLOF,
columna SEHEE+CE_
– Número de “thread” (%t). Vista /$ARCHI/EDLOF, columna
THREAD_
– Identificación de activación (%a). Es el número asignado a la
instancia de bd. Vista /$DATA0ASE, columna ACTI/ATIO+_
– Identificación de bd (%d). Vista /$DATA0ASE, columna D0ID
– Identificación de “resetlog” (%r). Vista /$ARCHI/EDLOF,
columna RESETLOFSID
A:C1I@A.O .E /ASE .E .ATOS
Administración Avanzada de Oracle 10g
1!1
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
ARCHIVELOG. DESTINO DE ARCHIVADO.
• La ruta completa de localización se forma concatenando
ambas variables (*O/!RC+IVEDESTn y
*O/!RC+IVE5OR"!T3- Así, según el ejemplo
anterior se generan ficheros de la forma:
/'%A/ora*ata/CERSOxx/LOFxxxyyyLLL-ARC
/'%B/ora*ata/CERSOxx/LOFxxxyyyLLL-ARC
• Cada destino tiene una serie de características que
determinan su estado (ver vista v)!RC+IVEDEST):
– Valid/Invalid ... destino especificado y validez
– Enabled/Disabled ... estado de disponibilidad y usabilidad
(por defecto un destino tiene valor “enable*”).
– Active/Inactive ... si hay problemas accediendo al destino
A:C1I@A.O .E /ASE .E .ATOS
Administración Avanzada de Oracle 10g
1!2
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
ARCHIVELOG. DESTINO DE ARCHIVADO.
• Mediante el fichero de parámetros de inicialización
*O/!RC+IVEDESTST!TEnG parámetro dinámico
modificable con ALTER SESSION o ALTER SYSTEM, es
posible controlar el estado de un determinado destino
de archivado:
– Enabled (por defecto). Destino válido y que puede usarse.
– Defer. Destino excluido temporalmente hasta que sea
habilitado.
– Alternate. No habilitado pero puede llegar a estarlo si el
resto de destinos fallan.
A:C1I@A.O .E /ASE .E .ATOS
Administración Avanzada de Oracle 10g
1!
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
ARCHIVELOG. FALLOS DESTINO ARCHIVADO.
• Mediante *O/!RC+IVE"INS3CCEEDDEST%n
(modificable dinámicamente con ALTER SESSION o
ALTER SYSTEM) se determina el mínimo número de
destinos de archivado a los que debe poder escribirse
satisfactoriamente antes de reutilizar el “redo log” en
línea. Su valor por defecto es 1.
• Con *O/!RC+IVEDESTn (modificable
dinámicamente) puede indicarse si un destino tiene
como atributo OPTIO+AL -el archivado no se requiere
para poder usar el “redo log”-& por-, valor por defecto, o
!A+DATOR. -el archivado debe tener éxito antes de
poder reutilizar el “redo log”-.
A:C1I@A.O .E /ASE .E .ATOS
Administración Avanzada de Oracle 10g
1!!
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
ARCHIVELOG. FALLOS DESTINO ARCHIVADO.
• Con *O/!RC+IVEDESTn puede especificarse el
mínimo número de segundos antes de que el proceso
ARCn intente acceder a un destino que ha fallado
(opción REOPEN). El valor por defecto es de 300
segundos; con un valor de cero, ARCn no intentará
reescribir tras un fallo. Si no se indica REOPEN, ARCn
nunca intentará escribir tras un error.
• Si se indica REOPEN con un destino de tipo OPTIONAL,
la bd puede sobreescribir los “redo” en línea si hay un
error. Si se indica para un destino tipo MANDATORY y
no puede archivarse puede verse perjudicado el
funcionamiento de la bd (en este caso, deberá
archivarse manualmente, cambiar el destino -DEFER,
OPTIONAL, ...- o definirlo como OPTIONAL).
A:C1I@A.O .E /ASE .E .ATOS
Administración Avanzada de Oracle 10g
1!"
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
ARCHIVELOG. CONTROL DE PROCESOS ARCn.
• Los procesos de archivado (ARCn) son creados
conforme se necesitan.
• Puede indicarse el número de procesos creados en el
arranque de la instancia (ARC0 a ARC9), añadiendo en
el fichero de parámetros:
LOFARCHI/E!AOPROCESSES24n'"ero5Y
• No pudiendose crear más de los indicados. Su valor por
defecto es 2.
• Generalmente no es necesario indicar nada pues la bd
arranca tantos procesos ARCn como sean necesarios
para asegurar un correcto funcionamiento.
A:C1I@A.O .E /ASE .E .ATOS
Administración Avanzada de Oracle 10g
1!6
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
ARCHIVELOG. CONTROL DE PROCESOS ARCn.
• Este parámetro puede modificarse dinámicamente con
la sentencia (la bd debe estar montada pero no
abierta):
ALTER S.STE! SET
LOFARCHI/E!AOPROCESSES24n'"ero5Y
• Cada proceso ARCn trabaja sólo con un “log” inactivo
cada vez, pero debe escribir a cada unos de los destinos
indicados.
A:C1I@A.O .E /ASE .E .ATOS
Administración Avanzada de Oracle 10g
1!#
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
ARCHIVELOG. CONTROL DE PROCESOS ARCn.
A:C1I@A.O .E /ASE .E .ATOS
Administración Avanzada de Oracle 10g
1!$
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
INFORMACION PROCESO ARCHIVADO.
• La información qe se genera y guarda en los ficheros de
traza sobre el archivado puede controlarse mediante el
parámetro -modificable con ALTER S.STE!-
*O/!RC+IVETR!CE. Valores válidos para el nivel
de traza son:
– 0: Disable archivelog tracing (valor por defecto)
– 1: Track archival of redo log file
– 2: Track archival status of each archivelog destination
– 4: Track archival operational phase
– 8: Track archivelog destination activity
– 16: Track detailed archivelog destination activity
– 32: Track archivelog destination parameter modifications
– 64: Track ARCn process state activity
– 128: Track FAL (fetch archived log) server related
activities
A:C1I@A.O .E /ASE .E .ATOS
Administración Avanzada de Oracle 10g
1!,
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
INFORMACION PROCESO ARCHIVADO.
– 32: Track archivelog destination parameter modifications
– 64: Track ARCn process state activity
– 128: Track FAL (fetch archived log) server related
activities
– 256: Track RFS Logical Client
– 512: Track LGWR redo shipping network activity
– 1024: Track RFS Physical Client
– 2048: Track RFS/ARCn Ping Heartbeat
– 4096: Track Real Time Apply
– 8192: Track Redo Apply (Media Recovery or Physical
Standby)
• Pueden combinarse distintos niveles indicando un valor
resultado de la suma de dos de ellos (por ejemplo, el
valor 3 hace referencia a 1 y a 2).
• Al fijar el valor por defecto, cero, Oracle continuará
generando entradas en el fichero de “alert” y trazas en
respuesta a condiciones de error.
A:C1I@A.O .E /ASE .E .ATOS
Administración Avanzada de Oracle 10g
1"0
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
INFORMACION PROCESO ARCHIVADO.
• Aun cuando se fije el valor por defecto, cero, Oracle
continuará generando entradas en el fichero de “alert” y
trazas en respuesta a condiciones de error.
A:C1I@A.O .E /ASE .E .ATOS
Administración Avanzada de Oracle 10g
1"1
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
FLASH RECOVERY AREA.
• Lugar centralizado para ficheros de copia y recuperación
(directorio gestionado por Oracle, sistema de ficheros o disco
“automatic storage management”) tales como “redo”
archivado, RMAN, ...
• La bd sería recuperable usando los ficheros almacenados en el
área “flash” (ficheros de control, “redo” en línea, “redo”
archivado, “flashback”, copias de ficheros de datos, ...).
• Se define una cantidad de espacio que puede Oracle usar en
la “flash recovery area”. Oracle and RMAN escriben en el área
hasta alcanzar el límite; al llegar al mismo, Oracle elimina el
mínimo conjunto de ficheros existente que sean obsoletos,
copias redundantes o volcados a otro dispositivo.
A:C1I@A.O .E /ASE .E .ATOS
Administración Avanzada de Oracle 10g
1"2
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
FLASH RECOVERY AREA.
• Se recomienda que el área de “flash recovery” sea la suma del
tamaño de la bd, del tamaño de las copias incrementales y el
tamaño de todos los archivados no copiados a otro dispositivo
de seguridad. Su tamaño mínimo debe ser al menos suficiente
para contener los archivados no copiados a un dispositivo de
seguridad.
• El área de “flash” se define con los parámetros de
inicialización:
– DBRECOVER.5I*EDESTSI4E ... Cantidad máxima
total, en bytes, del área (este parámetro debe indicarse antes de
D0RECO/ER.XILEDEST).
– DBRECOVER.5I*EDEST ... Localización (directorio,
sistema de ficheros o disco “automatic storage management
-ASM-), NO puede ser sistema de ficheros “raw”.
A:C1I@A.O .E /ASE .E .ATOS
Administración Avanzada de Oracle 10g
1"
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
FLASH RECOVERY AREA Y ARCHIVELOG.
• Es recomendable usar el área “Flash Recovery” para
almacenar los archivados. Pueden darse varios casos, de más
a menos recomendable:
– Sólo realizar el archivado en el área de “flash recovery” y usar
discos espejo para copiar redundantemente los archivados.
– Realizar el archivado en el área de “flash recovery” y fijar otros
destinos de archivado (LOFARCHI/EDESTn) externos al área.
– No usar el área “flash recovery” para archivar.
A:C1I@A.O .E /ASE .E .ATOS
Administración Avanzada de Oracle 10g
1"!
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
FLASH RECOVERY AREA Y ARCHIVELOG.
• Si se configura un área de “flash” y no se indican destinos de
archivado (LOFARCHI/EDESTn), entonces
LOFARCHI/EDEST$% implícitamente apunta al área (a
menos que se le asigne la cadena vacía).
• Si se asigna alguna localización para LOFARCHI/EDESTn,
los archivados se almacenan sólo en la misma y no en el área
de “flash”. Si esta está configurada es necesario indicar
explicitamente el área como uno de los destinos
*O/!RC+IVEDEST6 %
J*OC!TION%<3SEDBRECOVER.5I*EDEST>J
• Los nombres de fichero para los archivados en el área de
“flash” no vienen determinados por LOFARCHI/EXOR!AT y
son Oracle Managed Filenames.
A:C1I@A.O .E /ASE .E .ATOS
Administración Avanzada de Oracle 10g
1""
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
CAMBIO A MODO “NOARCHIVELOG”.
– Parar la instancia de base de datos:
» s('t*o8n
– Realizar una copia de seguridad de la bd.
– Modificar el fichero de parámetros de inicialización.
– Arrancar una instancia y montar la bd:
» start'p "o'nt
– Modificar el modo de archivado:
» alter *atabase noarc(ivelo#Y
» alter *atabase openY
– Comprobar el modo (arc(ive lo# list) y parar la instancia:
» s('t*o8n i""e*iate
– Realizar una copia de seguridad de la bd.
A:C1I@A.O .E /ASE .E .ATOS
Administración Avanzada de Oracle 10g
1"6
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
VISTAS.
• V)D!T!B!SE. Consulta del modo de la bd ARCHI/ELOF
o +OARCHI/ELOF.
• V)!RC+IVED*O/. Información histórica sobre
archivado a partir del fichero de control.
• V)!RC+IVEDEST. Información sobre destino de
archivado.
• V)!RC+IVE1ROCESSES. Información sobre el estado
de los procesos de archivado.
• V)B!CA31REDO*O/. Información sobre “backups” de
los “logs” archivados.
• V)*O/. Información sobre grupos de “redo” en línea -
indica también cual necesita archivarse-.
• V)*O/+ISTOR.. Información histórica de “log”.
A:C1I@A.O .E /ASE .E .ATOS
Administración Avanzada de Oracle 10g
1"#
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
TEMA ,.
CO+IAS .E SE5U:I.A..
CO+IAS .E SE5U:I.A.
Administración Avanzada de Oracle 10g
1"$
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
TEMA 9. COPIAS DE SEGURIDAD.
• COPIA Y RECUPERACION: METODOS.
• COPIAS FISICAS/LOGICAS.
• ESTRATEGIAS DE COPIA. CONSIDERACIONES.
• FLASH RECOVERY AREA. ARCHIVADO.
• COPIAS COMPLETAS/PARCIALES.
• ESTRATEGIA MANUAL DE COPIA.
– OBTENCION DE INFORMACION DE COPIA.
– COPIA COMPLETA BD. PROCESO.
– COPIA TBSP FUERA LINEA. PROCESO.
– COPIA TBSP LECTURA/ESCRITURA EN LINEA. PROCESO.
– COPIA TBSP LECTURA/ESCRITURA EN LINEA. PROBLEMAS EN LA
COPIA.
– COPIA TBSP SOLO LECTURA EN LINEA. PROCESO.
– COPIA FICHERO CONTROL.
– COPIA “REDO” ARCHIVADO.
CO+IAS .E SE5U:I.A.
Administración Avanzada de Oracle 10g
1",
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
TEMA 9. COPIAS DE SEGURIDAD.
– COPIA OTROS FICHEROS.
– COPIA MODO “SUSPEND”.
• RESTAURACION DE COPIAS.
• DBVERIFY. VALIDACION FICHEROS Y SEGMENTOS.
• FLASHBACK DATABASE
– PUNTOS RESTAURACION.
– ACTIVAR FLASHBACK DATABASE.
– VENTANA FLASHBACK DATABASE.
– MONITORIZACION FLASHBACK DB
• COPIA LÓGICA. DATA PUMP EXPORT/IMPORT.
• “TABLESPACES” TRANSPORTABLES.
– LIMITACIONES.
– COMPATIBILIDAD.
– PROCESO.
CO+IAS .E SE5U:I.A.
Administración Avanzada de Oracle 10g
160
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
COPIA Y RECUPERACION: METODOS.
• Para realizar la copia y recuperación físicas Oracle proporciona
dos soluciones:
– :ec(ver4 Manager, una herramienta propia de Oracle
que puede gestionarse a través de un interfaz línea de
comandos o gráfica.
– C(8ia 4 rec28eración gesti(nada 8(r 2s2ari(, que
emplea una mezcla de órdenes de s.o. y SQL*Plus.
• Se recomienda usar Recovery Manager al poderse realizar los
mismos tipos de copias y recuperaciones que manualmente,
además de proporcionar un interfaz estándar sobre distintos
sistemas operativos.
CO+IAS .E SE5U:I.A.
Administración Avanzada de Oracle 10g
161
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
COPIA Y RECUPERACION: METODOS.
• No obstante, los métodos manuales también son útiles
y diferentes circunstancias pueden justificar el uso de
los mismos:
– Migración de bd a una versión actualizada pero
conservando aún los “script” de copia actuales.
– Coexistencia de bbdd tipo Oracle7 junto a otras más
recientes, y la necesidad de coherencia en el manejo de
todas ellas (RMAN sólo soporta bd versión 8.0 o superior).
Algo que debería ser inusual actualmente.
– Pérdida de las copias realizadas con RMAN, y necesidad de
restaurar copias manuales y recuperar con la orden
SQL*Plus RECOVER.
N(ta% La exposición estará basada en el empleo de métodos manuales de copia y
recuperación.
CO+IAS .E SE5U:I.A.
Administración Avanzada de Oracle 10g
162
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
COPIAS FISICAS/LOGICAS.
• Debe permitir, en caso de pérdida de los datos
originales, recuperarlos.
• Pueden clasificarse en:
– Físicas. Copias de los ficheros que integran la bd, ficheros
de control y ficheros “archive log” hechas con utilidades
del gestor de bd -Recovery !ana#er& R!A+- o del s.o..
– Lógicas. Exportación a fichero binario mediante las
utilidades de exportación (DATA PE!P EOPORT o EOPORT3.
La copia física es la base del sistema de copia y
recuperación, aunque ambas son complementarias.
CO+IAS .E SE5U:I.A.
Administración Avanzada de Oracle 10g
16
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
ESTRATEGIAS DE COPIA.
CONSIDERACIONES.
• 9rente a err(res de 2s2ari(.
– Xlas(bac? Database. Permite devolver la bd al completo a
un estado anterior sin necesidad de restaurar, tomando
como referncia un SCN o creando los puntos de
restauración, “restore points”, necesarios. Debe estar
configurada una “)las( recovery area”.
– Recuperación de la bd “Point@in@Ti"e”. Se recupera un
tbsp. o la bd al completo a un momento concreto.
– Importación desde copia lógica.
• 9rente a &all(s de mB=2ina 6?media &ail2reA7.
– El tipo de fallo (fallo físico, sobreescritura, borrado o
corrupción de un fichero de bd, ...) determina la técnica
de recuperación a usar.
:ECU+E:ACION
Administración Avanzada de Oracle 10g
16!
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
ESTRATEGIAS DE COPIA.
CONSIDERACIONES.
• Ciertamente, es necesario, además de disponer de un plan de
copia y recuperación, anticiparse a posible problemas.
• Un aspecto básico es tener múltiples copias de los ficheros de
“redo” en línea así como de los ficheros de control y del “redo”
archivado y que estas copias residan cada una en un disco
físico diferente.
– Si un fallo daña una de las copias de “redo” en línea, la bd puede
continuar sin interrupción. Si no se dispone de copias y se daña el
“redo”, ña bd se detiene y pueden perderse datos.
– Si se daña cualquier fichero de control, esté o no multiplexado, la
bd se detiene cuando se intenta leer o escribir en dicho fichero.
CO+IAS .E SE5U:I.A.
Administración Avanzada de Oracle 10g
16"
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
ESTRATEGIAS DE COPIA.
CONSIDERACIONES.
• Es necesario anotar la configuración “hw” y “sw” del servidor.
– Nombre, fabrica y modelo de la máquina donde reside la bd.
– Versión del s.o.
– Número de discos y controladoras
– Capacidad de disco y espacio libre.
– Nombre de todos los ficheros de datos.
– Nombre y versión del sw de gestión de almacenamiento.
– Nombre de la instancia (SID).
– Identificador de la bd (DBID).
– Versión y parche del servidor Oracle.
– Versión y parche del sw de comunicaciones.
– Método y frecuencia de las copias así como de la recuperación
CO+IAS .E SE5U:I.A.
Administración Avanzada de Oracle 10g
166
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
ESTRATEGIAS DE COPIA.
CONSIDERACIONES.
• Conjunto de Redundancia.
Está integrado por los ficheros necesarios para recuperar la
bd: Copia *el )ic(ero *e control y *e to*os los )ic(eros *e
*atos 1N*ata)iles>3& Nre*o lo#> arc(iva*o& *'plica*o *e los
Nre*o lo#> en l`nea y *el )ic(ero *e control act'al y )ic(eros *e
con)i#'raciKn (fichero de parámetros, tnsnames.ora y
listener.ora). El conjunto de redundancia debe estar en discos
distintos de aquellos que contienen ficheros de datos, “redo”
en línea y ficheros de control. También se aconseja mantener
distintas copias del conjunto.
• Es aconsejable hacer copias espejo del fichero de control. Es
necesario que todas las copias del fichero de control estén
accesibles o caería la instancia.
CO+IAS .E SE5U:I.A.
Administración Avanzada de Oracle 10g
16#
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
ESTRATEGIAS DE COPIA.
CONSIDERACIONES.
• Hacer copias espejo de los fiheros de datos si es posible para
evitar la realización de “"e*ia recovery” debido a un fallo de
disco.
• Copia en modo ARCHI/ELOF.
– Disponer de múltiples destinos de archivado (entre ellos puede
figurar la “flash recovery area”).
– Copiar la bd al completo tras su creación o paso a modo
ARCHI/ELOF.
– Realizar copias de los tbsp con la bd abierta o cerrada. En
particular de aquellos de uso intensivo deben hacerse copias
frecuentes (para reducir el tiempo de recuperación).
– Copiar el fichero de control cada vez que se realice un cambio
estructural en la bd (“ALTER DATA0ASE 0ACGEP CO+TROLXILE”).
– Copiar los “redo log” archivados frecuentemente. Es conveniente
realizar copias a varios soportes (cinta, disco, ...).
CO+IAS .E SE5U:I.A.
Administración Avanzada de Oracle 10g
16$
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
ESTRATEGIAS DE COPIA.
CONSIDERACIONES.
• Realizar copias de manera frecuente y regular (más frecuencia
a mayor número de operaciones DML).
• Realizar copias antes y después de cambios en la estructura
de la bd (creado/borrado de tbsp, adición/renombrado de
fichero de datos, adición, renombrado o borrado de “redo log”
en línea, ...).
• Realizar copia después de operaciones con la opción
+OLOFFI+F, creación de tablas e índices, puesto que la bd no
genera “redo” para dichos objetos y no podrían recuperarse
desde las copias existentes.
• Realizar copia completa después de abrir la bd con la opción
RESETLOFS.
• Guardar las copias antiguas de la bd.
CO+IAS .E SE5U:I.A.
Administración Avanzada de Oracle 10g
16,
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
ESTRATEGIAS DE COPIA.
CONSIDERACIONES.
• Realizar copias lógicas de la bd, como complemento a las
copias físicas, puesto que no son sustitutivos de las mismas.
• Evitar la copia de “redo log” en línea pues accidentalmente
pueden ser restaurados y corromper la bd.
– La mejor forma de protegerlos es tener múltiples
miembros en cada grupo, y en diferentes discos.
– Si la bd está en modo ARCHIVELOG, el proceso ARC
guarda los “redo” que se han llenado. Si la bd está en
modo NOARCHIVELOG, el único tipo de copias válido es el
realizado con la bd cerrada, consistente y completo; los
ficheros en este tipo de copia son todos consistentes y no
necesitan recuperación ni, por tanto, los “redo” en línea.
– Pueden restaurarse, por error, copias de los “redo log” en
línea y corromper la bd.
CO+IAS .E SE5U:I.A.
Administración Avanzada de Oracle 10g
1#0
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
CO+IAS .E SE5U:I.A.
9;AS1 :ECO@E:E A:EA
Administración Avanzada de Oracle 10g
1#1
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
FLASH RECOVERY AREA.
• Se trata de un lugar en disco donde la bd puede crear y
gestionar fciheros relacionados con copia y recuperación.
Debe determinarse su localización (directorio o grupo de
discos AS! @A'to"atic Stora#e !ana#e"ent@) y una cuota de
espacio, cantidad de espacio máximo a usar, para la misma
(para averiguar la cuota de disco y uso de disco del área flash
debe consultarse V)RECOVER.5I*EDEST).
• Este área debe estar separada de aquel lugar donde residan
los ficheros de la estructura de la bd (ficheros de datos, de
control y “redo” en línea). El área “flash” está relacionada con
O!X @Oracle !ana#e* Xiles@ y AS! @A'to"atic Stora#e
!ana#e"ent@.
• Para habilitar el área “flash” debe darse valor a los
parámetros de inicialización
DBRECOVER.5I*EDESTSI4E (cuota de disco) y
DBRECOVER.5I*EDEST (localización).
CO+IAS .E SE5U:I.A.
Administración Avanzada de Oracle 10g
1#2
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
FLASH RECOVERY AREA.
• Las vistas V)RECOVER.5I*EDEST y
V)5*!S+RECOVER.!RE!3S!/E ayudan a determinar
si se ha reservado suficiente espacio para el área “flash”.
• V)RECOVER.5I*EDEST permite averiguar la localización,
cuota, espacio en uso y espacio recuperable mediante el
borrado de ficheros y número de ficheros en el área “flash”.
SHL5 SELECT Z XRO! /$RECO/ER.XILEDESTY
• V)5*!S+RECOVER.!RE!3S!/E permite averiguar el
porcentaje de disco usado por los diferentes tipos de ficheros
y espacio recuperable mediante el borrado de ficheros
obsoletos, redundantes o ya almacenados en otro soporte.
SHL5 SELECT Z XRO! /$XLASHRECO/ER.AREAESAFEY
CO+IAS .E SE5U:I.A.
Administración Avanzada de Oracle 10g
1#
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
FLASH RECOVERY AREA. ARCHIVADO.
• Por defecto, LOFARCHI/EDEST$% señala al área “flash”.
Los nombres generados para el “log” archivado no siguen la
pauta fijada por LOFARCHI/EXOR!AT.
• También puede indicarse que cualquier otro destino de
archivado señala dicha área:
LOG_ARCHIVE_DEST_1 = 'LOCATION=/...'
LOG_ARCHIVE_DEST_2 =
'LOCATION=USE_DB_RECOVERY_FILE_DEST'
CO+IAS .E SE5U:I.A.
Administración Avanzada de Oracle 10g
1#!
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
CO+IAS .E SE5U:I.A.
TI+O;O5IA .E CO+IAS
Administración Avanzada de Oracle 10g
1#"
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
COPIAS COMPLETAS/PARCIALES.
• C(m8letas. Incluyen ficheros de control y de datos. Es
independiente del modo de operación de la bd.
CO+IAS .E SE5U:I.A.
Administración Avanzada de Oracle 10g
1#6
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
COPIAS COMPLETAS/PARCIALES.
• Una copia completa puede ser:
– Consistente. Puede abrirse con la opción RESETLOGS sin
realizar “media recovery”, o sea, sin aplicar “redo” a los
ficheros de datos. Todos los ficheros de datos deben:
• Tener el mismo “system change number” (SCN) en sus
cabeceras, a menos que los tbsp correspondientes esten en
sólo lectura u “offline normal”.
• No contienen cambios tras el SCN.
• Concuerdan con la información de “checkpoint” almacenada en
el fichero de control.
+ota; En Dsyste( change nu(=erD $SCN' es 'na "arca *e tie"po&
Dti"esta"pD& interna para 'na versiKn vali*a*a *e la b*- La b* e"plea el
valor *e reloP SC+ para #arantiLar la consistencia *e las transacciones- Por
ePe"plo& c'an*o 'n 's'ario vali*a 'na transacciKn& Oracle #raba 'n SC+
para esta vali*aciKn en el Dre*o lo#D en l`nea-
Oracle ta"bian e"plea SC+s para coor*inar transacciones *istrib'i*as
entre *istintas bb**
CO+IAS .E SE5U:I.A.
Administración Avanzada de Oracle 10g
1##
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
COPIAS COMPLETAS/PARCIALES.
Sólo pueden efectuarse copias consistentes tras un
“shutdown” limpio de la bd, esta no debe abrirse hasta
finalizar la misma.
Una copia completa y consistente es la única opción válida
para bd en modo NOARCHIVELOG.
– Inconsistente. Copia donde algun fichero contiene cambios
hechos después del “checkpoint” de los ficheros. Necesita
recuperación antes de ser consistente.
Normalmente se hacen con la bd abierta mientras se
realiza la copia. Pero también si la copia se hace sobre una
bd cerrada justo después de caer una instancia o de cerrar
la bd con SHUTDOWN ABORT.
Sólo son válidos si la bd está en modo archivelog.
CO+IAS .E SE5U:I.A.
Administración Avanzada de Oracle 10g
1#$
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
COPIAS COMPLETAS/PARCIALES.
• +arciales.
– Copias *e los )ic(eros *e 'n Ntablespace>. Sólo son
válidos si la bd está en modo archivelog (en modo
noarchivelog sólo cuando está en modo sólo lectura u
“offline normal”).
Pueden hacerse con RMAN o mediante el s.o..
– Copia *e 'n )ic(ero *e *atos. Válido en modo archivelog
(en modo noarchivelog cuando está en modo sólo lectura u
“offline normal”, o cuando todo fichero de un tbsp. se
copia). Pueden hacerse con RMAN o mediante el s.o..
– Copia *e )ic(ero *e control. Mediante RMAN, o la
sentencia “alter *atabase bac?'p control)ile” -a binario-.
– Copias *e Nre*o lo#> arc(iva*os. Fundamentales para
recuperar una copia inconsistente. Deben copiarse todos
los producidos durante una copia inconsistente.
CO+IAS .E SE5U:I.A.
Administración Avanzada de Oracle 10g
1#,
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
COPIAS COMPLETAS/PARCIALES.
– Durante las copias realizadas en línea pueden producirse
inconsistencias en los datos que se intenta copiar (por
ejemplo, la lectura de bloques fracturados -con datos
antiguos y nuevos al estar modificándose-).
– Para evitarlo, el tbsp. debe ponerse en modo “backup” con
la sentencia “alter tablespace be#in bac?'p” (no puede
indicarse para un tbsp de sólo lectura ni un tbsp temporal
gestionado localmente). Mientras dura la copia no puede
ponerse fuera de línea, parar la instancia o comenzar otra
copia del tbsp.
– Mediante “alter tablespace en* bac?'p” se indica que la
copia del tbsp. ha acabado. Se recomienda usarla tan
pronto como sea posible, pues si sucede un fallo de
instancia o “shutdown abort”, Oracle piensa que se
necesita “media recovery” en el siguiente arranque (quizá
con “redo log” archivado).
CO+IAS .E SE5U:I.A.
Administración Avanzada de Oracle 10g
1$0
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
CO+IAS .E SE5U:I.A.
EST:ATE5IA MANUA; .E CO+IA
Administración Avanzada de Oracle 10g
1$1
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
ESTRATEGIA MANUAL DE COPIA.
• Se realizan copias periódicas de los ficheros de datos y “redo”
archivado usando órdenes de s.o.. Es necesario relacionar las
copias realizadas con los originales (por ejemplo, adoptando
nombres derivados del original.
cp 4no"bre)ic(ero5 4no"bre)ic(ero-)ec(a5 Ficheros de datos
Actuación Objeto
F.“redo” archivado cp 4no"bre)ic(ero5 4no"bre)ic(ero-)ec(a5
F. control
alter *atabase bac?'p control)ile to 4no"bre)ic(ero5
F. parámetros
create p)ile2 4init-ora-)ec(a5 )ro" sp)ileY
F. red
cp tnsna"es-ora tnsna"es-ora-)ec(a
CO+IAS .E SE5U:I.A.
Administración Avanzada de Oracle 10g
1$2
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
OBTENCION DE INFORMACION DE COPIA.
• Identificar los ficheros a copiar.
– Se consultan las vistas V)D!T!5I*E -ficheros de datos-,
V)T!B*ES1!CES -tbsp-, V)*O/5I*E -”redo” en línea- y
V)CONTRO*5I*E -f.control-. Al hacer copia de un fichero
de control con “!*TER D!T!B!SE B!CA31
CONTRO*5I*E TO <fichero>0> debe guardarse
información sobre los f.datos y f.redo en línea existentes
junto con la copia del fichero de control (la estructura de la
bd en el momento de hacer la copia puede ser distinta a la
existente en el momento de recuperar).
• Determinar el estado de copia (vista V)B!CA313.
– Muestra si un f.datos en línea forma parte de una copia
actual – el valor !CTIVE de la columna “status” indica
en copia- (útil con bd abierta y con f.control no recuperado
ni nuevo -en este caso, contendría información
desactualizada-).
CO+IAS .E SE5U:I.A.
Administración Avanzada de Oracle 10g
1$
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
OBTENCION DE INFORMACION DE COPIA.
• La vista V)B!CA31 es útil con la bd abierta y también tras
un fallo de instancia pues muestra el estado de copia de los
ficheros en el instante del fallo y permite determinar si algún
tbsp. ha quedado en modo copia.
SHL5 SELECT t-na"e AS DT0SPD& *-)ile_ as DDX_D& *-na"e AS
DDX+A!ED& b-stat's XRO! /$DATAXILE *& /$TA0LESPACE t&
/$0ACGEP b RHERE *-TS_2t-TS_ A+D b-XILE_2*-XILE_ A+D
b-STATES2VACTI/EVY
CO+IAS .E SE5U:I.A.
Administración Avanzada de Oracle 10g
1$!
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
COPIA COMPLETA BD.
• Es posible realizarla tras cerrar la bd, “s('t*o8n”, con las
opciones: +or"al& i""e*iate o transactional.
• Puede realizarse en modo arc(ivelo# o noarc(ivelo#.
• Puede restaurarse sin hacer recuperación (en modo
Narc(ivelo#> puede recuperarse posteriormente para llevar la
bd a un momento más actual).
• En modo archivelog se recomienda hacer copia del f.control
con:
!*TER D!T!B!SE B!CA31 CONTRO*5I*E TO <fichero>0
CO+IAS .E SE5U:I.A.
Administración Avanzada de Oracle 10g
1$"
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
COPIA COMPLETA BD. PROCESO.
• Cerrar la bd.
SHL5 SHETDOR+ +OR!AL / I!!EDIATE / TRA+SACTIO+AL
No debería realizarse copia de la bd si ha sido parada de
forma anormal (“s('t*o8n abort” o caída debido a un fallo).
• Copiar los ficheros apropiados (datos, control, inicialización,
configuración -buscar todos los ficheros -ora comenzando por
el $ORACLEHO!E@& ---3-
• Rearrancar la bd.
SHL5 STARTEP
CO+IAS .E SE5U:I.A.
Administración Avanzada de Oracle 10g
1$6
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
COPIA TBSP FUERA LINEA.
• Puede realizarse la copia de todos o parte de los f.datos que
integran un tbsp cuando está fuera de línea (para ponerlo
fuera de línea debe tenerse el privilegio DB! o "!N!/E
T!B*ES1!CE).
• No puede ponerse fuera de línea el tbsp S.STE! o un tbsp
con segmentos de “rollback” activos.
• Si el tbsp fuera de línea contiene índices al intentar acceder a
estos se generan errores. El problema se pondrá de manifiesto
cuando el método de acceso elegido por el optimizador
requiera usar los índices.
CO+IAS .E SE5U:I.A.
Administración Avanzada de Oracle 10g
1$#
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
COPIA TBSP FUERA LINEA. PROCESO.

Identificar los ficheros de datos correspondientes a los tbsp a
copiar (D0ADATAXILES).
S2*> SE*ECT T!B*ES1!CEN!"EG 5I*EN!"E
5RO" S.S#DB!D!T!5I*ES
C+ERE T!B*ES1!CEN!"E % J###J0

Poner el tbsp fuera de línea con prioridad normal (!*TER
T!B*ES1!CE <no(=ret=sp> O55*INE NOR"!*0).

Realizar copia de los f.datos (cp).

Poner el tbsp en línea (!*TER T!B*ES1!CE <no(=ret=sp>
ON*INE0).

Forzar el archivado de “redo”, de forma que aquel necesario
para recuperar la copia del tbsp esté disponible (!*TER
S.STE" !RC+IVE *O/ C3RRENT0).
CO+IAS .E SE5U:I.A.
Administración Avanzada de Oracle 10g
1$$
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
COPIA TBSP LECTURA/ESCRITURA
EN LINEA. PROCESO.
• Cualquier tbsp a copiar debe ser puesto en modo copia
(“bac?'p "o*e”) mediante la sentencia !*TER T!B*ES1!CE
### BE/IN B!CA31. Tras la copia, debe abandonarse el modo
copia con !*TER T!B*ES1!CE ### END B!CA31 o !*TER
D!T!B!SE END B!CA31. Al recuperar la bd se preguntará
por los ficheros de “redo” necesarios para aplicar.
• Identificar los f.datos que pertenecen al tbsp.
SHL5 SELECT TA0LESPACE+A!E& XILE+A!E
XRO! S.S-D0ADATAXILES
RHERE TA0LESPACE+A!E 2 V---VY
• Indicar el comienzo de copia:
SHL5 ALTER TA0LESPACE 4+O!0RET0SP5 0EFI+ 0ACGEPY
CO+IAS .E SE5U:I.A.
Administración Avanzada de Oracle 10g
1$,
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
COPIA TBSP LECTURA/ESCRITURA
EN LINEA. PROCESO.
• Realizar la copia (cp).
• Indicar fin de copia:
SHL5 ALTER TA0LESPACE 4+O!0RET0SP5 E+D 0ACGEPY
• Forzar el archivado de “redo”, de forma que aquel necesario
para recuperar la copia esté disponible:
SHL5 ALTER S.STE! ARCHI/E LOF CERRE+TY
CO+IAS .E SE5U:I.A.
Administración Avanzada de Oracle 10g
1,0
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
COPIA TBSP LECTURA/ESCRITURA
EN LINEA.
Si el proceso de copia involucra a varios tbsp, pueden
copiarse de forma paralela o en serie (en ambos casos se
fuerza el archivado al final del proceso, cuando sobre todos
los tbsp se haya hecho el “end backup”). Es necesario tener
en cuenta que hacerlo de forma paralela puede hacer que se
generan grandes cantidades de “redo” si hay gran actividad
en los tbsp. involucrados y debería existir “redo” suficiente.

Paralela-
Se ponen simultáneamente todos los tbsp en modo “be#in
bac?'p” -implica un gran crecimiento de “redo” en línea al
actualizarlos-. Se realiza la copia y se hace “en* bac?'p”.

Serie 1OpciKn reco"en*a*a3-
Repetir el proceso “be#in bac?'p”-copia-”en* bac?'p” para
cada tbsp. minimiza el tiempo “begin”-“end” para un tbsp.
CO+IAS .E SE5U:I.A.
Administración Avanzada de Oracle 10g
1,1
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
COPIA TBSP LECTURA/ESCRITURA
EN LINEA.
En la opción paralela en lugar de realizar un “ALTER
TA0LESPACE --- 0EFI+ 0ACGEPY” para cada tbsp, si se están
copiando todos ellos puede indicarse:

SHL5 ALTER DATA0ASE 0EFI+ 0ACGEPY
Y en lugar de usar “ALTER TA0LESPACE --- E+D 0ACGEPY” puede
utilizarse:
SHL5 ALTER DATA0ASE E+D 0ACGEPY
CO+IAS .E SE5U:I.A.
Administración Avanzada de Oracle 10g
1,2
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
COPIA TBSP LECTURA/ESCRITURA EN
LINEA. PROBLEMAS EN LA COPIA.

Una copia de tbsp puede fallar y no completarse cuando:
– La copia ha terminado pero no se indica su fin (“en* bac?'p”).
– Se interrumpe la copia debido a un fallo de instancia o la
realización de un “shutdown abort”.
En caso de un “crash recovery” si un fichero está en modo copia
y se intenta abrir, Oracle interpreta que es una copia a recuperar
y no se abre la bd hasta la recuperación o hasta abandonar el
modo copia (se generan los O:A)0111 y O:A)01110).
ORA@%$$$S; )ile xx nee*s "e*ia recovery
ORA@%$$$%; *ata )ile xx; V/---/---/----*b)V
CO+IAS .E SE5U:I.A.
Administración Avanzada de Oracle 10g
1,
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
COPIA TBSP LECTURA/ESCRITURA EN
LINEA. PROBLEMAS EN LA COPIA.

Aban*onar el "o*o *e copia 1sKlo si se est, se#'ro *e ='e los
)ic(eros est,n en la )ec(a act'al3-
– Montar la bd (STARTEP !OE+T).
– Consultar en /$0ACGEP tbsp en copia (stat's2VACTI/EV).
– Ejecutar “ALTER DATA0ASE E+D 0ACGEPY> (sólo si la bd está
montada y no se ha restaurado ningun fichero implicado, en caso
de que esté abierta debe emplearse ALTER TA0LESPACE --- E+D
0ACGEP o ALTER DATA0ASE DATAXILE --- E+D 0ACGEP para cada
tbsp o fichero implicado).
– Abrir la bd.

Rec'peraciKn 1caso *e no estar se#'ro *e (aber resta'ra*o
copia3-
– Montar la bd (STARTEP !OE+T).
– Recuperar la bd (RECOVER D!T!B!SE) y comprobar en
/$0ACGEP que no hay tbsp en copia (stat's2VACTI/EV).
– Abrir la bd.
CO+IAS .E SE5U:I.A.
Administración Avanzada de Oracle 10g
1,!
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
COPIA TBSP SOLO LECTURA EN
LINEA. PROCESO.
• No es necesario poner el tbsp en modo copia pues la bd no
permite cambios en el mismo, simplemente copiar los f.datos
correspondientes. Si el conjunto de tbsp es autocontenido
puede además realizarse la exportación del tbsp con vistas a
realizar posteriormente un transporte de tbsp.
– Consultar DB!T!B*ES1!CES para determinar qué tbsp están
en modo sólo lectura (SE*ECT T!B*ES1!CEN!"EG ST!T3S
5RO" DB!T!B*ES1!CES C+ERE ST!T3S % JRE!D ON*.J0)
– Identificar los ficheros asociados a los tbsp consultando
DB!D!T!5I*ES.
– Copiar los ficheros correspondientes.
Al restaurar la copia, debe ponerse fuera de línea el tbsp, copiar
los ficheros y ponerlo en línea.
La copia es válida incluso si se cambia a lectura/escritura tras la
copia -necesitará recuperación-.
CO+IAS .E SE5U:I.A.
Administración Avanzada de Oracle 10g
1,"
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
COPIA FICHERO CONTROL.
• En una bd en modo archivelog debe copiarse tras realizar un
cambio estructural. Se requiere el privilegio ALTER
DATA0ASE.
• Puede copiarse a un fichero binario (preferible al contener
información sobre historia de “redo” archivado, tbsp. fuera de
línea o sólo lectura, ...) o a un fichero de traza. En ambos
casos (copia a fichero binario o de traza) las entradas para los
ficheros “TE!P” no son incluidas.
• Xic(ero binario-
– Realizar el cambio deseado a la bd.
– !*TER D!T!B!SE B!CA31 CONTRO*5I*E TO
J&###&copia&fcontrol#=a-J RE3SE0
La opción RE3SE permite sobreescribir un f.control existente
CO+IAS .E SE5U:I.A.
Administración Avanzada de Oracle 10g
1,6
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
COPIA FICHERO CONTROL.
• Xic(ero *e traLa-
– Se generan sentencias SQL de creación del fichero de
control en un fichero de traza (arrancan la bd, recrean el
f.control, y recuperan y abren la bd).
– Debe montarse o abrirse la bd y ejecutar la sentencia:
!*TER D!T!B!SE B!CA31 CONTRO*5I*E TO
TR!CE0
– Si no se indica RESETLOFS ni +ORESETLOFS en la
sentencia, el fichero de traza contiene versiones del fichero
para ambas opciones. Las entradas de ficheros temporales
se incluyen en la salida usando sentencias "!*TER
T!B*ES1!CE### !DD TE"15I*E”.
CO+IAS .E SE5U:I.A.
Administración Avanzada de Oracle 10g
1,#
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
COPIA “REDO” ARCHIVADO.
• Los ficheros de “redo” archivado generados pueden copiarse a
cinta u otro dispositivo y, de esta forma, ahorrar espacio
donde este localizada la bd.
• Para realizar la copia, se averiguan los ficheros de “redo”
archivado que la bd ha generado:
SHL5 SELECT THREAD_&SEHEE+CE_&+A!E
XRO! /$ARCHI/EDLOFY
• Se realiza una copia de cada número de secuencia de “log”
(en caso de guardar múltiples copias, sólo es necesario una
por número de secuencia).
CO+IAS .E SE5U:I.A.
Administración Avanzada de Oracle 10g
1,$
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
COPIA OTROS FICHEROS.
• Como norma general, cada vez que se modifiquen deben
copiarse además el fichero de parámetros de inicialización, los
de interconexión y el de contraseñas.
• La forma más sencilla de localizarlos es realizar una búsqueda
automática desde $ORACLE_HOME de todos los ficheros
acabados en “#ora” (orden find de s.o. UNIX).
CO+IAS .E SE5U:I.A.
Administración Avanzada de Oracle 10g
1,,
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
COPIA MODO “SUSPEND”.
• Existen herramientas que permiten hacer copias “espejo” o
duplicados exactos y desvincular la copia del original de forma
que puedan usarse independientemente.
• Con la funcionalidad S3S1END&RES3"E puede suspenderse
la entrada/salida de la bd, desvincular la copia “espejo” y
hacer una copia de la misma. En este estado no puede
ejecutarse SHETDOR+ I!!EDIATE& +OR!AL o
TRA+SACTIO+AL; ejecutar SHETDOR+ A0ORT reactiva la bd.
En una configuración RAC no debe arrancarse una nueva
instancia mientras los nodos originales están en suspenso.
• La sentencia !*TER S.STE" S3S1END permite “suspender”
la bd, todas las operaciones E/S se completan pero cualquier
nueva operación se guarda en cola. Se recomienda que se
preceda con una sentencia “be#in bac?'p” (inicio de copia).
• Tras la copia se ejecuta la sentencia !*TER S.STE"
RES3"E-
CO+IAS .E SE5U:I.A.
Administración Avanzada de Oracle 10g
200
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
COPIA MODO “SUSPEND”.
• Poner los tbsp en modo copia:
ALTER TA0LESPACE 4no"bre5 0EFI+ 0ACGEPY o
ALTER DATA0ASE 0EFI+ 0ACGEPY
• Suspender la bd: ALTER S.STE! SESPE+DY
• Comprobar el cambio de estado (consultar /$I+STA+CE, campo
DATA0ASESTATES; SELECT DATA0ASESTATES XRO! /$I+STA+CEY
• Realizar la copia espejo.
• Finalizar la suspensión de la bd: ALTER S.STE! RESE!EY
• Comprobar que la bd está activa (consultar /$I+STA+CE, campo
DATA0ASESTATES).
• Poner tbsp modo no copia: ALTER TA0LESPACE 'sers E+D 0ACGEPY
• Copiar el f.control y archivar los “redo” en línea.
CO+IAS .E SE5U:I.A.
Administración Avanzada de Oracle 10g
201
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
CO+IAS .E SE5U:I.A.
METO.OS .E @E:I9ICACION .E
CO+IA%
:ESTAU:ACION .E CO+IAS
./@E:I9E
Administración Avanzada de Oracle 10g
202
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
RESTAURACION DE COPIAS.
• Periódicamente deben verificarse las copias realizadas para
asegurar que son útiles para la recuperación.
• La mejor forma de hacerlo es restaurar las copias en otra
máquina e intentar abrir la bd, realizando recuperación si es
necesario.
CO+IAS .E SE5U:I.A.
Administración Avanzada de Oracle 10g
20
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
DBVERIFY:
DATABASE VERIFICATION UTILITY.
• Es una utilidad que hace un chequeo de integridad de la
estructura de datos física de una base de datos en línea o
fuera de línea.
• Puede usarse en ficheros de copia (“backup”) y ficheros en
línea (o unidades menores). Generalmente se intenta
asegurar así que una copia es válida antes de restaurarla, o
como herramienta de diagnóstico cuando se encuentran
problemas de corrupción de datos.
• Al ejecutarse sobre una bd fuera de línea, los chequeos son
mucho más rápidos. Estos se limitan a bloques de datos -no a
ficheros de control ni “redo logs”.
CO+IAS .E SE5U:I.A.
Administración Avanzada de Oracle 10g
20!
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
DBVERIFY. VALIDACION FICHEROS.
• Se verifican uno o más bloques de disco pertenecientes a un
fichero de datos y se realizan chequeos de página. Si el
fichero es del tipo A'to"atic Stora#e !ana#e"ent 1AS!3
debe indicarse un ESERID.
*bv ESERID 2 4's'ario5 W XILE 24no"bre*e)ic(ero5
W \ START 2 4*irecciKnblo='e5 W E+D 2
4*irecciKnblo='e5 ]
W 0LOCGSIIE 2 inte#er
W LOFXILE 2 4no"bre*e)ic(ero5
W XEED0ACG 2 inte#er
W HELP 2 \ . W + ]
W PARXILE 2 4no"bre*e)ic(ero5
Por ejemplo, *bv XILE2no"ina-*b) XEED0ACG2$%%
CO+IAS .E SE5U:I.A.
Administración Avanzada de Oracle 10g
20"
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
DBVERIFY. VALIDACION FICHEROS.
• Los parámetros tienen el siguiente significado:
– ESERID ... Nombre de usuario y contraseña. Sólo en el caso de
ficheros ASM-
– XILE ... Nombre del fichero de bd a verificar.
– START ... Dirección inicial del bloque Oracle a verificar (por
defecto, el primero del fichero).
– E+D ... Dirección del último bloque a verificar (por defecto el
último en el fichero).
– 0LOCGSIIE ... Necesario si el fichero no tiene un tamaño de
bloque de 2 KB. Si es así y no se indica se genera el error DBV-
00103.
CO+IAS .E SE5U:I.A.
Administración Avanzada de Oracle 10g
206
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
DBVERIFY. VALIDACION FICHEROS.
– LOFXILE ... Fichero donde se guarda información (por defecto el
terminal).
– XEED0ACG ... Informe de progreso de la verificación enviado al
terminal. Un punto (.) por cada n número de página verificadas. Si
n = 0, no hay informe.
– HELP ... Ayuda en línea.
– PARXILE ... Fichero de parámetros.
CO+IAS .E SE5U:I.A.
Administración Avanzada de Oracle 10g
20#
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
DBVERIFY. VALIDACION FICHEROS.
&ho(e&oracle> d=v file%&u;:&###&###&users;6#d=f feed=ac-%6;;
###
DBVERI5. K Verification starting E 5I*E % users;6#d=f
#####################
DBVERI5. K Verification co(plete
Total 1ages EFa(ined E :;98
Total 1ages 1rocessed $Data' E ;
Total 1ages 5ailing $Data' E ;
Total 1ages 1rocessed $IndeF'E ;
Total 1ages 5ailing $IndeF'E ;
Total 1ages 5ailing $Seg' E ;
Total 1ages E(pty E :;6L
Total 1ages "ar-ed Corrupt E ;
Total 1ages InfluF E ;
CO+IAS .E SE5U:I.A.
Administración Avanzada de Oracle 10g
20$
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
DBVERIFY. VALIDACION FICHEROS.
+ages = bloques
T(tal +ages ECamined = número de bloques en el fichero
T(tal +ages +r(cessed = número de bloques que se verificaron
(formatted blocks)
T(tal +ages 9ailing 6.ata7 = número de bloques que fallaron la rutina
de chequeo de bloque de datos.
T(tal +ages 9ailing 6IndeC7 = idem para bloque de índices.
T(tal +ages Mar*ed C(rr28t = número de bloques para los que la
cabecera de caché no es válida, haciendo que fuera imposible
determinar el tipo de bloque para DBVERIFY.
T(tal +ages In&l2C = número de bloques que estan siendo leidos y
escritos en el mismo tiempo. Si la bd está abierta, se leen los bloques
múltiples veces para generar una imagen consistente. Por esta misma
razón, pueden haber bloques leidos y escritos a la vez (INFLUX) para
los que no se puede obtener una imagen consistente.
CO+IAS .E SE5U:I.A.
Administración Avanzada de Oracle 10g
20,
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
DBVERIFY. VALIDACION SEGMENTOS.
• Permite indicar un segmento de tabla o índice a verificar.
• Requiere la conexión a la bd con privilegios de SYSDBA, e
indicar el segmento concreto a validar.
• Durante la comprobación, el segmento es bloqueado. Si se
trata de un segmento de índice, la tabla padre es bloqueada
asimismo (algunos índices como los index-organized table
-IOT-, donde se mantiene las filas de la tabla en un índice
construido en la clave primaria, no tienen tabla padre).
CO+IAS .E SE5U:I.A.
Administración Avanzada de Oracle 10g
210
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
DBVERIFY. VALIDACION SEGMENTOS.
dbv USERID = usuario/contraseña
| SEGMENT_ID = tsn.segfile.segblock
| LOGFILE = <nombre_fichero>
| FEEDBACK = integer
| HELP = { Y | N }
| PARFILE = <nombre_fichero>
• Los parámetros tienen el siguiente significado:
– SEF!E+TID ... Segmento a verificar. Compuesto por número de
tbsp (tsn), “segment header file number” (segfile) y “segment
header block number” (segblock). El número de tbsp puede
obtenerse de v$tablespace, campo ts#, y segfile y segblock de
dba_segments. También puede consultarse SYS_USER_SEGS
(necesario el privilegio SYSDBA).
– LOFXILE ... Fichero donde se guarda información (por defecto el
terminal).
CO+IAS .E SE5U:I.A.
Administración Avanzada de Oracle 10g
211
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
DBVERIFY. VALIDACION SEGMENTOS.
– XEED0ACG ... Informe de progreso de la verificación enviado al
terminal. Un punto (.) por cada n número de página verificadas. Si
n = 0, no hay informe.
– HELP ... Ayuda en línea.
– PARXILE ... Fichero de parámetros.
S2*> select a#na(e ta=lespaceG a#tsM nu(erot=spG
=#SE/"ENTN!"E seg(entoG =#+E!DER5I*E ca=eceraG
=#+E!DERB*OCA =loBue fro( v)ta=lespace aG d=aseg(ents =
,here a#na(e%=#T!B*ES1!CEN!"E and
=#ta=lespacena(e%J3SERSJ and =#o,ner%JSCOTTJ order =y
=#SE/"ENTN!"E0
###
3SERS ;
DE1T 6 H7I96
###
CO+IAS .E SE5U:I.A.
Administración Avanzada de Oracle 10g
212
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
DBVERIFY. VALIDACION SEGMENTOS.
&ho(e&oracle> d=v userid%syste(&systFFFF seg(entid%;#6#H7I96
###
DBVERI5. K Verification starting E SE/"ENTID % ;#6#H7I96
DBVERI5. K Verification co(plete
Total 1ages EFa(ined E :
Total 1ages 1rocessed $Data' E 6
Total 1ages 5ailing $Data' E ;
Total 1ages 1rocessed $IndeF'E ;
Total 1ages 5ailing $IndeF'E ;
Total 1ages 1rocessed $Other'E ;
Total 1ages 1rocessed $Seg' E 6
Total 1ages 5ailing $Seg' E ;
Total 1ages E(pty E ;
Total 1ages "ar-ed Corrupt E ;
Total 1ages InfluF E ;
CO+IAS .E SE5U:I.A.
Administración Avanzada de Oracle 10g
21
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
CO+IAS .E SE5U:I.A.
9;AS1/AC> .ATA/ASE
Administración Avanzada de Oracle 10g
21!
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
FLASHBACK DATABASE.
• “Flashback Database” permite “retroceder” la bd al completo y
deshacer los efectos de cambios no deseados en la bd. El resultado
es muy similar a realizar una recuperación “point-in-time” aunque
más rápida pues mo es preciso restaurar ficheros desde un soporte
y resquiere aplicar menos cambios desde el “redo” archivado.
• Los puntos de restauración garantizada (“restore points”) permiten
seleccionar un SCN y asegurar que “flashback database” podrá
usarse en dicho SCN -aunque no necesariamente en los SCN entre
el punto de chequeo y el momento actual- (incluso operaciones
+OLOFFI+F u operaciones OPE+ RESETLOFS).
• “Restore points” y “Flashback Database” pueden usarse
independientemente o combinados. En cualquier caso, la sentencia
RMAN 5*!S+B!CA D!T!B!SE o la SQL*Plus 5*!S+B!CA
D!T!B!SE se emplean para devolver la bd al SCN indicado:
FLASHBACK DATABASE TO RESTORE POINT “before_upgrade”;
FLASHBACK DATABASE TO SCN 202381;
CO+IAS .E SE5U:I.A.
Administración Avanzada de Oracle 10g
21"
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
FLASHBACK DATABASE.
• “Flashback Database” emplea su propio mecanismo de log, se
crean los “&las03ac* l(gsA que se almacenan en el área “flash”
(proceso “&las03ac* 'riter ):@F:)). Para habilitar esta
característica debe crearse un área “flash” e indicar un “&las03ac*
retenti(n targetA o margen temporal en el que se podrá
recuperar hacia el pasado.
• Definido ese punto, la bd copia a intervalos regulares imágenes de
cada bloque modificado en cada fichero de datos en los log de
“flashback”. Estas copias se reconstruyen los ficheros de datos.
• El rango de SCNs o ventana para los que hay suficientes datos
“flashback log” como para realizar un “FLASHBACK DATABASE”
depende del espacio en el área “flash”. Operaciones como el
borrado de un tbsp. no son reversibles con este método (la
ventana empezaría a continuación de los mismos). El uso de
puntos de restauración garantizada es la única forma de asegurar
el regreso a un SCN concreto o ancho de ventana de “flashback”.
CO+IAS .E SE5U:I.A.
Administración Avanzada de Oracle 10g
216
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
FLASHBACK DATABASE.
• Si se habilita “Flashback Database” y uno o más puntos de
restauración garantizada, la bd guarda los log de flashback, lo que
puede generar cierta sobrecarga en el funcionamiento de la bd y
uso de espacio del área “flash”.
• Se retienen los log necesarios para permitir retroceder al punto de
restauración más antiguo y los log no se borran si se necesitan
para garantizar este extremo. Es conveniente monitorizar el
espacio en el área “flash”.
CO+IAS .E SE5U:I.A.
Administración Avanzada de Oracle 10g
21#
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
PUNTOS RESTAURACION.
• Para crearlos se usa la sentencia SQL*Plus CRE!TE RESTORE
1OINT indicando un nombre para el mismo y si se trata de un
punto garantizado o normal (por defecto). La bd puede estar
abierta o montada, siempre que en este último caso haya sido
parada coherentemente.
SHL5 CREATE RESTORE POI+T 4no"bre5Y
SHL5 CREATE RESTORE POI+T 4no"bre5 FEARA+TEE XLASH0ACG
DATA0ASEY
• Para borrar un punto de restauración se usa la sentencia SQL*Plus
DRO1 RESTORE 1OINT:
SHL5 DROP RESTORE POI+T 4no"bre5Y
CO+IAS .E SE5U:I.A.
Administración Avanzada de Oracle 10g
21$
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
PUNTOS RESTAURACION.
• Los puntos normales pueden ser descartados aunque no se borren.
Así sucede que los 2048 puntos más recientes se guardan en el
fichero de control independientemente de su edad y cualquier
punto más reciente que el valor de
CONTRO*5I*ERECORDAEE1TI"E se retiene
independientemente de cuantos puntos haya definidos. Cualquier
punto normal que no cumpla ninguna de las dos condiciones
mencionadas puede desaparecer del fichero de control.
• Los puntos de control garantizados siempre permanecen hasta que
se borran explícitamente. Al definir este tipo de puntos, debe
monitorizarse el espacio usado en el área “flash” (vistas
/$RECO/ER.XILEDEST y /$XLASHRECO/ER.AREAESAFE>3.
CO+IAS .E SE5U:I.A.
Administración Avanzada de Oracle 10g
21,
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
PUNTOS RESTAURACION.
• La vista V)RESTORE1OINT permite ver los puntos de
restauración definidos:
SHL5 SELECT +A!E& SC+& TI!E& DATA0ASEI+CAR+ATIO+_&
FEARA+TEEXLASH0ACGDATA0ASE&STORAFESIIE
XRO! /$RESTOREPOI+TY
• Para ver aquellos puntos garantizados solamente:
SHL5 SELECT +A!E& SC+& TI!E& DATA0ASEI+CAR+ATIO+_&
FEARA+TEEXLASH0ACGDATA0ASE& STORAFESIIE
XRO! /$RESTOREPOI+T
RHERE FEARA+TEEXLASH0ACGDATA0ASE2V.ESVY
• Para puntos de restauración normales STORAFESIIE es cero.
Para los garantizados STORAFESIIE indica la cantidad de espacio
en el área “flash” usada para retener log necesarios para
garantizar el regreso a dicho punto con XLASH0ACG DATA0ASE.
CO+IAS .E SE5U:I.A.
Administración Avanzada de Oracle 10g
220
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
ACTIVAR FLASHBACK DATABASE.
• Debe fijarse un valor para el parámetro de inicialización, dinámico,
DB5*!S+B!CARETENTIONT!R/ET (ventana de
recuperación) y ejecutarse !*TER D!T!B!SE 5*!S+B!CA ON.
En grandes bd es conveniente fijar el parámetro *O/B355ER a
un valor de, al menos, 8Mb.
1.- Montar la bd
SHL5 SHETDOR+ I!!EDIATEY
SHL5 STARTEP !OE+TY
2.- Indicar ventana de recuperación (por defecto 1440 minutos -24h-).
SHL5 ALTER S.STE! SET
D0XLASH0ACGRETE+TIO+TARFET2QS7%Y
3.- Activar Flashback Database para la bd al completo.
SHL5 ALTER DATA0ASE XLASH0ACG O+Y
Para desactivar “flashback”: SHL5 ALTER DATA0ASE XLASH0ACG OXXY
CO+IAS .E SE5U:I.A.
Administración Avanzada de Oracle 10g
221
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
ACTIVAR FLASHBACK DATABASE.
• Puede habilitarse/deshabilitarse el “flashback” para tbsp.
específicos
SHL5 ALTER TA0LESPACE 4no"bretbsp5 XLASH0ACG O+/OXXY
• Si se deshabilita Flashback para un tbsp., deben ponerse fuera de
línea sus ficheros de datos antes de ejecutar FLASHBACK
DATABASE.
• D0XLASH0ACGRETE+TIO+TARFET determina indirectamente
cuanto log se retendrá. V)5*!S+B!CAD!T!B!SE*O/ ayuda
a estimar cuánto espacio es necesario para log de “flashback”.
SHL5 SELECT ESTI!ATEDXLASH0ACGSIIE XRO!
/$XLASH0ACGDATA0ASELOFY
N(ta% Debe añadirse el espacio indicado en ESTI!ATEDXLASH0ACGSIIE al
área de “flash”.
CO+IAS .E SE5U:I.A.
Administración Avanzada de Oracle 10g
222
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
VENTANA FLASHBACK DATABASE.
• El SCN más antiguo puede determinarse de la forma siguiente:
SHL5 SELECT OLDESTXLASH0ACGSC+& OLDESTXLASH0ACGTI!E
XRO! /$XLASH0ACGDATA0ASELOFY
• El SCN más reciente puede obtenerse:
SHL5 SELECT CERRE+TSC+ XRO! /$DATA0ASEY
CO+IAS .E SE5U:I.A.
Administración Avanzada de Oracle 10g
22
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
MONITORIZACION FLASHBACK DB.
• Existen varias formas de monitorización:
– Realización de estadísticas usando Oracle Statspack.
– Consultar la vista V)5*!S+B!CAD!T!B!SEST!T
(columnas FLASHBACK_DATA, REDO_DATA y DB_DATA).
– Consultar la vista V)S.SST!T (columnas “physical write I/O
request”, “physical read I/O request”, “redo writes” y
“flashback log writes”).
CO+IAS .E SE5U:I.A.
Administración Avanzada de Oracle 10g
22!
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
CO+IAS .E SE5U:I.A.
CO+IA ;O5ICA
Administración Avanzada de Oracle 10g
22"
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
COPIA LÓGICA.
DATA PUMP EXPORT/IMPORT.
• Son utilidades integradas en la bd que permiten cargas y
descargas de información a gran velocidad. Todo el proceso de
exportación/importación se lleva a cabo en el servidor.
• No son compatibles con el export/import originales.
• Consta de los siguientes componentes:
– Clientes exp*p e i"p*p. Usan los procedimientos
proporcionados por el paquete DBMS_DATAPUMP.
– Paquete D0!SDATAPE!P. Conocido como Data Pump API,
permite crear y monitorizar los trabajos implicados.
– Paquete D0!S!ETADATA. Conocido como Metadata API,
proporciona la definición de los objetos de la bd a Data Pump.
CO+IAS .E SE5U:I.A.
Administración Avanzada de Oracle 10g
226
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
DATA PUMP. EJECUCIÓN.
• En cada exportación o importación se crea un proceso maestro que
controla la misma, incluyendo la comunicación con los clientes, la
creación y control del conjunto de procesos de trabajo necesarios y
la realización de las operaciones de conexión.
• En la transferencia de datos y metadatos, se emplea un tabla
maestro, que se crea en el esquema del usuario que realiza la
exportación/importación y tiene el nombre del trabajo -job- que
realiza la operación, para realizar el seguimiento del proceso:
– Durante la exportación la tabla registra la localización de los objetos en
el conjunto de ficheros de descarga (“*'"p )ile set”). Al finalizar, el
contenido de la tabla se escribe a fichero.
– Durante la importación la tabla maestro se carga desde el conjunto de
ficheros de descarga y se emplea para controlar la secuencia de
localización de los ficheros a importar.
CO+IAS .E SE5U:I.A.
Administración Avanzada de Oracle 10g
22#
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
DATA PUMP. EJECUCIÓN.
• Esta tabla maestro también 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 STOPJO0, se retiene para
poder reiniciarlo.
– Si el trabajo se elimina, usando la sentencia GILLJO0, la tabla se
elimina y el trabajo no puede reiniciar.
– Si un trabajo termina inesperadamente, se mantiene la tabla. Puede
borrarse si no hay intención 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 STATES en modo
interactivo de Data Pump.
CO+IAS .E SE5U:I.A.
Administración Avanzada de Oracle 10g
22$
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
DATA PUMP. INFORMACIÓN.
• Puede obtenerse información en las siguientes vistas:
– D0ADATAPE!PJO0S y ESERDATAPE!PJO0S. Identifican trabajos
Data Pump activos.
– D0ADATAPE!PSESSIO+S. Identifica sesiones de usuario asociadas a
un trabajo.
– /$SESSIO+LO+FOPS. Información sobre el progreso del trabajo.
CO+IAS .E SE5U:I.A.
Administración Avanzada de Oracle 10g
22,
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
DATA PUMP. FICHEROS.
• Existen tres tipos de ficheros gestionados por Data Pump:
– Ficheros de volcado (“dump”). Contienen datos y metadatos.
Durante una exportación pueden indicarse al definir el trabajo así
como posteriormente (por ejemplo, pueden añadirse ficheros de
volcado con ADDXILE).
Durante un importación, todos los ficheros de volcado deben
especificarse al definir el trabajo.
– Ficheros “log”. Contienen mensajes sobre la operación realizada.
– Ficheros SQL. Registran la salida de una operación SHLXILE (parámetro
SHLXILE) consistente en el volcado de todas las sentencias DDL que se
hubieran ejecutado durante una importación a un fichero.
N(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.
CO+IAS .E SE5U:I.A.
Administración Avanzada de Oracle 10g
20
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
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 A+. DIRECTOR.. Al exportar/importar se
indica mediante el parámetro DIRECTOR..
SHL5 CREATE DIRECTOR. DPE!P/OLCADO AS V/*atap'"p/)ic(erosVY
Por defecto se asigna el valor para DATAPE!PDIR;
SHL5 CREATE DIRECTOR. DATAPE!PDIR AS V/*atap'"p/)ic(erosVY
• Tras la creación de un directorio, su creador debe conceder el
permiso de lectura (READ) o escritura (WRITE) a otros usuarios.
SHL5 FRA+T READ& RRITE O+ DIRECTOR. 4*irectorio5 TO 4's'ario5Y
N(ta% Implica tener acceso a través de bd pero no el poder acceder a
través de s.o.
CO+IAS .E SE5U:I.A.
Administración Avanzada de Oracle 10g
21
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
DATA PUMP.
LOCALIZACION DE FICHEROS.
• El orden de precedencia usado para determinar la localización es:
1.- Objeto directorio formando parte de la especificación de un
nombre de fichero (DE!PXILE24localiLaciKn5;4)ic(ero5-*"p).
2.- Objeto directorio indicado en el parámetro DIRECTOR..
3.- Valor de la variable de entorno DATAPE!PDIR (definida en
el entorno del cliente):
SHL5 CREATE DIRECTOR. DE!PXICHERO AS
V/DATAPE!P/XICHEROSVY
_ EOPORT DATAPE!PDIR24/ARIA0LEXICHERO/OLCADO5
4.- Si es un usuario privilegiado se emplea el valor por defecto en
bd del directorio DATAPE!PDIR (que debe estar previamente
creado). No confundir con la variable de entorno.
CO+IAS .E SE5U:I.A.
Administración Avanzada de Oracle 10g
22
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
DATA PUMP EXPORT.
• Se emplea la utilidad exp*p, indicando las características de la
exportación en la línea de comandos o mediante un fichero de
parámetros. Los ficheros resultantes de una exportación sólo
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 RRITE en el
objeto directorio y deben indicar éste en el parámetro DIRECTORY
o junto al nombre de fichero de volcado.
Modo ayuda en línea: exp*p HELP2y
Modo interactivo: exp*p *irectory24localiLaciKn5
Modo fichero de parámetros: exp*p PARXILE24)ic(eropara"etros5
N(ta% Si no se indica ningún otro parámetro se usan los valores por defecto en la
exportación: exp*at-*"p y export-lo# -ficheros-, exportación a nivel de esquema,
S.SEOPORTSCHE!A%$ -trabajo- y se exportan datos y metadatos.
CO+IAS .E SE5U:I.A.
Administración Avanzada de Oracle 10g
2
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
DATA PUMP EXPORT.
• Existen cinco modos de trabajar con “datapump export”:
- “Full export” (parámetro XELL). Se exporta toda la bd. Es
necesario el rol EOPXELLDATA0ASE-
- NEsquema de usuario> (parámetro SCHE!AS)- Si no se posee rol
EOPXELLDATA0ASE sólo es posible exportar el esquema propio.
- “Tabla” (parámetro TA0LES3. Para exportar tablas no
pertenecientes al propio esquema es necesario el rol
EOPXELLDATA0ASE-
- “Tablespace” (parámetro TA0LESPACES). Debe tenerse el rol
EOPXELLDATA0ASE-
- “Transport Tablespace” (parámetro TRA+SPORTTA0LESPACES).
Permite exportar metadatos para tablas y objetos dependientes
pertenecientes a un conjunto de espacios de almacenamiento. Es
necesario el rol EOPXELLDATA0ASE.
CO+IAS .E SE5U:I.A.
Administración Avanzada de Oracle 10g
2!
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
DATA PUMP EXPORT.
PARÁMETROS.
• CO+TE+T 24!** W DATAO+L. W !ETADATAO+L.5
Indica contenido a exportar: datos, metadatos o ambos.
• DIRECTOR. 24D!T!13"1DIR5
Localización para los ficheros de volcado y registro.
• DE!PXILE 2 4*irectorioobPeto;5no"bre)ic(ero
Fichero de volcado. Por defecto exp*at-*"p
• ESTI!ATE 2 4B*OCAS W STATISTICS5
Método de estimación de espacio en disco necesario para cada tabla.
• ESTI!ATEO+L. 24N W .5
Permite estimar el espacio consumido en una exportación sin realizarla.
CO+IAS .E SE5U:I.A.
Administración Avanzada de Oracle 10g
2"
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
DATA PUMP EXPORT.
PARÁMETROS.
• EOCLEDE 2 tipoobPeto 4;cl,'s'la5
Filtrar metadatos exportados indicando objetos y tipos excluidos. Por
defecto ninguno. Es excluyente con el parámetro INCLUDE.
• XILESIIE
Tamaño máximo para ficheros de exportación (por defecto ilimitado).
• XELL 2 4N W .5
Realizar una exportación 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.
CO+IAS .E SE5U:I.A.
Administración Avanzada de Oracle 10g
26
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
DATA PUMP EXPORT.
PARÁMETROS.
• I+CLEDE 2 tipoobPeto 4;cl,'s'la5
Xiltrar "eta*atos exporta*os in*ican*o obPetos y tipos incl'i*os
1cons'ltar las vistas DATA0ASEEOPORTO0JECTS&
SCHE!AEOPORTO0JECTS y TA0LEEOPORTO0JECTS3-
• JO0+A!E
Especificar un nombre para el trabajo, “job”, de exportación; coincide
tambien con la tabla maestro usada para controlar la exportación.
Por defecto de las forma sysexport4"o*o5xx
• LOFXILE 2 4*irectorioobPeto;5no"bre)ic(ero
Fichero de registro, por defecto export-lo#
• +OLOFXILE 2 4. W N5
No crear fichero de registro.
CO+IAS .E SE5U:I.A.
Administración Avanzada de Oracle 10g
2#
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
DATA PUMP EXPORT.
PARÁMETROS.
• PARALELL 2 n
Grado de paralelismo en la ejecución (por defecto 1). Su número debe
ser igual al número de ficheros de volcado indicados.
• HEER. 24no"brees='e"a-54no"bretabla5 W 4cl,'s'la5
Permite seleccionar filas a exportar según condiciones a cumplir. No
compatible con CO+TE+T2!ETADATAO+L.& ESTI!ATEO+L. o
TRA+SPORTTA0LESPACES.
• SCHE!AS 24lista *e es='e"as5
Permite indicar que se realizará una exportación de esquemas, es el
modo por defecto. Por defecto referencia el esquema de usuario.
• STATES 2 nn
Frecuencia con que muestra el estado del trabajo junto a una
descripción de la operación actual (por defecto es cero y no muestra
información hasta acabar la exportación de cada objeto).
CO+IAS .E SE5U:I.A.
Administración Avanzada de Oracle 10g
2$
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
DATA PUMP EXPORT.
PARÁMETROS.
• TA0LES 2 4no"brees='e"a-54no"bretabla5& ---
Indica exportación en modo tabla (del propio esquema, por defecto).
• TA0LESPACES 2 4no"breespacioal"ac5& ---
Indica tbsp. a exportar en modo “tablespace”.
• TRA+SPORTXELLCHECG 24N @ .5
Chequear o no las dependencias entre los objetos residentes los
espacios de almacenamiento a “transportar” y aquellos situados
fuera del conjunto (sólo en modo “transport tablespace”).
• TRA+SPORTTA0LESPACES 2 4no"breespacioal"ac5& ---
Realizar una exportación 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
EOPXELLDATA0ASE, sus trabajos no se pueden reiniciar.
CO+IAS .E SE5U:I.A.
Administración Avanzada de Oracle 10g
2,
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
DATA PUMP EXPORT.
MODO INTERACTIVO.
• Tras iniciar un trabajo, puesto que se ejecuta en el servidor, es
posible interrumpir la sesión cliente y asociarse al trabajo
posteriormente. También es posible modificar ciertos parámetros
de forma interactiva.
Para pasar a modo interactivo puede interrumpirse la conexión
actual con CtrlbC y asociar posteriormente una sesión cliente
(ATTACH):
/(o"e/---5 exp*p attac(24no"bretrabaPo5
Los parámetros que pueden usarse en modo interactivo son:
– ADDXILE 2 4*irectorio;54no"bre)ic(ero5& ---
Permite añadir ficheros de volcado.
CO+IAS .E SE5U:I.A.
Administración Avanzada de Oracle 10g
2!0
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
DATA PUMP EXPORT.
MODO INTERACTIVO.
– CO+TI+EECLIE+T- Salir de modo interactivo y entrar en modo
registro.
– EOITCLIE+T- Salir de sesión cliente. El trabajo continúa
ejecutándose en el servidor.
– HELP- Ayuda en línea.
– GILLJO0- Cancelar trabajo actual y desasociar las sesiones cliente
relacionadas.
– PARALLEL- Indicar grado paralelismo o número de trabajos.
– STARTJO0- Reiniciar el trabajo asociado.
– STATES- Mostrar informe del estado del trabajo asociado.
– STOPJO0 :I+!EDIATE<- Detener el trabajo asociado, puede
reiniciarse más tarde. Con “inmediate” los procesos acaban al
instante, las tareas incompletas se volverán a realizar al reiniciarlo.
CO+IAS .E SE5U:I.A.
Administración Avanzada de Oracle 10g
2!1
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
DATA PUMP IMPORT.
• Se emplea la utilidad i"p*p, indicando las características de la
importación en la línea de comandos o mediante un fichero de
parámetros. Sólo pueden usarse en la importación ficheros creados
con D.P. Export.
Los usuarios deben tener permiso READ 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 línea: i"p*p HELP2y
Modo interactivo: i"p*p *irectory24localiLaciKn5
Modo fichero de parámetros: i"p*p PARXILE24)ic(eropara"etros5
N(ta% Si no se indica ningún otro parámetro se usan los valores por defecto en la
exportación: exp*at-*"p e i"port-lo# -ficheros-, importación total del fichero y trabajo
S.SI!PORTxx%$.
CO+IAS .E SE5U:I.A.
Administración Avanzada de Oracle 10g
2!2
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
DATA PUMP IMPORT.
• Existen cinco modos de trabajar con “datapump import”:
- “Full import” (parámetro XELL). Se importa el fichero de volcado al
completo (modo por defecto). Necesario el rol I!PXELLDATA0ASE
si se hizo la exportación con EOPXELLDATA0ASE-
- NEsquema de usuario> (parámetro SCHE!AS)- Sólo se cargan
objetos propiedad del usuario actual. Si se posee rol
I!PXELLDATA0ASE pueden cargarse esquemas diferentes al
propio.
- “Tabla” (parámetro TA0LES3. Para importar tablas no pertenecientes
al propio esquema es necesario el rol I!PXELLDATA0ASE-
- “Tablespace” (parámetro TA0LESPACES).
- “Transport Tablespace” (parámetro TRA+SPORTTA0LESPACES).
Permite importar metadatos para un conjunto de espacios de
almacenamiento. Es necesario el rol I!PXELLDATA0ASE.
CO+IAS .E SE5U:I.A.
Administración Avanzada de Oracle 10g
2!
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
DATA PUMP IMPORT.
PARÁMETROS.
• CO+TE+T 24!** W DATAO+L. W !ETADATAO+L.5
Indica contenido a importar: datos -filas, no se crean objetos-,
metadatos -definiciones- o ambos.
• DIRECTOR. 24D!T!13"1DIR5
Por defecto DATAPE!PDIR para usuarios privilegiados, ninguno para
el resto. Localización para los ficheros de volcado y registro.
• DE!PXILE 2 4*irectorioobPeto;5no"bre)ic(ero
Fichero de volcado. Por defecto exp*at-*"p
• ESTI!ATE 2 4B*OCAS W STATISTICS5
Método de estimación de espacio en disco necesario para cada tabla
(sólo válido si se indica también NETWORK_LINK).
CO+IAS .E SE5U:I.A.
Administración Avanzada de Oracle 10g
2!!
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
DATA PUMP IMPORT.
PARÁMETROS.
• EOCLEDE 2 tipoobPeto 4;cl,'s'la5
Filtrar metadatos importados indicando objetos y tipos excluidos. Por
defecto ninguno. Es excluyente con el parámetro INCLUDE. No
puede usarse junto con CO+TE+T2DATAO+L.-
• XELL 2 4+ W .5
Realizar una exportación de la bd al completo, todo el fichero fuente se
importa. Si la operación de exportación que dio lugar al fichero se
hizo usando el rol EOPXELLDATA0ASE, es necesario el rol
I!PXELLDATA0ASE.
• I+CLEDE 2 tipoobPeto 4;cl,'s'la5
Filtrar metadatos importados indicando objetos y tipos incluidos
(consultar las vistas DATA0ASEEOPORTO0JECTS&
SCHE!AEOPORTO0JECTS y TA0LEEOPORTO0JECTS). No puede
usarse junto con CO+TE+T2DATAO+L.-
CO+IAS .E SE5U:I.A.
Administración Avanzada de Oracle 10g
2!"
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
DATA PUMP IMPORT.
PARÁMETROS.
• JO0+A!E
Especificar un nombre para el trabajo, “job”, de importación; coincide
tambien con la tabla maestro usada para controlar la importación.
Por defecto de las forma sysi"port4"o*o5xx
• LOFXILE 2 4*irectorioobPeto;5no"bre)ic(ero
Fichero de registro, por defecto i"port-lo#-
• +OLOFXILE 2 4. W N5
No crear fichero de registro.
• PARALELL 2 n
Grado de paralelismo en la ejecución (por defecto 1).
CO+IAS .E SE5U:I.A.
Administración Avanzada de Oracle 10g
2!6
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
DATA PUMP IMPORT.
PARÁMETROS.
• HEER. 24no"brees='e"a-54no"bretabla;5 4cl,'s'la5
Permite seleccionar filas a importar según condiciones a cumplir. No
compatible con CO+TE+T2!ETADATAO+L.& SHLXILE o
TRA+SPORTTA0LESPACES.
• RE!APDATAXILE2)ic(ero)'ente ; )ic(ero*estino
Cambia el nombre de fichero_fuente por el de fichero_destino en las
sentencias SQL donde se referencie la fuente (CREATE TA0LESPACE&
CREATE LI0RAR. y CREATE DIRECTOR.). Debe tenerse el rol
I!PXELLDATA0ASE.
• RE!APSCHE!A2es='e"a)'ente ; es='e"a*estino
Carga objetos del esquema fuente al esquema destino. Debe tenerse el
rol I!PXELLDATA0ASE. Si el esquema destino no existe, se crea si
el fichero de volcado contiene la información necesaria (CREATE
ESER) y se importa con suficientes privilegios (en caso contrario
debe crearse previamente).
CO+IAS .E SE5U:I.A.
Administración Avanzada de Oracle 10g
2!#
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
DATA PUMP IMPORT.
PARÁMETROS.
• RE!APTA0LESPACE2tbsp)'ente ; tbsp*estino
Carga todos los objetos, incluso el usuario, del esquema fuente en el
esquema destino.
• REESEDATAXILES24. W N5
Indica si la operación de importación debe reutilizar los ficheros de
datos existentes o no en la creación de espacios de almacenamiento.
• SGIPE+ESA0LEI+DEOES24. W N5
Permite indicar que no se carguen tablas que tengan índices en estado
no disponible.
• SHLXILE24*irectorioobPeto;5no"bre)ic(ero
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 contraseñas en el fichero, aparecen comentadas.
CO+IAS .E SE5U:I.A.
Administración Avanzada de Oracle 10g
2!$
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
DATA PUMP IMPORT.
PARÁMETROS.
• SCHE!AS 24lista *e es='e"as5
Permite indicar que se realizará una importación de esquemas. Por
defecto referencia el esquema de usuario, para otros es necesario el
rol I!PXELLDATA0ASE.
• STATES 2 nn
Frecuencia con que muestra el estado del trabajo junto a una
descripción de la operación actual y el porcentaje que falta para
acabar el trabajo (por defecto es cero).
• TA0LEEOISTSACTIO+ 2 4SAI1 W APPE+D WTRE+CATE WREPLACE5
Indica qué hacer si la tabla a importar ya existe. Si se indica
CO+TE+T2DATAO+L. la opción por defecto es APPE+D):
• SGIP- Deja la tabla tal como está e importa siguiente objeto.
• APPE+D. Carga filas, el contenido anterior no se modifica.
• TRE+CATE. Borra las filas existentes antes de cargar.
• REPLACE. Borra la tabla y la carga al completo.
CO+IAS .E SE5U:I.A.
Administración Avanzada de Oracle 10g
2!,
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
DATA PUMP IMPORT.
PARÁMETROS.
• TA0LES 2 4no"brees='e"a-54no"bretabla54;particiKn5& ---
Indica exportación en modo tabla (por defecto del propio esquema; para
tablas de otro esquema debe tenerse el rol I!PXELLDATA0ASE).
• TA0LESPACES 2 4no"breespacioal"ac5& ---
Indica tbsp. a exportar en modo “tablespace”.
• TRA+SXOR!24SEF!E+TATTRI0ETESWSTORAFE5;4+W.54;TA0LEW;I+DEO5
Permite modificar parámetros en la sentencia de creación DDL a
importar:
– SEF!E+TATTRI0ETES. Atributos físicos, “storage”,
“tablespaces”, “logging”.
– STORAFE- Cláusula “storage”.
Por defecto se aplica a todos los tipos de objetos.
CO+IAS .E SE5U:I.A.
Administración Avanzada de Oracle 10g
2"0
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
DATA PUMP IMPORT.
PARÁMETROS.
• TRA+SPORTDATAXILES
Conjunto de ficheros a importar en el destino en modo “transport
tablespace”.
• TRA+SPORTTA0LESPACES 2 4no"breespacioal"ac5& ---
Realizar una importación en modo “transport tablespace” y espacios de
almacenamiento a los que se aplica.
CO+IAS .E SE5U:I.A.
Administración Avanzada de Oracle 10g
2"1
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
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 sesión
cliente y asociarse al trabajo posteriormente. También es posible
modificar ciertos parámetros de forma interactiva.
Para pasar a modo interactivo puede interrumpirse la conexión
actual con CtrlbC y asociar posteriormente una sesión cliente
(ATTACH):
/(o"e/---5 i"p*p attac(24no"bretrabaPo5
Los parámetros que pueden usarse en modo interactivo son:
– CO+TI+EECLIE+T- Salir de modo interactivo y entrar en modo
registro.
– EOITCLIE+T- Salir de sesión cliente. El trabajo continúa
ejecutándose en el servidor.
CO+IAS .E SE5U:I.A.
Administración Avanzada de Oracle 10g
2"2
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
DATA PUMP IMPORT.
MODO INTERACTIVO.
– HELP- Ayuda en línea.
– GILLJO0- Cancelar trabajo actual y desasociar las sesiones cliente
relacionadas.
– PARALLEL- Indicar grado paralelismo o número de trabajos.
– STARTJO0- Reiniciar el trabajo asociado.
– STATES- Mostrar informe del estado del trabajo asociado.
– STOPJO0 :I+!EDIATE<- Detener el trabajo asociado, puede
reiniciarse más tarde. Con “inmediate” los procesos acaban al
instante, las tareas incompletas se volverán a realizar al reiniciarlo.
CO+IAS .E SE5U:I.A.
Administración Avanzada de Oracle 10g
2"
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
DATA PUMP Y PARAMETROS.
• Ciertos parámetros de inicialización pueden afectar al
rendimiento de “data pump”. Puede probarse a usar las
siguientes asignaciones:
– DISGAS.+CHIO 2 TREE
– D00LOCGCHECGI+F 2 XALSE
– D00LOCGCHECGSE! 2 XALSE
• Además los parámetros siguientes deben tener valores lo
suficientemente altos como para permitir el máximo grado de
paralelismo:
– PROCESSES
– SESSIO+S
– PARALLEL!AOSER/ERS

CO+IAS .E SE5U:I.A.
Administración Avanzada de Oracle 10g
2"!
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
CO+IAS .E SE5U:I.A.
T/S+ T:ANS+O:TA/;ES
Administración Avanzada de Oracle 10g
2""
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
“TABLESPACES” TRANSPORTABLES.
• Permite trasladar un conjunto de espacios de almacenamiento
desde una bd a otra (sólo entre bd con el mismo juego de
caracteres -character set- y sobre plataformas compatibles).
• Los tbsp transportados pueden ser gestionados localmente o
no. No necesitan ser del mismo tamaño de bloque que el
tamaño de bloque estándar de la bd destino.
Es util, por ejemplo, para:
– Realizar una recuperación a un punto en el tiempo
“Tablespace Point-in-Time Recovery” (TSPITR).
– Archivo de datos históricos.
– Copia de tbsp. de sólo lectura en múltiples bd.
– Migración de bd entre distintas plataformas (SHL5 SELECT Z
XRO! /$TRA+SPORTA0LEPLATXOR!Y).
CO+IAS .E SE5U:I.A.
Administración Avanzada de Oracle 10g
2"6
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
“TBSP” TRANSPORTABLES. LIMITACIONES.
• Ambas bbdd deben usar el mismo juego de caracteres
-character set- y el mismo juego de caracteres nacional
-national character set-.
• No puede transportarse un tbsp a una bd destino en el cual
exista un tbsp con el mismo nombre (alguno de los dos debe
renombrarse).
• Los tbsp transportables no soportan:
– Vistas materializadas
– Tablas particionadas
– Migración del tbsp SYSTEM u objetos de SYS
– ...
CO+IAS .E SE5U:I.A.
Administración Avanzada de Oracle 10g
2"#
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
“TBSP” TRANSPORTABLES. COMPATIBILIDAD.
• Al definir un conjunto transportable, Oracle calcula el más
bajo nivel de compatibilidad al cual la bd destino debe
trabajar. A partir de Oracle 10g, un tbsp. puede transportarse
a una bd con el mismo o superior nivel de compatibilidad.
CO+IAS .E SE5U:I.A.
Administración Avanzada de Oracle 10g
2"$
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
“TBSP” TRANSPORTABLES.
PROCESO 1/6.
• Deter(inar la co(pati=ilidad de las platafor(as#
• Sólo es necesario si se trabaja con plataformas origen y
destino diferentes. Debe ejecutarse la sentencia:
SHL5 SELECT *-PLATXOR!+A!E& E+DIA+XOR!AT
XRO! /$TRA+SPORTA0LEPLATXOR! tp& /$DATA0ASE *
RHERE tp-PLATXOR!+A!E 2 *-PLATXOR!+A!EY
CO+IAS .E SE5U:I.A.
Administración Avanzada de Oracle 10g
2",
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
“TBSP” TRANSPORTABLES.
PROCESO 2/6.
• Seleccionar un conNunto de t=sp OautocontenidosP#
• No deben haber dependencias entre objetos del conjunto de
tbsp transportables y aquellos que no sean del mismo. Se
incumple si, por ejemplo, existe:
– Un índice dentro del conjunto está definido para una tabla
fuera del mismo (sí puede existir un índice fuera del
conjunto definido para una tabla del mismo).
– Una tabla particionada parcialmente contenida en el
conjunto.
– Una “constraint” de integridad referencial apuntando a una
tabla (al transportar tbsp pueden incluirse restricciones de
integridad o no).
– Una tabla con una columna LOB que referencia LOBS fuera
del conjunto.
CO+IAS .E SE5U:I.A.
Administración Avanzada de Oracle 10g
260
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
“TBSP” TRANSPORTABLES. DBMS_TTS.
• Para determinar si un conjunto de tbsp es autocontenido se
emplea el procedimiento TR!NS1ORTSETC+ECA del
paquete DB"STTS (debe poseerse el rol
E?EC3TEC!T!*O/RO*E3-
D0!STTS-TRA+SPORTSETCHECG 1
tslist I+ CLO0&
inclconstraints I+ 0OOLEA+ DEXAELT XALSE&
)'llc(ec? I+ 0OOLEA+ DEXAELT XALSE3Y
tslist ... Lista de tbsp, separados por coma.
inclconstraints ... TREE para considerar las restricciones de
integridad referencial en el análisis (valor por defecto).
)'llclos're ... Por defecto XALSE. Determinar o no si está
autocontenido estrictamente (dependencias desde-hacia). Para
TSPITR debe ser puesto a TRUE.
CO+IAS .E SE5U:I.A.
Administración Avanzada de Oracle 10g
261
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
“TBSP” TRANSPORTABLES. DBMS_TTS.
• Para una aplicación estricta, el parámetro 53**C+ECA debe
tener el valor TREE (por ejemplo, Tablespace Point-in-Time
Recovery -TSPITR-).
• Todas las excepciones producidas pueden verse a través de la
vista TR!NS1ORTSETVIO*!TIONS. Si la vista está
vacía, el conjunto de tbsp es autocontenido.
SHLPLES5 EOECETE
D0!STTS-TRA+SPORTSETCHECG1V+O!I+A&PAFOSV& TREE3Y
SHLPLES5 SELECT Z XRO! TRA+SPORTSET/IOLATIO+SY
CO+IAS .E SE5U:I.A.
Administración Avanzada de Oracle 10g
262
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
“TBSP” TRANSPORTABLES.
PROCESO 3/6.
• /enerar un conNunto de t=sp# transporta=les#
– Cambiar el estado de los tbsp a sólo lectura.
ALTER TA0LESPACE 4no"bretbsp5 READ O+L.Y
– Realizar la exportación de metadatos de los tbsp a migrar
(sólo se exportan metadatos) -conexión con privilegio
S.SDB!-. Debe poseerse el rol E?153**D!T!B!SE
para realizar la exportación.
DE!PXILE 2 exp*at-*"p
DIRECTOR. 2 *p'"p*ir
TRA+SPORTTA0LESPACES 2 1+O!I+A& PAFOS3
CO+IAS .E SE5U:I.A.
Administración Avanzada de Oracle 10g
26
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
“TBSP” TRANSPORTABLES.
PROCESO 3/6.
Si el autocontenido debe ser estricto:
DE!PXILE 2 exp*at-*"p
DIRECTOR. 2 *p'"p*ir
TRA+SPORTTA0LESPACES 2 1+O!I+A& PAFOS3
TRA+SPORTXELLCHECG2.
• TR!NS1ORT53**C+ECA es un parámetro que verifica
que un conjunto de tbsp a recuperar no tiene dependencias
(hacia/desde).
• Si el conjunto de tbsp no es autocontenido, la exportación
falla.
CO+IAS .E SE5U:I.A.
Administración Avanzada de Oracle 10g
26!
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
“TBSP” TRANSPORTABLES.
PROCESO 3/6.
Si la codificación entre las plataformas es distinta, deben
convertirse los ficheros de datos empleando la orden
CONVERT de R"!N.
$ R!A+ TARFET /
Recovery !ana#er; Release $%-$-%-%-%
Copyri#(t 1c3 $JJ6& 7%%S& Oracle Corporation- All ri#(ts
connecte* to tar#et *atabase; xxxx 1D0ID2---3
R!A+5 CO+/ERT TA0LESPACE sales$&sales7
75 TO PLATXOR! V!icroso)t Rin*o8s +TV
S5 XOR!AT V/te"p/^EVY
Startin# bac?'p at %C@APR@%S
---
Xinis(e* bac?'p at %C@APR@%S
R!A+5 exit
CO+IAS .E SE5U:I.A.
Administración Avanzada de Oracle 10g
26"
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
“TBSP” TRANSPORTABLES.
PROCESO 4/6.
• Copiar los ficheros de datos correspondientes a los tbsp a
transportar al lugar de destino. Hacer igual con el fichero
resultado de la exportación.
• Puede hacerse de distintas formas como, por ejemplo,
cualquier utilidad que permita copiar ficheros -ftp, copia de
s.o.-, el paquete DB"S5I*ETR!NS5ER, ...
CO+IAS .E SE5U:I.A.
Administración Avanzada de Oracle 10g
266
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
“TBSP” TRANSPORTABLES.
PROCESO 5/6.
• Integrar el conNunto de t=sp transportados#
– Importar la información relativa a los tbsp.
I!PDP syste"/pass8or* DE!PXILE2exp*at-*"p
DIRECTOR.2*p'"p*ir
TRA+SPORTDATAXILES2 /sales*b/sales$%$-*b)
RE!APSCHE!A21*cranney;s"it(3
RE!APSCHE!A21P)ee;8illia"s3
• TR!NS1ORTD!T!5I*ES i*enti)ica los )ic(eros *e *atos
correspon*ientes a los tbsp a i"portar
• RE"!1SC+E"! ca"bia los propietarios *e los obPetos *e b*- Si no
se in*ica se crean en el "is"o es='e"a ='e el ori#en y *ic(os
es='e"as *eben existir en el *estino o& en caso contario& #eneran 'n
error-
CO+IAS .E SE5U:I.A.
Administración Avanzada de Oracle 10g
26#
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
“TBSP” TRANSPORTABLES.
PROCESO 6/6.
• Comprobar si se han generado errores en el proceso de
importación.
• Si todo ha ido bien, los tbsp se habrán copiado en modo sólo
lectura. Cambiar el espacio al estado de lectura/escritura.
ALTER TA0LESPACE 4no"bretbsp5READ RRITEY
CO+IAS .E SE5U:I.A.
Administración Avanzada de Oracle 10g
26$
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
“TBSP” TRANSPORTABLES.
PROCESO 6/6.
• Si se migran tbsp de una tamaño de bloque distinto al tamaño
de bloque estánsar de la bd destino, en esta debe añadirse el
parámetro de inicialización D0nGCACHESIIE.
• DBnAC!C+ESI4E (donde n = 2, 4, 8, 16, 32) es un
parámetro dinámico (modificable con ALTER S.STE!) que
permite especificar el tamaño de la caché para nK buffers.
• Por ejemplo, si el tbsp a migrar tiene 8K de tamaño de bloque
y la bd destino 4K, debe incluirse DB_8K_CACHE_SIZE como
parámetro.
CO+IAS .E SE5U:I.A.
Administración Avanzada de Oracle 10g
26,
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
“TBSP” TRANSPORTABLES. RESUMEN.
• 1roceso#
– Cambiar los espacios de almacenamiento al estado de sólo
lectura.
– Trasladar la información almacenada en el diccionario
(exportación de metadatos) a la bd destino.
– Copiar los ficheros de datos correspondientes a dichos
espacios de almacenamiento en el destino.
– Integrar la información en la bd destino (importación).
– Cambiar el espacio al estado de lectura/escritura.
CO+IAS .E SE5U:I.A.
Administración Avanzada de Oracle 10g
2#0
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
VISTAS.
• V)D!T!5I*E
• V)T!B*ES1!CES
• V)*O/5I*E
• V)CONTRO*5I*E
• V)B!CA31
• V)INST!NCE
• V)!RC+IVED*O/
CO+IAS .E SE5U:I.A.
Administración Avanzada de Oracle 10g
2#1
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
TEMA 10.
:ECU+E:ACION.
:ECU+E:ACION
Administración Avanzada de Oracle 10g
2#2
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
TEMA 10. RECUPERACION.
• RECUPERACION.
• ESTRUCTURAS DE RECUPERACION.
• PRINCIPIOS DE RECUPERACION.
• TIPOS DE RECUPERACION.
– COMPLETA.
– INCOMPLETA.
– FLASHBACK.
• ESTRATEGIAS DE RECUPERACION.
• RESTAURACION DE FICHEROS.
– FICHEROS DE COPIA.
– “REDO” ARCHIVADO.
• RESTAURAR Y RECREAR F. CONTROL.
:ECU+E:ACION
Administración Avanzada de Oracle 10g
2#
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
TEMA 10. RECUPERACION.
• RECUPERAR F. CONTROL.
– PERDIDA DE MIEMBRO MULTIPLEXADO.
– PERDIDA DE TODOS MIEMBROS.
– PERDIDA DE MIEMBROS Y COPIAS.
• RECUPERACION COMPLETA
– BD CERRADA.
– BD ABIERTA.
• RECUPERACION INCOMPLETA.
– “CANCEL BASED”.
– “TIME BASED”.
– “CHANGE BASED”.
• RECUPERACION PARALELA.
• APERTURA BD TRAS RECUPERACION.
Administración Avanzada de Oracle 10g
2#!
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
TEMA 10. RECUPERACION.
• TSPITR (“Tbsp. Point in time recovery”).
– PRELIMINARES.
– CREACION BD AUXILIAR.
– TRANSPORTAR TBSP. OPERACIONES BD AUXILIAR.
– TRANSPORTAR TBSP. OPERACIONES BD EN USO.
• VISTAS.
Administración Avanzada de Oracle 10g
2#"
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
:ECU+E:ACION E EST:UCTU:AS
:ECU+E:ACION
Administración Avanzada de Oracle 10g
2#6
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
RECUPERACION.
• La posibilidad de un fallo de sistema o de máquina siempre
existe. Si ocurre y afecta a la bd, esta debe recuperarse. El
objetivo es asegurar que los efectos de las transacciones
validadas se reflejen en la bd recuperada y la vuelta a una
operación normal de la bd lo antes posible.
• Existen distintos tipos de fallos que pueden hacer necesario o
no la intervención del administrador de bd y la recuperación:
– Error de usuario. Por ejemplo, el borrado de una tabla
(puede recuperarse de una copia lógica previa o mediante
el uso de “flashback”). Es necesaria la intervención del
administrador y la recuperación.
– Fallo de una sentencia. Se deshace cualquier cambio
automáticamente y se devuelve el control al usuario.
:ECU+E:ACION
Administración Avanzada de Oracle 10g
2##
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
RECUPERACION.
– Fallo de proceso. P.ej. desconexión anormal. PMON lo
detecta, hace “rollback” de transaccion y libera recursos.
– Fallo de instancia. Debido a problemas de máquina, un
fallo de s.o. ... Oracle realiza sin intervención del usuario
la recuperación de la instancia (“cras( recovery”).
– Fallo en disco (“"e*ia )ail're”). Es necesaria la
intervención del administrador y la recuperación (N"e*ia
recovery>3. Deben restaurarse ficheros desde copia física
usando sentencias de s.o. y realizar recuperación con la
sentencia SQL*Plus RECO/ER (modo ARCHIVELOG).
“!e*ia recovery” puede ser co(pleta -todo “redo”
generado se aplica- o inco(pleta -no se aplica todo el
“redo” generado y se obtiene una versión anterior de la
bd- (en ambos casos la recuperación afecta a la bd en su
totalidad, al completo). TSPITR, Ntablespace point@in@ti"e
recovery>, permite realizar una recuperación incompleta de
un tbsp concreto.
:ECU+E:ACION
Administración Avanzada de Oracle 10g
2#$
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
ESTRUCTURAS DE RECUPERACION.
• 9ic0er(s de dat(s 6?data&ilesA7 4 3l(=2es de dat(s.
La bd se estructura en unidades lógicas llamadas
“tablespaces”, las cuales se asocian con uno o más ficheros de
datos, “*ata)iles”. La bd gestiona el espacio en dichos ficheros
en unidades llamadas blo='es *e *atos (la mínima unidad de
almacenamiento que puede manejar la bd).
Los datos nuevos o modificados no se escriben a los
“*ata)iles” de forma inmediata sino que se almacenan en
memoria y se escriben a intervalos. Si surge un fallo que hace
caer la bd habrán cambios guardados en memoria que no han
sido aplicados.
La copia física de los “*ata)iles” es fundamental en cualquier
estrategia de copia y recuperación.
:ECU+E:ACION
Administración Avanzada de Oracle 10g
2#,
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
ESTRUCTURAS DE RECUPERACION.
• :ed( ;(g.
Conjunto de ficheros que registran todos los datos
modificados en memoria que aun no han sido escritos a los
ficheros de datos. Cada bd necesita al menos dos grupos de
“redo” en línea con un miembro de “redo”.
Este “redo” en línea debe guardarse y da lugar al llamado
“redo log” archivado (modo archivelog de la bd).
En modo A:C1I@E;O5 la bd puede recuperarse
completamente de fallos de instancia y de disco. También
puede hacerse copia mientras está abierta y en uso.
En modo NOA:C1I@E;O5, la bd puede ser recuperada de
un fallo de instancia pero no de disco. La bd sólo puede
copiarse si está cerrada de forma consistente.
:ECU+E:ACION
Administración Avanzada de Oracle 10g
2$0
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
ESTRUCTURAS DE RECUPERACION.
• :egistr(s de ?2nd(A.
Almacenados en espacios de almacenamiento de “undo” o en
“rollback segments” (inusual en este caso). Contienen las
imagenes anteriores de aquellos datos que han sido
modificados y se emplean para “deshacer” las transacciones
no validadas tras la aplicación de todo el “redo log”.

9ic0er(s de c(ntr(l.
Guardan información de las estructuras físicas de la bd y su
estado:
– Información sobre la bd (RESETLOGS SCN y time stamp) usada
en la recuperación.
:ECU+E:ACION
Administración Avanzada de Oracle 10g
2$1
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
ESTRUCTURAS DE RECUPERACION.
– Información sobre “redo log” en línea actual.
– Registros de log (log sequence numbers, SCN en cada log)
– Información sobre bloques de ficheros de datos corruptos.

C(8ias de 3d 6?3ac*28sA7.
Realizadas mediante Recovery Manager o con utilidades s.o..
:ECU+E:ACION
Administración Avanzada de Oracle 10g
2$2
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
+:INCI+IOS E TI+OS
.E
:ECU+E:ACION
:ECU+E:ACION
Administración Avanzada de Oracle 10g
2$
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
PRINCIPIOS DE RECUPERACION.
• Se aborda a lo largo del tema la recuperación asumiendo que
la bd se encuentra en modo ARCHIVELOG y usando métodos
de recuperación manuales.
• La recuperación básicamente implica dos acciones:
– :esta2rar el/los fichero/s dañados desde el dispositivo
de copia preciso (cinta, disco, ...) y hacerlo accesible al
servidor de bd (permisos, ...).
– :ec28eración ( a8licar l(s cam3i(s al &ic0er(Gs
daHad(Gs em8leand( el ?red(A arc0ivad( 4 en lInea
hasta que la bd se encuentre en el SCN deseado
(generalmente el momento previo al fallo que obligó a la
recuperación).
:ECU+E:ACION
Administración Avanzada de Oracle 10g
2$!
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
PRINCIPIOS DE RECUPERACION.
:ECU+E:ACION
Administración Avanzada de Oracle 10g
2$"
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
TIPOS DE RECUPERACION: COMPLETA.
• C(m8leta.
Se emplean datos de “redo” combinados con una copia de la
bd, tbsp., o fichero de datos para actualizarlo al punto más
actual posible. Se aplican todos los cambios anotados en el
“redo”.
Si se pretende recuperar la bd en su conjunto, debe:
– Montarse la bd.
– Asegurarse de que todos los ficheros a recuperar están en
línea.
– Restaurar una copia de la bd o ficheros a recuperar.
– Aplicar “redo” (en línea, archivado o ambos).
:ECU+E:ACION
Administración Avanzada de Oracle 10g
2$6
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
TIPOS DE RECUPERACION: COMPLETA.
Si se pretende recuperar un tbsp o fichero de datos, debe:
– Si la bd está abierta, poner el tbsp o fichero fuera de línea.
– Restaurar una copia de los ficheros a recuperar.
– Aplicar “redo” (en línea, archivado o ambos).
:ECU+E:ACION
Administración Avanzada de Oracle 10g
2$#
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
TIPOS DE RECUPERACION: INCOMPLETA.
• Inc(m8leta.
Se emplea una copia de la bd para generar una versión no
actual de la bd. No se aplican todos los cambios posteriores a
la última copia.
Se puede realizar sobre la bd en su conjunto: DB1ITR -”db
point-in-time recovery”-. En los siguientes casos:
– Un fallo en disco destroza algunos o todos los “redo” en
línea.
– Se ha producido una pérdida de datos, por ejemplo el
borrado de una tabla (¡conveniente tener copia lógica,
aunque en este punto también puede usarse “flashback”).
– No puede realizarse una recuperación completa pues se
han perdido “redo” archivados.
– Se han perdido los ficheros de control y debe usarse una
copia para abrir la bd.
:ECU+E:ACION
Administración Avanzada de Oracle 10g
2$$
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
TIPOS DE RECUPERACION: INCOMPLETA.
• Para realizarla deben recuperarse todos los ficheros de datos
precisos de copias anteriores a aquel momento al que se
pretenda restaurar y abrir la bd con la opción RESETLOFS-
Al indicar “alter *atabase open resetlo#sY” se reinicia el
número de secuencia de “log” actual -número 1- y se desecha
cualquier información de “redo” no aplicada durante la
recuperación, pone a cero.
Es conveniente realizar una copia completa de la bd si se ha
producido cualquier pérdida de archivados.
• Un caso particular es la recuperación de un tbsp “point in
time” (TS1ITR). Permite recuperar uno o más tbsp. a un
momento en el tiempo distinto del resto de la bd.
:ECU+E:ACION
Administración Avanzada de Oracle 10g
2$,
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
INCONVENIENTES RECUPERACION
TRADICIONAL
• Existen inconvenientes en la recuperación completa o
incompleta señaladas anteriormente (en general en el “point-
in-time recovery”):
– No pueden devolverse objetos concretos a un estado anterior, sólo
la bd en su conjunto (en casos concretos puede realizarse un
“ta3les8ace 8(int)in)time rec(ver4 )TS+IT:)A7.
– La bd no está disponible durante el proceso de “point-in-time
recovery”.
– “Point-in-time recovery” puede ser pesado dado que todos los
ficheros de datos deben restaurarse y después recuperar la bd.
• Las utilidades “flashback” proporcionadas por Oracle son más
eficientes que la recuperación tradicional en la mayoría de los
casos.
:ECU+E:ACION
Administración Avanzada de Oracle 10g
2,0
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
TIPOS DE RECUPERACION: FLASHBACK.
• Flashback proporciona un conjunto de características que
permiten evitar la restauración de la bd y la realización de
recuperación “point-in-time”.
• La mayoría de estas características se desarrollan a un nivel
lógico, como son:
– Oracle 5lash=ac- 2uery# Consultar contenido de bd en un
tiempo anterior.
– Oracle 5lash=ac- Version 2uery# Ver estados anteriores
de datos.
– Oracle 5lash=ac- Transaction 2uery# Ver transacciones
que afectan a un tabla a lo largo del tiempo.
– Oracle 5lash=ac- Ta=le# Devolver tablas a un estado previo.
– Oracle 5lash=ac- Drop# Deshace el efecto de “drop table”.
• Fl. Table, Fl. Query, Fl. Trans. Query y Fl. Version Query están
relacionadas con “undo”. Fl. Drop se basa en el “recycle bin”.
:ECU+E:ACION
Administración Avanzada de Oracle 10g
2,1
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
TIPOS DE RECUPERACION: FLASHBACK.
• A nivel físico, Oracle 5lash=ac- Data=ase permite en el
caso de tener ficheros de datos en los que se desea deshacer
cambios volver a su estado anterior. Esta forma de trabajo es
mucho más rápida pues no necesita de la restauración de
ficheros ni de la aplicación de todo el conjunto del “redo”
archivado. Es necesario configurar un área de memoria “flash
recovery area” y habilitar el “)las(bac? lo##in#” pues no lo
está por defecto.
• El proceso implica:
– Averiguar SCN al que retornar, o determinar el punto de retorno
apropiado. Consultar CERRE+TSC+ en V)D!T!B!SE y la vista
V)5*!S+B!CAD!T!B!SE*O/:
SHL5 SELECT CERRE+TSC+ XRO! /$DATA0ASEY
SHL5 SELECT OLDESTXLASH0ACGSC+&
OLDESTXLASH0ACGTI!E XRO!
/$XLASH0ACGDATA0ASELOFY
:ECU+E:ACION
Administración Avanzada de Oracle 10g
2,2
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
TIPOS DE RECUPERACION: FLASHBACK.
– Usar, en su caso, el resto de funcionalidades “flashback” para
identificar el SCN en que se produjeron los cambios a deshacer.
– Ejecutar Xl-Database
XLASH0ACG DATA0ASE TO SC+ QAJASY
XLASH0ACG DATA0ASE TO TI!ESTA!P 1S.SDATE@$/7Q3Y
XLASH0ACG DATA0ASE TO TI!ESTA!P ti"esta"p V7%%B@$J@%7
$Q;%%;%%VY
XLASH0ACG DATA0ASE TO TI!ESTA!P toti"esta"p 1V7%%B@
$J@%7 $J;S%;%%V& V....@!!@DD HH7Q;!I;SSV3Y
– Abrir la bd en modo sólo lectura y comprobar el resultado. Si es
necesario realizar “flashback” de nuevo a un SCN distinto, debe
usarse RECOVER D!T!B!SE para volver al presente y hacer de
nuevo “flashback”.
– Si el resultado de “flashback database” es correcto, abrir la bd con
la opción RESET*O/S-
:ECU+E:ACION
Administración Avanzada de Oracle 10g
2,
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
EST:ATE5IAS
.E
:ECU+E:ACION
:ECU+E:ACION
Administración Avanzada de Oracle 10g
2,!
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
ESTRATEGIAS DE RECUPERACION.
• 9rente a err(res de 2s2ari(.
– Xlas(bac? Database. Permite devolver la bd al completo a
un estado anterior sin necesidad de restaurar, tomando
como referncia un SCN o creando los puntos de
restauración, “restore points”, necesarios. Debe estar
configurada una “)las( recovery area”.
– Recuperación de la bd “Point@in@Ti"e”. Se recupera un
tbsp. o la bd al completo a un momento concreto.
– Importación desde copia lógica.
• 9rente a &all(s de mB=2ina 6?media &ail2reA7.
– El tipo de fallo (fallo físico, sobreescritura, borrado o
corrupción de un fichero de bd, ...) determina la técnica
de recuperación a usar.
:ECU+E:ACION
Administración Avanzada de Oracle 10g
2,"
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
ESTRATEGIAS DE RECUPERACION.
• Si la bd está en modo +OARCHI/ELOF y hay un fallo en
disco, “media failure”, se debe restaurar la copia completa y
consistente más reciente y abrir la bd (si se quisiera la bd
actualizada hasta el momento del fallo, habría que introducir
todos los cambios manualmente ¡imposible!).
• Si la bd está en modo ARCHI/ELOF y los “redo” están
disponibles, puede emplearse una recuperación completa o
incompleta para reconstruir la bd.
:ECU+E:ACION
Administración Avanzada de Oracle 10g
2,6
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
ESTRATEGIAS DE RECUPERACION.
• Probar los mecanismos de copia y recuperación en un entorno
apropiado.
• Planificar la respuesta a los distintos tipos de incidentes. Se
atenderá al siguiente procedimiento general:
– Determinar la información que se necesita recuperar y
restaurar.
– Restaurar copia de los ficheros y cualquier fichero de
“redo” archivado que sea necesario (a nivel de s.o.).
– Recuperar los ficheros.
– Abrir la bd. Si se hace una recuperación incompleta o se
ha restaurado una copia del fichero de control, debe
abrirse con la opción RESETLOFS.
:ECU+E:ACION
Administración Avanzada de Oracle 10g
2,#
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
:ESTAU:ACION
E
:ECU+E:ACION
:ECU+E:ACION
Administración Avanzada de Oracle 10g
2,$
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
RESTAURACION DE FICHEROS.
• Restaurar un fichero es reemplazarlo por una copia previa del
mismo. Se trata de una operación previa a la recuperación de
cualquier fichero dañado.
Es necesario, por tanto, guardar la localización de los ficheros
de datos, control, “redo” en línea, “redo” archivado,
inicialización, comunicaciones y contraseñas.
• Localización datos, control y “redo” en línea.
SELECT +A!E XRO! /$DATAXILE
E+IO+ ALL
SELECT !E!0ER XRO! /$LOFXILE
E+IO+ ALL
SELECT +A!E XRO! /$CO+TROLXILEY
:ECU+E:ACION
Administración Avanzada de Oracle 10g
2,,
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
RESTAURAR FICHEROS DE COPIA.
• Localización “redo” archivado.
SELECT +A!E& /ALEE XRO! /$PARA!ETER
RHERE +A!E LIGE lo#arc(ive*est^
A+D /ALEE IS +OT +ELL Y
• Formato de “redo” archivado.
SHOR PARA!ETER LOFARCHI/EXOR!AT
• Listado de “redo” archivado.
SELECT +A!E XRO! /$ARCHI/EDLOFY
:ECU+E:ACION
Administración Avanzada de Oracle 10g
00
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
FICHEROS A RESTAURAR.
• La vista V)RECOVER5I*E muestra el estado de los ficheros
que necesitan recuperación, el motivo, el SCN donde debe
comenzar, ...
SELECT Z XRO! /$RECO/ERXILEY
N(ta%La vista no es util si el fichero de control en uso es una copia restaurada
o uno nuevo creado tras el fallo en disco (“media failure”), pues, en este caso,
no contiene la información necesaria para actualizar v$recover)ile.
• De /$DATAXILE y /$TA0LESPACE pueden obtenerse
nombres de fichero y de “tablespaces” de aquellos ficheros
que necesitan recuperación.
SELECT r-XILE_& *-+A!E& t-+A!E& *-STATES& r-ERROR&
r-CHA+FE_& r-TI!E XRO! /$RECO/ERXILE r&
/$DATAXILE *& /$TA0LESPACE t RHERE t-TS_ 2 *-TS_
A+D *-XILE_ 2 r-XILE_
:ECU+E:ACION
Administración Avanzada de Oracle 10g
01
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
RESTAURAR “REDO” ARCHIVADO.
• El “redo” archivado debe ser accesible durante la
recuperación en el lugar definido como primer destino de
archivado (log_archive_dest_1).
• Si es necesario indicar una localización alternativa puede
hacerse e indicarlo mediante el parámetro *O/SO3RCE
-orden SET de SqlPlus o el parámetro RECOVER ### 5RO" de
la sentencia !*TER D!T!B!SE –de forma previa a la
recuperación-. También especificando el nuevo destino:
RECOVER !3TO"!TIC T!B*ES1!CE <t=sp> 5RO"
OQ###Q###P0
• Para averiguar que ficheros de “redo” son necesarios, se
consultan las vistas:
– V)!RC+IVED*O/ ... Nombres de todos los ficheros de
“redo” archivado.
:ECU+E:ACION
Administración Avanzada de Oracle 10g
02
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
RESTAURAR “REDO” ARCHIVADO.
– V)RECOVER.*O/ ... “redo” archivado necesario para
la recuperación (sólo contiene información en caso de
necesitarse recuperación para un fichero de datos, no si
se trata de una recuperación planificada por un fallo de
usuario).
:ECU+E:ACION
Administración Avanzada de Oracle 10g
0
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
RESTAURAR FICHEROS DE COPIA.
• Determinar los ficheros de datos a recuperar.
• Si la bd está abierta, poner los “tablespaces” a recuperar
fuera de línea:
ALTER TA0LESPACE 'sers OXXLI+E I!!EDIATEY
• Restaurar copias de los ficheros dañados a su misma
localización:
cp /copia/tbs7Q-ba? /'%7/---/tbs7Q-)
• Recuperar (RECO/ER3 y poner el tbsp. recuperado en línea:
RECO/ER TA0LESPACE 4tbsp5Y
ALTER TA0LESPACE 4tbsp5 O+LI+EY
:ECU+E:ACION
Administración Avanzada de Oracle 10g
0!
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
RESTAURAR Y RECREAR F. CONTROL.
• Si un fallo de disco, “media failure”, afecta a los ficheros de
control (multiplexados o no), la bd sigue trabajando hasta la
primera vez que un proceso “background” necesita acceder a
los mismos; en este instante la bd se cierra
automaticamente.
• Si el fallo es temporal y la bd todavía no se ha cerrado,
puede intentarse corregir el fallo. Si la bd cierra, puede
arrancarse tras corregir el problema y restaurar el acceso a
los ficheros de control.
:ECU+E:ACION
Administración Avanzada de Oracle 10g
0"
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
RECUPERAR F. CONTROL.
PERDIDA DE MIEMBRO MULTIPLEXADO.
• En el caso de que un fallo haya dañado uno o más ficheros de
control y, al menos, exista un f.control no dañado.
• Suponiendo que el disco y el sistema de ficheros donde reside
el fichero dañado funcionan correctamente:
– Parar la bd: SHETDOR+ A0ORT
– Corregir el problema hw.
– Copiar un fichero de control intacto sobre el/los ficheros/s
de control dañado/s
cp /'%7/---/control%$-ctl /'%S/---/control%7-ctl
– Arrancar la bd: STARTEP
:ECU+E:ACION
Administración Avanzada de Oracle 10g
06
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
RECUPERAR F. CONTROL.
PERDIDA DE MIEMBRO MULTIPLEXADO.
• Si el disco y el sistema de ficheros donde reside el fichero
dañado NO funcionan correctamente:
– Parar la bd: SHETDOR+ A0ORT
– Copiar el fichero de control intacto a una localización
alternativa: cp /'%7/---/control%$-ctl /'%6/---/control%7-ctl
– Editar el fichero de parámetros de inicialización y
modificar la variable CO+TROLXILES de forma que
contenga SOLO las localizaciones actuales de los ficheros
de control válidos (se excluyen el resto).
CO+TROLXILES 2 V/'%7/---/control%$-ctlV&
V/'%6/---/control%7-ctlV
– Arrancar la bd: STARTEP
:ECU+E:ACION
Administración Avanzada de Oracle 10g
0#
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
RECUPERAR F. CONTROL.
PERDIDA DE TODOS MIEMBROS.
• No puede montarse ni abrirse la bd hasta tener un fichero de
control accesible. Si se intenta montar la bd, se produce el
error “ORA@%%7%6; error in i*enti)yin# control)ile& c(ec? alert
lo# )or "ore in)o>-
• Al restaurar una copia del fichero de control, debe abrirse la
bd con la opción RESETLOGS.
• Si se tiene copia del fichero de control.
• Suponiendo que el disco y el sistema de ficheros donde reside
el fichero dañado funcionan correctamente:
– Parar la bd: SHETDOR+ A0ORT
– Corregir el problema hw.
:ECU+E:ACION
Administración Avanzada de Oracle 10g
0$
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
RECUPERAR F. CONTROL.
PERDIDA DE TODOS MIEMBROS.
– Restaurar la copia del fichero de control a todos los
destinos indicados en el parámetro de inicialización
CO+TROLXILES (orden cp).
– Montar la bd: STARTEP !OE+T
– Recuperar, sentencia RECO/ER con la claúsula ESI+F
0ACGEP CO+TROLXILE. Indicar E+TIL CA+CEL si se está
realizando una recuperación incompleta:
RECO/ER DATA0ASE ESI+F 0ACGEP CO+TROLXILE E+TIL
CA+CEL
– Aplicar los “log” archivados. Si se recibe un mensaje
indicando que alguno no existe, probablemente significa
que la información necesaria está en los “redo” en línea
-cambios no archivados al suceder el problema-.
:ECU+E:ACION
Administración Avanzada de Oracle 10g
0,
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
RECUPERAR F. CONTROL.
PERDIDA DE TODOS MIEMBROS.
ORA@%%7BJ; c(an#e 66ASA #enerate* at %A/%C/7%%% $A;6J;QB nee*e*
)or t(rea* $
ORA@%%7CJ; s'##estion ; /oracle/8or?/arc*est/arcr$$$$-arc
ORA@%%7C%; c(an#e 66ASA )or t(rea* $ is in se='ence _$$$
Speci)y lo#; \4RET52s'##este* W )ilena"e W AETO W CA+CEL]
Puede indicarse el nombre de un “log” en línea y
pulsarse retorno de carro:
/oracle/*bs/t$lo#$-)
Lo# applie*-
!e*ia recovery co"plete-
Si los “redo” en línea no están accesibles, puede
cancelarse la recuperación sin aplicarlos. En este caso
debe recrearse el fichero de control si los cambios en los
“redo” en línea son necesarios.
– Abrir la bd con la opción RESETLOFS: ALTER DATA0ASE
OPE+ RESETLOFSY
– Realizar una copia completa de la bd.
:ECU+E:ACION
Administración Avanzada de Oracle 10g
10
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
RECUPERAR F. CONTROL.
PERDIDA DE TODOS MIEMBROS.
• Si no puede restaurarse el fichero de control a su localización
original; debe indicarse una nueva localización en el fichero
de parámetros, variable CO+TROLXILES.
• La restauración es idéntica al caso en que se restaure a la
localización por defecto, salvo que debe modificarse el fichero
de parámetros de forma previa a la misma y al montaje de la
bd.
:ECU+E:ACION
Administración Avanzada de Oracle 10g
11
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
RECUPERAR F. CONTROL.
PERDIDA DE MIEMBROS Y COPIAS.
• Si los ficheros de control se han dañado pero el “redo” en
línea permanece, puede recuperarse la bd tras crear un
fichero de control. No se requiere abrir la bd, en este caso,
con la opción RESET*O/S. Para crear u fichero de control:
– Arrancar la bd , no montar: STARTEP +O!OE+T
– Crear el fichero de control, indicando la opción
+ORESETLOFS. Por ejemplo:
CREATE CO+TROLXILE REESE DATA0ASE SALES +ORESETLOFS ARCHI/ELOF
---
Tras crear el fichero de control, Oracle monta la bd.
– Recuperar la bd: RECO/ER DATA0ASE
– Abrir la bd: ALTER DATA0ASE OPE+Y
– Realizar copia del fichero de control: ALTER DATA0ASE
0ACGEP CO+TROLXILE TO V/---/copia)controlV REESEY
:ECU+E:ACION
Administración Avanzada de Oracle 10g
12
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
RECUPERAR F. CONTROL.
PERDIDA DE MIEMBROS Y COPIAS.
• Existen distintas opciones para crear el fichero de control:
– En el caso de haber ejecutado un ALTER DATA0ASE
0ACGEP CO+TROLXILE TO TRACE +ORESETLOFS tras el
último cambio estructural, o antes de haber realizado este
cambio; puede usarse el fichero de traza generado (en
caso de no reflejar los últimos cambios, debe editarse y
añadirlos).
– Si se ha realizado una copia a fichero binario, ALTER
DATA0ASE 0ACGEP CO+TROLXILE TO )ic(eroY, debe
copiarse el fichero, crear una instancia temporal, montar
la bd @STARTEP !OE+T- y realizar una copia a traza
-ALTER DATA0ASE 0ACGEP CO+TROLXILE TO TRACE
+ORESETLOFS-. Se edita, si es necesario, y se realizan
los cambios oportunos.
:ECU+E:ACION
Administración Avanzada de Oracle 10g
1
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
RECUPERAR F. CONTROL.
PERDIDA DE MIEMBROS Y COPIAS.
– Si no existe copia del fichero de control, debe crearse
manualmente (sentencia CREATE CO+TROLXILE).
:ECU+E:ACION
Administración Avanzada de Oracle 10g
1!
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
CONDICIONES RECUPERACION.
• Para realizar cualquier tipo de “media recovery” debe tenerse
en cuenta que:
– Deben tenerse privilegios de administrador.
– Una sesión no puede comenzar una recuperación
completa mientras otra realiza una recuperación tipo
incompleta.
– No puede realizarse “media recovery” si se está conectado
a la bd a través de un proceso servidor compartido
(“shared server”).
• Debe usarse la sentencia SQL*Plus RECO/ER, y realizar una
recuperación automática; así no se interroga al aplicar cada
“log” archivado. Los nombres de estos, se obtienen
concatenando LOFARCHI/EXOR!AT y
LOFARCHI/EDESTn, siendo n el mayor valor entre los
destinos habilitados.
:ECU+E:ACION
Administración Avanzada de Oracle 10g
1"
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
CONDICIONES RECUPERACION.
• Hay dos formas de automatizar la aplicación de los “redo”
necesarios en la recuperación:
– Ejecutando SET AETORECO/ER. O+ antes de RECO/ER.
Start'p "o'nt
Set a'torecovery on
Recover *atabase
alter *atabase openY
– Indicando la claúsula AETO!ATIC como opción de la
sentencia RECO/ER.
Start'p "o'nt
Recover a'to"atic *atabase
alter *atabase openY
:ECU+E:ACION
Administración Avanzada de Oracle 10g
16
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
RECUPERACION COMPLETA.
• Se recuperan las copias al SCN actual; bien la bd al
completo, o tbsp o ficheros de datos individuales.
• No es necesario abrir la bd con RESETLOGS, de forma que
pueden recuperarse ciertos ficheros de datos en un momento
y los restantes posteriormente.
:ECU+E:ACION
Administración Avanzada de Oracle 10g
1#
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
RECUPERACION COMPLETA.
BD CERRADA.
1.- Preliminares.
– Cerrar la bd: SHUTDOWN ABORT.
– Intentar corregir el fallo que origina el error (puede que el
fallo sea temporal y los datos no hayan sido dañados).
2.- Restaurar copias de los ficheros dañados o perdidos.
– Determinar los ficheros de datos a recuperar.
– Identificar la copia más reciente de los ficheros dañados
(no restaurar ficheros de datos no afectados ni ”redo” en
línea).
– Restaurar los ficheros.
:ECU+E:ACION
Administración Avanzada de Oracle 10g
1$
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
RECUPERACION COMPLETA.
BD CERRADA.
3.- Recuperar la bd.
– Montar la bd: STARTUP MOUNT.
– Obtener los nombres de los ficheros de datos y su estado:
SELECT NAME,STATUS FROM V$DATAFILE;
– Asegurarse de que todos los f.datos de la bd están en
línea (a menos que forme parte de un tbsp. de sólo
lectura o se hubiera puesto fuera de línea normalmente):
ALTER DATABASE DATAFILE '/.../tbs.dbf' ONLINE;
– Ejecutar la sentencia paa recuperar la bd -todos los
ficheros dañados- , un tbsp. concreto o un fichero de
datos (puede indicarse recuperación automática):
RECO/ER DATA0ASEY
RECO/ER TA0LESPACE 'sersY
RECO/ER DATAXILE V/---/tbs-*b)VY
:ECU+E:ACION
Administración Avanzada de Oracle 10g
1,
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
RECUPERACION COMPLETA.
BD CERRADA.
En una recuperación automatizada, esta continúa hasta que
todo el “redo” archivado y en línea se ha aplicado y aparece
el mensaje: N"e*ia recovery co"plete>-
– Abrir la bd: ALTER DATA0ASE OPE+Y
:ECU+E:ACION
Administración Avanzada de Oracle 10g
20
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
RECUPERACION COMPLETA.
BD ABIERTA.
• Puede ocurrir un fallo con la bd abierta, dejando los ficheros
no dañados en línea y en condiciones de uso. Oracle
automaticamente pone los ficheros dañados fuera de línea
-no sus “tablespaces”- si el DBWR no puede escribir en ellos.
Las consultas que no pueden leer en dichos ficheros
generan errores, pero Oracle no los pone fuera de línea por
esta razón:
ERROR at line 1:
ORA-01116: error in opening database file 11
ORA-01110: data file 11: '/oracle/dbs/tbs_32.f'
ORA-27041: unable to open file
SVR4 Error: 2: No such file or directory
Additional information: 3
:ECU+E:ACION
Administración Avanzada de Oracle 10g
21
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
RECUPERACION COMPLETA.
BD ABIERTA.
• El proceso no es aplicable si se dañan los ficheros del tbsp.
SYSTEM, en este caso se cierra la bd automáticamente.
1.- Preliminares.
– Poner los tbsp que contienen los ficheros dañados fuera
de línea: ALTER TA0LESPACE 'sers OXXLI+E TE!PORAR.Y
– Intentar corregir, si es posible, el fallo máquina que
origina el error.
2.- Restaurar copias de los ficheros dañados o perdidos.
– No deben restaurarse copias de ficheros no dañados,
“redo” en línea o ficheros de control. Si se han restaurado
a una localización alternativa, deben renombrarse los
ficheros de datos: ALTER DATA0ASE RE+A!E XILE
V/---/tbs$-*b)V TO V/---/tbs$-*b)VY
:ECU+E:ACION
Administración Avanzada de Oracle 10g
22
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
RECUPERACION COMPLETA.
BD ABIERTA.
3.- Recuperar los tbsp. fuera de línea.
– Conectar con privilegios de administrador.
– Recuperar todos los tbsp. afectados (aconsejable
automáticamente):
RECO/ER TA0LESPACE 'sers& sales
La recuperación continúa hasta que todo el “redo”
archivado y en línea se ha aplicado.
– Poner los tbsp. en línea:
ALTER TA0LESPACE 'sers O+LI+EY
ALTER TA0LESPACE sales O+LI+EY
:ECU+E:ACION
Administración Avanzada de Oracle 10g
2
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
RECUPERACION INCOMPLETA.
• Al no recuperar la bd al momento más actual, debe indicarse
cuando terminar la recuperación (“point in tine recovery”).
Existen diversas opciones:
– Ti"e@base* ... Recupera datos hasta un instante concreto.
– Cancel@base* ... Recupera hasta el empleo de la sentencia
CA+CEL.
– C(an#e@base* ... Recupera hasta un SCN específico.
Tras una recuperación incompleta siempre debe abrirse la bd
con “resetlogs”.
:ECU+E:ACION
Administración Avanzada de Oracle 10g
2!
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
RECUPERACION INCOMPLETA.
1.- Preliminares.
– Realizar una copia completa de la bd como medida de
precaución ante errores durante la recuperación.
– Cerrar la bd, si está abierta: SHUTDOWN ABORT
– Intentar corregir el fallo que origina el error.
2.- Restaurar una copia completa de la bd.
– Si el fichero de control actual no refleja la estructura de la
bd en el tiempo al que se quiere recuperar, debe
restaurarse una copia del mismo que lo haga.
– Restaurar copias de todos los ficheros de datos de la bd
(previas al momento al que se quiere recuperar).
– Abrir una sesión Sqlplus como administrador.
:ECU+E:ACION
Administración Avanzada de Oracle 10g
2"
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
RECUPERACION INCOMPLETA.
– Montar la bd:
STARTEP !OE+T
– Si algún fichero fue restaurado a una localización
alternativa anteriormente, indicarlo:
ALTER DATA0ASE RE+A!E XILE V/---/*)7-*b)V TO
V/---/*)7-*b)VY
– Obtener el nombre y estado de todos ficheros de datos:
SELECT +A!E&STATES XRO! /$DATAXILEY
– Asegurarse de que todos los ficheros de la bd están en
línea (a menos que un tbsp se hubiera puesto fuera de
línea normalmente -opción NORMAL- o sea de sólo
lectura):
ALTER DATA0ASE DATAXILE V/----/tbs-*b)V O+LI+EY
:ECU+E:ACION
Administración Avanzada de Oracle 10g
26
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
RECUPERACION INCOMPLETA.
“CANCEL BASED”.
• La recuperación finaliza al indicar “CANCEL” en lugar de un
nombre de fichero “redo” archivado, o cuando todos estos
han sido aplicados. Permite controlar el proceso de
recuperación.
• Deben seguirse los siguientes pasos:
– Conectarse a Sqlplus con privilegios de administrador:
s=lpl's V/ AS S.SD0AV
– Montar la bd: STARTEP !OE+T
– Comenzar la recuperación: RECO/ER DATA0ASE E+TIL
CA+CEL
Si se está usando una copia del f.de control debe
indicarse: RECO/ER DATA0ASE E+TIL CA+CEL ESI+F
0ACGEP CO+TROLXILE
:ECU+E:ACION
Administración Avanzada de Oracle 10g
2#
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
RECUPERACION INCOMPLETA.
“CANCEL BASED”.
– Continuar aplicando “redo” hasta llegar al último y
cancelar ejecutando: CA+CEL. Si el fichero de control es
una copia deberá indicarse también los nombres del
“redo” en línea si desean aplicarse.
Oracle devuelve un mensaje indicando si la recuperación
fue exitosa. Si se cancela una recuperación antes de que
todos los ficheros esten en un SCN consistente y se
intenta abrir la bd, se recibe un ORA-1113 en caso de ser
necesaria más recuperación. Puede consultarse la vista
V$RECOVER_FILE para determinar si es así, o si una copia
de algún fichero no fue restaurada antes de comenzar la
recuperación.
– Abrir la bd en modo RESETLOGS. Siempre deben
reiniciarse los “log” en línea después de una recuperación
incompleta o con una copia del fichero de control:
ALTER DATA0ASE OPE+ RESETLOFSY
:ECU+E:ACION
Administración Avanzada de Oracle 10g
2$
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
RECUPERACION INCOMPLETA.
“TIME BASED”.
– Ejecutar RECOVER DATABASE UNTIL TIME para
comenzar. El tiempo siempre se indica usando el formato:
V....@!!@DD;HH7Q;!I;SSV. Por ejemplo:
RECO/ER DATA0ASE E+TIL TI!E V7%%Q@$7@S$;$7;QB;S%V
Si se usa una copia del fichero de control, restaurada:
RECO/ER DATA0ASE E+TIL TI!E V7%%Q@$7@S$;$7;QB;S%V
ESI+F 0ACGEP CO+TROLXILE
– Aplicar “redo” archivado. Si el fichero de control es una
copia, tras aplicar “redo” archivado debe indicarse el
“redo” en línea. Finaliza automáticamente la recuperación
al alcanzar el tiempo indicado y se devuelve un mensaje
indicando si es correcta.
– Abrir bd en modo “RESETLOGS”: ALTER DATA0ASE OPE+
RESETLOFSY
:ECU+E:ACION
Administración Avanzada de Oracle 10g
2,
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
RECUPERACION INCOMPLETA.
“CHANGE BASED”.
– Indicar el SCN de terminación. Por ejemplo:
RECO/ER DATA0ASE E+TIL CHA+FE $%%%%Y
– Aplicar “redo” archivado. Si el fichero de control es una
copia, tras aplicar “redo” archivado debe indicarse el
“redo” en línea. Finaliza automáticamente la recuperación
al alcanzar el SCN indicado y se devuelve un mensaje
indicando si es correcta.
– Abrir bd en modo “RESETLOGS”: ALTER DATA0ASE OPE+
RESETLOFSY
:ECU+E:ACION
Administración Avanzada de Oracle 10g
0
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
RECUPERACION PARALELA.
• Por defecto se emplea recuperación paralela, lo que
incrementa la productividad. El grado de paralelismo es igual
al número de UCP´s disponibles, relacionado con el
parámetro de inicialización CPU_COUNT.
• Si se indica “RECOVER PARALLEL” o “RECOVER PARALLEL 0”
se evita este comportamiento.
:ECU+E:ACION
Administración Avanzada de Oracle 10g
1
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
APERTURA BD TRAS RECUPERACION.
• Siempre que se realiza una recuperación incompleta o
recuperación con una copia del fichero de control, debe
reinicializarse los “logs” al abrir la bd. La nueva versión de bd
se llama “incarnation”. Todos los “redo” archivados
generados tras el punto de RESETLOGS en la antigua
“incarnation” son no válidos en la nueva.
• Al realizar una recuperación completa, no tiene que abrirse la
bd con la opción RESETLOGS. Todos las copias y “redo”
archivado creados durante la vida de esta “incarnation” de la
bd son válidos.
:ECU+E:ACION
Administración Avanzada de Oracle 10g
2
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
APERTURA BD TRAS RECUPERACION.
:ECU+E:ACION
Administración Avanzada de Oracle 10g

© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
APERTURA BD TRAS RECUPERACION.
• Al abrir la bd con RESETLOGS, todos los f.datos obtienen un
nuevo RESETLOGS SCN y fecha, y la secuencia de “log” se
reinicia a 1.
El “log” archivado contiene asímismo esos dos valores en la
cabecera. Como Oracle no aplica un “log” archivado a un
fichero de datos a menos que RESETLOGS SCN y fecha
coincidan, esta operación evita que se corrompan con “log”
archivados que no son de “encarnaciones” padres directas de
a actual.
• Reinicializar los “logs” permite:
– Descartar para siempre cualquier información no aplicada
durante la recuperación.
– Reinicializar la información en el fichero de control sobre
“redo” en línea y “redo” threads.
– Crear los ficheros de “redo” en línea si no existían.
– Reinicializar el número de secuencia de “log” a 1.
:ECU+E:ACION
Administración Avanzada de Oracle 10g
!
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
APERTURA BD TRAS RECUPERACION.
– Archiva “redo” en línea, si está accesible, y borra su
contenido.
– Actualizar todos los ficheros de datos y “redo” en línea y,
por tanto, el “redo” archivado que se produzca con un
nuevo RESETLOG SCN y “time stamp”.
:ECU+E:ACION
Administración Avanzada de Oracle 10g
"
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
APERTURA BD TRAS RECUPERACION.
• Tras un RESETLOGS, es aconsejable:
– Realizar una copia completa de la bd, cerrándola en modo normal
(permite recuperar cambios hechos tras la reinicialización).
– Comprobar que en el alert_SID.log no existen entradas que reflejen
inconsistencias detectadas entre el dicconario de datos y el fichero de
control (p.ej. Fich. datos que no aparecen en el fich. de control).
:ECU+E:ACION
Administración Avanzada de Oracle 10g
6
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
TS+IT:
:ECU+E:ACION
Administración Avanzada de Oracle 10g
#
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
TSPITR (“Tbsp. Point in time recovery”).
• Junto con la funcionalidad de transporte de tbsp., permite
recuperar uno o más tbsp. (distintos al SYSTEM) a un
momento en el tiempo anterior al resto de la bd. Es util para:
– Recuperar tras un borrado de tabla. Idem si está corrupta
(¡es conveniente tener copia lógica!).
– Recuperar tras sentencias que han afectado a una parte de
la bd (DML).
– Recuperar un esquema (si es independiente y reside en un
tbsp aparte) a un punto diferente del resto.
– Recuperar un tbsp en una gran bd (VLDB -very large
database-) cuando es más eficiente que recuperar la bd al
completo.
:ECU+E:ACION
Administración Avanzada de Oracle 10g
$
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
TSPITR.
• El desarrollo básico de un TSPITR consta de varios pasos:
– Operaciones preliminares y puesta fuera de línea de
aquellos tbsp. que requieren recuperación.
– Creación de una bd auxiliar (duplicado de la bd en uso
restaurada desde copia) y su recuperación hasta el
momento necesario en el tiempo.
La bd auxiliar puede residir en la misma máquina que la
bd en uso o en otra distinta. Se aconseja esta última
opción por su mayor facilidad de manejo y menor
probabilidad de daño.
– Borrado de los tbsp que requieran TSPITR (bd en uso).
– Transporte del conjunto de tbsp. desde la bd auxiliar
hasta la bd en uso.
:ECU+E:ACION
Administración Avanzada de Oracle 10g
,
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
TSPITR. PRELIMINARES.
1.- Debe comprobarse que se poseen las copias necesarias
previas al instante al que se desea el TSPITR; así como una
copia del fichero de control realizada con ALTER DATABASE
BACKUP CONTROLFILE TO '<fichero>';
Igualmente que hay suficiente espacio en disco y memoria
para poder recuperar y arrancar la bd auxiliar.
Si el tbsp. a recuperar se ha renombrado debe asegurarse
que el SCN para el TSPITR es posterior al momento en que
fue renombrado (no puede hacerse en caso contrario, aunque
puede realizarse un DBPITR a un SCN previo al renombrado
-vuelve a su nombre anterior-).
2.- Obtener información de la bd en uso.
- Ficheros de datos, control y “redo” en línea (SELECT +A!E
XRO! /$DATAXILE E+IO+ ALL SELECT !E!0ER XRO! /$LOFXILE
E+IO+ ALL SELECT +A!E XRO! /$CO+TROLXILEY).
:ECU+E:ACION
Administración Avanzada de Oracle 10g
!0
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
TSPITR. PRELIMINARES.
- Ficheros de datos del tbsp SYSTEM y del conjunto de
recuperación (tbsp a recuperar).
SELECT t-+A!E AS DrecotbsD& *-+A!E AS D*b)na"eD
XRO! /$DATAXILE *& /$TA0LESPACE t
RHERE t-TS_ 2 *-TS_
A+D t-+A!E I+ 1VS.STE!V& VRECOT0S$V& VRECOT0S7V3Y
- Ficheros de datos del tbsp de UNDO.
SELECT r-TA0LESPACE+A!E AS DrbstbsD& *-XILE+A!E AS
D*b)na"eD XRO! D0AROLL0ACGSEFS r& D0ADATAXILES *
RHERE r-TA0LESPACE+A!E2*-TA0LESPACE+A!EY
SELECT '-TA0LESPACE+A!E AS D'n*otbsD& *-XILE+A!E AS
D*b)na"eD XRO! D0AE+DOEOTE+TS '& D0ADATAXILES *
RHERE '-TA0LESPACE+A!E2*-TA0LESPACE+A!EY
:ECU+E:ACION
Administración Avanzada de Oracle 10g
!1
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
TSPITR. PRELIMINARES.
3.- Determinar los objetos que se perderán en el TSPITR.
Cualquier objeto creado tras el instante al que se desea
recuperar se pierde. Para averiguar cuáles son , debe
consultarse la vista TSPITRO0JECTSTO0EDROPPED en
la bd en uso.
Por ejemplo, si se quiere recuperar “ventas1” y “ventas2” al
instante '2000-06-02:07:03:11':
SELECT OR+ER& +A!E& TA0LESPACE+A!E&
TOCHAR1CREATIO+TI!E& V....@!!@DD;HH7Q;!I;SSV3
XRO! S.S-TSPITRO0JECTSTO0EDROPPED
RHERE TA0LESPACE+A!E I+ 1V/E+TAS$V&V/E+TAS7V3
A+D CREATIO+TI!E 5 TODATE1V%%@JE+@%7;%B;%S;$$V&V..@!O+@
DD;HH7Q;!I;SSV3
ORDER 0. TA0LESPACE+A!E& CREATIO+TI!EY
:ECU+E:ACION
Administración Avanzada de Oracle 10g
!2
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
TSPITR. PRELIMINARES.
4.- Configurar la conexión a la bd auxiliar (Net) y, en su caso,
crear el fichero de claves.
5.- Crear un fichero de parámetros de inicialización para la bd
auxiliar.
Contendrá parámetros como: D0+A!E& CO+TROLXILES&
LOFARCHI/EDEST$& LOFARCHI/EXOR!AT&
D0E+IHEE+A!E& D0XILE+A!ECO+/ERT&
LOFXILE+A!ECO+/ERT.
Parámetros de memoria como D0CACHESIIE &
SHAREDPOOLSIIE y LARFEPOOLSIIE deben
mantenerse a un valor bajo.
:ECU+E:ACION
Administración Avanzada de Oracle 10g
!
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
TSPITR. CREACION BD AUXILIAR.
• Se asume que se creará en una máquina distinta a aquella en
que reside la bd en uso, y se usarán los mismos nombres de
ruta (“path names”) para los ficheros.
1.- Restaurar los ficheros de la bd auxiliar (ficheros de control,
“undo” y system), junto con el conjunto de recuperación
-tbsp a recuperar-.
2.- Arrancar la bd auxiliar -sin montar-. Si es necesario indicar
cuál es el fichero de parámetros de inicialización.
STARTEP +O!OE+T PXILE 2 /---/-
:ECU+E:ACION
Administración Avanzada de Oracle 10g
!!
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
TSPITR. CREACION BD AUXILIAR.
3.- Montar la bd auxiliar usando la claúsula CLONE (pone todos
los ficheros de datos “offline” de forma automática).
ALTER DATA0ASE !OE+T CLO+E DATA0ASEY
4.- Ejecutar la consulta siguiente para descartar cualquier error
en el nombre de los ficheros de datos:
SELECT +A!E XRO! /$DATAXILE E+IO+ ALL
SELECT !E!0ER XRO! /$LOFXILE E+IO+ ALL
SELECT +A!E XRO! /$CO+TROLXILEY
En caso de haber algún error deberán renombrarse (si no se ha
usado D0XILE+A!ECO+/ERT y LOFXILE+A!ECO+/ERT).
:ECU+E:ACION
Administración Avanzada de Oracle 10g
!"
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
TSPITR. CREACION BD AUXILIAR.
5.- Poner todos los ficheros de datos en línea.
ALTER DATA0ASE DATAXILE /'%7/---/syste"-*b) O+LI+EY
ALTER DATA0ASE DATAXILE /'%7/---/ventas$-*b) O+LI+EY
ALTER DATA0ASE DATAXILE /'%7/---/ventas7-*b) O+LI+EY
ALTER DATA0ASE DATAXILE /---/'n*o-*b) O+LI+EY
TSPITR no funcionará si todos los ficheros del cjto. de
recuperación no están en línea. En este momento la bd auxiliar
está lista para recuperación.
6.- Recuperar la bd a un instante concreto con la opción ESI+F
0ACGEP CO+TROLXILE. Por ejemplo:
RECO/ER DATA0ASE E+TIL CA+CEL ESI+F 0ACGEP CO+TROLXILE
7.- Abrir la bd auxiliar con la opción RESETLOGS.
ALTER DATA0ASE OPE+ RESETLOFSY
:ECU+E:ACION
Administración Avanzada de Oracle 10g
!6
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
TSPITR. TRANSPORTAR TBSP.
OPERACIONES BD AUXILIAR.
1.- Colocar los tbsp en modo sólo lectura.
ALTER TA0LESPACE ventas$ READ O+L.Y
ALTER TA0LESPACE ventas7 READ O+L.Y
2.- Comprobar que el conjunto es autocontenido.
EOECETE
S.S-D0!STTS-TRA+SPORTSETCHECG1Vventas$&ventas7V&TREE&TREE3Y
SELECT Z XRO! S.S-TRA+SPORTSET/IOLATIO+SY
3.- Generar el conjunto transportable (utilidad Data Pump Export).
:ECU+E:ACION
Administración Avanzada de Oracle 10g
!#
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
TSPITR. TRANSPORTAR TBSP.
OPERACIONES BD EN USO.
1.- Borrar los tbsp. del conjunto de recuperación.
DROP TA0LESPACE ventas$ I+CLEDI+F CO+TE+TSY
DROP TA0LESPACE ventas7 I+CLEDI+F CO+TE+TSY
2.- Copiar los ficheros de datos de la bd auxiliar a la bd en uso,
igual con el fichero resultado de la exportación (orden cp).
3.- Importar el conjunto transportado (utilidad Data Pump
import).
4.- Cambiar modo de los tbsp. transportados a lectura/escritura.
ALTER TA0LESPACE ventas$ READ RRITEY
ALTER TA0LESPACE ventas7 READ RRITEY
:ECU+E:ACION
Administración Avanzada de Oracle 10g
!$
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
TSPITR. TRANSPORTAR TBSP.
OPERACIONES BD EN USO.
5.- Realizar una copia de los tbsp. recuperados.
Debe realizarse copia pues de otra forma podrían perderse.
Si, por ejemplo, ocurre un fallo de disco, y se intenta
recuperar desde una copia anterior al TSPITR, esta falla.
:ECU+E:ACION
Administración Avanzada de Oracle 10g
!,
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez - 2007
VISTAS.
• V)!RC+IVED*O/
• V)RECOVER5I*E --- !'estra el esta*o *e los )ic(eros ='e
precisan N"e*ia recovery>-
• V)RECOVER.*O/
:ECU+E:ACION