当然模拟2662错误需要技巧,本文并不会涉及这个内容。
通过正常方式启动数据库时,从alert文件中,我们可以看到ora-00600 2662号错误。
增进SCN有两种常用方法:
1.通过immediate trace name方式(在数据库Open状态下)
alter session set events 'IMMEDIATE trace name ADJUST_SCN level x';
2.通过10015事件(在数据库无法打开,mount状态下)
alter session set events '10015 trace name adjust_scn level x';
注:level 1为增进SCN 10亿 (1 billion) (1024*1024*1024),通常Level 1已经足够。也可以根据实际情况适当调整。
本例由于数据库无法打开,只能使用的二种方法。
注意,由于我使用了10015事件,使得SCN增进了10 billion,稍后我们可以验证。?
此时数据库可以打开,从alert文件中我们可以看到如下提示:
SCN被增进了10 billion,即 10 * (1024*1024*1024) = 10737418240,正好是日志里记录的数量。