Snažím se odstranit PDB v Oracle 19.3, který již není potřeba. Zobrazuje se mi následující chyba:
SQL> alter pluggable database DEV_PDB close immediate instances=all;
Pluggable database altered.
SQL> alter pluggable database DEV_PDB unplug into '/tmp/DEV_PDB.xml';
alter pluggable database DEV_PDB unplug into '/tmp/DEV_PDB.xml'
*
ERROR at line 1:
ORA-17500: ODM err:Invalid argument
ORA-01114: IO error writing block to file 5590 (block # 1)
ORA-17500: ODM err:Invalid argument
ORA-01114: IO error writing block to file 5589 (block # 1)
ORA-17500: ODM err:Invalid argument
ORA-01114: IO error writing block to file 5588 (block # 1)
ORA-17500: ODM err:Invalid argument
ORA-01114: IO error writing block to file 5587 (block # 1)
ORA-17500: ODM err:Invalid argument
ORA-01114: IO error writing block to file 5586 (block # 1)
ORA-17500: ODM err:Invalid argument
ORA-01114: IO error writing block to file 5585 (block # 1)
ORA-17500: ODM err:Invalid argument
ORA-01114: IO error writing block to file 5584 (block # 1)
ORA-17500: ODM err:Invalid argument
ORA-01114: IO error writing block to file 5583 (block # 1)
ORA-17500: ODM err:Invalid argument
ORA-01114: IO error writing block to file 5582 (block # 1)
ORA-17500: ODM err:Invalid argument
ORA-01114: IO error writing block to file 5581 (block # 1)
ORA-17500: ODM err:Invalid argument
ORA-01114: IO error writing block to file 5580 (block # 1)
ORA-17500: ODM err:Invalid argument
ORA-01114: IO error writing block to file 5579 (block # 1)
ORA-17500: ODM err:Invalid argument
ORA-01114: IO error writing block to file 5578 (block # 1)
ORA-17500: ODM err:Invalid argument
ORA-01114: IO error writing block to file 5577 (block # 1)
ORA-17500: ODM err:Invalid argument
ORA-01114: IO error writing block to file 5576 (block # 1)
ORA-17500: ODM err:Invalid argument
ORA-17528: A read-only file or a file opened read-only cannot be written to:
/u01/app/oracle/oradata/DEV_PDB/data04/users01.dbf.
Hmm...zajímavé. Neměl jsem tento problém, když jsem provedl stejný proces v Oracle 12.1.0.2 (přeskočil jsem 12.2 a 18).
Díky MOS Note 2419236.1 a některé mé vlastní práci (poznámka přesně neodpovídá mému problému) se mi podařilo problém vyřešit. Problém je v tom, že tento PDB byl kdysi základem pro klonované PDB v mém prostředí. Vytváříme PDB v našem multitenantském prostředí a klonujeme jej pro vytváření více vývojových a testovacích databází pro naše IT zaměstnance. Dozvěděl jsem se, že v Oracle 12.2 a vyšší Oracle změní oprávnění k souboru na úrovni OS pro jakýkoli klonovaný zdroj PDB. Oprávnění k souboru jsou nastavena pouze pro čtení. Když se pokusím odpojit PDB, potřebuje zapsat informace do záhlaví datových souborů a dostaneme výše uvedené chyby.
Řešením je jednoduše změnit souborová oprávnění datových souborů na 640 a zkusit operaci odpojení znovu. Řešení v poznámce 2419236.1 vyžaduje výpadek, ale moje řešení nikoli.