Should your ADR be on Shared Storage?

Until recently, I didn’t think it mattered much. On a single instance database, who cares? But on RAC, I would briefly pause, contemplate that life would be easier if the ADR was on shared storage, and then I would quickly lose interest and go back to living my life.

The benefits are:
1) All of the ADR RAC data would be centralized in one location;
2) You can utilize Data Recovery Advisor.

This is no longer the whole story. But before proceeding, let me mention a change that was introduced in Oracle 11.2.0.2 regarding the backing up of the control file. Starting with that version, controlfile snapshots and backups must be created on shared storage. This makes sense because any instance could be writing to the backup controlfile and therefore needs access to it. (See MOS 1263621.1 for more details.) Fine. I’ve updated my RMAN scripts and reconfigured the snapshot location a while ago. 11.2.0.2 has been around since 2010.

So, what does this have to do with ADR? I was on an Exadata environment with four RAC instances when a fellow DBA created an incident package. It was no big deal, except that part of the adrci packaging procedure was to take a backup of the controlfile and include it in the incident package. Though the package was created successfully, the controlfile never made it:

Whether that controlfile really needs to be included in the package will depend on the issue. In my environment, typically backed up controlfiles are created on ASM and then copied to the local filesystem with dbms_file_transfer.