000027960 - KB-1421 - Database backup / restore fails with invalid file operation

Document created by RSA Customer Support Employee on Jun 14, 2016Last modified by RSA Customer Support Employee on Apr 21, 2017
Version 2Show Document
  • View in full screen mode

Article Content

Article Number000027960
Applies ToAffected Versions: All Versions
IssueWhen attempting to restore or backup the Aveksa database a the script fails with the following error trace:

Import: Release - 64bit Production on Wednesday, 21 July, 2010 16:47:14

Copyright (c) 2003, 2005, Oracle. All rights reserved.

Connected to: Oracle Database 10g Release - 64bit Production

ORA-39002: invalid operation

ORA-39070: Unable to open the log file.

ORA-29283: invalid file operation

ORA-06512: at "SYS.UTL_FILE", line 475

ORA-29283: invalid file operation
ResolutionThere are several reasons for this particular error
1.The user (avuser) running the database utilities (import or export) is missing READ,WRITE permission on the database directory. To check this use the following sql as sysdba:
select * from dba_directories where directory_name like 'AVEKSA%';

This should return the following 3 directories:


AVEKSA_REPORTS_DIRECTORY /home/oracle/AveksaReportsDir

AVEKSA_DATA_DIRECTORY /home/oracle/AveksaDataDir

AVEKSA_EXPORTIMPORT_DIRECTORY /home/oracle/AveksaExportImportDir

If the paths are not there or incorrect use the following sql to update them:
create or replace directory AVEKSA_EXPORTIMPORT_DIRECTORY as '/home/oracle/AveksaExportImportDir';

The paths specified above must also be the same in the
/tmp/Aveksa_system.cfg file and the /home/oracle/setDeployEnv.sh script. If not, make them all the same
If the directories are there ensure that avuser has acecss to them by running these sql commands:
grant read, write on directory AVEKSA_DATA_DIRECTORY to avuser;

grant read, write on directory AVEKSA_EXPORTIMPORT_DIRECTORY to avuser;

grant read, write on directory AVEKSA_REPORTS_DIRECTORY to avuser;

2. Check whether the path used in database directory createdor referenced in step 1 physically exists on the OS. Whenever you create a directory oracle does not check existence physical directory on OS. The checking is done on runtime. In most cases this is done during the installation.
3. Check whether the oracle user has enough permission on the OS directory where the file is accessed.
use "ls -l name_of_the_file" and see permission. If not then using chmod grant read, write access of the file to oracle.
For Imports Only...
4. Even though oracle may have enough permissions on the directory, you may see the ORA-29283 if the owner of the file is not oracle. Use the chown command to change the ownership of the file to oracle:
chown oracle:oinstall <dump file>