1 文章概述
本文在在ORACLE 10.2.0.5版本升级11.2.0.4版本,在进行数据库升级过程(执行脚本)中出现问题,进行flash back的细节。
在进行数据库升级过程中,参数文件对应的参数COMPATIBLE不要提前修改为对应版本的值,否则无法进行回退。
2 经典案例ORA-38792/ORA-38880
在10g环境flashback的话报错
ORA-38792: encountered unknown flashback record from release 11.0.0.0.0, |
提前修改参数的话报错:
新实例的初始参数中必须COMPATIBLE ='10.2.0.5.0',
否则会报ORA-38880: Cannot advance compatibility from 10.2.0.5.0 to 11.2.0.0.
1在进行10.2到11.2的升级过程中,对于11.2环境下采用startup upgrade方式打开数据库中,如果参数文件中compatible参数设置为11.2.0.4, 则控制文件变成11.2.0.4,原来的10G home将无法打开[C1] ???
旧ORACLE_HOME下创建担保性还原点
SQL> CREATE RESTORE POINT before_upgrade GUARANTEE FLASHBACK DATABASE;
注:必须先开启归档并启用闪回恢复区,预计产生800M左右闪回日志;
新实例的初始参数中必须COMPATIBLE ='10.2.0.5.0',否则会报ORA-38880: Cannot advance compatibility from 10.2.0.5.0 to 11.2.0.0.0 due to guaranteed restore points
在闪回时,必须在新ORACLE_HOME下完成闪回操作,并关闭数据库。
然后才能在旧 ORACLE_HOME下先mount再alter database open resetlogs。
---------------------
控制文件版本 >=compatlible参数。 数据库无法打开mount报错
控制文件版本<= compatlible参数,mount成功且控制文件版本提升到compatlible一致
新HOME下compatible参数千万不好提前修改
1在启动数据库实例到upgrade模式中,com参数切勿修改为11.2,
在11.2HOME下进行flashback,在10.2HOME下进行resetlogs打开数据库完成回滚。