SQL Performance Analyzer Oracle Database

En ocasiones después de hacer un cambio sobre la configuración de una BD, ya sea memoria asignada, versión del optimizador, etc… es necesario obtener una evidencia que demuestre que lo que se ha hecho mejora o no el rendimiento.

SQL Performance Analyzer ( SPA ) un paquete que aparece por primera vez en la versión 11g. Básicamente lo que hace es utilizar un SQL Tuning Set y realizar un test de todas las operaciones incluidas en el mismo calculando:

  • Planes de ejecución
  • Tiempos de CPU

La documentación oficial está aqui.

Partimos de un SQL Tuning Set (STS) creado en la entrada SQL Tuning Set Oracle Database llamado sh_workload
Continue reading

SQL Access Advisor Oracle Database

Una vez más cuando tenemos problemas de rendimiento cualquier ayuda es poca, Oracle Database ofrece el SQL Access Advisor que nos ayudará ofreciendo recomendaciones para mejora el rendimiento del entorno, indices nuevos, planes de ejecución, etc..  de un SQL Tuning Set (entre otras posibles entradas)

En esta entrada vamos a ver como utilizar el SQL Access Advisor (SAA), que ofrecerá recomendaciones del tipo:

  • Particionado de tablas
  • Creación de índices
  • Creación de vistas materializadas
  • Generación de estadisticas.

Que podemos aplicar para mejorar el rendimiento de la BD.

La documentación oficial está aqui.

Partimos de un SQL Tuning Set (STS) creado en la entrada SQL Tuning Set Oracle Database.
Continue reading

SQL Tuning Advisor Oracle Database

Cuando tenemos problemas de rendiemiento cualquier ayuda es poca, Oracle Database ofrece el SQL Tuning Advisor  (STA) que nos ayudará ofreciendo recomendaciones para mejora el rendimiento del entorno, indices nuevos, planes de ejecución, etc..  de un SQL Tuning Set (entre otras posibles entradas)

En esta entrada vamos a ver como utilizar el SQL Tuning Advisor, que ofrecerá recomendaciones que podemos aplicar para mejorar el rendimiento de la BD.

La documentación oficial está aqui.

Partimos de un SQL Tuning Set (STS) creado en la entrada SQL Tuning Set Oracle Database.

Continue reading

SQL Tuning Set Oracle Database

En esta entrada vamos a ver como crear un SQL Tuning Set (STS) que posteriormente podemos utilizarlo de diversas formas.

Un SQL Tuning Set (STS), es un conjunto de operaciones sobre la BD que puede ser creado desde el caché, desde snapshost, SQLID…

Una vez tenemos definido el SQL Tuning Set (STS), podemos utilizarlo con:

  • SQL Tuning Advisor
    Obtiene recomendaciones para mejora el rendimiento del entorno, indices nuevos planes, etc..  de un sqlset (entre otras posibles entradas)
  • SQL Performance Analyzer
    Obtiene los planes de ejecución y tiempos, etc… de un sqlset (entre otras posibles entradas), se pueden comparar diferentes tasks, habiendo realizado cambios de parametrización de la BD, estructuras, etc…
  • SQL Access Advisor
    Obtiene recomendaciones de vistas materializadas o índices para mejorar el rendimiento.
  • Transportarlo a otra base de datos, para utlizarlo con los 3 paquetes anteriores en un entorno diferente.

Continue reading

Oracle espacio ocupado por tabla y objetos relacionados

En ocasiones debemos obtener un detalle suficiente del espacio ocupado por un tabla de la BD y sus objetos relacionados.Database_Icon_256

Para conocer el espacio ocupado por una tabla debemos acceder básicamente a:

  • dba_indexes, para obtener los nombres de los índices relacionados con la tabla.
  • dba_logs, aquí podemos conocer si existe algún segmento de tipo lob relacionado con la tabla.
  • dba_segments, finalmente obtenemos cada uno de los tamaños utilizando los datos anteriores

Por ejemplo, la tabla SCOTT.TABLE_TEST, la consulta sobre dba_indexes:

Continue reading

Oracle obtener DDL de objetos

En ocasiones es muy útil obtener la instrucción DDL de un objeto de base de datos determinado.base_datos_objetos

Podemos por ejemplo recrear un usuario de un entorno a otro sin ni siquiera conocer la contraseña.

Las instrucciones DDL las podemos obtener llamando a la función:

Source   
DBMS_METADATA.GET_DDL (
object_type IN VARCHAR2,
name IN VARCHAR2,
schema IN VARCHAR2 DEFAULT NULL,
version IN VARCHAR2 DEFAULT 'COMPATIBLE',
model IN VARCHAR2 DEFAULT 'ORACLE',
transform IN VARCHAR2 DEFAULT 'DDL')
RETURN CLOB;

Continue reading

Gestión de memoria para Oracle 10g y >=Oracle 11g

En las versiones 10g y 11g de Oracle Database, se ha simplificado la configuración de las estructuras de memoria tanto para el SGA como el PGA de forma notable.

Oracle versión >=10g

A partir de la versión 10g se introducen 2 nuevos parámetros de gestión de memoria que simplifican enormente esta tarea.

SGA_TARGET, simplemente se fija un valor y redimensiona a demanda los valores (siempre y cuando sean=0):

  • Buffer cache (DB_CACHE_SIZE)
  • Shared pool (SHARED_POOL_SIZE)
  • Large pool (LARGE_POOL_SIZE)
  • Java pool (JAVA_POOL_SIZE)
  • Streams pool (STREAMS_POOL_SIZE)

Continue reading

Parámetros RMAN oracle, en un script rman (solo Oracle 11g o superior)

Cuando listamos los backups realizados con:

Source   
RMAN> list backup summary;

Por ejemplo, podemos tener problemas para localizar un backupset. El resultado es bastante confuso y desde luego son poco elegantes las etiquetas creadas por defecto.

Continue reading

Contraseña caducada oracle, Oracle 11

Con la versión más reciente de Oracle Database 11g, se ha reforzado la seguridad por defecto. Esto en principio debería ser positivo, pero hay algunas situaciones en las que pueden resultar desagradables algunos comportamientos.

El caso más claro lo podemos encontrar en la moficación del perfil (PROFILE) DEFAULT, que es aplicado a cualquier usuario creado de forma predeterminada.

Continue reading