Kdyz klient rekne aplikace je pomala, prvni misto, kam se divame, je Oracle AWR report. Automatic Workload Repository je zaklad vykonove diagnostiky Oracle databaze.
AWR — co to je¶
Oracle automaticky sbira vykonove statistiky kazdou hodinu (snapshoty). AWR report porovnava dva snapshoty a ukazuje: top SQL dotazy (podle casu, I/O, CPU), wait events (na co databaze ceka), system statistiky (IOPS, throughput), SGA/PGA vyuziti.
Jak cist AWR report¶
DB Time — celkovy cas straveny zpracovanim. Top 5 Timed Events — na co databaze nejvic ceka. db file sequential read = random I/O (indexy). db file scattered read = full table scan. log file sync = cekani na zapis redo logu. Pokud dominuje CPU, problem je v SQL. Pokud dominuje I/O, problem je ve storage nebo chybejicich indexech.
ASH — real-time pohled¶
Active Session History — vzorkuje aktivni sessions kazdou sekundu. V$ACTIVE_SESSION_HISTORY pro posledni pul hodiny, DBA_HIST_ACTIVE_SESS_HISTORY pro historii. ASH report ukazuje, co databaze delala v konkretnim casovem okamziku — neocenitelne pro diagnostiku sporadickych problemu.
Top SQL analyza¶
AWR top SQL sekcee ukazuje dotazy s nejvyssim celkovym casem. Kazdy dotaz ma SQL ID, execution plan hash, pocet executions a prumerny cas. Zmena execution plan hash = optimizer zmenil plan = potencialni problem.
Automated reporting¶
Skript generujici AWR report kazdy den a posilajici ho emailem DBA tymu. Porovnani s predchozim dnem — automaticka detekce regresi (top SQL zmena, wait event spike).
Zaverem¶
AWR a ASH jsou nejmocnejsi diagnosticke nastroje Oracle DBA. Naucte se je cist — usetri hodiny hadani. Automatizujte denni reporty a sledujte trendy. Problem zjisteny z AWR pred klientem je problem, ktery nikdo nevidel.