OK, I can't help poking this topic with a stick. For all you whipper snappers who don't remember UADS, it's a tree structure repository with data organized from top down like this:
1. Userid along with unique attributes like OPER, ACCT, JCL, etc. that are defined only once per userid. 2. Password, of which there can be as many as desired per userid. (Password is ignored with RACF installed but still occupies a slot in UADS.) 3. Account number, of which there can be as many as desired per password. 4. Logon proc, of which there can be as many as desired per account number. This level also includes default region size and unit name. At the late great Security Pacific Bank, charge-back accounting was implemented throughout the shop. If a TSO user set about to work on project 123, she would logon with account number xx123xx, which would eventually record the time against that project. When it came time to work on project 789, she would logon with account number xx789xx to get the time appropriately recorded. Given the multiplicity of account numbers, UADS entries got pretty complex. It was not uncommon for application programmers to end up with several UADS members: -0, -1, etc. I doubt that anyone ever reached -9, but I remember seeing some pretty hefty entries. When TSO/E came along, we dutifully increased UADS LRECL to 172 as recommended, but I guess I never really knew why. I do remember once experimenting with a larger blocksize that for ordinary files would have been more DASD-efficient. I was aghast at how big UADS grew because it still used one block per userid regardless of the number of members per id. So much for that experiment. I don't know how many shops still run with UADS, but those you find are likely to be older larger installations with decades of managing lots of users who already needed managing long before RACF emerged.. Procedures and RYO tools were already in place by the time SAF came along. The commands used to manage RACF-defined users are a lot different from those used for UADS-only users. At Security, we could never persuade the software security folks to switch. For one thing, a single display command under ACCOUNT shows a great deal about what a user can or cannot do. With a TSO/E segment, a number of commands involving many classes are required to show the same info. A common business unit request like 'make a new userid modeled on XYZ001' is a lot simpler with UADS than with RACF, where attributes and privileges are scattered all over the landscape. . . JO.Skip Robinson Southern California Edison Company Electric Dragon Team Paddler SHARE MVS Program Co-Manager 626-302-7535 Office 323-715-0595 Mobile jo.skip.robin...@sce.com John Eells <ee...@us.ibm.com > To Sent by: IBM IBM-MAIN@bama.ua.edu Mainframe cc Discussion List <ibm-m...@bama.ua Subject .edu> Re: SYS1.UADS Format 01/30/2009 10:02 AM Please respond to IBM Mainframe Discussion List <ibm-m...@bama.ua .edu> Rick Fochtman wrote: > ----------------------------------<snip>---------------------------- > > R.S. wrote: > >> Eric Bielefeld pisze: >> >>> I'm almost hesitant to ask this, as this is something that should >>> have been dealt with over a decade ago, but is there any difference >>> in having SYS1.UADS as 80 byte records or 172 byte records? Any real >>> advantages? Peformance issues? I noticed that the system >>> distributed in ServerPac for 1.9 allocates UADS with an 80 byte >>> lrecl, and our UADS is still at 80. I remember converting to the 172 >>> byte lrecl probably in the early 90s at P&H Mining. When I briefly >>> read some of the doc a few weeks ago, I didn't see anything that you >>> couldn't do with the 80 byte records. >>> <snip> > IIRC, a single user can only have a single record in the UADS dataset, > so the 172-byte record was desirable from a capacity standpoint. > Remember that UADS described the LOGON procs that were permissible for > that user, as well as PROFILE/privelege data and PASSWORD info. > Converting from UADS control to RACF control eliminates the need for > large UADS records. > > When I converted Clearing, there was a very helpful utility that made > the task very easy and painless; I don't know if that still exists or > not. I would not be surprised, or upset, if support for UADS went away > completely in the not-too-distant future. When RACF is not used for TSO/E administration, each user has at least one member in UADS and can have several. This is at least part of the reason TSO/E user IDs are limited to seven characters rather than eight: The first UADS member for an ID is named userid0, the second userid1, and so on, with the eighth character of the member name reserved for the member sequence number. Each member is one block long. How many TSO/E attributes a user ID has is what controls whether its data is stored in multiple members. Those with few attributes likely fit in one member; those with more than can fit in one block have more than one member. ServerPac uses a block size of 80 for UADS simply because the first entry for IBMUSER has to be copied there during APPLY processing and the required block size at the time is (as documented) 80. You can change it thereafter if you wish. Basically, if a significant percentage of users have more than one UADS member, increasing the block size might help reduce the size of the data set; some experimentation (or measurement and calculation) is required to find the "best" block size, the one that minimizes the number of members (and thus the number of blocks). Unless you are running up against PDS size limits for UADS, though, changing to a different block size to minimize space has somewhat dubious value these days in my opinion. In any event, the TSO/E Customization book has this to say: "Choose a block size for the data portion that makes the most efficient use of storage. The block size should be large enough to contain all of the logon data for most users. To determine if the block size for an existing UADS is large enough list the data set's members. If several users have more than one entry, you should increase the block size. Note that one block is used for each user record." I would guess that any IBM performance data on UADS, if it even exists, is probably pretty old at this point (e.g., based on uncached SLED DASD). So if you find any, take it with a boulder of salt. Hope this helps... -- John Eells ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html