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

Je to v detailech

Mám databázi Oracle 12.1.0.2 Multitenant, ze které se pokouším odstranit PDB. Omylem jsem však odstranil úložiště z databázového serveru a PDB nemá přístup ke svým souborům. Při odpojování PDB se zobrazí následující chyba:

SQL> alter pluggable database GOLD2019_08_22_125953 unplug into '/tmp/GOLD2019_08_22_125953.xml';
alter pluggable database GOLD2019_08_22_125953 unplug into '/tmp/GOLD2019_08_22_125953.xml'
*
ERROR at line 1:
ORA-01157: cannot identify/lock data file 50277 - see DBWR trace file
ORA-01110: data file 50277:
'/u01/app/oracle/oradata/mt_golden_2019_08_22_125953/data03/datafile_20.dbf'

To je nešťastné, ale v mém případě se to dá očekávat. Omylem jsem vytrhl úložiště pro tento PDB, než jsem ho odpojil. Většina literatury na stránkách podpory Oracle říká, že je třeba obnovit PDB ze zálohy. Ale tento PDB je produkční klon a nestarám se o jeho zálohování. Je to 25+TB a pokud se s tím něco pokazí, odstraním PDB a vytvořím nový klon výroby. Není potřeba žádná záloha, kromě may, aby mě zachránila před mou hloupou chybou, když jsem před odpojením vytáhl úložiště.

Protože se mi nepodařilo odpojit PDB, pokusil jsem se PDB prostě vypustit, ale zobrazuje se jiná chyba:

SQL> drop pluggable database GOLD2019_08_22_125953 keep datafiles;
drop pluggable database GOLD2019_08_22_125953 keep datafiles
*
ERROR at line 1:
ORA-65179: cannot keep datafiles for a pluggable database that is not unplugged

Teď se cítím, jako bych byl v situaci Hlavy 22. Nemohu odpojit PDB ani jej nemohu upustit.

Tuto chybu jsem viděl při mnoha příležitostech a vždy jsem si přál, abych mohl PDB jednoduše vypustit, aniž bych jej musel nejprve odpojit. Nemám chuť to zapojit do jiného CDB. Chci jen, aby ta věc navždy zmizela. A tehdy jsem si uvědomil, že je to v detailech. Když jsem četl tuto chybovou zprávu ORA-65179, zaměřil jsem se na její druhou část. PNR není nejprve odpojen. Při své práci s Multitenantem jsem si tuto chybovou zprávu přečetl nejméně 20krát a vynechal jsem kritický detail, který mi zabránil vypustit PDB, což nyní zdůrazním níže.

ORA-65179:nelze uchovat datové soubory pro připojitelnou databázi, která není odpojena

Detail, který neustále přeskakuji, byl ten, že jsem nemohl UCHOVAT datové soubory. Znamená to, že mohu zahodit PDB, pokud odstraním také datové soubory?

SQL> drop pluggable database GOLD2019_08_22_125953 including datafiles;

 Pluggable database dropped. 

Jistě, mohl bych snadno upustit od PNR. Někdy se nejzajímavější věci objeví v detailech, když jen trochu zpomalíme a ujistíme se, že vidíme všechno před sebou, místo abychom skákali na konec.


  1. Jak nastavit vzdálené připojení k PostgreSQL

  2. Uspořádaný počet po sobě jdoucích opakování / duplikátů

  3. Jak dynamicky mapovat vstupní a výstupní sloupce v SSIS?

  4. Jak funguje ASCII() v MariaDB