Views:

Summary



An Oracle can fail with "Permission denied" while trying to write an Oracle control file when the database is being restored to a different server.

Symptoms



The job log contain an error sequence:

[hostname] CREATE CONTROLFILE REUSE SET DATABASE "database" RESETLOGS ARCHIVELOG    
[hostname] *    
[hostname] ERROR at line 1:    
[hostname] ORA-01503: CREATE CONTROLFILE failed    
[hostname] ORA-00200: control file could not be created    
[hostname] ORA-00202: control file: '/u02_1550174671/oradata/database/control01.ctl'    
[hostname] ORA-27041: unable to open file    
[hostname] Linux-x86_64 Error: 13: Permission denied    
[hostname] Additional information: 4    
[hostname] Failed to create control file for DB database    
[hostname] Failed to recover DB database    
[hostname] Failed to perform restore (clone) operation for all databases    

Restore databases: Failed to restore Oracle databases (database) on server (hostname). Exception (java.lang.Exception) reports: (Not successful for operation)

 

Resolution



This behavior will be addressed in a future ECX Update. However, a complete Maintenance Update is not available at this time.

Workaround:
On the destination Oracle server, create the file /etc/guestapps.conf (or edit if it already exists) and add the following to it:
[DEFAULT]
resetMountOwner = true

Make sure the guestapps.conf file is world readable; chmod 0644 /etc/guestapps.conf or chmod +r /etc/guestapps.conf.  This feature will change the ownership of the files at the destination to match that of the source, allowing the control to be written and other permission issues to avoided.

Comments (0)