ORA-27086: unable to lock file already in..

2025-09-26 18:09:24

1、创建数据文件报错ORA-27086:unable to lock file

添加数据文件

alter tablespace d_wiscom add datafile '/oradata/data/orcl/datafile02.dbf' size 100m autoextend on next 50m maxsize unlimited;

该数据文件初始化100m,每次不足,自动扩展大小50M,可扩展至最大32G

ORA-27086: unable to lock file already in..

2、重新创建数据文件报错提示文件已经存在

SQL> alter tablespace d_wiscom add datafile '/oradata/data/orcl/datafile02.dbf' size 100m autoextend on next 50m maxsize unlimited;

alter tablespace d_wiscom add datafile '/oradata/data/orcl/datafile02.dbf' size 100m autoextend on next 50m maxsize unlimited

*

ERROR at line 1:

ORA-01119: error in creating database file '/oradata/data/orcl/datafile02.dbf'

ORA-27038: created file already exists

Additional information: 1

ORA-27086: unable to lock file already in..

3、系统查看之前创建的数据文件确实存在

[root@jieshou orcl] ll  查看文件存在

ORA-27086: unable to lock file already in..

4、dba_data_files查看数据文件不存在

ORA-27086: unable to lock file already in..

5、删除数据文件报

alter tablespace d_wiscom drop datafile '/oradata/data/orcl/datafile02.dbf';

alter tablespace d_wiscom drop datafile '/oradata/data/orcl/datafile03.dbf';

alter tablespace d_wiscom drop datafile '/oradata/data/orcl/datafile04.dbf';

alter tablespace d_wiscom drop datafile '/oradata/data/orcl/datafile05.dbf';

如果删除时报错

如果是是刚刚创建的表空间,可以直接drop tablespace d_wiscom including contents and datafiles;删除表空间及该表空间内的所有信息及数据

如果有数据,但又不是刚刚创建的表空间,在重新挂载之前可以关闭数据库

ORA-27086: unable to lock file already in..

6、卸载nfs挂载存储,重新挂载的时候加上nolock参数

mount -t nfs -o nolock 192.168.56.125:/a1 /b1

注意:

1:如果卸载的时候报错,该设备正在使用,可用通过fuser -m -v /zxx_orcl  查看哪些进程占用该资源,然后kill,但是如果是数据库正在使用,那么就需要先将数据库关闭

2:/etc/fstab中配置开机自挂载也要加上该参数

/zxx_orcl  是需要查看占用的目录

详细挂载参考我的经验:using nfs for oracle rac

ORA-27086: unable to lock file already in..

ORA-27086: unable to lock file already in..

ORA-27086: unable to lock file already in..

ORA-27086: unable to lock file already in..

7、验证

再次添加数据文件

alter tablespace d_wiscom drop datafile '/oradata/data/orcl/datafile02.dbf';

数据文件添加成功,查看dba_data_files查看存在该数据文件

ORA-27086: unable to lock file already in..

8、原因分析

    nas存储将逻辑卷nfs共享出去,一旦服务器挂载使用,存储就会自动将该逻辑卷锁住,保护逻辑卷内不被其他服务器挂载,达到保护数据作用,但是数据库添加挂载目录中创建数据文件,数据库需要对该数据文件获取锁,但是该锁已经被存储占用,这个时候就需要设置存储在挂载的时候不锁住,使用nolock参数

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