Download Descargue el PDF – Volumen 11 Año 2 – Marzo 2011

Document related concepts
no text concepts found
Transcript
Volumen 11 Año 2 – Marzo 2011
Métodos Para Desfragmentar Un
Tablespace
Contenido
Página
1 Métodos para
Desfragmentar
un Tablespace
3 BPEL desde la
Perspectiva Oracle
5 Base
DatosEdificio
Standby
5a. Ave.
5-55 de
Zona14,
Euro Plaza Torre II, Nivel 12
Teléfono: (502)2364-5300 Fax: (502)2364-5311 Por:
en Cascada
Email. [email protected]
Editores Generales
Karlo Espinoza
Luis Cordón
Gerber Bautista
Debbie Moran
Francisco Barrundia
Ing. Manuel Carrillo
[email protected]
Pagina 1/10
Un tablespace puede fragmentarse básicamente por los algoritmos y las
estructuras de datos (por ejemplo arboles b+) que acceden a la información, de
hecho en este tipo de estructuras (arboles b+) que tienen una estructura mas rígida
la fragmentación puede darse con el simple hecho de repetidas manipulaciones a
estas estructuras. Esta fragmentación puede darse únicamente de manera física si
se tienen tablespaces manejados por diccionario, por lo que todos
(absolutamente todos) deben tener una administración de extents de manera
local.
Utilizando particionamiento:
Autores Contribuyentes
Manuel Carrillo
Daniel Caciá
Deiby Gómez
Muchos sistemas no realizan ninguna operación de eliminación de datos históricos
en línea, en su lugar mantienen información histórica; incluso si ya no es necesaria.
En estos casos (y en muy raras ocasiones) la data es eliminada en cantidades
masivas en alguna oportunidad. El particionamiento es una de las opciones que
podemos utilizar para poder eliminar estos datos de una manera mucho mas fácil y
segura. Por ejemplo, si una columna tipo DATE o una secuencia es usada como
llave de particionamiento, la partición mas vieja de la tabla puede ser eliminada en
lugar de realizar eliminación de todas las filas viejas.
5a. Ave. 5-55 Zona14, Edificio Euro Plaza Torre II, Nivel 12
Teléfono: (502)2364-5300 Fax: (502)2364-5311
Email. [email protected]
Página 1
Al realizar esta operación, estamos eliminando la sobrecarga en tiempo de ejecución de eliminar
las filas y deja las filas restantes compactas, sin ninguna fragmentación. Esto también tiene el
beneficio de agrupar las filas más recientes juntas, lo que mejora el comportamiento de obtención
de resultados.
Cuando existan índices en la tabla, los índices también pueden ser particionados en la misma
columna que la tabla, este tipo de índice es conocido como índice local. Cuando la partición mas
vieja de la tabla es eliminada, las particiones correspondientes a los índices también son
eliminadas.
La fragmentación también ocurre cuando objetos de diferente magnitud de segmento ocupa el
mismo tablespace, la eliminación de dichos objetos provocan lagunas que pueden estar dispersas
de manera aleatoria por todo el tablespace.
Para poder evitar
recomendaciones:
esta
situación
se
considera
como
buena
práctica
las
siguientes
1)
2)
3)
4)
5)
6)
Colocar índices y tablas físicamente en discos separados (si fuera posible).
Nunca colocar segmentos de rollback (o UNDO) con segmentos de datos o de índices.
Colocar los Redo Logs en su propio disco.
Colocar de manera separada las tablas e índices de mayor uso en su propio tablespace.
Agrupar tablas e índices con carga similar (tablas con tablas e índices con índices).
Particionar tablas de alta actividad e índices para ayudar a re-balancear I/O de disco y
prevenir cuellos de botella en discos.
7) Utilizar tantos canales controladores de discos como sean requeridos para reducir la
saturación de canales.
También podría considerarse re-organizar el tablespace para compactar segmentos si se identifica
que hay áreas fragmentadas en el mismo.
5a. Ave. 5-55 Zona14, Edificio Euro Plaza Torre II, Nivel 12
Teléfono: (502)2364-5300 Fax: (502)2364-5311
Email. [email protected]
Página 2
BPEL Desde la Perspectiva de Oracle
Por: Ing. Daniel Cacía
[email protected]
Business Process Execution Language (BPEL por sus
siglas en inglés), la abreviación de Web Services Business
Process Execution Language (WS-BPEL), es un estándar
que permite orquestar un conjunto discreto de servicios
web dentro de un flujo de procesos, reduciendo de manera
exponencial el costo y complejidad que implica la
integración entre negocios.
BPEL es un lenguaje basado en XML que permite
describir un proceso de negocios. Las etiquetas XML de
BPEL están definidas por OASIS (Organization for the
Advancement of Structured Information Standars).
Para entender mejor que es BPEL consideremos el flujo
ficticio que una tienda en línea podría necesitar para llevar
a cabo una venta:
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
El cliente ingresa en a la tienda en línea.
El cliente selecciona el producto que desea comprar.
El sistema de ventas revisa si se tiene el producto en el inventario.
El sistema se da cuenta que ya no tiene ese producto en bodegas.
En lugar de indicarle al cliente que no tiene el producto, el sistema contacta
inmediatamente al proveedor del producto.
El sistema del proveedor del producto le responde de forma automática que si posee el
producto pero que el precio subió.
El sistema de la tienda en línea envía una notificación al cliente sobre el aumento del
precio y espera su confirmación.
El cliente confirma el pedido
El sistema de la tienda contacta al proveedor y hace el pedido.
El sistema del proveedor le indica la fecha estimada de entrega.
El sistema de la tienda envía la información al cliente.
En apariencia este flujo debería tener intervención humana para coordinar y tomar decisiones
respecto a cada situación que se genere, sin embargo con BPEL se puede definir un flujo de
proceso que permita tomar decisiones al sistema con o sin intervención humana. En otras
palabras, Oracle BPEL es la alternativa para remplazar Oracle Workflow. BPEL utiliza los web
services provistos por los negocios y permite, por medio de una interfaz gráfica, crear un flujo de
trabajo en el que se puede automatizar la toma de decisiones y el tipo de resultados que se
requiere en cada proceso.
5a. Ave. 5-55 Zona14, Edificio Euro Plaza Torre II, Nivel 12
Teléfono: (502)2364-5300 Fax: (502)2364-5311
Email. [email protected]
Página 2
En la actualidad existen muchas empresas que ven los Web Services y SOA como una alternativa
para solucionar los requerimientos de integración con otros negocios a través de aplicaciones
heterogéneas. Crear un web service es un proceso de 2 pasos. El primer paso consiste en
publicar el servicio y segundo agregarlo a un flujo de negocio. Publicar un web service significa
tomar una funcionalidad de una aplicación existente o sistema y crear un interfaz estándar para
que esté disponible a otros negocios.
Para poder dar el segundo paso es necesario una herramienta que cumpla con los
siguientes requerimientos:





