Miten tarkistaa Oraclen tietokannan muisti ja tallennuskoko
tietyissä tilanteissa minulta kysytään arviota resurssitarpeista kehitysympäristöön tai valmiustilatietokantaan asennettavalle tietokannalle. Seuraavassa on menetelmäni laskea muistin ja tallennuksen koko olemassa olevan tuotantotietokannan perusteella. Tallennuskoon laskeminen on tarkoitettu Unixille ja Linuxille.
1. Hanki arvioitu muistijälki olemassa olevaan tietokantaan.
—- Hae tietokannan ilmentymän SGA-jalanjälki:
SQL> Valitse summa(arvo)/1024/1024 ”yhteensä SGA (MB)” V$SGA: sta;
—- Hae tietokannan ilmentymän nykyinen PGA-kulutus:
Valitse summa (pga_max_mem)/1024/1024 ”yhteensä MAX PGA (MB)” V$ – prosessista;
tarkempi erittely PGA-muistin käytöstä:
valitse spid, program,
pga_max_mem max,
pga_alloc_mem Allocation,
pga_used_mem used,
pga_freeable_mem free
FROM V$PROCESS;
Huom: tuloksena oleva ohjelman nimi, johon ei liity prosessin nimeä (ent. PMON, SMON, RECO,..) on istuntoprosessi.
riippuen init-parametriprosessien asetuksista, voi olla, että yllä olevat kyselyt vain kaappaavat aktiiviset yhteydet.
—- Hanki arvioitu muistitarve liittymättömille istunnoille:
alla oleva kysely antaa käyttäjän istunnon varaaman maksimimuistin. Käytämme tätä laskiaksemme jäljellä olevat muistivaatimukset liittymättömille prosesseille.
valitse max(p.PGA_MAX_MEM)/1024/1024 ”PGA MAX MEMORY of USER SESSION (MB)”
from v$process p, v$session s
where P. ADDR = S. paddr and s. username is not null;
Hanki enimmäismäärä prosesseja, että Oracle instanssi voi käsitellä.
valitse nimi, arvo v$parametrista
missä name = ”prosessit”;
lasketaan yhdistettyjen istuntojen määrä:
valitse lukumäärä (1) V$ – istunnosta
, jossa käyttäjätunnus ei ole nolla;
Hanki käytettävissä olevien yhteyksien kokonaismäärä vähentämällä liitettyjen istuntojen määrä prosessien parametrin arvosta.
saatu arvo kerrotaan saadulla suurimmalla varatulla muistilla edellisen kyselyn avulla tehdyllä istunnolla.
näin saat arvioidun määrän varamuistia, joka tarvitaan lisäyhteyksien varaamiseen.
arvioitu muistin kokonaistarve
SGA + PGA = EST-muistin vaatimus nykyisille yhteyksille
SGA + PGA + UNCONNECTED SESSIONS = EST MEMORY REQUIREMENT AT MAXIMUM PROCESS UTILIZATION
where:
Unconnected Sessions (MB) = (processes – connected sessions) * PGA Max memory of user session
2. Hanki arvioitu varastointi mitoitus vaatimukset tietokannan.
alla oleva menettely tallennuskoon määrittämisessä on tarkoitettu UNIX-ja LINUX-ympäristöön. Kuten windows, klikkaa hiiren oikealla ja valitse ominaisuudet kunkin aseman kirjaimia antama tulokset kyselyt.
@ primary server,
— kopioi ja liitä jokainen tuloksena oleva komento komentotulkkikomennolle ja suorita ensisijaisessa palvelimessa saadaksesi liitospisteen koon
valitse yksilöllinen ’df-k’ ||a.MTPOINT MOUNT_POINT
alkaen (Valitse ala (FILE_NAME, 0, instr(FILE_NAME,’/’,1,2)-1) MTPOINT
from dba_data_files
union
select substr(FILE_NAME, 0, instr(FILE_NAME,’/’,1,2)-1) MTPOINT
from dba_temp_files
union
select substr(MEMBER,0, instr(MEMBER,’/’,1,2)-1) MTPOINT
from v$logfile
union
select substr(NAME,0, instr(NAME,’/’,1,2)-1) MTPOINT
from v$controlfile
) a;
— kysely kaikki parametri tiedoston määränpää ja määrittää, jos ne ovat eri polku datafile mount point tai ORACLE_BASE dir.
get the mount point size of file destinations
select name, value
from v$parameter
where (regexp_like(name, ” ^log_archive_(dest|dest\_ ())$”, ”i”) or name like ”%dump_dest ”or name like” %file_dest ”or name like” diag%dest ”or name like” diag % dest ”or name = ”utl_file_dir”) ja arvo ei ole nolla;
— Kysy liittämispisteiden tietokantahakemistoista
valitse ”DF-k” ||substr (DIRECTORY_PATH,0, instr(DIRECTORY_PATH,’/’,1,2)-1) MTPOINT from dba_directories;
vaihtoehtona DF komento on grep kaikki voimassa tietokantaan liittyvät liitospiste yhdellä merkkijonolla saada paljon tiiviimpi raportti.
esimerkki:
$ df-k | grep-E ’/u01| / u02 / / utldir| / opt’