ANDMEBAASIDE MONITOORIMINE PRIIT RASPEL ANDMEBAASIDE MONITOORIMISE OLEMUS Andmebaasi
ANDMEBAASIDE MONITOORIMINE PRIIT RASPEL
ANDMEBAASIDE MONITOORIMISE OLEMUS • Andmebaasi monitoorimine on protsess, mille käigus jälgitakse andmebaasis toimuvaid füüsilisi (!) protsesse. • Jälgitakse “nappide” ressursside (ära)kasutamist veendumaks, et süsteemi töövõime tagamiseks piisav reserv on saadaval. • Monitoorimist ei saa teha “käsitsi”. Selleks tuleb kasutada selleks ettenähtud spetsiaaltarkvara.
MONITOORIMISE TARKVARA • Igal andmebaasisüsteemil on selleks tavaliselt oma vahendid (aga mitte alati) • Saadaval on “sõltumatute tarkvaratootjate” poolt loodud vahendeid, mis on kirjutatud nii ühe kindla tootja andmebaasisüsteemiga loodud andmebaaside monitoorimiseks või siis ka selliseid, mille abil on võimalik monitoorida mitmete erinevate tootjate poolt loodud andmebaasisüsteeme.
MÕNED MONITOORIMISE VAHENDID • Karma - Oracle Database Monitoring system; open source; valmistaja - i. Heavy Inc; http: //iheavy. com/topics. php? op=viewtopic&topic=11 • Quest Software – Oracle, DB 2, SQLServer; süsteemide pere erinevate probleemide lahendamiseks http: //www. quest. com/solutions/database_management. asp • App. Dancer/FA – Networ Monitoring, SQLServer & SQL Excahange Server; valmistaja App. Dancer Networks; http: //www. appdancer. com/appdancer 1. htm • SQL Power Tools Inc – süsteemide pere SQL AB-de monitoorimiseks; http: //www. sqlpower. com/ • Precise/indepth – Oracle, DB 2, SQL Server; valmistaja - Precise software solutions; http: //www. precise. com/
MONITOORITAVAD RESSURSID • OP-mälu kasutamine (% of memory load): – süsteemne (globaalne piirkond) piirkond – protsesside piirkond • Kettaruumi kasutamine (free storage): – süsteemsed piirkonnad (system area) – tabeleid sisaldavad piirkonnad (user area) – logi-piirkond (log area)
OP-MÄLU KASUTAMINE • OP-mälu reeglipärane toimimine on andmebaasi jõudluse tagamise võtmeküsimus. • Tuleb pidevalt jälgida op-mälu kasutamist • Oluline, et op-mälus olevad AB-mootoriga seotud mälupiirkonnad on määratud selliselt, et nad ei hakka swappima; nii pea kui mingit mälu osa hakatakse swappima on kõik pingutused jooksnud tühja
OP-MÄLU MONITOORIMINE ORACLE’s 1. Monitooritav osa • Oracle’s on tähtsaim osa op-mälust, mida peab monitoorima, SGA (System Global Area) • Monitoorida on mõtet SGA suurust ja sellekasutatuse %-i.
OP-MÄLU MONITOORIMINE Oracle’s 2. Baasstruktuuride loomine CREATE TABLE dba$resource_limit (timestamp DATE, resource_name VARCHAR 2(30), current_utilization NUMBER, max_utilization NUMBER, initial_allocation VARCHAR 2(10), limit_value VARCHAR 2(10)); CREATE TABLE dba$sgastat (timestamp DATE, pool VARCHAR 2(30), name VARCHAR 2(30),
OP-MÄLU MONITOORIMINE Oracle’s 3. Limiitide hetkeväärtuste (korduv) registreerimine INSERT INTO dba$resource_limit (timestamp, resource_name, current_utilization, max_utilization, initial_allocation, limit_value ) SELECT TRUNC(SYSDATE), resource_name, current_utilization, max_utilization, initial_allocation, limit_value FROM v$resource_limit;
OP-MÄLU MONITOORIMINE Oracle’s 4. Staatuste hetkeväärtuse (korduv) registreerimine • INSERT INTO dba$sgastat (timestamp, pool, name, bytes ) SELECT TRUNC(SYSDATE), pool, name, bytes FROM v$sgastat;
KETTARUUMI KASUTAMINE • Andmebaasi kettaruum on tavaliselt kas: – operatsioonisüsteemi failid ja/või – ketta partitsioonid • Kõik failid ja partitsioonid on registreeritud andmebaasiserveris (table-space); Need on “käsitsi” eraldatud piirkonnad. • On võimalik ka automaatne mälu eraldus (Oracle AUTOEXTEND)
KETTARUUMI MONITOORIMINE Oracle’s 1. Ressursi ammendumise päring (NEXT_EXTENT) (millistel segmentidel on oht järgmise extendi loomisel ületada pideva vaba mälu piir) • SELECT owner, s. tablespace_name, segment_name, s. bytes, next_extent, MAX(f. bytes) largest FROM dba_segments s, dba_free_space f WHERE s. tablespace_name = f. tablespace_name(+) GROUP BY owner, s. tablespace_name, segment_name, s. bytes, next_extent
KETTARUUMI MONITOORIMINE Oracle’s 2. Ressursi ammendumise päring (MAX_EXTENT) (millised segmendid on jõudnud lähedale oma MAX_EXTENT väärtusele) SELECT owner, tablespace_name, segment_name, bytes, extents, max_extents FROM dba_segments WHERE extents*2 > max_extents
KETTARUUMI MONITOORIMINE Oracle’s 3. Table-space ajaloo jälgimise struktuuri loomine CREATE TABLE dba_tablespace_history ( timestamp DATE, tablespace_name VARCHAR 2(30), num_of_files NUMBER, num_of_blocks NUMBER, num_of_bytes NUMBER ) ;
KETTARUUMI MONITOORIMINE Oracle’s 4. Segmentide ajaloo jälgimise struktuuri loomine CREATE TABLE dba_segments_history (timestamp DATE, owner VARCHAR 2(30), segment_name VARCHAR 2(30), partition_name VARCHAR 2(30), segment_type VARCHAR 2(17), tablespace_name VARCHAR 2(30), bytes NUMBER, blocks NUMBER, extents NUMBER ) ;
KETTARUUMI MONITOORIMINE Oracle’s 5. Table-space ja segmentide ajaloo kogumine • INSERT INTO dba_tablespace_history SELECT TRUNC(sysdate), tablespace_name, count(*), sum(blocks), sum(bytes) FROM dba_data_files GROUP BY TRUNC(sysdate), tablespace_name; • INSERT INTO dba_segments_history SELECT TRUNC(sysdate), owner, segment_name, partition_name, segment_type, Tablespace_name, bytes, Blocks, extents FROM dba_segments;
TÄNAN TÄHELEPANU EEST!
- Slides: 17