Ik probeer een PDB in Oracle 19.3 te verwijderen die niet langer nodig is. Ik krijg de volgende foutmelding:
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. Ik had dit probleem niet toen ik hetzelfde proces deed in Oracle 12.1.0.2 (ik sloeg 12.2 en 18 over).
Dankzij MOS Note 2419236.1 en een deel van mijn eigen werk (de Note komt niet precies overeen met mijn probleem), kon ik het probleem oplossen. Het probleem is dat deze PDB ooit de basis was voor gekloonde PDB's in mijn omgeving. We maken een PDB in onze Multitenant-omgeving en klonen deze om meerdere ontwikkel- en testdatabases te maken voor onze IT-medewerkers. Ik heb geleerd dat Oracle in Oracle 12.2 en hoger de bestandsrechten op OS-niveau zal wijzigen voor elke kloonbron-PDB. De bestandsrechten zijn ingesteld op alleen-lezen. Wanneer ik de PDB probeer los te koppelen, moet deze informatie naar de datafile-headers schrijven en krijgen we de bovenstaande fouten.
De tijdelijke oplossing is om eenvoudig de bestandsrechten van de databestanden te wijzigen in 640 en de ontkoppelbewerking opnieuw te proberen. De tijdelijke oplossing in Note 2419236.1 vereist downtime, maar mijn tijdelijke oplossing niet.