informationsteknik

hur man kontrollerar Oracle Databasminne och lagringsstorlek

vid vissa tillfällen kommer jag att bli ombedd att uppskatta resurskraven för en databas som kommer att ställas in för en utvecklingsmiljö eller som en standby-databas. Följande är mina metoder för att beräkna minnes-och lagringsstorleken baserat på den befintliga produktionsdatabasen. Beräkningen på lagringsstorleken är avsedd för UNIX och LINUX.

1. Få det uppskattade minnesavtrycket för en befintlig databas.

—- få SGA-fotavtrycket för en databasinstans:

SQL> välj summa (värde)/1024 / 1024″ TOTAL SGA (MB)”från V$sga;

—- hämta den aktuella pga-förbrukningen för en databasinstans:

välj summa (pga_max_mem) / 1024 /1024″ TOTAL MAX PGA (MB) ” från V$process;

en mer detaljerad uppdelning av PGA-minnesanvändning:

välj spid, program,

pga_max_mem max,

pga_alloc_mem alloc,

pga_used_mem används,

pga_freeable_mem gratis

från V$PROCESS;

Obs: det resulterande programnamnet har inget associerat processnamn (ex. PMON, SMON, RECO,..) är en sessionsprocess.

beroende på inställningarna för init-parameterprocesserna kan det vara så att frågorna ovan bara fångar de aktiva anslutningarna.

—- få det uppskattade minneskravet för de oanslutna sessionerna:

frågan nedan ger det maximala tilldelade minnet av en användarsession. Vi använder detta för att beräkna de återstående minneskraven för de okopplade processerna.

välj max (p. pga_max_mem) / 1024 / 1024 ”PGA MAX minne för användarsession (MB)”

från V$process p, v$session s

där P. ADDR = S. paddr och s. användarnamn är inte null;

få det maximala antalet processer som en Oracle-instans kan hantera.

välj namn, värde från V$parameter

där name = ’processer’;

låt oss räkna antalet anslutna sessioner:

välj räkna (1) från V$session

där användarnamnet inte är null;

få de totala tillgängliga anslutningarna genom att subtrahera antalet anslutna sessioner från processparametervärdet.

det resulterande värdet multipliceras med det resulterande maximala tilldelade minnet med en session som gjorts av föregående fråga.

detta skulle då ge dig den beräknade mängden reservminne som behövs för att rymma ytterligare anslutningar.

uppskattat totalt minneskrav

SGA + PGA = est-minneskrav för aktuella anslutningar

SGA + PGA + oanslutna sessioner = est-minneskrav vid maximalt PROCESSUTNYTTJANDE

var:

oanslutna sessioner (MB) = (processer – anslutna sessioner) * pga max minne för användarsession

2. Få de beräknade lagringskraven för en databas.

proceduren nedan för att bestämma lagringsstorleken är avsedd för UNIX och LINUX-miljö. När det gäller windows, högerklicka bara och välj egenskaperna på var och en av drivbokstäverna som ges av resultaten av frågorna.

@primär server,

— kopiera och klistra in varje resulterande kommandon på ett skalskript och kör i primär server för att få monteringspunktstorleken

välj unik ’df-k’ / / a.MTPOINT MOUNT_POINT

från ( Välj substr(filnamn,0,instr (filnamn,’/’,1,2)-1) MTPOINT

från dba_data_files

union

välj substr (filnamn, 0, instr(filnamn,’/’,1,2)-1) MTPOINT

från dba_temp_files

union

välj substr (medlem, 0, instr (medlem,’/’,1,2)-1) MTPOINT

från V$loggfil

union

välj substr (namn, 0, instr (Namn,’/’,1,2)-1) MTPOINT

från V$controlfile

) a;

— fråga alla parameterfilens destination och avgöra om de har en annan sökväg från datafilens monteringspunkt eller ORACLE_BASE dir.

hämta monteringspunktstorleken för fildestinationer

välj namn, värde

från V$parameter

var (regexp_like(namn, ’^log_archive_(dest|dest\_())$’, ’i’) eller namn som ’%dump_dest’ eller namn som ’%file_dest’ eller namn som ’diag%dest’ eller namn =’utl_file_dir’) och värdet är inte null;

— sök i databaskatalogerna för monteringspunkter

välj ’ DF-k ’||substr(DIRECTORY_PATH,0,instr(DIRECTORY_PATH,’/’,1,2)-1) MTPOINT från dba_directories;

ett alternativ för ett DF-kommando är att grep all giltig databasrelaterad monteringspunkt i en enda sträng för att få en mycket mer kortfattad rapport.

exempel:

$ DF-k / grep-e ’/ u01 / / u02 / / utldir / / opt’

Write a Comment

Din e-postadress kommer inte publiceras.