Operating System - OpenVMS
1753519 Members
3713 Online
108795 Solutions
New Discussion юеВ

Re: Define logicals at login

 
ROMMENS
New Member

Define logicals at login

Hi all,

On OpenVMS 7.1.2 (stop laughing, please), i've got a logical (DISKALL) which is to contain the list of all disks on the system. The problem is : Due to some evolution, some disks have been added, and, of course, they are not taken into account in the logical. I've tried to find the location of the definition of the logical (I've even dismounted every disks but the system one, and search on every file of the disk....), but with no success. So, where can it be? Will I have to flash some EPROM or what?

Thanx.
9 REPLIES 9
Willem Grooters
Honored Contributor

Re: Define logicals at login

SYSTEM logicals are typically set on system startup. You may take a look to SYLOGICALS.COM and SYSTARTUP_VMS.COM, but do not forget to examine procedures called by these.
PROCESSS and JOB logicals are set during login. So then take a look in SYLOGIN.COM, and in any user's LOGIN.COM. Again, examine each procedure called.

The system disk does not have to be dismounted for scanning on contents. (not any disk, by the way. It's VMS, remember :-))
The easy way to search them all is:

$ SEARCH SYS$SYSDEVICE:[000000...]*.COM DISKALL

beware it may cause delay, depending how heavy the disk is being used, and it may take some time. Best do this, with /OUTPUT qualifier, in a batch process to run in off-office hours.

As for defining the logical:
One way to create this logical is to scan the devices, so you won't forget any newly added ones, not include those that were removed.
...
$!
$ ALLDISKS = ""
$LOOP:
$ DSK=f$device ("*","DISK",,XXX)
$ if DSK .eqs. "" then goto endloop
$ if f$getdvi(DSK,"exists") then -
ALDISKS = ALLDISK + ",''DSK'"
$ goto LOOP
$endloop:
$ DEFINE/SYSTEM DISKALL ALLDISKS
$!

(the logical sequence can well be included in a script that mounts all disks).
Willem Grooters
OpenVMS Developer & System Manager
Robert Gezelter
Honored Contributor

Re: Define logicals at login

ROMMENS,

I agree with Willem, and amplify his comments with regards to SYLOGIN.COM, which is generally found in SYS$MANAGER (by default actually in SYS$COMMON:[SYSMGR]; but I have seen configurations with different SYLOGIN files for some members of clusters, located in SYS$SPECIFIC:[SYSMGR].

Carefully check the SYLOGIN and LOGIN files. It is possible that they in turn reference other installation-wide files, which may define the name.

- Bob Gezelter, http://www.rlgsc.com
Wim Van den Wyngaert
Honored Contributor

Re: Define logicals at login

And when you find it and add some more disks, you run into the problem that the value a logical can hold is too small for all disks. I have ...

Wim
Wim
David Jones_21
Trusted Contributor

Re: Define logicals at login

Deassign the logical and see if it reappears when you login. If it doesn't then you've ruled out the definition happening at login and need to go looking in system startup. Whether it is in the system table or process table is also a big clue.

You should not confine your search to .com files, some of my startup files take action based on data files they open and read.

When I'm desparate, I set sysgen parameter STARTUP_P2 to "CDV" and reboot, which makes startup create a sys$system:startup.log file that contains the output of startup with verify turned on.
I'm looking for marbles all day long.
Antoniov.
Honored Contributor

Re: Define logicals at login

Rommens,
sorry for late.
Here there is my routine to load all disks of system. It works from V6.2 to V8.2 of VMS.
You can easily update for your own scope.

Antonio Vigliotti
Antonio Maria Vigliotti
Willem Grooters
Honored Contributor

Re: Define logicals at login

Bob, you're right, could be elsewehere.....
Rommens: a hint: login and see what is returned on $ SHO LOG SYLOGIN. That will be the location to look for (if undefined, it's SYS$MANAGER:SYLOGIN.COM).
Willem Grooters
OpenVMS Developer & System Manager
Peter Quodling
Trusted Contributor

Re: Define logicals at login

The other possibility to consider is that it may not be being done within a command procedure - it is possible to define logicals programmatically within a HLL (Higher level language) - it used to be popular to rewrite login.com's as login.exe's (actually compiled login.mar or login.c or login.cob (just joking) )

The other consideration is that it may be happening within Sysman?

As a alternative, I would suggest "stepping through the startup" Adding a few startup components on each pass, until it appears, and then backtrack.

Peter
Leave the Money on the Fridge.
Bart Zorn_1
Trusted Contributor

Re: Define logicals at login

To set something straight: a system wide login command file is only used by LOGINOUT when the logical name SYS$SYLOGIN is defined in EXEC mode. It does not matter then where the file is or what its name is. SYS$MANAGER:SYLOGIN.COM is ONLY used when the logical name is defined. Otherwise it is ignored.

HTH,

Bart Zorn
Robert_Boyd
Respected Contributor

Re: Define logicals at login

Here's another procedure for defining a search list of all available disk drives. This one uses the SLMOD(search list manipulation utility) which is available from various distribution sites.

Robert
Master you were right about 1 thing -- the negotiations were SHORT!