Sie sind auf Seite 1von 2

Statspack Statspack is a set of performance monitoring and reporting utilities provided by Oracle starting from Oracle 8i and above.

Statspack provides improved BSTAT/ESTA T functionality, though the old BSTAT/ESTAT scripts are still available. For more information about STATSPACK, read the documentation in file $ORACLE_HOME/rdbms/a dmin/spdoc.txt. Although AWR and ADDM (introduced in Oracle 10g) provide better statistics than STATSPACK, users that are not licensed to use the Enterprise Manager Diagnostic Pack should continue to use statspack. Contents [hide] 1 Install statspack 2 Take performance snapshots of the database 3 Statspack reporting 4 Other statspack scripts 5 Potential problems 6 External links [edit] Install statspack cd $ORACLE_HOME/rdbms/admin sqlplus "/ as sysdba" @spdrop.sql sqlplus "/ as sysdba" @spcreate.sql -- Drop and install statspack -- Enter tablespace names when prompted

[edit] Take performance snapshots of the database sqlplus perfstat/perfstat exec statspack.snap; -- Take a performance snapshots -- or: exec perfstat.statspack.snap(i_snap_level=>10); -- or instruct statspack to do gather more details in the snapshot -- (look up which oracle versio n supports which level). The spauto.sql script can be customized and executed to schedule the collection of STATPACK snapshots. [edit] Statspack reporting -- Get a list of snapshots select SNAP_ID, SNAP_TIME from STATS$SNAPSHOT; @spreport.sql e report [edit] Other statspack scripts Some of the other statspack scripts are: sppurge.sql - Purge (delete) a range of Snapshot Id's between the specified begin and end Snap Id's -- Enter two snapshot id's for differenc

spauto.sql - Schedule a dbms_job to automate the collection of STATPACK statistics spcreate.sql - Installs the STATSPACK user, tables and package on a database (Ru n as SYS). spdrop.sql - Deinstall STATSPACK from database (Run as SYS) spreport.sql - Report on differences between values recorded in two snapshots sptrunc.sql - Truncates all data in Statspack tables [edit] Potential problems Statpack reporting suffers from the following problems: Some statistics may only be reported on COMPLETION of a query. For example, if a query runs for 12 hours, its processing won't be reported during any of the snapshots taken while the query was busy executing. If queries are aged out of the shared pool, the stats from V$SQL are reset. This can throw off the delta calculations and even make it negative. For example, query A has 10,000 buffer_gets at snapshot 1, but at snapshot #2, it has been aged out of the pool and reloaded and now shows only 1,000 buffer_gets. So, when you run spreport.sql from snapshot 1 to 2, you'll get 1,000-10,000 = -9,000 for this query.