Instalación y configuración de 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 /nolog
SQL > connect /as sysdba
SQL > @$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.sql

4. 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 /nolog
SQL> connect perfstat/******
SQL> @$ORACLE_HOME/rdbms/admin/spreport.sql

Obtenemos el listado de fotos tomadas:

Tenemos que elegir el intervalo para obtener el informe (en este caso de la 111 a la 121 -> obtendo el intervalo del 21 de Junio desde las 12 hasta las 12 y 37)

Specify the Begin and End Snapshot Ids
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Enter value for begin_snap: 111
Begin Snapshot Id specified: 111
Enter value for end_snap: 121
End Snapshot Id specified: 121

Especificamos el nombre del informe (carpeta informes)

Specify the Report Name
~~~~~~~~~~~~~~~~~~~~~~~
The default report file name is sp_111_121. To use this name,
press <return> to continue, otherwise enter an alternative.
Enter value for report_name: /opt/scripts/111-121

Así obtenemos el informe de Statspack

About: admin


0 thoughts on “Instalación y configuración de Statspack”

  1. Buenas amigos, pueden anexar una tarea en el crontab para que se ejecute cada cierta frecuencia que ustedes planifiquen ejemplo:

    en el archivo de crontab

    30 * * * * */home/oraadm100/prog_admin/statspack_snap.sh

    contenido del archivo de statspack_snap.sh

    ****************************************************

    #!/bin/csh -x

    setenv ORACLE_HOME /apl1/oracle9i

    setenv HOME /home/oraadm100/prog_admin

    setenv ORACLE_SID XXXXX

    $ORACLE_HOME/bin/sqlplus -s perfstat/oracle@XXXXX < < EOF exec statspack.snap; EOF exit; **************************************************** le puedes colocar dentro del script del archivo statspack_snap.sh el hints exec statspack.snap(i_snap_level=>7), dependiendo de lo que deseas obtener

    de la instancia.

    Saludos y Suerte

Deja un comentario

Tu dirección de correo electrónico no será publicada.