sql >> Databáze >  >> RDS >> Oracle

Oracle:Proč Oracle vytváří vektor opakování změn popisující změnu bloku zpět, když uživatel vydá pokyn ke změně položky dat

Řekněme, že máte nedokončenou (nepotvrzenou) transakci. Společnost Oracle provedla všechny věci, které jste uvedli v otázce.

Nyní stroj havaruje.

DBA po obnově počítače (nebo na novém počítači, záleží :)) obnoví poslední zálohu a použije všechny redo logs na nové instanci. V opakování je také to, co bylo provedeno v kroku 1. Ale tato práce není zavázána, takže ji motor musí vrátit zpět. K tomu potřebuje rollback segment. Segment vrácení zde ale nebude, pokud jste jej nepřihlásili v kroku 3.

Vím, že se teď zeptáte:proč používá protokoly pro nezávaznou práci? To byla také moje otázka, když jsem o tom četl. Nevím to jistě, ale možná je to jednodušší. Možná je těžší zkontrolovat u každého záznamu protokolu, že je součástí potvrzené transakce. Oracle však funguje takto:použiji všechny redo logs a poté vrátím zpět nepotvrzené transakce.




  1. exportní tabulka mysql na základě konkrétní podmínky

  2. Jak mohu vložit data do SQL Server pomocí VBNet

  3. Vytvořte spouštěč pro automatické zvýšení id a výchozí unixové datum a čas

  4. Získejte příspěvky od neblokujících uživatelů