cancel
Showing results for 
Search instead for 
Did you mean: 

INDEXF.SYS

 
SOLVED
Go to solution

INDEXF.SYS

Hi All

DSMOUNT $1$DGA23:

Which returns this

%DISM-W-CANNOTDMT, $1$DGA23: cannot be dismounted
%DISM-W-USERFILES, 1 user file open on volume

Looking further I see this

pipe sh dev/fil $1$dga23:

Files accessed on device $1$DGA23: (HNAA PGB, HNAC) on 12-MAR-2008 09:37:03.59

Process name PID File name
00000000 [000000]INDEXF.SYS;1

Why is the INDEXF.SYS file for the drive for VMS not shutting down when I issue a dismount?

Thank You

Bruce Brown
15 REPLIES 15
Wim Van den Wyngaert
Honored Contributor

Re: INDEXF.SYS

INDEXF.SYS is always open when the disk is mounted.
Did you check all cluster members (sh dev/fi $1$dga23) ?

Wim
Wim

Re: INDEXF.SYS

Hi
I have 3 member cluster running 7.3.2
Nodes C and B have dismounted fine. Its just
A that will not.

Tks Bruce
Wim Van den Wyngaert
Honored Contributor

Re: INDEXF.SYS

Volkers words :
$ WRITE SYS$OUTPUT F$GETDVI("disk-name","TRANSCNT") will show you the transaction count, same as in $ SHOW DEV d Trans Count column. A TRANSCNT greater than 1 means open files (including devices spooled to that disk).


Wim
Wim
Volker Halle
Honored Contributor
Solution

Re: INDEXF.SYS

Bruce,

does $ SHOW DEVICE $1$DGA23: show a transaction count larger than 1 ?

$ ANA/SYS
SDA> SET OUT x.x
SDA> SHOW PROC/CHAN ALL
SDA> EXIT

$ SEA x.x DGA23:

Does any process still have a channel assigned to this disk ?

Volker.



Wim Van den Wyngaert
Honored Contributor

Re: INDEXF.SYS

I use this during shutdown to stop all spooling.

$ set noon
$ show dev lta/out=tmp.lis
$ sea tmp.lis "spooled" /out=tmp2.lis
$ open/read x tmp2.lis
$r:
$ read/end=e x x_rec
$ dev=f$el(0," ",x_rec)
$ set device 'dev'/nospool
$ write sys$output "''dev' no longer spooled"
$ goto r
$e:
$ close x
$ del tmp*.lis.*
Wim
Volker Halle
Honored Contributor

Re: INDEXF.SYS

Wim,

the DISMOUNT code is clever enough to differentiate between open user files, installed files, page/swap files and spooled devices. It would provide an appropriate message for each of those circumstances.

Volker.

Re: INDEXF.SYS

Looks Like I have an oracle process running

SDA> SET OUT x.x
SDA> SHOW PROC/CHAN ALL
SDA>
SDA> exit
PROD>SEA x.x DGA23:
0010 7FF2C000 00000000 $1$DGA23:
0030 7FF2C040 00000000 $1$DGA23:
0010 7FF2C000 00000000 $1$DGA23:
0160 7FF2C2A0 00000000 $1$DGA23:
0180 7FF2C2E0 852F10C0 Busy $1$DGA23:[V500.DB_PROD_BACKUP]T2_UNDO1.DBS;1
PROD>

But how come I dont see the file with a

PROD>pipe sh dev/fil $1$dga23:

Files accessed on device $1$DGA23: (HNAA PGB, HNAC) on 12-MAR-2008 10:40:49.31

Process name PID File name
00000000 [000000]INDEXF.SYS;1
PROD>

Tks

Bruce
Volker Halle
Honored Contributor

Re: INDEXF.SYS

Bruce,

> But how come I dont see the file with a
> PROD>pipe sh dev/fil $1$dga23:

Don't know. Are you interested in trying to find this out ? Are you able to keep this process alive while we are diagnosing this problem ?

Start with:

$ ANAL/SYS
SDA> SHOW DEV $1$DGA23
SDA> READ SYSDEF
SDA> VALI QUE/LIS VCB+VCB$L_FCBFL ! FCB queue

How many open FCBs (File Control Blocks) ?

SDA> FORM ! for all FCBs found

Look at FCB$L_WLFL queue for each FCB found. One of the WCBs should be the one shown for the busy channel of that Oracle process.

Volker.

Re: INDEXF.SYS

Thank You all.

We found the issue.

Regards

Bruce
Volker Halle
Honored Contributor

Re: INDEXF.SYS

Bruce,

would you be willing to share the solution for our education ?

Thanks,

Volker.

Re: INDEXF.SYS

Sorry for delay

by using the following

SDA> SET OUT x.x
SDA> SHOW PROC/CHAN ALL
SDA>
SDA> exit
PROD>SEA x.x DGA23:
0010 7FF2C000 00000000 $1$DGA23:
0030 7FF2C040 00000000 $1$DGA23:
0010 7FF2C000 00000000 $1$DGA23:
0160 7FF2C2A0 00000000 $1$DGA23:
0180 7FF2C2E0 852F10C0 Busy $1$DGA23:[V500.DB_PROD_BACKUP]T2_UNDO1.DBS;1
PROD>

We were able to determine what was not allowing us to dismount the drive.

Using below did not allow to first find the cause.

PROD>pipe sh dev/fil $1$dga23:

Files accessed on device $1$DGA23: (HNAA PGB, HNAC) on 12-MAR-2008 10:40:49.31

Process name PID File name
00000000 [000000]INDEXF.SYS;1
PROD>

Thank You for your wonderful assistance

Regards

Bruce
Jan van den Ende
Honored Contributor

Re: INDEXF.SYS

Bruce,

>>>
Thank You for your wonderful assistance
<<<

On saying "thanks" in these forums, please see

http://forums1.itrc.hp.com/service/forums/helptips.do?#33

Proost.

Have one on me.

jpe
Don't rust yours pelled jacker to fine doll missed aches.
Volker Halle
Honored Contributor

Re: INDEXF.SYS

Bruce,

I was trying to find out why SHOW DEV/FILES did not show that file... - I guess that's too late by now.

Volker.
Jon Pinkley
Honored Contributor

Re: INDEXF.SYS

When you do a backup/ignore=interlock the files opened by backup do not show up in show device/files. Without looking at the source code for show device/files, I will guess that it is using locks as its source of information about what files are open.

So in general, I would guess that any file opened via QIO ACCESS with FIB$V_NOLOCK (as backup/ignore=interlock does) will not show up in the output of show device/files, but it still increments the transaction count, so it will still prevent the volume from being dismounted.

Attached is a demo of the effect of /ignore=interlock on the show device/file output.

The point is, the output of show device/files doesn't always give the "complete" picture, even when there is no cluster involved.

Jon
it depends
Volker Halle
Honored Contributor

Re: INDEXF.SYS

Jon,

you're right. The SHOW DEVICE/FILES code does skip files with FCB$L_ACNT = 0

FCB$L_ACNT is the File Access Count which shows the no. of accessors to the file EXCLUDING those with the FIB$V_NOLOCK flag set.

SHOW DEVICE/FILES scans the FCB list of the volume:

$ ANAL/SYS
SDA> SHOW DEV $1$DGA23:
SDA> READ SYSDEF
SDA> VALI QUE/LIS VCB+VCB$L_FCBFL ! List of FCBs

You can look at each FCB with:

SDA> CLUE XQP/FILE=

Volker.