Interoperabilidad (WS, JMS, JCA, Portal, email, etc.)
Interacciones sincrónicas y asincrónicas
Mapeo y transformación de datos
Lógica de procesos (deterministica y no deterministica)
Mantenimiento y auditoría en “caliente”
5a. Ave. 5-55 Zona14, Edificio Euro Plaza Torre II, Nivel 12
Teléfono: (502)2364-5300 Fax: (502)2364-5311
Email. [email protected]
Página 3


Versionamiento
Transaccionalidad
Oracle ofrece el Oracle BPEL Process Manager, el cual es una herramienta que se integra con
Oracle Fussion Middleware y que está disponible para las versiones 10.1.3 y 11g. El Oracle BPEL
Procces Manager provee una solución amigable para desarrollar, diseñar, desplegar y administrar
procesos de negocios BPEL. Oracle BPEL Process Manager consta del BPEL Designer, el BPEL
Engine y el BPEL Console.
El BPEL Designer consiste en la interfaz gráfica y amigable que permite construir los
procesos BPEL. Lo que hace único al Oracle BPEL Designer es que utilizar BPEL como su
formato nativo, esto significa que los procesos creados con el diseñador son portables y
adicionalmente permite a los desarrolladores ver y modificar el código fuente de BPEL en cualquier
momento. BPEL Designer es un componente de Jdeveloper 11g y 10.1.3. Ofrece varias
herramientas que facilitan a los desarrolladores la conectividad y transformación de procesos
BPEL. Estas herramientas incluyen soporte para transformaciones XSLT y XQuery además de
adaptadores para “legacy systems” a través de JCA y protocolos nativos.
El BPEL Engine provee la más madura, escalable y robusta implementación de un servidor
BPEL. Es la plataforma sobre la cual publicamos nuestros flujos de procesos. El Oracle BPEL
Process Manager ejecuta los procesos a la vez que permite “capturar” el estado de los flujos
considerados largos en el tiempo y almacenarlos en la base de datos, permitiendo la escalabilidad
y alta disponibilidad del proceso.
EL BPEL Console provee una interfaz web para dar mantenimiento, administrar y depurar
los procesos desplegados en el BPEL server. Información histórica y auditorias son recolectadas
automáticamente y disponibles a través de la consola vía APIs de Java.
En conclusión, Oracle BPEL ofrece una opción para automatizar la interacción entre Web
Services y por lo tanto disminuir la intervención humana para toma de decisiones y orquestar el
resultado de cada servicio.
Si desea ver un ejemplo sencillo sobre el BPEL Designer puede visitar la siguiente dirección:
http://www.youtube.com/watch?v=XRzTySj-aak.
5a. Ave. 5-55 Zona14, Edificio Euro Plaza Torre II, Nivel 12
Teléfono: (502)2364-5300 Fax: (502)2364-5311
Email. [email protected]
Página 4
Bases de Datos Standby en Cascada
Por: Ing. Deiby Gomez
[email protected]
estructuras de los datos pueden ser
diferentes. Es sincronizada por SQL Apply.
1. INTRODUCCIÓN
Una Base de Datos Standby asegura alta
disponibilidad, protección de datos y
recuperación de desastres para datos
empresariales. Oracle Data Guard provee un
conjunto de servicios que crean, mantienen,
manejan y monitorean una o más bases de
datos standby. Data Guard mantiene esas
bases de datos standby como copias
transaccionalmente consistentes de la base
de datos de producción, por lo tanto si la
base de datos de producción no está
disponible ya sea por un corte planeado o no
planeado, Data Guard puede realizar un
cambio entre el rol primario y el rol standby,
minimizando así el tiempo de inactividad que
implica el corte. Una configuración de Data
Guard está formada por lo siguiente:


