sql >> Base de Datos >  >> RDS >> Oracle

Error de desconexión de PDB ORA-17528

Estoy tratando de eliminar un PDB en Oracle 19.3 que ya no es necesario. Recibo el siguiente error:

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.

Mmmm interesante. No tuve este problema cuando hice el mismo proceso en Oracle 12.1.0.2 (me salté 12.2 y 18).

Gracias a MOS Note 2419236.1 y parte de mi propio trabajo (la Nota no coincide exactamente con mi problema), pude resolver el problema. El problema es que este PDB alguna vez fue la base para los PDB clonados en mi entorno. Creamos una PDB en nuestro entorno Multitenant y la clonamos para crear múltiples bases de datos de desarrollo y prueba para nuestro personal de TI. Aprendí que en Oracle 12.2 y superior, Oracle cambiará los permisos de archivo en el nivel del sistema operativo para cualquier PDB de origen clonado. Los permisos de archivo están configurados para leer solo. Cuando trato de desconectar el PDB, necesita escribir información en los encabezados del archivo de datos y obtenemos los errores anteriores.

La solución es simplemente cambiar los permisos de archivo de los archivos de datos a 640 e intentar la operación de desconexión nuevamente. La solución en la Nota 2419236.1 requiere tiempo de inactividad, pero mi solución no.