Oracle Database Statistics

Når det gjelder statistikk innenfor Oracle database, i
nformasjon er makt
. Det sier oversetter en rekke forskjellige måter, men den generelle ideen er at jo mer du vet om noen eller noe, jo mer effektive du kan jobbe med at noen eller noe.

For en database for å prestere på topp nivå, må du gi databasen motoren informasjon om dine data. Data om data kalles metadata
. Oracle statistikk er metadata om dine data. Det finnes flere typer statistikk som Oracle bruker:

Objekt statistikk: Denne statistikken inneholder informasjon om de faktiske data. For eksempel hvor mange rader har en tabell ha? Eller, hva er det unike dataene i en kolonne

Systemstatistikk: Denne statistikken inneholder informasjon om driftsressursforbruk av databasen for eksempel hvor opptatt er CPUer eller hva er lese /skrive tid av diskene

Faste tabellstatistikk:?. Denne statistikken inneholder opplysninger om selve databasen med hovedfokus på interne V $ tabeller eller data ordbok

Hele kapitler av bøker har blitt viet til innsamling statistikk. Men nylig (siden Oracle 10g) Oracle har gitt noen metoder internt i databasen som kan hjelpe i å samle objekt statistikk automatisk. Faktum er at det er fortsatt noen ting databaseadministratorer kan gjøre for å få mer informasjon i hendene på Oracle database fordi systemet statistikk og faste tabellstatistikk ikke ennå automatisk samlet.

Først av alt, la oss snakke om samlings system statistikk. System statistikk er ikke ufarlig for databasen. Databasen leveres med et sett av generiske oppsamlingssystemet statistikk, men de er egentlig ikke kommer til å gjøre oss mye godt. Du skjønner, system statistikk, noen ganger også kalt arbeidsbelastning statistikk, bør være på linje med databaser 'travle tider når arbeidsmengden er størst. De er de tider da systemet statistikk er viktigst fordi det er når systemet, kan skattlegges. Den beste praksis er å fange statistikk i tidsintervall når systemet har den vanligste arbeidsbelastning. Samle arbeidsmengde statistikk ikke genererer ekstra overhead

Å samle system statistikk, følg denne fremgangsmåten.

La oss si at selskapet er travleste 12-5 pm

At 24:00 starter du system statistikk samlingsprosess. Logg inn i databasen som en bruker med databaseadministrator (DBA) privilegier og skriv inn følgende:
EXECUTE DBMS_STATS.GATHER_SYSTEM_STATS (gathering_mode = > 'START');

At 17:00, kan du logge inn i databasen og problemet :
EXECUTE DBMS_STATS.GATHER_SYSTEM_STATS (gathering_mode = > 'STOP');

den vanligste retningslinje er at du samler system statistikk bare når en fysisk endring skjer i miljøet, for eksempel, blir serveren raskere prosessorer, mer minne, eller forskjellige disklagring. Men du kan også vurdere å gjøre dette hvis du føler arbeidsmengden er betydelig endret. For eksempel har selskapet doblet antall ansatte

Et siste notat på system statistikk &ndash.; du kan få mer spesifikk med system statistikk. Dette var en mest grunnleggende eksempel. Noen av dere har kanskje to forskjellige arbeidsoppgaver som avviker sterkt i ressursforbruk i løpet av dagen. For eksempel kan du ha en dagtid arbeidsbelastning som er mest transaksjonsbasert og en nighttime arbeidsmengde som er mest leste basert. Du kan faktisk definere mer enn ett sett med system statistikk og deretter distribuere hver og en på visse tider av døgnet gjennom en planlagt jobb slik at du har den beste statistikken for arbeidsmengden. For å få mer informasjon om bruk av denne tilnærmingen, se DBMS_STATS pakken referanse med eksempler for varierende arbeidsmengde på dette Oracle dokumentasjon linken.

Til slutt, faste tabellstatistikk. Faste bord statistikk er statistikk som inneholder metadata om interne X $ og V $ visninger. Disse synspunktene er ikke bare brukes av deg, DBA, men også internt Oracle. Som vanlig objekt statistikk, jo mer Oracle vet om hva som finnes innenfor disse synspunktene, kan bedre optimerings utføre mot dem. Som system statistikk, anbefaler Oracle at denne statistikken er best samlet når det er en belastning på systemet.

Du må ha systemet dabatase administrator (SYSDBA) eller analysere DICTIONARY system privilegium å utføre denne prosedyren.

For å samle fast objekt statistikken følgende:

Logg inn i databasen som en SYSDBA bruker:

Gi kommandoen:
exec DBMS_STATS.GATHER_FIXED_OBJECTS_STATS;

Vær. oppmerksom på at i løpet av perioden, mens denne statistikken kjører, kommer det til å være en liten innvirkning på systemet overhead. Siden denne statistikken er lik protestere statistikk, bør det ikke være mer enn du normalt ville oppleve når samle objekt statistikk. Så selv om Oracle anbefaler at du gjør dette under peak arbeidsbelastning, være sikker på at du kan spare ressurser til å fullføre jobben. Noen ganger kan det ta opptil 15 minutter. Oracle anbefaler også fast objekt statistikkene oppdateres hvis du gjør noen store database eller programendringer. For eksempel, hvis du øker minnet i databasen da alle de interne tabeller som inneholder informasjon om buffer cache og felles svømmebasseng kan endre seg.