Cascaded Standby Databases: Para reducir
la carga en su sistema primario, puede
implementar destinos en cascada, es decir,
una base de datos standby recibe datos redo
desde otra base de datos standby en lugar
de recibirlos directamente de la base de
datos primaria.
Las configuraciones en cascada soportadas
son:



PD
PD
PD
PS
PS
LS
PS
LS
PS
Una base de datos de producción
Desde una hasta nueve bases de
datos Standby
La base de datos de producción puede ser
sencilla o RAC.
Una base de datos Standby puede ser de
dos tipos:


Physical Standby
Logical Standby
Physical Standby: Es una copia bloque a
bloque idéntica de la base de datos primaria.
Es sincronizada por medio de Redo Apply.
Logical Standby: Contiene la misma
información lógica de la base de datos
primaria, aunque la organización y las
5a. Ave. 5-55 Zona14, Edificio Euro Plaza Torre II, Nivel 12
Teléfono: (502)2364-5300 Fax: (502)2364-5311
Email. [email protected]
Donde: PD=Base de Datos Primaria
PS=Physical Standby
LS=Logical Standby
Nota: Una base de datos Standby no puede
colocarse en cascada si su base de datos
primaria es RAC. Es posible crear una base
de Physical Standby a partir de una Logical
Standby de una base de datos primaria RAC,
Página 5
pero ésta ya no sería cascada de la base de
datos primaria RAC.
Las configuraciones no soportadas son:





