Descargue el PDF – Newsletter – Agosto 2011

Transcripción

Descargue el PDF – Newsletter – Agosto 2011
Newsletter - Agosto 2011
Manejo de resultados en memoria para
ambiente de base de datos de toma de
decisiones: SQL Query Result Cache
Contenido
Por: Ing. Luis Alonzo
[email protected]
Página:
1 SQL Query Result Cache
3
Nuevas Características
SQL DEVELOPER 3.0
11 Oracle Statspack
5a. Ave. 5-55 Zona14, Edificio Euro Plaza Torre II, Nivel 12
Editores Generales
Teléfono: (502)2364-5300 Fax: (502)2364-5311
Pagina 1/10
Email. [email protected]
Daniel Cacía
Luis Cordón
Gerber Bautista
Debbie Moran
Esta nueva característica disponible en Oracle Database 11g, orientada
para un ambiente de datawarehouse, pero que puede utilizarse para cualquier
ambiente de base de datos, permite reutilizar el resultado de una consulta, siempre
que este resultado no ha sido invalidado por otras transacciones.
Francisco Barrundia
Autores Contribuyentes
Luis Alonzo
Juan Luis Rodríguez
Emilio Méndez
Esta nueva característica, no debe confundirse con reutilizar los bloques en
memoria del cache de datos (db_cache_size). Existe una nueva área de memoria
definida por el parámetro result_cache_max_size, para mantener los registros que
devuelve una consulta y que son candidatos a ser reutilizados por otra sesión, sin
necesidad de volver a ejecutar la consulta. Provee mayor escalabilidad al reducir
el uso de memoria.
No todas las consultas son candidatas a colocar su resultado en esta área de
memora. Se recomienda para el tipo de consultas que deben procesar y/o extraer
una gran cantidad de registros, pero que devuelven una fracción muy pequeña de
estos; por ejemplo consultas con funciones de agrupación.
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
También, no todas las consultas pueden colocar su resultado en esta área de memoria, ya que hay
restricciones respecto al tipo de consulta: no se colocará el resultado al SQL Query Result Cache
cuando la consulta involucres valores de una secuencia (currval, nextval), funciones como
current_date, sysdate, entre otras, y si para obtener el resultado se realizo lectura a bloques o
segmentos de undo.
El uso de esta característica puede hacerse de forma manual, a través de hints en las
consultas que queremos se coloque su resultado en esta área de memoria:
select /*RESULT_CACHE*/ …
select /*NO_RESULT_CACHE*/ …
O bien de forma obligatoria para todas las consultas que se ejecuten, utilizando el
parámetro de base de datos result_cache_mode con valor a FORCE. Si es una base de datos con
aplicaciones OLTP y OLAP mezclados, por ejemplo transaccional en el día, procesamientos de
batch en la noche, y reportes especializados periódicamente, se recomienda un manejo manual.
Si es una base de datos únicamente datawarehouse, es recomendado utilizar el modo obligatorio.
Una forma adicional de manejar los resultados en el SQL Query result cache introducida en
11gR2 es, a nivel de una propiedad en la tabla, la cual puede ser modificada dinámicamente:
create table <table_name> RESULT_CACHE (MODE DEFAULT);
alter table <table_name> RESULT_CACHE (MODE FORCE);
En el modo DEFAULT a nivel de la tabla, la colocación de los resultados en el SQL Query
result cache dependerá del parámetro de base de datos result_cache_mode; el modo FORCE a
nivel de la tabla tomara precedencia del valor del parámetro result_cache_mode.
El espacio asignado por defecto al SQL Query Result Cache es 25% de lo asignado a la
instancia de base de datos (memory_target), y puede tener como máximo 75% de lo asignado al
shared pool.
Para las consultas que almacenan sus datos en el SQL Query Result Cache y hacen uso
de tablas externas a través de dblinks para obtener su resultado, la instancia de base de datos no
puede llevar control de la invalidación del resultado en las bases de datos externas. En este caso
es necesario definir un parámetro (result_cache_remote_expiration) que indica el tiempo máximo
de expiración de un resultado, cuando se ha utilizado consultas a objetos externos.
Es necesario tomar en cuenta que esta área de memoria aun no es afinada
automáticamente; cuando alcanza su valor máximo no continuará creciendo. A través del paquete
dbms_result_cache es posible consultar su uso, estado actual, invalidar resultados asociados a un
objeto en particular, o limpiar todo su contenido. Ejemplos de su uso:
select dbms_result_cache.status from dual;
exec dbms_result_cache.memory_report;
exec dbms_result_cache.flush;
Una característica relacionada permite definir del lado del cliente un área de resultados
similar al SQL Query result cache del lado del servidor: OCI Client Query Cache. Esta
característica es configurable a través de parámetros de base de datos o de parámetros en el
archivo sqlnet.ora del lado del cliente.
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
Y para concluir, también es posible colocar el resultado de funciones en el result cache, siempre
que la función tenga definida la directiva RESULT_CACHE en su área de declaración:
Create or replace function myfunction
(id number) return number RESULT_CACHE is
…
Begin
…
End;
Para las funciones, su resultado será colocado en el result cache si el tipo de dato
retornado no es de los tipos LOB, Ref cursor, colección de objetos o registros, entre otras
restricciones.
En resumen esta nueva característica optimiza el uso de memoria, del lado del servidor y
del lado del cliente, permitiendo una mayor manejabilidad y escalabilidad para el servidor de base
de datos Oracle y sus aplicaciones. Consultas o comentarios, [email protected]
Tip técnico del día:
Como puedo ver el tamaño de un
índice, en mi base de datos?
Podemos ver el tamaño de cualquier objeto
en la base de datos, ya sea índice o tabla con
el siguiente query:
SELECT
sum(bytes)/1048576
Megs, segment_name
FROM user_extents
WHERE segment_name = '&nombre
del indice'
GROUP BY segment_name
/
Esta sentencia nos da los megabytes locales
asignados al índice que nos interesa
Por Lic. Francisco Barrundia
[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]
Página 2
Nuevas características de SQL Developer 3.0
Por: Ing. Juan Luis Rodríguez
[email protected]
Oracle SQL Developer es una herramienta gráfica gratuita para desarrollo de
bases de datos. Con SQL Developer se puede visualizar objetos, ejecutar y
depurar scripts e instrucciones SQL. También se puede ejecutar reportes
predefinidos así como crear y guardar reportes definidos por el usuario. SQL
Developer mejora la productividad y simplifica las tareas de desarrollo de la base
de datos.
Oracle SQL Developer 3.0 (disponible para descarga desde el 29 de Marzo del 2011) ofrece un
nuevo Query Builder, Scheduler Builder y un navegador para DBAs, actualizaciones para
herramientas de migración y extensiones extra; Data Modeler, Oracle Data Miner y Oracle Spatial,
Oracle SQL Developer 3.0 viene integrado con nuevas características para ayudar en las tareas
diarias.
A continuación brinda una breve descripción de las nuevas características de SQL Developer 3.0:
Data
Mining

