Tehnologia Informației

cum să verificați dimensiunea memoriei și stocării bazei de date Oracle

în anumite ocazii, mi se va solicita o cerință de resurse estimată pentru o bază de date care va fi configurată pentru un mediu de dezvoltare sau ca bază de date standby. Următoarele sunt metodele mele pentru a calcula dimensiunea memoriei și a stocării pe baza bazei de date de producție existente. Calculul pe dimensiunea de stocare sunt destinate pentru UNIX și LINUX.

1. Obțineți amprenta de memorie estimată a unei baze de date existente.

—- Obțineți amprenta SGA a unei instanțe de bază de date:

SQL> selectați sum(value)/1024/1024 „total SGA (MB)” de la v$SGA;

—- obțineți consumul PGA curent al unei instanțe de bază de date:

selectați suma (pga_max_mem) / 1024 /1024 „total max PGA( MB)” din procesul v$;

o defalcare mai detaliată a utilizării memoriei PGA:

selectați spid, program,

pga_max_mem max,

pga_alloc_mem allocare,

pga_used_mem folosit,

pga_freeable_mem gratuit

de la V$proces;

notă: numele programului rezultat nu are un nume de proces asociat (ex. PMON, SMON, RECO,..) este un proces de sesiune.

în funcție de setările proceselor parametrilor init, s-ar putea ca interogările de mai sus să capteze doar conexiunile active.

—- Obțineți cerința de memorie estimată pentru sesiunile neconectate:

interogarea de mai jos oferă memoria maximă alocată de o sesiune de utilizator. Vom folosi acest lucru pentru a calcula cerințele de memorie rămase pentru procesele neconectate.

selectați max (p. pga_max_mem) / 1024 / 1024 „PGA MAX MEMORY of user SESSION (MB)”

din v $ process p, v $ session s

unde P. ADDR = S. paddr și s. username nu este null;

obțineți numărul maxim de procese pe care le poate gestiona o instanță Oracle.

selectați Nume, valoare din parametrul v$

unde nume = ‘procese’;

să numărăm numărul de sesiuni conectate:

selectați count(1) din v $ session

unde numele de utilizator nu este nul;

obțineți totalul conexiunilor disponibile scăzând numărul sesiunilor conectate din valoarea parametrului procese.

valoarea rezultată se înmulțește cu memoria maximă alocată rezultată printr-o sesiune efectuată de interogarea anterioară.

acest lucru vă va oferi apoi cantitatea estimată de memorie de rezervă necesară pentru a găzdui conexiuni suplimentare.

necesarul total de memorie estimat

SGA + PGA = cerința de memorie EST pentru conexiunile curente

SGA + PGA + sesiuni neconectate = cerință de memorie EST la utilizarea maximă a procesului

unde:

sesiuni neconectate (MB) =(sesiuni conectate la procese) * Memorie maximă PGA a sesiunii utilizatorului

2. Obțineți cerințele estimate de dimensionare a stocării unei baze de date.

procedura de mai jos în determinarea dimensiunii de stocare sunt destinate pentru mediul Unix și LINUX. În ceea ce privește windows, faceți clic dreapta și selectați proprietățile de pe fiecare dintre literele de unitate date de rezultatele interogărilor.

@server primar,

– copiați și lipiți fiecare comenzi rezultate pe un script shell și executați în serverul primar pentru a obține dimensiunea punctului de montare

selectați unic ‘ df-k | / / A.MTPOINT MOUNT_POINT

din (Selectați substr(nume_fișier, 0, instr(nume_fișier,’/’,1,2)-1) MTPOINT

din dba_data_files

Uniune

selectați substr(nume_fișier, 0, instr(nume_fișier,’/’,1,2)-1) MTPOINT

din dba_temp_files

Uniune

selectați substr (membru,0, instr (membru,’/’,1,2)-1) MTPOINT

din v$fișier jurnal

Uniune

selectați substr(nume, 0, instr(Nume,’/’,1,2)-1) MTPOINT

din v$controlfile

) a;

— interogare toate destinație fișier parametru și de a determina dacă acestea sunt de cale diferită de la punctul de montare datafile sau ORACLE_BASE dir.

obțineți dimensiunea punctului de montare a destinațiilor fișierelor

selectați Nume, valoare

din parametrul v$

unde (regexp_like(nume, ‘^log_archive_(dest|dest\_())$’, ‘i’) sau nume ca ‘%dump_dest’ sau nume ca ‘%file_dest’ sau nume ca ‘diag%dest’ sau nume =’utl_file_dir’) și valoarea nu este NULL;

— interogați directoarele bazei de date pentru punctele de montare

selecteaza ‘ df-k |/ / substr (CALEA_DIRECTORULUI,0,instr (CALEA_DIRECTORULUI,’/’,1,2)-1) MTPOINT din dba_directories;

o alternativă pentru o comandă df este de a grep toate baza de date validă legate de punctul de montare într-un singur șir pentru a obține un raport mult mai concis.

exemplu:

$ df-k / grep-e ‘/ u01 / / u02 / / utldir / / opt’

Write a Comment

Adresa ta de email nu va fi publicată.