文档解释
ORA-00225: expected size string of control file differs from actual size string
Cause: The expected size of the control file as stored in its header was different than the actual operating system file size. This usually indicates that the control file was corrupted.
Action: Restore a good copy of the control file.
ORA-00225: expected size string of control file differs from actual size string 错误表明控制文件的大小不正确,其内容的大小不符合控制文件的预期大小。
官方解释
Oracle数据库在启动期间查看控制文件的预期大小,如文件头中记录的大小,与文件实际的大小比较,如果两者的大小不一致,则会抛出ORA-00225错误。
常见情况:
1)控制文件中编写的规范可能是通过ALTER DATABASE BACKUP CONTROLFILE TO TRACE来查看或创建或重建控制文件时建立的,但是相应的数据库已经扩大。
2)可能是磁盘空间满了,在创建控制文件过程中失败,因此CREATE CONTROLFILE语句错误,意外地创建了比预期小但未告知Oracle的控制文件。
正常处理方法及步骤
由于控制文件记录的大小不正确,因此在修复此错误之前,Oracle会拒绝启动数据库,需要把控制文件的大小恢复正确,以解决此错误。
步骤:
1)用ALTER DATABASE BACKUP CONTROLFILE TO TRACE语法创建控制文件跟踪脚本,确保脚本中的初始参数和实际的数据库保持一致。
2)然后用DROP DATABASE,从操作系统删除原始控制文件。
3)使用上述跟踪脚本中的参数重新创建控制文件,以保持与数据库参数一致。
4)确保新控制文件出现没有任何问题。
5)如果可以启动,则可以更改控制文件参数,最后用ALTER DATABASE OPEN RESETLOGS命令重启数据库。