ASM 11.2.0.2 Is Not Releasing File Descriptors After Drop or Dismount Diskgroup. (Doc ID 1306574.1)

Last updated on JANUARY 23, 2016

Applies to:

Oracle Database - Enterprise Edition - Version 11.2.0.2 to 11.2.0.2 [Release 11.2]
Information in this document applies to any platform.
Checked for relevance on *** 02-Sep-2014 ***

Symptoms

A) DROP DISKGROUP SCENARIO:

On release 11.2.0.2, after drop a diskgroups ASM is not releasing file descriptors on the raw devices.

<Document 4693355.8> sates that this problem (<Bug:4693355> & <Bug:7225720>) is fixed  on release 11.2.0.1.0, but the problem persists on release 11.2.0.2.0.  

Example:

1) Create a diskgroup with 4 raw devices:



$ sqlplus "/as sysasm"

SQL*Plus: Release 11.2.0.2.0 Production on Thu Feb 17 21:01:26 2011

Copyright (c) 1982, 2010, Oracle. All rights reserved.


Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production
With the Automatic Storage Management option


SQL> !uname -a
HP-UX ceitclu1 B.11.31 U ia64 3872670381 unlimited-user license


SQL> !ls -l /dev/haclu_11g/rhaclu_asm1_8g
crw-rw-r-- 1 haclu dba 64 0x030001 Apr 7 2010 /dev/haclu_11g/rhaclu_asm1_8g

SQL> !ls -l /dev/haclu_11g/rhaclu_asm2_8g
crw-rw-r-- 1 haclu dba 64 0x030002 Apr 7 2010 /dev/haclu_11g/rhaclu_asm2_8g

SQL> !ls -l /dev/haclu_11g/rhaclu_asm3_8g
crw-rw-r-- 1 haclu dba 64 0x030003 Apr 7 2010 /dev/haclu_11g/rhaclu_asm3_8g

SQL> !ls -l /dev/haclu_11g/rhaclu_asm4_8g
crw-rw-r-- 1 haclu dba 64 0x030004 Apr 7 2010 /dev/haclu_11g/rhaclu_asm4_8g



SQL> create diskgroup DATADG external redundancy disk
'/dev/haclu_11g/rhaclu_asm1_8g',
'/dev/haclu_11g/rhaclu_asm2_8g',
'/dev/haclu_11g/rhaclu_asm3_8g',
'/dev/haclu_11g/rhaclu_asm4_8g'; 2 3 4 5

Diskgroup created.




SQL> select name, group_number, state from v$asm_diskgroup where name like 'DATADG';

NAME GROUP_NUMBER STATE
------------------------------ ------------ -----------
DATADG 3 MOUNTED


SQL> select name, path from v$asm_disk where group_number = '2';

NAME PATH
------------------------------ --------------------------------------------------
DATADG_0000 /dev/haclu_11g/rhaclu_asm1_8g
DATADG_0001 /dev/haclu_11g/rhaclu_asm2_8g
DATADG_0002 /dev/haclu_11g/rhaclu_asm3_8g
DATADG_0003 /dev/haclu_11g/rhaclu_asm4_8g




b) Then using lsod command confirmed the disks were opened:



$ asmcmd

