ORA-01222: MAXINSTANCES of string requires MAXLOGFILES be at least string, not string ORACLE 报错 故障修复
文档解释
ORA-01222: MAXINSTANCES of string requires MAXLOGFILES be at least string, not string
Cause: Attemping to create a database or control file that does not have room for at least two logs per thread of redo. A thread of redo must have two online logs in order to be enabled. It does not make sense to allow more redo threads than can be supported by the logs.
Action: Either reduce the MAXINSTANCES argument or increase MAXLOGFILES.
这个错误涉及到 Oracle 数据库实例活动及归档日志文件的配置。当实例最大可用数INSTANCE_MAX被设置为一个特定数量时,它会要求归档日志文件MAXLOGFILES也得被设置到一个足够的数量,以便可以支持最大可用实例数量。
ORA-01222:“MAXINSTANCES of string requires MAXLOGFILES be at least string, not string”,意思是最大实例数Maxinstances要求最大的归档日志文件数Maxlogfiles至少是某个特定的数值,但实际设置的值却不是。
官方解释
ORA-01222:最大实例数要求归档日志文件数
Cause:设置的最大的实例数Maxinstances大于0,而最大的归档日志文件数Maxlogfiles被设置为0或比所需要的要少。
Solution:设置Maxinstances参数,使它小于或等于当前Maxlogfiles参数。或者将Maxlogfiles设置成一个适当的大值,比如1000,以便可以支持Maxinstances被设置的最大数量。
常见案例
当用某种方法重新启动数据库时,会发生这种报错,例如在数据库发生实例宕掉后,重新建立另外一个实例。或者是直接修改init文件,然后重新启动数据库等。
正常处理方法及步骤
1. 查询参数 Maxinstances 和 Maxlogfiles 的值:
SQL:SELECT NAME, VALUE FROM V$PARAMETER WHERE NAME IN (‘MAXINSTANCES’, ‘MAXLOGFILES’);
2. 如果Maxinstances的值大于Maxlogfiles,则需要修改Maxinstances使其小于Maxlogfiles:
SQL:ALTER SYSTEM SET MAXINSTANCES = value SCOPE = SPFILE;
3. 如果Maxinstances的值小于Maxlogfiles,则可以保持不变。可以利用ACKUPCTL来备份并释放归档日志文件:
SQL:ALTER SYSTEM ARCHIVE LOG CURRENT;
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341