Defragmentarea bazei de date Exchange Server 2003

0

Una dintre cele mai mari probleme intilnite lucrând cu Microsoft Exchange Server 2003 este alocarea de spaţiu pe disc. Baza de date a Exchange creşte odata cu creșterea numarului de mesaje in casuta poștala ceea ce nu e nimic straniu, problema apare atunci când dorim sa facem un pic de curețenie printre mesaje, ștergându-le pe cele vechi sau pe cele de care nu avem nevoie sau ștergând chiar casuta poștală când nu mai e nevoie de ea, aici observam ca baza de date nu își micșorează dimensiunile sale așa cum ne-am așteptat, dar ramâne aceeași. Acest lucru se datorează faptului că baza de date Exchange este alcătuită din pagini care creşte odată cu creşterea cererii de spaţiu, dar nu scade in dimensiuni dacă ştergeţi date din DB.

Pentru a şterge definitiv aceste pagini, executaţi o defragmentare a DB off-line(demontata), prin intermediul utilitarului Eseutil

http://technet.microsoft.com/en-gb/library/aa998249.aspx

Executam comanda “eseutil /d db.edb” daca in mapa contine db.edb se afla si fisierul db.stm.In cazul in care db.stm se afla in alta locatie executam comanda “eseutil /d db.edb /s x:\db.stm. Amintiţi-vă că aceasta este o DB demontata si căsuţele poştale nu sunt disponibile.

Când executaţi o defragmentare trebuie să ne amintim că Eseutil creează fişiere temporare pentru fisierul db.edb cit si pentru db.stm, astfel încât trebuie să dispunem de spaţiu liber pe disc pentru această operaţiune. Cantitatea de spaţiu liber în conformitate cu Microsoft trebuie să fie 110% din dimensiunea fişierului, dar nu e chiar aşa, spaţiul liber de care avem nevoie trebuie să fie 10 % din suma DB.

Dar cit este acest spatiu liber?

Pentru a înţelege modul în care baza de date va fi redusa, astfel încât să stim de cit spaţiu liber pe hard-am nevoie , folosim utilitarul Eseutil cu următoarea sintaxă “eseutil /ms db.edb /s x:\db.stm. Acest operatiune trebui să se facă întotdeauna cu DB demontata şi dureaza o perioadă de timp, care se datorează mai multor factori: dimensiunea şi starea DB, performanţa computerului, cu toate acestea, pare să fie mai mică decât timpul necesar pentru a face complet Defragmentarea.

Rezultatul acestei proceduri pare a fi destul de complex, dar suntem interesati de inceputul şi sfârşitul rezultatului.

In prima parte observam aceste rezultate:

Defragmentarea bazei de date Exchange Server 2003

In partea evidentiata, relativa la DB de streaming db.stm indică numărul de pagini libere pentru aceasta DB. Sunt 72102, această valoare în cazul în care multiplicata  cu 4000, care este mărimea în octeţi a fiecarei pagini, ca rezultat avem 288 MB, circa pagini libere. Baza de date db.stm este un fişier de circa 16.9 GB din care scazind 288 MB de pagini libere, rezulta o baza de date defragmentata de 16.6 GB, astfel incat aceasta va fi dimensiunea maxima a fisierelor temporare in timpul defragmentarii db.stm.

Aceasta este, în schimb, partea finală a rezultatului:

Defragmentarea bazei de date Exchange Server 2003

În acest caz, avem numarul de pagini libere pentru db.edb egală cu 575377 de înmulţit cu 4000, care ne dă un total de 2,3 GB de pagine libere care scazind din 14.8GB de db.edb, rezulta o DB defragmentata de 12.5GB.

După rezultatul dat la executarea” eseutil /ms putem spune cit câştigam pentru a executa o defragmentare offline a DB şi de cât spaţiu pe disc am nevoie pentru a face acest lucru. Dacă pe discul unde se afla DB, pentru defragmentare nu am suficient spatiu pentru a aloca db temporare, pot folosi optiunile Eseutil pentru plasarea db temporare pe alte volume după sintaxa completă:

eseutil /d x:\db.edb /s y:\db.stm /t v:\temp.edb /f z:\temp.stm

Înainte de a efectua o defragmentare offline a DB trebuie de reflectat asupra acestui lucru. Este de natura bazelor de date Exchange sa aloce şi eliberare a paginilor libere, atâta timp cât are pagini libere dimensiunea DB nu se va schimba, desigur. Timpul de executie a defragmentarii nu este foarte rapidă, într-adevăr, pentru defragmentarea aproximativ 10 GB este nevoie de o ora, iar în cazul în care DB temp le-am repartizat pe alte volume trebuie să ia în considerare si asta, pentru a defragmenta de exemplu 100 GB vom avea nevoie de 10 ore.

Ca sfat final, după ce defragmenta-ti o DB, imediat executaţi o copie de siguranţă.

Leave A Reply