martes, 29 de noviembre de 2011

Statspack

1. Objetivo
El objetivo de este documento es explicar cómo se instala statspack y cómo se puede configurar statspack para obtener instantáneas de la base de datos en un momento determinado.



2. Instalación statspack
Para realizar la instalación de statspack hay que tener previamente creado un tablespace disponible para la instalación.

- En base de datos ORACLE8 y ORACLE9 podemos elegir un tablespace que tenga espacio suficiente para la instalación aunque lo más recomendable es crear uno nuevo, por ejemplo un tablespace llamado PERFSTAT.

- En bases de datos ORACLE 10g la instalación se puede realizar en el tablespace SYSAUX.

Nos conectamos a la base de datos en la que queremos instalar STATSPACK y ejecutamos con el usuario sys el script $ORACLE_HOME/rdbms/admin./spcreate.sql

Ejemplo: Instalación de statspack en una base de datos oracle9. Nos conectamos con el usuario oracle9, fijamos la variable ORACLE_SID y lanzamos el script spcreate.sql

$ su – oracle9$ export ORACLE_SID=orasite$ sqlplus /nologSQL > connect /as sysdbaSQL > @$ORACLE_HOME/rdbms/admin/spcreate.sql
Durante la instalación se van a solicitar los siguientes datos:
- Contraseña para el usuario perfstat: *******

- Tablespace a instalar: Ponemos SYSAUX o PERFSTAT dependiendo de la versión en la que estemos.(tablespace creado en oracle8 y oracle9 o tablespace de oracle10).

3. Desinstalación statspack
En caso de que queramos desinstalar STATSPACK de la misma forma que lo hemos instalado en vez de ejecutar el fichero spcreate ejecutamos el fichero spdrop.sql

SQL> @$ORACLE_HOME/rdbms/admin./spdrop.sql4. Obtener una foto de la base de datos con statspack
Para ejecutar statspack y obtener una instantánea de la base de datos en ese momento lo realizamos de la siguiente forma:

Nos conectamos a la base de datos con el usuario perfstat y ejectuamos statspack.snap

sql > connect perfstat/*****sql > execute statspack.snap(I_SNAP_LEVEL=>10);Si vamos a obtener instantáneas a menudo es conveniente actualizar las estadísticas de perfstat.

sql > connect perfstat/*****sql > execute dbms_stats.gather_schema_stats(ownname=>'perfstat');5. Obtener un informe statspack
Para obtener un Informe statspack los pasos que hay que seguir son los siguientes (Hay que tener en cuenta que para sacar un informe hay que tener más de una foto y que entre éstas la instancia no se haya caído o parado):

Con el usuario propietario de oracle nos conectamos a la base de datos como perfstat.

Ejecutamos el script $ORACLE_HOME/rdbms/admin/spreport.sql . Al ejecutar este script obtenemos todas las fotos que se han realizado y vamos contestando a las peticiones que este te hace:

Foto inicial
Foto final
Lugar para generar el informe

Ejemplo para obtener un informe.

$ su – oracle9$ export ORACLE_SID=orasite$ sqlplus /nologSQL> connect perfstat/******SQL> @$ORACLE_HOME/rdbms/admin/spreport.sql