PD
RAC
RAC
RAC
RAC
LS
PS
PS
LS
LS
LS
PS
LS
PS
LS
Una physical standby puede soportar un
máximo de nueve destinos remotos. Oracle
recomienda que destinos en cascada
únicamente sean usados para reportería o
para aplicaciones que no requieran acceso a
datos que estén completamente a la fecha
con el sitio primario.
Bases de datos Standby recibiendo datos
redo desde una physical standby: El
proceso para realizar un switchover o failover
es exactamente el mismo en una
configuración en cascada, porque todas las
bases de datos physical standby retransmiten
idénticos datos redo de la base de datos
primaria. La única diferencia es el tiempo
adicional que puede requerir la restauración
de los datos redo.
Bases de datos Standby recibiendo datos
redo desde una Logical Standby: Cualquier
base de datos que recibe datos redo en
cascada desde una Logical Standby no
puede participar en un en un switchover con
la base de datos primaria, únicamente bases
de datos Logical Standby que reciben
indirectamente datos redo de la base de
datos primaria.
5a. Ave. 5-55 Zona14, Edificio Euro Plaza Torre II, Nivel 12
Teléfono: (502)2364-5300 Fax: (502)2364-5311
Email. [email protected]
Creación de una base de datos en
cascada: Una base de datos standby en
cascada se crea siguiendo el proceso normal
de creación de una base de datos standby ya
sea logical o physical, según sea el caso,
pero la diferencia es que están entrelazadas.
El siguiente ejemplo asume que el sitio
primario tiene por nombre “boston”, el sitio
Physical Standby (Layer 1) tiene por nombre
“chicago” y el sitio Physical Standby (Layer 2)
tiene por nombre “denver”. Se requiere crear
un ambiente como el siguiente:
Primero se deberá crear una configuración
Physical Standby con el proceso normal,
luego se crea otra configuración Physical
Standby pero tomando como base de datos
primaria la primer Physical Standby.
A continuación los pasos resumidos:
Creación de la primer Physical Standby
(Layer 1):




Backup de la base de datos primaria
Transmitir el backup al sitio standby
(Layer 1)
Configurar Oracle Net (tnsnames,
listener, etc)
Realizar Duplicate en el sitio standby
(Layer 1)
Las siguientes operaciones son sobre el sitio
primario:




Habilitar FORCE LOGGING
Crear Password File
Configurar un Standby redo log.
Configurar
parámetros
de
inicialización.
Estos
parámetros
deben estar similar a los siguientes
datos:
DB_UNIQUE_NAME=boston
LOG_ARCHIVE_CONFIG=
'DG_CONFIG=(chicago,boston,denver)'
LOG_ARCHIVE_DEST_1=
'LOCATION=/arch1/boston/
Página 6
VALID_FOR=(ONLINE_
LOGFILES,PRIMARY_ROLE)
DB_UNIQUE_NAME=boston'
LOG_ARCHIVE_DEST_2=
'SERVICE=denver
VALID_FOR=(STANDBY_LOGFILES,STAND
BY_ROLE)
DB_UNIQUE_NAME=denver'

DB_UNIQUE_NAME=denver
LOG_ARCHIVE_CONFIG=
'DG_CONFIG=(chicago,boston,denver)'
LOG_ARCHIVE_DEST_1=
'LOCATION=/arch1/denver/
VALID_FOR=(ONLINE_
LOGFILES,ALL_ROLES)
DB_UNIQUE_NAME=denver'
LOG_ARCHIVE_DEST_2=
'LOCATION=/arch2/denver/
VALID_FOR=(STANDBY_LOGFILES,STAND
BY_ROLE)
DB_UNIQUE_NAME=denver'
STANDBY_ARCHIVE_DEST=/arch2/denver/
REMOTE_LOGIN_PASSWORDFILE=EXCLU
SIVE
LOG_ARCHIVE_DEST_3=
'SERVICE=chicago
VALID_FOR=
(ONLINE_LOGFILES,PRIMARY_ROLE)
DB_UNIQUE_NAME=chicago'
STANDBY_ARCHIVE_DEST=/arch1/boston/
REMOTE_LOGIN_PASSWORDFILE=EXCLU
SIVE

Habilitar Archive mode
En el sitio standby (Layer 1):


Copiar el archivo de parámetros del
sitio primario al sitio standby
Establecer parámetros de iniciación.
Los parámetros deben ser similares
a los siguientes:
DB_UNIQUE_NAME=chicago
LOG_ARCHIVE_CONFIG=
'DG_CONFIG=(chicago,boston,denver)'
LOG_ARCHIVE_DEST_1=
'LOCATION=/arch1/chicago/
VALID_FOR=(ONLINE_
LOGFILES,ALL_ROLES)
DB_UNIQUE_NAME=chicago'
LOG_ARCHIVE_DEST_2=
'SERVICE=denver
VALID_FOR=(STANDBY_LOGFILES,STAND
BY_ROLE)
DB_UNIQUE_NAME=denver'
LOG_ARCHIVE_DEST_3=
'SERVICE=boston
VALID_FOR=
(ONLINE_LOGFILES,PRIMARY_ROLE)
DB_UNIQUE_NAME=boston'
STANDBY_ARCHIVE_DEST=/arch1/chicago/
En el sitio standby (Layer 2):





