Jeg forsøger at fjerne et PDB i Oracle 19.3, som ikke længere er nødvendigt. Jeg får følgende fejlmeddelelse:
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...interessant. Jeg havde ikke dette problem, da jeg lavede den samme proces i Oracle 12.1.0.2 (jeg sprang 12.2 og 18 over).
Takket være MOS Note 2419236.1 og noget af mit eget arbejde (notatet matcher ikke lige mit problem), var jeg i stand til at løse problemet. Problemet er, at dette FDB engang var grundlaget for klonede PDB'er i mit miljø. Vi opretter et PDB i vores Multitenant-miljø og kloner det for at skabe flere udviklings- og testdatabaser til vores IT-personale. Jeg lærte, at i Oracle 12.2 og nyere vil Oracle ændre filtilladelserne på OS-niveau for enhver klonkilde-PDB. Filtilladelserne er indstillet til skrivebeskyttet. Når jeg prøver at frakoble PDB, skal den skrive info til datafilens headere, og vi får ovenstående fejl.
Løsningen er blot at ændre filtilladelserne for datafilerne til 640 og prøve at trække stikket ud igen. Løsningen i Note 2419236.1 kræver nedetid, men min løsning gør det ikke.