12cR1 RAC Installation on OEL7

To build Oracle Clusterware Database at Home, I believe , RAC ATTACK is the best place to learn. Its is a free curriculum and platform for hands-on learning labs related to Oracle RAC. While reviewing the article, I thought to perform 12cR1 RAC installation on OEL 7.2.

Attached is the document :- 12c_RAC_on_OEL7

The attached article is inspired by

RAC ATTACK :- https://en.wikibooks.org/wiki/RAC_Attack_-_Oracle_Cluster_Database_at_Home/RAC_Attack_12c

Tim Hall’s article :- https://oracle-base.com/articles/12c/oracle-db-12cr1-rac-installation-on-oracle-linux-7-using-virtualbox 

Deploying Oracle RAC Database 12c on RHEL 7 – Best Practices :- https://www.redhat.com/en/resources/deploying-oracle-rac-database-12c-rhel-7-best-practices

Big Thank you to RAC Attack members!!!

I hope the document helps some of you. Please feel free to comment.

Its all about learning 🙂

DBCA failing with “Diskgroup XXX is not compatible for database usage”

Today a friend of mine pinged me an error while he was trying to create database using DBCA from RDBMS home on an exadata box.Screenshot of the error is below


The error was easy to understand as compatible parameter set in the database initialization parameter was lower than the compatible.rdbms set for the diskgroup in ASM. The db compatible parameter was set to whereas for the diskgroup compatible.rdbms was set to

So checking the ASM instance showed

SYS@+ASM7 > col COMPATIBILITY form a10
SYS@+ASM7 > col NAME form a20
SYS@+ASM7 > select group_number, name, compatibility, database_compatibility from v$asm_diskgroup;

------------ ------------------ ---------- ----------
           1 DATA_O1  
           2 RECO_O1  

The compatible.asm diskgroup attribute controls the format of the ASM diskgroup metadata. Only ASM instances with a software version equal to or greater than compatible.asm can mount the diskgroup.

The compatible.rdbms diskgroup attribute determines the format of ASM files themselves. The diskgroup can be accessed by any database instance with a compatible init.ora parameter set equal to or higher than the compatible.rdbms attribute.

DBCA (choose General Purpose) doesn’t provide any screen wherein we can change the parameter value. But as we want to create the database using dbca, we need to change the parameter value in the template stored in ORACLE_HOME/assistants/dbca/templates

xxxxxx: (test1) /u01/oraadmin/test/admin> cd $ORACLE_HOME
xxxxxx: (test1) /u01/app/oracle/product/> cd assistants/dbca/templates/
xxxxxx: (test1) /u01/app/oracle/product/> ls -lrt
total 292272
-rwxrw-r-- 1 oracle oinstall        83 Oct  4 07:25 create_bct.sql
-rwxrw-r-- 1 oracle oinstall       718 Oct  4 07:25 crt_cluster_interconnect.sql
-rwxrw-r-- 1 oracle oinstall      5104 Oct  4 07:25 Data_Warehouse.dbc
-rwxrw-r-- 1 oracle oinstall       122 Oct  4 07:25 drop_cluster_interconnect.sql
-rwxrw-r-- 1 oracle oinstall     13756 Oct  4 07:25 dw_x2_2.dbt
-rwxrw-r-- 1 oracle oinstall       178 Oct  4 07:25 exadata_miscellaneous.sql
-rwxrw-r-- 1 oracle oinstall   1507328 Oct  4 07:25 example.dmp
-rwxrw-r-- 1 oracle oinstall  21889024 Oct  4 07:25 example01.dfb
-rwxrw-r-- 1 oracle oinstall      4984 Oct  4 07:25 General_Purpose.dbc
-rwxrw-r-- 1 oracle oinstall       803 Oct  4 07:25 logs.sql
-rwxrw-r-- 1 oracle oinstall      4104 Oct  4 07:25 logs.wk1
-rwxrw-r-- 1 oracle oinstall       320 Oct  4 07:25 logs_to_add.lst
-rwxrw-r-- 1 oracle oinstall       311 Oct  4 07:25 logs_to_add.sql
-rwxrw-r-- 1 oracle oinstall      8208 Oct  4 07:25 logs_to_add.wk1
-rwxrw-r-- 1 oracle oinstall     11489 Oct  4 07:25 New_Database.dbt
-rwxrw-r-- 1 oracle oinstall     13558 Oct  4 07:25 oltp_x2_2.dbt
-rwxrw-r-- 1 oracle oinstall       369 Oct  4 07:25 recreate_temp.sql
-rwxrw-r-- 1 oracle oinstall   9748480 Oct  4 07:26 Seed_Database.ctl
-rwxrw-r-- 1 oracle oinstall 265691136 Oct  4 07:26 Seed_Database.dfb
-rwxrw-r-- 1 oracle oinstall       761 Oct  4 07:26 set_cluster_interconnect.sql
-rwxrw-r-- 1 oracle oinstall        18 Oct  4 07:26 set_fra_size.lst
-rwxrw-r-- 1 oracle oinstall       806 Oct  4 07:26 set_fra_size.sql
-rwxrw-r-- 1 oracle oinstall       513 Oct  4 07:26 set_fra_size.wk1
-rwxrw-r-- 1 oracle oinstall       199 Oct  4 07:26 set_use_large_pages_false.sql
xxxxxx: (test1) /u01/app/oracle/product/>

As we choose the General Purpose template, we need to edit the value in General_Purpose.dbc and search of compatible parameter and you would see

  initParam name="compatible" value=""/

Edit the value to either equal to compatible.rdbms of diskgroup or higher. In our case, we set it “” and dbca didn’t threw error the next time 🙂

To know more on ASM diskgroup compatibility read