Hvordan Sjekke Oracle Database Minne Og Lagringsstørrelse
ved enkelte anledninger vil jeg bli bedt om et estimert ressursbehov for en database som skal settes opp for et utviklingsmiljø eller som en standby-database. Følgende er mine metoder for å beregne minne og lagringsstørrelse basert på den eksisterende produksjonsdatabasen. Beregningen på lagringsstørrelsen er ment FOR UNIX og LINUX.
1. Få estimert minne fotavtrykk av en eksisterende database.
—- Få sga-fotavtrykk av en databaseforekomst:
SQL > VELG sum (verdi)/1024 / 1024″ TOTAL SGA (MB) «fra v$sga;
—- Få det nåværende PGA-forbruket av en databaseforekomst:
velg sum (pga_max_mem)/1024 / 1024″ TOTAL MAKS PGA (MB) » fra v$prosess;
En mer detaljert oversikt OVER PGA minnebruk:
VELG spid, program,
pga_max_mem maks,
pga_alloc_mem alloc,
pga_used_mem brukt,
pga_freeable_mem gratis
FRA V$PROSESS;
merk: det resulterende programnavnet har ingen tilknyttet prosessnavn (f.eks. PMON, SMON, RECO,..) er en session prosess .
Avhengig av innstillingene for init-parameterprosessene, kan det være at spørringene ovenfor bare fanger de aktive tilkoblingene.
—- Få det estimerte minnebehovet for de ikke-tilkoblede øktene:
spørringen nedenfor gir maksimalt tildelt minne av en brukerøkt. Vi bruker dette til å beregne de gjenværende minnekravene for de ikke-tilkoblede prosessene.
velg maks(p.pga_max_mem)/1024 / 1024″PGA MAKS MINNE FOR BRUKERØKT (MB)»
fra v$prosess p, v$økt s
Der P. ADDR = s. paddr og s.brukernavn ikke er null;
Få maksimalt antall prosesser Som En Oracle-forekomst kan håndtere.
velg navn, verdi fra v$parameter
der name = ‘prosesser’;
la oss telle antall tilkoblede økter:
velg count (1) fra v$session
hvor brukernavn ikke er null;
Få de totale tilgjengelige tilkoblingene ved å trekke antallet tilkoblede økter fra prosessparameterverdien.
den resulterende verdien skal multipliseres med det resulterende maksimalt tildelte minnet ved en økt utført av forrige spørring.
Dette vil da gi deg den estimerte mengden reserveminne som trengs for å imøtekomme flere tilkoblinger.
ESTIMERT TOTAL MINNEBEHOV
SGA + PGA = EST MINNEKRAV FOR GJELDENDE TILKOBLINGER
SGA + PGA + UKOBLEDE ØKTER = EST MINNEKRAV VED MAKSIMAL PROSESSUTNYTTELSE
hvor:
Ukoblede Økter (MB) = (prosesser – tilkoblede økter) * pga maks minne for brukerøkt
2. Få de estimerte lagringsstørrelseskravene til en database.
prosedyren nedenfor for å bestemme lagringsstørrelsen er ment FOR UNIX-og LINUX-miljøet. Som for windows, bare høyreklikk og velg egenskapene på hver av stasjonsbokstaver gitt av resultatene av spørringene.
@primær server,
– Kopier og lim inn hver resulterende kommandoer på et skallskript og utfør i primær server for å få monteringspunktstørrelsen
velg unik ‘ df-k | / / a.MTPOINT MOUNT_POINT
fra (velg substr(FILNAVN, 0, instr(FILNAVN,’/’,1,2)-1) MTPOINT
fra dba_data_files
union
velg substr (FILNAVN, 0, instr(FILNAVN,’/’,1,2)-1) MTPOINT
fra dba_temp_files
union
velg substr (MEDLEM, 0, instr (MEDLEM,’/’,1,2)-1) MTPOINT
fra v$loggfil
union
velg substr (NAVN, 0, instr (NAVN,’/’,1,2)-1) MTPOINT
fra v $ kontrollfil
) a;
— Spør alle parameterfildestinasjon og avgjøre om de er av forskjellig bane fra datafilmonteringspunktet eller oracle_base dir.
hent monteringspunktstørrelsen for fildestinasjoner
velg navn, verdi
fra v$parameter
hvor (regexp_like(navn, ‘^log_archive_(dest|dest\_())$’, ‘i’) eller navn som ‘%dump_dest’ eller navn som ‘%file_dest’ eller navn som ‘diag%dest’ eller navn =’utl_file_dir’) og verdien er ikke null;
— Spør databasekatalogene for monteringspunkter
velg ‘ df-k | / / substrr(DIRECTORY_PATH, 0, instr (DIRECTORY_PATH,’/’,1,2)-1) MTPOINT fra dba_directories;
et alternativ for en df-kommando er å gripe alle gyldige databaserelaterte monteringspunkter i en enkelt streng for å få en mye mer kortfattet rapport.
eksempel:
$ df-k / grep – e ‘/ u01 / / u02 / / utldir / / opt’