Seite 10 WI TH pr ocs AS (S ELE CT /*+ NO _ME RGE */ Ob jec t_I D, Su bPr ogr am_ ID, Ob jec t_T ype, Ow ner, Ob jec t_N ame, Pr oce dur e_n ame FR OM DB A_P roc edu res) SE LEC T / *+ ORD ERE D U SE_ HAS H(u sv f) Pa nor ama-To ol Ram m * / TR IM(s. Mod ule) Gr oup _Va lue, '' In fo, '' In fo_ Hin t, MI N(Sn ap_ ID) Mi n_S nap _ID, MAX (Sn ap_ ID) Ma x_S nap _ID, AV G(Wa it_ Tim e+T ime _Wa ite d)/ 100 0 Ti me_ Wai ted _Av g_m s, SU M(s. Sam ple _Cy cle) Ti me_ Wai ted _Se cs, -- Ge wic hte te Ze it in de r An nah me, da ss Wa it ak tiv fü r di e Da uer de s S amp les wa r ( und da her vo m Sn aps hot ge seh en wu rde) MA X(s. Sam ple _Cy cle) Ma x_S amp le_ Cyc le, -- Ma x. Ab sta nd de r S amp les al s Ko rre ktu rgr oes se fu er Be rec hnu ng LO AD SU M(TM _De lta _CP U_T ime _Se cs) TM _CP U_T ime _Se cs, /* CP U-Ti me in ner hal b de s S amp le-Cy cle */ SU M(TM _De lta _DB _Ti me_ Sec s) TM _DB _Ti me_ Sec s, SU M(De lta _Re ad_ IO_ Req ues ts) De lta _Re ad_ IO_ Req ues ts, SU M(De lta _Wr ite _IO _Re que sts) De lta _Wr ite _IO _Re que sts, SU M(De lta _Re ad_ IO_ kBy tes) De lta _Re ad_ IO_ kBy tes, SU M(De lta _Wr ite _IO _kB yte s) De lta _Wr ite _IO _kB yte s, SU M(De lta _In ter con nec t_I O_k Byt es) De lta _In ter con nec t_I O_k Byt es, MA X(PG A_A llo cat ed)/ (10 24* 102 4) Ma x_P GA_ MB, AV G(PG A_A llo cat ed)/ (10 24* 102 4) Av g_P GA_ MB, MA X(Te mp_ Spa ce_ All oca ted)/ (10 24* 102 4) Ma x_T emp _MB, AV G(Te mp_ Spa ce_ All oca ted)/ (10 24* 102 4) Av g_T emp _MB, CO UNT (1) Co unt _Sa mpl es, MI N(Sa mpl e_T ime) Fi rst _Oc cur ren ce, MA X(Sa mpl e_T ime) La st_ Occ urr enc e, -- So ko mis ch weg en Kon ver tie run g Ti ems tam p na ch Dat e f ür Sub tra kti on (T O_D ATE (TO _CH AR( MAX (Sa mpl e_T ime), 'Y YYY-MM-DD HH 24: MI: SS' ), 'YY YY-MM-DD HH 24: MI: SS' ) - TO _DA TE( TO_ CHA R(M IN(Sa mpl e_T ime), 'Y YYY-MM-DD HH 24: MI: SS' ), 'YY YY-MM-DD HH 24: MI: SS' ))* (24 *60 *60 ) Sa mpl e_D aue r_S ecs, CO UNT (DI STI NCT NV L(T O_C HAR (s. Ins tan ce_ Num ber), ' ')) in sta nce _nu mbe r_C nt, MI N(s. Ins tan ce_ Num ber) in sta nce _nu mbe r, CO UNT (DI STI NCT NV L(T O_C HAR (DE COD E(s. QC_ ins tan ce_ ID, NUL L, s. Ses sio n_I D|| ', '||s. Ses sio n_S eri al_ No, s. QC_ Ses sio n_I D|| ', '||s. QC_ Ses sio n_S eri al#) ), ' ' )) se ssi on_ sn_ Cnt, MI N(D ECO DE(s. QC_ ins tan ce_ ID, NUL L, s. Ses sio n_I D|| ', '||s. Ses sio n_S eri al_ No, s. QC_ Ses sio n_I D|| ', '||s. QC_ Ses sio n_S eri al#) ) se ssi on_ sn, CO UNT (DI STI NCT NV L(T O_C HAR (Ra wTo Hex(s. XID)) , ' ') ) tr ans act ion _Cn t, MI N(Ra wTo Hex(s. XID)) tr ans act ion, CO UNT (DI STI NCT NV L(T O_C HAR (u. Use rNa me), ' ')) us ern ame _Cn t, MI N(u. Use rNa me) us ern ame, CO UNT (DI STI NCT NV L(T O_C HAR (s. SQL _ID), ' ')) sq l_i d_C nt, MI N(s. SQL _ID) sq l_i d, CO UNT (DI STI NCT NV L(T O_C HAR (s. SQL _Ex ec_ ID), ' ')) sq l_e xec _id _Cn t, MI N(s. SQL _Ex ec_ ID) sq l_e xec _id, CO UNT (DI STI NCT NV L(T O_C HAR (RT RIM (s. SQL _Pl an_ Ope rat ion || ' ' ||s. SQL _Pl an_ Opt ion s)) , ' ') ) op era tio n_C nt, MI N(R TRI M(s. SQL _Pl an_ Ope rat ion|| ' ' ||s. SQL _Pl an_ Opt ion s)) op era tio n, CO UNT (DI STI NCT NV L(T O_C HAR (pe o.O bje ct_ Typ e|| CAS E W HEN pe o.O wne r IS NO T N ULL TH EN ' ' EN D||pe o.O wne r|| CAS E W HEN pe o.O bje ct_ Nam e IS NO T N ULL TH EN '. ' E ND| |pe o.O bje ct_ Nam e|| CAS E W HEN pe o.P roc edu re_ Nam e IS NO T N ULL TH EN '. ' E ND| |pe o.P roc edu re_ Nam e), ' ')) en try _pl sql _mo dul e_C nt, MI N(pe o.O bje ct_ Typ e|| CAS E W HEN pe o.O wne r IS NO T N ULL TH EN ' ' EN D||pe o.O wne r|| CAS E W HEN pe o.O bje ct_ Nam e IS NO T N ULL TH EN '. ' E ND| |pe o.O bje ct_ Nam e|| CAS E W HEN pe o.P roc edu re_ Nam e IS NO T N ULL TH EN '. ' E ND| |pe o.P roc edu re_ Nam e) en try _pl sql _mo dul e, CO UNT (DI STI NCT NV L(T O_C HAR (po .Ob jec t_T ype|| CAS E W HEN po .Ow ner IS NO T N ULL TH EN ' ' EN D||po .Ow ner|| CAS E W HEN po .Ob jec t_N ame IS NO T N ULL TH EN '. ' E ND| |po .Ob jec t_N ame|| CAS E W HEN po .Pr oce dur e_N ame IS NO T N ULL TH EN '. ' E ND| |po .Pr oce dur e_N ame), ' ')) pl sql _mo dul e_C nt, MI N(po .Ob jec t_T ype|| CAS E W HEN po .Ow ner IS NO T N ULL TH EN ' ' EN D||po .Ow ner|| CAS E W HEN po .Ob jec t_N ame IS NO T N ULL TH EN '. ' E ND| |po .Ob jec t_N ame|| CAS E W HEN po .Pr oce dur e_N ame IS NO T N ULL TH EN '. ' E ND| |po .Pr oce dur e_N ame) pl sql _mo dul e, CO UNT (DI STI NCT NV L(T O_C HAR (TR IM(s. Mod ule)) , ' ') ) mo dul e_C nt, MI N(T RIM (s. Mod ule)) mo dul e, CO UNT (DI STI NCT NV L(T O_C HAR (TR IM(s. Act ion)) , ' ') ) ac tio n_C nt, MI N(T RIM (s. Act ion)) ac tio n, CO UNT (DI STI NCT NV L(T O_C HAR (NV L(s. Eve nt, s. Ses sio n_S tat e)) , ' ') ) ev ent _Cn t, MI N(N VL(s. Eve nt, s. Ses sio n_S tat e)) ev ent, CO UNT (DI STI NCT NV L(T O_C HAR (NV L(s. Wai t_C las s, 'CP U') ), ' ' )) wa it_ cla ss_ Cnt, MI N(N VL(s. Wai t_C las s, 'CP U') ) wa it_ cla ss, CO UNT (DI STI NCT NV L(T O_C HAR (CA SE WHE N o. Obj ect _ID IS NO T N ULL TH EN LOW ER(o. Own er)| |'. '||o. Obj ect _Na me EL SE '[Un kno wn] TS= '|| NVL (f. Tab les pac e_N ame, 'no ne') EN D), ' ')) cu rre nt_ obj ect _Cn t, MI N(C ASE WH EN o. Obj ect _ID IS NO T N ULL TH EN LOW ER(o. Own er)| |'. '||o. Obj ect _Na me EL SE '[Un kno wn] TS= '|| NVL (f. Tab les pac e_N ame, 'no ne') EN D) cu rre nt_ obj ect, CO UNT (DI STI NCT NV L(T O_C HAR (CA SE WHE N o. Obj ect _ID IS NO T N ULL TH EN LOW ER(o. Own er)| |'. '||o. Obj ect _Na me|| CA SE WHE N o. Sub Obj ect _Na me IS NU LL THE N ' ' E LSE ' ('| |o. Sub Obj ect _Na me|| ')' EN D E LSE '[Un kno wn] TS= '|| NVL (f. Tab les pac e_N ame, 'no ne') EN D), ' ')) cu rre nt_ sub obj ect _Cn t, MI N(C ASE WH EN o. Obj ect _ID IS NO T N ULL TH EN LOW ER(o. Own er)| |'. '||o. Obj ect _Na me|| CA SE WHE N o. Sub Obj ect _Na me IS NU LL THE N ' ' E LSE ' ('| |o. Sub Obj ect _Na me|| ')' EN D E LSE '[Un kno wn] TS= '|| NVL (f. Tab les pac e_N ame, 'no ne') EN D) cu rre nt_ sub obj ect, CO UNT (DI STI NCT NV L(T O_C HAR (sv .Se rvi ce_ Nam e), ' ')) se rvi ce_ Cnt, MI N(sv .Se rvi ce_ Nam e) se rvi ce, CO UNT (DI STI NCT NV L(T O_C HAR (f. Tab leS pac e_N ame), ' ')) ts _na me_ Cnt, MI N(f. Tab leS pac e_N ame) ts _na me, CO UNT (DI STI NCT NV L(T O_C HAR (s. Cur ren t_F ile _No), ' ')) fi le_ no_ Cnt, MI N(s. Cur ren t_F ile _No) fi le_ no, CO UNT (DI STI NCT NV L(T O_C HAR (TR IM(s. Pro gra m)) , ' ') ) pr ogr am_ Cnt, MI N(T RIM (s. Pro gra m)) pr ogr am, CO UNT (DI STI NCT NV L(T O_C HAR (TR IM(s. Mac hin e)) , ' ') ) ma chi ne_ Cnt, MI N(T RIM (s. Mac hin e)) ma chi ne, CO UNT (DI STI NCT NV L(T O_C HAR (s. Mod us), ' ')) mo dus _Cn t, MI N(s. Mod us) mo dus, CO UNT (DI STI NCT NV L(T O_C HAR (DE COD E(s. QC_ Ins tan ce_ ID, NUL L, 'NO ', s. Ins tan ce_ Num ber|| ':' ||s. Ses sio n_I D|| ', '||s. Ses sio n_S eri al_ No)) , ' ') ) pq _Cn t, MI N(D ECO DE(s. QC_ Ins tan ce_ ID, NUL L, 'NO ', s. Ins tan ce_ Num ber|| ':' ||s. Ses sio n_I D|| ', '||s. Ses sio n_S eri al_ No)) pq, CO UNT (DI STI NCT NV L(T O_C HAR (SU BST R(s .Se ssi on_ Typ e,1 ,1) ), ' ' )) se ssi on_ typ e_C nt, MI N(S UBS TR( s.S ess ion _Ty pe, 1,1 )) se ssi on_ typ e FR OM ( SEL ECT /* + N O_M ERG E O RDE RED */ 10 Sa mpl e_C ycl e, DBI D, In sta nce _Nu mbe r, Sn ap_ ID, Sa mpl e_I D, Sa mpl e_T ime, Se ssi on_ id, Se ssi on_ Typ e, Se ssi on_ ser ial# Se ssi on_ Ser ial _No, Us er_ ID, SQ L_C hil d_N umb er, SQ L_P lan _Ha sh_ Val ue, SQ L_O pco de, Se ssi on_ Sta te, Bl ock ing _Se ssi on, Bl ock ing _se ssi on_ Sta tus, bl ock ing _se ssi on_ ser ial# Bl ock ing _se ssi on_ Ser ial _No, NVL (Ev ent , Se ssi on_ Sta te) Eve nt, Ev ent _ID, Se q# Se que nce, P1T ext , P 1, P2T ext , P 2, P3T ext , P 3, Wa it_ Cla ss, Wa it_ Tim e, Ti me_ wai ted, Pr ogr am, Mod ule , A cti on, Cl ien t_I D, Cu rre nt_ Obj# Cu rre nt_ Obj _No , Cu rre nt_ Fil e# Cu rre nt_ Fil e_N o, Cu rre nt_ Blo ck# Cu rre nt_ Blo ck_ No, Ra wTo Hex(X ID) XI D, PL SQL _En try _Ob jec t_I D, PL SQL _En try _Su bPr ogr am_ ID, PL SQL _Ob jec t_I D, PL SQL _Su bPr ogr am_ ID, Se rvi ce_ Has h, QC _Se ssi on_ ID, QC _In sta nce _ID , NVL (SQ L_I D, To p_L eve l_S QL_ ID) SQL _ID , /* Wen n k ein e S QL -ID , d ann we nig ste ns Top-Le vel SQ L-ID ze ige n * / QC _Se ssi on_ Ser ial#, Is _SQ LID _Cu rre nt, To p_L eve l_S QL_ ID, SQ L_P lan _Li ne_ ID, SQ L_P lan _Op era tio n, SQ L_P lan _Op tio ns, SQ L_E xec _ID, SQ L_E xec _St art, Bl ock ing _In st_ ID, Cu rre nt_ Row# Cu rre nt_ Row _No, Re mot e_I nst anc e# Re mot e_I nst anc e_N o, Ma chi ne, Por t, PG A_A llo cat ed, Te mp_ Spa ce_ All oca ted, TM _De lta _Ti me/1 000 000 TM _De lta _Ti me_ Sec s, TM _De lta _CP U_T ime/1 000 000 TM _De lta _CP U_T ime _Se cs, TM _De lta _DB _Ti me/1 000 000 TM _De lta _DB _Ti me_ Sec s, De lta _Ti me/1 000 000 De lta _Ti me_ Sec s, De lta _Re ad_ IO_ Req ues ts, De lta _Wr ite _IO _Re que sts, De lta _Re ad_ IO_ Byt es/1 024 De lta _Re ad_ IO_ kBy tes, De lta _Wr ite _IO _By tes/1 024 De lta _Wr ite _IO _kB yte s, De lta _In ter con nec t_I O_B yte s/1 024 De lta _In ter con nec t_I O_k Byt es, SU BST R(D ECO DE(In _Co nne cti on_ Mgm t, ' Y', ', co nne cti on ma nag eme nt') || DE COD E(In _Pa rse, 'Y' , ' , pa rse') || DE COD E(In _Ha rd_ Par se, 'Y ', ', har d pa rse') || DE COD E(In _SQ L_E xec uti on, 'Y ', ', SQL ex ec' ) | | DE COD E(In _PL SQL _Ex ecu tio n, ' Y', ', PL /SQ L e xec ') || DE COD E(In _PL SQL _RP C, ' Y', ', ex ec inb oun d P L/S QL RPC ca lls ') || DE COD E(In _PL SQL _Co mpi lat ion, 'Y' , ' , P L/S QL com pil e') || DE COD E(In _Ja va_ Exe cut ion, 'Y' , ' , J ava ex ec') || DE COD E(In _Bi nd, 'Y ', ', bin d') || DE COD E(In _Cu rso r_C los e, ' Y', ', cl ose cu rso r') || DE COD E(In _Se que nce _Lo ad, 'Y ', ', loa d s equ enc e') || DE COD E(Ca ptu re_ Ove rhe ad, 'Y ', ', cap tur e o ver hea d') || DE COD E(Re pla y_O ver hea d, ' Y', ', re pla y o ver hea d') || DE COD E(Is _Ca ptu red, 'Y' , ' , s ess ion ca ptu red ') || DE COD E(Is _Re pla yed, 'Y' , ' , s ess ion re pla yed '), 3) Mo dus FR OM D BA_ His t_A cti ve_ Ses s_H ist ory s LE FT OUT ER JOI N (S ELE CT In st_ ID, MIN (Sa mpl e_T ime) Mi n_S amp le_ Tim e FR OM gv $Ac tiv e_S ess ion _Hi sto ry GR OUP BY In st_ ID) v O N v. Ins t_I D = s. Ins tan ce_ Num ber WH ERE (v. Min _Sa mpl e_T ime IS NU LL OR s. Sam ple _Ti me < v. Min _Sa mpl e_T ime) -- Nu r Da ten le sen, die ni cht in gv $Ac tiv e_S ess ion _Hi sto ry vo rko mme n AN D s. DBI D = :A1 UN ION AL L SE LEC T 1 Sa mpl e_C ycl e, 170 413 496 6 D BID , In st_ ID In sta nce _Nu mbe r, NUL L Sn ap_ ID, Sa mpl e_I D, Sa mpl e_T ime, Se ssi on_ id, Se ssi on_ Typ e, Se ssi on_ ser ial# Se ssi on_ Ser ial _No, Us er_ ID, SQ L_C hil d_N umb er, SQ L_P lan _Ha sh_ Val ue, SQ L_O pco de, Se ssi on_ Sta te, Bl ock ing _Se ssi on, Bl ock ing _se ssi on_ Sta tus, bl ock ing _se ssi on_ ser ial# Bl ock ing _se ssi on_ Ser ial _No, NVL (Ev ent , Se ssi on_ Sta te) Eve nt, Ev ent _ID, Se q# Se que nce, P1T ext , P 1, P2T ext , P 2, P3T ext , P 3, Wa it_ Cla ss, Wa it_ Tim e, Ti me_ wai ted, Pr ogr am, Mod ule , A cti on, Cl ien t_I D, Cu rre nt_ Obj# Cu rre nt_ Obj _No , Cu rre nt_ Fil e# Cu rre nt_ Fil e_N o, Cu rre nt_ Blo ck# Cu rre nt_ Blo ck_ No, Ra wTo Hex(X ID) XI D, PL SQL _En try _Ob jec t_I D, PL SQL _En try _Su bPr ogr am_ ID, PL SQL _Ob jec t_I D, PL SQL _Su bPr ogr am_ ID, Se rvi ce_ Has h, QC _Se ssi on_ ID, QC _In sta nce _ID , NVL (SQ L_I D, To p_L eve l_S QL_ ID) SQL _ID , /* Wen n k ein e S QL -ID , d ann we nig ste ns Top-Le vel SQ L-ID ze ige n * / QC _Se ssi on_ Ser ial#, Is _SQ LID _Cu rre nt, To p_L eve l_S QL_ ID, SQ L_P lan _Li ne_ ID, SQ L_P lan _Op era tio n, SQ L_P lan _Op tio ns, SQ L_E xec _ID, SQ L_E xec _St art, Bl ock ing _In st_ ID, Cu rre nt_ Row# Cu rre nt_ Row _No, Re mot e_I nst anc e# Re mot e_I nst anc e_N o, Ma chi ne, Por t, PG A_A llo cat ed, Te mp_ Spa ce_ All oca ted, TM _De lta _Ti me/1 000 000 TM _De lta _Ti me_ Sec s, TM _De lta _CP U_T ime/1 000 000 TM _De lta _CP U_T ime _Se cs, TM _De lta _DB _Ti me/1 000 000 TM _De lta _DB _Ti me_ Sec s, De lta _Ti me/1 000 000 De lta _Ti me_ Sec s, De lta _Re ad_ IO_ Req ues ts, De lta _Wr ite _IO _Re que sts, De lta _Re ad_ IO_ Byt es/1 024 De lta _Re ad_ IO_ kBy tes, De lta _Wr ite _IO _By tes/1 024 De lta _Wr ite _IO _kB yte s, De lta _In ter con nec t_I O_B yte s/1 024 De lta _In ter con nec t_I O_k Byt es, SU BST R(D ECO DE(In _Co nne cti on_ Mgm t, ' Y', ', co nne cti on ma nag eme nt') || DE COD E(In _Pa rse, 'Y' , ' , pa rse') || DE COD E(In _Ha rd_ Par se, 'Y ', ', har d pa rse') || DE COD E(In _SQ L_E xec uti on, 'Y ', ', SQL ex ec' ) | | DE COD E(In _PL SQL _Ex ecu tio n, ' Y', ', PL /SQ L e xec ') || DE COD E(In _PL SQL _RP C, ' Y', ', ex ec inb oun d P L/S QL RPC ca lls ') || DE COD E(In _PL SQL _Co mpi lat ion, 'Y' , ' , P L/S QL com pil e') || DE COD E(In _Ja va_ Exe cut ion, 'Y' , ' , J ava ex ec') || DE COD E(In _Bi nd, 'Y ', ', bin d') || DE COD E(In _Cu rso r_C los e, ' Y', ', cl ose cu rso r') || DE COD E(In _Se que nce _Lo ad, 'Y ', ', loa d s equ enc e') || DE COD E(Ca ptu re_ Ove rhe ad, 'Y ', ', cap tur e o ver hea d') || DE COD E(Re pla y_O ver hea d, ' Y', ', re pla y o ver hea d') || DE COD E(Is _Ca ptu red, 'Y' , ' , s ess ion ca ptu red ') || DE COD E(Is _Re pla yed, 'Y' , ' , s ess ion re pla yed '), 3) Mo dus FR OM gv $Ac tiv e_S ess ion _Hi sto ry )s LE FT OUT ER JOI N DB A_O bje cts o O N o. Obj ect _ID = CAS E W HEN s. P2T ext = 'ob jec t #' TH EN /* Wa it ke nnt Ob jec t */ s. P2 ELS E s. Cur ren t_O bj_ No EN D LE FT OUT ER JOI N DB A_U ser s u ON u. Use r_I D = s. Use r_I D -- LE FT OUT ER JOI N v eru rsa cht Fe hle r LE FT OUT ER JOI N pr ocs pe o ON pe o.O bje ct_ ID = s. PLS QL_ Ent ry_ Obj ect _ID AN D pe o.S ubP rog ram _ID = s. PLS QL_ Ent ry_ Sub Pro gra m_I D LE FT OUT ER JOI N pr ocs po ON po .Ob jec t_I D = s. PLS QL_ Obj ect _ID AN D po .Su bPr ogr am_ ID = s. PLS QL_ Sub Pro gra m_I D LE FT OUT ER JOI N DB A_H ist _Se rvi ce_ Nam e sv ON sv .DB ID = s. DBI D AN D sv .Se rvi ce_ Nam e_H ash = Se rvi ce_ Has h LE FT OUT ER JOI N DB A_D ata _Fi les f O N f. Fil e_I D = s. Cur ren t_F ile _No WH ERE 1 =1 AN D s. Sam ple _Ti me >= TO _TI MES TAM P(: A2, 'Y YYY-MM-DD HH 24: MI' ) A ND s. Sam ple _Ti me < TO _TI MES TAM P(: A3, 'Y YYY-MM-DD HH 24: MI' ) GR OUP BY s. DBI D, TRI M(s. Mod ule) OR DER BY SU M(s. Sam ple _Cy cle) DES C • Zur Info das von Panorama verwendete SQL zur Ermittlung der Kennwerte je Module • Es wird hier die Historie aus DBA_Hist_Active_Sess_History mit den aktuellen sekündlichen Informationen aus GV$Active_Session_Historie überlagert, so dass Auswertungen unabhängig vom AWR-Snapshot bis zur aktuellen Sekunde möglich sind