Backup de la base de datos Layer 1
Transmitir el backup al sitio standby
(Layer 2)
Configurar Oracle Net (tnsnames,
listener, etc)
Realizar Duplicate en el sitio standby
(Layer 2)
Copiar el archivo de parámetros del
sitio primario al sitio standby
5a. Ave. 5-55 Zona14, Edificio Euro Plaza Torre II, Nivel 12
Teléfono: (502)2364-5300 Fax: (502)2364-5311
Email. [email protected]
Establecer parámetros de iniciación.
Los parámetros deben ser similares
a los siguientes:



Crear Password File.
Iniciar la Physical Standby.
Verificar que estén sincronizadas las
bases de datos.
Tip técnico del día:
Updates de multiples tablas:
Al querer actualizar más de una tabla a la vez con
una sentencia SQL, muchos clientes tienden a
utilizar sintaxis errónea como esta:
UPDATE employees e, address a SET
e.division ='North America'
where e.employee_id = a.employee_id
and a.country ='USA'
Esta clausula generara un error ya que si se
quiere acutalizar 2 tablas a la vez, debe utilizarse
un subquery con la clausula WHERE exists:
UPDATE employees e
SET e.division = 'North America'
WHERE exists
(SELECT a.employee_id
FROM address a
WHERE a.country='USA' AND
a.employee_id =
e.employee_id)
Por Lic. Francisco Barrundia
[email protected]
Página 7
Nuevo Web Site
Le invitamos a visitar nuestro totalmente nuevo sitio web, una nueva herramienta de contacto al
servicio de nuestros clientes. Ingrese a www.datum.com.gt para conocer más sobre nuestros
servicios, productos, noticias, etc.
5a. Ave. 5-55 Zona14, Edificio Euro Plaza Torre II, Nivel 12
Teléfono: (502)2364-5300 Fax: (502)2364-5311
Email. [email protected]
Página 8
Gracias a la retroalimentación de nuestros clientes, Datum – Educacional estará impartiendo el
siguiente curso:
Oracle Database 11g: New Features for Administrators
Este curso está diseñado para introducir las nuevas características de Oracle Database 11g, las
cuales son aplicables al trabajo que normalmente realizan los administradores de la base de datos
y personal relacionado. El curso no intenta proveer de cada detalle acerca de características que
ya existía en versiones anteriores (excepto cuando se está definiendo el contexto para una nueva
característica o cuando se compara el anterior comportamiento con el actual). En consecuencia el
curso será mucho más útil si usted ha administrado otras versiones de bases de datos Oracle,
particularmente Oracle Database 10g.
El curso consiste en lecciones dirigidas por un instructor certificado, demostraciones y prácticas
que le permiten conocer cómo se comportan las nuevas características.
Después de completar este curso usted será capaz de:















Instalar Infraestructura de Grid Oracle
Instalar Oracle Database 11g
Usar las mejoras para Automatic Storage Management (ASM)
Implementar table compression e hybrid columnar compression
Implementar las mejoras en data warehousing y particionamiento
Usar SQL Performance Analyzer
Usar SQL Plan Management y cargar SQL plan baselines
Usar Database Replay
Definir y manejar Automatic SQL Tuning
Usar las mejoras para Resource Manager
Usar Enterprise Manager para monitorear comandos SQL
Usar las nuevas y mejoradas características de RMAN
Usar Total Recall para crear, proteger, y usar datos históricos
Usar Data Pump en modo legacy
Usar Data Recovery Advisor
Próxima fecha:
Este curso se estará impartiendo del 09 al 20 de mayo de 2011 de 8:30 a 12:30 en las
instalaciones de Datum, S. A. ubicadas en 5ª. Avenida 5-55 zona 14 Europlaza Torre II nivel 12,
ciudad de Guatemala.
Para inscribirse llamar al (502) 2364-5300 o escribir a educació[email protected]
Retroalimentación, comentarios,
temas de interés y sugerencias
para hands-on sessions:
[email protected]
5a. Ave. 5-55 Zona14, Edificio Euro Plaza Torre II, Nivel 12
Teléfono: (502)2364-5300 Fax: (502)2364-5311
Email. [email protected]
Comentarios y Sugerencias:
Su opinión es muy importante; si desea hacernos algún comentario o
sugerencia, por favor escríbanos al correo electrónico:
[email protected].
Página 9