ORA-15204: database version 11.2.0.4.0 is incompatible with diskgroup DATA
Tags: ASMORA-15204Oraclerac高可用
现象
在执行rman还原控制文件时,报错了,“ORA-15204: database version 11.2.0.4.0 is incompatible with diskgroup DATA”:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | RMAN> restore controlfile from '/rman/control_1a0lh38g_1_1.ctl'; Starting restore at 13-FEB-22 allocated channel: ORA_DISK_1 channel ORA_DISK_1: SID=429 instance=odsdw1 device type=DISK channel ORA_DISK_1: restoring control file RMAN-00571: =========================================================== RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS =============== RMAN-00571: =========================================================== RMAN-03002: failure of restore command at 02/13/2022 18:08:03 ORA-19870: error while restoring backup piece /rman/control_1a0lh38g_1_1.ctl ORA-19504: failed to create file "+DATA" ORA-17502: ksfdcre:4 Failed to create file +DATA ORA-15001: diskgroup "DATA" does not exist or is not mounted ORA-15204: database version 11.2.0.4.0 is incompatible with diskgroup DATA |
分析
源库是11.2.0.3,新库是12.2.0.1,需要迁移升级。
1 2 3 4 5 6 7 8 9 10 11 12 | SQL> set line 1000 SQL> col COMPATIBILITY form a10 SQL> col DATABASE_COMPATIBILITY form a10 SQL> col NAME form a20 SQL> select group_number, name, compatibility, database_compatibility from v$asm_diskgroup; GROUP_NUMBER NAME COMPATIBILITY DATABASE_COMPATIBILITY ------------ ------------------------------ ------------------------------------------------------------ ------------------------------------------------------------ 1 CRS 12.2.0.1.0 10.1.0.0.0 2 DATA 12.2.0.1.0 12.2.0.1.0 3 FRA 12.2.0.1.0 12.2.0.1.0 |
所以,问题是参数的“DATABASE_COMPATIBILITY”不兼容。
解决
1 2 3 4 5 6 7 8 9 10 11 | srvctl stop diskgroup -diskgroup data sqlplus / as sysasm alter diskgroup data mount; DROP DISKGROUP DATA INCLUDING CONTENTS; create diskgroup DATA external redundancy disk '/dev/asm-diskd','/dev/asm-diske','/dev/asm-diskf' ATTRIBUTE 'compatible.rdbms' = '11.2.0.2.0', 'compatible.asm' = '11.2.0.2.0'; srvctl start diskgroup -diskgroup data |
另外,可以直接修改compatible.rdbms属性,但是,我执行的时候卡住了,时间紧迫,我就不深究了:
1 | alter diskgroup DATA SET ATTRIBUTE 'compatible.rdbms'='11.2.0.0.0'; |
参考
ORA-15204: database version 11.2.0.1.0 is incompatible with diskgroup DATA (Doc ID 1487320.1)
SYMPTOMS
NOTE: In the images and/or the document content below, the user information and environment data used represents fictitious data from the Oracle sample schema(s), Public Documentation delivered with an Oracle database product or other training material. Any similarity to actual environments, actual persons, living or dead, is purely coincidental and not intended in any manner.
For the purposes of this document, the following fictitious environment is used as an example to describe the procedure:
Diskgroup used is +DATA_PROD
Customer was having a problem setting up a data guard standby database (11.2.0.3) using duplicate from active database (11.2.0.1) on ASM:
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of Duplicate Db command at 08/23/2012 11:43:52
RMAN-05501: aborting duplication of target database
RMAN-06136: ORACLE error from auxiliary database: ORA-00200: control file could not be created
ORA-00202: control file: '+data_prod'
ORA-17502: ksfdcre:4 Failed to create file +data_prod
ORA-15001: diskgroup "DATA_prod" does not exist or is not mounted
ORA-15204: database version 11.2.0.1.0 is incompatible with diskgroup DATA_prod
CAUSE
The reason that the duplicate is failing with the error reported :
database version 11.2.0.1.0 is incompatible with diskgroup DATA_prod
is because the diskgroup DATA_prod has a value for compatibility of 11.2.0.3.0
and
the database version has a compatible version of 11.2.0.0.0
SOLUTION
The problem is that the target ASM instance has a (default) compatibility parameter that will not work with your source data. Compatibility settings on an ASMdiskgroup are set upon ASM diskgroup creation.
ensure that you understand where your Clusterware voting disk are, and how they may be affected by dropping your existing ASM DATA_prod diskgroup. Once you are ready to drop your existing ASM DATA_prod diskgroup (losing everything stored on it) do the following:
As oracle in ASM, drop your existing ASM DATA_prod diskgroup:
1 | SQL> DROP DISKGROUP DATA_prod INCLUDING CONTENTS; |
- to recreate your ASM DATA_prod diskgroup with compatible = 11.2.0.0.0:
As oracle in ASM, create the new diskgroup
1 2 3 4 5 6 7 | $ sqlplus / as sysasm SQL> create diskgroup DATA_prod normal redundancy disk 'o/*/ DATA_prod*' attribute 'cell.smart_scan_capable'='true', 'au_size'='4M', 'compatible.asm'='11.2.0.0.0', 'compatible.rdbms'='11.2.0.0.0'; |