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

ORA-01097

Člověk jednou za čas narazí na něco, co tu bylo odjakživa, ale je to pro něj nová zkušenost. Zrovna dnes jsem poprvé v kariéře narazil na chybu ORA-1097. Byl jsem v testovací databázi a potřeboval jsem ji vypnout.

SQL> shutdown immediate
ORA-01097: cannot shutdown while in a transaction - commit or rollback first
Řešení je nasnadě. Buď potvrďte svou transakci, nebo ji vraťte zpět a pak mohu pokračovat.
SQL> commit;

Commit complete.

SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
S tak nízkým číslem chyb to muselo být už hodně dlouho. Nejprve jsem byl chybou zaskočen. Co tím myslíš, že nemohu vypnout svou instanci? Pak jsem si přečetl chybovou zprávu a uvědomil jsem si, co se děje. Myslím, že to dává smysl. Oracle chce vědět, co dělat s vaší transakcí, než bude možné zahájit odstávku. Pokud provedete PŘERUŠENÍ VYPNUTÍ, Oracle vám tuto zprávu neposkytne, ale vrátí transakci zpět při obnově instance. Morálka příběhu je taková, že i když jste tu byli dlouho a viděli jste toho hodně, neviděli jste to. Všechno.
  1. Vyberte bez klauzule FROM v Oracle

  2. Jak spustit soubor skriptu .SQL pomocí c#

  3. Vyberte počet (*) z více tabulek

  4. Aktualizace pole JSON nepřetrvávají v databázi