Using STATSPACK
Hello Everyone
I'm trying to get use of STATSPACK tool to perfom some tuning performance.
I wrote in the book that in order to use this tool you need to:
1. Install the tool --> @ORACLE_HOME\rdbms\admin\spcreate.sql
2. schedule the regular snapshot using : statspack.snap
I did the step 1 v and it's ok
But in the step 2, how could I get the file statspack.snap or there is another file to schedule the the snapshot?, and where is the default directory to find statistics generated?
Thank you for your help
Hi,
Yes, you want to schedule your SP snapshots with dbms_job or dbms_scheduler.
SQL> execute dbms_job.submit(:jobno, 'statspack.snap;',
trunc(sysdate+1/24,'HH'), 'trunc(SYSDATE+1/24,''HH'')', TRUE, :instno);
The important thing to note in this call to dbms_job.submit is the execution interval. The SYSDATE+1/24 is the interval that is stored in the dba_jobs view to produce hourly snapshots. You can change this as follows for different sample times. There are 1,440 minutes in a day, and you can use this figure to adjust the execution times.
SQL> execute dbms_job.submit(:jobno, 'statspack.snap;',
trunc(sysdate+1/144,'MI'), 'trunc(SYSDATE+1/144,''MI'')', TRUE, :instno);
http://www.dba-oracle.com/tips_oracle_statspack_schedule_collection.htm
You can also use a script like this for fast-duration snapshots:
http://www.remote-dba.net/oracle_10g_tuning/t_tuning_short_time_granularity.htm
Hope this helps . . .
Donald K. Burleson
Oracle Press author
Similar Messages
-
Urgt:How to identify TOP 5 SQL using more CPU time without using statspack
How to identify the TOP 5 SQL queries which are consuming more CPU time during the timespan of 24 hours for entire database. There are N number of users who have issued sql queries, out of which few users have disconnected and few user are still connected to the database(I need to consider all sessions). My database version is 9.0.1. I don't want to use statspack. Is there any way to identify TOP 5 SQL consuming more CPU time without affecting the performance of the database. Can any one help me on this? Its urgent!!. I don't want to use statspack becasue it degrades the performance and i cannot afford to run it for 24 hours.
You don't run statspack for 24 hours, that would infact be pointless...
Run statspack for say a 10 or 15 minute window during a particular "busy" period on your database. If you run it for longer then all the useful data will have been "averaged out". You want a snapshot in time, not an average over the day. -
How to identify TOP 5 SQL consuming more CPU time without using statspack
How to identify the TOP 5 SQL queries which are consuming more CPU time during the timespan of 24 hours for entire database. There are N number of users who have issued sql queries, out of which few users have disconnected and few user are still connected to the database(I need to consider all sessions). My database version is 9.0.1. I don't want to use statspack. Is there any way to identify TOP 5 SQL consuming more CPU time without affecting the performance of the database. Can any one help me on this? Its urgent!!.
My database version is 9.0.1. I don't want
to use statspack. Is there any way to identify TOP 5
SQL consuming more CPU time without affecting the
performance of the database. Can any one help me on
this? Its urgent!!.I cant understand why you dont want to use statspack. As it is very easy to use and very quick to identify bottlenecks. Try using statspack. Its really wonderful.
Particularly in your case statspack is the best.
Regards,
Sanju. -
How to interprete Statspack report
Hello all,
I'm new in using statspack and i've tried to run it and gather the report but i can't interprete the result, i mean what can i do, the decisions after reading the report how to inteprete, what part of the result are the essential.
Here is an extract of my statspack report. If someone can help me or any documentations online for this.
STATSPACK report for
DB Name DB Id Instance Inst Num Release OPS Host
QLM3 1443332160 orcl 1 8.1.7.0.0 NO SRVUSINE
Snap Id Snap Time Sessions
Begin Snap: 1 03-Jan-07 15:48:53 57
End Snap: 2 03-Jan-07 15:56:30 57
Elapsed: 7.62 (mins)
Cache Sizes
~~~~~~~~~~~
db_block_buffers: 19200 log_buffer: 163840
db_block_size: 8192 shared_pool_size: 128000000
Load Profile
~~~~~~~~~~~~ Per Second Per Transaction
Redo size: 8,232.78 22,941.34
Logical reads: 11,853.51 33,030.82
Block changes: 41.60 115.91
Physical reads: 145.94 406.67
Physical writes: 36.83 102.62
User calls: 139.75 389.42
Parses: 6.30 17.55
Hard parses: 0.09 0.25
Sorts: 2.23 6.23
Logons: 0.82 2.29
Executes: 87.97 245.13
Transactions: 0.36
% Blocks changed per Read: 0.35 Recursive Call %: 32.96
Rollback per transaction %: 6.71 Rows per Sort: 104.37
Instance Efficiency Percentages (Target 100%)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Buffer Nowait %: 100.00 Redo NoWait %: 99.90
Buffer Hit %: 98.77 In-memory Sort %: 99.22
Library Hit %: 99.83 Soft Parse %: 98.58
Execute to Parse %: 92.84 Latch Hit %: 100.00
Parse CPU to Parse Elapsd %: 57.07 % Non-Parse CPU: 100.00
Shared Pool Statistics Begin End
Memory Usage %: 88.80 88.08
% SQL with executions>1: 35.12 35.45
% Memory for SQL w/exec>1: 56.60 58.45
Top 5 Wait Events
~~~~~~~~~~~~~~~~~ Wait % Total
Event Waits Time (cs) Wt Time
direct path write 13,024 13,301 38.64
db file sequential read 17,592 8,103 23.54
direct path read 13,514 7,199 20.91
db file scattered read 3,231 2,085 6.06
PX Deq: Txn Recovery Start 8 699 2.03
Wait Events for DB: QLM3 Instance: orcl Snaps: 1 -2
-> cs - centisecond - 100th of a second
-> ms - millisecond - 1000th of a second
-> ordered by wait time desc, waits desc (idle events last)
Avg
Total Wait wait Waits
Event Waits Timeouts Time (cs) (ms) /txn
direct path write 13,024 0 13,301 10 79.4
db file sequential read 17,592 0 8,103 5 107.3
direct path read 13,514 0 7,199 5 82.4
db file scattered read 3,231 0 2,085 6 19.7
PX Deq: Txn Recovery Start 8 3 699 874 0.0
db file parallel write 82 0 656 80 0.5
log file parallel write 348 0 471 14 2.1
control file parallel write 214 0 447 21 1.3
log file sync 256 0 309 12 1.6
control file sequential read 229 0 209 9 1.4
log file switch completion 10 0 205 205 0.1
Wait for stopper event to be 19 17 200 105 0.1
SQL*Net break/reset to clien 74 0 191 26 0.5
file open 1,587 0 122 1 9.7
log buffer space 16 0 115 72 0.1
buffer busy waits 11 0 36 33 0.1
SQL*Net more data to client 3,459 0 35 0 21.1
latch free 68 52 18 3 0.4
file identify 8 0 8 10 0.0
refresh controlfile command 10 0 6 6 0.1
log file sequential read 4 0 4 10 0.0
log file single write 8 0 3 4 0.0
LGWR wait for redo copy 1 0 2 20 0.0
PX Deq: Signal ACK 3 0 1 3 0.0
PX Deq: Join ACK 5 0 0 0 0.0
enqueue 5 0 0 0 0.0
SQL*Net message from client 62,888 0 1,462,717 233 383.5
PX Idle Wait 602 600 124,058 2061 3.7
virtual circuit status 15 15 46,101 30734 0.1
SQL*Net message to client 62,885 0 10 0 383.4
SQL*Net more data from clien 12 0 1 1 0.1
Background Wait Events for DB: QLM3 Instance: orcl Snaps: 1 -2
-> ordered by wait time desc, waits desc (idle events last)
Avg
Total Wait wait Waits
Event Waits Timeouts Time (cs) (ms) /txn
db file parallel write 82 0 656 80 0.5
direct path read 542 0 546 10 3.3
log file parallel write 348 0 471 14 2.1
control file parallel write 214 0 447 21 1.3
Wait for stopper event to be 19 17 200 105 0.1
control file sequential read 176 0 194 11 1.1
file open 1,485 0 50 0 9.1
buffer busy waits 1 0 33 330 0.0
db file scattered read 7 0 16 23 0.0
direct path write 297 0 8 0 1.8
file identify 8 0 8 10 0.0
log file sequential read 4 0 4 10 0.0
log file single write 8 0 3 4 0.0
LGWR wait for redo copy 1 0 2 20 0.0
PX Deq: Signal ACK 3 0 1 3 0.0
db file sequential read 1 0 1 10 0.0
PX Deq: Join ACK 5 0 0 0 0.0
enqueue 1 0 0 0 0.0
rdbms ipc message 1,221 427 134,286 1100 7.4
pmon timer 149 148 45,558 3058 0.9
smon timer 2 1 43,807 ###### 0.0
SQL ordered by Gets for DB: QLM3 Instance: orcl Snaps: 1 -2
-> End Buffer Gets Threshold: 10000
-> Note that resources reported for PL/SQL includes the resources used by
all SQL statements called within the PL/SQL code. As individual SQL
statements are also reported, it is possible and valid for the summed
total % to exceed 100
Buffer Gets Executions Gets per Exec % Total Hash Value
887,405 3,544 250.4 16.4 8985785
SELECT SUM(MVT_QUANTITE) FROM APS_MVT_MOUVEMENTS WHERE PERIOD
E > :b1 AND ARTICLE_ID = :b2 AND STATUT_CODE = :b3 AND REGIME
= :b4 AND MVT_TYPE = 'T' AND MVT_QUANTITE > 0 AND GISEMENT_T
YPE IN ( 'L','F' ) AND MVT_SITE_CODE = :b5
887,405 3,544 250.4 16.4 739720993
SELECT SUM(MVT_QUANTITE) FROM APS_MVT_MOUVEMENTS WHERE PERIOD
E > :b1 AND ARTICLE_ID = :b2 AND STATUT_CODE = :b3 AND REGIME
= :b4 AND MVT_TYPE != 'T' AND MVT_SITE_CODE = :b5
885,540 3,531 250.8 16.3 203835771
SELECT SUM(MVT_QUANTITE) FROM APS_MVT_MOUVEMENTS WHERE PERIOD
E > :b1 AND ARTICLE_ID = :b2 AND STATUT_CODE = :b3 AND REGIME
= :b4 AND MVT_TYPE = 'T' AND MVT_QUANTITE < 0 AND GISEMENT_T
YPE IN ( 'L','F' ) AND MVT_SITE_CODE = :b5
885,540 3,531 250.8 16.3 3827568942
SELECT SUM(MVT_QUANTITE) FROM APS_MVT_MOUVEMENTS WHERE PERIOD
E > :b1 AND ARTICLE_ID = :b2 AND STATUT_CODE = :b3 AND REGIME
= :b4 AND MVT_TYPE = 'T' AND MVT_QUANTITE > 0 AND GISEMENT_T
YPE IN ( 'T' ) AND GISEMENT_SITE_CODE = :b5
885,410 3,544 249.8 16.3 667813037
SELECT SUM(MVT_QUANTITE) FROM APS_MVT_MOUVEMENTS WHERE PERIOD
E > :b1 AND ARTICLE_ID = :b2 AND STATUT_CODE = :b3 AND REGIME
= :b4 AND MVT_TYPE = 'T' AND MVT_QUANTITE < 0 AND GISEMENT_T
YPE IN ( 'T' ) AND GISEMENT_SITE_CODE = :b5
472,580 1 472,580.0 8.7 1418790643
SELECT COUNT(*) FROM VAPS_APS_SORTIES WHERE MVT_DATE LIKE '%' AN
D INVEST_NUMERO IS NULL and (CLE=:1)
180,137 1 180,137.0 3.3 1562147089
SELECT COUNT(*) FROM VPRF_PRF_ETAT_STOCKS
110,321 443 249.0 2.0 2233067473
SELECT SUM(MVT_QUANTITE) FROM APS_MVT_MOUVEMENTS WHERE PERIOD
E > :b1 AND ARTICLE_ID = :b2 AND STATUT_CODE = :b3 AND REGIME
= :b4
72,956 2 36,478.0 1.3 3376831664
BEGIN statspack.snap; END;
67,904 1 67,904.0 1.3 625421128
INSERT INTO STATS$SQLTEXT ( HASH_VALUE,TEXT_SUBSET,PIECE,SQL_TEX
T,ADDRESS,COMMAND_TYPE,LAST_SNAP_ID ) SELECT ST1.HASH_VALUE,SS.
TEXT_SUBSET,ST1.PIECE,ST1.SQL_TEXT,ST1.ADDRESS,ST1.COMMAND_TYPE,
SS.SNAP_ID FROM V$SQLTEXT ST1,STATS$SQL_SUMMARY SS WHERE SS.S
NAP_ID = :b1 AND SS.DBID = :b2 AND SS.INSTANCE_NUMBER = :b3 A
SQL ordered by Gets for DB: QLM3 Instance: orcl Snaps: 1 -2
-> End Buffer Gets Threshold: 10000
-> Note that resources reported for PL/SQL includes the resources used by
all SQL statements called within the PL/SQL code. As individual SQL
statements are also reported, it is possible and valid for the summed
total % to exceed 100
Buffer Gets Executions Gets per Exec % Total Hash Value
49,930 9,986 5.0 0.9 2352601327
SELECT INSTR(:b1,'/') FROM DUAL
26,262 1 26,262.0 0.5 2467990648
SELECT PRF_CB_QUALITES.QUALITE_LIB, PRF_FICHEARTICLES.FSA_
ARTICLE_CODE, PRF_CB_EMBALLAGES.EMB_LIBELLE, PRF_CB_CALIBR
ES.CALIBRE_LIBELLE, PRF_CB_VARIETES.VARIETE_LIB, PRF_CF_ST
OCKS.CF_CODE, PRF_CF_CHAMBREFROIDES.CF_LIBELLE, to_char(PR
F_CF_STOCKS.MC_DATE_CONGELATION,'ddd') ||PRF_CF_STOCKS.MC_EQUIPE
25,024 1 25,024.0 0.5 2687416176
SELECT num_lot_cqi num_lot, date_congelation date_peche, equipe_
congelation equipe_conditionnement, equipe_emballage FROM VCQI_P
RF_CB_LOTS WHERE site_code = fcqi_parametre ('SITE_CODE', 0) AND
quart_code like nvl(:1,'%') order by date_congelation desc
24,952 1 24,952.0 0.5 2144314401
SELECT DATE_CONGELATION,EQUIPE_CONGELATION,EQUIPE_EMBALLAGE FR
OM VCQI_PRF_CB_LOTS WHERE NUM_LOT_CQI = :b1 AND QUART_CODE LIK
E NVL(:b2,'%')
21,644 3,542 6.1 0.4 3246828773
SELECT SUM(NVL(ARTSTATGIS_QTE,0)) FROM APS_MVT_ARTICLE_GISEMEN
T WHERE ARTICLE_ID = :b1 AND STATUT_CODE = :b2 AND REGIME = :
b3 AND SITE_CODE = :b4
6,714 3 2,238.0 0.1 1676564828
SELECT ROWID,CLE,PBS_DATE,PBS_HEURE,IMPUTATION_CODE,SERVICE_CODE
,STATUT_CODE,REGIME,PBS_BONTRAVAIL,INVEST_NUMERO,UTIL_NUMERO_EME
TTEUR,DDESORTIE_NUM_DDE,PBS_VALEUR,REFACTURER,REFACTURER_CODE,UT
IL_NUMERO_DESTINATAIRE,OBSERVATION,IMPRIME_UNEFOIS,PBS_VALIDE,DA
TE_VALIDATION,PBS_ENVOYE_MAGASIN,DATE_ENVOIMAG,PBS_GISEMENT_VALI
6,714 3 2,238.0 0.1 2431929513
SELECT COUNT(*) FROM APS_SORTIES_HDR WHERE (PBS_VALIDE='O') AND
(PBS_ENVOYE_MAGASIN='O' )AND (PBS_GISEMENT_VALIDE='N')
6,022 60 100.4 0.1 1010618514
SELECT COUNT(*) FROM QRH_PNT_MOUVEMENTS WHERE STE_CODE = :1 AND
(ANOMALIE!='0') AND (ANOMALIE!='1') AND (ANOMALIE!='2') AND (ANO
MALIE!='3') AND (ANOMALIE!='21') AND (VALIDEE='N') AND (JOURNEE=
TO_CHAR(:2,'dd/mm/yyyy')) AND (MATRICULE=:3) AND (SERVICE_CODE=:
4) and (MATRICULE=:5) and (STE_CODE=:6)
6,022 60 100.4 0.1 4067308175
SELECT ROWID,VALIDEE,MATRICULE,ENTREE,SORTIE,REGUL,ORIGINE_POINT
AGE,JUSTIFICATION_CODE,JUSTIFIEE,ANOMALIE,JOURNEE,SERVICE_CODE,S
TE_CODE,UTIL_NUMERO_JUSTIFIER,UTIL_NUMERO_VALIDER,OK_PAIE,DATE_O
K_PAIE FROM QRH_PNT_MOUVEMENTS WHERE STE_CODE = :1 AND (ANOMALIE
!='0') AND (ANOMALIE!='1') AND (ANOMALIE!='2') AND (ANOMALIE!='3
SQL ordered by Gets for DB: QLM3 Instance: orcl Snaps: 1 -2
-> End Buffer Gets Threshold: 10000
-> Note that resources reported for PL/SQL includes the resources used by
all SQL statements called within the PL/SQL code. As individual SQL
statements are also reported, it is possible and valid for the summed
total % to exceed 100
Buffer Gets Executions Gets per Exec % Total Hash Value
SQL ordered by Reads for DB: QLM3 Instance: orcl Snaps: 1 -2
-> End Disk Reads Threshold: 1000
Physical Reads Executions Reads per Exec % Total Hash Value
16,941 1 16,941.0 25.4 1418790643
SELECT COUNT(*) FROM VAPS_APS_SORTIES WHERE MVT_DATE LIKE '%' AN
D INVEST_NUMERO IS NULL and (CLE=:1)
12,263 443 27.7 18.4 2233067473
SELECT SUM(MVT_QUANTITE) FROM APS_MVT_MOUVEMENTS WHERE PERIOD
E > :b1 AND ARTICLE_ID = :b2 AND STATUT_CODE = :b3 AND REGIME
= :b4
6,699 3 2,233.0 10.0 2431929513
SELECT COUNT(*) FROM APS_SORTIES_HDR WHERE (PBS_VALIDE='O') AND
(PBS_ENVOYE_MAGASIN='O' )AND (PBS_GISEMENT_VALIDE='N')
6,493 3 2,164.3 9.7 1676564828
SELECT ROWID,CLE,PBS_DATE,PBS_HEURE,IMPUTATION_CODE,SERVICE_CODE
,STATUT_CODE,REGIME,PBS_BONTRAVAIL,INVEST_NUMERO,UTIL_NUMERO_EME
TTEUR,DDESORTIE_NUM_DDE,PBS_VALEUR,REFACTURER,REFACTURER_CODE,UT
IL_NUMERO_DESTINATAIRE,OBSERVATION,IMPRIME_UNEFOIS,PBS_VALIDE,DA
TE_VALIDATION,PBS_ENVOYE_MAGASIN,DATE_ENVOIMAG,PBS_GISEMENT_VALI
4,783 2 2,391.5 7.2 3376831664
BEGIN statspack.snap; END;
4,075 1 4,075.0 6.1 1762397322
SELECT ROWID,MC_CODE,CB_QUALITE,CB_EMBALLAGE,CB_CALIBRE,CB_VARIE
TE,TYPECH_CODE,TYPECH_LIBELLE,CF_CODE,CF_LIBELLE,MC_EQUIPE_CONDI
TIONNEMENT,MC_DATE_CONGELATION,MC_EQUIPE_EMBALLAGE,MC_DATE_EMBAL
LAGE,INC_CODE,INC_LIBELLE,PALETTE_CODE,TP_CODE,CB_ORIGINE_CODE,U
SINE_CODE,LIEU_CODE,MC_ETAT,TP_LIBELLE,ORIGINE_LIBELLE,QUALITE_L
3,455 1 3,455.0 5.2 2467990648
SELECT PRF_CB_QUALITES.QUALITE_LIB, PRF_FICHEARTICLES.FSA_
ARTICLE_CODE, PRF_CB_EMBALLAGES.EMB_LIBELLE, PRF_CB_CALIBR
ES.CALIBRE_LIBELLE, PRF_CB_VARIETES.VARIETE_LIB, PRF_CF_ST
OCKS.CF_CODE, PRF_CF_CHAMBREFROIDES.CF_LIBELLE, to_char(PR
F_CF_STOCKS.MC_DATE_CONGELATION,'ddd') ||PRF_CF_STOCKS.MC_EQUIPE
2,308 1 2,308.0 3.5 3874720143
INSERT INTO STATS$SQL_SUMMARY ( SNAP_ID,DBID,INSTANCE_NUMBER,TEX
T_SUBSET,SHARABLE_MEM,SORTS,MODULE,LOADED_VERSIONS,EXECUTIONS,LO
ADS,INVALIDATIONS,PARSE_CALLS,DISK_READS,BUFFER_GETS,ROWS_PROCES
SED,ADDRESS,HASH_VALUE,VERSION_COUNT ) SELECT :b1,:b2,:b3,SUBST
R(SQL_TEXT,1,31),SHARABLE_MEM,SORTS,MODULE,LOADED_VERSIONS,EXECU
2,295 1 2,295.0 3.4 3337740287
INSERT INTO STATS$SQL_STATISTICS ( SNAP_ID,DBID,INSTANCE_NUMBER,
TOTAL_SQL,TOTAL_SQL_MEM,SINGLE_USE_SQL,SINGLE_USE_SQL_MEM ) SEL
ECT :b1,:b2,:b3,COUNT(1),SUM(SHARABLE_MEM),SUM(DECODE(EXECUTIONS
,1,1,0)),SUM(DECODE(EXECUTIONS,1,SHARABLE_MEM,0)) FROM V$SQLXS
2,232 14 159.4 3.3 2819681083
SELECT COUNT(*) FROM APS_SORTIES_HDR WHERE PBS_GISEMENT_VALIDE =
'N' and (SERVICE_CODE=:1) and (PBS_VALIDE=:2)
SQL ordered by Reads for DB: QLM3 Instance: orcl Snaps: 1 -2
-> End Disk Reads Threshold: 1000
Physical Reads Executions Reads per Exec % Total Hash Value
2,232 14 159.4 3.3 2856670560
SELECT ROWID,CLE,IMPUTATION_CODE,SERVICE_CODE,STATUT_CODE,REGIME
,INVEST_NUMERO,PBS_BONTRAVAIL,REFACTURER,REFACTURER_CODE,ENTREE_
NUMERO,PBS_DATE,PBS_HEURE,UTIL_NUMERO_EMETTEUR,UTIL_NUMERO_DESTI
NATAIRE,OBSERVATION,PBS_VALIDE,DATE_VALIDATION,PBS_ENVOYE_MAGASI
N,DATE_ENVOIMAG,DDESORTIE_NUM_DDE,PBS_VALEUR,IMPRIME_UNEFOIS,PBS
1,168 1 1,168.0 1.8 1352033258
SELECT PRF_CB_QUALITES.QUALITE_LIB, PRF_FICHEARTICLES.FSA_
ARTICLE_CODE, PRF_CB_EMBALLAGES.EMB_LIBELLE, PRF_CB_CALIBR
ES.CALIBRE_LIBELLE, PRF_CB_VARIETES.VARIETE_LIB, PRF_CF_ST
OCKS.CF_CODE, PRF_CF_CHAMBREFROIDES.CF_LIBELLE, to_char(PR
F_CF_STOCKS.MC_DATE_CONGELATION,'ddd') ||PRF_CF_STOCKS.MC_EQUIPE
723 3 241.0 1.1 165227727
SELECT ROWID,CLE,UTIL_NUMERO_VALIDE,VALIDPBS_DATE,VALIDPBS_HEURE
FROM APS_SORTIES_VALIDATION WHERE (CLE=:1)
685 3 228.3 1.0 3538988510
SELECT COUNT(*) FROM APS_SORTIES_VALIDATION WHERE (CLE=:1)
602 1 602.0 0.9 1562147089
SELECT COUNT(*) FROM VPRF_PRF_ETAT_STOCKS
390 15 26.0 0.6 3423685253
INSERT INTO PRF_CF_ENTREES ( MC_CODE,CF_CODE,PALETTE_CODE,MC_ETA
T,SYS_DATE_LECTEUR,TYPE_ENTREE ) VALUES ( :b1,:b2,:b3,SUBSTR(:b
4,1,2),SYSDATE,'E' )
372 6 62.0 0.6 2944582360
SELECT COUNT(*) FROM QRH_FIP_AGENTS WHERE (QRH_FIP_AGENTS.AGE
NT_MATRICULE = :b1 ) AND (QRH_FIP_AGENTS.SERVICE_CODE LIKE :b2
) AND (QRH_FIP_AGENTS.SERVICE_CODE IN (SELECT SERVICE_CODE FRO
M SEC_QRH_ACCES_SERVICES WHERE STE_CODE = :b3 AND (ACCES_FICHE
PERSONNEL = 'O' AND POINTAGECONSULTATION = 'O' AND POINTAGE_
352 15 23.5 0.5 836774746
INSERT INTO PRF_CF_STOCKS ( MC_CODE,TP_CODE,CB_ORIGINE_CODE,USIN
E_CODE,LIEU_CODE,CB_QUALITE,CB_EMBALLAGE,MARQUE_LIBELLE,CB_CALIB
RE,CB_VARIETE,TYPECH_CODE,MC_DATE_CONGELATION,MC_EQUIPE_CONDITIO
NNEMENT,MC_DATE_EMBALLAGE,MC_EQUIPE_EMBALLAGE,PALETTE_CODE,CF_CO
DE,FSA_ARTICLE_CODE,MC_POIDS_KG,MC_ETAT,INC_CODE,BASSIN_CODE,MAR
271 15 18.1 0.4 1991901539
SELECT COUNT('X') FROM DUAL WHERE EXISTS (SELECT 'X' FROM
PRF_LOTS_ENTREES WHERE NUMERO_LOT = :b1 AND TP_CODE = :b2 AND
SQL ordered by Executions for DB: QLM3 Instance: orcl Snaps: 1 -2
-> End Executions Threshold: 100
Executions Rows Processed Rows per Exec Hash Value
9,986 9,986 1.0 2352601327
SELECT INSTR(:b1,'/') FROM DUAL
3,544 3,544 1.0 8985785
SELECT SUM(MVT_QUANTITE) FROM APS_MVT_MOUVEMENTS WHERE PERIOD
E > :b1 AND ARTICLE_ID = :b2 AND STATUT_CODE = :b3 AND REGIME
= :b4 AND MVT_TYPE = 'T' AND MVT_QUANTITE > 0 AND GISEMENT_T
YPE IN ( 'L','F' ) AND MVT_SITE_CODE = :b5
3,544 3,544 1.0 667813037
SELECT SUM(MVT_QUANTITE) FROM APS_MVT_MOUVEMENTS WHERE PERIOD
E > :b1 AND ARTICLE_ID = :b2 AND STATUT_CODE = :b3 AND REGIME
= :b4 AND MVT_TYPE = 'T' AND MVT_QUANTITE < 0 AND GISEMENT_T
YPE IN ( 'T' ) AND GISEMENT_SITE_CODE = :b5
3,544 3,544 1.0 739720993
SELECT SUM(MVT_QUANTITE) FROM APS_MVT_MOUVEMENTS WHERE PERIOD
E > :b1 AND ARTICLE_ID = :b2 AND STATUT_CODE = :b3 AND REGIME
= :b4 AND MVT_TYPE != 'T' AND MVT_SITE_CODE = :b5
3,542 3,542 1.0 3246828773
SELECT SUM(NVL(ARTSTATGIS_QTE,0)) FROM APS_MVT_ARTICLE_GISEMEN
T WHERE ARTICLE_ID = :b1 AND STATUT_CODE = :b2 AND REGIME = :
b3 AND SITE_CODE = :b4
3,531 3,531 1.0 203835771
SELECT SUM(MVT_QUANTITE) FROM APS_MVT_MOUVEMENTS WHERE PERIOD
E > :b1 AND ARTICLE_ID = :b2 AND STATUT_CODE = :b3 AND REGIME
= :b4 AND MVT_TYPE = 'T' AND MVT_QUANTITE < 0 AND GISEMENT_T
YPE IN ( 'L','F' ) AND MVT_SITE_CODE = :b5
3,531 3,531 1.0 3827568942
SELECT SUM(MVT_QUANTITE) FROM APS_MVT_MOUVEMENTS WHERE PERIOD
E > :b1 AND ARTICLE_ID = :b2 AND STATUT_CODE = :b3 AND REGIME
= :b4 AND MVT_TYPE = 'T' AND MVT_QUANTITE > 0 AND GISEMENT_T
YPE IN ( 'T' ) AND GISEMENT_SITE_CODE = :b5
629 629 1.0 3347504826
SELECT COUNT('x') FROM DUAL WHERE EXISTS (SELECT 'x' FROM
PRF_TB_AI WHERE CODE_AI = :b1 )
586 586 1.0 830918687
SELECT SYSDATE FROM DUAL
494 494 1.0 2353080377
INSERT INTO APS_ARCHIVE_STOCKS_DTL VALUES ( :b1,:b2,:b3,:b4,:b5,
:b6 )
444 444 1.0 431034241
UPDATE APS_ARCHIVE_STOCKS SET ART_STAT_QTE_STOCK_SITE=:b1 WHERE
PERIODE = :b2 AND ARTICLE_ID = :b3 AND STATUT_CODE = :b4 AND
REGIME = :b5
443 443 1.0 2233067473
SELECT SUM(MVT_QUANTITE) FROM APS_MVT_MOUVEMENTS WHERE PERIOD
SQL ordered by Executions for DB: QLM3 Instance: orcl Snaps: 1 -2
-> End Executions Threshold: 100
Executions Rows Processed Rows per Exec Hash Value
E > :b1 AND ARTICLE_ID = :b2 AND STATUT_CODE = :b3 AND REGIME
= :b4
442 442 1.0 4030231140
INSERT INTO APS_ARCHIVE_STOCKS ( PERIODE,ARTICLE_ID,STATUT_CODE,
REGIME,ART_STAT_QTE_STOCK,ART_STAT_QTE_STOCK_SITE,ART_STAT_PUMP,
ART_STAT_PUMP_EURO,ART_STAT_PUMP_1 ) VALUES ( :b1,:b2,:b3,:b4,:
b5,:b6,:b7,:b8, NULL )
441 3,520 8.0 2193642303
SELECT SITE_CODE FROM APS_LOC_SITES
416 167 0.4 3549129673
SELECT DISTINCT LIBELLE_PRODUIT FROM VCQI_PRF_CB_QC_PRODUITS
WHERE TYPE_PRODUIT = :b1
415 415 1.0 3105143149
SELECT UTIL_NOM || DECODE(UTIL_PRENOM, NULL , NULL ,' ' || UTIL_
PRENOM ) UTIL_NOM_PRENOM FROM COM_UTILISATEURS WHERE UTIL_NU
MERO = :b1
270 270 1.0 1045955060
SELECT COUNT('X') FROM DUAL WHERE EXISTS (SELECT 'X' FROM
PRF_GFR_BASSINS WHERE BASSIN_CODE = :b1 )
235 235 1.0 2123798088
SELECT COUNT('X') FROM DUAL WHERE EXISTS (SELECT 'X' FROM
PRF_FICHEARTICLES WHERE FSA_ARTICLE_CODE = :b1 )
218 217 1.0 2987457698
SELECT NOM FROM SYS_CQI_SITE WHERE CODE = :b1
213 213 1.0 1425443843
update seq$ set increment$=:2,minvalue=:3,maxvalue=:4,cycle#=:5,
order$=:6,cache=:7,highwater=:8,audit$=:9 where obj#=:1
183 183 1.0 3529593353
SELECT COUNT('X') FROM DUAL WHERE EXISTS (SELECT 'X' FROM
PRF_GFR_BASSINS WHERE BASSIN_CODE = SUBSTR(:b1,2,3) )
178 0 0.0 313510536
select job from sys.job$ where next_date < sysdate and (field1
= :1 or (field1 = 0 and 'Y' = :2)) order by next_date, job
167 167 1.0 2542007726
SELECT PRF_PARAM_VALEUR FROM PRF_MAHAVOKATRA_PARAMETRES WHERE
PRF_PARAM_NOM = :b1
144 144 1.0 1202015936
SELECT CODE_AI,DESCRIPTION_AI,TYPE_AI,LONGUEUR_MAX FROM PRF_TB
AI WHERE CODEAI = :b1
138 138 1.0 2840696239
SELECT SEQ_PRF_MC_SERIE.Nextval FROM Dual
SQL ordered by Executions for DB: QLM3 Instance: orcl Snaps: 1 -2
-> End Executions Threshold: 100
Executions Rows Processed Rows per Exec Hash Value
101 7 0.1 148923490
SELECT COUNT(*) FROM APS_SORTIES_HDR WHERE (PBS_VALIDE='O') AND
(PBS_ENVOYE_MAGASIN='O' )AND (PBS_GISEMENT_VALIDE='N') and (CLE=
:1)
101 7 0.1 2329028825
SELECT ROWID,CLE,PBS_DATE,PBS_HEURE,IMPUTATION_CODE,SERVICE_CODE
Instance Activity Stats for DB: QLM3 Instance: orcl Snaps: 1 -2
Statistic Total per Second per Trans
background checkpoints completed 4 0.0 0.0
background checkpoints started 4 0.0 0.0
background timeouts 620 1.4 3.8
branch node splits 0 0.0 0.0
buffer is not pinned count 4,838,419 10,587.4 29,502.6
buffer is pinned count 15,660,264 34,267.5 95,489.4
bytes received via SQL*Net from c 7,127,276 15,595.8 43,459.0
bytes sent via SQL*Net to client 13,724,270 30,031.2 83,684.6
calls to get snapshot scn: kcmgss 41,025 89.8 250.2
calls to kcmgas 383 0.8 2.3
calls to kcmgcs 145 0.3 0.9
change write time 134 0.3 0.8
cleanouts and rollbacks - consist 0 0.0 0.0
cleanouts only - consistent read 3 0.0 0.0
cluster key scan block gets 132 0.3 0.8
cluster key scans 64 0.1 0.4
commit cleanout failures: block l 2 0.0 0.0
commit cleanout failures: buffer 0 0.0 0.0
commit cleanout failures: callbac 3 0.0 0.0
commit cleanout failures: cannot 0 0.0 0.0
commit cleanouts 1,238 2.7 7.6
commit cleanouts successfully com 1,233 2.7 7.5
consistent changes 37 0.1 0.2
consistent gets 5,342,340 11,690.0 32,575.2
CPU used by this session 563,606,920 1,233,275.5 3,436,627.6
CPU used when call started 16,475 36.1 100.5
CR blocks created 32 0.1 0.2
current blocks converted for CR
cursor authentications 0 0.0 0.0
data blocks consistent reads - un 37 0.1 0.2
db block changes 19,010 41.6 115.9
db block gets 74,714 163.5 455.6
DBWR buffers scanned 11,292 24.7 68.9
DBWR checkpoint buffers written 604 1.3 3.7
DBWR checkpoints 4 0.0 0.0
DBWR free buffers found 10,956 24.0 66.8
DBWR lru scans 48 0.1 0.3
DBWR make free requests 48 0.1 0.3
DBWR summed scan depth 11,292 24.7 68.9
DBWR transaction table writes 31 0.1 0.2
DBWR undo block writes 223 0.5 1.4
deferred (CURRENT) block cleanout 796 1.7 4.9
DFO trees parallelized 0 0.0 0.0
dirty buffers inspected 41 0.1 0.3
enqueue conversions 59 0.1 0.4
enqueue releases 1,608 3.5 9.8
enqueue requests 1,627 3.6 9.9
enqueue timeouts 21 0.1 0.1
enqueue waits 0 0.0 0.0
execute count 40,202 88.0 245.1
free buffer inspected 43 0.1 0.3
free buffer requested 50,071 109.6 305.3
hot buffers moved to head of LRU 32,358 70.8 197.3
immediate (CR) block cleanout app 3 0.0 0.0
immediate (CURRENT) block cleanou 216 0.5 1.3
index fast full scans (full) 197 0.4 1.2
Instance Activity Stats for DB: QLM3 Instance: orcl Snaps: 1 -2
Statistic Total per Second per Trans
leaf node splits 43 0.1 0.3
logons cumulative 376 0.8 2.3
messages received 566 1.2 3.5
messages sent 566 1.2 3.5
no buffer to keep pinned count 361,161 790.3 2,202.2
no work - consistent read gets 4,584,108 10,030.9 27,951.9
opened cursors cumulative 2,903 6.4 17.7
Parallel operations not downgrade 0 0.0 0.0
parse count (hard) 41 0.1 0.3
parse count (total) 2,879 6.3 17.6
parse time cpu 109 0.2 0.7
parse time elapsed 191 0.4 1.2
physical reads 66,694 145.9 406.7
physical reads direct 17,008 37.2 103.7
physical writes 16,830 36.8 102.6
physical writes direct 15,849 34.7 96.6
physical writes non checkpoint 16,523 36.2 100.8
pinned buffers inspected 0 0.0 0.0
prefetched blocks 28,860 63.2 176.0
prefetched blocks aged out before 104 0.2 0.6
process last non-idle time 395,024,325 864,385.8 2,408,684.9
PX local messages recv'd 3 0.0 0.0
PX local messages sent 2 0.0 0.0
queries parallelized 0 0.0 0.0
recovery array reads 0 0.0 0.0
recovery blocks read 0 0.0 0.0
recursive calls 31,404 68.7 191.5
recursive cpu usage 973 2.1 5.9
redo blocks written 7,766 17.0 47.4
redo buffer allocation retries 24 0.1 0.2
redo entries 9,689 21.2 59.1
redo log space requests 10 0.0 0.1
redo log space wait time 205 0.5 1.3
redo ordering marks 0 0.0 0.0
redo size 3,762,380 8,232.8 22,941.3
redo synch time 310 0.7 1.9
redo synch writes 252 0.6 1.5
redo wastage 83,944 183.7 511.9
redo write time 798 1.8 4.9
redo writer latching time 2 0.0 0.0
redo writes 348 0.8 2.1
rollback changes - undo records a 100 0.2 0.6
rollbacks only - consistent read 32 0.1 0.2
rows fetched via callback 152,467 333.6 929.7
session connect time 395,024,325 864,385.8 2,408,684.9
session logical reads 5,417,054 11,853.5 33,030.8
session pga memory 1,198,867,080 2,623,341.5 7,310,165.1
session pga memory max 1,252,931,128 2,741,643.6 7,639,824.0
session uga memory 2,021,828 4,424.1 12,328.2
session uga memory max 11,504,160 25,173.2 70,147.3
sorts (disk) 8 0.0 0.1
sorts (memory) 1,013 2.2 6.2
sorts (rows) 106,560 233.2 649.8
SQL*Net roundtrips to/from client 62,770 137.4 382.7
summed dirty queue length 2 0.0 0.0
switch current to new buffer
Instance Activity Stats for DB: QLM3 Instance: orcl Snaps: 1 -2
Statistic Total per Second per Trans
table fetch by rowid 10,162,108 22,236.6 61,964.1
table fetch continued row 5,568 12.2 34.0
table scan blocks gotten 73,722 161.3 449.5
table scan rows gotten 3,805,522 8,327.2 23,204.4
table scans (direct read) 0 0.0 0.0
table scans (long tables) 50 0.1 0.3
table scans (rowid ranges) 0 0.0 0.0
table scans (short tables) 12,550 27.5 76.5
total file opens 1,587 3.5 9.7
transaction rollbacks 0 0.0 0.0
user calls 63,865 139.8 389.4
user commits 153 0.3 0.9
user rollbacks 11 0.0 0.1
write clones created in backgroun 0 0.0 0.0
write clones created in foregroun 27 0.1 0.2
Tablespace IO Stats for DB: QLM3 Instance: orcl Snaps: 1 -2
->ordered by IOs (Reads + Writes) desc
Tablespace
Av Av Av Av Buffer Av Buf
Reads Reads/s Rd(ms) Blks/Rd Writes Writes/s Waits Wt(ms)
TEMP
9,953 22 0.0 1.2 11,991 26 0 0.0
APS_DATA_DYNA
18,803 41 4.4 2.3 67 0 7 2.9
TEMP1
4,163 9 0.0 1.1 3,367 7 0 0.0
APS_INDEX
1,169 3 6.3 1.6 113 0 0 0.0
PRF_DATA_DYNA
290 1 13.7 10.2 105 0 2 5.0
APS_DATA_STAT
324 1 4.4 4.6 41 0 0 0.0
TOOLS
53 0 10.2 1.0 287 1 0 0.0
PRF_INDEX
133 0 6.7 1.0 88 0 1 0.0
SYSTEM
128 0 12.9 1.7 58 0 0 0.0
RBS1
17 0 10.6 1.0 158 0 1 330.0
GRH_DATA_DYNA
72 0 7.1 1.0 78 0 0 0.0
RBS
30 0 44.7 1.0 111 0 0 0.0
GRH_INDEX
38 0 8.2 1.0 46 0 0 0.0
PRF_DATA_STAT
53 0 11.5 2.2 3 0 0 0.0
CQI_DATA_DYNA
25 0 5.2 4.2 12 0 0 0.0
CQI_INDEX
28 0 5.0 1.0 9 0 0 0.0
GRH_DATA_STAT
23 0 5.2 8.0 3 0 0 0.0
GTMAO_DATA_DYNA
20 0 0.0 1.0 6 0 0 0.0
COM_DATA_DYNA
19 0 20.5 1.0 3 0 0 0.0
COM_INDEX
18 0 6.1 1.0 3 0 0 0.0
RFG_INDEX
9 0 0.0 1.0 9 0 0 0.0
CQI_DATA_STAT
13 0 3.8 1.0 3 0 0 0.0
GFRP_DATA_DYNA
9 0 0.0 1.0 6 0 0 0.0
USERS
9 0 0.0 1.0 6 0 0 0.0
RFG_DATA_DYNA
6 0 0.0 1.0 6 0 0 0.0
GFRP_DATA_STAT
6 0 0.0 1.0 3 0 0 0.0
Tablespace IO Stats for DB: QLM3 Instance: orcl Snaps: 1 -2
->ordered by IOs (Reads + Writes) desc
Tablespace
Av Av Av Av Buffer Av Buf
Reads Reads/s Rd(ms) Blks/Rd Writes Writes/s Waits Wt(ms)
GFRP_INDEX
6 0 0.0 1.0 3 0 0 0.0
PRF_DATA_DYNA_ARCHIVE
6 0 0.0 1.0 3 0 0 0.0
PRF_INDEX_ARCHIVE
6 0 0.0 1.0 3 0 0 0.0
COM_DATA_STAT
4 0 2.5 1.0 3 0 0 0.0
BO_DATA
3 0 0.0 1.0 3 0 0 0.0
DRSYS
3 0 0.0 1.0 3 0 0 0.0
FSQ_DATA_DYNA
3 0 0.0 1.0 3 0 0 0.0
FSQ_DATA_STAT
3 0 0.0 1.0 3 0 0 0.0
FSQ_INDEX
3 0 0.0 1.0 3 0 0 0.0
GNS_DATA_DYNA
3 0 0.0 1.0 3 0 0 0.0
GTMAO_DATA_STAT
3 0 0.0 1.0 3 0 0 0.0
GTMAO_INDEX
3 0 0.0 1.0 3 0 0 0.0
INDX
3 0 0.0 1.0 3 0 0 0.0
RFG_DATA_STAT
3 0 0.0 1.0 3 0 0 0.0
SMQ_DATA_DYNA
3 0 0.0 1.0 3 0 0 0.0
SMQ_DATA_STAT
3 0 0.0 1.0 3 0 0 0.0
SMQ_INDEX
3 0 0.0 1.0 3 0 0 0.0
File IO Stats for DB: QLM3 Instance: orcl Snaps: 1 -2
->ordered by Tablespace, File
Tablespace Filename
Av Av Av Av Buffer Av Buf
Reads Reads/s Rd(ms) Blks/Rd Writes Writes/s Waits Wt(ms)
APS_DATA_DYNA F:\ORADATA\APS_DYNA_DF
279 1 7.0 3.4 3 0 0
F:\ORADATA\APS_DYNA_01.DF
477 1 4.9 2.2 4 0 0
F:\ORADATA\APS_DYNA_02.DF
412 1 4.5 1.5 4 0 0
F:\ORADATA\APS_DYNA_03.DF
420 1 5.1 1.3 3 0 0
F:\ORADATA\APS_DYNA_04.DF
9 0 0.0 1.0 3 0 0
F:\ORADATA\APS_DYNA_05.DF
17 0 4.1 3.0 3 0 0
F:\ORADATA\APS_DYNA_06.DF
6,158 13 4.1 1.4 11 0 6 0.0
F:\ORADATA\APS_DYNA_07.DF
8,331 18 3.4 1.4 9 0 1 20.0
F:\ORADATA\APS_DYNA_08.DF
10 0 2.0 1.0 3 0 0
G:\ORADATA\APS_DYNA_09.DF
2,172 5 7.8 8.5 7 0 0
G:\ORADATA\APS_DYNA_10.DF
518 1 6.4 2.7 17 0 0
APS_DATA_STAT F:\ORADATA\APS_STAT_DF
324 1 4.4 4.6 41 0 0
APS_INDEX F:\ORADATA\APS_IDX_003.DF
10 0 0.0 1.0 13 0 0
F:\ORADATA\APS_INDEX_DF
117 0 8.2 1.0 18 0 0
F:\ORADATA\APS_INDEX_DF02
12 0 1.7 1.0 20 0 0
F:\ORADATA\APS_INDEX_04.DF
14 0 2.9 1.0 33 0 0
F:\ORADATA\APS_INDEX_05.DF
1,016 2 6.2 1.7 29 0 0
BO_DATA F:\ORADATA\BO_DATA.DF
3 0 0.0 1.0 3 0 0
COM_DATA_DYNA E:\ORACLE\ORADATA\QLM3\COM_DATA_DYNA.ORA
19 0 20.5 1.0 3 0 0
COM_DATA_STAT E:\ORACLE\ORADATA\QLM3\COM_DATA_STAT.ORA
4 0 2.5 1.0 3 0 0
COM_INDEX F:\ORADATA\COM_INDEX.DF
18 0 6.1 1.0 3 0 0
CQI_DATA_DYNA G:\ORADATA\CQI_DATA_DYNA_01.DF
25 0 5.2 4.2 12 0 0
File IO Stats for DB: QLM3 Instance: orcl Snaps: 1 -2
->ordered by Tablespace, File
Tablespace Filename
Av Av Av Av Buffer Av Buf
Reads Reads/s Rd(ms) Blks/Rd Writes Writes/s Waits Wt(ms)
CQI_DATA_STAT G:\ORADATA\CQI_DATA_STAT_01.DF
13 0 3.8 1.0 3 0 0
CQI_INDEX G:\ORADATA\CQI_INDEX_01.DF
28 0 5.0 1.0 9 0 0
DRSYS E:\ORACLE\ORADATA\QLM3\DR01.DBF
3 0 0.0 1.0 3 0 0
FSQ_DATA_DYNA F:\ORADATA\FSQ_DYNA_DF
3 0 0.0 1.0 3 0 0
FSQ_DATA_STAT F:\ORADATA\FSQ_STAT_DF
3 0 0.0 1.0 3 0 0
FSQ_INDEX F:\ORADATA\FSQ_INDEX_DF
3 0 0.0 1.0 3 0 0
GFRP_DATA_DYNA G:\ORADATA\GFRP_DYNA_01.DF
6 0 0.0 1.0 3 0 0
H:\ORADATA\GFRP_DATA_DYNA
3 0 0.0 1.0 3 0 0
GFRP_DATA_STAT G:\ORADATA\GFRP_STAT_01.DF
6 0 0.0 1.0 3 0 0
GFRP_INDEX G:\ORADATA\GFRP_INDEX_01.DF
6 0 0.0 1.0 3 0 0
GNS_DATA_DYNA F:\ORADATA\GNS_DATA_DYNA_01.ORA
3 0 0.0 1.0 3 0 0
GRH_DATA_DYNA F:\ORADATA\GRH_DY_1.DF
38 0 11.3 1.0 37 0 0
F:\ORADATA\GRH_DY_2.DF
3 0 0.0 1.0 5 0 0
F:\ORADATA\GRH_DY_3.DF
3 0 0.0 1.0 3 0 0
F:\ORADATA\GRH_DY_4.DF
13 0 6.2 1.0 18 0 0
F:\ORADATA\GRH_DY_5.DF
3 0 0.0 1.0 3 0 0
F:\ORADATA\GRH_DY_6.DF
3 0 0.0 1.0 3 0 0
F:\ORADATA\GRH_DY_7.DF
3 0 0.0 1.0 3 0 0
H:\ORADATA\GRH_DY_8.DF
3 0 0.0 1.0 3 0 0
H:\ORADATA\GRH_DY_9.DF
3 0 0.0 1.0 3 0 0
GRH_DATA_STAT F:\ORADATA\GRH_ST_1.DF
File IO Stats for DB: QLM3 Instance: orcl Snaps: 1 -2
->ordered by Tablespace, File
Tablespace Filename
Av Av Av Av Buffer Av Buf
Reads Reads/s Rd(ms) Blks/Rd Writes Writes/s Waits Wt(ms)
23 0 5.2 8.0 3 0 0
GRH_INDEX F:\ORADATA\GRH_IDX.DF
38 0 8.2 1.0 46 0 0
GTMAO_DATA_DYNA F:\ORADATA\GTMAO_DATA_DYNA_01.DF
10 0 0.0 1.0 3 0 0
F:\ORADATA\GTM_DY_2.DF
10 0 0.0 1.0 3 0 0
GTMAO_DATA_STAT F:\ORADATA\GTMAO_DATA_STAT_01.DF
3 0 0.0 1.0 3 0 0
GTMAO_INDEX F:\ORADATA\GTMAO_INDEX_01.DF
3 0 0.0 1.0 3 0 0
INDX E:\ORACLE\ORADATA\QLM3\INDX01.DBF
3 0 0.0 1.0 3 0 0
PRF_DATA_DYNA E:\ORADATA\PRF_D14.DF
29 0 10.3 1.0 12 0 0
E:\ORADATA\PRF_D15.DF
28 0 10.4 1.0 19 0 0
E:\ORADATA\PRF_D16.DF
89 0 31.9 26.9 9 0 0
F:\ORADATA\PRF_D1.DF
9 0 5.6 1.0 4 0 0
F:\ORADATA\PRF_D10.DF
6 0 0.0 1.0 3 0 0
F:\ORADATA\PRF_D11.DF
6 0 0.0 1.0 3 0 0
F:\ORADATA\PRF_D12.DF
6 0 0.0 1.0 3 0 0
F:\ORADATA\PRF_D13.DF
26 0 7.7 7.2 3 0 2 5.0
F:\ORADATA\PRF_D2.DF
6 0 0.0 1.0 3 0 0
F:\ORADATA\PRF_D3.DF
6 0 0.0 1.0 5 0 0
F:\ORADATA\PRF_D4.DF
15 0 4.0 1.0 10 0 0
F:\ORADATA\PRF_D5.DF
15 0 4.0 1.0 10 0 0
F:\ORADATA\PRF_D6.DF
6 0 0.0 1.0 3 0 0
F:\ORADATA\PRF_D7.DF
6 0 0.0 1.0 3 0 0
F:\ORADATA\PRF_D8.DF
6 0 0.0 1.0 3 0 0
F:\ORADATA\PRF_D9.DF
6 0 0.0 1.0 3 0 0
G:\ORADATA\PRF_D17.DF
File IO Stats for DB: QLM3 Instance: orcl Snaps: 1 -2
->ordered by Tablespace, File
Tablespace Filename
Av Av Av Av Buffer Av Buf
Reads Reads/s Rd(ms) Blks/Rd Writes Writes/s Waits Wt(ms)
16 0 7.5 13.3 3 0 0
PRF_DATA_DYNA G:\ORADATA\PRF_D18.DF
9 0 6.7 1.0 6 0 0
PRF_DATA_DYNA_ARCHIVE H:\ORADATA\PRF_DATA_DYNA_ARCHIVE01.DF
6 0 0.0 1.0 3 0 0
PRF_DATA_STAT F:\ORADATA\PRF_ST1.DF
53 0 11.5 2.2 3 0 0
PRF_INDEX E:\ORADATA\PRF_IDX4.DF
14 0 7.1 1.0 10 0 0
E:\ORADATA\PRF_IDX5.DF
13 0 3.8 1.0 10 0 0
E:\ORADATA\PRF_IDX6.DF
18 0 8.3 1.0 12 0 0
E:\ORADATA\PRF_IDX7.DF
10 0 2.0 1.0 3 0 0
F:\ORADATA\PRF_IDX1.DF
8 0 2.5 1.0 4 0 0
F:\ORADATA\PRF_IDX2.DF
11 0 3.6 1.0 11 0 0
F:\ORADATA\PRF_IDX3.DF
43 0 7.9 1.0 28 0 1 0.0
H:\ORADATA\PRF_IDX8.DF
16 0 10.6 1.0 10 0 0
PRF_INDEX_ARCHIVE H:\ORADATA\PRF_INDEX_ARCHIVE_01.DF
6 0 0.0 1.0 3 0 0
RBS E:\ORACLE\ORADATA\QLM3\RBS01.DBF
22 0 59.1 1.0 92 0 0
E:\ORACLE\ORADATA\QLM3\RBS02.DBF
8 0 5.0 1.0 19 0 0
RBS1 E:\ORACLE\ORADATA\QLM3\RBS11.ORA
3 0 0.0 1.0 18 0 1 330.0
E:\ORACLE\ORADATA\QLM3\RBS12.ORA
5 0 24.0 1.0 12 0 0
E:\ORACLE\ORADATA\QLM3\RBS13.ORA
9 0 6.7 1.0 128 0 0
RFG_DATA_DYNA G:\ORADATA\RFG_DATA_DYNA_01.DF
3 0 0.0 1.0 3 0 0
G:\ORADATA\RFG_DATA_DYNA_02.DF
3 0 0.0 1.0 3 0 0
RFG_DATA_STAT G:\ORADATA\RFG_DATA_STAT_01.DF
3 0 0.0 1.0 3 0 0
RFG_INDEX G:\ORADATA\RFG_INDEX_01.DF
3 0 0.0 1.0 3 0 0
File IO Stats for DB: QLM3 Instance: orcl Snaps: 1 -2
->ordered by Tablespace, File
Tablespace Filename
Av Av Av Av Buffer Av Buf
Reads Reads/s Rd(ms) Blks/Rd Writes Writes/s Waits Wt(ms)
RFG_INDEX G:\ORADATA\RFG_INDEX_02.DF
3 0 0.0 1.0 3 0 0
G:\ORADATA\RFG_INDEX_03.DF
3 0 0.0 1.0 3 0 0
SMQ_DATA_DYNA F:\ORADATA\SMQ_DYNA_DF
3 0 0.0 1.0 3 0 0
SMQ_DATA_STAT F:\ORADATA\SMQ_STAT_DF
3 0 0.0 1.0 3 0 0
SMQ_INDEX F:\ORADATA\SMQ_INDEX_DF
3 0 0.0 1.0 3 0 0
SYSTEM E:\ORACLE\ORADATA\QLM3\SYSTEM01.DBF
119 0 12.8 1.6 53 0 0
E:\ORACLE\ORADATA\QLM3\SYSTEM02.DBF
9 0 14.4 3.6 5 0 0
TEMP E:\ORACLE\ORADATA\QLM3\TEMP01.DBF
9,953 22 0.0 1.2 11,991 26 0
TEMP1 H:\ORADATA\TEMP101.ORA
4,163 9 0.0 1.1 3,367 7 0
TOOLS E:\ORACLE\ORADATA\QLM3\TOOLS01.DBF
3 0 0.0 1.0 27 0 0
E:\ORACLE\ORADATA\QLM3\TOOLS02.DBF
50 0 10.8 1.0 260 1 0
USERS E:\ORACLE\ORADATA\QLM3\USERS01.DBF
3 0 0.0 1.0 3 0 0
E:\ORACLE\ORADATA\QLM3\USERS02.DBF
6 0 0.0 1.0 3 0 0
Buffer Pool Statistics for DB: QLM3 Instance: orcl Snaps: 1 -2
-> Pools D: default pool, K: keep pool, R: recycle pool
Free Write Buffer
Buffer Consistent Physical Physical Buffer Complete Busy
P Gets Gets Reads Writes Waits Waits Waits
D 50,061 0 49,675 981 0 0 11
Buffer wait Statistics for DB: QLM3 Instance: orcl Snaps: 1 -2
-> ordered by wait time desc, waits desc
Tot Wait Avg
Class Waits Time (cs) Time (cs)
undo header 1 33 33
data block 10 3 0
Rollback Segment Stats for DB: QLM3 Instance: orcl Snaps: 1 -2
->A high value for "Pct Waits" suggests more rollback segments may be required
Trans Table Pct Undo Bytes
RBS No Gets Waits Written Wraps Shrinks Extends
0 24.0 0.00 0 0 0 0
1 78.0 0.00 16,834 0 0 0
2 84.0 0.00 29,374 0 0 0
3 65.0 0.00 9,950 0 0 0
4 67.0 0.00 14,278 0 0 0
5 66.0 0.00 16,364 0 0 0
6 64.0 0.00 6,144 0 0 0
7 176.0 0.00 58,588 0 0 0
8 69.0 0.00 23,158 0 0 0
9 90.0 0.00 15,068 0 0 0
10 64.0 0.00 9,776 0 0 0
11 69.0 0.00 11,076 0 0 0
12 298.0 0.34 647,830 2 0 0
13 101.0 0.00 233,506 0 0 0
Rollback Segment Storage for DB: QLM3 Instance: orcl Snaps: 1 -2
->Optimal Size should be larger than Avg Active
RBS No Segment Size Avg Active Optimal Size Maximum Size
0 401,408 0 401,408
1 4,186,112 540,690 4,194,304 4,186,112
2 4,186,112 663,298 4,194,304 4,186,112
3 4,186,112 536,369 4,194,304 4,186,112
4 4,186,112 552,957 4,194,304 4,186,112
5 4,186,112 566,795 4,194,304 4,186,112
6 4,186,112 565,140 4,194,304 4,186,112
7 4,186,112 524,103 4,194,304 4,186,112
8 251,854,848 534,027 251,854,848
9 48,447,488 630,996 48,447,488
10 29,810,688 609,701 29,810,688
11 21,823,488 531,386 21,823,488
12 30,875,648 1,398,641 30,875,648
13 15,720,448 4,922,485 20,963,328
Latch Activity for DB: QLM3 Instance: orcl Snaps: 1 -2
->"Get Requests", "Pct Get Miss" and "Avg Slps/Miss" are statistics for
willing-to-wait latch get requests
->"NoWait Requests", "Pct NoWait Miss" are for no-wait latch get requests
->"Pct Misses" for both should be very close to 0.0
Pct Avg Pct
Get Get Slps NoWait NoWait
Latch Name Requests Miss /Miss Requests Miss
active checkpoint queue latch 395 0.0 0
cache buffer handles 118 0.0 0
cache buffers chains 10,212,613 0.0 0.0 83,659 0.0
cache buffers lru chain 88,174 0.0 0.4 0
channel handle pool latch 18 0.0 23 0.0
channel operations parent lat 36 0.0 23 0.0
checkpoint queue latch 4,264 0.0 0
dml lock allocation 1,219 0.0 0
enqueue hash chains 3,289 0.0 0.0 0
enqueues 5,614 0.0 0
error message lists 9 0.0 0
event group latch 18 0.0 0
file number translation table 10 0.0 0
job_queue_processes parameter 8 0.0 0
ktm global data 3 0.0 0
latch wait list 36 0.0 36 0.0
library cache 287,494 0.1 0.2 92 0.0
library cache load lock 46 0.0 0
list of block allocation 774 0.0 0
loader state object freelist 72 0.0 0
longop free list 535 0.0 0
messages 3,858 0.0 0.0 0
multiblock read objects 11,104 0.0 0
ncodef allocation latch 8 0.0 0
parallel query alloc buffer 32 3.1 0.0 0
parallel query stats 6 0.0 0
parallel txn reco latch 3,083 0.0 0
process allocation 18 0.0 18 0.0
process group creation 41 0.0 0
process queue 18 0.0 0
process queue reference 2,886 0.0 14 0.0
query server freelists 27 0.0 0
query server process 4 0.0 4 0.0
redo allocation 10,454 0.0 0.0 0
redo writing 2,223 0.0 0
row cache objects 38,374 0.0 0.0 12 0.0
sequence cache 383 0.0 0
session allocation 3,315 0.1 1.3 0
session idle bit 128,781 0.0 0.0 0
session switching 8 0.0 0
session timer 149 0.0 0
shared pool 19,330 0.0 0.2 0
sort extent pool 172 0.0 0
Token Manager 904 0.0 12 0.0
transaction allocation 1,143 0.0 0
transaction branch allocation 8 0.0 0
undo global data 1,833 0.0 0
user lock 66 0.0 0
virtual circuit queues 22 0.0 0
Latch Activity for DB: QLM3 Instance: orcl Snaps: 1 -2
->"Get Requests", "Pct Get Miss" and "Avg Slps/Miss" are statistics for
willing-to-wait latch get requests
->"NoWait Requests", "Pct NoWait Miss" are for no-wait latch get requests
->"Pct Misses" for both should be very close to 0.0
Pct Avg Pct
Get Get Slps NoWait NoWait
Latch Name Requests Miss /Miss Requests Miss
Latch Sleep breakdown for DB: QLM3 Instance: orcl Snaps: 1 -2
-> ordered by misses desc
Get Spin &
Latch Name Requests Misses Sleeps Sleeps 1->4
cache buffers chains 10,212,613 224 9 217/5/2/0/0
library cache 287,494 211 44 176/29/3/3/0
cache buffers lru chain 88,174 20 8 16/0/4/0/0
shared pool 19,330 9 2 8/0/1/0/0
session allocation 3,315 3 4 1/1/0/1/0
Latch Miss Sources for DB: QLM3 Instance: orcl Snaps: 1 -2
-> only latches with sleeps are shown
-> ordered by name, sleeps desc
NoWait Waiter
Latch Name Where Misses Sleeps Sleeps
cache buffers chains kcbgtcr: kslbegin 0 7 9
cache buffers chains kcbgtcr 0 2 0
cache buffers lru chain kcbbiop: lru scan 0 8 0
library cache kglic 0 24 2
library cache kglhdgn: child: 0 18 8
library cache kglget: child: KGLDSBYD 0 1 1
library cache kglpnal: child: alloc spac 0 1 1
session allocation ksuxds: KSUSFCLC not set 0 4 0
shared pool kghfrunp: alloc: clatch no 0 2 0
Dictionary Cache Stats for DB: QLM3 Instance: orcl Snaps: 1 -2
->"Pct Misses" should be very low (< 2% in most cases)
->"Cache Usage" is the number of cache entries being used
->"Pct SGA" is the ratio of usage to allocated size for that cache
Get Pct Scan Pct Mod Final Pct
Cache Requests Miss Requests Miss Req Usage SGA
dc_constraints 0 0 0 188 99
dc_database_links 0 0 0 0 0
dc_files 0 0 0 16 94
dc_free_extents 26 23.1 9 0.0 19 2,072 99
dc_global_oids 0 0 0 28 62
dc_histogram_data 0 0 0 0 0
dc_histogram_data_valu 0 0 0 0 0
dc_histogram_defs 597 0.0 0 0 ###### 100
dc_object_ids 3,481 0.0 0 0 4,068 100
dc_objects 606 1.5 0 0 8,596 100
dc_outlines 0 0 0 0 0
dc_profiles 14 0.0 0 0 1 9
dc_rollback_segments 394 0.0 0 0 15 54
dc_segments 260 0.0 0 9 4,752 100
dc_sequence_grants 104 0.0 0 0 169 92
dc_sequences 183 0.0 0 169 36 86
dc_synonyms 280 5.7 0 0 4,343 100
dc_tablespace_quotas 33 0.0 0 9 18 23
dc_tablespaces 2,965 0.0 0 0 45 78
dc_used_extents 9 100.0 0 9 2,086 53
dc_user_grants 2,213 0.0 0 0 109 93
dc_usernames 289 0.0 0 0 131 99
dc_users 2,790 0.0 0 0 209 95
ifs_acl_cache_entries 0 0 0 0 0
Library Cache Activity for DB: QLM3 Instance: orcl Snaps: 1 -2
->"Pct Misses" should be very low
Get Pct Pin Pct Invali-
Namespace Requests Miss Requests Miss Reloads dations
BODY 22 0.0 21 0.0 0 0
CLUSTER 0 0 0 0
INDEX 0 0 0 0
OBJECT 0 0 0 0
PIPE 0 0 0 0
SQL AREA 2,846 0.2 48,618 0.2 25 0
TABLE/PROCEDURE 7,107 0.2 29,746 0.2 3 0
TRIGGER 22 0.0 22 0.0 0 0
SGA Memory Summary for DB: QLM3 Instance: orcl Snaps: 1 -2
SGA regions Size in Bytes
Database Buffers 157,286,400
Fixed Size 75,804
Redo Buffers 172,032
Variable Size 185,597,952
sum 343,132,188
SGA breakdown difference for DB: QLM3 Instance: orcl Snaps: 1 -2
Pool Name Begin value End value Difference
java pool free memory 45,973,504 45,973,504 0
java pool memory in use 4,030,464 4,030,464 0
large pool free memory 614,400 614,400 0
shared pool db_block_buffers 2,611,200 2,611,200 0
shared pool db_block_hash_buckets 438,520 438,520 0
shared pool db_files 370,988 370,988 0
shared pool dictionary cache 21,129,860 21,141,516 11,656
shared pool event statistics per ses 774,000 774,000 0
shared pool fixed allocation callbac 640 640 0
shared pool free memory 15,115,180 16,081,664 966,484
shared pool joxlod: in ehe 91,888 91,888 0
shared pool joxlod: in phe 37,284 37,284 0
shared pool joxlod: init P 812 812 0
shared pool joxs heap init 4,248 4,248 0
shared pool KGFF heap 69,160 69,160 0
shared pool KGK heap 19,236 19,236 0
shared pool KQLS heap 8,262,784 8,225,444 -37,340
shared pool library cache 29,124,008 29,099,824 -24,184
shared pool miscellaneous 5,152,512 5,135,872 -16,640
shared pool partitioning d 203,808 185,716 -18,092
shared pool PLS non-lib hp 2,096 2,096 0
shared pool PL/SQL DIANA 3,668,952 3,659,000 -9,952
shared pool PL/SQL MPCODE 1,560,124 1,563,104 2,980
shared pool PL/SQL PPCODE 19,460 19,460 0
shared pool PX msg pool 46,572 46,572 0
shared pool PX subheap 11,612 11,612 0
shared pool sessions 485,100 485,100 0
shared pool sql area 45,274,860 44,405,220 -869,640
shared pool table columns 53,228 53,564 336
shared pool table definiti 16,748 15,428 -1,320
shared pool transaction_branches 368,000 368,000 0
shared pool trigger defini 41,236 36,948 -4,288
shared pool trigger inform 3,380 3,380 0
shared pool trigger source 572 572 0
shared pool type object de 1,600 1,600 0
shared pool view columns d 1,072 1,072 0
db_block_buffers 157,286,400 157,286,400 0
fixed_sga 75,804 75,804 0
log_buffer 163,840 163,840 0
init.ora Parameters for DB: QLM3 Instance: orcl Snaps: 1 -2
End value
Parameter Name Begin value (if different)
audit_trail TRUE
background_dump_dest E:\oracle\admin\QLM3\bdump
compatible 8.1.7.0
control_files E:\oracle\oradata\QLM3\control01.
cursor_sharing EXACT
db_block_buffers 19200
db_block_size 8192
db_file_multiblock_read_count 32
db_files 1024
db_name QLM3
distributed_transactions 500
global_names FALSE
instance_name ORCL
java_pool_size 50000000
job_queue_interval 10
job_queue_processes 4
large_pool_size 614400
log_buffer 163840
log_checkpoint_interval 5000
log_checkpoint_timeout 0
max_dump_file_size 10240
max_enabled_roles 30
mts_dispatchers (PROTOCOL=TCP)(PRE=oracle.aurora.
open_cursors 1000
open_links 4
oracle_trace_collection_name
os_authent_prefix
parallel_max_servers 8
processes 200
query_rewrite_enabled TRUE
query_rewrite_integrity TRUSTED
remote_login_passwordfile EXCLUSIVE
rollback_segments RBS10, RBS11, RBS12, RBS13, RBS14
service_names QLM3
shared_pool_size 128000000
sort_area_retained_size 128000
sort_area_size 128000
timed_statistics TRUE
user_dump_dest E:\oracle\admin\QLM3\udump
utl_file_dir c:\utl_file
End of Report.
Thanks for your help.
regards raitsarevoHi
I'm experienced any problem when our application run one transaction it becomes very slow, before it was speed and from yesterday it takes a lot of time to accomplish the transaction. That's why i analyze the problem with statspack and i've done also a trace. It's for my problem and for academic purpose too.
Many thanks for your help. -
9I STATSPACK PACKAGE를 이용하여 생성된 성능보고서 분석 예제
제품 : ORACLE SERVER
작성날짜 : 2005-01-07
9I STATSPACK PACKAGE를 이용하여 생성된 성능보고서 분석 예제
==========================================
PURPOSE
이 문서는 9i 데이타베이스 운영 중 전반적인 System performance
저하를 경험할 경우 StatsPack Package를 이용하여 성능관련 문제
분석에 활용하는 방법을 예제를 통해 알아보기로 한다.
Explanation
<Bulletin:17118>에는 statspack.snap 프로시져를 수행하여 snapshot을
생성하는 데 있어 통계정보 수집 방법에 대하여 자세히 소개되어 있다.
<Bulletin:17119>에는 spreport.sql 수행을 통한 STATSPACK 성능 보고서
생성 방법과 생성되는 report의 내용을 요약적으로 볼 수 있다.
이 문서는 STATSPACK utility에 의해 생성되는 이 output(성능보고서)을
이해하고 진단하는 데 도움을 줄 만한 내용을 알아본다.
데이타베이스 performance tuning은 아주 광범위한 분야이므로,
아 자료는 몇 가지 특정 tuning point에 대해서만 촛점을 맞추어 알아본다.
1. 9i 에서 statspack 수행 시 Summary Information
STATSPACK report for
DB Name DB Id Instance Inst Num Release Cluster Host
ETSPRD7 1415901831 etsprd7a 1 9.2.0.5.0 YES tsonode1
Snap Id Snap Time Sessions Curs/Sess Comment
Begin Snap: 71 11-Jun-04 10:02:41 ####### .0
End Snap: 73 11-Jun-04 12:09:00 ####### .0
Elapsed: 126.32 (mins)
==> 이전의 OPS 항목은 Real Applications Cluster(RAC) 라고 하는 새로운
용어를 나타내기 위해 Cluster로 대체되었다.
그리고, Cursors/Session 과 Comment라고 하는 column이 추가되었다.
2. Oracle 9i Instance Workload Information
모든 statspack report는 instance efficiency를 결정하는 데 도움이 될
만한 인스턴스 metric들과 인스턴스의 workload profile을 보여주는 것으로
시작한다.
Oracle 9i에서 Std Block size는 인스턴스의 primary block size를 나타낸다.
1) Instance cache information:
Cache Sizes (end)
~~~~~~~~~~~~~~~~~
Buffer Cache: 704M Std Block Size: 8K
Shared Pool Size: 256M Log Buffer: 1,024K
2) Load profile Information:
Load profile Information은 Oracle 8i와 9i가 모두 동일하다.
Load Profile
~~~~~~~~~~~~
Per Second Per Transaction
Redo size: 351,530.67 7,007.37
Logical reads: 5,449.81 108.64
Block changes: 1,042.0 8 20.77
Physical reads: 37.71 0.75
Physical writes: 134.68 2.68
User calls: 1,254.72 25.01
Parses: 4.92 0.10
Hard parses: 0.02 0.00
Sorts: 15.73 0.31
Logons: -0.01 0.00
Executes: 473.73 9.44
Transactions: 50.17
% Blocks changed per Read: 19.12 Recursive Call %: 4.71
Rollback per transaction %: 2.24 Rows per Sort: 20.91
각 항목들의 의미는 다음과 같다.
Redo size: This is the amount of redo generated during this report.
Logical Reads: This is calculated as Consistent Gets + DB Block Gets = Logical Reads
Block changes: The number of blocks modified during the sample interval
Physical Reads: The number of requests for a block that caused a physical I/O.
Physical Writes: The number of physical writes issued.
User Calls: The number of queries generated
Parses: Total of all parses: both hard and soft
Hard Parses: Those parses requiring a completely new parse of the
SQL statement. These consume both latches and shared pool area.
Soft Parses: Not listed but derived by subtracting the hard parses
from parses. A soft parse reuses a previous hard parse
and hence consumes far fewer resources.
Sorts, Logons, Executes and Transactions are all self explanatory
3) Instance Efficiency Ratios:
Instance Efficiency Percentages (Target 100%)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Buffer Nowait %: 99.99 Redo NoWait %: 100.00
Buffer Hit %: -45.57 In-memory Sort %: 97.55
Library Hit %: 99.89 Soft Parse %: 99.72
Execute to Parse %: -1.75 Latch Hit %: 99.11
Parse CPU to Parse Elapsd %: 52.66 % Non-Parse CPU: 99.99
Shared Pool Statistics Begin End
Memory Usage %: 42.07 43.53
% SQL with executions>1: 73.79 75.08
% Memory for SQL w/exec>1: 76.93 77.64
Example
1. Parse가 너무 빈번하여 성능에 영향을 주는 예제
예제1. TARGET 이 100% 인데 다른 항목들은 좋은 편이지만, PARSE 관련
비율들만 낮은 경향을 보임.
Instance Efficiency Percentages (Target 100%)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Buffer Nowait %: 99.93 Redo NoWait %: 99.99
Buffer Hit %: 97.97 In-memory Sort %: 100.00
Library Hit %: 93.58 Soft Parse %: 85.59
Execute to Parse %: 10.21 Latch Hit %: 99.48
Parse CPU to Parse Elapsd %: 40.07 % Non-Parse CPU: 90.54
예제2. 한번 PARSE해서 한번만 수행한 SQL이 전체 SQL 의 40% 나 차지하는 경우
이러한 경우 권장사항은 한번 PARSE하여 여러번 수행하는 것이다.
Shared Pool Statistics Begin End
Memory Usage %: 94.13 94.95
% SQL with executions>1: 40.43 36.56
% Memory for SQL w/exec>1: 31.67 26.27
예제3. 다음 정보는 빈번하게 수행되면서, 수행할 때마다 PARSE하는 SQL들이다.
SQL ordered by Parse Calls for DB:
% Total
Parse Calls Executions Parses Hash Value
191,537 191,538 5.31 2386297721
Module: OCS00000.exe
SELECT DOCTNO, CLINIC, DOCTNAME FROM OCSUSER.OCSDOCTOR
WHERE ROWNUM = 1 -- AND DOCTNO > ' ' --2004/03/02 LEEJUNGHY
UN -- AND DOCTNO IN (P_DOCTNO,SUBSTR(P_DOCTNO,-5)); A
ND DOCTNO = TRIM(TO_CHAR(SUBSTR(:b1,GREATEST(LENGTH(:b1)*(-1),-5
)),'00000'))
102,871 102,871 2.85 102761273
Module: OCS00000.exe
SELECT KORNAME FROM EPMUSER.EPMMASTER WHERE EMPNO IN (:
b1,SUBSTR(:b1,-5))
92,454 92,454 2.56 231443659
Module: NIN00000.exe
SELECT USERID FROM APMUSER.APMSESSIONID WHERE INSTANC
ENO = USERENV('INSTANCE') AND SESSIONID = USERENV('S
ESSIONID')
예제4. SQL을 shared pool에 할당하는 관련 LATCH 들의 MISS가 보이는 경우
Latch Activity for DB: DAUMC Instance: DAUMC1 Snaps: 71 -73
->"Get Requests", "Pct Get Miss" and "Avg Slps/Miss" are statistics for
willing-to-wait latch get requests.
->"NoWait Requests", "Pct NoWait Miss" are for no-wait latch get requests.
->"Pct Misses" for both should be very close to 0.0
Pct Avg Wait Pct
Get Get Slps Time NoWait NoWait
Latch Requests Miss /Miss (s) Requests Miss
library cache 60,564,808 1.9 0.2 1318 1,431,661 9.8
library cache pin 28,629,340 0.1 0.1 9 0
library cache pin alloca 19,120,395 0.1 0.1 5 0
shared pool 63,075,980 4.0 0.1 578
예제5. V$librarycache 뷰의 정보 중 SQL AREA의 MISS가 있는 경우
Library Cache Activity for DB: DAUMC Instance: DAUMC1 Snaps: 71 -73
->"Pct Misses" should be very low
Get Pct Pin Pct Invali-
Namespace Requests Miss Requests Miss Reloads dations
SQL AREA 2,766,961 15.6 11,370,919 9.1 87,750 6
TABLE/PROCEDURE 1,166,084 0.1 3,925,826 0.1 2,081 0
BODY 45,742 0.0 45,742 0.0 0 0
TRIGGER 808,617 0.0 808,624 0.0 30 0
CLUSTER 717 0.0 523 0.0 0 0
예제6. SHARED POOL USAGE 를 볼 때 2G 중 SQL AREA + LIBRARY CACHE가 대부분 차지
SGA Memory Summary for DB: DAUMC Instance: DAUMC1 Snaps: 71 -73
SGA regions Size in Bytes
Database Buffers 1,509,949,440
Fixed Size 459,920
Redo Buffers 679,936
Variable Size 2,164,260,864
sum 3,675,350,160
shared_pool_size = 2013265920
SGA breakdown difference for DB: DAUMC Instance: DAUMC1 Snaps: 71 -73
Pool Name Begin value End value % Diff
shared library cache 465,599,756 467,728,476 0.46
shared sql area 1,283,939,172 1,300,770,180 1.31
shared miscellaneous 150,304,904 151,676,316 0.91
shared free memory 125,065,548 107,550,900 14.00
너무 빈번한 Parse를 줄이기 위한 권장사항
- Literal SQL보다는 BIND VARIABLE 사용 권장
- SOFT PARSE가 85%나 차지하므로 Session_cached_cursors 파라미터 설정 권장
( 가령 100 --> 200 )
이 파라미터에 지정한 갯수는 한 session 동안 open된 상태로 cache에
유지할 수 있는 cursor의 갯수이다.
<참고> CURSOR 는 한번 오픈된 다음 여러번 execution 될 수 있다.
예를 들어 V$SQL 뷰에서 한 SQL 이 몇번 execute 되었는지는
v$sqlarea.executions 로 확인 가능하다.
<Note:30804.1> 참조
2. SQL ACCESS PATH(SQL 수행 패턴)와 I/O에 문제가 있어 성능에 영향을 주는 예제
SQL 수행 시 full table scan보다 INDEX scan이 항상 더 빠른 것은 아니다.
예제1. 전체 WAIT TIME 의 대부분(60~70%)이 DB FILE SEQUENTIAL READ,
즉 one block read (주로 인덱스 사용)일 때이다.
Top 5 Timed Events
~~~~~~~~~~~~~~~~~~ % Total
Event Waits Time (s) Ela Time
db file sequential read 3,682,330 87,681 59.32
CPU time 31,297 21.17
global cache cr request 4,254,569 11,086 7.50
enqueue 43,040 3,211 2.17
latch free 505,497 2,068 1.40
예제2. Tablespace IO Stats for DB , File IO Stats for DB 등의 DISK IO
통계정보를 보면 AV Read 속도가 권장이 20ms 이하이나 대부분이
20ms 이상이고 30ms 인 경우
Tablespace IO Stats for DB: DAUMC Instance: DAUMC1 Snaps: 71 -73
->ordered by IOs (Reads + Writes) desc
Tablespace Av Av Av Av Buffer Av Buf
Reads Reads/s Rd(ms) Blks/Rd Writes Writes/s Waits Wt(ms)
OCS_DATA 1,320,724 174 25.0 1.0 34,046 4 90,263 22.5
AMP_DATA 589,915 78 25.6 1.1 6,487 1 4,994 28.9
OCS_IDX 282,622 37 26.9 1.0 54,707 7 7,813 25.6
CP_DATA 204,100 27 18.2 1.1 3,297 0 1,594 17.3
AMP_IDX 174,413 23 26.4 1.0 16,853 2 5,833 28.9
File IO Stats for DB: DAUMC Instance: DAUMC1 Snaps: 71 -73
->ordered by Tablespace, File
Tablespace Filename
Av Av Av Av Buffer Av Buf
Reads Reads/s Rd(ms) Blks/Rd Writes Writes/s Waits Wt(ms)
AMP_DATA /dev/vx/rdsk/dongadg/daumc_amp_data_30720m
444,094 59 26.0 1.1 3,311 0 3,716 29.9
/dev/vx/rdsk/dongadg/daumc_rdat0301_10240m
74,911 10 24.5 1.1 1,124 0 685 26.5
/dev/vx/rdsk/dongadg/daumc_rdat0303_10240m
70,910 9 24.3 1.1 2,052 0 593 25.8
AMP_IDX /dev/vx/rdsk/dongadg/daumc_amp_idx_30720m
174,413 23 26.4 1.0 16,853 2 5,833 28.9
AMS_DATA /dev/vx/rdsk/dongadg/daumc_ams_data_4096m
11 0 26.4 1.0 0 0 0
위의 Disk I/O Tuning point를 근거로 튜닝 필요한 SQL 찾기
예제3. SQL ordered by Gets for DB: DAUMC Instance: DAUMC1 Snaps: 71 -73
-> End Buffer Gets Threshold: 10000
-> Note that resources reported for PL/SQL includes the resources used by
all SQL statements called within the PL/SQL code. As individual SQL
statements are also reported, it is possible and valid for the summed
total % to exceed 100
CPU Elapsd
Buffer Gets Executions Gets per Exec %Total Time (s) Time (s) Hash Value
5,029,778 20 251,488.9 2.5 62.87 106.97 1740340670
Module: NMS00000.exe
SELECT ns.getdate, ns.gettime, ns.sid, ns.idno, ns.name
, ns.ward, ns.sex, ns.age, ns.sampcd, we.workcd, MIN(nr
.testcd) testcd, MIN(nr.testno) testno, MIN(nr.result)
result, MIN(nr.ROWID) nrROWID, sm.sampnm FROM nmusr.nmsample
ns, nmusr.nmresult nr, nmusr.nmworkenv we, nmusr.xnmsa
3,200,846 1,903 1,682.0 1.6 99.29 184.85 2896635021
Module: OCS00000.exe
SELECT upslipcode FROM ocsuser.ocsslip WHERE slipcode
= 'PH11' START WITH slipcode = 'CLIN' CONNECT BY PRIOR slipcod
e = upslipcode
예제4. SQL ordered by Reads for DB: DAUMC Instance: DAUMC1 Snaps: 71 -73
-> End Disk Reads Threshold: 1000
CPU Elapsd
Physical Reads Executions Reads per Exec %Total Time (s) Time (s) Hash Value
39,256 113 347.4 0.9 33.07 226.06 639735119
Module: AMI00000.exe
begin AMPUSER.MAKEADMORDER(:V00001,:V00002,:V00003,:V00004,:V000
05,:V00006); end;
38,671 113 342.2 0.9 15.23 167.19 3348585719
Module: AMI00000.exe
DELETE FROM AMPUSER.AMPTEMPORDER WHERE ( IDNO = :b4 AND MEDDAT
E = :b3 AND TYPECODE = :b2) OR TERMID = :b1
31,358 1 31,358.0 0.8 6.46 88.00 3852126455
Module: Golden32.exe
select count(*) FROM cpusr.cpslipuse su -- WHERE su.slipcd = '2
1' -- AND su.partcd = 'MP' -- AND su.finalflag = 0 -- AND
SUBSTR(su.labno,1,1) = '1' -- AND LENGTH(su.labno) = 6 --308
Reference Documents
<Note:228913.1> Systemwide Tuning using STATSPACK Reports -
Performance(statspack) related problem
Anybodyu can suggest me how to improve the database performance as many uiser are complaining that they are getting data very slow........
i have also used statspack analyzer.......
STATSPACK report for
DB Name DB Id Instance Inst Num Release Cluster Host
NEOSOFT 399087012 neosoft 1 9.2.0.7.0 NO APP
Snap Id Snap Time Sessions Curs/Sess Comment
Begin Snap: 1 16-May-08 10:20:15 435 2.2
End Snap: 3 16-May-08 10:24:12 442 2.2
Elapsed: 3.95 (mins)
Cache Sizes (end)
~~~~~~~~~~~~~~~~~
Buffer Cache: 352M Std Block Size: 8K
Shared Pool Size: 200M Log Buffer: 1,024K
Load Profile
~~~~~~~~~~~~ Per Second Per Transaction
Redo size: 23,125.82 7,966.31
Logical reads: 6,050.15 2,084.14
Block changes: 96.53 33.25
Physical reads: 1,103.40 380.10
Physical writes: 16.60 5.72
User calls: 189.40 65.24
Parses: 29.92 10.31
Hard parses: 8.69 2.99
Sorts: 6.97 2.40
Logons: 0.11 0.04
Executes: 29.25 10.08
Transactions: 2.90
% Blocks changed per Read: 1.60 Recursive Call %: 31.70
Rollback per transaction %: 0.29 Rows per Sort: 472.41
Instance Efficiency Percentages (Target 100%)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Buffer Nowait %: 100.00 Redo NoWait %: 100.00
Buffer Hit %: 82.01 In-memory Sort %: 99.21
Library Hit %: 89.76 Soft Parse %: 70.95
Execute to Parse %: -2.29 Latch Hit %: 99.95
Parse CPU to Parse Elapsd %: 100.93 % Non-Parse CPU: 84.62
Shared Pool Statistics Begin End
Memory Usage %: 94.72 94.24
% SQL with executions>1: 39.68 38.62
% Memory for SQL w/exec>1: 39.34 38.76
Top 5 Timed Events
~~~~~~~~~~~~~~~~~~ % Total
Event Waits Time (s) Ela Time
db file scattered read 39,162 38 39.49
CPU time 28 29.48
db file sequential read 42,173 28 29.24
direct path read 1,193 1 .59
SQL*Net more data to client 31,629 1 .53
Wait Events for DB: NEOSOFT Instance: neosoft Snaps: 1 -3
-> s - second
-> cs - centisecond - 100th of a second
-> ms - millisecond - 1000th of a second
-> us - microsecond - 1000000th of a second
-> ordered by wait time desc, waits desc (idle events last)
Avg
Total Wait wait Waits
Event Waits Timeouts Time (s) (ms) /txn
db file scattered read 39,162 0 38 1 56.9
db file sequential read 42,173 0 28 1 61.3
direct path read 1,193 0 1 0 1.7
SQL*Net more data to client 31,629 0 1 0 46.0
log file sync 683 0 0 0 1.0
control file sequential read 184 0 0 1 0.3
db file parallel write 61 0 0 1 0.1
control file parallel write 78 0 0 0 0.1
log file parallel write 732 0 0 0 1.1
direct path write 30 0 0 0 0.0
SQL*Net break/reset to clien 10 0 0 0 0.0
LGWR wait for redo copy 3 0 0 0 0.0
SQL*Net message from client 44,675 0 577 13 64.9
virtual circuit status 47,524 4 145 3 69.1
SQL*Net message to client 44,674 0 0 0 64.9
SQL*Net more data from clien 260 0 0 0 0.4
Background Wait Events for DB: NEOSOFT Instance: neosoft Snaps: 1 -3
-> ordered by wait time desc, waits desc (idle events last)
Avg
Total Wait wait Waits
Event Waits Timeouts Time (s) (ms) /txn
control file sequential read 80 0 0 2 0.1
db file parallel write 61 0 0 1 0.1
control file parallel write 78 0 0 0 0.1
log file parallel write 732 0 0 0 1.1
LGWR wait for redo copy 3 0 0 0 0.0
rdbms ipc message 993 242 2,054 2069 1.4
pmon timer 79 79 234 2962 0.1
smon timer 13 0 228 17520 0.0
SQL ordered by Gets for DB: NEOSOFT Instance: neosoft Snaps: 1 -3
-> End Buffer Gets Threshold: 10000
-> Note that resources reported for PL/SQL includes the resources used by
all SQL statements called within the PL/SQL code. As individual SQL
statements are also reported, it is possible and valid for the summed
total % to exceed 100
CPU Elapsd
Buffer Gets Executions Gets per Exec %Total Time (s) Time (s) Hash Value
92,160 36 2,560.0 6.4 0.41 0.37 1007205397
Module: Pharmacy 2.0.174.exe
select null, i.owner, i.table_name, decode (i.uniqueness,'UNIQUE
',0,1), null, i.index_name, 3, c.column_position, c.column_name,
'A', i.distinct_keys, i.leaf_blocks, null from all_indexes i, a
ll_ind_columns c where i.owner = c.index_owner and i.index_name
= c.index_name and i.table_owner = c.table_owner and i.table_nam
75,042 33 2,274.0 5.2 0.23 0.29 3052506495
Module: In Patient 2.1.152.exe
select null, i.owner, i.table_name, decode (i.uniqueness,'UNIQUE
',0,1), null, i.index_name, 3, c.column_position, c.column_name,
'A', i.distinct_keys, i.leaf_blocks, null from all_indexes i, a
ll_ind_columns c where i.owner = c.index_owner and i.index_name
= c.index_name and i.table_owner = c.table_owner and i.table_nam
68,310 27 2,530.0 4.8 0.27 0.27 2037438344
Module: Pharmacy 2.0.174.exe
select null, i.owner, i.table_name, decode (i.uniqueness,'UNIQUE
',0,1), null, i.index_name, 3, c.column_position, c.column_name,
'A', i.distinct_keys, i.leaf_blocks, null from all_indexes i, a
ll_ind_columns c where i.owner = c.index_owner and i.index_name
= c.index_name and i.table_owner = c.table_owner and i.table_nam
48,617 31 1,568.3 3.4 0.16 0.22 1186386010
Module: In Patient 2.1.152.exe
select null, i.owner, i.table_name, decode (i.uniqueness,'UNIQUE
',0,1), null, i.index_name, 3, c.column_position, c.column_name,
'A', i.distinct_keys, i.leaf_blocks, null from all_indexes i, a
ll_ind_columns c where i.owner = c.index_owner and i.index_name
= c.index_name and i.table_owner = c.table_owner and i.table_nam
45,060 20 2,253.0 3.1 0.17 0.18 3400961035
Module: In Patient 2.1.152.exe
select null, i.owner, i.table_name, decode (i.uniqueness,'UNIQUE
',0,1), null, i.index_name, 3, c.column_position, c.column_name,
'A', i.distinct_keys, i.leaf_blocks, null from all_indexes i, a
ll_ind_columns c where i.owner = c.index_owner and i.index_name
= c.index_name and i.table_owner = c.table_owner and i.table_nam
42,976 17 2,528.0 3.0 0.14 0.17 3744553745
Module: Pharmacy 2.0.174.exe
select null, i.owner, i.table_name, decode (i.uniqueness,'UNIQUE
',0,1), null, i.index_name, 3, c.column_position, c.column_name,
'A', i.distinct_keys, i.leaf_blocks, null from all_indexes i, a
ll_ind_columns c where i.owner = c.index_owner and i.index_name
= c.index_name and i.table_owner = c.table_owner and i.table_nam
36,114 78 463.0 2.5 0.13 0.11 4262998487
Module: In Patient 2.1.152.exe
SQL ordered by Gets for DB: NEOSOFT Instance: neosoft Snaps: 1 -3
-> End Buffer Gets Threshold: 10000
-> Note that resources reported for PL/SQL includes the resources used by
all SQL statements called within the PL/SQL code. As individual SQL
statements are also reported, it is possible and valid for the summed
total % to exceed 100
CPU Elapsd
Buffer Gets Executions Gets per Exec %Total Time (s) Time (s) Hash Value
select to_char(null), ac.owner, ac.table_name, acc.column_name,
acc.position, ac.constraint_name from all_constraints ac, all_co
ns_columns acc where ac.owner=acc.owner and ac.constraint_type=
'P' and ac.constraint_name=acc.constraint_name and ac.owner lik
e 'IP' escape '\' and ac.table_name like 'DOCTORVISIT' escape '
25,102 11 2,282.0 1.8 0.06 0.10 812077776
Module: In Patient 2.1.152.exe
select null, i.owner, i.table_name, decode (i.uniqueness,'UNIQUE
',0,1), null, i.index_name, 3, c.column_position, c.column_name,
'A', i.distinct_keys, i.leaf_blocks, null from all_indexes i, a
ll_ind_columns c where i.owner = c.index_owner and i.index_name
= c.index_name and i.table_owner = c.table_owner and i.table_nam
24,984 36 694.0 1.7 0.09 0.07 3956499023
Module: Pharmacy 2.0.174.exe
select to_char(null), ac.owner, ac.table_name, acc.column_name,
acc.position, ac.constraint_name from all_constraints ac, all_co
ns_columns acc where ac.owner=acc.owner and ac.constraint_type=
'P' and ac.constraint_name=acc.constraint_name and ac.owner lik
e 'INVENTORY' escape '\' and ac.table_name like 'DMEDMAST' esca
23,213 1 23,213.0 1.6 1.59 2.83 2435229694
Module: SQL*Plus
BEGIN statspack.snap(i_snap_level=>7); END;
22,930 10 2,293.0 1.6 0.14 0.09 3466778893
Module: In Patient 2.1.152.exe
select null, i.owner, i.table_name, decode (i.uniqueness,'UNIQUE
',0,1), null, i.index_name, 3, c.column_position, c.column_name,
'A', i.distinct_keys, i.leaf_blocks, null from all_indexes i, a
ll_ind_columns c where i.owner = c.index_owner and i.index_name
= c.index_name and i.table_owner = c.table_owner and i.table_nam
22,680 10 2,268.0 1.6 0.08 0.09 3786189544
Module: In Patient 2.1.152.exe
select null, i.owner, i.table_name, decode (i.uniqueness,'UNIQUE
',0,1), null, i.index_name, 3, c.column_position, c.column_name,
'A', i.distinct_keys, i.leaf_blocks, null from all_indexes i, a
ll_ind_columns c where i.owner = c.index_owner and i.index_name
= c.index_name and i.table_owner = c.table_owner and i.table_nam
20,340 9 2,260.0 1.4 0.13 0.08 3649693145
Module: In Patient 2.1.152.exe
select null, i.owner, i.table_name, decode (i.uniqueness,'UNIQUE
',0,1), null, i.index_name, 3, c.column_position, c.column_name,
'A', i.distinct_keys, i.leaf_blocks, null from all_indexes i, a
ll_ind_columns c where i.owner = c.index_owner and i.index_name
= c.index_name and i.table_owner = c.table_owner and i.table_nam
SQL ordered by Gets for DB: NEOSOFT Instance: neosoft Snaps: 1 -3
-> End Buffer Gets Threshold: 10000
-> Note that resources reported for PL/SQL includes the resources used by
all SQL statements called within the PL/SQL code. As individual SQL
statements are also reported, it is possible and valid for the summed
total % to exceed 100
CPU Elapsd
Buffer Gets Executions Gets per Exec %Total Time (s) Time (s) Hash Value
19,460 42 463.3 1.4 0.09 0.06 3858576624
Module: In Patient 2.1.152.exe
select to_char(null), ac.owner, ac.table_name, acc.column_name,
acc.position, ac.constraint_name from all_constraints ac, all_co
ns_columns acc where ac.owner=acc.owner and ac.constraint_type=
SQL ordered by Reads for DB: NEOSOFT Instance: neosoft Snaps: 1 -3
-> End Disk Reads Threshold: 1000
CPU Elapsd
Physical Reads Executions Reads per Exec %Total Time (s) Time (s) Hash Value
8,084 4 2,021.0 3.1 0.14 1.08 4198744706
Module: Out Patient 2.1.41.exe
Select Max(BillNo) as Bno From PatientsRegistration Where regdt
= to_date('01/04/2008','dd/mm/yyyy') and regdt <= to_date('31/03/2009','dd/mm/yyyy')
7,302 1 7,302.0 2.8 0.13 0.51 2116660478
Module: In Patient 2.1.157.exe
select discount,discamount from billpharmacy where patientid='PA
T09212'
7,302 1 7,302.0 2.8 0.06 0.41 3612969128
Module: In Patient 2.1.152.exe
select discount,discamount from billpharmacy where patientid='PA
T09037'
7,302 1 7,302.0 2.8 0.19 0.51 3981413559
Module: In Patient 2.1.152.exe
sELECT * FROM BillPharmacy WHERE BillPharmacy.pATIENtid= 'PAT090
37' order by to_number((issueno))
7,300 1 7,300.0 2.8 0.14 0.69 136284863
Module: In Patient 2.1.152.exe
delete from billpharmacy where patientid='PAT09037'
7,299 1 7,299.0 2.8 0.20 0.77 2137420337
Module: In Patient 2.1.152.exe
delete from billpharmacy where patientid='PAT09154'
7,298 1 7,298.0 2.8 0.13 0.43 1007690124
Module: In Patient 2.1.152.exe
select discount,discamount from billpharmacy where patientid='PA
T08301'
7,298 1 7,298.0 2.8 0.13 0.58 3087447381
Module: In Patient 2.1.152.exe
select discount,discamount from billpharmacy where patientid='PA
T09154'
7,061 1 7,061.0 2.7 0.13 0.97 2993688253
Module: In Patient 2.1.152.exe
select discount,discamount from billpharmacy where patientid='PA
T09146'
7,058 1 7,058.0 2.7 0.39 0.76 1202603169
Module: In Patient 2.1.152.exe
SELECT BILLHDR.BILLNO, BILLHDR.BILLDT, BILLHDR.BALANCE, BILLHDR.
TOTAL, BILLHDR.NETAMOUNT,IPINFO.type as orgtype, BILLHDR.PREVAD
V , IPInfo.IpNO, IPInfo.REGDT,IPInfo.REGTM, IPInfo.Name, IPInfo.
ADDRESS1,IPINFO.relativenm ,Rooms.roomno , Beds.BEDNO, ROOMTYPES
, decode(IPINFO.sex,1,'Male','Female')sex,IPINFO.AGE ||' '||dec
6,640 1 6,640.0 2.5 0.13 1.06 796742944
Module: In Patient 2.1.152.exe
SQL ordered by Reads for DB: NEOSOFT Instance: neosoft Snaps: 1 -3
-> End Disk Reads Threshold: 1000
CPU Elapsd
Physical Reads Executions Reads per Exec %Total Time (s) Time (s) Hash Value
select discount,discamount from billpharmacy where patientid='PA
T09123'
4,617 4 1,154.3 1.8 0.19 0.94 2042905630
Module: Out Patient 2.1.41.exe
SELECT NVL(Max(MoneyReciept.mrBillNo),0) AS MaxOfBillNob FROM Mo
neyReciept where generalopd = 0
4,496 3 1,498.7 1.7 0.06 0.57 2718453880
Module: Diagnotech 2.2.49.exe
Select * from track where tablenm = 'FRMREPORTING' and primkeyid
= 'R208970TS000002' order by trackdate,tracktime
4,494 3 1,498.0 1.7 0.13 0.74 3290276624
Module: Diagnotech 2.2.49.exe
Select * from track where tablenm = 'FRMREPORTING' and primkeyid
= 'R207032T0000351' order by trackdate,tracktime
4,451 3 1,483.7 1.7 0.20 0.99 768943678
Module: Diagnotech 2.2.49.exe
Select * from track where tablenm = 'FRMREPORTING' and primkeyid
= 'R208613TS000002' order by trackdate,tracktime
4,091 4 1,022.8 1.6 0.19 1.62 266509601
Module: In Patient 2.1.152.exe
SELECT IPInfo.IPNo ,IPInfo.name,doctorvisit.date_r ,unithdr.drna
me , doctorvisit.visitid FROM Doctorvisit , IPInfo,unithdr wher
e Doctorvisit.Patid = IPInfo.PatID and Doctorvisit.doctorid=unit
hdr.unitid and doctorvisit.date_r >=to_date('06/05/2008','fmdd/m
m/yyyy') order by IPInfo.IPNo
3,933 5 786.6 1.5 0.14 1.29 2546712787
Module: Diagnotech 2.2.49.exe
Select max(BillNo) as Bno From MoneyReciept where rcdt >= to_dat
e('01/04/2008','dd/mm/yyyy') and rcdt <= to_date('31/03/2009','d
d/mm/yyyy')
3,439 3 1,146.3 1.3 0.25 1.89 2816864569
Module: Diagnotech 2.2.49.exe
Select * from track where tablenm = 'FRMREPORTING' and primkeyid
= 'R207242T0000104' order by trackdate,tracktime
3,129 2 1,564.5 1.2 0.06 0.88 1803349496
Module: Diagnotech 2.2.49.exe
Select * from track where tablenm = 'FRMREPORTING' and primkeyid
= 'R208962TS000002' order by trackdate,tracktime
3,065 4 766.3 1.2 0.17 1.30 54282346
Module: In Patient 2.1.157.exe
Select * from track where tablenm = 'FRMDOCTORVISIT' and primkey
id = 'VI048354' order by trackdate,tracktime
2,834 3 944.7 1.1 0.17 1.57 165470279
Module: Diagnotech 2.2.49.exe
SQL ordered by Reads for DB: NEOSOFT Instance: neosoft Snaps: 1 -3
-> End Disk Reads Threshold: 1000
CPU Elapsd
Physical Reads Executions Reads per Exec %Total Time (s) Time (s) Hash Value
Select * from track where tablenm = 'FRMREPORTING' and primkeyid
= 'R208926TS000002' order by trackdate,tracktime
2,769 3 923.0 1.1 0.13 1.28 3812904405
Module: Diagnotech 2.2.49.exe
Select * from track where tablenm = 'FRMREPORTING' and primkeyid
= 'R208892TS000002' order by trackdate,tracktime
2,730 3 910.0 1.0 0.19 1.21 680462328
Module: In Patient 2.1.157.exe
select * from DoctorVisit where Date_r >= to_date('06/05/2008','
dd/mm/yyyy') and Date_r <= to_date('16/05/2008','dd/mm/yyyy')
2,526 2 1,263.0 1.0 0.58 1.14 4043595143
Module: SQL*Plus
INSERT INTO STATS$SQL_SUMMARY ( SNAP_ID , DBID , INSTANCE_NUMBER
, TEXT_SUBSET , SHARABLE_MEM , SORTS , MODULE , LOADED_VERSIONS
, FETCHES , EXECUTIONS , LOADS , INVALIDATIONS , PARSE_CALLS ,
DISK_READS , BUFFER_GETS , ROWS_PROCESSED , COMMAND_TYPE , ADDRE
SS , HASH_VALUE , VERSION_COUNT , CPU_TIME , ELAPSED_TIME , OUTL
2,484 1 2,484.0 0.9 0.19 0.91 33028691
Module: Diagnotech 2.2.49.exe
select * from requisitions where upper(reqno) = '180800'
2,483 1 2,483.0 0.9 0.13 0.93 2943168498
Module: Diagnotech 2.2.49.exe
Update Requisitions Set Collected = 0 Where TRIM(ReqID) ='R20987
8'
2,482 1 2,482.0 0.9 0.11 0.74 2336722822
Module: Diagnotech 2.2.49.exe
Update Requisitions Set Collected = 0 Where TRIM(ReqID) ='R20987
7'
2,480 1 2,480.0 0.9 0.06 0.67 650704065
Module: In Patient 2.1.152.exe
select sum(can.returnamt) refamt from diagnotech.cancellationhd
r can,diagnotech.requisitions req where can.reqid = req.reqid an
SQL ordered by Executions for DB: NEOSOFT Instance: neosoft Snaps: 1 -3
-> End Executions Threshold: 100
CPU per Elap per
Executions Rows Processed Rows per Exec Exec (s) Exec (s) Hash Value
283 283 1.0 0.00 0.00 1283498366
Module: Diagnotech 2.2.49.exe
Select to_char(sysdate,'fmdd/mm/yyyy HH24:mi:ss am') as abc from
OPTIONS
238 76 0.3 0.00 0.00 4274598960
select /*+ rule */ bucket_cnt, row_cnt, cache_cnt, null_cnt, tim
estamp#, sample_size, minimum, maximum, distcnt, lowval, hival,
density, col#, spare1, spare2, avgcln from hist_head$ where obj#
=:1 and intcol#=:2
126 126 1.0 0.00 0.00 2168100061
Module: Diagnotech 2.2.49.exe
select * from departments where deptid = 'DEP00004'
114 0 0.0 0.00 0.00 4073347083
select grantor#, grantee#, privilege#, sequence#, nvl(option$,0)
from objauth$ where obj#=:1 and col#=:2
112 112 1.0 0.00 0.00 3687727603
insert into col$(obj#,name,intcol#,segcol#,type#,length,precisio
n#,scale,null$,offset,fixedstorage,segcollength,deflength,defaul
t$,col#,property,charsetid,charsetform,spare1,spare2,spare3)valu
es(:1,:2,:3,:4,:5,:6,decode(:7,0,null,:7),decode(:5,2,decode(:8,
-127/*MAXSB1MINAL*/,null,:8),178,:8,179,:8,180,:8,181,:8,182,:8,
99 99 1.0 0.00 0.00 3468666020
select text from view$ where rowid=:1
84 84 1.0 0.00 0.00 2997854589
insert into access$(d_obj#,order#,columns,types) values (:1,:2,:
3,:4)
84 84 1.0 0.00 0.00 3951809012
insert into dependency$(d_obj#,d_timestamp,order#,p_obj#,p_times
tamp,d_owner#, property)values (:1,:2,:3,:4,:5,:6, :7)
78 0 0.0 0.00 0.00 3867936055
Module: Out Patient 2.1.41.exe
commit
78 78 1.0 0.00 0.00 4262998487
Module: In Patient 2.1.152.exe
select to_char(null), ac.owner, ac.table_name, acc.column_name,
acc.position, ac.constraint_name from all_constraints ac, all_co
ns_columns acc where ac.owner=acc.owner and ac.constraint_type=
'P' and ac.constraint_name=acc.constraint_name and ac.owner lik
e 'IP' escape '\' and ac.table_name like 'DOCTORVISIT' escape '
44 44 1.0 0.00 0.00 3216099004
Module: Diagnotech 2.2.49.exe
select * from options
42 42 1.0 0.00 0.00 3858576624
SQL ordered by Executions for DB: NEOSOFT Instance: neosoft Snaps: 1 -3
-> End Executions Threshold: 100
CPU per Elap per
Executions Rows Processed Rows per Exec Exec (s) Exec (s) Hash Value
Module: In Patient 2.1.152.exe
select to_char(null), ac.owner, ac.table_name, acc.column_name,
acc.position, ac.constraint_name from all_constraints ac, all_co
ns_columns acc where ac.owner=acc.owner and ac.constraint_type=
'P' and ac.constraint_name=acc.constraint_name and ac.owner lik
e 'IP' escape '\' and ac.table_name like 'IPINFO' escape '\'
36 540 15.0 0.01 0.01 1007205397
Module: Pharmacy 2.0.174.exe
select null, i.owner, i.table_name, decode (i.uniqueness,'UNIQUE
',0,1), null, i.index_name, 3, c.column_position, c.column_name,
'A', i.distinct_keys, i.leaf_blocks, null from all_indexes i, a
ll_ind_columns c where i.owner = c.index_owner and i.index_name
= c.index_name and i.table_owner = c.table_owner and i.table_nam
36 36 1.0 0.00 0.00 3956499023
Module: Pharmacy 2.0.174.exe
select to_char(null), ac.owner, ac.table_name, acc.column_name,
acc.position, ac.constraint_name from all_constraints ac, all_co
ns_columns acc where ac.owner=acc.owner and ac.constraint_type=
'P' and ac.constraint_name=acc.constraint_name and ac.owner lik
e 'INVENTORY' escape '\' and ac.table_name like 'DMEDMAST' esca
34 34 1.0 0.00 0.00 857250417
Module: Diagnotech 2.2.46.exe
select * from departments where deptid = 'DEP00031'
33 43,442 1,316.4 0.04 0.05 502973950
Module: Pharmacy 2.0.174.exe
SELECT substr(UPPER(MedMast.MedNm),1,50) MedNm , MedSubCat.MSCOD
E ,MEDMAST.POTENCY ,substr(genericnm,1,50) genericnm, sum(dmeddt
ls.currqty) stock, MedMast.medid FROM MedMast , MedSubCat,dmedd
tls where UPPER(MEDMAST.MEDNM) LIKE '%%' and medmast.medid = d
meddtls.medid and MEDMAST.SubCatID = MedSubCat.MSCatID and dmed
33 132 4.0 0.01 0.01 3052506495
Module: In Patient 2.1.152.exe
select null, i.owner, i.table_name, decode (i.uniqueness,'UNIQUE
',0,1), null, i.index_name, 3, c.column_position, c.column_name,
'A', i.distinct_keys, i.leaf_blocks, null from all_indexes i, a
ll_ind_columns c where i.owner = c.index_owner and i.index_name
= c.index_name and i.table_owner = c.table_owner and i.table_nam
31 124 4.0 0.01 0.01 1186386010
Module: In Patient 2.1.152.exe
select null, i.owner, i.table_name, decode (i.uniqueness,'UNIQUE
',0,1), null, i.index_name, 3, c.column_position, c.column_name,
'A', i.distinct_keys, i.leaf_blocks, null from all_indexes i, a
ll_ind_columns c where i.owner = c.index_owner and i.index_name
= c.index_name and i.table_owner = c.table_owner and i.table_nam
31 31 1.0 0.00 0.00 3993731530
Module: In Patient 2.1.152.exe
select to_char(null), ac.owner, ac.table_name, acc.column_name,
SQL ordered by Executions for DB: NEOSOFT Instance: neosoft Snaps: 1 -3
-> End Executions Threshold: 100
CPU per Elap per
Executions Rows Processed Rows per Exec Exec (s) Exec (s) Hash Value
acc.position, ac.constraint_name from all_constraints ac, all_co
ns_columns acc where ac.owner=acc.owner and ac.constraint_type=
'P' and ac.constraint_name=acc.constraint_name and ac.owner lik
e 'OTS1' escape '\' and ac.table_name like 'DOCTORINFO' escape
28 28 1.0 0.00 0.00 737183288
Module: Diagnotech 2.2.49.exe
Select * From CReqno
27 0 0.0 0.00 0.00 246231567
Module: Pharmacy 2.0.174.exe
select to_char(null), ac.owner, ac.table_name, acc.column_name,
SQL ordered by Parse Calls for DB: NEOSOFT Instance: neosoft Snaps: 1 -3
-> End Parse Calls Threshold: 1000
% Total
Parse Calls Executions Parses Hash Value
283 283 3.99 1283498366
Module: Diagnotech 2.2.49.exe
Select to_char(sysdate,'fmdd/mm/yyyy HH24:mi:ss am') as abc from
OPTIONS
126 126 1.78 2168100061
Module: Diagnotech 2.2.49.exe
select * from departments where deptid = 'DEP00004'
99 99 1.40 3468666020
select text from view$ where rowid=:1
78 78 1.10 3867936055
Module: Out Patient 2.1.41.exe
commit
78 78 1.10 4262998487
Module: In Patient 2.1.152.exe
select to_char(null), ac.owner, ac.table_name, acc.column_name,
acc.position, ac.constraint_name from all_constraints ac, all_co
ns_columns acc where ac.owner=acc.owner and ac.constraint_type=
'P' and ac.constraint_name=acc.constraint_name and ac.owner lik
e 'IP' escape '\' and ac.table_name like 'DOCTORVISIT' escape '
44 44 0.62 3216099004
Module: Diagnotech 2.2.49.exe
select * from options
42 42 0.59 3858576624
Module: In Patient 2.1.152.exe
select to_char(null), ac.owner, ac.table_name, acc.column_name,
acc.position, ac.constraint_name from all_constraints ac, all_co
ns_columns acc where ac.owner=acc.owner and ac.constraint_type=
'P' and ac.constraint_name=acc.constraint_name and ac.owner lik
e 'IP' escape '\' and ac.table_name like 'IPINFO' escape '\'
36 36 0.51 1007205397
Module: Pharmacy 2.0.174.exe
select null, i.owner, i.table_name, decode (i.uniqueness,'UNIQUE
',0,1), null, i.index_name, 3, c.column_position, c.column_name,
'A', i.distinct_keys, i.leaf_blocks, null from all_indexes i, a
ll_ind_columns c where i.owner = c.index_owner and i.index_name
= c.index_name and i.table_owner = c.table_owner and i.table_nam
36 36 0.51 3956499023
Module: Pharmacy 2.0.174.exe
select to_char(null), ac.owner, ac.table_name, acc.column_name,
acc.position, ac.constraint_name from all_constraints ac, all_co
ns_columns acc where ac.owner=acc.owner and ac.constraint_type=
'P' and ac.constraint_name=acc.constraint_name and ac.owner lik
e 'INVENTORY' escape '\' and ac.table_name like 'DMEDMAST' esca
34 34 0.48 857250417
Module: Diagnotech 2.2.46.exe
SQL ordered by Parse Calls for DB: NEOSOFT Instance: neosoft Snaps: 1 -3
-> End Parse Calls Threshold: 1000
% Total
Parse Calls Executions Parses Hash Value
select * from departments where deptid = 'DEP00031'
33 33 0.47 502973950
Module: Pharmacy 2.0.174.exe
SELECT substr(UPPER(MedMast.MedNm),1,50) MedNm , MedSubCat.MSCOD
E ,MEDMAST.POTENCY ,substr(genericnm,1,50) genericnm, sum(dmeddt
ls.currqty) stock, MedMast.medid FROM MedMast , MedSubCat,dmedd
tls where UPPER(MEDMAST.MEDNM) LIKE '%%' and medmast.medid = d
meddtls.medid and MEDMAST.SubCatID = MedSubCat.MSCatID and dmed
33 33 0.47 3052506495
Module: In Patient 2.1.152.exe
select null, i.owner, i.table_name, decode (i.uniqueness,'UNIQUE
',0,1), null, i.index_name, 3, c.column_position, c.column_name,
'A', i.distinct_keys, i.leaf_blocks, null from all_indexes i, a
ll_ind_columns c where i.owner = c.index_owner and i.index_name
= c.index_name and i.table_owner = c.table_owner and i.table_nam
31 31 0.44 1186386010
Module: In Patient 2.1.152.exe
select null, i.owner, i.table_name, decode (i.uniqueness,'UNIQUE
',0,1), null, i.index_name, 3, c.column_position, c.column_name,
'A', i.distinct_keys, i.leaf_blocks, null from all_indexes i, a
ll_ind_columns c where i.owner = c.index_owner and i.index_name
= c.index_name and i.table_owner = c.table_owner and i.table_nam
31 31 0.44 3993731530
Module: In Patient 2.1.152.exe
select to_char(null), ac.owner, ac.table_name, acc.column_name,
acc.position, ac.constraint_name from all_constraints ac, all_co
ns_columns acc where ac.owner=acc.owner and ac.constraint_type=
'P' and ac.constraint_name=acc.constraint_name and ac.owner lik
e 'OTS1' escape '\' and ac.table_name like 'DOCTORINFO' escape
30 15 0.42 3067006941
delete from dependency$ where d_obj#=:1
28 28 0.39 737183288
Module: Diagnotech 2.2.49.exe
Select * From CReqno
27 27 0.38 246231567
Module: Pharmacy 2.0.174.exe
select to_char(null), ac.owner, ac.table_name, acc.column_name,
acc.position, ac.constraint_name from all_constraints ac, all_co
ns_columns acc where ac.owner=acc.owner and ac.constraint_type=
'P' and ac.constraint_name=acc.constraint_name and ac.owner lik
e 'INVENTORY' escape '\' and ac.table_name like 'DISSUEDTLSP' e
27 27 0.38 445844524
Module: In Patient 2.1.152.exe
select nvl(tarrifflg,0) as tf from sourcehdr where sourceid = ''
SQL ordered by Parse Calls for DB: NEOSOFT Instance: neosoft Snaps: 1 -3
-> End Parse Calls Threshold: 1000
% Total
Parse Calls Executions Parses Hash Value
27 27 0.38 2037438344
Module: Pharmacy 2.0.174.exe
select null, i.owner, i.table_name, decode (i.uniqueness,'UNIQUE
',0,1), null, i.index_name, 3, c.column_position, c.column_name,
'A', i.distinct_keys, i.leaf_blocks, null from all_indexes i, a
ll_ind_columns c where i.owner = c.index_owner and i.index_name
= c.index_name and i.table_owner = c.table_owner and i.table_nam
22 22 0.31 3073477137
select u.name,o.name, t.update$, t.insert$, t.delete$, t.enabled
from obj$ o,user$ u,trigger$ t where t.baseobject=:1 and t.ob
j#=o.obj# and o.owner#=u.user# order by o.obj#
Instance Activity Stats for DB: NEOSOFT Instance: neosoft Snaps: 1 -3
Statistic Total per Second per Trans
CPU used by this session 2,821 11.9 4.1
CPU used when call started 2,826 11.9 4.1
CR blocks created 15 0.1 0.0
DBWR buffers scanned 5,873 24.8 8.5
DBWR checkpoint buffers written 167 0.7 0.2
DBWR checkpoints 0 0.0 0.0
DBWR free buffers found 5,653 23.9 8.2
DBWR lru scans 17 0.1 0.0
DBWR make free requests 17 0.1 0.0
DBWR summed scan depth 5,873 24.8 8.5
DBWR transaction table writes 1 0.0 0.0
DBWR undo block writes 228 1.0 0.3
SQL*Net roundtrips to/from client 89,026 375.6 129.4
active txn count during cleanout 156 0.7 0.2
background checkpoints completed 0 0.0 0.0
background checkpoints started 0 0.0 0.0
background timeouts 243 1.0 0.4
branch node splits 0 0.0 0.0
buffer is not pinned count 1,225,066 5,169.1 1,780.6
buffer is pinned count 1,069,472 4,512.5 1,554.5
bytes received via SQL*Net from c 4,334,045 18,287.1 6,299.5
bytes sent via SQL*Net to client 79,310,906 334,645.2 115,277.5
calls to get snapshot scn: kcmgss 14,976 63.2 21.8
calls to kcmgas 942 4.0 1.4
calls to kcmgcs 166 0.7 0.2
change write time 19 0.1 0.0
cleanout - number of ktugct calls 182 0.8 0.3
cleanouts and rollbacks - consist 5 0.0 0.0
cleanouts only - consistent read 18 0.1 0.0
cluster key scan block gets 206,010 869.2 299.4
cluster key scans 81,803 345.2 118.9
commit cleanout failures: block l 0 0.0 0.0
commit cleanout failures: callbac 11 0.1 0.0
commit cleanout failures: cannot 0 0.0 0.0
commit cleanouts 2,731 11.5 4.0
commit cleanouts successfully com 2,720 11.5 4.0
commit txn count during cleanout 87 0.4 0.1
consistent changes 15 0.1 0.0
consistent gets 1,412,564 5,960.2 2,053.2
consistent gets - examination 572,440 2,415.4 832.0
cursor authentications 531 2.2 0.8
data blocks consistent reads - un 15 0.1 0.0
db block changes 22,877 96.5 33.3
db block gets 21,323 90.0 31.0
deferred (CURRENT) block cleanout 1,548 6.5 2.3
dirty buffers inspected 19 0.1 0.0
enqueue conversions 52 0.2 0.1
enqueue releases 4,639 19.6 6.7
enqueue requests 4,640 19.6 6.7
enqueue timeouts 0 0.0 0.0
enqueue waits 0 0.0 0.0
execute count 6,932 29.3 10.1
free buffer inspected 19 0.1 0.0
free buffer requested 258,870 1,092.3 376.3
hot buffers moved to head of LRU 2,520 10.6 3.7
immediate (CR) block cleanout app 23 0.1 0.0
Instance Activity Stats for DB: NEOSOFT Instance: neosoft Snaps: 1 -3
Statistic Total per Second per Trans
immediate (CURRENT) block cleanou 502 2.1 0.7
index fast full scans (full) 163 0.7 0.2
index fetch by key 380,673 1,606.2 553.3
index scans kdiixs1 86,708 365.9 126.0
leaf node 90-10 splits 22 0.1 0.0
leaf node splits 64 0.3 0.1
logons cumulative 25 0.1 0.0
messages received 806 3.4 1.2
messages sent 806 3.4 1.2
no buffer to keep pinned count 0 0.0 0.0
no work - consistent read gets 779,017 3,287.0 1,132.3
opened cursors cumulative 7,669 32.4 11.2
parse count (failures) 2 0.0 0.0
parse count (hard) 2,060 8.7 3.0
parse count (total) 7,091 29.9 10.3
parse time cpu 434 1.8 0.6
parse time elapsed 430 1.8 0.6
physical reads 261,506 1,103.4 380.1
physical reads direct 3,529 14.9 5.1
physical writes 3,935 16.6 5.7
physical writes direct 3,529 14.9 5.1
physical writes non checkpoint 3,839 16.2 5.6
pinned buffers inspected 0 0.0 0.0
prefetched blocks 175,966 742.5 255.8
prefetched blocks aged out before 0 0.0 0.0
process last non-idle time 270 1.1 0.4
recovery blocks read 0 0.0 0.0
recursive calls 20,832 87.9 30.3
recursive cpu usage 296 1.3 0.4
redo blocks written 11,309 47.7 16.4
redo buffer allocation retries 0 0.0 0.0
redo entries 12,097 51.0 17.6
redo log space requests 0 0.0 0.0
redo log space wait time 0 0.0 0.0
redo ordering marks 1 0.0 0.0
redo size 5,480,820 23,125.8 7,966.3
redo synch time 30 0.1 0.0
redo synch writes 689 2.9 1.0
redo wastage 160,348 676.6 233.1
redo write time 29 0.1 0.0
redo writer latching time 0 0.0 0.0
redo writes 732 3.1 1.1
rollback changes - undo records a 2 0.0 0.0
rollbacks only - consistent read 10 0.0 0.0
rows fetched via callback 235,269 992.7 342.0
session connect time 0 0.0 0.0
session logical reads 1,433,886 6,050.2 2,084.1
session pga memory 45,074,044 190,185.8 65,514.6
session pga memory max 49,946,024 210,742.7 72,596.0
session uga memory max 3,455,708 14,581.1 5,022.8
shared hash latch upgrades - no w 54,598 230.4 79.4
shared hash latch upgrades - wait 0 0.0 0.0
sorts (disk) 13 0.1 0.0
sorts (memory) 1,639 6.9 2.4
sorts (rows) 780,425 3,292.9 1,134.3
summed dirty queue length 239 1.0 0.4
Instance Activity Stats for DB: NEOSOFT Instance: neosoft Snaps: 1 -3
Statistic Total per Second per Trans
switch current to new buffer 172 0.7 0.3
table fetch by rowid 612,799 2,585.7 890.7
table fetch continued row 626 2.6 0.9
table scan blocks gotten 459,367 1,938.3 667.7
table scan rows gotten 18,523,828 78,159.6 26,924.2
table scans (long tables) 128 0.5 0.2
table scans (short tables) 1,655 7.0 2.4
transaction rollbacks 1 0.0 0.0
transaction tables consistent rea 0 0.0 0.0
transaction tables consistent rea 0 0.0 0.0
user calls 44,888 189.4 65.2
user commits 686 2.9 1.0
user rollbacks 2 0.0 0.0
workarea executions - multipass 0 0.0 0.0
workarea executions - onepass 24 0.1 0.0
workarea executions - optimal 2,433 10.3 3.5
write clones created in foregroun 0 0.0 0.0
Tablespace IO Stats for DB: NEOSOFT Instance: neosoft Snaps: 1 -3
->ordered by IOs (Reads + Writes) desc
Tablespace
Av Av Av Av Buffer Av Buf
Reads Reads/s Rd(ms) Blks/Rd Writes Writes/s Waits Wt(ms)
DIAGNOTECH
61,945 261 0.7 1.9 64 0 0 0.0
IP
10,753 45 1.2 9.5 23 0 0 0.0
SYSTEM
5,668 24 1.2 3.2 22 0 0 0.0
OTS1
2,456 10 1.5 7.8 19 0 0 0.0
TEMP
1,429 6 0.6 2.5 739 3 0 0.0
INVENTORY
478 2 3.5 1.3 49 0 0 0.0
UNDOTBS1
0 0 0.0 229 1 0 0.0
INDX
15 0 2.0 1.0 0 0 0 0.0
PAYROLL
1 0 20.0 4.0 0 0 0 0.0
File IO Stats for DB: NEOSOFT Instance: neosoft Snaps: 1 -3
->ordered by Tablespace, File
Tablespace Filename
Av Av Av Av Buffer Av Buf
Reads Reads/s Rd(ms) Blks/Rd Writes Writes/s Waits Wt(ms)
DIAGNOTECH F:\ORACLE\ORADATA\NEOSOFT\DIAGNOTECH1.ORA
61,945 261 0.7 1.9 64 0 0
INDX F:\ORACLE\ORADATA\NEOSOFT\INDX01.DBF
15 0 2.0 1.0 0 0 0
INVENTORY F:\ORACLE\ORADATA\NEOSOFT\INVENTORY1.ORA
478 2 3.5 1.3 49 0 0
IP F:\ORACLE\ORADATA\NEOSOFT\IP1.ORA
10,753 45 1.2 9.5 23 0 0
OTS1 F:\ORACLE\ORADATA\NEOSOFT\OTS11.ORA
2,456 10 1.5 7.8 19 0 0
PAYROLL F:\ORACLE\ORADATA\NEOSOFT\PAYROLL1.ORA
1 0 20.0 4.0 0 0 0
SYSTEM F:\ORACLE\ORADATA\NEOSOFT\SYSTEM01.DBF
5,668 24 1.2 3.2 22 0 0
TEMP F:\ORACLE\ORADATA\NEOSOFT\TEMP01.DBF
1,429 6 0.6 2.5 739 3 0
UNDOTBS1 F:\ORACLE\ORADATA\NEOSOFT\UNDOTBS01.DBF
0 0 229 1 0
Buffer Pool Statistics for DB: NEOSOFT Instance: neosoft Snaps: 1 -3
-> Standard block size Pools D: default, K: keep, R: recycle
-> Default Pools for other block sizes: 2k, 4k, 8k, 16k, 32k
Free Write Buffer
Number of Cache Buffer Physical Physical Buffer Complete Busy
P Buffers Hit % Gets Reads Writes Waits Waits Waits
D 44,044 82.0 1,432,475 257,328 406 0 0 0
Instance Recovery Stats for DB: NEOSOFT Instance: neosoft Snaps: 1 -3
-> B: Begin snapshot, E: End snapshot
Targt Estd Log File Log Ckpt Log Ckpt
MTTR MTTR Recovery Actual Target Size Timeout Interval
(s) (s) Estd IOs Redo Blks Redo Blks Redo Blks Redo Blks Redo Blks
B 87 19 3628 65684 64450 184320 64450
E 87 20 4063 69805 69805 184320 69805
Buffer Pool Advisory for DB: NEOSOFT Instance: neosoft End Snap: 3
-> Only rows with estimated physical reads >0 are displayed
-> ordered by Block Size, Buffers For Estimate (default block size first)
Size for Size Buffers for Est Physical Estimated
P Estimate (M) Factr Estimate Read Factor Physical Reads
D 32 .1 4,004 67.25 19,260,129,810
D 64 .2 8,008 42.95 12,300,910,895
D 96 .3 12,012 32.00 9,165,118,680
D 128 .4 16,016 25.62 7,338,010,607
D 160 .5 20,020 17.54 5,022,366,182
D 192 .5 24,024 11.74 3,361,228,965
D 224 .6 28,028 7.05 2,020,169,694
D 256 .7 32,032 3.94 1,127,930,012
D 288 .8 36,036 2.32 663,835,521
D 320 .9 40,040 1.44 413,674,540
D 352 1.0 44,044 1.00 286,377,525
D 384 1.1 48,048 0.75 215,831,108
D 416 1.2 52,052 0.60 171,670,371
D 448 1.3 56,056 0.51 145,708,247
D 480 1.4 60,060 0.45 128,439,943
D 512 1.5 64,064 0.40 114,053,332
D 544 1.5 68,068 0.37 104,584,674
D 576 1.6 72,072 0.34 96,792,591
D 608 1.7 76,076 0.32 92,596,531
D 640 1.8 80,080 0.31 89,929,979
PGA Aggr Target Stats for DB: NEOSOFT Instance: neosoft Snaps: 1 -3
-> B: Begin snap E: End snap (rows dentified with B or E contain data
which is absolute i.e. not diffed over the interval)
-> PGA cache hit % - percentage of W/A (WorkArea) data processed only in-memory
-> Auto PGA Target - actual workarea memory target
-> W/A PGA Used - amount of memory used for all Workareas (manual + auto)
-> %PGA W/A Mem - percentage of PGA memory allocated to workareas
-> %Auto W/A Mem - percentage of workarea memory controlled by Auto Mem Mgmt
-> %Man W/A Mem - percentage of workarea memory under manual control
PGA Cache Hit % W/A MB Processed Extra W/A MB Read/Written
88.2 213 29
%PGA %Auto %Man
PGA Aggr Auto PGA PGA Mem W/A PGA W/A W/A W/A Global Mem
Target(M) Target(M) Alloc(M) Used(M) Mem Mem Mem Bound(K)
B 24 7 24.4 0.4 1.6 .0 100.0 1,228
E 24 8 23.8 0.0 .0 .0 .0 1,228
PGA Aggr Target Histogram for DB: NEOSOFT Instance: neosoft Snaps: 1 -3
-> Optimal Executions are purely in-memory operations
Low High
Optimal Optimal Total Execs Optimal Execs 1-Pass Execs M-Pass Execs
8K 16K 2,000 2,000 0 0
16K 32K 55 55 0 0
32K 64K 28 28 0 0
64K 128K 50 50 0 0
128K 256K 110 110 0 0
256K 512K 26 26 0 0
512K 1024K 176 158 18 0
1M 2M 8 4 4 0
4M 8M 2 0 2 0
PGA Memory Advisory for DB: NEOSOFT Instance: neosoft End Snap: 3
-> When using Auto Memory Mgmt, minimally choose a pga_aggregate_target value
where Estd PGA Overalloc Count is 0
Estd Extra Estd PGA Estd PGA
PGA Target Size W/A MB W/A MB Read/ Cache Overalloc
Est (MB) Factr Processed Written to Disk Hit % Count
12 0.5 417.1 207.2 67.0 1
18 0.8 417.1 89.3 82.0 0
24 1.0 417.1 46.4 90.0 0
29 1.2 417.1 46.4 90.0 0
34 1.4 417.1 46.4 90.0 0
38 1.6 417.1 13.2 97.0 0
43 1.8 417.1 11.1 97.0 0
48 2.0 417.1 11.1 97.0 0
72 3.0 417.1 11.1 97.0 0
96 4.0 417.1 11.1 97.0 0
144 6.0 417.1 0.0 100.0 0
192 8.0 417.1 0.0 100.0 0
Rollback Segment Stats for DB: NEOSOFT Instance: neosoft Snaps: 1 -3
->A high value for "Pct Waits" suggests more rollback segments may be required
->RBS stats may not be accurate between begin and end snaps when using Auto Undo
managment, as RBS may be dynamically created and dropped as needed
Trans Table Pct Undo Bytes
RBS No Gets Waits Written Wraps Shrinks Extends
0 15.0 0.00 0 0 0 0
1 412.0 0.00 831,990 1 0 1
2 48.0 0.00 61,500 0 0 0
3 87.0 0.00 132,404 0 0 0
4 79.0 0.00 66,626 0 0 0
5 71.0 0.00 91,284 0 0 0
6 40.0 0.00 15,474 0 0 0
7 660.0 0.00 547,536 1 0 1
8 168.0 0.00 21,762 0 0 0
9 86.0 0.00 10,108 0 0 0
10 295.0 0.00 156,468 0 0 0
Rollback Segment Storage for DB: NEOSOFT Instance: neosoft Snaps: 1 -3
->Optimal Size should be larger than Avg Active
RBS No Segment Size Avg Active Optimal Size Maximum Size
0 385,024 0 385,024
1 9,625,600 806,999 16,900,096
2 5,365,760 711,094 8,511,488
3 5,365,760 664,381 9,560,064
4 5,365,760 763,735 8,511,488
5 5,365,760 672,648 9,625,600
6 5,365,760 677,906 9,560,064
7 6,414,336 647,093 8,511,488
8 5,365,760 628,652 10,608,640
9 5,365,760 769,325 9,560,064
10 5,365,760 622,015 9,560,064
Undo Segment Summary for DB: NEOSOFT Instance: neosoft Snaps: 1 -3
-> Undo segment block stats:
-> uS - unexpired Stolen, uR - unexpired Released, uU - unexpired reUsed
-> eS - expired Stolen, eR - expired Released, eU - expired reUsed
Undo Undo Num Max Qry Max Tx Snapshot Out of uS/uR/uU/
TS# Blocks Trans Len (s) Concurcy Too Old Space eS/eR/eU
1 695 1,032,965 12 1 0 0 0/0/0/0/0/0
Undo Segment Stats for DB: NEOSOFT Instance: neosoft Snaps: 1 -3
-> ordered by Time desc
Undo Num Max Qry Max Tx Snap Out of uS/uR/uU/
End Time Blocks Trans Len (s) Concy Too Old Space eS/eR/eU
16-May 10:22 695 ######## 12 1 0 0 0/0/0/0/0/0
Latch Activity for DB: NEOSOFT Instance: neosoft Snaps: 1 -3
->"Get Requests", "Pct Get Miss" and "Avg Slps/Miss" are statistics for
willing-to-wait latch get requests
->"NoWait Requests", "Pct NoWait Miss" are for no-wait latch get requests
->"Pct Misses" for both should be very close to 0.0
Pct Avg Wait Pct
Get Get Slps Time NoWait NoWait
Latch Requests Miss /Miss (s) Requests Miss
Consistent RBA 732 0.0 0 0
FAL request queue 1 0.0 0 0
FIB s.o chain latch 12 0.0 0 0
FOB s.o list latch 27 0.0 0 0
SQL memory manager latch 2 0.0 0 79 0.0
SQL memory manager worka 7,245 0.0 0 0
active checkpoint queue 169 0.0 0 0
archive control 10 0.0 0 0
archive process latch 7 0.0 0 0
cache buffer handles 12,078 0.0 0 0
cache buffers chains 2,602,999 0.0 0.0 0 506,781 0.0
cache buffers lru chain 858 0.0 0 615,593 0.0
channel handle pool latc 37 0.0 0 0
channel operations paren 265 0.0 0 0
checkpoint queue latch 30,545 0.0 0 893 0.0
child cursor hash table 16,079 0.0 0 0
dml lock allocation 2,674 0.0 0 0
dummy allocation 43 0.0 0 0
enqueue hash chains 9,313 0.0 0 0
enqueues 9,405 0.0 0 0
event group latch 5 0.0 0 0
hash table column usage 0 0 55,565 0.0
hash table modification 1 0.0 0 0
kmcptab latch 78 0.0 0 0
kmcpvec latch 0 0 78 0.0
ktm global data 13 0.0 0 0
lgwr LWN SCN 742 0.0 0 0
library cache 193,957 0.0 0.0 0 6,959 0.4
library cache load lock 110 0.0 0 0
library cache pin 63,420 0.0 0 0
library cache pin alloca 43,208 0.0 0 0
list of block allocation 49 0.0 0 0
loader state object free 34 0.0 0 0
message pool operations 26 0.0 0 0
messages 2,866 0.0 0 0
mostly latch-free SCN 742 0.0 0 0
multiblock read objects 164,572 0.0 0.0 0 0
ncodef allocation latch 3 0.0 0 0
object stats modificatio 1,669 0.0 0 0
post/wait queue 1,029 0.0 0 683 0.0
process allocation 11 0.0 0 5 0.0
process group creation 11 0.0 0 0
redo allocation 13,617 0.0 0.0 0 0
redo copy 0 0 12,145 0.0
redo writing 2,533 0.0 0 0
row cache enqueue latch 215,027 0.0 0.0 0 0
row cache objects 218,418 0.0 0.0 0 472 0.0
sequence cache 99 0.0 0 0
session allocation 8,683 0.0 0 0
session idle bit 94,091 0.0 0 0
Latch Activity for DB: NEOSOFT Instance: neosoft Snaps: 1 -3
->"Get Requests", "Pct Get Miss" and "Avg Slps/Miss" are statistics for
willing-to-wait latch get requests
->"NoWait Requests", "Pct NoWait Miss" are for no-wait latch get requests
->"Pct Misses" for both should be very close to 0.0
Pct Avg Wait Pct
Get Get Slps Time NoWait NoWait
Latch Requests Miss /Miss (s) Requests Miss
session switching 3 0.0 0 0
session timer 80 0.0 0 0
shared pool 160,825 0.0 0.0 0 0
sim partition latch 0 0 35 0.0
simulator hash latch 63,337 0.0 0 0
simulator lru latch 4,437 0.0 0 16,447 0.0
sort extent pool 129 0.0 0 0
transaction allocation 47 0.0 0 0
transaction branch alloc 3 0.0 0 0
undo global data 3,091 0.0 0 0
user lock 114 0.0 0 0
virtual circuit buffers 540,157 0.4 0.0 0 0
virtual circuit queues 256,196 0.0 0.0 0 0
virtual circuits 89,002 0.0 0 0
Top 5 Logical Reads per Segment for DB: NEOSOFT Instance: neosoft Snaps: 1 -3
-> End Segment Logical Reads Threshold: 10000
Subobject Obj. Logical
Owner Tablespace Object Name Name Type Reads %Total
DIAGNOTECH DIAGNOTECH REQUISITIONS TABLE 162,064 11.66
SYS SYSTEM I_OBJ1 INDEX 115,328 8.30
SYS SYSTEM OBJ$ TABLE 113,328 8.15
SYS SYSTEM I_IND1 INDEX 109,584 7.88
IP IP BILLPHARMACY TABLE 89,328 6.43
Top 5 Physical Reads per Segment for DB: NEOSOFT Instance: neosoft Snaps: 1 -3
-> End Segment Physical Reads Threshold: 1000
Subobject Obj. Physical
Owner Tablespace Object Name Name Type Reads %Total
IP IP BILLPHARMACY TABLE 86,212 34.43
DIAGNOTECH DIAGNOTECH REQUISITIONS TABLE 79,487 31.74
DIAGNOTECH DIAGNOTECH TRACK TABLE 33,193 13.25
IP SYSTEM TRACK TABLE 17,926 7.16
OTS1 OTS1 MONEYRECIEPT TABLE 10,036 4.01
Top 5 Row Lock Waits per Segment for DB: NEOSOFT Instance: neosoft Snaps: 1 -3
-> End Segment Row Lock Waits Threshold: 100
Row
Subobject Obj. Lock
Owner Tablespace Object Name Name Type Waits %Total
IP IP BILLID4064 INDEX 1 100.00
Dictionary Cache Stats for DB: NEOSOFT Instance: neosoft Snaps: 1 -3
->"Pct Misses" should be very low (< 2% in most cases)
->"Cache Usage" is the number of cache entries being used
->"Pct SGA" is the ratio of usage to allocated size for that cache
Get Pct Scan Pct Mod Final
Cache Requests Miss Reqs Miss Reqs Usage
dc_histogram_defs 22,135 1.1 0 0 3,348
dc_object_ids 26,251 0.0 0 0 625
dc_objects 4,895 0.1 0 15 960
dc_profiles 21 0.0 0 0 1
dc_rollback_segments 273 0.0 0 0 12
dc_segments 11,239 0.1 0 0 604
dc_sequences 3 33.3 0 3 6
dc_tablespaces 19,449 0.0 0 0 5
dc_user_grants 2,814 0.0 0 0 17
dc_usernames 886 0.0 0 0 15
dc_users 22,542 0.0 0 0 20
Library Cache Activity for DB: NEOSOFT Instance: neosoft Snaps: 1 -3
->"Pct Misses" should be very low
Get Pct Pin Pct Invali-
Namespace Requests Miss Requests Miss Reloads dations
BODY 445 0.0 445 0.0 0 0
CLUSTER 397 0.0 121 0.0 0 0
SQL AREA 7,041 28.0 24,030 16.9 55 23
TABLE/PROCEDURE 8,324 0.0 15,082 0.6 18 0
TRIGGER 953 0.0 953 0.0 0 0
Shared Pool Advisory for DB: NEOSOFT Instance: neosoft End Snap: 3
-> Note there is often a 1:Many correlation between a single logical object
in the Library Cache, and the physical number of memory objects associated
with it. Therefore comparing the number of Lib Cache objects (e.g. in
v$librarycache), with the number of Lib Cache Memory Objects is invalid
Estd
Shared Pool SP Estd Estd Estd Lib LC Time
Size for Size Lib Cache Lib Cache Cache Time Saved Estd Lib Cache
Estim (M) Factr Size (M) Mem Obj Saved (s) Factr Mem Obj Hits
104 .5 97 21,986 47,321 1.0 22,910,514
128 .6 120 27,657 47,381 1.0 22,988,994
152 .8 143 32,965 47,422 1.0 23,048,924
176 .9 166 38,101 47,451 1.0 23,094,145
200 1.0 189 42,541 47,474 1.0 23,126,910
224 1.1 212 47,258 47,492 1.0 23,155,651
248 1.2 235 52,101 47,508 1.0 23,180,673
272 1.4 258 56,800 47,521 1.0 23,202,200
296 1.5 283 61,512 47,532 1.0 23,220,564
320 1.6 306 65,892 47,540 1.0 23,235,720
344 1.7 329 70,532 47,547 1.0 23,246,826
368 1.8 352 75,208 47,553 1.0 23,257,346
392 2.0 375 81,494 47,559 1.0 23,268,801
416 2.1 411 88,685 47,565 1.0 23,279,344
SGA Memory Summary for DB: NEOSOFT Instance: neosoft Snaps: 1 -3
SGA regions Size in Bytes
Database Buffers 369,098,752
Fixed Size 455,784
Redo Buffers 1,191,936
Variable Size 436,207,616
sum 806,954,088
SGA breakdown difference for DB: NEOSOFT Instance: neosoft Snaps: 1 -3
Pool Name Begin value End value % Diff
java free memory 83,886,080 83,886,080 0.00
large free memory 63,891,136 64,350,992 0.72
large session heap 19,994,944 19,535,088 -2.30
shared 1M buffer 2,098,176 2,098,176 0.00
shared Checkpoint queue 1,129,216 1,129,216 0.00
shared DML lock 1,028,764 1,028,764 0.00
shared FileOpenBlock 6,564,072 6,564,072 0.00
shared KGK heap 3,756 3,756 0.00
shared KGLS heap 2,584,540 2,431,584 -5.92
shared KQR M PO 2,844,672 2,768,896 -2.66
shared KQR S PO 249,880 250,652 0.31
shared KQR S SO 7,936 7,936 0.00
shared KSXR pending messages que 841,036 841,036 0.00
shared KSXR receive buffers 1,033,000 1,033,000 0.00
shared MTTR advisory 59,288 59,288 0.00
shared PL/SQL DIANA 3,179,412 3,015,708 -5.15
shared PL/SQL MPCODE 388,924 241,096 -38.01
shared PLS non-lib hp 3,688 3,688 0.00
shared VIRTUAL CIRCUITS 2,564,620 2,564,620 0.00
shared db_handles 1,080,000 1,080,000 0.00
shared dictionary cache 2,137,216 2,137,216 0.00
shared enqueue 1,676,824 1,676,824 0.00
shared event statistics per sess 18,675,020 18,675,020 0.00
shared fixed allocation callback 388 388 0.00
shared free memory 14,167,016 15,470,156 9.20
shared joxs heap init 4,220 4,220 0.00
shared ktlbk state objects 778,960 778,960 0.00
shared library cache 43,962,768 43,051,344 -2.07
shared message pool freequeue 665,792 665,792 0.00
shared miscellaneous 41,742,904 42,080,748 0.81
shared parameters 3,224 9,272 187.59
shared processes 1,500,000 1,500,000 0.00
shared sessions 3,998,480 3,998,480 0.00
shared sim memory hea 195,212 195,212 0.00
shared sql area 111,345,832 111,177,960 -0.15
shared table definiti 16,576 15,240 -8.06
shared transaction 1,852,092 1,852,092 0.00
shared trigger defini 26,236 24,148 -7.96
shared trigger inform 592 592 0.00
shared trigger source 304 304 0.00
buffer_cache 369,098,752 369,098,752 0.00
fixed_sga 455,784 455,784 0.00
log_buffer 1,180,672 1,180,672 0.00
init.ora Parameters for DB: NEOSOFT Instance: neosoft Snaps: 1 -3
End value
Parameter Name Begin value (if different)
background_dump_dest F:\oracle\admin\neosoft\bdump
compatible 9.2.0.0.0
control_files F:\oracle\oradata\neosoft\control
core_dump_dest F:\oracle\admin\neosoft\cdump
db_block_size 8192
db_cache_size 369098752
db_domain
db_file_multiblock_read_count 16
db_name neosoft
dispatchers (PROTOCOL=TCP)
fast_start_mttr_target 300
hash_join_enabled TRUE
instance_name neosoft
java_pool_size 83886080
large_pool_size 83886080
open_cursors 300
pga_aggregate_target 25165824
processes 1500
query_rewrite_enabled FALSE
remote_login_passwordfile EXCLUSIVE
shared_pool_size 209715200
sort_area_size 524288
star_transformation_enabled FALSE
timed_statistics TRUE
undo_management AUTO
undo_retention 10800
undo_tablespace UNDOTBS1
user_dump_dest F:\oracle\admin\neosoft\udump
End of ReportHow did you calculated all these ratios............I looked through the formatted output of the Statspack report, specifically the setion "SQL ordered by reads for DB" and found these SQL statements which are performing a large number of physical reads. Most of the SQL statements have similar WHERE clauses, except for the constants to the right of the = :
Physical Reads Executions Reads per Exec %Total Time (s) Time (s) Hash Value
8,084 4 2,021.0 3.1 0.14 1.08 4198744706
Module: Out Patient 2.1.41.exe
Select Max(BillNo) as Bno From PatientsRegistration Where regdt
= to_date('01/04/2008','dd/mm/yyyy') and regdt <= to_date('31/03/2009','dd/mm/yyyy')
7,302 1 7,302.0 2.8 0.13 0.51 2116660478
Module: In Patient 2.1.157.exe
select discount,discamount from billpharmacy where patientid='PAT09212'
7,302 1 7,302.0 2.8 0.06 0.41 3612969128
Module: In Patient 2.1.152.exe
select discount,discamount from billpharmacy where patientid='PAT09037'
7,302 1 7,302.0 2.8 0.19 0.51 3981413559
Module: In Patient 2.1.152.exe
sELECT * FROM BillPharmacy WHERE BillPharmacy.pATIENtid= 'PAT09037' order by to_number((issueno))
7,300 1 7,300.0 2.8 0.14 0.69 136284863
Module: In Patient 2.1.152.exe
delete from billpharmacy where patientid='PAT09037'
7,299 1 7,299.0 2.8 0.20 0.77 2137420337
Module: In Patient 2.1.152.exe
delete from billpharmacy where patientid='PAT09154'
7,298 1 7,298.0 2.8 0.13 0.43 1007690124
Module: In Patient 2.1.152.exe
select discount,discamount from billpharmacy where patientid='PAT08301'
7,298 1 7,298.0 2.8 0.13 0.58 3087447381
Module: In Patient 2.1.152.exe
select discount,discamount from billpharmacy where patientid='PAT09154'
7,061 1 7,061.0 2.7 0.13 0.97 2993688253
Module: In Patient 2.1.152.exe
select discount,discamount from billpharmacy where patientid='PAT09146'
and on what basis you one should have to find out
which query causing the problem....
i also wanted to learn how to read the
statspack.........I personally do not like Statspack reports, but there are several very good sources for understanding Statspack reports:
http://jonathanlewis.wordpress.com/2006/11/29/analysing-statspack-pt1/
http://jonathanlewis.wordpress.com/statspack-examples/
Metalink Note:232443.1 (How to Identify Resource Intensive SQL for Tuning)
Metalink Note:390374.1 (Oracle Performance Diagnostic Guide (OPDG))
Metalink Note:228913.1 (Systemwide Tuning using STATSPACK Reports)
Charles Hooper
IT Manager/Oracle DBA
K&M Machine-Fabricating, Inc. -
Error in creating perfstat user for statspack
Hi Friends,
DB: 11.2.0.2, SE and 64 bit
OS: RHEL 5.7
My DB is on SE and hence i cannot use the diagonistic pack so when i am trying to use Statspack for the same, i am facing the following error when i am trying to create Perfstat user.
SQL> @?/rdbms/admin/spcreate
Choose the PERFSTAT user's password
Not specifying a password will result in the installation FAILING
Enter value for perfstat_password: perfstat
perfstat
Choose the Default tablespace for the PERFSTAT user
Below is the list of online tablespaces in this database which can
store user data. Specifying the SYSTEM tablespace for the user's
default tablespace will result in the installation FAILING, as
using SYSTEM for performance data is not supported.
Choose the PERFSTAT users's default tablespace. This is the tablespace
in which the STATSPACK tables and indexes will be created.
TABLESPACE_NAME CONTENTS STATSPACK DEFAULT TABLESPACE
INDUS_SML_DATA PERMANENT
INDUS_SML_INDEX PERMANENT
PERFSTAT PERMANENT
SYSAUX PERMANENT *
USERS PERMANENT
Pressing <return> will result in STATSPACK's recommended default
tablespace (identified by *) being used.
Enter value for default_tablespace: PERFSTAT
Using tablespace PERFSTAT as PERFSTAT default tablespace.
Choose the Temporary tablespace for the PERFSTAT user
Below is the list of online tablespaces in this database which can
store temporary data (e.g. for sort workareas). Specifying the SYSTEM
tablespace for the user's temporary tablespace will result in the
installation FAILING, as using SYSTEM for workareas is not supported.
Choose the PERFSTAT user's Temporary tablespace.
TABLESPACE_NAME CONTENTS DB DEFAULT TEMP TABLESPACE
TEMP TEMPORARY *
Pressing <return> will result in the database's default Temporary
tablespace (identified by *) being used.
Enter value for temporary_tablespace: TEMP
Using tablespace TEMP as PERFSTAT temporary tablespace.
... Creating PERFSTAT user
... Installing required packages
... Creating views
... Granting privileges
NOTE:
SPCUSR complete. Please check spcusr.lis for any errors.
SQL>
SQL> --
SQL> -- Build the tables and synonyms
SQL> connect perfstat/&&perfstat_password
Connected.
SQL> @@spctab
SQL> Rem
SQL> Rem $Header: rdbms/admin/spctab.sql /st_rdbms_11.2.0/1 2010/08/13 10:06:01 kchou Exp $
SQL> Rem
SQL> Rem spctab.sql
SQL> Rem
SQL> Rem Copyright (c) 1999, 2010, Oracle and/or its affiliates.
SQL> Rem All rights reserved.
SQL> Rem
SQL> Rem NAME
SQL> Rem spctab.sql
SQL> Rem
SQL> Rem DESCRIPTION
SQL> Rem SQL*PLUS command file to create tables to hold
SQL> Rem start and end "snapshot" statistical information
SQL> Rem
SQL> Rem NOTES
SQL> Rem Should be run as STATSPACK user, PERFSTAT
SQL> Rem
SQL> Rem MODIFIED (MM/DD/YY)
SQL> Rem kchou 08/11/10 - Bug#9800868 - Add Missing Idle Events for
SQL> Rem 11.2.0.2for Statspack & Standby Statspack
SQL> Rem kchou 08/11/10 - Bug#9800868 - Add missing idle events to 11.2.0.2
SQL> Rem cgervasi 05/13/09 - add idle event: cell worker idle
SQL> Rem cgervasi 04/02/09 - bug8395154: missing idle events
SQL> Rem rhlee 02/22/08 -
Rem cdgreen 03/14/07 - 11 F2SQL> Rem shsong 06/14/07 - Add idle events
SQL> Rem cdgreen 02/28/07 - 5908354
SQL> Rem cdgreen 04/26/06 - 11 F1
SQL> Rem cdgreen 06/26/06 - Increase column length
SQL> Rem cdgreen 05/10/06 - 5215982
SQL> Rem cdgreen 05/24/05 - 4246955
SQL> Rem cdgreen 04/18/05 - 4228432
SQL> Rem cdgreen 03/08/05 - 10gR2 misc
SQL> Rem vbarrier 02/18/05 - 4081984
SQL> Rem cdgreen 10/29/04 - 10gR2_sqlstats
SQL> Rem cdgreen 07/16/04 - 10gR2
SQL> Rem cdialeri 03/25/04 - 3516921
SQL> Rem vbarrier 02/12/04 - 3412853
SQL> Rem cdialeri 12/04/03 - 3290482
SQL> Rem cdialeri 11/05/03 - 3202706
SQL> Rem cdialeri 10/14/03 - 10g - streams - rvenkate
SQL> Rem cdialeri 08/05/03 - 10g F3
SQL> Rem cdialeri 02/27/03 - 10g F2: baseline, purge
SQL> Rem vbarrier 02/25/03 - 10g RAC
SQL> Rem cdialeri 11/15/02 - 10g F1
SQL> Rem cdialeri 09/27/02 - sleep4
SQL> Rem vbarrier 03/20/02 - 2143634
SQL> Rem vbarrier 03/05/02 - Segment Statistics
SQL> Rem cdialeri 02/07/02 - 2218573
SQL> Rem cdialeri 01/30/02 - 2184717
SQL> Rem cdialeri 01/11/02 - 9.2 - features 2
SQL> Rem cdialeri 11/30/01 - 9.2 - features 1
SQL> Rem cdialeri 04/22/01 - Undostat changes
SQL> Rem cdialeri 03/02/01 - 9.0
SQL> Rem cdialeri 09/12/00 - sp_1404195
SQL> Rem cdialeri 04/07/00 - 1261813
SQL> Rem cdialeri 03/20/00 - Support for purge
SQL> Rem cdialeri 02/16/00 - 1191805
SQL> Rem cdialeri 01/26/00 - 1169401
SQL> Rem cdialeri 11/01/99 - Enhance, 1059172
SQL> Rem cmlim 07/17/97 - Added STATS$SQLAREA to store top sql stmts
SQL> Rem gwood 10/16/95 - Version to run as sys without using many view
SQL> Rem cellis.uk 11/15/89 - Created
SQL> Rem
SQL>
SQL> set showmode off echo off;
If this script is automatically called from spcreate (which is
the supported method), all STATSPACK segments will be created in
the PERFSTAT user's default tablespace.
Using PERFSTAT tablespace to store Statspack objects
... Creating STATS$SNAPSHOT_ID Sequence
Sequence created.
create public synonym STATS$SNAPSHOT_ID for STATS$SNAPSHOT_ID
ERROR at line 1:
ORA-00955: name is already used by an existing object
Disconnected from Oracle Database 11g Release 11.2.0.2.0 - 64bit Production
Kindly suggest on the same..
BR@?/rdbms/admin/spdrop
drop public synonym STATS$SNAPSHOT_ID;
try again -
How understand the statspack report
Hi
My question is any special method or technique for reading statspack report.or how can i understand which parameter should be change(increase or decrease) and peformance moniter.
Thanks.If you have access to Metalink, refer to the following notes:
- Note:94224.1 FAQ- Statspack Complete Reference
- Note:228913.1 Systemwide Tuning using STATSPACK Reports -
Statspack Report of My DB instance
Hey Guys:
I generated a statspack report of my db instance and here is what are my findings.
I would like to hear from you experts on where I should be focussing if at all some thing is wrong. I am new to using statspack and hence this help.
DB Name DB Id Instance Inst Num Release Cluster Host
Test 3378348462 Test 1 9.2.0.7.0 NO Sonar
Snap Id Snap Time Sessions Curs/Sess Comment
Begin Snap: 21 07-Nov-07 09:57:54 2,163 50.6
End Snap: 31 07-Nov-07 13:05:35 2,394 49.3
Elapsed: 187.68 (mins)
Cache Sizes (end)
~~~~~~~~~~~~~~~~~
Buffer Cache: 2,048M Std Block Size: 4K
Shared Pool Size: 912M Log Buffer: 2,048K
Load Profile
~~~~~~~~~~~~ Per Second Per Transaction
Redo size: 92,813.08 3,394.20
Logical reads: 28,731.61 1,050.72
Block changes: 639.05 23.37
Physical reads: 1,817.04 66.45
Physical writes: 39.44 1.44
User calls: 2,688.74 98.33
Parses: 553.54 20.24
Hard parses: 3.63 0.13
Sorts: 219.64 8.03
Logons: 3.94 0.14
Executes: 1,045.60 38.24
Transactions: 27.34
% Blocks changed per Read: 2.22 Recursive Call %: 38.00
Rollback per transaction %: 32.76 Rows per Sort: 17.22
Instance Efficiency Percentages (Target 100%)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Buffer Nowait %: 99.97 Redo NoWait %: 100.00
Buffer Hit %: 93.69 In-memory Sort %: 100.00
Library Hit %: 99.60 Soft Parse %: 99.34
Execute to Parse %: 47.06 Latch Hit %: 99.92
Parse CPU to Parse Elapsd %: 70.22 % Non-Parse CPU: 96.20
Shared Pool Statistics Begin End
Memory Usage %: 100.00 100.00
% SQL with executions>1: 57.52 52.53
% Memory for SQL w/exec>1: 59.44 51.50
Top 5 Timed Events
~~~~~~~~~~~~~~~~~~ % Total
Event Waits Time (s) Ela Time
CPU time 19,121 37.80
db file sequential read 8,259,408 14,317 28.31
SQL*Net message from dblink 135,187 10,801 21.36
db file scattered read 792,239 2,091 4.13
ARCH wait on SENDREQ 1,385 1,077 2.13
Tablespace IO Stats for DB: EAST Instance: Test Snaps: 21 -31
->ordered by IOs (Reads + Writes) desc
Tablespace
Av Av Av Av Buffer Av Buf
Reads Reads/s Rd(ms) Blks/Rd Writes Writes/s Waits Wt(ms)
SALES
4,234,917 376 1.4 1.3 12,952 1 36,425 1.2
RETAIL
1,580,550 140 2.5 4.7 18,922 2 24,786 1.7
AR
1,272,815 113 2.1 3.4 4,044 0 17,387 1.4
CATALYST
467,941 42 1.6 3.0 30,109 3 648 0.9
SALES_IDX
471,258 42 2.2 1.0 23,052 2 2,592 3.0
CATIDX
283,058 25 4.1 1.2 101,820 9 7,552 3.4
CORP
235,608 21 2.1 1.2 7,480 1 2,025 2.7
RETAILLRGIDX
201,128 18 1.8 1.0 20,337 2 1,979 3.2
ARIDX2
194,451 17 2.1 1.0 6,102 1 248 1.5
UNDOTBS
1,876 0 1.7 1.0 112,541 10 269 0.1
RETAILSMLIDX
55,340 5 2.2 1.0 5,936 1 397 3.2
SYSTEM
49,147 4 2.2 1.5 11,311 1 111 2.5
PERFSTAT
3,042 0 0.5 1.0 659 0 0 0.0
TEMP
1,687 0 552.1 36.0 1,635 0 0 0.0
IFFM
5 0 10.0 1.0 5 0 0 0.0
TOOLS
5 0 4.0 1.0 5 0 0 0.0
USERS
5 0 6.0 1.0 5 0 0 0.0
Thanks in Advance,
Regards,
- BMPWell, it depends... very much , what do you want to get? ...two situations may arise:
1) You have a performance issue
2) You're trying to be proactive and find out any 'performance gain' oportunity (or you, neither, your users have realized there is a problem...which is very rare)
My suggestions, if your case is (2)
a) Focus on Wait events
b) Analyze what is going on with excesive reads, mostly if you see disk IO and waits.
c) Try to reduce excesive executions: sometimes developers think is cheaper to ask the database 1 million times, than add 100 lines of code (Yep...it's easier for them to charge the bill on us)
... there are more suggestions, only those poped right now... sorry,I need a larger buffer cache.
Regards
http://oracledisect.blogspot.com -
Statspack snap_level Query
Hi All,
I have started to use statspack to determine performance bottlenecks. However, when I generate a SPREPSQL report using the 'costly' sql hash value I do not see an Execution Plan. I have read the "Oracle Statspack Survival Guide" and see that I will have to change from snap_level 5 (default) to level 6.
http://www.akadia.com/services/ora_statspack_survival_guide.html
Level 5 This level includes capturing high resource usage SQL Statements, along with all data captured by lower levels.
Level 6 This level includes capturing SQL plan and SQL plan usage information for high resource usage SQL Statements, along with all data captured by lower levels.
My query is: Will changing the snap_level have any significant impact on performance?
Regards,
kpMy query is: Will changing the snap_level have any significant impact on performance?If it did it wouldn't be much use as a performance diagnostic tool. Of course it will have some impact but almost certainly too small to be measurable. Most machines should be running with sufficient spare cycles to handle the additional workload without anybody noticing. And if your system is one of the unhappy few, then the sooner you get enough data to fix it the better.
Personally, I think running at level=7 is the best idea.
Cheers, APC
Blog : http://radiofreetooting.blogspot.com/ -
Hi,
I am trying to rewrite a custom Oracle DB Statistics report which used to run on PERFSTAT.statspack in 9i which is no longer running in our 10g RAC as we are using AWR. Apart from a lot of custom queries we used STATSPACK.STAT_CHANGES to get a long list of params and kept in our custom tables but in 10g AWR I don't see such procedure. I checked dbms_workload_repository pkg but doesn't help. Is there any replacement for that procedure in AWR to get those params.
Also is there any doc which has the ER Model of AWR for better understanding and a comparative study of STATSPACK to help us rewrite existing programs.
Appreciate any help
cpaAll queries from the AWR report comes from the DBA_HIST tables and these are pulled from the DBMS_SWRF_REPORT_INTERNAL package body.
AWR is not really different from Statspack, the main difference is the data collection and repository architecture (AWR repository) and how this data is being utilized (advisors and metrics).
But as for the AWR tables (DBA_HIST) there are counterpart tables in Statspack.. and possibly achieve similar results.
dba_hist_snapshot = STATS$SNAPSHOT
dba_hist_osstat = STATS$OSSTAT
dba_hist_sys_time_model = STATS$SYS_TIME_MODEL
dba_hist_sysstat = STATS$SYSSTAT
Also another issue you may have when doing your porting of Statspack reports to AWR is the SNAP_TIME and END_INTERVAL_TIME data type differences
SNAP_TIME = is for Statspack which is based on DATE data type
END_INTERVAL_TIME = is for AWR which is based on TIMESTAMP data type
So my simple query to get the SNAP duration in minutes in Statspack is this:
(s1.snap_time-s0.snap_time)*24*60 dur
While on AWR I have to do this:
round(EXTRACT(DAY FROM s1.END_INTERVAL_TIME - s0.END_INTERVAL_TIME) * 1440
+ EXTRACT(HOUR FROM s1.END_INTERVAL_TIME - s0.END_INTERVAL_TIME) * 60
+ EXTRACT(MINUTE FROM s1.END_INTERVAL_TIME - s0.END_INTERVAL_TIME)
+ EXTRACT(SECOND FROM s1.END_INTERVAL_TIME - s0.END_INTERVAL_TIME) / 60, 2) dur
You can see my example here http://karlarao.wordpress.com/2010/01/31/workload-characterization-using-dba_hist-tables-and-ksar/
- Karl Arao
karlarao.wordpress.com
karlarao.tiddlyspot.com -
STATSPACK 수행방법 ( STATSPACK SNAPSHOT 수집 )
제품 : ORACLE SERVER
작성날짜 : 2002-10-10
STATSPACK 수행방법 ( STATSPACK SNAPSHOT 수집 )
==============================================
PURPOSE
이 자료는 oracle 8.1.6부터 새로이 제공되는 성능 진단도구인 statspack의
수행 방법에 대해 기술한다.
Explanation
1. StatsPack snapshot 수집
snapshot 수집을 위한 가장 단순한 방법은 SQL*Plus에 PERFSTAT 사용자로
login한 후, statspack.snap 프로시져를 수행시키는 것이다.
예.
SQL> connect perfstat/perfstat
SQL> execute statspack.snap;
참고사항 : OPS 환경에서는 데이터를 수집하고자 하는 대상 instance에
접속하여 수행하여야 한다. snapshot은 모든 인스턴스에서 수집되어야만
비교를 해 볼 수 있다. 하나의 인스턴스에서 수집된 snapshot 은 동일한
인스턴스에서 수집된 또 다른 snapshot과 비교가 된다.
성능 분석을 용이하게 하기 위해 initSID.ora 파라미터 파일에서
timed_statistics 값을 true로 지정하는 것이 좋다. timed_statistics
파라미터는 alter system 명령으로, 동적으로 변경 가능한 값이다. 시간
정보는 그 자체로도 중요할 뿐더러 Oracle 기술 지원에 성능관련 문제 분석
을 요청할 때에도 필요하다.
statspack.snap 및 statspack.modify_statspack_parameter 프로시져에는
필요한 파라미터를 지정할 수 있다.
=============================================================================
Parameter Name Valid Values Value Meaning
=============================================================================
i_snap_level 0, 5, 10 5 Snapshot 레벨
i_ucomment Text Blank Snapshot과 함께 저장할 설명문구
i_executions_th Integer >=0 100 SQL 관련 임계치: 실행된 횟수
i_disk_reads_th Integer >=0 1,000 SQL 관련 임계치: 디스크 READ 횟수
i_parse_calls_th Integer >=0 1,000 SQL 관련 임계치: parse call 횟수
i_buffer_gets_th Integer >=0 10,000 SQL 관련 임계치: buffer get 횟수
i_session_id Valid sid 0 (no 세션단위의 성능 정보를 수집하기
from session) 위한 대상 session id
v$session
i_modify_parameter True, False False 파라미터를 앞으로의 snapshot에서도
계속 사용하기 위해 저장할 지 여부
=============================================================================
2. 수집되는 데이터의 양을 지정하는 방법
1) Snapshot 레벨
패키지에 의해 수집되는 데이터 양은 snapshot 레벨에 따라 조정된다.
다시 말해 지정된 레벨은 수집될 데이터의 양을 결정한다.
Level >= 0 일반적인 성능 통계
수집되는 통계 정보:
0 이상의 모든 레벨에서는 일반적인 성능 관련 통계 정보가
수집된다. 여기에는 wait statistics, system event,
system statistics, rollback segment 데이터, row cache, SGA,
background event, session event, lock statistics,
buffer pool statistics, parent latch statistics 등이 포함된다.
Level >= 5 추가적인 데이터 : SQL 문자
이 레벨에서는 하위 레벨에서 수집되는 모든 데이터 이외에도
추가적으로, 자원을 많이 사용하는 SQL 문장과 관련된 성능
정보를 수집한다.
SQL 관련 '임계치'
statspack에 의해 수집되는 SQL 문장은 미리 지정된 다음
조건 중 하나라도 넘을 경우 수집된다.
- SQL 실행 횟수 (기본값 100 )
- SQL 처리시 발생하는 disk read (기본값 1,000 )
- SQL parse call 횟수 (기본값 1,000 )
- SQL 처리시 발생하는 buffer gets (기본값 10,000)
위에 나열된 각각의 임계치는 어떤 SQL 관련 정보를 수집할
것인지를 결정하는 데 사용된다. 위에 언급된 임계치 가운데
하나라도 넘는 SQL 문장과 관련된 정보가 snapshot을 처리
하는 동안 수집된다.
SQL 임계치 레벨 각각은 stats$statspack_parameter 테이블에
저장되어 있거나, snapshot 수집 당시 파라미터에 의해 지정
가능하다.
2) snapshot SQL 임계치
레벨 이외에도 추가적으로 구성 가능한 파라미터가 있다. 이 파라미터들은
SQL 수집 시 사용되는 임계치들로, 임계치를 넘어서는 모든 SQL 문장들이
수집된다.
snapshot level 및 패키지에 의해 사용되는 임계치 관련 정보는
stats$statspack_parameter 테이블에 저장된다.
3) snapshot level과 SQL 관련 임계치 값을 변경하는 방법
snapshot 수집 작업 시 사용되는 기본 파라미터 값은 조정 가능하며,
이 값을 조정함으로써 인스턴스에 미치는 부하를 줄이면서, 원하는
수준의 정보를 수집할 수 있다.
* snapshot을 받아내변서, 새로운 값을 데이터베이스에 저장
( statspack.snap 호출 시, i_modify_parameter 변수 값을 지정 )
SQL> execute statspack.snap -
(i_snap_level=>10, i_modify_parameter=>'true');
i_modify_parameter 를 true로 지정하면, 이 값이 stats$statspack_parameter
테이블에 저장되며; 이 값이 이후 실행되는 snapshot에 사용된다.
i_modify_parameter 값을 false로 지정하거나 생략하면, 해당
snapshot 작업에만 지정된 정보가 사용되며, 이후 작업에는
stats$statspack_parameter 에 지정된 값을 사용하여 작업이 수행된다.
* snapshot 수행을 하지 않고 기본값을 바꾸기 위해서는
statspack.modify_statspack_parameter 프로시져를 사용한다.
예를 들어 snapshot level을 10으로 변경하고, SQL 관련 임계치 가운데
buffer_gets, disk_reads 값을 변경하고자 할 때 다음과 같이 한다.
SQL> execute statspack.modify_statspack_parameter -
(i_snap_level=>10, i_buffer_gets_th=>10000, i_disk_reads_th=>1000);
이 프로시져를 수행시키면, snapshot 수행 없이, 변경 사항이
계속해서 남게 된다.
modify_statspack_parameter 프로시져에 지정 가능한 전체 파라미터의
전체 목록은 snap 프로스져와 동일하다.
4) Session ID 지정
특정 세션과 관련된 정보를 수집하고자 할 경우, StatsPack 호출 시
세션 id 지정이 가능하다. 세션과 관련해서 수집되는 정보에는
세션 통계, 세션 이벤트, lock activity 등이 있다. 기본적으로는
세션 레벨의 통계는 수집하지 않게 되어 있다.
SQL> execute statspack.snap(i_session_id=>3);
3. StatsPack snapshot 수집의 자동화
일중, 주간, 년간 정보를 비교하기 위해서는, 일정 기간 동안 수집된
여러 개의 snapshot 정보가 필요하다. 애플리케이션이나 데이터베이스의
성능 관련 특성을 파악하기 위해서는 최소한 두 개의 snapshot 정보가 필요
하다.
snapshot을 수집하는 최선의 방법은, 일정 주기로 snapshot 수집을
자동화시키는 것이다. 이를 위해 2가지 방법을 사용할 수 있다.
- 데이터베이스가 제공하는 dbms_job 프로시져를 사용하여 snapshot
수집 작업을 스케쥴러에 등록한다.
- OS 시스템 유틸리티( unix의 cron 이나 NT 의 at 명령 )를 사용하여
snapshot을 스케쥴러에 등록한다.
1) DBMS_JOB 패키지를 사용한 StatsPack snapshot 작업의 자동화
오라클 내부적으로 통계정보 수집을 자동화하고자 한다면, dbms_job
패키지를 사용하면 된다. 샘플은 oracle 8.1.6의 경우 $ORACLE_HOME/rdbms/admin/statsuato.sql
( 8.1.7이상은 $ORACLE_HOME/rdbms/admin/spauto.sql) 에 들어 있으며,
매 시간 마다 snapshot을 등록하는 예제이다.
dbms_job을 사용하여 snapshot을 자동화시키기 위해서는, init 파일의
job_queue_processes 파라미터가 0 이상이어야만 한다.
init<SID>.ora 예제:
# Set to enable the job queue process to start. This allows dbms_job
# to schedule automatic statistics collection using STATSPACK
job_queue_processes=1
OPS 환경에서 statsauto.sql 을 사용한다면, statsauto.sql 스크립트는
클러스터 내의 모든 인스턴스에서 한번 씩 수행되도록 하여야 한다.
마찬가지로 job_queue_processes 파라미터 값도 모든 인스턴스에서
0 이상의 값으로 지정되어 있어야 한다.
dbms_job에 대한 자세한 사용방법은 <bulletin:10707> 를 참조한다.
2) OS 시스템 유틸리티를 사용한 StatsPack snapshot 작업의 자동화.
unix의 cron에 등록하는 방법은 <bulletin:10906>을, NT 의 at 명령을 사
용하는 방법은 <bulletin: 11618> 을 참조한다.
4. 통계정보 수집 주기의 변경 방법
통계정보 수집 주기를 변경하기 위해서는 dbms_job.interval 프로시져를
사용한다.
예.
execute dbms_job.interval(1,'SYSDATE+(1/48)');
위에서 SYSDATE+(1/48) 는 통계정보가 1/48 일에 한번씩 ( 매 30분 마다)
수집되도록 지정한 예이다.
job이 즉시 실행되도록 하기 위해서는
execute dbms_job.run(<job number>);
job을 스케쥴러에서 제거하기 위해서는
execute dbms_job.remove(<job number>);
5. STATSPACK의 삭제 및 snapshot 데이타 제거 방법.
1) Statspack 삭제
Statspack 환경 삭제를 위해서는 oracle 8.1.6의 경우는 statsdrp.sql을
oracle 8.1.7 이상의 경우는 spdrop.sql을 수행한다.
cd $ORACLE_HOME/rdbms/admin
SQL> connect / as sysdba
SQL> @statsdrp
2) Snapshot 데이타 제거
불필요한 snapshot 데이타를 제거하기 위해서 oracle 8.1.7부터는
sppurge.sql과 sptrunc.sql을 제공한다.
특정 구간 사이의 snapshot정보를 제거하려면 sppurge.sql을 수행한다.
이 script를 수행하면 삭제할 시작과 끝의 snapshot id를 지정하게 되며 지정
된 구간의 snapshot 데이타가 제거된다.
모든 snapshot 정보를 삭제하려면 sptrunc.sql을 수행한다.
cd $ORACLE_HOME/rdbms/admin
sqlplus perfstat/perfstat
SQL> @sptrunc
Example
none
Reference Documents
<Note:94224.1>
<Note:149121.1>제품 : ORACLE SERVER
작성날짜 : 2002-10-10
STATSPACK 수행방법 ( STATSPACK SNAPSHOT 수집 )
==============================================
PURPOSE
이 자료는 oracle 8.1.6부터 새로이 제공되는 성능 진단도구인 statspack의
수행 방법에 대해 기술한다.
Explanation
1. StatsPack snapshot 수집
snapshot 수집을 위한 가장 단순한 방법은 SQL*Plus에 PERFSTAT 사용자로
login한 후, statspack.snap 프로시져를 수행시키는 것이다.
예.
SQL> connect perfstat/perfstat
SQL> execute statspack.snap;
참고사항 : OPS 환경에서는 데이터를 수집하고자 하는 대상 instance에
접속하여 수행하여야 한다. snapshot은 모든 인스턴스에서 수집되어야만
비교를 해 볼 수 있다. 하나의 인스턴스에서 수집된 snapshot 은 동일한
인스턴스에서 수집된 또 다른 snapshot과 비교가 된다.
성능 분석을 용이하게 하기 위해 initSID.ora 파라미터 파일에서
timed_statistics 값을 true로 지정하는 것이 좋다. timed_statistics
파라미터는 alter system 명령으로, 동적으로 변경 가능한 값이다. 시간
정보는 그 자체로도 중요할 뿐더러 Oracle 기술 지원에 성능관련 문제 분석
을 요청할 때에도 필요하다.
statspack.snap 및 statspack.modify_statspack_parameter 프로시져에는
필요한 파라미터를 지정할 수 있다.
=============================================================================
Parameter Name Valid Values Value Meaning
=============================================================================
i_snap_level 0, 5, 10 5 Snapshot 레벨
i_ucomment Text Blank Snapshot과 함께 저장할 설명문구
i_executions_th Integer >=0 100 SQL 관련 임계치: 실행된 횟수
i_disk_reads_th Integer >=0 1,000 SQL 관련 임계치: 디스크 READ 횟수
i_parse_calls_th Integer >=0 1,000 SQL 관련 임계치: parse call 횟수
i_buffer_gets_th Integer >=0 10,000 SQL 관련 임계치: buffer get 횟수
i_session_id Valid sid 0 (no 세션단위의 성능 정보를 수집하기
from session) 위한 대상 session id
v$session
i_modify_parameter True, False False 파라미터를 앞으로의 snapshot에서도
계속 사용하기 위해 저장할 지 여부
=============================================================================
2. 수집되는 데이터의 양을 지정하는 방법
1) Snapshot 레벨
패키지에 의해 수집되는 데이터 양은 snapshot 레벨에 따라 조정된다.
다시 말해 지정된 레벨은 수집될 데이터의 양을 결정한다.
Level >= 0 일반적인 성능 통계
수집되는 통계 정보:
0 이상의 모든 레벨에서는 일반적인 성능 관련 통계 정보가
수집된다. 여기에는 wait statistics, system event,
system statistics, rollback segment 데이터, row cache, SGA,
background event, session event, lock statistics,
buffer pool statistics, parent latch statistics 등이 포함된다.
Level >= 5 추가적인 데이터 : SQL 문자
이 레벨에서는 하위 레벨에서 수집되는 모든 데이터 이외에도
추가적으로, 자원을 많이 사용하는 SQL 문장과 관련된 성능
정보를 수집한다.
SQL 관련 '임계치'
statspack에 의해 수집되는 SQL 문장은 미리 지정된 다음
조건 중 하나라도 넘을 경우 수집된다.
- SQL 실행 횟수 (기본값 100 )
- SQL 처리시 발생하는 disk read (기본값 1,000 )
- SQL parse call 횟수 (기본값 1,000 )
- SQL 처리시 발생하는 buffer gets (기본값 10,000)
위에 나열된 각각의 임계치는 어떤 SQL 관련 정보를 수집할
것인지를 결정하는 데 사용된다. 위에 언급된 임계치 가운데
하나라도 넘는 SQL 문장과 관련된 정보가 snapshot을 처리
하는 동안 수집된다.
SQL 임계치 레벨 각각은 stats$statspack_parameter 테이블에
저장되어 있거나, snapshot 수집 당시 파라미터에 의해 지정
가능하다.
2) snapshot SQL 임계치
레벨 이외에도 추가적으로 구성 가능한 파라미터가 있다. 이 파라미터들은
SQL 수집 시 사용되는 임계치들로, 임계치를 넘어서는 모든 SQL 문장들이
수집된다.
snapshot level 및 패키지에 의해 사용되는 임계치 관련 정보는
stats$statspack_parameter 테이블에 저장된다.
3) snapshot level과 SQL 관련 임계치 값을 변경하는 방법
snapshot 수집 작업 시 사용되는 기본 파라미터 값은 조정 가능하며,
이 값을 조정함으로써 인스턴스에 미치는 부하를 줄이면서, 원하는
수준의 정보를 수집할 수 있다.
* snapshot을 받아내변서, 새로운 값을 데이터베이스에 저장
( statspack.snap 호출 시, i_modify_parameter 변수 값을 지정 )
SQL> execute statspack.snap -
(i_snap_level=>10, i_modify_parameter=>'true');
i_modify_parameter 를 true로 지정하면, 이 값이 stats$statspack_parameter
테이블에 저장되며; 이 값이 이후 실행되는 snapshot에 사용된다.
i_modify_parameter 값을 false로 지정하거나 생략하면, 해당
snapshot 작업에만 지정된 정보가 사용되며, 이후 작업에는
stats$statspack_parameter 에 지정된 값을 사용하여 작업이 수행된다.
* snapshot 수행을 하지 않고 기본값을 바꾸기 위해서는
statspack.modify_statspack_parameter 프로시져를 사용한다.
예를 들어 snapshot level을 10으로 변경하고, SQL 관련 임계치 가운데
buffer_gets, disk_reads 값을 변경하고자 할 때 다음과 같이 한다.
SQL> execute statspack.modify_statspack_parameter -
(i_snap_level=>10, i_buffer_gets_th=>10000, i_disk_reads_th=>1000);
이 프로시져를 수행시키면, snapshot 수행 없이, 변경 사항이
계속해서 남게 된다.
modify_statspack_parameter 프로시져에 지정 가능한 전체 파라미터의
전체 목록은 snap 프로스져와 동일하다.
4) Session ID 지정
특정 세션과 관련된 정보를 수집하고자 할 경우, StatsPack 호출 시
세션 id 지정이 가능하다. 세션과 관련해서 수집되는 정보에는
세션 통계, 세션 이벤트, lock activity 등이 있다. 기본적으로는
세션 레벨의 통계는 수집하지 않게 되어 있다.
SQL> execute statspack.snap(i_session_id=>3);
3. StatsPack snapshot 수집의 자동화
일중, 주간, 년간 정보를 비교하기 위해서는, 일정 기간 동안 수집된
여러 개의 snapshot 정보가 필요하다. 애플리케이션이나 데이터베이스의
성능 관련 특성을 파악하기 위해서는 최소한 두 개의 snapshot 정보가 필요
하다.
snapshot을 수집하는 최선의 방법은, 일정 주기로 snapshot 수집을
자동화시키는 것이다. 이를 위해 2가지 방법을 사용할 수 있다.
- 데이터베이스가 제공하는 dbms_job 프로시져를 사용하여 snapshot
수집 작업을 스케쥴러에 등록한다.
- OS 시스템 유틸리티( unix의 cron 이나 NT 의 at 명령 )를 사용하여
snapshot을 스케쥴러에 등록한다.
1) DBMS_JOB 패키지를 사용한 StatsPack snapshot 작업의 자동화
오라클 내부적으로 통계정보 수집을 자동화하고자 한다면, dbms_job
패키지를 사용하면 된다. 샘플은 oracle 8.1.6의 경우 $ORACLE_HOME/rdbms/admin/statsuato.sql
( 8.1.7이상은 $ORACLE_HOME/rdbms/admin/spauto.sql) 에 들어 있으며,
매 시간 마다 snapshot을 등록하는 예제이다.
dbms_job을 사용하여 snapshot을 자동화시키기 위해서는, init 파일의
job_queue_processes 파라미터가 0 이상이어야만 한다.
init<SID>.ora 예제:
# Set to enable the job queue process to start. This allows dbms_job
# to schedule automatic statistics collection using STATSPACK
job_queue_processes=1
OPS 환경에서 statsauto.sql 을 사용한다면, statsauto.sql 스크립트는
클러스터 내의 모든 인스턴스에서 한번 씩 수행되도록 하여야 한다.
마찬가지로 job_queue_processes 파라미터 값도 모든 인스턴스에서
0 이상의 값으로 지정되어 있어야 한다.
dbms_job에 대한 자세한 사용방법은 <bulletin:10707> 를 참조한다.
2) OS 시스템 유틸리티를 사용한 StatsPack snapshot 작업의 자동화.
unix의 cron에 등록하는 방법은 <bulletin:10906>을, NT 의 at 명령을 사
용하는 방법은 <bulletin: 11618> 을 참조한다.
4. 통계정보 수집 주기의 변경 방법
통계정보 수집 주기를 변경하기 위해서는 dbms_job.interval 프로시져를
사용한다.
예.
execute dbms_job.interval(1,'SYSDATE+(1/48)');
위에서 SYSDATE+(1/48) 는 통계정보가 1/48 일에 한번씩 ( 매 30분 마다)
수집되도록 지정한 예이다.
job이 즉시 실행되도록 하기 위해서는
execute dbms_job.run(<job number>);
job을 스케쥴러에서 제거하기 위해서는
execute dbms_job.remove(<job number>);
5. STATSPACK의 삭제 및 snapshot 데이타 제거 방법.
1) Statspack 삭제
Statspack 환경 삭제를 위해서는 oracle 8.1.6의 경우는 statsdrp.sql을
oracle 8.1.7 이상의 경우는 spdrop.sql을 수행한다.
cd $ORACLE_HOME/rdbms/admin
SQL> connect / as sysdba
SQL> @statsdrp
2) Snapshot 데이타 제거
불필요한 snapshot 데이타를 제거하기 위해서 oracle 8.1.7부터는
sppurge.sql과 sptrunc.sql을 제공한다.
특정 구간 사이의 snapshot정보를 제거하려면 sppurge.sql을 수행한다.
이 script를 수행하면 삭제할 시작과 끝의 snapshot id를 지정하게 되며 지정
된 구간의 snapshot 데이타가 제거된다.
모든 snapshot 정보를 삭제하려면 sptrunc.sql을 수행한다.
cd $ORACLE_HOME/rdbms/admin
sqlplus perfstat/perfstat
SQL> @sptrunc
Example
none
Reference Documents
<Note:94224.1>
<Note:149121.1> -
Which tool is used for Oracle 11g performance tuning?
Hi all
I used statspack for 9i's performance tuning.
But with 11g R2 now I want to know which way are you using to do performance tuning?
Statspack? OSW? RDA? ADDM? Or other ways?
Thank you.schavali wrote:
I would start with Automatic Workload Repository (AWR) reports to identify the bottleneck
MOS Doc 390374.1 - Oracle Performance Diagnostic Guide (OPDG)
MOS Doc 748642.1 - What is AWR( Automatic workload repository ) and How to generate the AWR report?
HTH
SriniThanks for your answer.
To read the MOS documents I need a Oracle Customer ID , is that right ?
(Where to get that ID ? Our company bought Oracle 10g without any Customer IDs in it )
Best Wishes. -
OWB issue using runtime repository
For batches to load data into the datawarehouse, we use .bat files.
Somewhere in the .bat file we call a deployed mapping(.pls a package in the database), normaly it end with a succes status.
But the last time we have 2 problems;
- if there is a error while processing mapping the mapping does not stop at the error but continues. This is a big problem! When the error occurs somewhere in the mapping the mapping must stop.
- normally in the batch one of the many mappings is ready in 1 minute but now it is busy for more then 3 hours and the only thing we can see is in the runtime assistant, there we only see that the mapping is busy but not what the mapping is doing.
We have created all tables, functions and mappings etc with Oracle Warehouse Builder and deployed all objects.
Does someone knows what to do?
regards,
Marinda- if there is a error while processing mapping the
mapping does not stop at the error but continues.
This is a big problem! When the error occurs
somewhere in the mapping the mapping must stop.Set the mapping to have maximum errors allowed = 0 by right-clicking the appropriate mapping -> Configure... -> "Runtime Parameters" -> Maximum Number of Errors = 0. It will quit processing immediatelly.
- normally in the batch one of the many mappings is
ready in 1 minute but now it is busy for more then 3
hours and the only thing we can see is in the runtime
assistant, there we only see that the mapping is busy
but not what the mapping is doing.This is a tough one to answer from here. The problem here could reside on your mapping, on Database side, on the hardware/software architecture...
Do other mappings runs in a feasible time? If so, it might be related only to this mapping so you'll have to find out what is causing performance issues. Try to monitor this procedure using Statspack, discover what are the bottlenecks for this processing.
Does someone knows what to do?Unfortunatelly I can't answer the second question
Regards,
Marcos -
Hi,
this is Top 5 Timed Events in statpack report :
Top 5 Timed Events
~~~~~~~~~~~~~~~~~~ % Total
Event Waits Time (s) Call Time
CPU time 122 91.65
db file sequential read 1,571 2 1.61
db file scattered read 1,174 2 1.59
log file sequential read 342 2 1.39
control file parallel write 450 2 1.39
Wait Events DB/Inst: AKI1/AKI1 Snaps: 5-6but in my statpack report I have not the following two lines :
db file sequential read 1,571 2 1.61
db file scattered read 1,174 2 1.59Which collect level should I chose for my snapshot to have them ?
Many thanks.db file sequential read
1,571 2
1.61
le scattered read 1,174
2 1.59 ich collect level should I chose for my snapshot to
have them ?If these two events are in top 5 they will be in the list.
You should check Oracle document,
Using Statspack
http://download.oracle.com/docs/cd/B10501_01/server.920/a96533/statspac.htm#34837
Maybe you are looking for
-
How can I create a report with a specified format in Answers
Hello Everyone! I want to create a request in Answers gives me a report format like this: http://i25.tinypic.com/t6p0ee.jpg How can I achieve this? Please help! -D
-
Error in system logs of the abap engine
Hello All, I got a incident for "error in system logs of the abap engine".When i checked in SM21, 13:50:18 BTC 024 001 SETUPADMIN SM59 Q0 W SETUPADMIN deletes RFC destination 0000000000011DECBA9958E212E09B2C 05782 Background Processor No. 024 SETUPA
-
I have some problems with putting in the 2nd RAM stick. I m running on a P4 2,4 GHz 1x 256MB DDR333 RAM pc2700 (from nanya or whatever) BIOS 1.2 AMI When i put the 2nd RAM stick in, (also 1x256 MB DDR 333 RAM pc2700 but from Twinmos) it boots up but
-
How do i move ipod songs to my mac?
I have my classic 80GB iPod that is about 90% full of music, most of which is from my old Mac G4. I just purchased a new late 2012 Mac mini and am trying to backup/copy the songs from my iPod to my Mac mini's iTunes Media folder. I do not see any thi
-
I keep trying to update my software but get a message telling me the older version of Bonjour cannot be removed what can I do to fix this