问题描述:Oracle异机恢复,恢复完控制文件,将数据库mount时报错,ORA-00201: control file version 11.2.0.4.0 incompatible with ORACLE version 11.2.0.0.0,如下:
RMAN>
run{
RESTORE CONTROLFILE from '/orcl_cntrol_37432_1_173132134';
alter database mount;
}
using target database control file instead of recovery catalog
...
Starting restore at 2018-03-20:09:40:33
channel ch00: restoring control file
channel ch00: restore complete, elapsed time: 00:01:36
output file name=/oracledata/orcl/control01.ctl
output file name=/oracledata/orcl/control02.ctl
output file name=/oracledata/orcl/control03.ctl
Finished restore at 2018-03-20:09:42:09
released channel: ch00
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of alter db command at 03/20/2018 09:42:09
ORA-00201: control file version 11.2.0.4.0 incompatible with ORACLE version 11.2.0.0.0
ORA-00202: control file: '/oracledata/orcl/control01.ctl'
Recovery Manager complete.
======
原因:这是因为源数据库的oracle版本和目标机不同
解决方法:由于使用的是spfile,需要先生成一个pfile,修改pfile的compatible部分,然后再由这个pfile生成新的spfile:
SQL>
show parameter spfile;
NAME TYPE VALUE
-------- ----------- ------------------------------
spfile string /oracle/product/11.2.0/dbs/spfileorcl.ora
SQL>
create pfile='/tmp/mqs20180320/orcl/initpfile.ora' from spfile;
File created.
修改 /tmp/mqs20180320/orcl/initpfile.ora 文件,将
*.compatible='11.2.0'
改为
*.compatible='11.2.0.4'
SQL>
shutdown immediate
SQL>
create spfile from pfile='/tmp/mqs20180320/orcl/initpfile.ora';
SQL>
startup nomount
SQL>
alter database mount;