ASMCMD> lsod -G DATADG
Instance Process OSPID Path
1 oracle@ceitclu1 (DBW0) 15808 /dev/haclu_11g/rhaclu_asm3_8g <(== Disk is open
1 oracle@ceitclu1 (GMON) 15818 /dev/haclu_11g/rhaclu_asm1_8g <(== Disk is open
1 oracle@ceitclu1 (GMON) 15818 /dev/haclu_11g/rhaclu_asm2_8g <(== Disk is open
1 oracle@ceitclu1 (GMON) 15818 /dev/haclu_11g/rhaclu_asm3_8g <(== Disk is open
1 oracle@ceitclu1 (GMON) 15818 /dev/haclu_11g/rhaclu_asm4_8g <(== Disk is open
1 oracle@ceitclu1 (LGWR) 15810 /dev/haclu_11g/rhaclu_asm1_8g <(== Disk is open
1 oracle@ceitclu1 (LGWR) 15810 /dev/haclu_11g/rhaclu_asm4_8g <(== Disk is open
1 oracle@ceitclu1 (RBAL) 15816 /dev/haclu_11g/rhaclu_asm1_8g <(== Disk is open
1 oracle@ceitclu1 (RBAL) 15816 /dev/haclu_11g/rhaclu_asm2_8g <(== Disk is open
1 oracle@ceitclu1 (RBAL) 15816 /dev/haclu_11g/rhaclu_asm3_8g <(== Disk is open
1 oracle@ceitclu1 (RBAL) 15816 /dev/haclu_11g/rhaclu_asm4_8g <(== Disk is open





c) Then drop the DATADG diskgroup:



$ asmcmd
ASMCMD> dropdg -r DATADG
ASMCMD> lsdg DATADG
ASMCMD-08001: diskgroup 'DATADG' does not exist or is not mounted
ASMCMD> exit




d) Using lsod, confirmed the 4 disks remained opened after drop the DATADG:



$ asmcmd

ASMCMD> lsod
Instance Process OSPID Path
1 oracle@ceitclu1 (DBW0) 15808 /dev/haclu_11g/rhaclu_asm3_8g <(== Disk is open
1 oracle@ceitclu1 (DBW0) 15808 /dev/haclu_11g/rhaclu_ocr2_512m
1 oracle@ceitclu1 (GMON) 15818 /dev/haclu_11g/rhaclu_asm1_8g <(== Disk is open
1 oracle@ceitclu1 (GMON) 15818 /dev/haclu_11g/rhaclu_asm2_8g <(== Disk is open
1 oracle@ceitclu1 (GMON) 15818 /dev/haclu_11g/rhaclu_asm3_8g <(== Disk is open
1 oracle@ceitclu1 (GMON) 15818 /dev/haclu_11g/rhaclu_asm4_8g <(== Disk is open
1 oracle@ceitclu1 (GMON) 15818 /dev/haclu_11g/rhaclu_ocr1_512m
1 oracle@ceitclu1 (GMON) 15818 /dev/haclu_11g/rhaclu_ocr2_512m
1 oracle@ceitclu1 (GMON) 15818 /dev/haclu_11g/rhaclu_vote1_512m
1 oracle@ceitclu1 (GMON) 15818 /dev/haclu_11g/rhaclu_vote2_512m
1 oracle@ceitclu1 (GMON) 15818 /dev/haclu_11g/rhaclu_vote3_512m
1 oracle@ceitclu1 (LGWR) 15810 /dev/haclu_11g/rhaclu_asm1_8g <(== Disk is open
1 oracle@ceitclu1 (LGWR) 15810 /dev/haclu_11g/rhaclu_asm4_8g <(== Disk is open
1 oracle@ceitclu1 (LGWR) 15810 /dev/haclu_11g/rhaclu_ocr1_512m
1 oracle@ceitclu1 (LGWR) 15810 /dev/haclu_11g/rhaclu_ocr2_512m
1 oracle@ceitclu1 (RBAL) 15816 /dev/haclu_11g/rhaclu_asm1_8g <(== Disk is open
1 oracle@ceitclu1 (RBAL) 15816 /dev/haclu_11g/rhaclu_asm2_8g <(== Disk is open
1 oracle@ceitclu1 (RBAL) 15816 /dev/haclu_11g/rhaclu_asm3_8g <(== Disk is open
1 oracle@ceitclu1 (RBAL) 15816 /dev/haclu_11g/rhaclu_asm4_8g <(== Disk is open
1 oracle@ceitclu1 (RBAL) 15816 /dev/haclu_11g/rhaclu_ocr1_512m
1 oracle@ceitclu1 (RBAL) 15816 /dev/haclu_11g/rhaclu_ocr1_512m
1 oracle@ceitclu1 (RBAL) 15816 /dev/haclu_11g/rhaclu_ocr2_512m
1 oracle@ceitclu1 (RBAL) 15816 /dev/haclu_11g/rhaclu_vote1_512m
1 oracle@ceitclu1 (RBAL) 15816 /dev/haclu_11g/rhaclu_vote1_512m
1 oracle@ceitclu1 (RBAL) 15816 /dev/haclu_11g/rhaclu_vote2_512m
1 oracle@ceitclu1 (RBAL) 15816 /dev/haclu_11g/rhaclu_vote3_512m


ASMCMD> exit




e) Also, using fuser confirmed the disks were still opened:


ceitclu1:/# fuser /dev/haclu_11g/rhaclu_asm3_8g
/dev/haclu_11g/rhaclu_asm3_8g: 15808o 15816o 15818o

ceitclu1:/# fuser /dev/haclu_11g/rhaclu_asm1_8g
/dev/haclu_11g/rhaclu_asm1_8g: 15816o 15810o 15818o

ceitclu1:/# fuser /dev/haclu_11g/rhaclu_asm2_8g
/dev/haclu_11g/rhaclu_asm2_8g: 15816o 15818o

ceitclu1:/# fuser /dev/haclu_11g/rhaclu_asm4_8g
/dev/haclu_11g/rhaclu_asm4_8g: 15816o 15810o 15818o



B) DISMOUNT DISKGROUP SCENARIO:

After dismount a diskgroup, the file descriptors on the ASM disks are not released as well.



$> sqlplus /nolog
SQL*Plus: Release 11.2.0.2.0 Production on Mon Mar 28 11:40:57 2011
Copyright (c) 1982, 2010, Oracle. All rights reserved.
SQL> connect / as sysasm
Connected.
SQL> shutdown immediate ;

ASM instance shutdown
SQL> startup
SQL> exit




$> asmcmd
ASMCMD> lsod
Instance Process OSPID Path
ASMCMD> mount fra96
ASMCMD> ls
FRA96/

ASMCMD> lsod
Instance Process OSPID Path
1 oracle@th1dt096 (DBW0) 1680 /dev/vg513/rlvol2
1 oracle@th1dt096 (GMON) 1695 /dev/vg513/rlvol1
1 oracle@th1dt096 (GMON) 1695 /dev/vg513/rlvol2
1 oracle@th1dt096 (LGWR) 1683 /dev/vg513/rlvol1
1 oracle@th1dt096 (LGWR) 1683 /dev/vg513/rlvol2
1 oracle@th1dt096 (RBAL) 1693 /dev/vg513/rlvol1
1 oracle@th1dt096 (RBAL) 1693 /dev/vg513/rlvol1
1 oracle@th1dt096 (RBAL) 1693 /dev/vg513/rlvol2
1 oracle@th1dt096 (TNS V1-V3) 3401 /dev/vg513/rlvol1
1 oracle@th1dt096 (TNS V1-V3) 3401 /dev/vg513/rlvol2
ASMCMD> umount fra96
ASMCMD> lsod
Instance Process OSPID Path
1 oracle@th1dt096 (DBW0) 1680 /dev/vg513/rlvol2 <(== Disk is still open
1 oracle@th1dt096 (GMON) 1695 /dev/vg513/rlvol1 <(== Disk is still open
1 oracle@th1dt096 (GMON) 1695 /dev/vg513/rlvol2 <(== Disk is still open
1 oracle@th1dt096 (LGWR) 1683 /dev/vg513/rlvol1 <(== Disk is still open
1 oracle@th1dt096 (LGWR) 1683 /dev/vg513/rlvol2 <(== Disk is still open
1 oracle@th1dt096 (RBAL) 1693 /dev/vg513/rlvol1 <(== Disk is still open
1 oracle@th1dt096 (RBAL) 1693 /dev/vg513/rlvol1 <(== Disk is still open
1 oracle@th1dt096 (RBAL) 1693 /dev/vg513/rlvol2 <(== Disk is still open
ASMCMD> ls
ASMCMD> exit




Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms