Sådan kontrolleres Oracle Databasehukommelse og lagringsstørrelse
ved visse lejligheder vil jeg blive bedt om et estimeret ressourcekrav til en database, der vil blive konfigureret til et udviklingsmiljø eller som en standby-database. Følgende er mine metoder til at beregne hukommelse og lagringsstørrelse baseret på den eksisterende produktionsdatabase. Beregningen af lagerstørrelsen er beregnet til f. eks.
1. Få den estimerede hukommelse fodaftryk af en eksisterende database.
—- Hent SGA-fodaftrykket for en databaseinstans:
kvm> vælg sum (værdi) / 1024 / 1024 “TOTAL SGA (MB)”fra v$sga;
—- få det aktuelle PGA-forbrug af en databaseforekomst:
vælg sum (pga_maks_mem) / 1024 /1024″ Total maks PGA (MB) ” fra V$proces;
en mere detaljeret oversigt over PGA-hukommelsesforbrug:
vælg spid, program,
pga_maks_mem maks,
pga_alloc_mem alloc,
pga_used_mem brugt,
pga_freeable_mem gratis
fra V$proces;
bemærk: det resulterende programnavn har intet tilknyttet procesnavn (f.eks. PMON, SMON, RECO,..) er en session proces .
afhængigt af indstillingerne for init-parameterprocesserne kan det være, at forespørgslerne ovenfor kun fanger de aktive forbindelser.
—- få det estimerede hukommelseskrav til de ikke-tilsluttede sessioner:
forespørgslen nedenfor giver den maksimale tildelte hukommelse af en brugersession. Vi bruger dette til at beregne de resterende hukommelseskrav til de ikke-forbundne processer.
vælg maks. (p. pga_maks_mem)/1024/1024 “PGA maks. hukommelse for brugersession (MB)”
fra v$process p, v$session s
hvor P. ADDR = S. paddr og S. brugernavn er ikke null;
få det maksimale antal processer, som en Oracle-instans kan håndtere.
Vælg navn, værdi fra V $ parameter
hvor navn = ‘processer’;
lad os tælle antallet af tilsluttede sessioner:
vælg count (1) fra v$session
hvor Brugernavn ikke er null;
få de samlede tilgængelige forbindelser ved at trække antallet af tilsluttede sessioner fra parameterværdien processer.
den resulterende værdi multipliceres med den resulterende maksimale tildelte hukommelse med en session udført af den foregående forespørgsel.
dette vil så give dig den estimerede mængde reservehukommelse, der er nødvendig for at rumme yderligere forbindelser.
estimeret samlet hukommelseskrav
SGA + PGA = EST hukommelse krav til aktuelle forbindelser
SGA + PGA + ikke-tilsluttede sessioner = EST-hukommelseskrav ved maksimal PROCESUDNYTTELSE
hvor:
ikke-tilsluttede sessioner (MB) = (processer – tilsluttede sessioner) * pga maks. hukommelse for brugersession
2. Få de estimerede krav til lagringsstørrelse i en database.
fremgangsmåden nedenfor til bestemmelse af Lagringsstørrelsen er beregnet til miljø. Hvad angår vinduer, skal du bare højreklikke og vælge egenskaberne på hver af de drevbogstaver, der er givet af resultaterne af forespørgslerne.
@primær server,
— Kopier og indsæt hver resulterende kommandoer på et shell script og udfør i primær server for at få monteringspunktstørrelsen
vælg unik ‘df-k’ / / a.MTPOINT MOUNT_POINT
fra ( Vælg substr(filnavn,0,instr (filnavn,’/’,1,2)-1) MTPOINT
fra dba_data_files
union
vælg substr (filnavn,0, instr (filnavn,’/’,1,2)-1) MTPOINT
fra dba_temp_files
union
vælg substr (medlem,0, instr (medlem,’/’,1,2)-1) MTPOINT
fra V$logfil
union
vælg substr (navn,0, instr(navn,’/’,1,2)-1) MTPOINT
fra V $ controlfile
) a;
— Forespørg alle parameterfildestinationer, og find ud af, om de har en anden sti fra datafilens monteringspunkt eller ORACLE_BASE dir.
Hent monteringspunktstørrelsen på fildestinationer
Vælg navn, værdi
fra V$parameter
hvor (regeksp_like(navn, ‘^log_archive_(dest|dest\_())$’, ‘i’) eller navn som ‘%dump_dest’ eller navn som ‘%file_dest’ eller navn som ‘diag%dest’ eller navn som =’utl_file_dir’) og værdien er ikke null;
— Forespørg databasekatalogerne for monteringspunkter
vælg ‘ DF-k ‘||substr(DIRECTORY_PATH,0,instr(DIRECTORY_PATH,’/’,1,2)-1) MTPOINT fra dba_directories;
et alternativ til en DF-kommando er at grep alt det gyldige databaserelaterede monteringspunkt i en enkelt streng for at få en meget mere kortfattet rapport.
eksempel:
$ df-k | grep-E ‘/u01|/u02 / / utldir / / opt’