现象:
在执行数据库备份的时候,提示不能对nohup.out文件进行操作,操作详情如下:
$ nohup exp system/oracle@musicdb file=/backupdata/musicdb20140425.dmp log=/backupdata/musicdb20140425.log buffer=99999999 full=y &
[1] 8978620
$ nohup: 0509-019 Cannot open or create the nohup.out file.
[1] + Done(127) nohup exp system/oracle@musicdb file=/backupdata/musicdb20140425.dmp log=/backupdata/musicdb20140425.log buffer=99999999 full=y &
原因:
nohup的log文件需要oracle软件访问,因此,nohup相关的文件需要有oracle用户的权限。
$ tail -f nohup.out
nohup.out: The file access permissions do not allow the specified action.
$ ls
admin lost+found oraInventory musicbak.sh
flash_recovery_area nohup.out product
$ pwd
/oracle
$ ls -lt
total 16
drwxr-x--- 8 oracle dba 256 Apr 22 19:42 admin
drwxr-x--- 4 oracle dba 256 Apr 10 19:43 flash_recovery_area
-rw------- 1 root system 0 Aug 10 2013 nohup.out
-rwxr-xr-x 1 oracle dba 590 Mar 29 2013 musicbak.sh
drwxrwxr-x 6 oracle dba 4096 Jun 14 2012 oraInventory
drwxr-xr-x 3 oracle dba 256 Jun 14 2012 product
drwxr-xr-x 2 oracle dba 256 Jun 14 2012 lost+found
Google了一下相关资料,搜出如下信息:
0509-019 Cannot open or create the nohup.out file
Possible Causes
You used the nohup command, and one of the following occurred:
Your HOME variable is not set, and you do not have write permission on your home directory.
Your HOME variable is set, but you do not have write permission on your home directory.
Your HOME variable is set and a nohup.out file already exists in your home directory, but you do not have write permission on the $HOME/nohup.out file.
最终是修改完权限和属主之后命令正常执行并且生成了可用的备份集。