Interfaz gráfica para Oracle Data Miner 11g Release 2. SQL Developer 3.0, simplifica y
automatiza el proceso de data mining ayudando a los usuarios a realizar minería de sus
datos, definir , guardar y compartir metodologías analíticas avanzadas para visualizar
datos, realizar transformaciones de datos para data mining, construir, evaluar y aplicar
clasificaciones,
clustering,
detección
anormal,
minería
de
textos,
etc.
Los desarrolladores pueden usar SQL y APIs de Java para construir aplicaciones y automatizar el
descubrimiento del conocimiento.
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
Data Modeler
SQL Developer Data Modeler 3.0 está ahora totalmente integrado a SQL Developer
brindando acceso de lectura y escritura para el diseño desarrollo de modelos.
DBMS Scheduler








DBMS Scheduler, permite crear una definición a
través un editor gráfico para:
Programs: Tareas básicas las cuales pueden ser
procedimientos externos, PL/SQL o procedimientos
almacenados en la base de datos.
Schedules: Indica cuándo y cuántas veces se
ejecuta un job.
Jobs: Objetos que son calendarizados los cuales
pueden ser programs o Chains.
Job Classes: Grupos de jobs para priorización y
alojamiento de recursos.
Chains: Crea un flujo de de pasos encadenados por
reglas de encadenamiento para crear jobs más
complejos.
Credentials: Asignación de usuario y contraseña a
ser usados por los jobs para autenticarse con un sistema operativo o base de datos Oracle.
Database Destinations: Especifica la base de datos Oracle en la cual el job (de base de
datos) remoto se ejecutará.
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
DBA Functionality




Database Configuration: Permite revisar y tunear la
configuración de la base de datos y dispone de un editor
de parámetros de inicialización.
Resource Manager: Crea y prioriza consumer groups y
administra resource plans.
Security: Definición de parámetros de auditoría, profiles,
roles y usuarios.
Storage: Define y administra archive logs, control files,
data files, redo logs, rollback segments y tablespaces.
Exporting and Importing

