Fuser does not display pids of process's using files when vxODM linked

book

Article ID: 100061573

calendar_today

Updated On:

Description

Error Message

[root@server102 ~]# ps -ef | grep ora_dbw0_cdb1
oracle    188662       1  0 14:17 ?        00:00:00 ora_dbw0_cdb1
root      190729  177373  0 14:23 pts/2    00:00:00 grep --color=auto ora_dbw0_cdb1
[root@server102 ~]#

[root@server102 ~]# ll /u02/CDB1/datafile/o1_mf_system_kygr9pfy_.dbf
rw-r----. 1 oracle oinstall 943726592 Oct  4 14:22 /u02/CDB1/datafile/o1_mf_system_kygr9pfy_.dbf
[root@server102 ~]# fuser /u02/CDB1/datafile/o1_mf_system_kygr9pfy_.dbf
[root@server102 ~]# fuser -cu /u02/CDB1/datafile/o1_mf_system_kygr9pfy_.dbf
[root@server102 ~]# lsof /u02/CDB1/datafile/o1_mf_system_kygr9pfy_.dbf
[root@server102 ~]#

[root@server102 ~]# grep -i veritas /u01/app/oracle/diag/rdbms/cdb1/cdb1/trace/alert_cdb1.log
Oracle instance running with ODM: Veritas 7.4.2.2600 ODM Library, Version 2.0

 

Cause

VxODM on a vxfs filesystem does not have the functionality to work with fuser to return open files per process. With Veritas ODM Interface, Oracle Database does not use filesystem calls (open/read/write/close etc) to access the database files.  Files are instead accessed through library call to the libodm.so, which internally communicates with the vxodm driver through ioctls

Standard utilities such as fuser, and the like, depend on /proc/pid to get the information about files accessed by a process. These structures are updated by the kernel when the process accesses the files through regular filesystem calls. As that is not the case with Veritas ODM, utilities like fuser are not able to show information about database files accessed by Oracle processes when Veritas ODM is configured.

 

Resolution

No Solution, this is expected behavior and if files are opened with ODM, the user will be oracle/database user. 

Issue/Introduction

When running a Oracle database and vxodm is linked, fuser command returns null of files in use.