故障现象: nas存储通过nfs挂载到Linux主机上,使用expdp直接备份到nfs上时偶尔会报以下错误;;;
Export: Release 11.2.0.4.0 - Production on Wed Apr 12 16:58:22 2017
......
ORA-39000: bad dump file specification
ORA-31641: unable to create dump file "/oradata/hknfs/erpnogg_expdp/erpnogg_expdp_20170412165822_01.dmp"
ORA-27086: unable to lock file - already in use
Linux-x86_64 Error: 37: No locks available
Additional information: 10
解决办法: 卸载nfs挂载存储,重新挂载的时候加上nolock
参数(存储上的锁文件功能也取消)umount /oradata/hknfs
mount -t nfs -o nolock 10.230.51.200:/cybackup /oradata/hknfs
vi /etc/fstab
#------------------------------------------------------------------------
10.230.51.200:/cybackup /oradata/hknfs nfs nolock 1 1
#------------------------------------------------------------------------
原因分析: nas存储将逻辑卷nfs共享出去,一旦服务器挂载使用,存储就会自动将该逻辑卷锁住,保护逻辑卷内不被其他服务器挂载,达到保护数据作用,但是数据库添加挂载目录中创建数据文件,数据库需要对该数据文件获取锁,但是该锁已经被存储占用,这个时候就需要设置存储在挂载的时候不锁住,使用nolock参数。