Import Data:
o Interfaz de usuario parametrizable basada en parámetros de preferencia.
o La vista previa de los datos refleja cambios como si se hubiesen hecho en la
definición del archivo.
o Soporte para delimitadores, paréntesis, fin de línea y codificación de archivos.
o El nuevo método “Staging External Table” provee la generación de una tabla
externa a ser usada como una tabla de paso para la carga de datos. Los datos se
insertan en la tabla seleccionándolos de la tabla externa de paso.
 Export data:
o Interfaz del usuario parametrizable basada en parámetros de preferencias.
o Soporte para delimitadores, paréntesis, fin de línea y codificación de archivos.
o Soporte para archivos PDF basado en parámetros de preferencias.
o Búsqueda avanzada de objetos con capacidad de incluir esquema y tipo de objeto.
o Capacidad para descargar datos de vistas y vistas materializadas.
Opciones para enviar la salida a un archivo, separar archivos: para cada objeto, para cada tipo de
objeto, y archivos en directorios separados por tipo de objeto.
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 5
Files and Version Control

Archivo Basado en Debugging. Conjunto de puntos de interrupción en PL/SQL (.pls, .pkb,
etc.) y ejecutar o depurar estos archivos.
Menus


Conexiones
o Recompilar esquema en una conexión a la base de datos.
o Desconectar todas las conexiones de base de datos.
Tablas
o Generar Tabla API en el nodo de Tablas.
Migrations







Soporte para línea de comandos: Todas las mejores funciones de migración pueden ahora
ejecutarse en la línea de comandos.
Soporte para captura de servidor. Habilidad para capturar todas las bases de datos SQL
Server y Sybase.
Proyecto de Apoyo para Migraciones. Nuevo navegador de proyectos. Todas las tareas de
migración se basan ahora en un asistente para administrar el proceso.
Escaneo de Aplicaciones y Migración para Sybase DBLIB y aplicaciones CTLIB.
Solamente soportado para aplicaciones dblib y ctlib y reporteo en áreas para las cuales
deben ser cambiadas para trabajar con Oracle.
Estimación del Proyecto de Migración. Habilidad La estimación del proyecto genera una
hoja de cálculo que puede ser usada por los Gerentes de Proyectos para personalizar la
planeación de recursos y ajustarlos a su organización.
Reportes de Migración. Generación de reportes para análisis de objetos fuente, objetos
convertidos y problemas con migraciones.
Identificación de mejoras y asignación de nombres. Definición de nombres para los objetos
destino antes de que la migración inicie.
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 6
PDF







Diseños Parametrizables. Tablas personalizadas, diseño de columnas y celdas con
fuentes, estilos, sombreado de filas, bordes, alineación, rellenos, espaciado y envoltura de
texto. Las opciones incluyen encabezados de columnas y pie de página.
Soporte para Grandes Objetos Binarios. Imágenes, video, texto, documentos, hojas de
cálculo y otros objetos incluidos en el documento PDF o unidos como archivos separados.
Compresión de Documentos. Diferentes niveles de compresión de documentos.
Meta data. Meta datos como título, nombre, tema y palabras clave.
Generación de PDF. Generación de PDF para objetos de la base de datos como
Navegador de Conexiones, Navegador de Reportes, Navegador para el DBA, Descarga a
través de la base de datos o del Data Grid.
Seguridad. Documentos PDF protegidos por contraseña, contraseña de permiso para
configuración de la seguridad y diferentes niveles de encriptación.
Soporte de Versiones.
PL/SQL Support



Parser. Analizador para completar código que fue modificado con plantillas adicionales
automáticamente derivado de la sintaxis PL/SQL y SQL.
Debugging. Depuración de bloques anónimos.
Ref Cursor. Ejecutar y depurar procedimientos con cursores referenciales. Despliegue de
datos del cursor referencial.
Query Builder





