Beruflich Dokumente
Kultur Dokumente
Anlisis
de
rendimiento
en
10G
ndice
Objetivos...............................................................................................................................................3
Que son las vistas dinmicas de rendimiento?....................................................................................3
Statspack...............................................................................................................................................5
Que es Statspack?...........................................................................................................................5
Por qu usar Statspack?..................................................................................................................5
Que es una snapshot?.....................................................................................................................5
Funcionamiento general de Statspack..............................................................................................6
Instalando Statspack........................................................................................................................6
Requisitos....................................................................................................................................6
Proceso........................................................................................................................................6
Tomar nuestra primera snapshot......................................................................................................7
Listar todas las snapshots de nuestra base de datos.........................................................................7
Borrar snapshots..............................................................................................................................7
Ajustar el nivel de detalle de las snapshots......................................................................................7
Programar la toma de snapshots......................................................................................................8
Creacin de informes.......................................................................................................................8
Anlisis del informe.........................................................................................................................9
Cabecera......................................................................................................................................9
Perfil de carga...........................................................................................................................10
Porcentaje de eficiencia de la instancia.....................................................................................10
Top 5 eventos............................................................................................................................12
Top de consultas que consumen ms tiempo de CPU..............................................................12
Resumen de estadsticas de E/S para cada tablespace..............................................................13
Pg. 2 de 14
Objetivos
- Conocer las vistas dinmicas que proporcionan informacin sobre el rendimiento de la instancia.
- Instalar y configurar statspack entendiendo la estructura de la aplicacin y los diferentes niveles de
recogida de datos existentes.
- Comprender la informacin ms relevante recogida por statspack de forma que se detecten los
problemas de rendimiento de la instancia, los posibles cuellos de botella de la base de datos y las
sentencias o procedimientos que generan problemas de carga de la base de datos.
- Aprender a redactar una documentacin concisa y til sobre procedimientos de administracin.
Pg. 3 de 14
Pg. 4 de 14
Statspack
Que es Statspack?
Statspack es un conjunto de scripts para medir la productividad de la base de datos. Recopila
informacin de las vistas dinmicas de rendimiento y, comparando diferentes snapshots, genera
informes sobre el rendimiento de nuestra base de datos.
Pg. 5 de 14
Instalando Statspack.
Requisitos.
Un tablespace dedicado para almacenar los objetos necesarios. El tamao mnimo necesario
es 250 megabytes, aunque vara de instalacin en instalacin y Oracle no proporciona
ninguna cifra orientativa. Para ser consistentes, Oracle recomienda llamarlo PERFSTAT. Es
importante mantener vigilado el tamao del tablespace para que no se llene.
SQL> CREATE TABLESPACE perfstat
DATAFILE 'C:\app\Usuario\oradata\orcl\perfstat.dbf' SIZE 1000M REUSE
EXTENT MANAGEMENT LOCAL UNIFORM SIZE 512K
SEGMENT SPACE MANAGEMENT AUTO
PERMANENT
ONLINE;
Proceso
Nos conectamos como algn usuario con privilegios de SYSDBA
SQL> @?/rdbms/admin/spcreate.sql
SQL>[password para el usuario perfstat]
Nombre del tablespace a utilizar:
SQL>PERFSTAT
Que tablespace temporal usara el usuario PERFSTAT
SQL>TEMP
Revisar los archivos de log spcusr.lis, spctab.lis, spcpkg.lis en busca de ORA-, por si ha
habido algn error. En ese caso, hay que corregir el error, desinstalar Statspack y volver a iniciar el
Pg. 6 de 14
proceso de instalacin.
SQL> @?/rdbms/admin/spdrop.sql
SQL> @?/rdbms/admin/spcreate.sql
Borrar snapshots.
@?/rdbms/admin/sppurge;
Pg. 7 de 14
Creacin de informes.
Nota: No deben compararse snapshots procedentes de diferentes ejecuciones de instancias. La
instancia no debe haber sido apagada entre la snapshot inicial y la final.
La razn es que los valores recopilados por Statspack proceden de vistas que residen en
memoria, por lo que apagar la instancia resetara los valores a 0. Dado que Statspack resta los
valores iniciales a los finales, el resultado sera invlido.
SQL*PLUS>@?/rdbms/admin/spreport.sql
Pg. 8 de 14
Begin
End
---------- ---------124M
Std Block Size:
8K
200M
Log Buffer: 5,480K
Campo importante: Elapsed time. Merece la pena repetirlo: Si no ha pasado tiempo suficiente entre
cada snapshot o ha pasado demasiado, los valores que se obtengan no sern representativos.
Pg. 9 de 14
Perfil de carga.
Load Profile
Per Second Per Transaction Per Exec Per Call
~~~~~~~~~~~~
------------------ ----------------- ----------- ----------DB time(s):
0.2
1.4
0.01
0.05
DB CPU(s):
0.1
0.7
0.00
0.02
Redo size:
16,031.7
113,366.9
Logical reads:
288.0
2,036.3
Block changes:
48.0
339.7
Physical reads:
5.9
41.4
Physical writes:
0.1
0.5
User calls:
4.2
29.6
Parses:
16.9
119.3
Hard parses:
1.4
10.2
W/A MB processed:
0.5
3.8
Logons:
0.1
0.6
Executes:
32.0
226.2
Rollbacks:
0.0
0.0
Transactions:
0.1
Executes: Cuantas sentencias se procesan por segundo. Cuantas ms mejor.
Transactions: Cuantas transaciones por segundo se procesan. Cuants ms mejor.
En este caso, la carga de nuestra base de datos es muy ligera.
Pg. 11 de 14
Top 5 eventos
Top 5 Timed Events
Avg %Total
~~~~~~~~~~~~~~~~~~
wait Call
Event
Waits Time (s) (ms) Time
----------------------------------------- ------------ ----------- ------ -----CPU time
12
55.0
buffer busy waits
4
6 1379 26.2
db file sequential read
446
1
3 6.3
control file sequential read
511
1
2 3.8
log file parallel write
28
1 19 2.5
CPU time no es en realidad un evento de espera, sino la suma de la CPU usada durante la sesin.
Db file sequential read - Aparece con mayor frecuencia cuando hay esperas a la hora escribir en el
espacio temporal.
28,508
CPU
Elapsd Old
Buffer Gets Executions Gets per Exec %Total Time (s) Time (s) Hash Value
--------------- ------------ -------------- ------ -------- --------- ---------14,183
1
14,183.0 49.8 3.27 17.11 2522684317
Module: SQL*Plus
BEGIN statspack.snap; END;
10,151
3
3,383.7 35.6 2.63
3.18 1279382630
Module: SQL Developer
select 'TABLE' type, ''||o.owner# owner, name object_name, null
column_name, null column_id, null data_type FROM sys.obj$ o whe
re o.name not like 'BIN%' and o.type# = 2 and rownum <=50 and
name like :1 union all select 'VIEW' type, ''||o.owner# owne
704
3
234.7 2.5 2.02
3.69 1656426908
Module: SQL Developer
SELECT /*OracleDictionaryQueries.ALL_TABLE_ORACLE_QUERY*/
X.TABLE_NAME , 'TABLE' OBJECT_TYPE , (SELECT O.OBJECT_I
D
FROM ALL_OBJECTS O
WHERE O.OWNER = X.OWNER
AND O.OBJECT_TYPE = 'TABLE'
AND O.OBJECT_NAME = X.TA
650
54
12.0 2.3 0.03
0.13 3285818817
select owner#,name,namespace,remoteowner,linkname,p_timestamp,p_
Pg. 12 de 14
Pg. 13 de 14
Pg. 14 de 14