文档解释
ORA-01643: system tablespace can not be made read-only
Cause: Attempting to set the system tablespace to read-only. The system tablespace must remain read write for database operation.
Action: Leave system tablespace read write.
Oracle 数据库报错 ORA-01643表明试图在系统表空间中进行某些操作而失败。
官方解释
根据Oracle的官方文档,ORA-01643的一般解释是:“系统表空间无法设为只读”。
常见案例
当尝试以下操作时,可能会发生ORA-01643错误:
1.尝试只读形式open system tablespace
2.尝试只读形式改变system tablespace
3.尝试在system tablespace中创建新表
4.尝试移动system tablespace中的数据文件
正常处理方法及步骤
1.确认操作是否真正必要。因为system tablespace一般用户都不允许访问,所以最好不要执行此操作。
2.如果操作当前无法实现,可以尝试其他方法,比如创建和system tablespace相同的tablespace,然后在该tablespace中执行相同的操作。
3.如果仍然需要在system tablespace中进行某些更改,则必须以shutdown模式关闭数据库,然后将system tablespace设置为只读,然后在系统表空间中进行更改,最后再重新启动数据库。
4.如果要将system tablespace改为只读,可以使用alter database tablespace system read only指令。