Visor para Query Builder. Visual SQL Query Builder con una característica para copiar y
pegar desde el navegador de conexiones o desde el navegador de esquemas hacia el
visor de Query Builder. SQL Worksheet y el visor Query Builder están totalmente
integrados. Cambio del modo texto a gráfico en cualquier momento.
Creación automática de Joins. Determinación automática y vista de joins entre tablas
relacionadas agregadas al Query Builder. Se puede copiar y pegar columnas para crearlas
manualmente.
Múltiples tipos de Join. Propiedades del Join en términos claros para el usuario (“Show all
<Employees>”) para remover la confusión de sintaxis con LEFT OUTER, RIGHT FULL, etc.
Agrupación, Predicados y Ordenamiento. Visibilidad de columnas, alias, agrupación,
ordenamiento y predicados de selección se muestran de manera sencilla para facilitar el
uso de la tabla de diseño.
Tablas derivadas, Sub-Queries y Uniones se muestran como sub-tabs en el Query Builder
y pueden ser editadas de la misma forma que el query principal.
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 7
Schema Browser
 Facilidad e navegación entre tipos de objeto y esquemas para una conexión específica.
Apoyo rápido del lado del cliente basándose en el nombre o para reducir la lista de objetos que se
muestran.
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
SQL Plus Commands

Vista para todos los comandos SQL Plus.
Spatial





Administración de Datos Espaciales. Identificación de vistas y vistas materializadas que
contienen columnas de tipo spatial.
Definición y validación de metada e índices espaciales.
Interacción con objetos sobre una nueva vista “map”.
Integración con todos los objetos en el map view.
Validación espacial de instancias de datos.
TimesTen









Administración de usuarios de la base de datos. Crear y borrar usuarios, dar y revocar
privilegios, cambiar contraseñas de usuario.
Reportes pre-definidos sobre objetos de la base de datos, como usuarios, PL/SQL, tablas
usuarios y privilegios.
Soporte para sinónimos y logs de vistas materializadas.
Ver y actualizar columnas de datos usando editores de celdas parametrizables.
Reunir estadísticas de todas las tablas que pertenecen al usuario conectado.
Agregar o cambiar índices de llave primaria a índices de tipo hash.
Soporte para navegador de esquema para filtrar y estrechar la lista de los objetos
desplegados.
Crear grupos de cache a partir de sinónimos de Oracle.
Compilar todos los paquetes PL/SQL, procedimientos y funciones inválidos.
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 9
Tunning

SQL Tuning Advisor. Analiza grandes volúmenes de instrucciones SQL y ofrece
recomendaciones de tuneo.
 Diff Tool for Explain Plans. Compara los resultados de Explain Plan o Autotrace para
cualquier instrucción SQL.
Management Pack Licensing Preferences. Opción de preferencias para realizar un seguimiento de
las características de la base de datos Oracle a ser licenciadas.
Testing
 Soporte avanzado para tipos de datos.
 Soporte para multiusuario.
 Múltiples reinicios.
 Suites anidadas.
 Implementación de pruebas de renombramiento.
 Pruebas de sincronización y de objetivos.
 Pruebas de Export.
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 10
Oracle Statspack
Por: Ing. Emilio Méndez
[email protected]
Para realizar un tunning efectivo, es necesario contar con una base de referencia, la cual pueda
ser comparada en un futuro, cuando el sistema presente fallas o no funcione de la manera habitual.
Sin dicho punto de referencia, es muy complicado identificar, si el problema que se está
presentando es debido a que: ¿Si la cantidad de transacciones en el sistema es mayor? ¿Si la
transacción tiene un nuevo perfil? ¿Si el número de usuarios ha aumentado? Todas estas
preguntas se pueden contestar realizando un reporte con la herramienta Oracle Statspack.
¿Para qué sirve Oracle Statspack?
Statspack es un conjunto de scripts SQL y PL/SQL, que permite la colección, automatización,
almacenamiento y visualización de datos de rendimiento, proporcionado por Oracle a partir de la
versión Oracle 8i en adelante. Al momento de ejecutar el script de instalación, un usuario
(PERFSTAT) es creado automáticamente, el cual es propietario de todos los objetos creados por el
Statspack. El usuario PERFSTAT cuenta con privilegios limitados para realizar consultas a la vista
v$views, requerida para el tunning de rendimiento.
Regularmente, cuando se habla de Oracle Statspack, también se menciona mucho, el concepto de
"Snapshot", el cual no es más que la recolección de datos del rendimiento en un punto en el
tiempo, en otras palabras es como si tomáramos una fotografía del rendimiento del sistema. Cada
uno de estos snapshots, es identificado con un "snapshot_id" el cual es la llave única que lo
identifica, en el punto de tiempo que es tomado; cada cierto tiempo es tomado un snapshot y un
nuevo "snapshot_id" es creado, con el mismo.
El snapshot_id, junto con el identificador de la base de datos y el número de instancia, constituyen
la llave única para un snapshot y utilizando esta combinación única, la herramienta Statspack
puede almacenar varios conjuntos de estadísticas de las instancias de un clúster de base de datos,
en las tablas que maneja el Statspack. Esto quiere decir que se pueden crear varios análisis,
reportes y comparaciones independientes por cada una de las instancias contenidas en el clúster.
Cada vez que se toman snapshots, es posible ejecutar un reporte de rendimiento, el cual solicitará
por medio de la consola, dos identificadores de snapshots, para que el reporte sea procesado y
comparado. El reporte calcula la actividad, el rendimiento y la carga entre los dos snapshots
tomados, cabe aclarar que la herramienta Statspack puede comparar dos snapshots de distintos
puntos de tiempos, sin la necesidad de que los dos snapshots sean uno continuo del otro.
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 11
Instalación de Oracle Statspack
Consideraciones Previas
Antes de instalar Oracle Statspack, se deben de tomar ciertas consideraciones, como por ejemplo,
el espacio que ocupa la herramienta, varía considerablemente, debido a la configuración que se
realice con el Statspack, ya que hay que tomar en cuenta: la frecuencia en que se estarán tomando
los snapshots, el tamaño de la base de datos, así como el tipo de arquitectura, si se tiene RAC, y la
cantidad de datos recolectados.
Para instalar Statspack, el requerimiento mínimo de espacio es de 100MB aproximadamente. Si el
tablespace en el cual va a ser instalado el Statspack, es un tablespace del sistema como por
ejemplo SYSAUX, no es necesario realizar ninguna consideración con respecto al espacio, de lo
contrario sí es necesario estar monitoreando los tablespaces, como la creación de objetos, así
como ajustar las cláusulas de almacenamiento.
Instalación
A continuación se muestran los pasos necesarios para instalar el Statspack:
Linux:


