Oracle
 sql >> Datenbank >  >> RDS >> Oracle

PDB trennen ORA-17528 Fehler

Ich versuche, eine PDB in Oracle 19.3 zu entfernen, die nicht mehr benötigt wird. Ich erhalte die folgende Fehlermeldung:

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. Ich hatte dieses Problem nicht, als ich den gleichen Vorgang in Oracle 12.1.0.2 durchführte (ich habe 12.2 und 18 übersprungen).

Dank des MOS-Hinweises 2419236.1 und einiger meiner eigenen Arbeiten (der Hinweis passt nicht genau zu meinem Problem) konnte ich das Problem lösen. Das Problem ist, dass diese PDB einst die Grundlage für geklonte PDBs in meiner Umgebung war. Wir erstellen eine PDB in unserer Multitenant-Umgebung und klonen sie, um mehrere Entwicklungs- und Testdatenbanken für unsere IT-Mitarbeiter zu erstellen. Ich habe erfahren, dass Oracle in Oracle 12.2 und höher die Dateiberechtigungen auf Betriebssystemebene für jede Klon-Quell-PDB ändert. Die Dateiberechtigungen sind auf Nur-Lesen eingestellt. Wenn ich versuche, die PDB zu trennen, muss sie Informationen in die Datendatei-Header schreiben, und wir erhalten die oben genannten Fehler.

Die Problemumgehung besteht darin, einfach die Dateiberechtigungen der Datendateien auf 640 zu ändern und den Trennvorgang erneut zu versuchen. Die Problemumgehung in Hinweis 2419236.1 erfordert Ausfallzeiten, meine Problemumgehung jedoch nicht.