miércoles, 11 de noviembre de 2015

Optimización SGA y PGA

SGA

Los trabajos de optimización de un gestor de base de datos Oracle pasan siempre por el estudio de las tablas de estadísticas propias del motor. Estas tablas dan información relativa a lo sucedido desde el último arranque, es decir, con cada reinicio de la instancia de base de datos se vacían.
Oracle utiliza dos estructuras de memoria principales para su trabajo: el Área Global del Sistema, SGA (System Global Area o también Shared Global Area) y el Área Global de Programa, (Program Global Area), PGA.
En la SGA Oracle guarda información sobre su estado de manera compartida. Está disponible para todos los procesos, por eso se dice que está compartida.
La SGA consta del

  •     Database Buffer Cache
  •     Redo Log Buffer
  •     Shared Pool
  •     Large Pool
  •     Java Pool
  •     Streams Pool

Consulta para comprobar uso de la Bd con respecto a las licencias

Aqui os dejo una consulta muy util para saber que uso se esta dando a la BD y asi poder compararlo con la licencia que tengamos de la misma:

SELECT sessions_max s_max,
sessions_warning s_warning,
sessions_current s_current,
sessions_highwater s_high,
users_max
FROM v$license;

martes, 19 de agosto de 2014

Gestión de Bloqueos en Base de Datos

En esta ocasión os dejo una consulta que uso bastante para detectar y matar sesiones con bloqueos en base de datos.
Espero que sea de ayuda:

jueves, 22 de agosto de 2013

Instalacion rapida de Oracle XE 11G en CentOS

En esta entrado voy a explicaros como se realiza la instalación básica de Oracle XE en una distribución CentOS
La máquina CentOS deberá tener por lo menos el doble de RAM que la asignada a la BD.
En todas las instalaciones de Oracle XE es necesario instalar los paquetes libaio, bc, and flex.

    [root@ms3 ~]#  yum install libaio bc flex 


Paso 1: Descarga e instalacion de Oracle 11g XE (RPM)
========================================

Puedes descargar el paquete rpm de Oracle XE, oracle-xe-11.2.0-1.0.x86_64.rpm.zip, desde la pagina de Oracle
Descomprimimos el archivo oracle-xe-11.2.0-1.0.x86_64.rpm.zip:

    [root@ms3 ~]# unzip -q oracle-xe-11.2.0-1.0.x86_64.rpm.zip 

martes, 13 de agosto de 2013

Reconfigurar Enterprise Manager Oracle 11G en Linux

Aqui os dejo los comandos que se utilizan para reconfigurar la consola de EM en Oracle 11G.

Este comando borra la configuracion del EM actual:
# emca -deconfig dbcontrol db -repos drop

Con este otro comando se regenera la configuracion del EM:
# emca -config dbcontrol db -repos create

Extraer sentencias DDL

Aqui os dejo un srcrip sql para extraer las sentencias ddl de una BD Oracle.
En este caso para sacar la creacion de los indices de un esquema en concreto:

set echo off
set heading off
set feedback off
set verify off
set pagesize 0
set linesize 132

EXECUTE DBMS_METADATA.SET_TRANSFORM_PARAM(DBMS_METADATA.SESSION_TRANSFORM,'PRETTY',true);
EXECUTE DBMS_METADATA.SET_TRANSFORM_PARAM(DBMS_METADATA.SESSION_TRANSFORM,'SQLTERMINATOR',true);
spool D:\indices.sql
SELECT to_char(DBMS_METADATA.GET_DDL ( 'INDEX', index_name, owner)) as Indice FROM all_indexes WHERE  table_owner = 'USUARIO_ORACLE';
spool off;

Reconscrucción de un Indice

Para saber si se ha de reconstruir un indice generalmente se usa el indicador de Blevel (branch level) que indica el número de veces que Oracle ha tenido que reducir la búsqueda en ese índice.
Para saber el Blevel se ha de lanzar la sigiente consulta:
select index_name, blevel from dba_indexes where table_owner='Propietario';

Si el blevel es superior a 4 se recomienda reconstruir el indice. Para ello utilizamos la siguiente sentencia:
alter index Nombre_índice rebuild;

Otra forma de saber si un indice necesita ser reconstruido es analizandolo con las siguientes setencias:
ANALYZE INDEX index_name COMPUTE STATISTICS;
ANALYZE INDEX index_name VALIDATE STRUCTURE;

Una vez lanzado las sentencias anterior debemos realizar la siguiente consulta;
Select * from index_stats;

En ella nos debemos de fija en la columna height no debera ser superior a 3. En caso contrario deberiamos de regenerar el indice.