SQL> connect / as sysdba
SQL> @$ORACLE_HOME/rdbms/admin/spcreate
Windows:


SQL> connect / as sysdba
SQL> @%ORACLE_HOME%\rdbms\admin\spcreate
Ejecutando Snapshots Automáticamente
A continuación se muestran los pasos necesarios para configurar el Statspack, para que recolecte
estadísticas de manera automática (por defecto cada hora):
Linux:


SQL> connect perfstat/perfstat_password
SQL> @$ORACLE_HOME/rdbms/admin/spauto.sql
Windows:


SQL> connect perfstat/perfstat_password
SQL> @%ORACLE_HOME%\rdbms\admin\spauto.sql
Utilizando Oracle Staspack
Tomando Snapshots
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 12
La forma más fácil de tomar snapshots es, primero autenticarse a SQL*Plus como el usuario
PERFSTAT y ejecutar el procedimiento statspack.snap.


SQL> connect perfstat/perfstat_password
SQL> execute statspack.snap
El snapshot guardará los valores actuales para las estadísticas de rendimiento en las tablas
creadas por el Statspack, y el snapshot creado puede ser usado como línea base para compararlo
con otro snapshot tomado en otro punto de tiempo después.
Creando Reportes
Para crear reportes, se ejecutan las siguientes líneas en la consola de SQL*Plus.
Linux:


SQL> connect perfstat/perfstat_password
SQL> @$ORACLE_HOME/rdbms/admin/spreport
Windows:


SQL> connect perfstat/perfstat_password
SQL> @%ORACLE_HOME%\rdbms\admin\spreport
Conclusiones
Statspack puede ser utilizado en forma paralela con Enterprise Manager, ya que Statspack permite
capturar datos del rendimiento de la instancia de Oracle y reportar dichos datos en un formato
textual, mientras que el Enterprise Manager lo hace de una forma gráfica. En Oracle 9i, el Oracle
Enterprise Manager utilizaba los datos obtenidos por el Statspack y los mostraba gráficamente. A
partir de 10g, el Enterprise Manager utiliza el AWR (Automatic Workload Repository) para
recolectar información.
El AWR es una parte integrada del servidor de Oracle, el objetivo del mismo, es que
automáticamente cada cierto tiempo realiza la recolección de datos y junto con el ADDM
(Automated Database Diagnostic Monitor) componente también del servidor, utiliza estos datos
para realizar diagnósticos del rendimiento. Al comparar los reportes gráficos, así como la
instalación y configuración manual del Statspack, se pueden observar varias desventajas en la
utilización de Statspack. Pero, como recomendación final, si se cuentan con los recursos
necesarios, se podría recolectar información de los dos métodos.
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 13
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 14

Documentos relacionados