28. 7. 2022

Oracle - plné undo

UNDO tablespace:

  • pôvodný image zmenených dátových blokov
  • read consistency
  • rollback


Zaplnený UNDO znamená, že beží jedna veľká transakcia ktorá musí prejsť naraz. Ak neprejde, tak neprejde z nej nič. Dobré rozdeliť na menšie.

Parameter undo_retention je štandardne nastavený na 900 sekúnd (15min). Keď už nageneruje toľko, že prepíše všetky staršie záznamy, začne prepisovať aj mladšie.

Za posledných 24 hodín sa v 10min rezoch dá pozrieť využitie v tabuľke v$undostat:

select
   to_char(u.begin_time,'MM/DD HH24:MI') begin_time,
   u.undoblks undo_blocks,
   u.maxquerylen query_length_secs,
   u.unxpstealcnt, u.expstealcnt,
   u.nospaceerrcnt,
   u.ssolderrcnt ora1555_count,
   '/* '|| s.sql_id || ' */ '|| s.sql_text sql_text
from
   v$undostat u, v$sqltext s
where
   u.maxqueryid = s.sql_id (+)
   and u.maxquerylen > 0 and s.piece = 0;


Žiadne komentáre:

Zverejnenie komentára